HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
KHOA CÔNG NGHỆ THÔNG TIN 1 ĐỒ ÁN
TỐT NGHIỆP ĐẠI HỌC
ĐỀ TÀI:
NGHIÊN CỨU XÂY DỰNG MÔ HÌNH PHÁT
HIỆN TẤN CÔNG, ĐỘT NHẬP MẠNG DỰA
TRÊN ĐỐI SÁNH CHUỖI
Giảng viên hướng dẫn : TS. HOÀNG XUÂN DẬU
Sinh viên thực hiện: VŨ DUY KHÁNH
Lớp : D09HTTT3
Khoá : 2009-2014
riêng và phát huy hiệu quả trong một miền ứng dụng cụ thể. Trong phạm vi kiến thức đại
học, đồ án này sẽ tập trung nghiên cứu xây dựng mô hình phát hiện tấn công, đột nhập
mạng dựa trên đối sánh chuỗi. Trên cơ sở nghiên cứu, phân tích hiệu năng , đồ án sẽ lựa
chọn giải thuật đối sánh chuỗi phù hợp để tích hợp vào hệ thống phát hiện đột nhập mạng
đang khảo sát.
Đồ án gồm ba chương với nội dung như sau:
Chương I: Tổng quan về phát hiện đột nhập mạng
Giới thiệu tổng quan về an toàn thông tin, các dạng tấn công, đột nhập và biện phát
phát hiện tấn công, đột nhập mạng.
Chương II: Các giải thuật đối sánh chuỗi và ứng dụng trong phát hiện đột
nhập mạng
Giới thiệu tổng quan về kỹ thuật đối sánh chuỗi, nghiên cứu các giải thuật đối sánh
chuỗi thông dụng và ứng dụng của đối sánh chuỗi trong phát hiện tấn công, đột
nhập mạng. ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC MỞ ĐẦU
VŨ DUY KHÁNH – D09HTTT3 II
Chương III: Xây dựng mô hình phát hiện đột nhập mạng dựa trên đối sánh
chuỗi
Trình bày việc xây dựng mô hình phát hiện đột nhập mạng dựa trên kỹ thuật đối
sánh chuỗi đã nghiên cứu ở chương II, tiến hành cài đặt thử nghiệm mô hình và
cung cấp một số kết quả thử nghiệm ban đầu.
Nhìn chung, đồ án đã trình bày tổng quan về phát hiện đột nhập mạng và ứng dụng
của thuật toán đối sánh chuỗi trong phát hiện tấn công, đột nhập mạng. Đồng thời, đồ án
cũng nêu chi tiết một số giải thuật đối sánh chuỗi và so sánh hiệu năng của các thuật toán.
Cuối cùng, đồ án đã nghiên cứu xây dựng mô hình phát hiện đột nhập dựa trên đối sánh
chuỗi và tiến hành một vài thử nghiệm ban đầu. Tuy nhiên, do thời gian hạn hẹp và kiến
NHẬN XÉT, ĐÁNH GIÁ, CHO ĐIỂM
(Của Người hướng dẫn) …………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
Điểm: …………………….………(bằng chữ: … …………… ….)
Đồng ý/Không đồng ý cho sinh viên bảo vệ trước hội đồng chấm đồ án tốt nghiệp?.
1.3.1.2. Các kỹ thuật sử dụng trong phát hiện tấn công, đột nhập mạng 13
1.3.2. Giới thiệu một số hệ thống phát hiện tấn công, đột nhập mạng 14
1.4. Hướng tiếp cận của đồ án 15
1.5. Kết chương 15
ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC MỤC LỤC
VŨ DUY KHÁNH – D09HTTT3 VI
CHƯƠNG 2: CÁC GIẢI THUẬT ĐỐI SÁNH CHUỖI VÀ ỨNG DỤNG TRONG PHÁT
HIỆN ĐỘT NHẬP MẠNG 16
2.1. Giới thiệu về đối sánh chuỗi và ứng dụng 16
2.1.1. Khái quát về đối sánh chuỗi 16
2.1.1.1. Khái niệm đối sánh chuỗi 16
2.1.1.2. Các cách tiếp cận 17
2.1.1.3. Phân loại kỹ thuật đối sánh chuỗi 17
2.1.2. Ứng dụng của đối sánh chuỗi 18
2.2. Các giải thuật đối sánh chuỗi 19
2.2.1. Các giải thuật đối sánh chuỗi thông dụng 19
2.2.1.1. Thuật toán đối sánh chuỗi sơ khai – Naïve string matching 19
2.2.1.2. Thuật toán Knuth-Morris-Pratt (KMP) 24
2.2.1.3. Thuật toán Boyer-Moore (BM) 29
2.2.1.4. Thuật toán Boyer-Moore-Horspool (BMH) 36
2.2.2. Đánh giá ưu nhược điểm của các giải thuật đối sánh chuỗi 40
2.3. Ứng dụng của đối sánh chuỗi trong phát hiện đột nhập mạng 42
2.3.1. Phát hiện và ngăn chặn tấn công, đột nhập 42
2.3.2. Phát hiện và ngăn sự lây lan của virus và các phần mềm độc hại 44
2.3.3. Lọc các URL 44
2.4. Kết chương 45
CHƯƠNG 3: XÂY DỰNG MÔ HÌNH PHÁT HIỆN ĐỘT NHẬP MẠNG DỰA TRÊN
ĐỐI SÁNH CHUỖI 46
3.1. Mô hình phát hiện đột nhập mạng dựa trên đối sánh chuỗi 46
Bảng 2.1. Tổng hợp đặc điểm các thuật toán đối sánh chuỗi cơ bản 41
Bảng 3.1. Tập dữ liệu thử nghiệm hiệu năng thuật toán đối sánh chuỗi 54
Bảng 3.2. Kết quả so sánh hiệu năng các thuật toán đối sánh chuỗi với tập dữ liệu 5866 gói tin
TCP 55
Bảng 3.3. Kết quả so sánh hiệu năng các thuật toán đối sánh chuỗi với tập dữ liệu 11214 gói
tin TCP 55
Bảng 3.4. Kết quả so sánh hiệu năng các thuật toán đối sánh chuỗi với tập dữ liệu 20981 gói
tin TCP 56
Hình 1.1. Các chương trình phá hoại 3
Hình 1.2. Quá trình trao đổi thông tin trên mạng 5
Hình 1.3. Tấn công gián đoạn 5
Hình 1.4. Tấn công nghe trộm 6
Hình 1.5. Tấn công thay đổi 6
Hình 1.6. Tấn công giả mạo 7
Hình 1.7. Các lớp bảo vệ ngăn chặn tấn công, đột nhập 8
Hình 1.8. Tường lửa 9
Hình 1.9. Hệ thống Host Based IDS 11
Hình 1.10. Triển khai NIDS trong hệ thống thực tế 12
Hình 1.11. Mô hình phát hiện đột nhập mạng tổng quát 13
Hình 2.1. Mismatch trong Boyer-Moore 30
Hình 2.2. Good-Suffic shift (u xuất hiện lại trong P) 31
Hình 2.3. Good-Suffix shift (u không xuất hiện trong P) 32
Hình 2.4. Bad-Character shift (T[s+j] xuất hiện trong P) 32
Hình 2.5. Bad-Character shift (T[s+j] không xuất hiện trong P) 32
Hình 2.6. Thuật toán Boyer-Moore-Horpool (T[s+m-1] xuất hiện trong P) 36
Hình 2.7. Thuật toán Boyer-Moore-Horpool (T[s+m-1] không xuất hiện trong P) 37
Hình 2.8. So sánh giữa Boyer-Moore và Boyer-Moore-Horspool 42
Hình 2.9. Giai đoạn kiểm tra của phương pháp phát hiện đột nhập dựa trên dấu hiệu 43
Hình 2.10. Giai đoạn kiểm tra của phương pháp phát hiện đột nhập dựa trên bất thường 43
Deep Packet Inspection
Sự phân tích sâu gói tin
HIDS
Host Based Intrusion Detection
System
Hệ thống phát hiện đột nhập dựa
trên host
IDS
Intrusion Detection System
Hệ thống phát hiện đột nhập
KMP
Knuth – Morris – Pratt
algorithm
Thuật toán Knuth - Morris - Pratt
NIDS
Network Based Intrusion
Detection System
Hệ thống phát hiện đột nhập dựa
trên mạng
P
Pattern
Chuỗi mẫu
T
Text
Chuỗi văn bản
TCP
Transmission Control Protocol
Một giao thức truyền thông tin
cậy của tầng giao vận
UDP
được người dùng sở hữu vật lý (Smart Card), thông tin sinh trắc học (vân tay,
giọng nói…).
Tính phân quyền (Authorization): Phân quyền là hành động nhằm giới hạn
quyền truy cập/sử dụng của các đối tượng đối với tài nguyên hệ thống. Tính phân
quyền giúp hệ thống kiểm soát được quyền hạn truy cập tài nguyên đối với từng
nhóm người dung. Một số kiểu phân quyền thường gặp như: quyền đọc/ghi dữ liệu,
quyền chỉnh sửa dữ liệu, quyền thực thi chương trình…
Kiểm soát truy cập (Access Control): Kiểm soát truy cập là khả năng giới hạn và
kiểm soát các luồng truy cập tới máy chủ hoặc ứng dụng. Việc kiểm soát truy cập
giúp hệ thống ngăn chặn các truy cập trái phép tới hệ thống và hạn chế quyền truy
cập đối với từng cá nhân/nhóm người dùng cụ thể. Kiểm soát truy cập có thể được
áp dụng cho các tài nguyên vật lý (các thiết bị phần cứng) hoặc tài nguyên logic
(các tài nguyên số của hệ thống).
Tính bí mật (Confidentiality): Tính bí mật đảm bảo thông tin trong hệ thống
không bị truy cập trái phép từ đối tượng bất hợp pháp. Đối tượng truy cập trái phép
có thể là người dùng hoặc là một chương trình (virus, worm…). Tính bí mật của hệ
thống thông tin có thể được thực hiện dựa vào phần cứng (thiết bị lưu trữ) và phần
mềm (các kỹ thuật mã hóa).
ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC CHƯƠNG 1
VŨ DUY KHÁNH – D09HTTT3 2
Tính toàn vẹn dữ liệu (Data Integrity): Tính toàn vẹn dữ liệu đảm bảo sự nguyên
vẹn của thông tin trong quá trình truyền thông hoặc trong quá trình lưu trữ dữ liệu.
Các biện pháp thực hiện tính toàn vẹn bao gồm kiểm soát môi trường lưu trữ dữ
liệu ở thiết bị đầu cuối, kiểm soát truy cập chặt chẽ, xác thực nghiêm ngặt đối với
các đối tượng được phép truy cập tới dữ liệu. Ví dụ: các thông tin tài chính quan
trọng trong công ty chỉ được phép sửa đổi bởi kế toán trưởng hoặc giám đốc và
không được phép bị sửa đổi trong quá trình truyền thông.
Tính chống chối bỏ (Nonrepudiation): Tính chống chối bỏ giúp ngăn chặn việc
đối tượng phủ nhận việc đã thực hiện một hành động nào đó đối với hệ thống.
máy tính một cách bí mật và âm thầm thực hiện những thao tác phá hoại hệ thống.
ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC CHƯƠNG 1
VŨ DUY KHÁNH – D09HTTT3 3
Một cách tổng quát, phần mềm phá hoại có thể được chia thành hai loại: phần mềm
phá hoại phụ thuộc chương trình chủ và phần mềm phá hoại độc lập với chương trình
chủ (Hình 1.1).
tự nhân bản
ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC CHƯƠNG 1
VŨ DUY KHÁNH – D09HTTT3 4
năng phá hoại hệ thống thông tin. Do vậy, chúng ta không nên nhầm lẫn bom logic
với chương trình được người lập trình viết ra có chủ đích nhằm vô hiệu hóa một số
chức năng nhất định của hệ thống vào những thời điểm cụ thể (không mang yếu tố
phá hoại).
Virus: Virus là chương trình hay đoạn mã được thiết kế để bám vào một chương
trình chủ và có khả năng tự nhân bản, sao chép chính nó vào các đối tượng lây
nhiễm khác (file, ổ đĩa máy tính…). Virus có thể lây lan thông qua việc người dùng
mở file, thực thi chương trình, mở ổ đĩa… Các nguồn lây nhiễm virus chủ yếu là
thiết bị di động (USB, thẻ nhớ) và mạng Internet (tải file về máy tính). Theo thời
gian, các chương trình virus ngày càng phát triển. Từ chỗ chỉ là các chương trình
nhỏ thực hiện các trò đùa, virus ngày nay chủ yếu hướng tới việc phá hoại hoặc lấy
cắp thông tin cá nhân nhạy cảm của người dùng hoặc tổ chức. Virus thường nhắm
tới các mục tiêu là những hệ điều hành phổ thông, đặc biệt là hệ điều hành
Windows – hệ điều hành có thị phần áp đảo, được sử dụng nhiều nhất trên thế
giới.[22]
Worm: Worm (sâu máy tính) là một chương trình máy tính độc lập có khả năng tự
nhân bản giống virus máy tính. Thông thường, Worm sử dụng một mạng máy tính
để lây lan và dựa trên lỗ hổng an ninh để xâm nhập mục tiêu. Nhiều sâu được thiết
kế chỉ có chức năng lây lan trên mạng, không hề phá hoại những vật thể mà nó “đi
qua” (sâu Morris và Mydoom). Mục đích chúng hướng tới là tiêu thụ lượng lớn
băng thông mạng, gây gián đoạn kết nối giữa các máy tính. Tuy nhiên, một số sâu
khác lại chứa mã độc bên trong. Bên cạnh hành động lây lan, chúng còn có chức
năng phá hoại hệ thống. Những sâu này có thể xóa các tập tin trên hệ thống máy
chủ (ExploreZip), mã hóa tập tin hoặc tự động gửi tài liệu qua email. Đặc biệt, một
dạng mã độc rất phổ biến trong Worm cho phép tạo ra Backdoor trong các máy
tính, cho phép tạo ra những máy tính Zombie dưới sự điều khiển của tin tặc.[30]
Hình 1.2. Quá trình trao đổi thông tin trên mạng
Quá trình truyền thông trên mạng có thể bị kẻ xấu khai thác theo các phương pháp
tấn công sau:
Tấn công gián đoạn (Interruption) : Đây là phương pháp tấn công lên tính khả
dụng của hệ thống. Kẻ xấu có thể sử dụng một số phương pháp tấn công từ chối
dịch vụ như Smurf, Ping of Death, Tear Drop, SYN Attack… để làm ngập (flood)
băng thông mạng, khiến hệ thống không còn khả năng đáp ứng yêu cầu (request)
của những người dùng hợp pháp.
Hình 1.3. Tấn công gián đoạn
Tấn công nghe trộm (Interception) : Đây là dạng tấn công nhằm vào tính bảo
mật của hệ thống. Cách thức tấn công này không hướng trực diện vào các máy tính
đầu cuối (host) mà mục tiêu của nó chính là dữ liệu truyền thông giữa các máy
tính. Chính bởi hành vi xâm phạm kiểu này chỉ âm thầm bắt giữ các gói tin trên
đường truyền, không thay đổi nội dung gói tin, không làm nghẽn băng thông
mạng… nên cả bên gửi và bên nhận rất khó phát hiện. Phương pháp tấn công tiêu
biểu của dạng này là Sniffing kết hợp với một số phương pháp tấn công dò cổng
(port scanning) để phát hiện cổng nào đang được sử dụng.
Bên gửi
Bên
gửi
Bên
Hình 1.5. Tấn công thay đổi
Tấn công giả mạo (Fabrication) : Đây là hình thức tấn công vào tính xác thực của
hệ thống. Kẻ xấu mạo danh một người nào đó để gửi thông điệp tới một người
khác, giả mạo địa chỉ IP của một máy nào đó để truyền thông với máy tính khác
với mục đích xấu (đánh cắp thông tin nhạy cảm, lừa đảo…)
Bên
gửi
Bên
gửi
Bên
nhận
Bên trung
gian
Bên
nhận
Bên trung
gian
ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC CHƯƠNG 1
đi vào hoặc đi ra khỏi hệ thống phải qua “cửa khẩu” này. Những biện pháp kiểm soát
an ninh chặt chẽ sẽ được triển khai ngay tại “cửa ngõ” của hệ thống.
Nguyên tắc thứ tư, một hệ thống thông tin luôn có điểm yếu nhất. Kẻ tấn công luôn
cố gắng tìm ra điểm yếu của hệ thống và khai thác những lỗ hổng an ninh này. Do vậy,
hệ thống thông tin cần được định kỳ rà soát, phát hiện những điểm yếu và kịp thời gia
cố những “kẽ hở” này.
Nguyên tắc thứ năm, các hệ thống khác nhau cần áp dụng đa dạng các phương
pháp bảo vệ. Điều này giúp ngăn chặn nguy cơ sau khi tin tặc xâm nhập vào hệ thống
đầu tiên, chúng có thể dễ dàng tấn công các hệ thống còn lại. Bên
gửi
Bên
nhận
Bên trung
gian
ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC CHƯƠNG 1
VŨ DUY KHÁNH – D09HTTT3 8
1.1.3.2. Các biện pháp ngăn chặn tấn công, đột nhập
Như đã nói ở phía trên, không tồn tại một giải pháp an toàn tuyệt đối trong an ninh
mạng. Do đó, hệ thống cần được sử dụng đồng thời nhiều mức bảo vệ khác nhau, tạo
thành nhiều lớp rào chắn đối với các hoạt động tấn công, xâm nhập. Thông thường,
các biện pháp ngăn chặn đột nhập được triển khai theo mô hình 1.7 dưới đây:
THÔNG TIN
ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC CHƯƠNG 1
VŨ DUY KHÁNH – D09HTTT3 9 Hình 1.8. Tường lửa
Có hai loại tường lửa thông dụng là tường lửa bảo vệ và tường lửa ngăn chặn.
Tường lửa bảo vệ có tác dụng bảo vệ an ninh cho hệ thống mạng cục bộ, tránh sự xâm
nhập, tấn công từ bên ngoài. Bên cạnh đó, tường lửa ngăn chặn thường được triển khai
để kiểm duyệt những nội dung truyền từ hệ thống nội bộ ra bên ngoài.
b. Bảo vệ vật lý
Bảo vệ vật lý là phương pháp ngăn chặn các truy cập vật lý trái phép vào hệ thống.
Chẳn hạn, những người không có quyền hạn không được phép vào phòng đặt máy chủ,
máy tính quan trọng được đặt ổ khóa
c. Mã hóa dữ liệu
Mã hóa dữ liệu là phương pháp biến thông tin (hình ảnh, văn bản…) từ định dạng
bình thường sang dạng thông tin không thể hiểu được nếu không có phương tiện giải
mã. Quá trình ngược lại với mã hóa gọi là giải mã.[17]
d. Xác thực
Xác thực là phương pháp bảo vệ được triển khai phổ biến vì tính đơn giản và hiệu
quả. Có nhiều phương pháp xác thực, tuy nhiên, phương pháp được sử dụng rộng rãi
nhất là xác thực dựa trên mật khẩu. Mỗi người trước khi sử dụng hệ thống sẽ phải
đăng ký một tài khoản và mật khẩu. Để sử dụng hệ thống, người dùng sẽ đăng nhập
vào tài khoản của mình và truy cập tới các tài nguyên được cấp phép. Tuy nhiên, trên
thực tế, mật khẩu cá nhân có thể bị rò rỉ nếu người dùng không giữ cẩn thận. Điều này
1.2.1. Phân loại dựa trên nguồn dữ liệu
Dựa trên nguồn dữ liệu, chúng ta có thể chia phương pháp phát hiện đột nhập thành
hai nhóm là phương pháp phát hiện đột nhập dựa trên thiết bị đầu cuối và phương pháp
phát hiện đột nhập dựa trên mạng. Đại diện cho hai nhóm phương pháp này là hai hệ
thống phát hiện đột nhập:
Hệ thống phát hiện đột nhập dựa trên thiết bị đầu cuối (Host Based IDS -
HIDS)
HIDS là hệ thống phát hiện đột nhập được cài đặt cục bộ trên một máy tính nhất
đinh. Thay vì giám sát hoạt động của một vùng mạng. HIDS thường được đặt trên
các host quan trọng, và các server trong vùng DMZ thường là mục tiêu bị tấn công
đầu tiên. Ngoài ra, HIDS có thể ghi nhận những việc mà người tấn công đã làm
trên máy chủ bị tấn công (compromised host). 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 các tiến trình, các thanh ghi, mức độ sử
dụng CPU, các luồng truy cập tới file hệ thống… Khi các giá trị này vượt quá một
ngưỡng định trước hoặc có những thay đổi khả nghi, hệ thống HIDS sẽ phát ra
cảnh báo gửi tới hệ thống khác (có chức năng xử lý chuyên biệt) hoặc gửi trực tiếp
tới người quản trị.
ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC CHƯƠNG 1
VŨ DUY KHÁNH – D09HTTT3 11
Hình 1.9. Hệ thống Host Based IDS
Hệ thống phát hiện đột nhập dựa trên mạng (Network Based IDS - NIDS)
NIDS là hệ thống phát hiện xâm nhập có tác dụng phát hiện những truy cập trái
phép vào mạng máy tính bằng cách phân tích lưu lượng truy cập trên mạng. Hệ
thống NIDS sẽ giám sát lưu lượng tại các điểm được chọn trên một mạng hoặc tập
hợp các mạng được kết nối với nhau. NIDS có chức năng kiểm tra các gói dữ liệu
sánh với các hoạt động thông thường. Nếu thấy các dấu hiệu hiện tại không phù
hợp với các hoạt động thông thường, hệ thống ghi nhận sự bất thường và đưa ra
cảnh báo về tấn công/đột nhập. Có nhiều cách thức phát hiện bất thường, một số
phương pháp tiêu biểu là phát hiện bất thường dựa trên ngưỡng, dựa trên thống kê
hoặc dựa trên mô hình Markov…
1.3. Phát hiện tấn công, đột nhập mạng
1.3.1. Khái quát về phát hiện tấn công, đột nhập mạng
1.3.1.1. Mô hình phát hiện đột nhập mạng
Mô hình phát hiện đột nhập mạng tổng quát được biểu diễn trên hình 1.11.
ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC CHƯƠNG 1
VŨ DUY KHÁNH – D09HTTT3 13
Hình 1.11. Mô hình phát hiện đột nhập mạng tổng quát
Trong mô hình này, trung tâm của mô hình phát hiện xâm nhập mạng là hệ thống
NIDS được kết nối tới một cơ sở dữ liệu. Ngày nay, hầu hết các hệ thống phát hiện đột
nhập mạng (NIDS) có hỗ trợ các giải pháp để ghi nhật ký lưu lượng mạng (historical
network flows). Tuy nhiên, giải pháp này rất tốn kém, hiệu quả hạn chế và thiếu tính
linh hoạt. Các mô hình phát hiện đột nhập hiện đại thường sử dụng một hệ quản trị cơ
sở dữ liệu quan hệ (RDBMS) chuyên biệt để ghi lại dữ liệu lịch sử (historical flow),
giúp hệ thống NIDS có thể tập trung toàn bộ tài nguyên cho việc phát hiện xâm nhập.
Cơ chế hoạt động của mô hình phát hiện đột nhập mạng có thể được hình dung như
sau: NIDS nhận được luồng dữ liệu mạng từ các bộ định tuyến nội bộ (internal routers)
của doanh nghiệp, xử lý chúng và sinh ra cảnh báo. Trong quá trình đó, các dữ liệu
tóm tắt về lịch sử phát hiện vẫn được duy trì ghi vào cơ sở dữ liệu để phục vụ cho quá
trình phân tích (forensic analysis) sau này.
1.3.1.2. Các kỹ thuật sử dụng trong phát hiện tấn công, đột nhập mạng
có những hành động ngăn chặn xâm nhập. Một trong những ứng dụng hiệu quả của
đối sánh chuỗi trong phát hiện đột nhập là kỹ thuật phân tích sâu gói tin (DPI –
Deep Packet Inspection).
1.3.2. Giới thiệu một số hệ thống phát hiện tấn công, đột nhập mạng
Để phát hiện những cuộc tấn công/đột nhập mạng trái phép và kịp thời có những
hành động ngăn chặn, một trong những giải pháp hữu hiệu là sử dụng hệ thống phát
hiện xâm nhập mạng (NIDS). Trong rất nhiều hệ IDS chuyên dụng, chúng ta có thể kể
đến một số hệ thống phát hiện đột nhập nổi tiếng như Snort, Bro và Suricata.
a. Snort
Snort là một hệ thống phát hiện đột nhập mạng (NIDS) được tạo ra bởi Martin
Roesch vào năm 1998. Snort được phát triển dưới dạng phần mềm mã nguồn mở, có
khả năng thực hiện phân tích lưu lượng mạng trong thời gian thực và ghi nhật ký các
gói tin IP. Với các tính năng phân tích giao thức, tìm kiếm nội dung, Snort có thể được
sử dụng để phát hiện các cuộc thăm dò và tấn công mạng. Chi tiết về Snort sẽ được
trình bày trong chương 3.
b. Bro
Bro là hệ thống NIDS mã nguồn mở, dựa trên Unix. Nó giám sát lưu lượng mạng ở
chế độ thụ động (passively) và tìm kiếm những hành vi đáng ngờ. Bro được phát triển
bởi Vern Paxson (trong nhóm nghiên cứu mạng tại Lawrence Berkley National Lab)
và viện khoa học máy tính quốc gia vào năm 1998. Bro có khả năng thực hiện phân
tích nhiều lớp (multi-layer), giám sát hành vi, thực thi chính sách an ninh, phát hiện
xâm nhập và ghi nhật ký các hoạt động mạng. Bro phát hiện đột nhập trước tiên dựa
trên sự phân tích lưu lượng mạng để rút ra ngữ nghĩa ở mức ứng dụng (application-
ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC CHƯƠNG 1
VŨ DUY KHÁNH – D09HTTT3 15
level semantic). Sau đó, so sánh hành vi với các mẫu nghi ngờ. Bro cho phép phát hiện
các cuộc tấn công và các hành vi bất thường bên trong hệ thống (chẳng hạn, máy tính
giải pháp phát hiện tấn công/đột nhập, chương chú trọng vào các giải pháp phát hiện
tấn công/đột nhập mạng.
Đối với bài toán được giải quyết trong đồ án, chương đưa ra hướng tiếp cận về phát
hiện đột nhập mạng dựa trên kỹ thuật đối sánh chuỗi hiệu năng cao, giúp giảm thời
gian xử lý gói tin, tránh tình trạng “nghẽn cổ chai” khi lưu lượng mạng tăng cao. Chi
tiết về các giải thuật đối sánh chuỗi sẽ được trình bày ở chương tiếp theo.