Tải bản đầy đủ (.pdf) (80 trang)

Nghiên cứu xây dựng module giám sát an ninh mạng dựa trên mã nguồn mở snort

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.75 MB, 80 trang )

LỜI CẢM ƠN

Sau hơn 8 tháng nỗ lực tìm hiểu, nghiên cứu và thực hiện luận văn Cao học
với nội dung “ Nghiên cứu xây dựng Module giám sát an ninh mạng dựa trên mã
nguồn mở Snort” đã cơ bản hoàn thành. Ngoài sự nỗ lực của bản thân, tôi còn nhận
được rất nhiều sự quan tâm, giúp đỡ của các thầy cô trường ĐH Công nghệ thông
tin và Truyền thông, Viện Công nghệ thông tin, Học viện Kỹ thuật mật mã, gia đình
và bạn bè. Những sự động viên giúp đỡ này đã giúp tôi vượt qua được những khó
khăn để hoàn thành tốt Luận văn của mình.
Trước hết em xin gửi lời cảm ơn chân thành đến các thầy cô trường ĐH Công
nghệ thông tin và Truyền thông – ĐH Thái Nguyên, các thầy cô là các giáo sư, tiến sỹ
công tác tại Viện Công nghệ thông tin đã truyền đạt cho em những kiến thức quý báu
trong suốt thời gian học thạc sỹ tại trường. Đặc biệt, em xin gửi lời cảm ơn sâu sắc tới
thầy TS. Trần Đức Sự Giám đốc Trung tâm Công nghệ thông tin & Giám sát an
ninh mạng – Ban cơ yếu chính phủ đã tận tình hướng dẫn và chỉ bảo em trong suốt
thời gian làm luận văn. Bên cạnh đó em cũng xin gửi lời cảm ơn tới các thầy, các anh
chị trong khoa An toàn thông tin – Học viện Kỹ thuật mật mã, đã nhiệt tình giải đáp
những thắc mắc, tạo điều kiện cho em có được các tài liệu hữu ích, cũng như được
tham gia thực nghiệm Module trên mô hình thử nghiệm tại trường.
Cuối cùng, xin cảm ơn gia đình, bạn bè đã luôn động viên, giúp đỡ trong suốt
thời gian học tập và hoàn thành Luận văn.
Do thời gian, kiến thức và các trang thiết bị còn hạn chế, chưa thực nghiệm
được nhiều kết quả đạt được chỉ mang tính chất thử nghiệm. Em rất mong nhận
được sự góp ý từ phía thầy cô, bạn bè để bản luận văn của em được hoàn thiện hơn.
Thái Nguyên, tháng 09 năm 2014
Học viên

VŨ DUY TUÂN


LỜI CAM ĐOAN


Để hoàn thành luận văn đúng thời gian quy định và đáp ứng được mục tiêu
đặt ra, bản thân em đã luôn cố gắng nghiên cứu, học tập và làm việc. Trong quá
trình làm luận văn em có tham khảo một số tài liệu (đã được nêu trong phần “TÀI
LIỆU THAM KHẢO” và không sao chép nội dung từ bất kỳ bản luận văn nào khác.
Toàn bộ luận văn là do bản thân nghiên cứu, xây dựng nên dưới sự định hướng,
hướng dẫn của thầy hướng dẫn.
Em xin cam đoan những lời trên là đúng, mọi thông tin sai lệch em xin hoàn
toàn chịu trách nhiệm trước thầy giáo hướng dẫn và nhà trường.

Thái nguyên, tháng 9 năm 2014
Học viên

VŨ DUY TUÂN


DANH MỤC CÁC TỪ VIẾT TẮT

IETF

:

Internet Engineering Task Force

RFC

:

Request for Comments

IDS


:

Intrusion Detection System

ARP

:

Address Resolution Protocol

GSANM

:

Giám sát an ninh mạng

CSDL

:

Cơ sở dữ liệu

OSSIM

:

Open Source Security Information Management

NIDS


:

Network-based IDS

HIDS

:

Host based IDS

CPU

Central Processing Unit


DANH MỤC CÁC HÌNH VẼ
Hình 1.1: Mô hình triển khai hệ thống NIDS ............................................................... 10
Hình 1.2: Mô hình hệ thống HIDS ............................................................................... 12
Hình 1.3 – Mô hình mạng phổ biến của các đơn vị vừa và nhỏ .................................... 13
Hình 2.1: Mis-match trong khi đang so sánh tại vị trí j ................................................. 17
Hình 2.2: Good-suffix shift, trường hợp u lại xuất hiện trong P ................................... 17
Hình 2.3: Good-suffix shift, trường hợp chỉ suffix của u xuất hiện trong P ................. 17
Hình 2.4: Dịch để ký tự b ăn khớp với văn bản ............................................................. 18
Hình 2.5: Dịch khi b không xuất hiện trong P ............................................................... 18
Hình 2.6: Đồ thị hàm goto với các từ khóa đầu vào. ..................................................... 21
Hình 2.7: Hàm failure ................................................................................................... 22
Hình 2.8: Hàm ouput ..................................................................................................... 24
Hình 2.9: Ví dụ hàm goto ............................................................................................. 25
Bảng 2.10: Ví dụ hàm failaure ...................................................................................... 25

Bảng 2.11: Ví dụ hàm output ........................................................................................ 25
Hình 3.1: Mô hình Module giám sát an ninh mạng ....................................................... 35
Hình 3.2: Các cơ sở dữ liệu của Module giám sát an ninh mạng .................................. 42
Hình 3.3: Giao diện quản lý các sự kiện của Module giám sát an ninh mạng............... 59
Hình 3.4: Giao diện quản trị người dùng của Module giám sát an ninh mạng .............. 59
Hình 3.5: Mô hình thử nghiệm Module giám sát an ninh mạng.................................... 60
Hình 3.6: Attacker sử dụng chương trình DoSHTTP để tấn công vào WebServer ....... 62
Hình 3.7: Kiểm tra hoạt động của CPU trên WebServer ............................................... 62
Hình 3.8: Theo dõi gói tin đi vào WebServer sử dụng Wireshark ................................ 65
Hình 3.9: Xây dựng luật Snort phát hiện tấn công DoS qua giao diện Web ................. 66
Hình 3.10: Màn hình cảnh báo tấn công từ chối dịch vụ của Module giám sát an ninh
mạng..................................................................................................................................... 67
Hình 3.11: Sử dụng phần mềm Nmap dò quét các cổng trên máy WebServer ............. 68
Hình 3.12: Màn hình cảnh báo tấn công dò quét của Module giám sát an ninh mạng .. 68
Hình 3.13: Chức năng lưu trữ file giám sát của Module giám sát an ninh mạng .......... 69
Hình 3.14: Phân tích file Pcap sử dụng phần mềm Wireshark ...................................... 69


MỤC LỤC

LỜI NÓI ĐẦU ................................................................................................... 1
1. Lý do chọn đề tài ........................................................................................ 1
2. Mục tiêu và nhiệm vụ nghiên cứu: .............................................................. 1
3. Đối tượng và phạm vi nghiên cứu ............................................................... 2
4. Hướng nghiên cứu của đề tài ...................................................................... 2
5. Bố cục của đề tài ........................................................................................ 2
Chương 1 – TỔNG QUAN VỀ GIÁM SÁT AN NINH MẠNG ......................... 3
1.1. Khái niệm ............................................................................................... 3
1.1.1. Giới thiệu chung ............................................................................... 3
1.1.2. Một số khái niệm liên quan ............................................................... 3

1.1.2.1. Thu thập dữ liệu ......................................................................... 3
1.1.2.2. Phân tích dữ liệu ........................................................................ 3
1.1.2.3. Phát hiện và phản ứng ................................................................ 4
1.2. Giám sát mạng......................................................................................... 4
1.2.1. Khái niệm ......................................................................................... 4
1.2.2. Cách thức hoạt động và mục đích ứng dụng ...................................... 5
1.3. Hệ thống phát hiện xâm nhập ................................................................. 6
1.3.1. Giới thiệu chung .............................................................................. 6
1.3.2. Nguyên lý hoạt động ........................................................................ 7
1.3.2.1. Giám sát mạng (monotoring) ..................................................... 7
1.3.2.2. Phân tích lưu thông (Analyzing) ............................................... 7
1.3.2.3. Liên lạc ...................................................................................... 8
1.3.2.4. Cảnh báo (Alert) ........................................................................ 8
1.3.2.5. Phản ứng (Response) ................................................................. 8
1.4. Phân loại một số kiểu giám sát ................................................................ 9
1.4.1. Giám sát toàn bộ mạng (NIDS) ......................................................... 9
1.4.2. Giám sát máy tính đơn lẻ (HIDS).................................................... 11
1.5. Mô hình mạng thực tế ........................................................................... 13


Chương 2 – KỸ THUẬT XÂY DỰNG HỆ THỐNG GIÁM SÁT AN NINH
MẠNG................................................................................................................... 15
2.1. Kỹ thuật phát hiện dựa trên dấu hiệu thông qua đối sánh mẫu ............... 15
2.1.1. Giới thiệu bài toán đối sánh mẫu..................................................... 15
2.1.2. Phát biểu bài toán ........................................................................... 16
2.1.3. Thuật toán Boyer-Moore................................................................. 16
2.1.4. Thuật toán Aho-Corasick ................................................................ 18
2.1.4.1. Định nghĩa ............................................................................... 18
2.1.4.2. Xây dựng máy đối sánh mẫu hữu hạn trạng thái từ tập các mẫu
phù hợp với từ khóa. .................................................................................. 19

2.1.4.3. Sử dụng máy hữu hạn trạng thái để xác định vị trí các mẫu trong
văn bản. ..................................................................................................... 24
2.1.4.4. Độ phức tạp thuật toán ............................................................. 27
2.1.5. So sánh giữa các thuật toán ............................................................. 27
2.2. Kỹ thuật phát hiện dựa trên sự bất thường ............................................. 28
2.2.1. Định nghĩa ...................................................................................... 28
2.2.2. Dữ liệu phát hiện bất thường ........................................................... 29
2.2.3. Kỹ thuật .......................................................................................... 31
2.2.4. Phương pháp................................................................................... 32
Kết chương: ................................................................................................. 34
Chương 3 - XÂY DỰNG MODULE GIÁM SÁT AN NINH MẠNG DỰA
TRÊN PHẦN MỀM SNORT................................................................................. 35
3.1. Mô hình Module giám sát an ninh mạng ................................................ 35
3.1.1. Mô hình tổng quan .......................................................................... 35
3.1.2. Mô hình chi tiết .............................................................................. 36
3.1.2.1. Máy trinh sát ............................................................................ 36
3.1.2.2. Máy thu thập ............................................................................ 41
3.1.2.3. Cơ sở dữ liệu............................................................................ 41
3.1.2.4. Phân tích .................................................................................. 43
3.1.2.5. Website .................................................................................... 46


3.2. Triển khai xây dựng Module giám sát an ninh mạng.............................. 46
3.2.1. Lựa chọn phần mềm ....................................................................... 46
3.2.1.1. Giới thiệu về Snort ................................................................... 46
3.2.1.2. Các thành phần của Snort ......................................................... 46
3.2.1.3. Các chế độ hoạt động của Snort .............................................. 49
3.2.1.4. Các tùy chọn trong việc sử dụng Snort .................................... 53
3.2.1.5. Ưu điểm, hạn chế của Snort .................................................... 55
3.2.2. Phân tích yêu cầu chức năng của Module........................................ 55

3.2.3. Phân tích thiết kế ............................................................................ 56
3.2.4. Tích hợp tính năng quản lý luật Snort vào Module giám sát an ninh mạng
...................................................................................................................... 57
3.2.5. Xây dựng thành phần quản trị tập trung ......................................... 58
3.3. Vận hành và thử nghiệm ........................................................................ 59
3.3.1. Mô hình thử nghiệm ....................................................................... 59
3.3.2. Tấn công từ chối dịch vụ ................................................................ 61
3.3.3. Tấn công thăm dò ........................................................................... 67
3.3.4. Đánh giá kết quả ............................................................................. 69
KẾT LUẬN ..................................................................................................... 71
TÀI LIỆU THAM KHẢO ................................................................................ 73


LỜI NÓI ĐẦU
1. Lý do chọn đề tài
Ngày nay với sự phát triển mạnh mẽ của khoa học kỹ thuật nói chung và công
nghệ thông tin nói riêng, việc ứng dụng công nghệ thông tin, Internet ngày càng trở
lên phổ biến trong đời sống hằng ngày cũng như trong hầu hết các lĩnh vực. Việc
trao đổi, quản lý, khai thác thông tin trên Internet đã trở thành xu hướng tất yếu của
xã hội hiện đại. Song song với sự phát triển đó là hàng loạt các nguy cơ về mất an
toàn thông tin. Vấn đề đảm bảo an toàn thông tin luôn được các cơ quan, tổ chức đặt
lên hàng đầu. Tuy nhiên hàng năm các vụ tấn công mạng vẫn liên tục gia tăng mà
chưa có biện pháp khắc phục triệt để.
Cách tốt nhất để có thể đảm bảo cho hệ thống mạng an toàn đó là chủ động phát
hiện các tấn công và đưa ra những phản ứng thích hợp. Để làm được như vậy cần
phải có một hệ thống có khả năng giám sát toàn bộ các hành động đi ra cũng như đi
vào bên trong hệ thống mạng cần bảo vệ, có một vấn đề là các công cụ bảo vệ hệ
thống được triển khai ở nước ta hầu hết đều mua của nước ngoài với giá thành rất
cao đây là một khó khăn lớn đối với các đơn vị vừa và nhỏ. Mặt khác vì là sản
phẩm thương mại nên công nghệ và kỹ thuật của các hệ thống đó luôn luôn được

giữ kín vì thế mỗi khi phát sinh các dạng tấn công mới, các nhà quản trị trong nước
không thể tự phát triển mở rộng được.
Từ đó phát sinh nhu cầu cần có một hệ thống hỗ trợ giám sát và bảo vệ hệ
thống mạng một cách hiệu quả, các nhà quản trị có thể chủ động mở rộng hay phát
triển cho phù hợp với các cuộc tấn công mạng kiểu mới. Đó là lý do mà tôi chọn đề
tài “ Nghiên cứu xây dựng Module giám sát an ninh mạng dựa trên mã nguồn
mở Snort” dưới sự hướng dẫn của TS Trần Đức Sự.
2. Mục tiêu và nhiệm vụ nghiên cứu:
Mục tiêu mà đề tài là tìm hiểu, nghiên cứu hệ thống phát hiện xâm nhập,
phân tích và đưa ra giải pháp hợp lý.

1


Nghiêm cứu xây dựng chương trình hỗ trợ phát hiện xâm nhập dựa trên phần
mềm mã nguồn mở Snort và các công cụ mã nguồn mở được phát triển hỗ trợ cho
hệ thống này.
3. Đối tượng và phạm vi nghiên cứu
- Các kỹ thuật và phương pháp giám sát trên hệ thống mạng;
- Các kỹ thuật xâm nhập trái phép vào mạng máy tính;
- Cơ sở, kiến trúc hệ thống phát hiện xâm nhập;
- Hệ thống phát hiện xâm nhập Snort.
4. Hướng nghiên cứu của đề tài
- Hiểu được các kỹ thuật và các khả năng xâm nhập trái phép vào hệ thống
mạng máy tính;
- Tìm hiểu các kỹ thuật và phương pháp giá sát các xâm nhập trái phép trên;
- Xây dựng một Modul giám sát các xâm nhập trái phép.
5. Bố cục của đề tài
Sau phần mở đầu, nội dung chính của luận văn đi vào tìm hiểu các phương pháp
tấn công mạng, tổng quan về hệ thống phát hiện xâm nhập (IDS), một số phần mềm mã

nguồn mở thường sử dụng trong các hệ thống IDS, nghiên cứu xây dựng một chương
trình ứng dụng sử dụng phần mềm Snort. Luận văn gồm 3 chương như sau:
Chương 1: Tổng quan về an ninh mạng và giám sát an ninh mạng: khái quát
về tình hình an ninh mạng, đi sâu tìm hiểu về hệ thống phát hiện xâm nhập, phân
tích một mô hình giám sát phổ biến hiện đang được áp dụng.
Chương 2: Kỹ thuật xây dựng hệ thống giám sát an ninh: Phân tích một số
kỹ thuật giám sát, một số phần mềm mã nguồn mở thường được ứng dụng trong
việc hỗ trợ giám sát, đi sâu vào phân tích phần mềm mã nguồn mở Snort.
Chương 3: Xây dựng module giám sát an ninh mạng: Đưa ra một mô hình
hệ thống giám sát, phân tích, thiết kế xây dựng một module tích hợp trong mô hình
trên sử dụng phần mềm mã nguồn mở Snort.
Cuối cùng là phần đánh giá, kết luận và hướng phát triển của đề tài.
2


Chương 1 – TỔNG QUAN VỀ GIÁM SÁT AN NINH MẠNG
1.1. Khái niệm
1.1.1. Giới thiệu chung
Internet phát triển, sự kết nối trên toàn thế giới đang mang lại thuận tiện cho
tất cả mọi người. nhưng bên cạnh đó nó cũng tiềm ẩn những nguy cơ đe dọa đến
mọi mặt của đời sống xã hội. việc đánh cắp thông tin, truy cập hệ thống trái phép,
tấn công từ chối dịch vụ... là nguy cơ mà người dùng Internet phải đương đầu.
Rất nhiều các giải pháp an ninh mạng đã được đưa ra và cũng đã có những
đóng góp to lớn trong việc đảm bảo an toàn thông tin, ví dụ như: Firewall ngăn chặn
những kết nối không đáng tin cậy, mã hóa làm tăng độ an toàn cho việc truyền dữ
liệu, các chương trình diệt virus với cơ sở dữ liệu được cập nhật thường xuyên…
Tuy nhiên thực tế cho thấy chúng ta vẫn luôn thụ động trước các cuộc tấn
công đặc biệt là các tấn công kiểu mới vì vậy yêu cầu đặt ra là cần có một hệ thống
phát hiện và cảnh báo sớm trước các cuộc tấn công. Hệ thống phát hiện xâm nhập
được xem như là một lựa chọn tối ưu.

1.1.2. Một số khái niệm liên quan
1.1.2.1. Thu thập dữ liệu
Thu thập dữ liệu của các hệ thống phần mềm hay các ứng dụng chính là thu
thập các nhật ký, gói tin,... đi ra đi vào mạng. Đây là bước đầu tiên và cơ bản nhất
của việc giám sát.
1.1.2.2. Phân tích dữ liệu
Việc phân tích dữ liệu là công việc của con người. Các phần mềm có thể đưa
ra những kết luận từ những dữ liệu mà chúng thu thập được, con người sẽ phải xem
xét trong từng hoàn cảnh để đưa ra yêu cầu trong những bước tiếp theo. Một số sản
phẩm có thể hoàn toàn tùy biến cho phù hợp với hệ thống mà nó đang giám sát. Đây
không phải là trách nhiệm của người phát triển vì họ không thể tạo ra sản phẩm có
thể đáp ứng được hết những yêu cầu khác nhau của khách hàng. Có khả năng thay
đổi mã nguồn tùy vào người dùng cuối, nên những sản phẩm mã nguồn mở là
3


những phần mềm thích hợp nhất cho việc tùy biến. Cũng như vậy, người dùng cũng
phải được đào tạo để hiểu được những thông tin mà sản phẩm cung cấp.
1.1.2.3. Phát hiện và phản ứng
Phát hiện và phản ứng là hai thành phần quan trọng trong các yếu tố của tiến
trình. Sau khi bức tường phòng ngự cuối cùng bị phá vỡ, các tổ chức cần nhanh
trong phát hiện ra cách thức xâm nhập của kẻ tấn công và chúng sẽ làm gì tiếp theo.
Quá trình này được gọi là phạm vi ứng phó sự cố. Bởi xâm nhập không có nghĩa là
có quyền root. Một kẻ xâm nhập có thể leo thang đặc quyền của mình để thực hiện
những âm mưu sau đó.
Bất kỳ ai khi thực hiện công việc ứng phó sự cố thường xuyên sẽ hiểu được
công việc nào nên làm trước vì giám đốc, CEO, hay những nhân viên cấp cao không
quan tâm đến việc kẻ xâm nhập làm thế nào mà chỉ quan tâm đến những vấn đề sau:
 Những kẻ tấn công đã làm gì
 Khi nào

 Chúng ta ngăn chặn được chưa
 Đã có thiệt hại như thế nào
Mặc dù các nhà lãnh đạo không quan tâm đến cách thức xâm nhập của kẻ tấn
công, nhưng đó luôn là công việc hàng đầu để có thể phản ứng hiệu quả với các
cuộc xâm nhập. Chỉ có cách xác định phương thức xâm nhập của kẻ tấn công và
ngăn chặn chúng thì việc phục hồi mới có thể diễn ra trọn vẹn được.
1.2. Giám sát mạng
1.2.1. Khái niệm
Giám sát mạng là việc giám sát, theo dõi và ghi nhận những luồng dữ liệu
mạng, từ đó sử dụng làm tư liệu để phân tích mỗi khi có sự cố xảy ra. Trong các hệ
thống thông tin, việc khắc phục các sự cố thường tốn một chi phí rất lớn. vì vậy,
giải pháp giám sát mạng để phát hiện sớm các sự cố là một sự lựa chọn được nhiều
người ưa thích nhằm mang lại hiệu quả cao với chi phí vừa phải.
4


Một hệ thống giám sát mạng thường có các thành phần sau:


Máy trính sát (Sensor): là những máy trạm làm nhiệm vụ trinh sát.

Thành phần này sẽ tiếp cận, tương tác với các hệ thống và dịch vụ cần giám
sát để nhận biết trạng thái của những dịch vụ đó. Trong quá trình triển khai hệ
thống, thành phần này sẽ được phân tán nằm rải rác nhiều nơi trên mạng để thu thập
thông tin từ những nguồn khác nhau như Tường lửa, Bộ định tuyến, file nhật ký…
 Máy thu thập (Collector): Một điều đáng chú ý trong hệ thống giám sát
mạng là các hệ thống, các dịch vụ cần giám sát có thể khác nhau. Điều này đồng
nghĩa với việc thông tin thu được cũng có nhiều dạng khác nhau. Để có được thông
tin một cách đồng nhất nhằm mục đích xử lý và thống kê, cần có một thành phần
làm nhiệm vụ chuẩn hóa thông tin. Máy thu thập sẽ đọc những thông tin thu được từ

các máy trinh sát và chuẩn hóa thông tin dựa trên những quy tắc chuẩn hóa biết
trước. Thông tin đầu ra sẽ có định dạng giống nhau và được lưu vào cơ sở dữ liệu
trung tâm.


Cơ sở dữ liệu trung tâm: là nơi lưu trữ dữ liệu của toàn bộ hệ thống giám

sát. Các dữ liệu ở đây đã được chuẩn hóa nên có thể sử dụng để tính toán các số liệu
thống kê trên toàn hệ thống


Công cụ phân tích (Analysis tool): Thành phần này sẽ đọc các dữ liệu từ

cơ sở dữ liệu trung tâm và tính toán để tạo ra bản báo cáo số liệu thống kê trên toàn
hệ thống.
1.2.2. Cách thức hoạt động và mục đích ứng dụng
Mỗi máy trinh sát sẽ có một danh sách những đối tượng mà máy trinh sát đó
cần giám sát. Những đối tượng này có thể là file nhật ký hoạt động trên một máy
tính, có thể là một dịch vụ trên hệ thống khác, cũng có thể là thành phần báo cáo
trạng thái của Tường lửa/Bộ định tuyến… Dựa vào bản danh sách này, Máy trinh
sát sẽ gửi truy vấn đến đối tượng để truy vấn thông tin. Thông tin thu thập được sẽ
gửi đến Máy thu thập để chuẩn hóa trước khi lưu trữ vào cơ sở dữ liệu trung tâm.

5


Tùy theo thiết kế của hệ thống, nếu những thông tin mà Máy trinh sát thu thập được
có định dạng giống nhau thì sẽ không cần đến thành phần Máy thu thập.
Trong một số trường hợp khác, các Máy trinh sát cũng có thể kiêm luôn vai
trò của Máy thu thập thực hiện việc chuẩn hóa dữ liệu trước khi lưu trữ. Tại cơ sở

dữ liệu trung tâm, mọi dữ liệu thu dược đã có định dạng rõ ràng. Bộ phân tích sẽ
đọc thông tin tại đây để tính toán và đưa ra những số liệu thống kê tạo thành một
bản báo cáo hoàn chỉnh. Báo cáo này sẽ được gửi tới người quản trị. Trong một số
hệ thống giám sát, để nâng cao mức độ tự động hóa, Bộ phân tích có thể có thêm
chức năng phát hiện dấu hiệu xác định trước để phát ra cảnh báo. Ví dụ, sau khi lấy
thông tin từ file nhật ký ghi nhận lại những lần đăng nhập không thành công vào hệ
thống, nếu phát hiện thấy có 3 lần đăng nhập không thành công liên tiếp trong vòng
5 phút thì Bộ phân tích phát ra cảnh báo tới người quản trị. Cảnh báo này có thể là
thư điện tử, tin nhắn SMS gửi tới điện thoại di động…
1.3. Hệ thống phát hiện xâm nhập
1.3.1. Giới thiệu chung
Nếu như hiểu Firewall là một hệ thống “khóa” chốt chặn ở cửa ngõ mạng, thì
hệ thống IDS có thể được coi như các “cảm ứng giám sát” được đặt khắp nơi trong
mạng để cảnh báo về các cuộc tấn công đã “qua mặt” được Firewall hoặc xuất phát
từ bên trong mạng. Một IDS có nhiệm vụ phân tích các gói tin mà Firewall cho
phép đi qua, tìm kiếm các dấu hiệu tấn công từ các dấu hiệu đã biết hoặc thông qua
việc phân tích các sự kiện bất thường, từ đó ngăn chặn các cuộc tấn công trước khi
nó có thể gây ra những hậu quả xấu với tổ chức.
Hệ thống IDS hoạt động dựa trên 3 thành phần chính là Cảm ứng (Sensor), Giao
diện (Console) và Bộ phân tích (Engine). Hoạt động của một hệ thống IDS được chia
làm 5 giai đoạn chính là: Giám sát, Phân tích, Liên lạc, Cảnh báo và Phản ứng.
 Xâm nhập: Để hiểu được như thế nào là “ phát hiện xâm nhập” trước
hết chúng ta cần xem xét “xâm nhập” là gì. “Xâm nhập” trong thuật ngữ mạng máy
tính, là sự truy nhập vào hệ thống một cách trái phép. Một ví dụ đơn giản là một người
dùng truy cập vào hệ thống và thao tác với quyền quản trị khi không được phép.
6


 Phát hiện xâm nhập: là việc sử dụng một tập hợp những ký thuật và
phương thức để phát hiện những dấu hiệu bị xâm nhập cả ở cấp độ mạng lẫn máy tính.

Có hai cách tiếp cận cơ bản đối với việc phát hiện và phòng chống xâm nhập là:
1.3.2. Nguyên lý hoạt động
Nguyên lý hoạt động của một hệ thống phòng chống xâm nhập được chia
làm 5 giai đoạn chính: Giám sát mạng, phân tích lưu thông, Liên lạc giữa các thành
phần, Cảnh báo về các hành vi xâm nhập và cuối cùng có thể tiến hành phản ứng lại
tùy theo chức năng của từng IDS.
1.3.2.1. Giám sát mạng (monotoring)
Giám sát mạng là quá trình thu thập thông tin về lưu thông trên mạng. Việc
này thông thường được thực hiện bằng các Sensor. Yêu cầu đòi hỏi đối với giai
đoạn này là có được thông tin đầy đủ và toàn vẹn về tình hình mạng. Đây cũng là
một vấn đề khó khăn, bởi vì nếu theo dõi toàn bộ thông tin thì sẽ tốn khá nhiều tài
nguyên, đồng thời gây ra nguy cơ tắc nghẽn mạng. Nên cần thiết phải cân nhắc để
không làm ảnh hưởng đến toàn bộ hệ thống. Có thể sử dụng phương án là thu thập
liên tục trong khoảng thời gian dài hoặc thu thập theo từng chu kì. Tuy nhiên khi đó
những hành vi bắt được chỉ là những hành vi trong khoảng thời gian giám sát. Hoặc
có thể theo vết những lưu thông TCP theo gói hoặc theo liên kết. Bằng cách này sẽ
thấy được những dòng dữ liệu vào ra được phép. Nhưng nếu chỉ theo dõi những liên
kết thành công sẽ có thể bỏ qua những thông tin có giá trị về những liên kết không
thành công mà đây lại thường là những phần quan tâm trong một hệ thống IDS, ví
dụ như hành động quét cổng.
1.3.2.2. Phân tích lưu thông (Analyzing)
Khi đã thu thập được những thông tin cần thiết từ những điểm trên mạng.
IDS tiến hành phân tích những dữ liệu thu thập được. Mỗi hệ thống cần có một sự
phân tích khác nhau vì không phải môi trường nào cũng giống nhau. Thông thường
ở giai đoạn này, hệ thống IDS sẽ dò tìm trong dòng traffic mang những dấu hiệu
đáng nghi ngờ dựa trên kỹ thuật đối sánh mẫu hoặc phân tích hành vi bất thường.
7


1.3.2.3. Liên lạc

Giai đoạn này giữ một vai trò quan trọng trong hệ thống IDS. Việc liên lạc diễn
ra khi Sensor phát hiện ra dấu hiệu tấn công hoặc Bộ xử lý thực hiện thay đổi cấu hình,
điều khiển Sensor. Thông thường các hệ thống IDS sử dụng các bộ giao thức đặc biệt
để trao đổi thông tin giữa các thành phần. Các giao thức này phải đảm bảo tính tin cậy,
bí mật và chịu lỗi tốt, ví dụ: SSH, HTTPS, SNMPv3…Chẳng hạn hệ thống IDS của
hãng Cisco thường sử dụng giao thức PostOffice định nghĩa một tập các thông điệp để
giao tiếp giữa các thành phần.
1.3.2.4. Cảnh báo (Alert)
Sau khi đã phân tích xong dữ liệu, hệ thống IDS cần phải đưa ra được những
cảnh báo. Ví dụ như:
+ Cảnh báo địa chỉ không hợp lệ.
+ Cảnh báo khi máy cố gắng kết nối đến những máy nằm trong danh
sách cần theo dõi ở trong hay ngoài mạng.
1.3.2.5. Phản ứng (Response)
Trong một số hệ thống IDS tiên tiến hiện nay, sau khi các giai đoạn trên phát
hiện được dấu hiệu tấn công, hệ thống không những cảnh báo cho người quản trị mà
còn đưa ra các hành vi phòng vệ ngăn chặn hành vi tấn công đó. Điều này giúp tăng
cường khả năng tự vệ của Mạng, vì nếu chỉ cần cảnh báo cho người quản trị thì đôi khi
cuộc tấn công sẽ tiếp tục xảy ra gây ra các tác hại xấu. Một hệ thống IDS có thể phản
ứng lại trước những tấn công phải được cấu hình để có quyền can thiệp vào hoạt động
của Firewall, Switch và Router. Các hành động mà IDS có thể đưa ra như:
+ Ngắt dịch vụ.
+ Gián đoạn phiên.
+ Cấm địa chỉ IP tấn công.
+ Tạo log.

8


1.4. Phân loại một số kiểu giám sát

Cách thông thường nhất để phân loại hệ thống IDS là dựa vào đặc điểm của
nguồn dữ liệu thu thập được. Trong trường hợp này, các hệ thống IDS được chia
làm các loại sau:
+ Host-base IDS (HIDS): Sử dụng dữ liệu kiểm tra từ một máy trạm đơn để
phát hiện xâm nhập.
+ Network-based IDS (NIDS): Sử dụng dữ liệu trên toàn bộ lưu thông mạng,
cùng với dữ liệu kiểm tra từ một hoặc một vài máy trạm để phát hiện xâm nhập.
1.4.1. Giám sát toàn bộ mạng (NIDS)
Trong hình thức này NIDS xác định các truy cập trái phép bằng việc giám sát
các hoạt động mạng được tiến hành trên toàn bộ các phân mạng của hệ thống, NIDS
sử dụng bộ dò và bộ cảm biến cài đặt trên toàn mạng. Những bộ dò này theo dõi
trên mạng nhằm tìm kiếm những lưu lượng trùng với những mô tả sơ lược được
định nghĩa hay là những dấu hiệu. Khi ghi nhận được một mẫu lưu lượng hay dấu
hiệu, bộ cảm biến gửi tín hiệu cảnh báo đến trung tâm điều khiển và có thể được cấu
hình nhằm tìm ra biện pháp ngăn chặn những xâm nhập xa hơn. NIDS là tập nhiều
sensor được đặt ở toàn mạng để theo dõi những gói tin trong mạng, so sánh với các
mẫu đã được định nghĩa để phát hiện đó là tấn công hay không.

9


Hình 1.1: Mô hình triển khai hệ thống NIDS

Ưu điểm
+ Chi phí thấp: Do chỉ cần cài đặt NIDS ở những vị trí trọng yếu là có thể giám
sát lưu lượng toàn mạng nên hệ thống không cần phải nạp các phần mềm và quản lý
trên các máy toàn mạng.
+ Phát hiện được các cuộc tấn công mà HIDS bỏ qua: Khác với HIDS, NIDS
kiểm tra header của tất cả các gói tin vì thế nó không bỏ sót các dấu hiệu xuất phát
từ đây. Ví dụ nhiều cuộc tấn công DoS, TearDrop (phân nhỏ) chỉ được phát hiện khi

xem header của các gói tin lưu chuyền trên mạng.
+ Khó xóa bỏ dấu vết: Các thông tin lưu trong log file có thể bị kẻ đột nhập
sửa đổi để che dấu các hoạt động xâm nhập, trong tình huống này HIDS khó có đủ
thông tin để hoạt động. NIDS sử dụng lưu thông hiện hành trên mạng để phát hiện
xâm nhập. Vì thế, kẻ đột nhập không thể xóa bỏ được các dấu vết tấn công. Các
thông tin bắt được không chỉ chứa cách thức tấn công mà cả thông tin hỗ trợ cho
việc xác minh và buộc tội kẻ đột nhập.
+ Phát hiện và đối phó kịp thời: NIDS phát hiện các cuộc tấn công ngay khi
xảy ra, vì thế việc cảnh báo và đối phó có thể thực hiện được nhanh hơn. VD: một
hacker thực hiện tấn công DoS dựa trên TCP có thể bị NIDS phát hiện và ngăn chặn
ngay bằng việc gửi yêu cầu TCP reset nhằm chấm dứt cuộc tấn công trước khi nó
xâm nhập và phá vỡ máy bị hại.
10


+ Có tính độc lập với OS (Operating System)
Nhược điểm
+ Hạn chế về hiệu năng: NIDS sẽ gặp khó khăn khi phải xử lý tất cả các gói
tin trên mạng rộng hoặc có mật độ lưu thông cao, dẫn đến không thể phát hiện các
cuộc tấn công thực hiện vào lúc “Cao điểm”. Một số nhà sản xuất đã khắc phục
bằng cách cứng hóa hoàn toàn IDS nhằm tăng cường tốc độ cho nó. Tuy nhiên, do
phải đảm bảo về mặt tốc độ nên một số gói tin được bỏ qua có thể gây lỗ hổng cho
tấn công xâm nhập.
+ Tăng thông lượng mạng: Một hệ thống phát hiện xâm nhập có thể cần
truyền một dung lượng lớn dữ liệu trở về hệ thống phân tích trung tâm, có nghĩa là
gói tin được kiệm soát sẽ sinh ra một lượng lớn tải phân tích.
+ Không biết được các cuộc tấn công có thành công hay không.
+ Một hệ thống NIDS thường gặp khó khăn trong việc sử lý các cuộc tấn
công trong một phiên được mã hóa.
+ NIDS cũng gặp khó khăn khi phát hiện các cuộc tấn công mạng từ các gói

tin phân mảnh. Các gói tin định dạng sai này có thể làm cho NIDS hoạt động sai.
1.4.2. Giám sát máy tính đơn lẻ (HIDS)
Bằng cách cài đặt một phần mềm trên tất cả các máy tính chủ, IDS dựa trên
máy chủ quan sát tất cả những hoạt động hệ thống, như các file log và những lưu
lượng mạng thu thập được.
Hệ thống dựa trên máy chủ cũng theo dõi OS, những cuộc gọi hệ thống, lịch
sử sổ sách (audit log) và những thông điệp báo lỗi trên hệ thống máy chủ. Trong khi
những đầu dò của mạng có thể phát hiện một cuộc tấn công, thì chỉ có hệ thống dựa
trên máy chủ mới có thể xác định xem cuộc tấn công có thành công hay không.
HIDS thường được cài đặt trên một máy tính nhất định. Thay vì giám sát
hoạt động của một Network segment, HIDS chỉ giám sát các hoạt động trên một
máy tính. Nó thường được đặt trên các Host xung yếu của tổ chức, và các server
trong vùng DMZ. thường là mục tiêu tấn công đầu tiên. Nhiệm vụ chính của HIDS
là giám sát các thay đổi trên hệ thống, bao gồm:
11


- Các tiến trình.
- Các entry của Registry.
- Mức độ sử dụng CPU.
- Các thông số này khi vượt qua một ngưỡng định trước hoặc những thay đổi
khả nghi trên hệ thống file sẽ gây ra báo động.

Hình 1.2: Mô hình hệ thống HIDS

Ưu điểm
+ Xác định được kết quả của cuộc tấn công: Do HIDS sử dụng dữ liệu log
lưu các sự kiện xảy ra, nó có thể biết được cuộc tấn công là thành công hay thất bại
với độ chính xác cao hơn NIDS. Vì thế, HIDS có thể bổ sung thông tin tiếp theo khi
cuộc tấn công được sớm phát hiện với NIDS.

+ Giám sát được các hoạt động cụ thể của hệ thống: HIDS có thể giám sát
các hoạt động mà NIDS không thể như: truy nhập file, thay đổi quyền, các hành
động thực thi, truy nhập dịch vụ được phân quyền. Đồng thời nó cũng giám sát các
hoạt động chỉ được thực hiện bởi người quản trị. Vì thế hệ thống HIDS có thể là
một công cụ cực mạnh để phân tích các cuộc tấn công có thể xảy ra do nó thường
cung cấp nhiều thông tin chi tiết và chính xác hơn một hệ NIDS.
12


+ Thích nghi tốt với môi trường chuyển mạch và mã hóa.
Nhược điểm
+ Thông tin từ HIDS là không đáng tin cậy ngay khi sự tấn công vào host
này thành công.
+ Khi OS bị “hạ” do tấn công, đồng thời HIDS cũng bị “hạ”.
+ HIDS phải được thiết lập trên từng Host được giám sát nên nó chiếm tài
nguyên host để hoạt động.
+ HIDS không có khả năng phát hiện các cuộc dò quét mạng (Nmap,
Netcat…)
1.5. Mô hình mạng thực tế
Hiện nay có rất nhiều mô hình thiết kế mạng đang được áp dụng ở nước ta,
mỗi một mô hình có những ưu và nhược điểm riêng của nó. Dưới đây là một mô
hình chuẩn hiện nay đang được áp dụng ở hầu hết các doanh nghiệp vừa và nhỏ ở
nước ta. Chúng ta sẽ chỉ ra những ưu và nhược điểm của mô hình này.

Hình 1.3 – Mô hình mạng phổ biến của các đơn vị vừa và nhỏ

Ưu điểm
+ Dễ dàng triển khai, cấu hình cài đặt.

13



+ Chi phí thấp.
+ Dễ dàng mở rộng thêm các mạng con.
Nhược điểm
+ Chưa có tường lửa nên dễ bị tấn công.
+ Không có hệ thống giám sát an ninh nên không nhận biết được các cuộc tấn công.
+ Dễ lây lan virus trên diện rộng, và từ máy Client lây sang máy trạm lên sever.
+ Không theo dõi, quản lý được các máy client dùng vào việc gì.
Kết chương:
Như vậy trong nội dung chương 1 đã chỉ ra được thực trạng an toàn thông
tin hiện nay, yêu cầu cấp thiết của thực tế, nêu và làm rõ một số khái niệm, phân
loại được các mô hình giám sát theo từng cấp độ để người dùng, các nhà quản trị
có thể hiểu và áp dụng trường hợp hệ thống mạng của mình một cách hợp lý nhất.
Chương tiếp theo sẽ đi sâu chi tiết hơn về phân tích một số kỹ thuật được áp
dụng trong việc thiết kế một hệ thống giám sát an ninh mạng.

14


Chương 2 – KỸ THUẬT XÂY DỰNG HỆ THỐNG GIÁM SÁT AN NINH MẠNG
Một hệ thống giám sát an ninh mạng hoạt động dựa trên việc tìm kiếm, phát
hiện các cuộc xâm nhập trái phép vào hệ thống mạng để đưa ra những phân tích cho
hành động tiếp theo. Dưới đây chúng ta sẽ đi vào nghiên cứu các kỹ thuật để phát
hiện các xâm nhập trái phép.
2.1. Kỹ thuật phát hiện dựa trên dấu hiệu thông qua đối sánh mẫu
Phát hiện dựa trên dấu hiệu là phát hiện những kẻ xâm nhập đang cố gắng đột
nhập vào hệ thống mà sử dụng một số kỹ thuật đã biết. Nó liên quan đến việc mô tả
đặc điểm các cách thức xâm nhập vào hệ thống đã được biết đến, mỗi cách thức này
được mô tả như một mẫu. Hệ thống phát hiện xâm nhập dựa trên dấu hiệu chỉ thực

hiện kiểm soát đối với các mẫu đã rõ ràng. Mẫu có thể là một xâu bit cố định (ví dụ
như một virus đặc tả việc chèn xâu),…dùng để mô tả một tập hay một chuỗi các
hành động đáng nghi ngờ.
2.1.1. Giới thiệu bài toán đối sánh mẫu
Dạng phổ biến nhất của bài toán là: Cho trước nguồn tìm kiếm là một tập D các
văn bản (hoặc cơ sở dữ liệu văn bản, hay các tập các văn bản trên Internet…). Cho
một câu hỏi dạng văn bản q (thường là một từ, một xâu văn bản ngắn), hãy tìm tất
cả các văn bản thuộc D mà có chứa q. Trong nhiều hợp (chẳng hạn, tìm kiếm thông
qua máy tìm kiếm) thì q còn được gọi là “ truy vấn” và bài toán còn có tên gọi là “
tìm kiếm theo truy vấn” . Để tìm kiếm được văn bản có chứa văn bản truy vấn q, hệ
thống tìm kiếm cầm phải kiểm tra văn bản truy vấn q có là một xâu con của các văn
bản thuộc D hay không (sánh mẫu) và đưa ra các văn bản đáp ứng. Trong nhiều
trường hợp, bài toán còn đòi hỏi tìm tất cả các vị trí của các xâu con trong văn bản
trùng với q. Đồng thời, điều kiện tìm kiếm có thể được là “ xấp xỉ” theo nghĩa văn
bản kết quả có thể không cần chứa q (không cần có một xâu con của văn bản trùng
một cách hoàn toàn chính xác với q) mà chỉ cần “ liên quan” tới q (có xâu con trong
văn bản xấp xỉ q). Có thể thấy, các máy tìm kiếm sử dụng cả cơ chế tìm kiếm xấp xỉ
khi mà văn bản kết quả tìm kiếm không chứa hoàn toàn chính xác văn bản truy vấn.
15


2.1.2. Phát biểu bài toán
Như đã trình bày ở trên, đối sánh mẫu là một bài toán cơ bản trong xử lí chuỗi
văn bản; bài toán yêu cầu tìm ra một hoặc nhiều vị trí xuất hiện của mẫu P trên một
văn bản T. Mẫu P và chuỗi văn bản T là các chuỗi có độ dài M và N (M ≤ N); P và
T là các xâu ký tự trên cung một bảng chữ cái ∑ cho trước có α ký tự.
Bài toán đối sánh mẫu được tổng quát phát biểu như sau:
“ Cho mẫu P có độ dài M và văn bản T có độ dài N trên cùng bảng chữ cái ∑.
Tìm một (hoặc tất cả) các lần xuất hiện của mẫu P trong T”.
Trong bài toán tìm kiếm văn bản trên tập văn bản D , bài toán đối sánh mẫu

được thực hiện đối với mọi cặp gồm mẫu (truy vấn) q và mọi văn bản d  D .
Trong trường hợp độ dài N của d rất lớn và số lượng văn bản trong D rất nhiều
(| D | >> 1) thì thời gian tìm kiếm văn bản phù hợp với câu hỏi q sẽ rất tốn kém.
Chính vì lý do đó, nghiên cứu đề xuất các thuật toán đối sánh mẫu mới, cải tiến
các thuật toán sánh mẫu sẵn có luôn là một chủ đề nghiên cứu nhận được rất nhiều
quan tâm đặc biệt trong công nghệ thông tin nói chung và trong việc phát hiện mã
độc hại nói riêng.
2.1.3. Thuật toán Boyer-Moore

Thuật toán sẽ tìm kiếm các ký tự mẫu từ phải sang trái từ ký tự cuối cùng.
Giả sử trong trường hợp mis-match(hoặc là trường hợp đã tìm thấy 1 đoạn
khớp mẫu), nó sẽ dùng 2 hàm được tính toán trước để dịch cửa sổ sang bên
phải. Hai hàm dịch chuyển này được gọi là good-suffix shift (còn được biết
với cái tên phép dịch chuyển khớp) và bad-character shift (phép dịch chuyển
xuất hiện).
Đối với mẫu P [0..m-1] ta dùng 1 biến chỉ số i chạy từ cuối về đầu, đối với
chuỗi T [0..n-1] ta dùng 1 biến j để chốt ở phía đầu.
G/s rằng trong quá trình so sánh ta gặp 1 mis-match tai vị trí P[i ]  a của
mẫu và T [i  j ]  b trong khi đang thử khớp tại vị trí j.

16


Hình 2.1: Mis-match trong khi đang so sánh tại vị trí j

Khi đó, P[i  1...m  1]  T [ j  i  1... j  m  1]  u và P[i]  T [i  j ] . Bây
giờ ta đi xét xem đối với từng trường hợp, 2 hàm trên sẽ thực hiện việc dịch
chuyển như thế nào:
Phép dịch chuyển good-suffix shift sẽ dịch cửa sổ sang bên phải cho
đến khi gặp 1 ký tự khác với P[i ] trong trường hợp đoạn u lại xuất hiện trong

P.

Hình 2.2: Good-suffix shift, trường hợp u lại xuất hiện trong P

Nếu đoạn u không xuất hiện lại trong P, mà chỉ có 1 phần cuối (suffix)
của u khớp với phần đầu (prefix) của P,thì ta sẽ dịch 1 đoạn sao cho phần
suffix dài nhất v của T [ j  i  1... j  m  1] khớp với prefix của P.

Hình 2.3: Good-suffix shift, trường hợp chỉ suffix của u xuất hiện trong P

Phép dịch chuyển bad-character shift sẽ khớp kí tự T [i  j ] với 1 ký tự
(bên phải nhất) trong đoạn P[0...m  2] (các bạn thử nghĩ xem tại sao không
phải là m-1)

17


Hình 2.4: Dịch để ký tự b ăn khớp với văn bản

Nếu T [i  j ] không xuất hiện trong P, ta thấy ngay rằng không có xuất
hiện nào của P trong T mà lại chứa T [i  j ] , do đó ta có thể đặt cửa sổ ngay
sau T [i  j ] , tức là T [i  j  1] .

Hình 2.5: Dịch khi b không xuất hiện trong P

2.1.4. Thuật toán Aho-Corasick
Thuật Aho-Corasick được xây dựng bởi Alfred Vaino Aho và Margret
J.Corasick tháng 6/1975. Thuật toán đối sánh mẫu Aho-Corasick xác định vị trí, tìm
kiếm tất cả các lần xuất hiện của một chuỗi hay bộ từ khóa trong một “xâu văn
bản”.

Chuỗi đối sánh mẫu là một vấn đề quan trọng xảy ra trong nhiều lĩnh vực của
khoa học và xử lý thông tin.Trong máy tính, nó xảy ra tự nhiên như là một phần của
xử lý dữ liệu, chỉnh sửa văn bản, viết lại, phân tích từ vựng, và truy xuất thông tin.
Hiện nay thuật toán còn được sử dụng như máy đối sánh mẫu(pattern
matching machine).
2.1.4.1. Định nghĩa
Cho một chuỗi đơn giản chỉ là một tập hợp hữu hạn các ký tự. Tìm và xác định
tất cả các chuỗi con của X là từ khóa trong K . Chuỗi con có thể trùng nhau.
Trong đó với:
+ K : K   y1 , y2 ,..., yk  là tập hữu hạn các chuỗi mà ta gọi là khóa.
+ X : X là chuỗi văn bản tùy ý.
18


×