Tải bản đầy đủ (.doc) (94 trang)

Tìm hiểu về các phần mềm phát hiện và phòng chống xâm nhập trái phép

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 (711.88 KB, 94 trang )

Tìm hiểu về các phần mềm phát hiện và phòng chống xâm nhập trái phép
MỤC LỤC
DANH MỤC CÁC HÌNH VẼ 3
LỜI MỞ ĐẦU 4
Chương I 6
Lý thuyết cơ sở về hệ thống phát hiện và phòng chống xâm nhập trái phép (IPS/IDS) 6
1.1. IDS là gì? 6
1.1.1. Sự ra đời của IDS 6
1.1.2. Dự báo về tương lai của IDS 6
1.1.3. Định nghĩa 7
Hình 1.1. Mô hình hoạt động của một hệ thống IDS 8
1.2.4. Phân loại 9
Hình 1.2. Ví dụ về một NIDS phát hiện các dạng tấn công cơ bản 9
Hình 1.3. Mô hình hệ thống NIDS 10
Hình 1.4. Ví dụ về HIDS hoạt động phát hiện các tấn công tới máy chủ 11
Hình 1.5. Mô hình hệ thống HIDS 11
1.2.5. Các kỹ thuật xử lý dữ liệu được sử dụng trong các hệ thống phát hiện xâm nhập
11
1.2. IPS là gì? 14
1.2.1. Lý do sử dụng IPS 14
Định nghĩa 15
1.2.2. Phân loại 15
1.2.3. Kiến trúc chung của hệ thống IPS 15
1.2.4. So sánh IPS và IDS 17
1.3. IDS/IPS là gì? 18
1.3.1. Tại sao phải có IDS/IPS? 18
1.3.2. Hoạt động 18
Chương II 19
Giới thiệu tổng quan về các phần mềm phát hiện và phòng chống xâm nhập trái phép
(IPS/IDS) 19
2.1. Phần mềm Snort 19


2.1.1. NIDS - Network Instrusion Detection System là gì ? 20
2.1.2. Tại sao Snort là một NIDS ? 21
2.1.3. Các chế độ hoạt động của Snort 21
2.1.4. Kiến trúc của Snort 22
2.1.5. Cài đặt, cấu hình phần mềm Snort 26
2.2. Phần mềm OSSEC 30
2.2.1. Xem xét IDS trên một khía cạnh khác 30
2.2.2. Phát hiện xâm nhập dựa vào máy chủ 31
Hình 2.1. Ví dụ về một hàm băm mã hoá được tạo ra từ đầu vào khác nhau 32
2.3. Giới thiệu về OSSEC 33
2.4. Triển khai 34
2.4.1. Cài đặt nội bộ 35
Hình 2.2. Cấu hình cài đặt nội bộ 36
2.4.2. Cài đặt agent 36
2.4.3. Cài đặt server 36
Hình 2.3. Cài đặt agent/server 36
2.4.4. Kiểu nào tốt đối với chúng ta? 37
Bảng 2.1. Những định hướng về cài đặt 38
2.4.5. Định dạng những vấn đề liên quan trước khi cài đặt OSSEC 38
1
Tìm hiểu về các phần mềm phát hiện và phòng chống xâm nhập trái phép
2.5. Những chú ý đặc biệt 39
2.5.1. Microsoft Windows 39
2.5.2. Sun Solaris 39
2.5.3. Ubuntu Linux 39
2.5.4. Mac OS X 40
2.5. So sánh các phần mềm: Snort và OSSEC 40
2.5.1. Ưu nhược điểm của Snort và OSSEC 40
2.5.2. Sự khác nhau giữa OSSEC và Snort 42
Chương III 43

Phần mềm Snort: cài đặt, cấu hình và quản trị 43
3.1. Chuẩn bị cài đặt Snort 43
3.2. Cài đặt Snort 44
3.2.1. Cài đặt Snort từ gói RPM 44
3.2.2. Cài đặt Snort từ source code 45
Bảng 3.1. Các tham số dòng lệnh dùng chung với configure 51
3.2.3.Lỗi trong khi cài đặt Snort 58
3.2.4.Kiểm tra Snort 59
3.2.5. Chạy Snort trên một giao diện không mặc định 71
3.2.6.Tự động startup và shutdown 71
3.3. Snort trên nhiều giao diện mạng 73
Hình 3.1.Hoạt động của 2 thư mục log trong Snort 74
3.4. Lựa chọn lệnh cho Snort 74
Bảng 3.2. Bảng liệt kê các lựa chọn thường dùng 75
3.5. Hướng dẫn từng bước cách biên dịch và cài đặt Snort từ mã nguồn 75
3.6.Vị trí tập tin Snort 76
3.7.Các chế độ Snort 77
3.7.1.Network Sniffer Mode (chế độ bắt gói trong mạng) 77
3.7.2.Chế độ phát hiện xâm nhập mạng (NIDS) 87
3.8.Chế độ cảnh báo Snort 87
3.8.1.Chế độ Fast 88
3.8.2. Chế độ Full 89
3.8.3.Chế độ UNIX Socket 89
3.8.4.Chế độ No Alert 90
3.8.5.Gửi cảnh báo vào Syslog 90
3.8.6.Gửi cảnh báo đến SNMP 90
3.8.7.Gửi cảnh báo đến Windows 90
3.9. Chạy Snort trong chế độ Stealth 92
Hình 3.2. Chạy Snort trên một giao diện mạng 93
Kết luận chung 93

Tài liệu tham khảo 94
2
Tìm hiểu về các phần mềm phát hiện và phòng chống xâm nhập trái phép
DANH MỤC CÁC HÌNH VẼ
DANH MỤC CÁC HÌNH VẼ 3
LỜI MỞ ĐẦU 4
Chương I 6
Lý thuyết cơ sở về hệ thống phát hiện và phòng chống xâm nhập trái phép (IPS/IDS) 6
Hình 1.1. Mô hình hoạt động của một hệ thống IDS 8
Hình 1.2. Ví dụ về một NIDS phát hiện các dạng tấn công cơ bản 9
Hình 1.3. Mô hình hệ thống NIDS 10
Hình 1.4. Ví dụ về HIDS hoạt động phát hiện các tấn công tới máy chủ 11
Hình 1.5. Mô hình hệ thống HIDS 11
Chương II 19
Giới thiệu tổng quan về các phần mềm phát hiện và phòng chống xâm nhập trái phép
(IPS/IDS) 19
Hình 2.1. Ví dụ về một hàm băm mã hoá được tạo ra từ đầu vào khác nhau 32
Hình 2.2. Cấu hình cài đặt nội bộ 36
Hình 2.3. Cài đặt agent/server 36
Bảng 2.1. Những định hướng về cài đặt 38
Chương III 43
Phần mềm Snort: cài đặt, cấu hình và quản trị 43
Bảng 3.1. Các tham số dòng lệnh dùng chung với configure 51
Hình 3.1.Hoạt động của 2 thư mục log trong Snort 74
Bảng 3.2. Bảng liệt kê các lựa chọn thường dùng 75
Hình 3.2. Chạy Snort trên một giao diện mạng 93
Kết luận chung 93
Tài liệu tham khảo 94
3
Tìm hiểu về các phần mềm phát hiện và phòng chống xâm nhập trái phép

LỜI MỞ ĐẦU
Ngày này, vấn đề bảo mật trong cuộc sống nói chung cũng như trong lĩnh vực
công nghệ thông tin nói riêng đã nhận được rất nhiều sự quan tâm của mọi tầng lớp
trong xã hội. Tại sao lại như vậy, như chúng ta thấy, muốn vào nhà một người quen,
bạn phái gọi cửa hoặc bấm chuông, nếu có người ở nhà thì mới ra mở cửa cho bạn và
mời bạn vào nhà. Nhưng trong trường hợp bạn là kẻ xấu, muốn xâm nhập vào căn nhà
đó vì mục đích riêng, thì khi bạn biết chắc trong nhà không có ai, đây sẽ là cơ hội hiếm
có. Tuy nhiên, nếu như nhà đó có nuôi chó giữ nhà hay bất kể một hình thức chống
trộm nào mà bạn chưa tính đến thì coi như cuộc “viếng thăm”của bạn thất bại, không
may nữa là còn thất bại một cách rất nặng nề nếu như bị phát hiện. Chính kịch bản
chống trộm này cũng đã được ứng dụng khá linh hoạt trong lĩnh vực công nghệ thông
tin nói chung, đặc biệt là nghành an toàn thông tin nói riêng.
Vậy thì điều này được ứng dụng như thế nào? Một hệ thống mạng hay hệ điều
hành cá nhân cũng giống như một ngôi nhà mà chúng ta cần phải bảo vệ nó, thực ra là
bảo vệ những gì có trong đó, chính là những tài nguyên dữ liệu quan trọng với bản
thân chủ nhân của máy và của nhiều người khác nữa. Chúng ta cần có một tài khoản
máy với user name và password là cách cơ bản nhất, cũng giống như trong nhà luôn có
người vậy. Sau đó là hệ thống tường lửa của hệ thống, cũng giống như hệ thống cửa
khóa của căn nhà. Hệ thống tường lửa càng phức tạp thì càng gây khó khăn cho kẻ
muốn xâm phạm nó, nhưng chúng ta cần lưu ý là nếu như phức tạp quá thì sẽ có lúc
chính “chủ nhà” lại là nạn nhân trực tiếp của hệ thống này. Và cuối cũng là hệ thống
phát hiện và phòng chống xâm phạm trái phép (IDS/IPS- Intrusion Detection System /
Intrusion Prevention System). Có thế nói đây là hệ thống “chống trộm” cho toàn hệ
thống mà tính chất bao quát, bởi vì đây chính là vòng bảo mật ngoài cùng, đối mặt trực
tiếp với kẻ tấn công. Nếu như hệ thống IDS/IPS này càng mạnh thì sẽ làm tê liệt mọi
hành động của kẻ tấn công ngay từ đầu. Tuy nhiên là được điều này đâu phải dễ dàng
gì, bởi vì những kẻ tấn công thì ngày càng mưu mô, hiểm độc và tinh ranh hơn về
công cụ và cách thức, còn hệ thống của chúng ta thì chỉ có thể phân tích dựa vào
những gì đã xảy ra. Vì thế mà các chuyên gia trong lĩnh vực này không ngừng nâng
cao tính năng, phương thức và phạm vi của chúng nhằm đáp ứng nhu cầu của đông

đảo người dùng trong mọi lĩnh vực. Xuất phát từ tính cấp thiết của hệ thống IDS/IPS,
em quyết định lựa chọn đề tài: “Tìm hiểu về các phần mềm phát hiện và phòng
chống xâm nhập trái phép hiện nay- IDS/IPS” cho đề tài thực tập của mình.
Báo cáo thực tập của em bao gồm 3 chương chính, phần kết luận và phần tài liệu
tham khảo:
Chương I: Lý thuyết cơ sở về hệ thống phát hiện và phòng chống xâm nhập
trái phép (IPS/IDS- Intrusion Detection System / Intrusion Prevention System)
cho bạn đọc một cái nhìn thực sự khái quát nhất về từng bộ phận riêng rẽ, tách rời
trong hệ thống IDS/IPS. Đây chính là nền tảng mang tính chất cực kỳ cơ bản nhưng rất
quan trọng về những khái niệm, những cách thức, những kiểu loại về hệ thống
4
Tìm hiểu về các phần mềm phát hiện và phòng chống xâm nhập trái phép
IDS/IPS đơn giản nhất. Chương I chính là tiền đề, những hiểu biết nhất định để chúng
ta có thể đi vào tìm hiểu các phần mềm phát hiện và phòng chống xâm nhập trái phép
đang được sử dụng hiện nay.
Chương II: Giới thiệu tổng quan về các phần mềm phát hiện và phòng chống
xâm nhập trái phép (IPS/IDS) chỉ rõ hai công cụ nổi bật trong các công cụ dùng để
phát hiện và phòng chống xâm nhập trái phép ngày nay đang được sử dụng phổ biến.
Hai công cụ này mạnh nhất, nổi bật trong hai khía cạnh khác nhau về cách thức sử
dụng, phạm vi và mục đích sử dụng. Đó là phần mềm SNORT, và phần mềm OSSEC.
Chương II này sẽ đưa ra cho chúng ta những hiểu biết cơ bản nhất về hai phần mềm
này, chứ chưa hề đi vào chi tiết để cài đặt, cấu hình hay quản trị.
Chương III:. Phần mềm Snort: cài đặt, cấu hình và quản trị cung cấp cho
chúng ta cách thức sử dụng cụ thể phần mềm SNORT- một công cụ mạnh nhất, được
sử dụng và đánh giá cao nhất. Chúng ta có thể thao tác để làm quen với phần mềm
bằng cách cài đặt nó, có thể biết được hoạt động của nó bằng cách cầu hình nó, và có
thể làm “ông chủ” của nó bằng cách quản trị nó.
Phần kết luận
Phần tài liệu tham khảo
5

Tìm hiểu về các phần mềm phát hiện và phòng chống xâm nhập trái phép
Chương I
Lý thuyết cơ sở về hệ thống phát hiện và phòng chống xâm
nhập trái phép (IPS/IDS)
1.1. IDS là gì?
1.1.1. Sự ra đời của IDS
Cách đây khoảng 25 năm, khái niệm phát hiện xâm nhập xuất hiện qua một bài
báo của James Anderson. Khi đó người ta cần IDS với mục đích là dò tìm và nghiên
cứu các hành vi bất thường và thái độ của người sử dụng trong mạng, phát hiện ra các
việc lạm dụng đặc quyền để giám sát tài sản hệ thống mạng.
Các nghiên cứu về hệ thống phát hiện xâm nhập được nghiên cứu chính thức từ
năm 1983 đến năm 1988 trước khi được sử dụng tại mạng máy tính của không lực Hoa
Kỳ. Cho đến tận năm 1996, các khái niệm IDS vẫn chưa được phổ biến, một số hệ
thống IDS chỉ được xuất hiện trong các phòng thí nghiệm và viện nghiên cứu. Tuy
nhiên trong thời gian này, một số công nghệ IDS bắt đầu phát triển dựa trên sự bùng
nổ của công nghệ thông tin.
Đến năm 1997 IDS mới được biết đến rộng rãi và thực sự đem lại lợi nhuận với sự
đi đầu của công ty ISS, một năm sau đó, Cisco nhận ra tầm quan trọng của IDS và đã
mua lại một công ty cung cấp giải pháp IDS tên là Wheel.
1.1.2. Dự báo về tương lai của IDS
Vào năm 2003, Gartner- một công ty hàng đầu trong lĩnh vực nghiên cứu và phân
tích thị trường công nghệ thông tin trên toàn cầu- đã đưa ra một dự đoán gây chấn
động trong lĩnh vực an toàn thông tin : “Hệ thống phát hiện xâm nhập (IDS) sẽ không
còn nữa vào năm 2005”.
Phát biểu này của xuất phát từ một số kết quả phân tích và đánh giá cho thấy hệ
thống IDS khi đó đang đối mặt với các vấn đề sau:
- IDS thường xuyên đưa ra rất nhiều báo động giả (False Positives).
- Là gánh nặng cho quản trị an ninh hệ thống bởi nó cần được theo dõi liên tục (24
giờ trong suốt cả 365 ngày của năm).
- Kèm theo các cảnh báo tấn công là một quy trình xử lý an ninh rất vất vả.

6
Tìm hiểu về các phần mềm phát hiện và phòng chống xâm nhập trái phép
- Không có khả năng theo dõi các luồng dữ liệu được truyền với tốc độ lớn hơn
600 Megabit trên giây.
Nhìn chung Gartner đưa ra nhận xét này dựa trên nhiều phản ánh của những khách
hàng đang sử dụng IDS rằng quản trị và vận hành hệ thống IDS là rất khó khăn, tốn
kém và không đem lại hiệu quả tương xứng so với đầu tư.
Sau khi phát biểu này được đưa ra, một số ý kiến phản đối cho rằng, việc hệ thống
IDS không đem lại hiệu quả như mong muốn là do các vấn đề còn tồn tại trong việc
quản lý và vận hành chứ không phải do bản chất công nghệ kiểm soát và phân tích gói
tin của IDS. Cụ thể, để cho một hệ thống IDS hoạt động hiệu quả, vai trò của các công
cụ, con người quản trị là rất quan trọng, cần phải đáp ứng được các tiêu chí sau:
- Thu thập và đánh giá tương quan tất cả các sự kiện an ninh được phát hiện bởi các
IDS, tường lửa để tránh các báo động giả.
- Các thành phần quản trị phải tự động hoạt động và phân tích.
- Kết hợp với các biện pháp ngăn chặn tự động
Kết quả là tới năm 2005, thế hệ sau của IDS-hệ thống tự động phát hiện và ngăn
chặn xâm nhập IPS- đã dần khắc phục được các mặt còn hạn chế của IDS và hoạt động
hiệu quả hơn nhiều so với thế hệ trước đó.
1.1.3. Định nghĩa
IDS (Intrusion Detection System- hệ thống phát hiện xâm nhập) là một thống giám
sát lưu thông mạng, các hoạt động khả nghi và cảnh báo cho hệ thống, nhà quản trị.
Ngoài ra IDS cũng đảm nhận việc phản ứng lại với các lưu thông bất thường hay có
hại bằng cách hành động đã được thiết lập trước như khóa người dùng hay địa chỉ IP
nguồn đó truy cập hệ thống mạng ,…
IDS cũng có thể phân biệt giữa những tấn công bên trong từ bên trong (từ những
người trong công ty) hay tấn công từ bên ngoài (từ các hacker). IDS phát hiện dựa trên
các dấu hiệu đặc biệt về các nguy cơ đã biết (giống như cách các phần mềm diệt virus
dựa vào các dấu hiệu đặc biệt để phát hiện và diệt virus) hay dựa trên so sánh lưu
thông mạng hiện tại với baseline (thông số đo đạc chuẩn của hệ thống) để tìm ra các

dấu hiệu khác thường.
*Chức năng quan trọng nhất : giám sát - cảnh báo - bảo vệ
Giám sát : lưu lượng mạng + các hoạt động khả nghi.
Cảnh báo : báo cáo về tình trạng mạng cho hệ thống + nhà quản trị.
Bảo vệ : Dùng những thiết lập mặc định và sự cấu hình từ nhà quản trị mà có những
hành động thiết thực chống lại kẻ xâm nhập và phá hoại.
*Chức năng mở rộng :
Phân biệt : "thù trong giặc ngoài".
Phát hiện : những dấu hiệu bất thường dựa trên những gì đã biết hoặc nhờ vào sự so
sánh thông lượng mạng hiện tại với baseline.
7
Tìm hiểu về các phần mềm phát hiện và phòng chống xâm nhập trái phép
Hình 1.1. Mô hình hoạt động của một hệ thống IDS
Bộ cảm biến được tích hợp với thành phần sưu tập dữ liệu (Hình 4) – một bộ tạo
sự kiện. Cách sưu tập này được xác định bởi chính sách tạo sự kiện để định nghĩa chế
độ lọc thông tin sự kiện. Bộ tạo sự kiện (hệ điều hành, mạng, ứng dụng) cung cấp một
số chính sách thích hợp cho các sự kiện, có thể là một bản ghi các sự kiện của hệ thống
hoặc các gói mạng. Số chính sách này cùng với thông tin chính sách có thể được lưu
trong hệ thống được bảo vệ hoặc bên ngoài. Trong trường hợp nào đó, ví dụ, khi luồng
dữ liệu sự kiện được truyền tải trực tiếp đến bộ phân tích mà không có sự lưu dữ liệu
nào được thực hiện. Điều này cũng liên quan một chút nào đó đến các gói mạng.
Vai trò của bộ cảm biến là dùng để lọc thông tin và loại bỏ dữ liệu không tương
thích đạt được từ các sự kiện liên quan với hệ thống bảo vệ, vì vậy có thể phát hiện
được các hành động nghi ngờ. Bộ phân tích sử dụng cơ sở dữ liệu chính sách phát hiện
cho mục này. Ngoài ra còn có các thành phần: dấu hiệu tấn công, profile hành vi thông
thường, các tham số cần thiết (ví dụ: các ngưỡng). Thêm vào đó, cơ sở dữ liệu giữ các
tham số cấu hình, gồm có các chế độ truyền thông với module đáp trả. Bộ cảm biến
cũng có cơ sở dữ liệu của riêng nó, gồm dữ liệu lưu về các xâm phạm phức tạp tiềm ẩn
(tạo ra từ nhiều hành động khác nhau).
IDS có thể được sắp đặt tập trung (ví dụ như được tích hợp vào trong tường lửa)

hoặc phân tán. Một IDS phân tán gồm nhiều IDS khác nhau trên một mạng lớn, tất cả
chúng truyền thông với nhau. Nhiều hệ thống tinh vi đi theo nguyên lý cấu trúc một
tác nhân, nơi các module nhỏ được tổ chức trên một host trong mạng được bảo vệ.
Vai trò của tác nhân là để kiểm tra và lọc tất cả các hành động bên trong vùng
được bảo vệ và phụ thuộc vào phương pháp được đưa ra – tạo phân tích bước đầu và
thậm chí đảm trách cả hành động đáp trả. Mạng các tác nhân hợp tác báo cáo đến máy
chủ phân tích trung tâm là một trong những thành phần quan trọng của IDS. DIDS có
thể sử dụng nhiều công cụ phân tích tinh vi hơn, đặc biệt được trang bị sự phát hiện
các tấn công phân tán. Các vai trò khác của tác nhân liên quan đến khả năng lưu động
và tính roaming của nó trong các vị trí vật lý. Thêm vào đó, các tác nhân có thể đặc
biệt dành cho việc phát hiện dấu hiệu tấn công đã biết nào đó. Đây là một hệ số quyết
định khi nói đến nghĩa bảo vệ liên quan đến các kiểu tấn công mới. Các giải pháp dựa
8
Tìm hiểu về các phần mềm phát hiện và phòng chống xâm nhập trái phép
trên tác nhân IDS cũng sử dụng các cơ chế ít phức tạp hơn cho việc nâng cấp chính
sách đáp trả.
Giải pháp kiến trúc đa tác nhân được đưa ra năm 1994 là AAFID (các tác nhân tự
trị cho việc phát hiện xâm phạm) – xem hình 5. Nó sử dụng các tác nhân để kiểm tra
một khía cạnh nào đó về các hành vi hệ thống ở một thời điểm nào đó. Ví dụ: một tác
nhân có thể cho biết một số không bình thường các telnet session bên trong hệ thống
nó kiểm tra. Tác nhân có khả năng đưa ra một cảnh báo khi phát hiện một sự kiện khả
nghi. Các tác nhân có thể được nhái và thay đổi bên trong các hệ thống khác (tính năng
tự trị). Một phần trong các tác nhân, hệ thống có thể có các bộ phận thu phát để kiểm
tra tất cả các hành động được kiểm soát bởi các tác nhân ở một host cụ thể nào đó. Các
bộ thu nhận luôn luôn gửi các kết quả hoạt động của chúng đến bộ kiểm tra duy nhất.
Các bộ kiểm tra nhận thông tin từ các mạng (không chủ từ một host), điều đó có nghĩa
là chúng có thể tương quan với thông tin phân tán. Thêm vào đó, một số bộ lọc có thể
được đưa ra để chọn lọc và thu thập dữ liệu.
1.2.4. Phân loại
Có 2 loại IDS là Network Based IDS (NIDS) và Host Based IDS (HIDS):

1.1.4.1. NIDS
Được đặt giữa kết nối hệ thống mạng bên trong và mạng bên ngoài để giám sát toàn bộ
lưu lượng vào ra.
Hoạt động: Một Network-Based IDS sẽ kiểm tra các giao tiếp trên mạng với thời gian
thực (real-time). Nó kiểm tra các giao tiếp, quét header của các gói tin, và có thể kiểm
tra nội dung của các gói đó để phát hiện ra các đoạn mã nguy hiểm hay các dạng tấn
công khác nhau. Một Network-Based IDS hoạt động tin cậy trong việc kiểm tra, phát
hiện các dạng tấn công trên mạng, ví dụ như dựa vào băng thông (bandwidth-based)
của tấn công Denied of Service (DoS).
Hình 1.2. Ví dụ về một NIDS phát hiện các dạng tấn công cơ bản
Có thể là một thiết bị phần cứng riêng biệt được thiết lập sẵn hay phần mềm cài đặt
trên máy tính. Chủ yếu dùng để đo lưu lượng mạng được sử dụng.Tuy nhiên có thể
xảy ra hiện tượng nghẽn cổ chai khi lưu lượng mạng hoạt động ở mức cao.
- Ví trí : mạng bên trong NIDS mạng bên ngoài.
9
Tìm hiểu về các phần mềm phát hiện và phòng chống xâm nhập trái phép
- Loại : hardware (phần cứng) hoặc software (phần mềm)
- Nhiệm vụ : chủ yếu giám sát lưu lượng ra vào mạng.
- Nhược điểm : Có thể xảy ra hiện tượng nghẽn khi lưu lượng mạng hoạt động
ờ mức cao.
Hình 1.3. Mô hình hệ thống NIDS
1.1.4.2. HIDS
Được cài đặt cục bộ trên một máy tính làm cho nó trở nên linh hoạt hơn nhiều so
với NIDS. Kiểm soát lưu lượng vào ra trên một máy tính, có thể được triển khai trên
nhiều máy tính trong hệ thống mạng. HIDS có thể được cài đặt trên nhiều dạng máy
tính khác nhau cụ thể như các máy chủ, máy trạm, máy tính xách tay. HIDS cho phép
bạn thực hiện một cách linh hoạt trong các đoạn mạng mà NIDS không thể thực hiện
được. Lưu lượng đã gửi tới máy tính HIDS được phân tích và chuyển qua nếu chúng
không chứa mã nguy hiểm.
Hoạt động: Một Host-Based IDS chỉ làm nhiệm vụ giám sát và gi lại log cho một

máy chủ (host-system). Đây là dạng IDS với giới hạn chỉ giám sát và ghi lại toàn bộ
những khả năng của host-system (nó bao gồm cả hệ điều hành và các ứng dụng cũng
như toàn bộ service của máy chủ đó). A Host-Based IDS có khả năng phát hiện các
vấn đề nếu các thông tin về máy chủ đó được giám sát và ghi lại. Là thiết bị bảo mật
cho phát hiện các tấn công trực tiếp tới một máy chủ.
10
Tìm hiểu về các phần mềm phát hiện và phòng chống xâm nhập trái phép
Hình 1.4. Ví dụ về HIDS hoạt động phát hiện các tấn công tới máy chủ
HIDS được thiết kế hoạt động chủ yếu trên hệ điều hành Windows , mặc dù vậy vẫn
có các sản phẩm hoạt động trong nền ứng dụng UNIX và nhiều hệ điều hành khác.
+ Ví trí : cài đặt cục bộ trên máy tính và dạng máy tính => linh hoạt hơn NIDS.
+ Loại : software.
+ Nhiệm vụ : phân tích lưu lượng ra vào mạng chuyển tới máy tính cài đặt HIDS.
+ Ưu điểm : Cài đặt trên nhiều dạng máy tính : xách tay, PC,máy chủ Phân tích lưu
lượng mạng rồi mới forward.
+Nhược điểm : Đa số chạy trên hệ điều hành Window. Tuy nhiên cũng đã có 1 số chạy
được trên Unix và những hệ điều hành khác.
Hình 1.5. Mô hình hệ thống HIDS
1.2.5. Các kỹ thuật xử lý dữ liệu được sử dụng trong các hệ thống phát hiện xâm nhập
Phụ thuộc vào kiểu phương pháp được sử dụng để phát hiện xâm nhập, các cơ chế
xử lý khác nhau (kỹ thuật) cũng được sử dụng cho dữ liệu đối với một IDS. Dưới đây
là một số hệ thống được mô tả vắn tắt:
11
Tìm hiểu về các phần mềm phát hiện và phòng chống xâm nhập trái phép
- Hệ thống Expert, hệ thống này làm việc trên một tập các nguyên tắc đã được định
nghĩa từ trước để miêu tả các tấn công. Tất cả các sự kiện có liên quan đến bảo mật
đều được kết hợp vào cuộc kiểm định và được dịch dưới dạng nguyên tắc if-then-else.
Lấy ví dụ Wisdom & Sense và ComputerWatch (được phát triển tại AT&T).
- Phân tích dấu hiệu giống như phương pháp hệ thống Expert, phương pháp này dựa
trên những hiểu biết về tấn công. Chúng biến đổi sự mô tả về ngữ nghĩa từ của mỗi tấn

công thành định dạng kiểm định thích hợp. Như vậy, dấu hiệu tấn công có thể được
tìm thấy trong các bản ghi hoặc đầu vào của luồng dữ liệu theo một cách dễ hiểu. Một
kịch bản tấn công có thể được mô tả, ví dụ như một chuỗi sự kiện kiểm định đối với
các tấn công hoặc mẫu dữ liệu có thể tìm kiếm đã lấy được trong cuộc kiểm định.
Phương pháp này sử dụng các từ tương đương trừu tượng của dữ liệu kiểm định. Sự
phát hiện được thực hiện bằng cách sử dụng chuỗi văn bản chung hợp với các cơ chế.
Điển hình, nó là một kỹ thuật rất mạnh và thường được sử dụng trong các hệ thống
thương mại (ví dụ như Stalker, Real Secure, NetRanger, Emerald eXpert-BSM).
- Phương pháp Colored Petri Nets thường được sử dụng để tổng quát hóa các tấn
công từ những hiểu biết cơ bản và để thể hiện các tấn công theo đồ họa. Hệ thống
IDIOT của đại học Purdue sử dụng Colored Petri Nets. Với kỹ thuật này, các quản trị
viên sẽ dễ dàng hơn trong việc bổ sung thêm dấu hiệu mới. Mặc dù vậy, việc làm cho
hợp một dấu hiệu phức tạp với dữ liệu kiểm định là một vấn đề gây tốn nhiều thời
gian. Kỹ thuật này không được sử dụng trong các hệ thống thương mại.
- Phân tích trạng thái phiên, một tấn công được miêu tả bằng một tập các mục tiêu
và phiên cần được thực hiện bởi một kẻ xâm nhập để gây tổn hại hệ thống. Các phiên
được trình bày trong sơ đồ trạng thái phiên.
- Phương pháp phân tích thống kê, đây là phương pháp thường được sử dụng. Hành
vi người dùng hoặc hệ thống (tập các thuộc tính) được tính theo một số biến thời gian.
Ví dụ, các biến như là: đăng nhập người dùng, đăng xuất, số file truy nhập trong một
chu kỳ thời gian, hiệu suất sử dụng không gian đĩa, bộ nhớ, CPU,… Chu kỳ nâng cấp
có thể thay đổi từ một vài phút đến một tháng. Hệ thống lưu giá trị có nghĩa cho mỗi
biến được sử dụng để phát hiện sự vượt quá ngưỡng được định nghĩa từ trước. Ngay cả
phương pháp đơn giản này cũng không thế hợp được với mô hình hành vi người dùng
điển hình. Các phương pháp dựa vào việc làm tương quan profile người dùng riêng lẻ
với các biến nhóm đã được gộp lại cũng ít có hiệu quả.
Vì vậy, một mô hình tinh vi hơn về hành vi người dùng đã được phát triển bằng
cách sử dụng profile người dùng ngắn hạn hoặc dài hạn. Các profile này thường xuyên
được nâng cấp để bắt kịp với thay đổi trong hành vi người dùng. Các phương pháp
thống kê thường được sử dụng trong việc bổ sung trong IDS dựa trên profile hành vi

người dùng thông thường.
- Neural Networks sử dụng các thuật toán đang được nghiên cứu của chúng để nghiên
cứu về mối quan hệ giữa các vector đầu vào - đầu ra và tổng quát hóa chúng để rút ra
mối quan hệ vào/ra mới. Phương pháp neural network được sử dụng cho phát hiện
xâm nhập, mục đích chính là để nghiên cứu hành vi của người tham gia vào mạng
(người dùng hay kẻ xâm phạm). Thực ra các phương pháp thống kê cũng một phần
được coi như neural networks. Sử dụng mạng neural trên thống kê hiện có hoặc tập
trung vào các đơn giản để biểu diễn mối quan hệ không tuyến tính giữa các biến và
trong việc nghiên cứu các mối quan hệ một cách tự động. Các thực nghiệm đã được
tiến hành với sự dự đoán mạng neural về hành vi người dùng. Từ những kết quả cho
12
Tìm hiểu về các phần mềm phát hiện và phòng chống xâm nhập trái phép
thấy rằng các hành vi của siêu người dùng UNIX (root) là có thể dự đoán. Với một số
ít ngoại lệ, hành vi của hầu hết người dùng khác cũng có thể dự đoán. Neural networks
vẫn là một kỹ thuật tính toán mạnh và không được sử dụng rộng rãi trong cộng đồng
phát hiện xâm nhập.
- Phân biệt ý định người dùng. Kỹ thuật này mô hình hóa các hành vi thông thường
của người dùng bằng một tập nhiệm vụ mức cao mà họ có thể thực hiện được trên hệ
thống (liên quan đến chức năng người dùng). Các nhiệm vụ đó thường cần đến một số
hoạt động được điều chỉnh sao cho hợp với dữ liệu kiểm định thích hợp. Bộ phân tích
giữ một tập hợp nhiệm vụ có thể chấp nhận cho mỗi người dùng. Bất cứ khi nào một
sự không hợp lệ được phát hiện thì một cảnh báo sẽ được sinh ra.
- Computer immunology Analogies với sự nghiên cứu miễn dịch được chủ định để
phát triển các kỹ thuật được xây dựng từ mô hình hành vi thông thường trong các dịch
vụ mạng UNIX hơn là người dùng riêng lẻ. Mô hình này gồm có các chuỗi ngắn cuộc
gọi hệ thống được tạo thành bởi các quá trình. Các tấn công khai thác lỗ hổng trong
mã ứng dụng rất có khả năng gây ra đường dẫn thực thi không bình thường. Đầu tiên,
một tập dữ liệu kiểm định tham chiếu được sưu tập để trình bày hành vi hợp lệ của các
dịch vụ, sau đó kiến thức cơ bản được bổ sung thêm với tất cả các chuỗi được biết rõ
về cuộc gọi hệ thống. Các mẫu đó sau đó được sử dụng cho việc kiểm tra liên tục các

cuộc gọi hệ thống, để xem chuỗi được tạo ra đã được liệt kê trong cơ sở kiến thức
chưa; nếu không, một báo cảnh sẽ được tạo ra. Kỹ thuật này có tỉ lệ báo cảnh sai rất
thấp. Trở ngại của nó là sự bất lực trong việc phát hiện lỗi trong cấu hình dịch vụ
mạng.
- Machine learning (nghiên cứu cơ chế). Đây là một kỹ thuật thông minh nhân tạo, nó
lưu luồng lệnh đầu ra người dùng vào các biểu mẫu vector và sử dụng như một tham
chiếu của profile hành vi người dùng thông thường. Các profile sau đó được nhóm vào
trong một thư viện lệnh người dùng có các thành phần chung nào đó.
- Việc tối thiểu hóa dữ liệu thường phải dùng đến một số kỹ thuật sử dụng quá trình
trích dữ liệu chưa biết nhưng có khả năng hữu dụng trước đó từ những vị trí dữ liệu
được lưu trữ với số lượng lớn. phương pháp tối thiểu dữ liệu này vượt trội hơn đối với
việc sử lý bản ghi hệ thống lớn (dữ liệu kiểm định). Mặc dù vậy, chúng kém hữu dụng
đối với việc phân tích luồng lưu lượng mạng. Một trong những kỹ thuật tối thiểu hóa
dữ liệu cơ bản được sử dụng trong phát hiện xâm nhập được kết hợp với các cây phán
quyết. Các mô hình cây phán quyết cho phép ai đó có thể phát hiện các sự bất thường
trong một cơ sở dữ liệu lớn. Kỹ thuật khác phải dùng đến các đoạn, cho phép trích
mẫu của các tấn công chưa biết. Điều đó được thực hiện bằng việc hợp lệ hóa các mẫu
đã được trích từ một tập kiểm định đơn giản với các mẫu khác được cung cấp cho tấn
công chưa biết đã cất giữ. Một kỹ thuật tối thiểu hóa dữ liệu điển hình được kết hợp
với việc tìm kiếm các nguyên tắc kết hợp. Nó cho phép ai đó có thể trích kiến thức
chưa hiểu trước đó về các tấn công mới hoặc đã xây dựng trên mẫu hành vi thông
thường. Sự phát hiện bất thường thường gây ra các báo cảnh sai. Với việc tối thiểu hóa
dữ liệu, nó dễ dàng tương quan dữ liệu đã liên quan đến các báo cảnh với dữ liệu kiểm
định tối thiểu, do đó giảm đáng kể xác suất báo cảnh sai.
13
Tìm hiểu về các phần mềm phát hiện và phòng chống xâm nhập trái phép
1.2. IPS là gì?
1.2.1. Lý do sử dụng IPS
Trước các hạn chế của hệ thống IDS, nhất là sau khi xuất hiện các cuộc tấn công ồ
ạt trên quy mô lớn như Code Red, NIMDA, SQL Slammer, một vấn đề được đặt ra là

làm sao có thể tự động ngăn chặn được các tấn công chứ không chỉ đưa ra các cảnh
báo nhằm giảm thiểu công việc của người quản trị hệ thống. Hệ thống IPS được ra đời
vào năm 2003 và ngay sau đó, năm 2004 nó được phổ biến rộng rãi.
Kết hợp với việc nâng cấp các thành phần quản trị, hệ thống IPS xuất hiện đã dần
thay thế cho IDS bởi nó giảm bớt được các yêu cầu tác động của con người trong việc
đáp trả lại các nguy cơ phát hiện được, cũng như giảm bớt được phần nào gánh nặng
của việc vận hành. Hơn nữa trong một số trường hợp đặc biệt, một IPS có thể hoạt
động như một IDS bằng việc ngắt bỏ tính năng ngăn chặn xâm nhập. Ngày nay các hệ
thống mạng đều hướng tới sử dụng các giải pháp IPS thay vì hệ thống IDS cũ.
Có 3 lý do để người ta xem xét sử dụng hệ thống ngăn chặn xâm nhập:
- Cung cấp khả năng điều khiển truy cập mạng.
- Tăng mức độ kiểm sóat những gì đang chạy trên mạng (gồm có giám sát, lập hồ
sơ, kiểm tra các điều kiện).
- Được cảnh báo về nguy cơ tấn công và ngăn chặn những cuộc tấn công mạng.
+ Khuynh hướng vĩ mô: phát hiện và ngăn chặn càng nhiều càng tốt, đây là khuynh
hướng của hệ thống phát hiện xâm nhập IDS.
+ Khuynh hướng vi mô: Trước hết là ngăn chặn tất cả các cuộc tấn công có tính chất
nghiêm trọng đối với mạng đang họat động, sau đó là phân tích các điều kiện có thể
xảy ra các cuộc tấn công mới, nhằm mục đích giảm thiểu đến mức tối đa các cuộc tấn
công mạng.
Các hệ thống IPS có thể được triển khai dưới hình thức các Gateway để phát hiện
và ngăn chặn một cách hiệu quả các cuộc tấn công mạng, giảm thiểu thời gian chết của
mạng và các chi phí ảnh hưởng đến hiệu quả họat động của mạng. Các hệ thống này
được triển khai ở những vị trí nằm ngòai phạm vi kiểm sóat của tường lửa, có khả
năng phát hiện các cuộc tấn công một cách chính xác thông qua phân tích lưu lượng
mạng dưới nhiều phương pháp nhằm đi đến kết luận chính xác về mục đích thật sự của
một kết nối đến mạng vì vậy có thể hiểu được đó là một kết nối tin cậy hay là không
tin cậy. Từ việc phân tích trên, hệ thống có thể thực hiện nhiều tác vụ như ghi chép
(tạo thành file nhật ký), cảnh báo, xóa các kết nối không tin cậy từ đó người quản trị
mạng sẽ có những đáp ứng kịp thời với các tình trạng bị tấn công nguy hiểm hoặc là

có các hành động hợp lý đối với từng trường hợp. Ngoài ra các hệ thống IPS còn cung
cấp các công cụ phân tích và điều tra giúp cho người quản trị mạng hiểu được về
những gì đang diễn ra trên mạng và đưa ra các quyết định sáng suốt, góp phần làm
tăng hiệu quả của giải pháp an ninh mạng.
Nhiều hệ thống IPS còn có khả năng triển khai ở chế độ thụ động để thu nhận và
phân tích gói dữ liệu cho phép quản trị mạng có được thông tin về lưu lượng và những
nguy cơ tồn tại trên mạng. Tuy vậy chúng vẫn có thể được chuyển sang chế độ dự
14
Tìm hiểu về các phần mềm phát hiện và phòng chống xâm nhập trái phép
phòng hoặc chế độ gateway ngay khi người quản trị mạng cảm thấy rằng hệ thống
đang bị xâm nhập, tấn công để có thể phản ứng trước các cuộc tấn công, loại bỏ lưu
lượng hoặc các kết nối khả nghi để đảm bảo rằng các cuộc tấn công đó không thể gây
ảnh hưởng đến hệ thống
Định nghĩa
Hệ thống IPS (Intrusion Prevention System) là một kỹ thuật an ninh mới, kết hợp
các ưu điểm của kỹ thuật firewall với hệ thống phát hiện xâm nhập IDS (Intrusion
Detection System), có khả năng phát hiện sự xâm nhập, các cuộc tấn công và tự động
ngăn chặn các cuộc tấn công đó.
IPS không dơn giản chỉ dò các cuộc tấn công, chúng có khả năng ngăn chặn các
cuộc hoặc cản trở các cuộc tấn công đó. Chúng cho phép tổ chức ưu tiên, thực hiện các
bước để ngăn chặn lạI xự xâm nhập. Phần lớn hệ thống IPS được đặt ở vành đai mạng,
dủ khả năng bảo vệ tất cả các thiết bị trong mạng
1.2.2. Phân loại
Có hai kiểu kiến trúc IPS chính là IPS ngoài luồng và IPS trong luồng.
1.2.3.1. IPS ngoài luồng
Hệ thống IPS ngoài luồng không can thiệp trực tiếp vào luồng dữ liệu. Luồng dữ
liệu vào hệ thống mạng sẽ cùng đi qua tường lửa và IPS. IPS có thể kiểm soát luồng
dữ liệu vào, phân tích và phát hiện các dấu hiệu của sự xâm nhập, tấn công. Với vị trí
này, IPS có thể quản lý bức tường lửa, chỉ dẫn nó chặn lại các hành động nghi ngờ mà
không làm ảnh hưởng đến tốc độ lưu thông của mạng.

1.2.3.2. IPS trong luồng
Vị trí IPS nằm trước bức tường lửa, luồng dữ liệu phải đi qua IPS trước khi tới
bức tường lửa. Điểm khác chính so với IPS ngoài luồng là có thêm chức nǎng chặn lưu
thông. Điều đó làm cho IPS có thể ngǎn chặn luồng giao thông nguy hiểm nhanh hơn
so với IPS ngoài luồng. Tuy nhiên, vị trí này sẽ làm cho tốc độ luồng thông tin ra vào
mạng chậm hơn.
1.2.3. Kiến trúc chung của hệ thống IPS
IPS có hai chức nǎng chính là phát hiện các cuộc tấn công và chống lại các cuộc
tấn công đó. Phần lớn hệ thống IPS được đặt ở vành đai mạng, đủ khả nǎng bảo vệ tất
cả các thiết bị trong mạng.
Một hệ thống IPS được xem là thành công nếu chúng hội tụ được các yếu tố: thực
hiện nhanh, chính xác, đưa ra các thông báo hợp lý, phân tích được toàn bộ thông
lượng, cảm biến tối đa, ngǎn chặn thành công và chính sách quản lý mềm dẻo. Hệ
thống IPS gồm 3 modul chính: modul phân tích luồng dữ liệu, modul phát hiện tấn
công, modul phản ứng.
1.2.4.1. Module phân tích luồng dữ liệu
Modul này có nhiệm vụ lấy tất các gói tin đi đến mạng để phân tích. Thông thường
các gói tin có địa chỉ không phải của một card mạng thì sẽ bị card mạng đó huỷ bỏ
15
Tìm hiểu về các phần mềm phát hiện và phòng chống xâm nhập trái phép
nhưng card mạng của IPS được đặt ở chế độ thu nhận tất cả. Tất cả các gói tin qua
chúng đều được sao chụp, xử lý, phân tích đến từng trường thông tin. Bộ phân tích đọc
thông tin từng trường trong gói tin, xác định chúng thuộc kiểu gói tin nào, dịch vụ gì
Các thông tin này được chuyển đến modul phát hiện tấn công.
1.2.4.2.
Modul phát hiện tấn công
Đây là modul quan trọng nhất trong hệ thống có nhiệm vụ phát hiện các cuộc tấn
công. Có hai phương pháp để phát hiện các cuộc tấn công, xâm nhập là dò sự lạm
dụng và dò sự không bình thường.
- Phương pháp dò sự lạm dụng: Phương pháp này phân tích các hoạt động của hệ

thống, tìm kiếm các sự kiện giống với các mẫu tấn công đã biết trước. Các mẫu tấn
công biết trước này gọi là các dấu hiệu tấn công. Do vậy phương pháp này còn được
gọi là phương pháp dò dấu hiệu. Kiểu phát hiện tấn công này có ưu điểm là phát hiện
các cuộc tấn công nhanh và chính xác, không đưa ra các cảnh báo sai làm giảm khả
nǎng hoạt động của mạng và giúp các người quản trị xác định các lỗ hổng bảo mật
trong hệ thống của mình. Tuy nhiên, phương pháp này có nhược điểm là không phát
hiện được các cuộc tấn công không có trong cơ sở dữ liệu, các kiểu tấn công mới, do
vậy hệ thống luôn phải cập nhật các mẫu tấn công mới.
- Phương pháp dò sự không bình thường: Đây là kỹ thuật dò thông minh, nhận dạng ra
các hành động không bình thường của mạng. Quan niệm của phương pháp này về các
cuộc tấn công là khác so với các hoạt động thông thường. Ban đầu, chúng lưu trữ các
mô tả sơ lược về các hoạt động bình thường của hệ thống. Các cuộc tấn công sẽ có
những hành động khác so với bình thường và phương pháp dò này có thể nhận dạng.
Có một số kỹ thuật giúp thực hiện dò sự không bình thường của các cuộc tấn công như
dưới đây:
+ Phát hiện mức ngưỡng: Kỹ thuật này nhấn mạnh việc đo đếm các hoạt động bình
thường trên mạng. Các mức ngưỡng về các hoạt động bình thường được đặt ra. Nếu có
sự bất thường nào đó như đǎng nhập với số lần quá quy định, số lượng các tiến trình
hoạt động trên CPU, số lượng một loại gói tin được gửi vượt quá mức thì hệ thống
có dấu hiệu bị tấn công.
+ Phát hiện nhờ quá trình tự học: Kỹ thuật này bao gồm hai bước. Khi bắt đầu thiết
lập, hệ thống phát hiện tấn công sẽ chạy ở chế độ tự học và tạo ra một hồ sơ về cách
cư xử của mạng với các hoạt động bình thường. Sau thời gian khởi tạo, hệ thống sẽ
chạy ở chế độ làm việc, tiến hành theo dõi, phát hiện các hoạt động bất thường của
mạng bằng cách so sánh với hồ sơ đã thiết lập. Chế độ tự học có thể chạy song song
với chế độ làm việc để cập nhật hồ sơ của mình nhưng nếu dò ra có tín hiệu tấn công
thì chế độ tự học phải dừng lại cho tới khi cuộc tấn công kết thúc.
+ Phát hiện sự không bình thường của các giao thức: Kỹ thuật này cǎn cứ vào hoạt
động của các giao thức, các dịch vụ của hệ thống để tìm ra các gói tin không hợp lệ,
các hoạt động bất thường vốn là dấu hiệu của sự xâm nhập, tấn công. Kỹ thuật này rất

hiệu quả trong việc ngǎn chặn các hình thức quét mạng, quét cổng để thu thập thông
tin của các tin tặc.
16
Tìm hiểu về các phần mềm phát hiện và phòng chống xâm nhập trái phép
Phương pháp dò sự không bình thường của hệ thống rất hữu hiệu trong việc phát
hiện các cuộc tấn công kiểu từ chối dịch vụ. Ưu điểm của phương pháp này là có thể
phát hiện ra các kiểu tấn công mới, cung cấp các thông tin hữu ích bổ sung cho
phương pháp dò sự lạm dụng, tuy nhiên chúng có nhược điểm thường tạo ra một số
lượng các cảnh báo sai làm giảm hiệu suất hoạt động của mạng. Phương pháp này sẽ là
hướng được nghiên cứu nhiều hơn, khắc phục các nhược điểm còn gặp, giảm số lần
cảnh báo sai để hệ thống chạy chuẩn xác hơn.
1.2.4.3.
Modul phản ứng
Khi có dấu hiệu của sự tấn công hoặc thâm nhập, modul phát hiện tấn công sẽ gửi
tín hiệu báo hiệu có sự tấn công hoặc thâm nhập đến modul phản ứng. Lúc đó modul
phản ứng sẽ kích hoạt tường lửa thực hiện chức nǎng ngǎn chặn cuộc tấn công hay
cảnh báo tới người quản trị. Tại modul này, nếu chỉ đưa ra các cảnh báo tới các người
quản trị và dừng lại ở đó thì hệ thống này được gọi là hệ thống phòng thủ bị động.
Modul phản ứng này tùy theo hệ thống mà có các chức nǎng và phương pháp ngǎn
chặn khác nhau. Dưới đây là một số kỹ thuật ngǎn chặn:
- Kết thúc tiến trình: Cơ chế của kỹ thuật này là hệ thống IPS gửi các gói tin nhằm
phá huỷ tiến trình bị nghi ngờ. Tuy nhiên phương pháp này có một số nhược điểm.
Thời gian gửi gói tin can thiệp chậm hơn so với thời điểm tin tặc bắt đầu tấn công, dẫn
đến tình trạng tấn công xong rồi mới bắt đầu can thiệp. Phương pháp này không hiệu
quả với các giao thức hoạt động trên UDP như DNS, ngoài ra các gói tin can thiệp
phải có trường thứ tự đúng như các gói tin trong phiên làm việc của tiến trình tấn
công. Nếu tiến trình tấn công xảy ra nhanh thì rất khó thực hiện được phương pháp
này.
- Huỷ bỏ tấn công: Kỹ thuật này dùng tường lửa để hủy bỏ gói tin hoặc chặn
đường một gói tin đơn, một phiên làm việc hoặc một luồng thông tin tấn công. Kiểu

phản ứng này là an toàn nhất nhưng lại có nhược điểm là dễ nhầm với các gói tin hợp
lệ.
- Thay đổi các chính sách của tường lửa: Kỹ thuật này cho phép người quản trị cấu
hình lại chính sách bảo mật khi cuộc tấn công xảy ra. Sự cấu hình lại là tạm thời thay
đổi các chính sách điều khiển truy nhập bởi người dùng đặc biệt trong khi cảnh báo tới
người quản trị.
- Cảnh báo thời gian thực: Gửi các cảnh báo thời gian thực đến người quản trị để
họ nắm được chi tiết các cuộc tấn công, các đặc điểm và thông tin về chúng.
- Ghi lại vào tệp tin: Các dữ liệu của các gói tin sẽ được lưu trữ trong hệ thống các
tệp tin log. Mục đích để các người quản trị có thể theo dõi các luồng thông tin và là
nguồn thông tin giúp cho modul phát hiện tấn công hoạt động.
1.2.4. So sánh IPS và IDS
- Hiện nay, Công nghệ của IDS đã được thay thế bằng các giải pháp IPS. Nếu như
hiểu đơn giản, ta có thể xem như IDS chỉ là một cái chuông để cảnh báo cho người
quản trị biết những nguy cơ có thể xảy ra tấn công. Dĩ nhiên ta có thể thấy rằng, nó chỉ
là một giải pháp giám sát thụ động, tức là chỉ có thể cảnh báo mà thôi, việc thực hiện
17
Tìm hiểu về các phần mềm phát hiện và phòng chống xâm nhập trái phép
ngăn chặn các cuộc tấn công vào hệ thống lại hoàn toàn phụ thuộc vào người quản trị.
Vì vậy yêu cầu rất cao đối với nhà quản trị trong việc xác định các lưu lượng cần và
các lưu lượng có nghi vấn là dấu hiệu của một cuộc tấn công. Và dĩ nhiên công việc
này thì lại hết sức khó khăn. Với IPS, người quản trị không nhũng có thể xác định
được các lưu lượng khả nghi khi có dấu hiệu tấn công mà còn giảm thiểu được khả
năng xác định sai các lưu lượng. Với IPS, các cuộc tấn công sẽ bị loại bỏ ngay khi mới
có dấu hiệu và nó hoạt động tuân theo một quy luật do nhà Quản trị định sẵn.
- IDS hiện nay chỉ sử dụng từ một đến 2 cơ chế để phát hiện tấn công. Vì mỗi cuộc
tấn công lại có các cơ chế khác nhau của nó, vì vậy cần có các cơ chế khác nhau để
phân biệt. Với IDS, do số lượng cơ chế là ít nên có thể dẫn đến tình trạng không phát
hiện ra được các cuộc tấn công với cơ chế không định sẵn, dẫn đến khả năng các cuộc
tấn công sẽ thành công, gây ảnh hưởng đến hệ thống. Thêm vào đó, do các cơ chế của

IDS là tổng quát, dẫn đến tình trạng báo cáo nhầm, cảnh báo nhầm, làm tốn thời gian
và công sức của nhà quản trị. Với IPS thì được xây dựng trên rất nhiều cơ chế tấn công
và hoàn toàn có thể tạo mới các cơ chế phù hợp với các dạng thức tấn công mới nên sẽ
giảm thiểu được khả năng tấn công của mạng, thêm đó, độ chính xác của IPS là cao
hơn so với IDS.
- Nên biết rằng với IDS, việc đáp ứng lại các cuộc tấn công chỉ có thể xuất hiện sau
khi gói tin của cuộc tấn công đã đi tới đích, lúc đó việc chống lại tấn công là việc nó
gửi các yêu cầu đến các máy của hệ thống để xoá các kết nối đến máy tấn công và máy
chủ, hoặc là gửi thông tin thông báo đên tường lửa (Firewall) để tường lửa thực hiện
chức năng của nó, tuy nhiên, việc làm này đôi khi lại gây tác động phụ đến hệ thống.
Ví dụ như nếu Attacker giả mạo (sniffer) của một đối tác, ISP, hay là khách hàng, để
tạo một cuộc tấn công từ chối dịch vụ thì có thể thấy rằng, mặc dù IDS có thể chặn
được cuộc tấn công từ chối dịch vụ nhưng nó cũng sẽ Block luôn cả IP của khách
hàng, của ISP, của đối tác, như vậy thiệt hại vẫn tồn tại và coi như hiệu ứng phụ của
DoS thành công mặc dù cuộc tấn công từ chối dịch vụ thất bại. Nhưng với IPS thì khác
nó sẽ phát hiện ngay từ đầu dấu hiệu của cuộc tấn công và sau đó là khoá ngay các lưu
lượng mạng này thì mới có khả năng giảm thiểu được các cuộc tấn công.
1.3. IDS/IPS là gì?
1.3.1. Tại sao phải có IDS/IPS?
Một hệ thống phòng chống xâm nhập trái phép (Intrusion Prevention System –IPS)
được định nghĩa là một phần mềm hoặc một thiết bị chuyên dụng có khả năng phát
hiện xâm nhập và có thể ngăn chặn các nguy cơ gây mất an ninh. IDS và IPS có rất
nhiều điểm chung, do đó hệ thống IDS và IPS có thể được gọi chung là IDP-
Intrusion Detection and Prevention (IPS/IDS).
Thực chất thì ta có thế hiểu về IDS/IPS một cách đơn giản là một hệ thống bao gồm
chứa đựng cả hai công nghệ IDS và IPS.
1.3.2. Hoạt động
- Nếu hoạt động theo kiểu nhận dạng mẫu gói thì nó sẽ so trùng từng gói với những
mẫu tấn công mà nó có, nếu trùng => là loại gói tấn công => cảnh báo hoặc ngăn cản
18

Tìm hiểu về các phần mềm phát hiện và phòng chống xâm nhập trái phép
luôn. Hiện nay đa số IDS/IPS hoạt động theo kiểu này. Tuy nhiên nếu kiểu tấn công
mới thì IDS không nhận biết được, nên phải cập nhật lỗi thường xuyên giống như cập
nhật virus.
- Nếu hoạt động theo kiểu heuristic thông minh thì IDS theo dõi mạng xem có hiện
tượng bất thường hay không, và phản ứng lại. Lợi điểm là có thể nhận biết các kiểu tấn
công mới, nhưng nhiều trường hợp bị báo động nhầm (không phải trường hợp tấn
công mà vẫn gây báo động).
Chương II
Giới thiệu tổng quan về các phần mềm phát hiện và phòng
chống xâm nhập trái phép (IPS/IDS)
2.1. Phần mềm Snort
Công Nghệ Thông Tin và Internet ngày nay đã mang lại cho chúng ta nhiều tiến bộ
trong quá trình phát triển. Máy tính không những giúp xử lý dữ liệu, thiết kế sản phẩm,
quản lý khách hàng v.v mà còn đem lại những giây phút thư giãn bằng nhiều chương
trình tiện ích khác. Và chắc chắn máy tính cùng những ứng dụng của nó sẽ còn đem
đến cho chúng ta nhiều lợi ích, niềm vui trong cuộc sống.
Tuy nhiên bên cạnh sự phát triển nhanh chóng và những khả năng mạnh mẽ thì
những vấn đề của hệ thống thông tin cũng làm cho chúng ta nhức đầu cũng không phải
là ít, trong đó hai vấn đề nhạy cảm an toàn thông tin và bản quyền phần mềm khiến
chúng ta quan tâm nhiều hơn cả, đặc biệt là khi Việt Nam trở thành thành viên thứ 150
của tổ chức thương mại quốc tế WTO bởi vì khi đó chúng ta phải tuân thủ nghiêm ngặt
“luật chơi” trong một môi trường đầy tiềm năng, cơ hội nhưng cũng lắm rũi ro nếu như
chúng ta không tuân thủ nghiêm ngặt các quy định như luật sở hữu trí tuệ, bản quyền
phần mềm. Bên cạnh đó, cần phải tăng cường khả năng an toàn thông tin để khỏi bị
mất mát dữ liệu do các lổ hổng bảo mật hay bị hacker, virus, trojan tấn công.
Một trong những giải pháp có thể đáp ứng tốt nhất cho vấn đề này là triển khai hệ
thống phát hiện xâm nhập trái phép - Instruction Detect System (IDS). Với IDS các
nhà Quản trị mạng hay Chuyên gia bảo mật hệ thống sẽ nâng cao hơn khả năng an
toàn thông tin cho mạng máy tính của mình, biết được khi nào hệ thống đang bị tấn

công hay có kẻ xấu đang tiến hành các hoạt động khả nghi để đưa ra được giải pháp
hiệu quả, nhanh chóng.
19
Tìm hiểu về các phần mềm phát hiện và phòng chống xâm nhập trái phép
Có hai yêu cầu chính khi triển khai một IDS đó là chi phí cùng với khả năng đáp
ứng linh họat của nó trước sự phát triển nhanh chóng của công nghệ thông tin và
SNORT có thể đáp ứng rất tốt cả hai yêu cầu này. Đó là một phần mềm mà ta có thể
tải về và sử dụng miễn phí theo các qui tắc GPL, cho nên yếu tố về chi phí hoàn toàn
có thể yên tâm. Ngoài ra SNORT còn là một sản phẩm mã nguồn mở và có một cộng
đồng phát triển đông đảo được quản lí chặt chẽ cho nên khi có những dạng xâm nhập
mới được phát hiện thì ngay lập tức được các nhà phát triển cảnh báo và cập nhật
Snort Rule một cách nhanh chóng và các doanh nghiệp có thể thay đổi mã nguồn cho
phù hợp với yêu cầu của mình. Vì vậy SNORT là phần mềm IDS mạnh mẽ và được
yêu thích nhất hiện nay trên thế giới trong vấn đề phát hiện xâm nhập.
Công nghệ phát hiện và chống xâm nhập mã nguồn mở Snort do Martin Roesch-
người sáng lập ra Sourcefire tạo ra vào năm 1998, với tốc độ gây ấn tượng, cùng hiệu
suất và quyền lực vượt bậc, Snort nhanh chóng chiếm được vị thế để trở thành một
công nghệ phát hiện và phòng chống xâm nhập trái phép được triển khai rộng rãi nhất
trên thế giới.
Khả năng mở của mã nguồn mở mang lại rất nhiều ưu điểm. Bởi vì, bản thân mã
nguồn là mở và phi độc quyền, sự phát triển mã nguồn mở xuất hiện tốc độ mau lẹ rõ
rệt cạnh tranh với những kiểu độc quyền. Sự thành công của kiểu này là bởi cộng đồng
rộng lớn các chuyên gia bảo mật thường xuyên xem xét, kiểm thử và cải tiến. Đơn
giản là, những người dùng trong môi trường bảo mật mã nguồn mở có thể phát hiện và
đối phó những lỗi và các tấn công bảo mật khác nhanh hơn và hiệu quả hơn trong môi
trường đóng.
2.1.1. NIDS - Network Instrusion Detection System là gì ?
Trên cấp độ căn bản, phát hiện xâm nhập được xem như là 1 tiến trình được quyết
định khi 1 người không xác chứng thực đang cố gắng để bẻ gãy hệ thống của bạn. Phát
hiện những kết nối không hợp lệ là bước khởi đầu tốt nhưng không phải là tất cả câu

chuyện. Những hệ thống như Snort có thể phát hiện những sự cố gắng đang login vào
hệ thống, truy cập vào những vùng chia sẻ không được bảo vệ và nhiều điều khác nữa,
nhưng nhiều loại xâm nhập không rõ ràng để chúng ta có thể phát hiện dễ dàng như là
các các cuộc tấn công dùng phương pháp DoS tuy nó không thiệt hại nhiều chỉ chiếm
băng thông và CPU, dung lượng ổ cứng trên IDS nhưng nó cũng là tín hiệu để có biện
pháp phòng chống hữu hiệu.
NIDS như Snort có thể quét lưu lượng mạng để phát hiện những tín hiệu nghi ngờ
và các gói dữ liệu xấu, và bạn cũng có thể dùng những công cụ khác như Tcpdump hay
ethereal để xem các luồng thông tin trên các subnet khác nhau, từ những công cụ này
chúng ta có thể đánh hơi các gói tin để phân tích và gỡ rối hệ thống.
Một IDS sẽ kiểm tra tất cả các gói tin đi qua hệ thống và quyết định gói tin có vấn
đề khả nghi. Bằng cách nào nó có thể biết gói tin đó khả nghi ? Snort sẽ có các danh
sách các loại gói tin được mô tả tỷ mỉ giúp hệ thống dựa vào đó mà phán quyết gói tin
nào khả nghi, ví dụ như nếu bạn nhận được 1 gói ICMP có kích thước lớn hơn bình
thường và bạn có thể đoán được 1 người nào đó đang cố gắng ping vào mạng của bạn
hoặc như bạn nhận được các gói tin đựơc phân mảnh ra cực kì ngắn bạn cũng có thể
suy ra rằng ai đó đang dùng kĩ thuật tấn công phản hồi làm đảo lộn các gói để lừa
20
Tìm hiểu về các phần mềm phát hiện và phòng chống xâm nhập trái phép
tường lửa thường được gọi là tấn công phân mảnh. Snort cũng như các IDS khác được
trang bị hàng ngàn tình huống để nhận dạng tấn công và được cập nhật thường xuyên
trên website của Snort. Snort và các IDS khác thực sự quan trọng và là lựa chọn hàng
đầu để phòng thủ, nếu một kẻ tấn công xâm nhập vào Server của bạn, bạn có thể phát
hiện ở system log, mặc dù nhiều kẻ tấn công tinh ranh xóa đi log của bạn.
2.1.2. Tại sao Snort là một NIDS ?
Snort được coi như là NIDS mang lại nhiều lợi ích và là 1 NIDS mạnh mẽ phù hợp
cho nhiều công ty vì nhiều lý do:
Về giá cả : Là một software mã nguồn mở và tất nhiên là miễn phí nhưng dễ dùng
được đóng gói thành nhiều sản phẩm phù hợp cho từng doanh nghiệp. Snort được phát
triển do công ty Soucefire được điều hành bởi Martin Roesch. Hiện tại công ty Check

point đã mua lại Soucefire với giá 225 triệu USD.
Về sự ổn định, nhanh, mạnh mẽ: Ngay từ đầu đây là mục đích chính để các nhà
phát triển Snort luôn luôn giữ nó nhỏ gọn, nhanh, và dễ dùng, không chiếm dụng nhiều
đường truyền.
Về tính năng tiền xử lý: Dùng để xử lý trước các thông điệp trong mạng ở thời
gian thực tăng khả năng nhận dạng các gói tin nghi ngờ, tăng khả năng nhận diện kẻ
tấn công dùng các kĩ thuật tấn công nhằm đánh lạc hướng IDS
Về tính uyển chuyển: Có thể dễ dàng thiết lập những luật trên những chế độ khác
nhau phù hợp với thực trạng của công ty. Có thể dùng các công cụ để quản lý tập trung
như ACID hay SnortCenter. Nhiều Script có thể plug-in để mở rộng chức năng Snort
có thể tạo những Access Control List tự động trên các thiết bị Cisco routers là 1 ví dụ
điển hình
Về sự hỗ trợ mạnh mẽ: Nhiều công ty thường xuyên kiểm thử và kiểm tra các lỗ
hổng của Snort đưa ra nhiều biện pháp khắc phục như CERT và SANS. Là sản phẩm
nguồn mở nên được hôc trợ rất nhiều bởi cộng đồng người sử dụng trên Internet và các
thông báo sẽ gửi đến từng người sử dụng qua mail nếu đăng kí và quan tâm đến Snort.
2.1.3. Các chế độ hoạt động của Snort
Snort là một phần mềm phát hiện, chống xâm nhập. Snort hoạt động như một phần
mềm đứng giữa sự giao tiếp của hai máy tính. Các Packet trước khi được gửi đến máy
tính đích sẽ được Snort kiểm tra, thẩm định. Nếu thấy có dấu hiệu của sự phá hoại (gói
tin được gửi đến với mục đích dò tìm thông tin…), Snort sẽ lập tức cảnh báo và có
những xử lý cụ thể. Snort có nhiều Sensor nằm lắng nghe tại những vùng tiếp giáp
giữa mạng trong và mạng ngoài. Sensor bắt những tất cả những gói tin đi từ trong ra
ngoài và ngược lại. Những thông tin nào cần lưu lại, Sensor sẽ lưu xuống cơ sở dữ
liệu. Người quản trị Snort sẽ dùng giao thức HTTPS (HTTP kết hợp với SSL) để quan
sát, theo dõi những thông tin này dưới dạng Web. Snort là một giải pháp linh hoạt vì
nó cho phép thay đổi rất linh động các tập luật dùng để bắt các gói tin, cũng như cách
xử lý các gói tin bị chặn lại.
Snort có 4 chế độ hoạt động khác nhau đó là:
21

Tìm hiểu về các phần mềm phát hiện và phòng chống xâm nhập trái phép
- Sniffer mode: ở chế độ này snort sẽ lắng nghe và đọc các gói tin trên mạng sau đó sẽ
trình bày kết quả trên giao diện hiển thị.
- Packet Logger mode : lưu trữ các gói tin trong các tập tin log.
- Network instruction detect system (NIDS) : đây là chế độ họat động mạnh mẽ và
được áp dụng nhiều nhất, khi họat động ở chế độ NIDS, Snort sẽ phân tích các gói tin
luân chuyển trên mạng và so sánh với các thông tin được định nghĩa của người dùng
để từ đó có những hành động tương ứng như thông báo cho quản trị mạng khi xảy ra
tình huống quét lỗi do các hacker/attacker tiến hành hay cảnh báo virus.
-Inline mode: khi triển khai snort trên linux thì chúng ta có thể cấu hình snort để phân
tích các gói tin từ iptables thay vì libpcap, do đó iptable có thể drop hoặc pass các gói
tin theo snort rule.
2.1.4. Kiến trúc của Snort
Kiến trúc tổng quan của việc triển khai Snort cơ bản là đơn giản, bởi vì nó chỉ
chứa Sensor của chính nó- không có server quản trị, không bàn điều khiển hình họa,
không kiến trúc đa tầng.
Kiến trúc của công cụ Snort đã thay đổi nhanh chóng từ phiên bản 2.0 để cải tiến
tính ổn định và hiệu suất. Công cụ phát hiên mới được biến thành 3 công nghệ hay giai
đoạn riêng biệt: Rule Optimiser, Multi-Rule Inspection Engine, Event Selector.
2.1.4.1. Rule Optimiser
Rule Optimise tận dụng một phương thức dựa trên tập hợp dành cho việc quản lý
các luật của Snort và áp dụng chúng vào lưu lượng mạng. Tập con luật được hình
thành dựa vào luật duy nhất và các tham số gói có sử dụng một lược đồ phân loại dựa
trên tiêu chuẩn tập. Điều này cho phép toàn bộ tập luật Snort có thế được chia ra thành
các tập luật con nhỏ hơn dựa trên những tham số duy nhất này.
Tiện ích của phương thức dựa trên tập luật chính là việc các tập con của Snort sẽ
được định trước trong suốt quá trình khởi tạo. Bởi vì các tập con này được dựa trên
những tham số luật duy nhất như là cổng nguồn, cổng đích, và nội dung luật, cho nên
mỗi tập con sẽ chứa tập hoàn chỉnh các luật thích hợp cho từng gói. Điều này đảm bảo
rằng tất cả các luật thích hợp được kiểm tra tùy vào từng gói.

Khi Snort bắt đầu thực thi, thì nó sẽ đọc và phân tích tất cả các luật đang hoạt
động. Những luật Snort sau đó sẽ được chuyển tới Rule Classifier, để phân loại chúng
thành các tập con. Điều này được thực hiện trước bất kỳ gói tin hay tiến trình xử lý
luồng nào. Mỗi khi những luật Snort được chia thành các tập con thì từng gói tin tới sẽ
hợp với tập luật tương ứng dựa trên những tham số duy nhất của gói.
Ví dụ, nếu Snort chạy 1500 luật, thì 1500 luật này sẽ được chia thành các tập con nhỏ
hơn tùy thuộc vào các giao thức ở tầng ứng dụng và tầng vận chuyển. Vì 500 trong số
những luật này có thể trở thành tập luật HTTP client, 50 luật khác có thể trở thành tập
luật HTTP server và v…v.
22
Tìm hiểu về các phần mềm phát hiện và phòng chống xâm nhập trái phép
Mỗi khi Snort thực hiện phần xử lý luật đối với từng gói, thì các tham số gói tin sẽ
được chuyển tới Rule Manager nhằm lựa chọn tập con phù hợp để áp dụng cho một
gói. Mỗi khi tập luật được chọn thì tiến trình tìm kiếm nhiều luật sẽ bắt đầu.
Việc kiểm tra nhiều luật sẽ sử dụng những thuật toán được hình thành từ những tập
luật tối ưu. Bởi vì tất cả các luật cần được đánh giá thì đều trong một tập luật, cho nên
những thuật toán kiểm tra này sẽ thiết lập những luật để cho chúng có thể được kiểm
tra đồng thời. Việc kiểm tra đồng thời này quan trọng nhằm nâng cao trong việc kiểm
tra nhiều luật. Bằng việc dùng những công nghệ kiểm tra đồng thời, kết hợp với một
tập luật tối ưu, thì toàn bộ thời gian của quá trình kiểm tra sẽ giảm đi theo cấp độ quan
trọng.
2.1.4.2. Multi-Rule Inspection Engine
Snort 2.0 sẽ đưa ra một công cụ kiểm tra đa luật (Multi-Rule Inspection Engine)
mới tiên tiến chuyên về việc phát hiện những tương xứng luật trong suốt tiến trình xử
lý gói tin. Đầu tiên, các gói tin sẽ được phân tích bằng Rule Optimiser để chọn tập luật
thích hợp cho việc kiểm tra. Sau đó, công cụ kiểm tra nhiều luật này sẽ tìm kiếm
những tương xứng luật, xây dựng hàng đợi cho những tương xứng luật được phát hiện,
và chọn lựa sự tương xứng luật tốt nhất để ghi lại dựa trên một tập luật cơ bản về
những quyền ưu tiên theo sự kiện.
Công cụ kiểm tra nhiều luật sẽ được biến thể thành 3 tìm kiếm riêng biệt dựa trên

những thuộc tính luật của Snort:
- Protocol field search: tìm kiếm trường giao thức sẽ cho phép một luật xác minh
một trường đặc biệt nào đó trong một giao thức . Ví dụ, Snort sử dụng từ khóa
“uricontent” để tìm kiếm những trường yêu cầu –uri của HTTP.
- Generic content search: việc tìm kiếm nội dung chung sẽ cho phép một luật xác
minh tập byte chung cho phù hợp dựa vào payload. Ví dụ, một chức năng được sử
dụng để tìm kiếm lỗi tràn bộ đệm trong tất cả các tải của gói tin, và cũng có thể còn
được sử dụng để tìm bất kỳ tập byte nhị phân hay ASCII nào có mang dấu hiệu của
một cuộc tấn công mạng.
- Packets anomaly search: việc tìm kiếm sự bất thường của gói tin sẽ cho phép một
luật xác minh những nét đặc trưng của một gói tin hay phần tiêu đề của gói tin, bởi
chính chúng là nguyên nhân của những cuộc cảnh báo. Những luật về sự bất thường
của gói tin không có bất kỳ kiểu tìm kiếm nội dung nào, và chúng được tồn tại trên
những nét đặc trưng khác của gói tin. Trong khi 3 kiểu tìm kiếm có thể sử dụng sự
phát hiện bất thường, thì việc tìm kiếm sự bất thường của gói tin lại là một kiểu cụ thể
về sự phát hiện. Một ví dụ về luật bất thường của gói tin chính là việc tìm một gói
ICMP trên 800 byte.
Công cụ kiểm tra sẽ sử dụng một công cụ tìm kiếm đa mẫu, hiệu suất cao và có thể
cấu hình để tìm ra tất cả những sự xuất hiện của trường giao thức và những mẫu nội
dung chung. Những luật về sự bất thường của gói tin được xử lý bằng việc dùng một
lược đồ tìm kiếm dựa trên việc xử lý luật Snort chuẩn.
Khi tìm kiếm được một sự phù hợp trong bất kỳ 3 loại tìm kiếm nào, thì việc xử lý
Snort chuẩn một cách đầy đủ sẽ xác nhận tính hợp lệ của luật Snort cụ thể nào đó. Nếu
23
Tìm hiểu về các phần mềm phát hiện và phòng chống xâm nhập trái phép
luật Snort được xác nhận hợp lệ thì một sự kiện sẽ được tạo ra và được thêm vào hàng
sự kiện. Mỗi khi công cụ kiểm tra hoàn thành việc xử lý gói tin thì Event Selector sẽ
xử lý hàng sự kiện.
2.1.4.3. Event Selector
Hàng sự kiện sẽ cho phép Snort lần theo từng xuất hiện của từng sự kiện tương

xứng luật trong một gói tin. Việc lựa chọn sự kiện sau đó sẽ ưu tiên những sự kiện ở
hàng sự kiện và chọn sự kiện dựa vào quyền ưu tiên đã chỉ định. Hiện này, sự kiện có
sự tương xứng về thời gian lâu nhất được coi là có quyền ưu tiên cao nhất và được
chọn lựa. Sự kiện này sau đó sẽ được gửi tới hệ thống đầu ra của Snort.
2.1.4.4. Protocol Flow Analyser
Protocol Flow Analyser sẽ phân loại các giao thức ứng dụng mạng thành các luồng
dữ liêu client và server. Phân tích sâu các luồng dữ liệu giao thức này sẽ cho phép
công cụ phát hiện đưa ra được những quyết định đúng đắn về sự kiểm tra giao thức,
nâng cao rõ rệt hiệu suất và năng suất, và giảm tính xác thực sai.
Phân tích luồng giao thức được thực hiện ở tầng cao và thường chỉ liên quan tới
một vài khía cạnh quan trọng của một luồng giao thức đặc biệt, như là một mã hồi đáp
của server hay một kiểu yêu cầu của client. Phân tích luồng không thay thế cho những
công nghệ kiểm tra giao thức khác, thay vì thay thể là bổ sung cho chúng.
Phân tích luồng là một phân tích thông thường cho phép giao thức ứng dụng được
phân loại thành luồng client hay luồng server. Mỗi khi giao thức ứng dụng được phân
loại thành một luồng client và một luồng server, thì nó sẽ gửi cho Snort thông tin hữu
ích về kiểu kiểm tra và những miền luồng giao thức kiểm tra. Những phân tích luồng
giao thức cho Snort những thông tin sơ bộ về một giao thức ứng dụng.
Với thông tin này, Snort có thể quyết định liệu bất kỳ hay một phần của một giao
thức để thực hiện kiểm tra. Điều này sẽ làm giảm đáng kể thời gian xử lý và giảm khả
năng báo sai bằng cách giới hạn lượng kiểm tra cần thực hiện. Hiện nay, Detection
Engine có một máy phân tích luồng HTTP mà người dùng có thể cấu hình và giảm
đáng kể thời gian xứ lý HTTP của công cụ.
2.1.4.5. Bộ tiền xử lý
Những chức năng cần thiết như là ráp lại gói tin, phát hiện quét cổng và bình
thường hóa lưu lượng HTTP được thực hiện bằng những module plug-in, gọi là bộ tiền
xử lý. Điều đó có thể thực hiện một vài chức năng khác nhau trên các gói tin- như là
chỉnh sửa nội dung gói tin, tăng một báo động, ghi lại nội dung gói tin, hay đánh dấu
Detection Engine không xử lý gói tin chút nào- trước khi chuyển chúng tới Detection
Engine.

Ví dụ, mô đun stream4 cung cấp khả năng phân tích trạng thái và ráp lại dòng
TCP. Những khả năng ráp lại dòng trạng thái cho phép Snort bỏ qua những tấn công
TCP không trạng thái như là, những tấn công tạo ra bằng những công cụ như Stick và
Snort. Stream4 cũng đưa ra những người dùng có khả năng lần theo số lượng lớn
những dòng TCP đồng thời.
24
Tìm hiểu về các phần mềm phát hiện và phòng chống xâm nhập trái phép
Một điểm quan trọng cần chú ý là tất cả những bộ tiền xử lý sẽ phải xem xét từng
gói trong trường hợp- không có một cơ chế nào dành cho một bộ tiền xử lý để cắt bớt
nhanh chóng việc xử lý gói tin nhỏ và bỏ qua những gói tin còn lại. Điều này nghĩa là
nếu như một lượng lớn những bộ tiền xử lý chuyên sâu CPU sẽ được tải, sau đó nó sẽ
có thể có một tác dụng ngược lại về toàn bộ hiệu suất. Tuy nhiên, trong những kiểm
thử của chúng ta, thì chúng ta đã tìm ra được một chút chứng cớ cho phép hay không
cho phép các bộ tiền xử lý có bất kỳ tác động đáng kế nào về hiệu suất.
Mỗi khi những bộ tiền xử lý được thực hiện với gói tin (và không có bộ tiền xử lý
nào tắt cờ phát hiện) thì gói tin này sẽ đi tiếp tới hệ thống phát hiện.
Những bộ tiền xử lý sẵn có bao gồm:
- IP defragmentation
- Stateful analysis/stream reassembly
- Conversation tracking - cho phép snort lấy được những trạng thái giao hợp
cơ bản trong các giao thức khác hơn là chỉ với TCP như đã thực hiện trong
spp_stream4. Trong tương lai, điều này sẽ cho phép những luật được viết ra
thực hiện trong việc đếm byte và trạng thái người nói đầu tiên.
- Port scan detector
- BackOrifice detector
- HTTP decode - được sử dụng để xử lý các chuỗi URI của HTTP và chuyển
đổi dữ liệu của chúng thành các chuỗi ASCII phức tạp.
- Telnet decode - cho phép Snort bình thường hóa các ký tự giao thức điều
khiển telnet từ dữ liệu phiên.
- RPC decode - Bình thường hóa các bản ghi nhiều đoạn RPC thành một bản

ghi đơn.
- Performance monitor –được sử dụng đwe cung cấp những thống kê hiệu suất
của Snort.
- HTTP flow - được sử dụng để cho phép snort bỏ qua các hồi đáp của HTTP
server sau những tiêu đề HTTP.
Bộ tiền xử lý là quan trọng trong tính linh hoạt và tính mạnh mẽ của Snort. Sản
phẩm này đôi khi bị gắn là sản phẩm cấp thấp hay bị gạt bỏ như là một bản mẫu không
đúng quy cách, nhưng một vài trong số những bộ tiền xử lý được viết ra và cập nhật đã
cung cấp một bộ tính năng mà một số IDS thương mại đang có gắng đạt được.
Ví dụ, bộ tiền xử lý của Back Orifice có khả năng bắt ép thô bạo với từng gói BO
đã được mã hóa, rpc_decode, telnet_decode và http_decode thực hiện sự bình thường
hóa lưu lượng mở rộng trên một phạm vi các cổng và các giao thức, và frag2 và
stream4cho phép ráp lại đầy đủ các mảnh IP và ráp lại luồng inspection/TCP đầy đủ
trạng thái. Sự kết hợp- tất cả những gì có thể được cấu hình- làm cho snort cực kỳ
phức tạp trong việc tránh sử dụng các kỹ thuật hiện hành
25

×