Kịch bản tấn công vào snort windows

Snort là một NIDS được Martin Roesh phát triển dưới mô hình mã nguồn mở. Tuy Snort miễn phí nhưng nó lại có rất nhiều tính năng tuyệt vời mà không phải sản phẩm thương mại nào cũng có thể có được. Với kiến trúc thiết kế theo kiểu module, người dùng có thể tự tăng cường tính năng cho hệ thống Snort của mình bằng việc cài đặt hay viết thêm mới các module. Cơ sở dữ liệu luật của Snort đã lên tới 2930 luật và được cập nhật thường xuyên bởi một cộng đồng người sử dụng. Snort có thểchạy trên nhiều hệ thống nền như Windows, Linux, OpenBSD, FreeBSD, NetBSD, Solaris, HP-UX, AIX, IRIX, MacOS. Bên cạnh việc có thể hoạt động nhưmột ứng dụng thu bắt gói tin thông thường, Snort còn có thể được cấu hình để chạy như một NIDS. Snort hỗ trợ khả năng hoạt động trên các giao thức sau: Ethernet, 802.11,Token Ring, FDDI, Cisco HDLC, SLIP, PPP, và PF của OpenBSD.

HỌC VIỆN KỸ THUẬT MẬT MÃ
KHOA CÔNG NGHỆ THÔNG TIN

Đề tài thực tập cơ sở

TÌM HIỂU HỆ THỐNG PHÁT HIỆN VÀ NGĂN
CHẶN THÂM NHẬP THỬ NGHIỆM TRÊN
SNORT

Cán bộ hướng dẫn: Lê Đức Thuận

Sinh viên thực hiện:
Trịnh Văn Dũng
Đào Thu Hường
Lớp: L02

1

BÁO CÁO THỰC TẬP CƠ SỞ 2

HÀ NỘI 2016
HỌC VIỆN KỸ THUẬT MẬT MÃ
KHOA CÔNG NGHỆ THÔNG TIN

Đề tài thực tập cơ sở

TÌM HIỂU HỆ THỐNG PHÁT HIỆN VÀ NGĂN
CHẶN THÂM NHẬP THỬ NGHIỆM TRÊN SNORT

Nhận xét của cán bộ hướng dẫn:........................................................................................
.............................................................................................................................................
.............................................................................................................................................
.............................................................................................................................................
.............................................................................................................................................
.............................................................................................................................................
.............................................................................................................................................
.............................................................................................................................................

Điểm chuyên cần:................................................................................................................
Điểm báo cáo:.....................................................................................................................

Xác nhận của cán bộ hướng dẫn

2

BÁO CÁO THỰC TẬP CƠ SỞ 3

3

BÁO CÁO THỰC TẬP CƠ SỞ 4

MỤC LỤC

4

BÁO CÁO THỰC TẬP CƠ SỞ 5

BẢNG KÝ HIỆU
IDS - Intrusion Detection System: Hệ thống phát hiện xâm nhập
IPS - Intrusion Prevention Systems: Hệ thống ngăn chặn xâm nhập
VPN - Virtual Private Network: Mạng riêng ảo
DMZ - Demilitarized Zone: Vùng mạng vật lý chứa các dịch vụ bên ngoài của một tổ
chức
UTM - Unified Threat Management: Giải pháp bảo mật toàn diện
HIDS - Host Intrusion Detection System: Hệ thống phát hiện xâm nhập host
NIDS - Network Intrusion Detection System: Hệ thống phát hiện xâm nhập mạng
HIPS - Host-based Intrusion Prevention: Hệ thống ngăn ngừa xâm nhập host
NIPS - Network-based Intrusion Prevention: Hệ thống ngăn ngừa xâm nhập mạng
DDOS - Distributed Denial of Service: Từ chối dịch vụ phân tán
FTP - File Transfer Protocol: Giao thức truyền tập tin
FDDI - Fiber Distributed Data Interface: Công nghệ mạng cao tốc
SLIP - Serial Line Internet Protocol: Giao thức truyền thông internet
PPP - Point-to-Point Protocol: Giao thức liên kết dữ liệu
TCP - Transmission Control Protocol: Giao thức điều khiển truyền vận
UDP - User Datagram Protocol: Giao thức truyền vận không tin cậy
DNS - Domain Name System: Hệ thống phân giải tên miền
SNMP - Simple Network Management Protocol: Giao thức quản lý mạng đơn giản
IP - Internet Protocol: Giao thức kết nối internet
ICMP - Internet Control Message Protocol: Giao thức điều khiển gói tin trên mạng
SSH - Secure Shell: Giao thức kết nối bảo mật

5

BÁO CÁO THỰC TẬP CƠ SỞ 6

DANH MỤC BẢNG BIỂU
Bảng 1. So sánh giữa hai mô hình phát hiện
Bảng 2. Các cờ sử dụng với từ khoá flags
Bảng 3. Các loại queues và chain cùng chức năng của nó
Bảng 4. Miêu tả các target mà iptables thường dùng nhất
Bảng 5. Các tham số chuyển mạch (switching) quan trọng của Iptables

DANH MỤC HÌNH VE
Hình 1. Đặt trước Firewall
Hình 2. Đặt giữa Firewall và DMZ
Hình 3. Là một module trong giải pháp UTM
Hình 4. Hệ thống kết hợp hai mô hình phát hiện
Hình 5: Cấu trúc IP Header
Hình 6: Cấu trúc TCP Header
Hình 7. Mô hình kiến trúc hệ thống Snort
Hình 8. Xử lý một gói tin Ethernet
Hình 9. Cấu trúc luật của Snort
Hình 10. Header luật của Snort
Hình 11. Mô hình tấn công thử nghiệm Snort IDS/IPS
Hình 12. Snort IDS đã phát hiện Ping Of Dead từ Attacker
Hình 13. Snort IPS đã phát hiện và chặn thành công Ping Of Dead từ Attacker
Hình 14. Snort IDS đã phát hiện thành công các gói tin có giao thức TCP SYN
FIN scan từ Attacker Hình 15. Snort IDS đã hoạt động thành công
Hình 16. Snort IDS đã phát hiện Ping icmp từ địa chỉ nguồn 192.168.11.10 tới
địa chỉ đích là 192.168.10.13
Hình 17. Snort IPS đã phát hiện và chặn (DROP) các gói PING icmp từ
Attacker
Hình 18. Các gói tin có giao thức ICMP đã bị chặn (drop) trên máy của
Attacker
Hình 19. Giao diện chính của BASE trên web

Hình 20. Xem ARP Cache

6

BÁO CÁO THỰC TẬP CƠ SỞ 7

LỜI NÓI ĐẦU
Năm 2015 và quý 1/2016, tình hình an ninh mạng trên thế giới tiếp tục diễn biến
phức tạp, liên tục phát hiện các vụ tấn công, xâm nhập vào hệ thống máy tính của các
cơ quan chính phủ, tổ chức chính trị, các ngành công nghiệp, kinh tế mũi nhọn, các
hãng hàng không lớn, cơ quan truyền thông, tổ chức y tế, giáo dục... của nhiều quốc
gia nhằm phá hoại, đánh cắp dữ liệu, thu thập thông tin tình báo liên quan đến chính
sách về kinh tế, chính trị, an ninh, quốc phòng và đối ngoại. Nổi lên là các vụ tấn công
vào hệ thống thư điện tử của Bộ Ngoại giao, hệ thống máy tính của Nhà Trắng, Cơ
quan quản lý nhân sự Chính phủ Mỹ…
Trong khi đó, tình hình an ninh mạng ở Việt Nam cũng diễn biến phức tạp không
kém. Nổi bật lên trong thời gian gần đây đó là cuộc tấn công vào hệ thống Vietnam
Airlines hôm 29/07 vừa qua. Do số lượng xâm phạm ngày càng tăng khi Internet và
các mạng nội bộ càng ngày càng xuất hiện nhiều ở khắp mọi nơi, thách thức của các
vấn đề xâm phạm mạng đã buộc các tổ chức phải bổ sung thêm hệ thống khác để kiểm
tra các lỗ hổng về bảo mật. Các hacker và kẻ xâm nhập đã tạo ra rất nhiều cách để có
thể thành công trong việc làm sập một mạng hoặc dịch vụ Web của một công ty.
Nhiều phương pháp đã được phát triển để bảo mật hạ tầng mạng và việc truyền thông
trên Internet, bao gồm các cách như sử dụng tường lửa (Firewall), mã hóa, và mạng
riêng ảo(VPN). Hệ thống phát hiện và ngăn chặn thâm nhập trái phép (IDS/IPS)
là một phương pháp bảo mật có khả năng chống lại các kiểu tấn công mới, các vụ lạm
dụng xuất phát từ trong hệ thống và có thể hoạt động tốt với các phương pháp bảo mật
truyền thống.
Chúng em chân thành cảm ơn thầy Lê Đức Thuận đã tận tình hướng dẫn giúp

chúng em hoàn thành thực tập cơ sở chuyên ngành này. Mặc dù đã cố gắng hoàn thành
đề tài nhưng đây là một lĩnh vực còn khá mới lạ và đang phát triển mạnh nên còn
nhiều thiếu sót. Chúng em rất mong được tiếp nhận những ý kiến, nhận xét từ quý thầy
cô. Chúng em xin chân thành cảm ơn.
Sinh viên thực hiện :
1. Trịnh Văn Dũng: SĐT : 01646568864

Email:
2. Đào Thu Hường: SĐT : 0972773240

Email:

7

BÁO CÁO THỰC TẬP CƠ SỞ 8

PHẦN 1 : TỔNG QUAN ĐỀ TÀI
1.1. Lý do chọn đề tài

Chúng em thực hiện báo cáo này với mong muốn nghiên cứu những đặc trưng cơ
bản của hệ thống phát hiện và ngăn chặn thâm nhập trái phép với vai trò là phương
pháp bảo mật mới bổ sung cho những phương pháp bảo mật hiện tại, có thể ứng dụng
vào thực tiễn nhằm đảm bảo sự an toàn cho các hệ thống và chất lượng dịch vụ cho
người dùng.
IDS/IPS không chỉ là công cụ phân tích các gói tin trên mạng, từ đó đưa ra cảnh
báo đến người quản trị mà nó còn cung cấp những thông tin sau:


Các sự kiện tấn công.
Phương thức tấn công.
Nguồn gốc tấn công.
Dấu hiệu tấn công.

Loại thông tin này ngày càng trở nên quan trọng khi các nhà quản trị mạng muốn
thiết kế và thực hiện chương trình bảo mật thích hợp cho một cho một tổ chức riêng
biệt. Một số lý do để thêm IDS/IPS cho hệ thống tường lửa là:



Kiểm tra hai lần nếu hệ thống tường lửa cấu hình sai.
Ngăn chặn các cuộc tấn công được cho phép thông qua tường lửa.
Làm cho nỗ lực tấn công bị thất bại.
Nhận biết các cuộc tấn công từ bên trong.

1.2. Phân tích hiện trạng
- Trên 90% các mạng được kết nối đang sử dụng IDS/IPS để phát hiện lỗ hổng bảo
mật hệ thống.
- Mỗi năm, Việt Nam phải chịu thiệt hại hàng nghìn tỉ đồng vì các cuộc tấn công
mạng, phá hoại máy tính, kéo theo hàng triệu công việc bị ảnh hưởng do sự xâm
nhập…
- Nếu sử dụng một phần mềm chống virus thì cần phải xem xét đến việc bổ sung thêm
một IDS/IPS cho chiến lược bảo mật của mình. Hầu hết các tổ chức sử dụng phần
mềm chống virus không sử dụng IDS/IPS.
- Ngày nay do công nghệ ngày càng phát triển nên không có một giải pháp bảo mật

nào có thể tồn tại lâu dài. Theo đánh giá của các tổ chức hàng đầu về công nghệ thông
tin trên thế giới, tình hình an ninh mạng vẫn trên đà bất ổn và tiếp tục được coi là năm
“báo động đỏ” của an ninh mạng toàn cầu khi có nhiều lỗ hổng an ninh nghiêm trọng
được phát hiện, hình thức tấn công thay đổi và có nhiều cuộc tấn công của giới tội
phạm công nghệ cao vào các hệ thống công nghệ thông tin của các doanh nghiệp.
- Lấy ví dụ về cuộc tấn công mạng chiều 29/07/2016 vào công tác phục vụ bay của các
sân bay lớn Nội Bài, Tân Sơn Nhất… là cuộc tấn công mạng có chuẩn bị công phu (sử
dụng mã độc không bị nhận diện bởi các các phần mềm chống virus); xâm nhập cả
chiều sâu (kiểm soát cả một số máy chủ quan trọng như cổng thông tin, cơ sở dữ liệu
khách hàng) và chiều rộng (nhiều máy tính ở các bộ phận chức năng khác nhau, vùng
8

BÁO CÁO THỰC TẬP CƠ SỞ 9

miền khác nhau đều bị nhiễm); phát động tấn công đồng loạt và có liên quan tới các sự
kiện kinh tế, chính trị.
- Hệ thống phát hiện xâm nhập và ngăn chặn trái phép IDS/IPS là một phương pháp
bảo mật có khả năng chống lại các kiểu tấn công mới, các vụ lạm dụng, dùng sai xuất
phát từ trong hệ thống và có thể hoạt động tốt với các phương pháp bảo mật truyền
thống. Nó đã được nghiên cứu, phát triển và ứng dụng từ lâu trên thế giới và đã thể
hiện vai trò quan trọng trong các chính sách bảo mật, an toàn thông tin.
1.3. Nội dung nghiên cứu
 Tổng quan về đề tài
 Tìm hiểu tổng quan về IDS/IPS
 Tổng quan về Snort
 Triển khai hệ thống phát hiện và ngăn chặn, thử nghiệm trên Snort
 Kết luận và hướng phát triển
1.4. Ý nghĩa thực tiễn của đề tài
- Nghiên cứu các vấn đề kỹ thuật của hệ thống phát hiện và ngăn chặn xâm nhập.

- Phân tích, đánh giá được các nguy cơ xâm nhập và tấn công trái phép đối với hệ
thống mạng.
- Đưa ra một giải pháp an ninh hữu ích cho hệ thống mạng của tổ chức, doanh
nghiệp…

PHẦN 2 : TÌM HIỂU TỔNG QUAN VỀ IDS/IPS
2.1.

Giới thiệu về IDS/IPS
9

BÁO CÁO THỰC TẬP CƠ SỞ 10

2.1.1 Định nghĩa
Hệ thống phát hiện xâm nhập (IDS) là hệ thống có nhiệm vụ theo dõi, phát hiện và
(có thể) ngăn cản sự xâm nhập, cũng như các hành vi khai thác trái phép tài nguyên
của hệ thống được bảo vệ mà có thể dẫn đến việc làm tổn hại đến tính bảo mật, tính
toàn vẹn và tính sẵn sàng của hệ thống.
Hệ thống IDS sẽ thu thập thông tin từ rất nhiều nguồn trong hệ thống được bảo vệ
sau đó tiến hành phân tích những thông tin đó theo các cách khác nhau để phát hiện
những xâm nhập trái phép. Khi một hệ thống IDS có khả năng ngăn chặn các nguy cơ
xâm nhập mà nó phát hiện được thì nó được gọi là một hệ thống phòng chống xâm
nhập hay IPS. Chức năng chính của IPS là xác định các hoạt động nguy hại, lưu giữ
các thông tin này. Sau đó kết hợp với firewall để dừng ngay các hoạt động này, và cuối
cùng đưa ra các báo cáo chi tiết về các hoạt động xâm nhập trái phép trên.
2.1.2. Vị trí đặt IDS/IPS trong mô hình mạng

Hình 1. Đặt trước Firewall

Hình 2. Đặt giữa Firewall và DMZ

10

BÁO CÁO THỰC TẬP CƠ SỞ 11

Hình 3. Là một module trong giải pháp UTM

2.1.3. Sự khác nhau giữa IDS và IPS
Hệ thống IPS được xem là trường hợp mở rộng của hệ thống IDS, cách thức hoạt
động cũng như đặc điểm của 2 hệ thống này tương tự nhau. Điểm khác nhau duy nhất
là hệ thống IPS ngoài khả năng theo dõi, giám sát thì còn có chức năng ngăn chặn kịp
thời các hoạt động nguy hại đối với hệ thống. Hệ thống IPS sử dụng tập luật tương tự
như hệ thống IDS
Có thể nhận thấy sự khác biệt giữa hai khái niệm ngay ở tên gọi: “phát hiện” và
“ngăn chặn”. Các hệ thống IDS được thiết kế với mục đích chủ yếu là phát hiện và
cảnh báo các nguy cơ xâm nhập đối với mạng máy tính nó đang bảo vệ trong khi đó,
một hệ thống IPS ngoài khả năng phát hiện còn có thể tự hành động chống lại các
nguy cơ theo các quy định được người quản trị thiết lập sẵn.
Tuy vậy, sự khác biệt này trên thực tế không thật sự rõ ràng. Một số hệ thống IDS
được thiết kế với khả năng ngăn chặn như một chức năng tùy chọn. Trong khi đó một
số hệ thống IPS lại không mang đầy đủ chức năng của một hệ thống phòng chống theo
đúng nghĩa.
Một câu hỏi được đặt ra là lựa chọn giải pháp nào, IDS hay IPS? Câu trả lời tùy
thuộc vào quy mô, tính chất của từng mạng máy tính cụ thể cũng như chính sách an
ninh của những người quản trị mạng. Trong trường hợp các mạng có quy mô nhỏ, với
một máy chủ an ninh, thì giải pháp IPS thường được cân nhắc nhiều hơn do tính chất
kết hợp giữa phát hiện, cảnh báo và ngăn chặn của nó. Tuy nhiên với các mạng lơn
hơn thì chức năng ngăn chặn thường được giao phó cho một sản phẩm chuyên dụng

như một firewall chẳng hạn. Khi đó, hệ thống cảnh báo sẽ chỉ cần theo dõi, phát hiện
và gửi các cảnh báo đến một hệ thống ngăn chặn khác. Sự phân chia trách nhiệm này
sẽ làm cho việc đảm bảo an ninh cho mạng trở nên linh động và hiệu quả hơn.

11

BÁO CÁO THỰC TẬP CƠ SỞ 12

Phân loại IDS/IPS
Cách thông thường nhất để phân loại các hệ thống IDS (cũng như IPS) 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 thành các loại sau:
• Host-based (HIDS/HIPS): 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 (NIDS/NIPS): 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.
2.2.

2.2.1. Network based – NIDS/NIPS
NIDS/NIPS thường bao gồm có hai thành phần logic:
• Bộ cảm biến – Sensor: đặt tại một đoạn mạng, kiểm soát các cuộc lưu thông
nghi ngờ trên đoạn mạng đó.
• Trạm quản lý: nhận các tín hiệu cảnh báo từ bộ cảm biến và thông báo cho một
điều hành viên.

Hình 2.2.1. Mô hình NIDS/NIPS

Một NIDS/NIPS truyền thống với hai bộ cảm biến trên các đoạn mạng khác nhau
cùng giao tiếp với một trạm kiểm soát.

Ưu điểm

12

BÁO CÁO THỰC TẬP CƠ SỞ 13

• Chi phí thấp: Do chỉ cần cài đặt NIDS/NIPS ở 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/HIPS bỏ qua: Khác với
HIDS/HIPS, NIDS/NIPS 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ỉ bị phát hiện khi xem header của các gói tin lưu
chuyển trên mạng.
Khó xoá bỏ dấu vết (evidence): 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/HIPS khó có đủ thông tin để hoạt động. NIDS/NIPS 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ể xoá
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à ngăn chặn kịp thời: NIDS/NIPS 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/NIPS
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.
Có tính độc lập cao: Lỗi hệ thống không có ảnh hưởng đáng kể nào đối với
công việc của các máy trên mạng. Chúng chạy trên một hệ thống chuyên dụng
dễ dàng cài đặt; đơn thuần chỉ mở thiết bị ra, thực hiện một vài sự thay đổi cấu
hình và cắm chúng vào trong mạng tại một vị trí cho phép nó kiểm soát các
cuộc lưu thông nhạy cảm.

Nhược điểm:
• Bị hạn chế với Switch: Nhiều lợi điểm của NIDS/NIPS không phát huy được
trong các mạng chuyển mạch hiện đại. Thiết bị switch chia mạng thành nhiều
phần độc lập vì thế NIDS/NIPS khó thu thập được thông tin trong toàn mạng.
Do chỉ kiểm tra mạng trên đoạn mà nó trực tiếp kết nối tới, nó không thể phát
hiện một cuộc tấn công xảy ra trên các đoạn mạng khác. Vấn đề này dẫn tới yêu
cầu tổ chức cần phải mua một lượng lớn các bộ cảm biến để có thể bao phủ hết
toàn mạng gây tốn kém về chi phí cài đặt.
• Hạn chế về hiệu năng: NIDS/NIPS 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 hoá 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 và ngăn chặn xâm nhập có thể
cần truyền một dung lượng dữ liệu lớn trở về hệ thống phân tích trung tâm, có
nghĩa là một gói tin được kiểm soát sẽ sinh ra một lượng lớn tải phân tích. Để
13

BÁO CÁO THỰC TẬP CƠ SỞ 14

khắc phục người ta thường sử dụng các tiến trình giảm dữ liệu linh hoạt để
giảm bớt số lượng các lưu thông được truyền tải. Họ cũng thường thêm các chu
trình tự ra các quyết định vào các bộ cảm biến và sử dụng các trạm trung tâm
như một thiết bị hiển thị trạng thái hoặc trung tâm truyền thông hơn là thực hiện
các phân tích thực tế. Điểm bất lợi là nó sẽ cung cấp rất ít thông tin liên quan
cho các bộ cảm biến; bất kỳ bộ cảm biến nào sẽ không biết được việc một bộ
cảm biến khác dò được một cuộc tấn công. Một hệ thống như vậy sẽ không thể
dò được các cuộc tấn công hiệp đồng hoặc phức tạp.
Một hệ thống NIDS/NIPS thường gặp khó khăn trong việc xử lý các cuộc tấn
công trong một phiên được mã hoá. Lỗi này càng trở nên trầm trọng khi nhiều
công ty và tổ chức đang áp dụng mạng riêng ảo VPN.
Một số hệ thống NIDS/NIPS 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/NIPS hoạt động sai và đổ vỡ.

2.2.2. Host based - HIDS/HIPS
Host-based IDS tìm kiếm dấu hiệu của xâm nhập vào một host cục bộ, thường sử
dụng các cơ chế kiểm tra và phân tích các thông tin được logging. Nó tìm kiếm các
hoạt động bất thường như login, truy nhập file không thích hợp, bước leo thang các
đặc quyền không được chấp nhận. Kiến trúc IDS này thường dựa trên các luật (rulebased) để phân tích các hoạt động. Ví dụ ặc quyền của người sử dụng cấp cao chỉ có
thể đạt được thông qua lệnh su-select user, như vậy những cố gắng liên tục để login
vào account root có thể được coi là một cuộc tấn công.
Ưu điểm

• Xác định được kết quả của cuộc tấn công: Do HIDS/HIPS 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/NIPS. Vì thế, HIDS/HIPS 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/NIPS.
Giám sát được các hoạt động cụ thể của hệ thống: HIDS/HIPS có thể giám sát
các hoạt động mà NIDS/NIPS 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
host-based IDS/IPS 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ệ network-based IDS.
Phát hiện các xâm nhập mà NIDS/NIPS bỏ qua: chẳng hạn kẻ đột nhập sử dụng
bàn phím xâm nhập vào một server sẽ không bị NIDS/NIPS phát hiện.
Thích nghi tốt với môi trường chuyển mạch, mã hoá: Việc chuyển mạch và mã
hoá thực hiện trên mạng và do HIDS/HIPS cài đặt trên máy nên nó không bị
ảnh hưởng bởi hai kỹ thuật trên.
14

BÁO CÁO THỰC TẬP CƠ SỞ 15

• Không yêu cầu thêm phần cứng: Được cài đặt trực tiếp lên hạ tầng mạng có sẵn
(FTP Server, WebServer) nên HIDS/HIPS không yêu cầu phải cài đặt thêm các

phần cứng khác.
Nhược điểm:

• Khó quản trị: các hệ thống host-based yêu cầu phải được cài đặt trên tất cả các

thiết bị đặc biệt mà bạn muốn bảo vệ. Đây là một khối lượng công việc lớn để
cấu hình, quản lí, cập nhật.
Thông tin nguồn không an toàn: một vấn đề khác kết hợp với các hệ thống
host-based là nó hướng đến việc tin vào nhật ký mặc định và năng lực kiểm
soát của server. Các thông tin này có thể bị tấn công và đột nhập dẫn đến hệ
thống hoạt đông sai, không phát hiện được xâm nhập.
Hệ thống host-based tương đối đắt: nhiều tổ chức không có đủ nguồn tài chính
để bảo vệ toàn bộ các đoạn mạng của mình sử dụng các hệ thống host-based.
Những tổ chức đó phải rất thận trọng trong việc chọn các hệ thống nào để bảo
vệ. Nó có thể để lại các lỗ hổng lớn trong mức độ bao phủ phát hiện xâm nhập.
Ví dụ như một kẻ tấn công trên một hệ thống láng giềng không được bảo vệ có
thể đánh hơi thấy các thông tin xác thực hoặc các tài liệu dễ bị xâm phạm khác
trên mạng.
Chiếm tài nguyên hệ thống: Do cài đặt trên các máy cần bảo vệ nên HIDS/HIPS
phải sử dụng các tài nguyên của hệ thống để hoạt động như: bộ vi xử lí, RAM,
bộ nhớ ngoài.

Cơ chế hoạt động của hệ thống IDS/IPS
Có ba 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à:

• Phát hiện sự lạm dụng (Misuse Detection Model): Hệ thống sẽ phát hiện các
xâm nhập bằng cách tìm kiếm các hành động tương ứng với các kĩ thuật xâm
nhập đã được biết đến (dựa trên các dấu hiệu - signatures) hoặc các điểm dễ bị
tấn công của hệ thống.
• Phát hiện sự bất thường (Anomaly Detection Model): Hệ thống sẽ phát hiện
các xâm nhập bằng cách tìm kiếm các hành động khác với hành vi thông
thường của người dùng hay hệ thống.
• Phát hiện thông qua Protocol: Tương tự như việc phát hiện dựa trên dấu hiệu,
nhưng nó thực hiện một sự phân tích theo chiều sâu của các giao thức được xác
định cụ thể trong gói tin.

2.3.

Phát hiện sự lạm dụng
Phát hiện sự lạm dụng 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 sự lạm dụng chỉ thực hiện kiểm soát đối với các mẫu
2.3.1.

15

BÁO CÁO THỰC TẬP CƠ SỞ 16

đã 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ờ.
Ở đây, ta sử dụng thuật ngữ kịch bản xâm nhập (intrusion scenario). Một hệ thống
phát hiện sự lạm dụng điển hình sẽ liên tục so sánh hành động của hệ thống hiện tại
với một tập các kịch bản xâm nhập để cố gắng dò ra kịch bản đang được tiến hành. Hệ

thống này có thể xem xét hành động hiện tại của hệ thống được bảo vệ trong thời gian
thực hoặc có thể là các bản ghi kiểm tra được ghi lại bởi hệ điều hành.
Các kỹ thuật để phát hiện sự lạm dụng khác nhau ở cách thức mà chúng mô hình
hoá các hành vi chỉ định một sự xâm nhập. Các hệ thống phát hiện sự lạm dụng thế hệ
đầu tiên sử dụng các luật (rules) để mô tả những gì mà các nhà quản trị an ninh tìm
kiếm trong hệ thống. Một lượng lớn tập luật được tích luỹ dẫn đến khó có thể hiểu và
sửa đổi bởi vì chúng không được tạo thành từng nhóm một cách hợp lý trong một kịch
bản xâm nhập.
Để giải quyết khó khăn này, các hệ thống thế hệ thứ hai đưa ra các biểu diễn kịch
bản xen kẽ, bao gồm các tổ chức luật dựa trên mô hình và các biểu diễn về phép biến
đổi trạng thái. Điều này sẽ mang tính hiệu quả hơn đối với người dùng hệ thống cần
đến sự biểu diễn và hiểu rõ ràng về các kịch bản. Hệ thống phải thường xuyên duy trì
và cập nhật để đương đầu với những kịch bản xâm nhập mới được phát hiện.
Do các kịch bản xâm nhập có thể được đặc tả một cách chính xác, các hệ thống
phát hiện sự lạm dụng sẽ dựa theo đó để theo vết hành động xâm nhập. Trong một
chuỗi hành động, hệ thống phát hiện có thể đoán trước được bước tiếp theo của hành
động xâm nhập. Bộ dò tìm phân tích thông tin hệ thống để kiểm tra bước tiếp theo, và
khi cần sẽ can thiệp để làm giảm bởi tác hại có thể.
Phát hiện sự bất thường
Dựa trên việc định nghĩa và mô tả đặc điểm của các hành vi có thể chấp nhận của
hệ thống để phân biệt chúng với các hành vi không mong muốn hoặc bất thường, tìm
ra các thay đổi, các hành vi bất hợp pháp. Như vậy, bộ phát hiện sự không bình thường
phải có khả năng phân biệt giữa những hiện tượng thông thường và hiện tượng bất
thường.
Ranh giới giữa dạng thức chấp nhận được và dạng thức bất thường của đoạn mã
và dữ liệu lưu trữ được định nghĩa rõ ràng (chỉ cần một bit khác nhau), còn ranh giới
giữa hành vi hợp lệ và hành vi bất thýờng thì khó xác định hơn. Phát hiện sự không
bình thường được chia thành hai loại tĩnh và động
2.3.2.

Phát hiện tĩnh
Dựa trên giả thiết ban đầu là phần hệ thống được kiểm soát phải luôn luôn không
đổi. Ở đây, ta chỉ quan tâm đến phần mềm của vùng hệ thống đó (với giả sử là phần
cứng không cần phải kiểm tra). Phần tĩnh của một hệ thống bao gồm 2 phần con: mã
hệ thống và dữ liệu của phần hệ thống đó. Hai thông tin này đều được biểu diễn dưới
dạng một xâu bit nhị phân hoặc một tập các xâu. Nếu biểu diễn này có sự sai khác so
với dạng thức gốc thì hoặc có lỗi xảy ra hoặc một kẻ xâm nhập nào đó đã thay đổi nó.
Lúc này, bộ phát hiện tĩnh sẽ được thông báo để kiểm tra tính toàn vẹn dữ liệu.
2.3.2.1.

16

BÁO CÁO THỰC TẬP CƠ SỞ 17

Cụ thể là: bộ phát hiện tĩnh đưa ra một hoặc một vài xâu bit cố định để định nghĩa
trạng thái mong muốn của hệ thống. Các xâu này giúp ta thu được một biểu diễn về
trạng thái đó, có thể ở dạng nén. Sau đó, nó so sánh biểu diễn trạng thái thu được với
biểu diễn tương tự được tính toán dựa trên trạng thái hiện tại của cùng xâu bit cố định.
Bất kỳ sự khác nhau nào đều là thể hiện lỗi như hỏng phần cứng hoặc có xâm nhập.
Biểu diễn trạng thái tĩnh có thể là các xâu bit thực tế được chọn để định nghĩa cho
trạng thái hệ thống, tuy nhiên điều đó khá tốn kém về lưu trữ cũng như về các phép
toán so sánh. Do vấn đề cần quan tâm là việc tìm ra được sự sai khác để cảnh báo xâm
nhập chứ không phải chỉ ra sai khác ở đâu nên ta có thể sử dụng dạng biểu diễn được
nén để giảm chi phí. Nó là giá trị tóm tắt tính được từ một xâu bit cơ sở. Phép tính
toán này phải đảm bảo sao cho giá trị tính được từ các xâu bit cơ sở khác nhau là khác
nhau. Có thể sử dụng các thuật toán checksums, message-digest (phân loại thông
điệp), các hàm băm.
Một số bộ phát hiện xâm nhập kết hợp chặt chẽ với meta-data (dữ liệu mô tả các
đối tượng dữ liệu) hoặc thông tin về cấu trúc của đối tượng được kiểm tra. Ví dụ,

meta-data cho một log file bao gồm kích cỡ của nó. Nếu kích cỡ của log file tăng thì
có thể là một dấu hiệu xâm nhập.
Phát hiện động
Trước hết ta đưa ra khái niệm hành vi của hệ thống (behavior). Hành vi của hệ
thống được định nghĩa là một chuỗi các sự kiện phân biệt, ví dụ như rất nhiều hệ thống
phát hiện xâm nhập sử dụng các bản ghi kiểm tra (audit record), sinh ra bởi hệ điều
hành để định nghĩa các sự kiện liên quan, trong trường hợp này chỉ những hành vi mà
kết quả của nó là việc tạo ra các bản ghi kiểm tra của hệ điều hành mới được xem xét.
Các sự kiện có thể xảy ra theo trật tự nghiêm ngặt hoặc không và thông tin phải
được tích luỹ. Các ngưỡng được định nghĩa để phân biệt ranh giới giữa việc sử dụng
tài nguyên hợp lý hay bất thường.
Nếu không chắc chắn hành vi là bất thường hay không, hệ thống có thể dựa vào
các tham số được thiết lập trong suốt quá trình khởi tạo liên quan đến hành vi. Ranh
giới trong trường hợp này là không rõ ràng do đó có thể dẫn đến những cảnh báo sai.
Cách thức thông thường nhất để xác định ranh giới là sử dụng các phân loại thống
kê và các độ lệch chuẩn. Khi một phân loại được thiết lập, ranh giới có thể được vạch
ra nhờ sử dụng một số độ lệch chuẩn. Nếu hành vi nằm bên ngoài thì sẽ cảnh báo là có
xâm nhập.
Cụ thể là: các hệ thống phát hiện động thường tạo ra một profile (dữ liệu) cơ sở để
mô tả đặc điểm các hành vi bình thường, chấp nhận được. Một dữ liệu bao gồm tập
các đo lường được xem xét về hành vi, mỗi đại lượng đo lường gồm nhiều chiều:
• Liên quan đến các lựa chọn: thời gian đăng nhập, vị trí đăng nhập,…
• Các tài nguyên được sử dụng trong cả quá trình hoặc trên một đơn vị thời gian:
chiều dài phiên giao dịch, số các thông điệp gửi ra mạng trong một đơn vị thời
gian,…
• Chuỗi biểu diễn các hành động.
2.3.2.2.

17

BÁO CÁO THỰC TẬP CƠ SỞ 18

Sau khi khởi tạo dữ liệu cơ sở, quá trình phát hiện xâm nhập có thể được bắt đầu.
Phát hiện động lúc này cũng giống như phát hiện tĩnh ở đó chúng kiểm soát hành vi
bằng cách so sánh mô tả đặc điểm hiện tại về hành vi với mô tả ban đầu của hành vi
được mong đợi (chính là dữ liệu cơ sở), để tìm ra sự khác nhau. Khi hệ thống phát
hiện xâm nhập thực hiện, nó xem xét các sự kiện liên quan đến thực thể hoặc các hành
động là thuộc tính của thực thể. Chúng xây dựng thêm một dữ liệu hiện tại.
Các hệ thống phát hiện xâm nhập thế hệ trước phải phụ thuộc vào các bản ghi kiểm
tra (audit record) để bắt giữ các sự kiện hoặc các hành động liên quan. Các hệ thống
sau này thì ghi lại một cơ sở dữ liệu đặc tả cho phát hiện xâm nhập. Một số hệ thống
hoạt động với thời gian thực, hoặc gần thời gian thực, quan sát trực tiếp sự kiện trong
khi chúng xảy ra hơn là đợi hệ điều hành tạo ra bản ghi mô tả sự kiện.
Khó khăn chính đối với các hệ thống phát hiện động là chúng phải xây dựng các
dữ liệu cơ sở một cách chính xác, và sau đó nhận dạng hành vi sai trái nhờ các dữ
liệu.
Các dữ liệu cơ sở có thể xây dựng nhờ việc giả chạy hệ thống hoặc quan sát hành vi
người dùng thông thường qua một thời gian dài.
2.3.3.

So sánh giữa hai mô hình
Phát hiện sự lạm dụng


Phát hiện sự bất thường

Bao gồm:

Cơ sở dữ liệu các dấu hiệu tấn công.
Tìm kiếm các so khớp mẫu đúng.

Bao gồm:
• Cơ sở dữ liệu các hành động thông
thường.
• Tìm kiếm độ lệch của hành động thực tế
so với hành động thông thường.
Hiệu quả trong việc phát hiện các dạng tấn Hiệu quả trong việc phát hiện các dạng
công đã biết, hay các biến thể (thay đổi tấn công mới mà một hệ thống phát hiện
nhỏ) của các dạng tấn công đã biết. Không sự lạm dụng bỏ qua.
phát hiện được các dạng tấn công mới.
Dễ cấu hình hơn do đòi hỏi ít hơn về thu
thập dữ liệu, phân tích và cập nhật

Khó cấu hình hơn vì đưa ra nhiều dữ
liệu hơn, phải có được một khái niệm
toàn diện về hành vi đã biết hay hành vi
được mong đợi của hệ thống

Đưa ra kết luận dựa vào phép so khớp mẫu Đưa ra kết quả dựa vào tương quan
(pattern matching).
bằng thống kê giữa hành vi thực tế và
hành vi được mong đợi của hệ thống
(hay chính là dựa vào độ lệch giữa
thông tin thực tế và ngưỡng cho phép).
Có thể kích hoạt một thông điệp cảnh báo Có thể hỗ trợ việc tự sinh thông tin hệ
nhờ một dấu hiệu chắc chắn, hoặc cung thống một cách tự động nhưng cần có
cấp dữ liệu hỗ trợ cho các dấu hiệu khác.
thời gian và dữ liệu thu thập được phải

rõ ràng.
18

BÁO CÁO THỰC TẬP CƠ SỞ 19

Bảng 1. So sánh giữa hai mô hình phát hiện

Để có được một hệ thống phát hiện và ngăn chặn xâm nhập tốt nhất ta tiến hành kết
hợp cả hai phương pháp trên trong cùng một hệ thống. Hệ thống kết hợp này sẽ cung
cấp khả năng phát hiện và ngăn chặn nhiều loại tấn công hơn, hiệu quả hơn.

Hình 4. Hệ thống kết hợp hai mô hình phát hiện

Phát hiện thông qua Protocol
Tương tự như việc phát hiện dựa trên dấu hiệu, nhưng nó thực hiện một sự
phân tích theo chiều sâu của các giao thức được xác định cụ thể trong gói tin. Sau
đây là cấu trúc của một gói tin:
2.3.4.

19

BÁO CÁO THỰC TẬP CƠ SỞ 20

Hình 5: Cấu trúc IP Header

Thuộc tính Source Address và giúp cho IDS biết được nguồn gốc của cuộc tấn
công.

20

BÁO CÁO THỰC TẬP CƠ SỞ 21

Hình 6: Cấu trúc TCP Header.

Các hệ thống IDS/IPS khác nhau đều dựa vào phát hiện các xâm nhập trái phép
và những hành động dị thường. Quá trình phát hiện có thể được mô tả bởi 3 yếu tố
cơ bản nền tảng sau:
Thu thập thông tin: Kiểm tra tất cả các gói tin trên mạng.
Sự phân tích : Phân tích tất cả các gói tin đã thu thập để cho biết hành động nào
là tấn công.
• Cảnh báo : hành động cảnh báo cho sự tấn công được phân tích ở trên.

2.4. Một số sản phẩm của IDS/IPS

Phần này giới thiệu một số sản phẩm IDS, IPS thương mại cũng như miễn phí phổ
biến, những sản phẩm điển hình trong lĩnh vực phát hiện và phòng chống xâm nhập.
• Cisco IDS-4235
Cisco IDS (còn có tên là NetRanger) là một hệ thống NIDS/NIPS, có khả năng theo
dõi toàn bộ lưu thông mạng và đối sánh từng gói tin để phát hiện các dấu hiệu xâm
nhập.
21

BÁO CÁO THỰC TẬP CƠ SỞ 22

Cisco IDS là một giải pháp riêng biệt, được Cisco cung cấp đồng bộ phần cứng và
phần mềm trong một thiết bị chuyên dụng.
Giải pháp kỹ thuật của Cisco IDS là một dạng lai giữa giải mã (decode) và đối sánh
(grep). Cisco IDS hoạt động trên một hệ thống Unix được tối ưu hóa về cấu hình và có
giao diện tương tác CLI (Cisco Command Line Interface) quen thuộc của Cisco.
• ISS Proventia A201
Proventia A201 là sản phẩm của hãng Internet Security Systems. Về mặt bản chất,
Proventia không chỉ là một hệ thống phần mềm hay phần cứng mà nó là một hệ thống
các thiết bị được triển khai phân tán trong mạng được bảo vệ. Một hệ thống Proventia
bao gồm các thiết bị sau:
- Intrusion Protection Appliance: Là trung tâm của toàn bộ hệ thống Proventia.
Nó lưu trữ các cấu hình mạng, các dữ liệu đối sánh cũng như các quy định về
chính sách của hệ thống. Về bản chất, nó là một phiên bản Linux với các driver
thiết bị mạng được xây dựng tối ưu cũng như các gói dịch vụ được tối thiểu
hóa.
- Proventia Network Agent: Đóng vai trò như các bộ cảm biến (sensor). Nó được
bố trí tại những vị trí nhạy cảm trong mạng nhằm theo dõi toàn bộ lưu thông
trong mạng và phát hiện những nguy cơ xâm nhập tiềm ẩn.
- SiteProtector: Là trung tâm điều khiển của hệ thống Proventia. Đây là nơi
người quản trị mạng điều khiển toàn bộ cấu hình cũng như hoạt động của hệ
thống.
Với giải pháp của Proventia, các thiết bị sẽ được triển khai sao cho phù hợp với cấu
hình của từng mạng cụ thể để có thể đạt được hiệu quả cao nhất.
• NFR NID-310
NFR là sản phẩm của NFR Security Inc. Cũng giống như Proventia, NFR NID là một
hệ thống hướng thiết bị (appliance-based). Điểm đặc biệt trong kiến trúc của NFR NID
là họ các bộ cảm biến có khả năng thích ứng với rất nhiều mạng khác nhau từ mạng
10Mbps đến các mạng gigabits với thông lượng rất lớn.
Một điểm đặc sắc của NFR NID là mô hình điều khiển ba lớp. Thay vì các thiết bị
trong hệ thống được điểu khiển trực tiếp bởi một giao diện quản trị (Administration

Interface – AI) riêng biệt, NFR cung cấp một cơ chế điều khiển tập trung với các
middle-ware làm nhiệm vụ điều khiển trực tiếp các thiết bị.
• SNORT
Snort là phần mềm IDS mã nguồn mở, được phát triển bởi Martin Roesh. Snort đầu
tiên được xây dựng trên nền Unix sau đó phát triển sang các nền tảng khác. Snort được
đánh giá là IDS mã nguồn mở đáng chú ý nhất với những tính năng rất mạnh. (Chi tiết
về Snort sẽ được trình bày trong Phần III của đề tài).

22

BÁO CÁO THỰC TẬP CƠ SỞ 23

PHẦN 3 : TỔNG QUAN VỀ SNORT - IDS/IPS
3.1. Giới thiệu về snort
Snort là một NIDS/NIPS được Martin Roesh phát triển dưới mô hình mã nguồn
mở. Tuy Snort miễn phí nhưng nó lại có rất nhiều tính năng tuyệt vời mà không phải
sản phẩm thương mại nào cũng có thể có được. Với kiến trúc thiết kế theo kiểu
module, người dùng có thể tự tăng cường tính năng cho hệ thống Snort của mình bằng
việc cài đặt hay viết thêm mới các module. Cơ sở dữ liệu luật của Snort đã lên tới
2930 luật và được cập nhật thường xuyên bởi một cộng đồng người sử dụng. Snort có
thể chạy trên nhiều hệ thống nền như Windows, Linux, OpenBSD, FreeBSD, NetBSD,
Solaris, HP-UX, AIX, IRIX, MacOS.
Bên cạnh việc có thể hoạt động như một ứng dụng thu bắt gói tin thông thường,
Snort còn có thể được cấu hình để chạy như một NIDS/NIPS. Snort hỗ trợ khả năng
hoạt động trên các giao thức sau: Ethernet, 802.11,Token Ring, FDDI, Cisco HDLC,
SLIP, PPP, và PF của OpenBSD.
3.2. Kiến trúc của Snort
Snort bao gồm nhiều thành phần, với mỗi phần có một chức năng riêng. Các phần
chính đó là:





Module giải mã gói tin (Packet Decoder)
Module tiền xử lý (Preprocessors)
Module phát hiện (Detection Engine)
Module log và cảnh báo (Logging and Alerting System)
Module kết xuất thông tin (Output Module)
Kiến trúc của Snort được mô tả trong hình sau:

Hình 7. Mô hình kiến trúc hệ thống Snort

Khi Snort hoạt động nó sẽ thực hiện việc lắng nghe và thu bắt tất cả các gói tin nào
di chuyển qua nó. Các gói tin sau khi bị bắt được đưa vào module giải mã gói tin. Tiếp
theo gói tin sẽ được đưa vào module tiền xử lý, rồi module phát hiện. Tại đây tùy theo
việc có phát hiện được xâm nhập hay không mà gói tin có thể được bỏ qua để lưu
thông tiếp hoặc được đưa vào module log và cảnh báo để xử lý. Khi các cảnh báo được
xác định module kết xuất thông tin sẽ thực hiện việc đưa cảnh báo ra theo đúng định
23

BÁO CÁO THỰC TẬP CƠ SỞ 24

dạng mong muốn. Sau đây ta sẽ đi sâu vào chi tiết hơn về cơ chế hoạt động và chức
năng của từng thành phần.
3.2.1. Modun giải mã gói tin

Snort sử dụng thư viện pcap để bắt mọi gói tin trên mạng lưu thông qua hệ thống.
Hình sau mô tả việc một gói tin Ethernet sẽ được giải mã thế nào:

Hình 8. Xử lý một gói tin Ethernet

Một gói tin sau khi được giải mã sẽ được đưa tiếp vào module tiền xử lý.
3.2.2. Mô đun tiền xử lý
Module tiền xử lý là một module rất quan trọng đối với bất kỳ một hệ thống IDS
nào để có thể chuẩn bị gói dữ liệu đưa và cho module Phát hiện phân tích. Ba nhiệm
vụ chính của các module loại này là:

Kết hợp lại các gói tin: Khi một lượng dữ liệu lớn được gửi đi, thông tin sẽ
không đóng gói toàn bộ vào một gói tin mà phải thực hiện việc phân mảnh, chia
gói tin ban đầu thành nhiều gói tin rồi mới gửi đi. Khi Snort nhận được các gói
tin này nó phải thực hiện việc ghép nối lại để có được dữ liệu nguyên dạng ban
đầu, từ đó mới thực hiện được các công việc xử lý tiếp. Như ta đã biết khi một
phiên làm việc của hệ thống diễn ra, sẽ có rất nhiều gói tin đuợc trao đổi trong
phiên đó. Một gói tin riêng lẻ sẽ không có trạng thái và nếu công việc phát hiện
24

BÁO CÁO THỰC TẬP CƠ SỞ 25

xâm nhập chỉ dựa hoàn toàn vào gói tin đó sẽ không đem lại hiệu quả cao.
Module tiền xử lý stream giúp Snort có thể hiểu được các phiên làm việc khác
nhau (nói cách khác đem lại tính có trạng thái cho các gói tin) từ đó giúp đạt
được hiệu quả cao hơn trong việc phát hiện xâm nhập.

Giải mã và chuẩn hóa giao thức (decode/normalize): công việc phát hiện xâm
nhập dựa trên dấu hiệu nhận dạng nhiều khi bị thất bại khi kiểm tra các giao
thức có dữ liệu có thể được thể hiện dưới nhiều dạng khác nhau. Ví dụ: một
web server có thể chấp nhận nhiều dạng URL như URL được viết dưới dạng
mã hexa/Unicode, URL chấp nhận cả dấu \ hay / hoặc nhiều ký tự này liên tiếp
cùng lúc. Chẳng hạn ta có dấu hiệu nhận dạng “scripts/iisadmin”, kẻ tấn công
có thể vượt qua được bằng cách tùy biến các yêu cấu gửi đến web server như
sau:
“scripts/./iisadmin”
“scripts/examples/../iisadmin”
“scripts\iisadmin”
“scripts/.\iisadmin”
Hoặc thực hiện việc mã hóa các chuỗi này dưới dạng khác. Nếu Snort chỉ thực
hiện đơn thuần việc so sánh dữ liệu với dấu hiệu nhận dạng sẽ xảy ra tình trạng
bỏ sót các hành vi xâm nhập. Do vậy, một số module tiền xử lý của Snort phải
có nhiệm vụ giải mã và chỉnh sửa, sắp xếp lại các thông tin đầu vào này để
thông tin khi đưa đến module phát hiện có thể phát hiện được mà không bỏ sót.
Hiện nay Snort đã hỗ trợ việc giải mã và chuẩn hóa cho các giao thức: telnet,
http, rpc, arp.

Phát hiện các xâm nhập bất thường (nonrule /anormal): các plugin tiền xử lý
dạng này thường dùng để đối phó với các xâm nhập không thể hoặc rất khó
phát hiện được bằng các luật thông thường hoặc các dấu hiệu bất thường trong
giao thức. Các module tiền xử lý dạng này có thể thực hiện việc phát hiện xâm
nhập theo bất cứ cách nào mà ta nghĩ ra từ đó tăng cường thêm tính năng cho
Snort. Ví dụ, một plugin tiền xử lý có nhiệm vụ thống kê thông lượng mạng tại
thời điểm bình thường để rồi khi có thông lượng mạng bất thường xảy ra nó có
thể tính toán, phát hiện và đưa ra cảnh báo (phát hiện xâm nhập theo mô hình

thống kê). Phiên bản hiện tại của Snort có đi kèm hai plugin giúp phát hiện các
xâm nhập bất thường đó là portscan và bo (backoffice). Portcan dùng để đưa ra
cảnh báo khi kẻ tấn công thực hiện việc quét các cổng của hệ thống để tìm lỗ
hổng. Bo dùng để đưa ra cảnh báo khi hệ thống đã bị nhiễm trojan backoffice
và kẻ tấn công từ xa kết nối tới backoffice thực hiện các lệnh từ xa.

3.2.3. Module phát hiện
Đây là module quan trọng nhất của Snort. Nó chịu trách nhiệm phát hiện các dấu
hiệu xâm nhập. Module phát hiện sử dụng các luật được định nghĩa trước để so sánh
với dữ liệu thu thập được từ đó xác định xem có xâm nhập xảy ra hay không. Rồi tiếp
25