1. Trang chủ
  2. » Công Nghệ Thông Tin

Nghiên cứu, thử nghiệm các phương pháp phát hiện xâm nhập trái phép dựa trên phát hiện bất thường

79 460 2

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 79
Dung lượng 2,15 MB

Nội dung

Vì vậy, lựa chọn đề tài "Nghiên cứu, thử nghiệm các phương pháp phát hiện xâm nhập trái phép dựa trên phát hiện bất thường" nhằm phát hiện các hành động tấn công mạng, nâng cao khả năn

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

-

Nguyễn Thị Thu Hiền

NGHIÊN CỨU, THỬ NGHIỆM CÁC PHƯƠNG PHÁP PHÁT HIỆN XÂM NHẬP TRÁI PHÉP DỰA TRÊN PHÁT HIỆN BẤT THƯỜNG

Chuyên ngành: Công nghệ Thông tin

LUẬN VĂN THẠC SĨ KỸ THUẬT CÔNG NGHỆ THÔNG TIN

NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS Nguyễn Linh Giang

Hà Nội – 2015

Trang 2

MỤC LỤC

Lời cam đoan 4

Danh mục các ký hiệu, các chữ viết tắt 5

Danh mục các bảng 6

Danh mục các hình vẽ, đồ thị 7

MỞ ĐẦU 9

Chương 1 - TỔNG QUAN VỀ HỆ THỐNG PHÁT HIỆN XÂM NHẬP 12

1.1 Giới thiệu về hệ thống phát hiện xâm nhập 12

1.1.1 Khái niệm phát hiện xâm nhập 12

1.1.2 Hệ thống phát hiện xâm nhập 12

1.1.3 Vị trí của IDS trong mô hình mạng 13

1.2 Chức năng của IDS 14

1.3 Kiến trúc của IDS 14

1.4 Phân loại IDS 16

1.4.1 NIDS 16

1.4.2 HIDS 18

1.4.3 So sánh NIDS và HIDS 20

1.5 Kỹ thuật phát hiện xâm nhập 20

1.5.1 Phát hiện xâm nhập dựa trên sử dụng sai 21

1.5.2 Phát hiện xâm nhập dựa trên bất thường 22

1.5.3 So sánh hai phương pháp [3] [11] 23

1.6 Hệ thống phát hiện xâm nhập với Snort 24

1.6.1 Giới thiệu Snort 24

1.6.2 Kiến trúc của Snort 25

1.6.3 Chức năng của Snort 26

1.6.4 Một số minh hoạ khả năng phát hiện xâm nhập của Snort 30

Chương 2 - CÁC PHƯƠNG PHÁP PHÁT HIỆN XÂM NHẬP DỰA TRÊN BẤT THƯỜNG 36

2.1 Giới thiệu 36

Trang 3

2.2 Các phương pháp kỹ thuật phát hiện xâm nhập dựa trên bất thường 36 2.2.1 Phương pháp phát hiện xâm nhập bất thường dựa trên thống kê 37

2.2.2 Phương pháp phát hiện bất thường dựa trên khai phá dữ liệu 41

2.2.3 Phương pháp phát hiện dựa trên tri thức 45

2.2.4 Phương pháp phát hiện dựa trên học máy 48

Chương 3 - THỬ NGHIỆM THUẬT TOÁN CUSUM TRONG PHÁT HIỆN TẤN CÔNG SYN FLOODING 51

3.1 Các dạng tấn công tràn ngập mạng 51

3.1.1 TCP SYN flood 52

3.1.2 UDP flood 53

3.1.3 ICMP flood 54

3.2 Giới thiệu thuật toán CUSUM và đề xuất thực hiện 54

3.3 Thử nghiệm CUSUM 58

3.3.1 Mô hình thử nghiệm 58

3.3.2 Kịch bản thử nghiệm 60

3.3.3 Đánh giá kết quả thử nghiệm 64

3.4 Khả năng tích hợp CUSUM vào Snort 73

KẾT LUẬN 75

TÀI LIỆU THAM KHẢO 76

PHỤ LỤC 78

Trang 4

Lời cam đoan

Trước tiên, tôi xin chân thành cảm ơn và bày tỏ lòng biết ơn sâu sắc tới thầy giáo PGS.TS Nguyễn Linh Giang, Bộ môn Truyền thông và Mạng máy tính, Viện Công nghệ Thông tin và Truyền thông, Trường Đại học Bách Khoa Hà Nội, người

đã tận tình hướng dẫn, giúp đỡ tôi trong suốt quá trình hoàn thiện luận văn

Tôi cũng xin chân thành cảm ơn các thầy cô giáo trong Viện Công nghệ Thông tin và Truyền thông nói riêng và Đại học Bách Khoa Hà Nội nói chung đã chỉ dạy, cung cấp những kiến thức quý báu cho tôi trong suốt quá trình học tập và nghiên cứu tại trường

Cuối cùng tôi xin gửi lời cảm ơn sâu sắc tới gia đình, bạn bè và đồng nghiệp, những người luôn cổ vũ, quan tâm và giúp đỡ tôi trong suốt thời gian học tập và làm luận văn

Tôi cam đoan đây là công trình nghiên cứu của riêng tôi

Các số liệu và kết quả nêu trong luận văn là trung thực và chưa từng được ai công bố trong bất kỳ công trình nào khác

Tác giả

Nguyễn Thị Thu Hiền

Trang 5

Danh mục các ký hiệu, các chữ viết tắt

1 ID Intrusion Detection Phát hiện xâm nhập

2 IDS Intrusion Detection System Hệ thống phát hiện xâm nhập

3 NIDS Network-based IDS Hệ thống phát hiện xâm nhập dựa

trên mạng

4 HIDS Host-based IDS Hệ thống phát hiện xâm nhập dựa

trên host

5 DoS Denial Of Service Tấn công từ chối dịch vụ

6 DDoS Distributed Denial Of Service Tấn công từ chối dịch vụ phân tán

7 SBIDS Signature Based IDS Hệ thống phát hiện xâm nhập dựa

trên dấu hiệu

8 ABIDS Anomaly Based IDS Hệ thống phát hiện xâm nhập dựa

trên bất thường

9 CUSUM Cumulative SUM Thuật toán cộng tích luỹ

10 KPDL Data mining Khai phá dữ liệu

11 ADAM Audit Data Analysisand Mining Khai phá và phân tích dữ liệu

kiểm toán

12 SOM Self-Organizing Maps Bản đồ tự tổ chức

13 ICMP Internet Control Message

Giao thức điều khiển truyền vận

15 UDP User Datagram Protocol Giao thức không liên kết

16 SFD SYN Flooding detection Phát hiện tấn công SYN flooding

Trang 6

Danh mục các bảng

Bảng 3.1 Số lượng gói tin SYN, FIN và Y trong trạng thái hoạt động bình thường

với N=0.5 64

Bảng 3.2 Số lượng các gói tin và Y trong trạng thái bình thường với N=1 64

Bảng 3.3 Số lượng các gói tin và Y trong trạng thái bình thường với N=2 65

Bảng 3.4 Số lượng các gói tin trong trạng thái có tấn công SYN Flood với N=0.5 67 Bảng 3.5 Giá trị Y trong trạng thái có tấn công SYN Flood với N = 0.5 67

Bảng 3.6 Số lượng các gói tin trong trạng thái có tấn công SYN Flood với N=1 68

Bảng 3.7 Giá trị Y trong trạng thái có tấn công SYN Flood 69

Bảng 3.8 Số lượng các gói tin trong trạng thái có tấn công 69

Bảng 3.9 Giá trị Y trong trạng thái có tấn công SYN Flood 70

Bảng 3.10 Số lượng các gói tin trong trạng thái có tấn công 70

Bảng 3.11 Giá trị Y trong trạng thái có tấn công SYN Flood với N=2 71

Trang 7

Danh mục các hình vẽ, đồ thị

Hình 1.1 Các vị trí điển hình của một IDS [15] 13

Hình 1.2 Kiến trúc của IDS 15

Hình 1.3 NIDS Network 17

Hình 1.4 HIDS Network 19

Hình 1.5 Kiến trúc Snort [5] 25

Hình 1.6 Mô-đun tiền xử lý 27

Hình 1.7 Môđun phát hiện 28

Hình 1.8 Mô hình thử nghiệm Snort 30

Hình 1.9 Phát hiện gói tin kích thước bất thường 31

Hình 1.10 Phát hiện Ping of Death 32

Hình 1.11 Ping -t đến máy nạn nhân 32

Hình 1.12 Kết quả phát hiện ping -t 33

Hình 1.13 Thử tấn công web với từ khóa "hacker" 33

Hình 1.14 Phát hiện tấn công web ở Ví dụ 1 33

Hình 1.15 Thử tấn công web với từ khóa "sql" 34

Hình 1.16 Phát hiện tấn công web ở Ví dụ 2 34

Hình 1.17 Thử tấn công SYN flooding 35

Hình 1.18 Kết quả phát hiện SYN flooding trên Snort 35

Hình 2.1 Phân loại hệ thống IDS dựa trên bất thường 37

Hình 3.1 Quá trình thiết lập kết nối TCP 52

Hình 3.2 Tấn công SYN Flood 53

Hình 3.3 Sơ đồ thuật toán phát hiện bất thường dựa trên CUSUM 57

Hình 3.4 Mô hình thử nghiệm CUSUM 59

Hình 3.5 Bắt gói tin trên máy web server 61

Hình 3.6 Ghi kết quả bắt gói tin ra file 61

Hình 3.7 Giả lập người dùng thông thường gửi yêu cầu đến server 62

Hình 3.8 Kết quả chạy thuật toán CUSUM khi lưu lượng mạng bình thường 62

Hình 3.9 Tấn công máy Web server 63

Trang 8

Hình 3.10 Kết quả thuật toán CUSUM lúc tấn công với Y<=N 63

Hình 3.11 Cảnh báo tấn công khi Y > N 63

Hình 3.12 Đồ thị thuật toán CUSUM trong trạng thái lưu lượng mạng bình thường và sự biến động số các gói tin SYN-FIN hợp lệ với N=0.5 64

Hình 3.13 Đồ thị thuật toán CUSUM trong trạng thái lưu lượng mạng bình thường và các gói tin SYN-FIN hợp lệ với N = 1 65

Hình 3.14 Đồ thị thuật toán CUSUM trong trạng thái lưu lượng mạng bình thường và các gói SYN-FIN hợp lệ với N=2 66

Hình 3.15 Sự biến động số các gói SYN-FIN lúc có tấn công SYN Flood với N=0.5 67

Hình 3.16 Đồ thị thuật toán CUSUM khi có tấn công với N = 0.5 68

Hình 3.17 Sự biến đổi các gói SYN và FIN lúc có tấn công SYN Flood với N = 168 Hình 3.18 Đồ thị thuật toán CUSUM khi có tấn công với N = 1 69

Hình 3.19 Sự biến đổi các gói SYN và FIN lúc có tấn công SYN Flood với N=1 70 Hình 3.20 Đồ thị thuật toán CUSUM khi có tấn công với N = 1 70

Hình 3.21 Sự biến động các gói SYN và FIN lúc có tấn công SYN Flood với N=2 71

Hình 3.22 Đồ thị thuật toán CUSUM khi có tấn công với N = 2 71

Hình 3.23 Đồ thị phát hiện SYN flooding của phương pháp SFD với N=0.6 72

Hình 3.24 Vị trí CUSUM trong Snort 73

Trang 9

MỞ ĐẦU

- Lý do chọn đề tài

An ninh thông tin nói chung và an ninh mạng nói riêng đang là vấn đề được quan tâm không chỉ ở Việt Nam mà trên toàn thế giới Thời gian gần đây, các cơ quan, tổ chức đã tăng cường triển khai đào tạo, đầu tư mua sắm trang thiết bị và nghiên cứu các biện pháp nhằm đảm bảo an toàn thông tin cho máy tính cá nhân cũng như các mạng nội bộ Tuy nhiên, tình hình tấn công mạng vẫn thường xuyên xảy ra, có nhiều cơ quan, tổ chức bị đánh cắp thông tin… gây nên những hậu quả vô cùng nghiêm trọng, thủ đoạn của kẻ phá hoại ngày càng tinh vi Vì thế, bên cạnh việc phát triển các dịch vụ và ứng dụng trên mạng, việc làm thế nào để có thể phát hiện ra máy tính hoặc mạng máy tính của mình đang bị xâm nhập trái phép góp phần bảo đảm an toàn, bảo mật mạng là một vấn đề hết sức quan trọng cần được quan tâm nghiên cứu thường xuyên.

Hiện nay, các nghiên cứu tại Việt Nam cũng như trên thế giới về xây dựng một hệ thống phát hiện xâm nhập mạng trái phép dựa trên mã nguồn mở cũng phát triển mạnh, tuy nhiên tại Việt Nam các nghiên cứu này có mức độ triển khai vào thực tế là chưa cao Ngoài ra, các chương trình phát hiện xâm nhập hầu hết được tích hợp trên các thiết bị phần cứng nên việc khai thác chức năng, hoặc người dùng

tự phát triển mở rộng thêm chức năng của các chương trình này bị hạn chế Vì vậy,

lựa chọn đề tài "Nghiên cứu, thử nghiệm các phương pháp phát hiện xâm nhập

trái phép dựa trên phát hiện bất thường" nhằm phát hiện các hành động tấn công

mạng, nâng cao khả năng bảo đảm an toàn thông tin là một yêu cầu khách quan cần thiết trong giai đoạn hiện nay

- Mục tiêu nghiên cứu

+ Nghiên cứu các phương pháp phát hiện xâm nhập trái phép dựa trên phát hiện bất thường;

+ Thử nghiệm phát hiện xâm nhập dựa trên bất thường sử dụng phân tích thống kê lưu lượng nhằm áp dụng trong quản trị mạng hoặc phát hiện các xâm nhập trái phép vào hệ thống mạng

Trang 10

- Đối tượng, phạm vi nghiên cứu

+ Phương pháp phát hiện xâm nhập trái phép dựa trên bất thường;

+ Thuật toán phát hiện xâm nhập bất thường thống kê;

+ Thử nghiệm giải pháp phát hiện xâm nhập sử dụng phần mềm mã nguồn

mở Snort;

+ Thử nghiệm thuật toán CUSUM trong phát hiện tấn công SYN flooding Trong khuôn khổ đề tài, tôi đã tìm hiểu cơ bản về hệ thống phát hiện xâm nhập, thử nghiệm hệ thống Snort để phát hiện xâm nhập dựa trên dấu hiệu, đặc biệt tập trung nghiên cứu về các phương pháp phát hiện xâm nhập dựa trên bất thường

và lựa chọn thuật toán Tổng tích luỹ (CUSUM) để triển khai thử nghiệm Đề tài đã

đề xuất mô hình phát hiện xâm nhập trái phép dựa trên phương pháp phát hiện bất thường thống kê bằng việc thử nghiệm thuật toán CUSUM để phát hiện tấn công SYN flooding

- Ý nghĩa khoa học và thực tiễn của đề tài

- Phương pháp nghiên cứu

+ Nghiên cứu lý thuyết;

Trang 11

Chương 1: Tổng quan về hệ thống phát hiện xâm nhập Chương này giới

thiệu tổng quan về hệ thống phát hiện xâm nhập, các kỹ thuật phát hiện xâm nhập, trong đó giới thiệu hệ thống Snort và thử nghiệm đưa ra một số kết quả phát hiện xâm nhập dựa trên dấu hiệu

Chương 2: Các phương pháp phát hiện xâm nhập dựa trên bất thường

Chương này nghiên cứu về các phương pháp phát hiện xâm nhập dựa trên bất thường, ưu nhược điểm của từng phương pháp

Chương 3: Thử nghiệm thuật toán CUSUM trong phát hiện tấn công SYN flooding Chương này tìm hiểu về một số dạng tấn công tràn ngập mạng; giới

thiệu về thuật toán CUSUM và đề xuất mô hình phát hiện xâm nhập trái phép dựa trên phương pháp phát hiện bất thường thống kê bằng việc triển khai thử nghiệm thuật toán CUSUM để phát hiện tấn công SYN flooding

Trang 12

Chương 1 - TỔNG QUAN VỀ HỆ THỐNG PHÁT HIỆN XÂM NHẬP 1.1 Giới thiệu về hệ thống phát hiện xâm nhập

1.1.1 Khái niệm phát hiện xâm nhập

Phát hiện xâm nhập (Intrusion Detection - ID) [18] là một loại hệ thống quản

lý an ninh cho máy tính và mạng Một hệ thống ID tập hợp và phân tích thông tin từ các phạm vi khác nhau trong một máy tính hoặc mạng máy tính để xác định hành vi

vi phạm an ninh có thể, trong đó bao gồm cả sự xâm nhập (các cuộc tấn công từ bên ngoài tổ chức) và sử dụng sai (tấn công từ bên trong tổ chức) ID sử dụng Vulnerability Assessment (đánh giá tổn thương, đôi khi được gọi là scanning), đây là một công nghệ được phát triển để đánh giá sự an toàn của một hệ thống máy tính hoặc mạng máy tính, để tìm ra các vấn đề an ninh tiềm tàng hoặc dò tìm các dấu vết khi hệ thống bị tổn thương

1.1.2 Hệ thống phát hiện xâm nhập

Hệ thống phát hiện xâm nhập (Intrusion Detection System - IDS) [1] là một

hệ thống phần cứng hoặc phần mềm được sử dụng để phát hiện các hành động truy nhập trái phép đến một hệ thống máy tính hoặc mạng IDS có khả năng phát hiện tất

cả các loại lưu lượng mạng độc hại và việc sử dụng máy tính, bao gồm các cuộc tấn công mạng đối với các dịch vụ có chế độ bảo mật yếu, tấn công vào dữ liệu, các ứng dụng, các tấn công dựa trên host chẳng hạn như leo thang đặc quyền, đăng nhập trái phép và truy cập vào các file nhạy cảm và phần mềm độc hại IDS là một hệ thống giám sát động bổ sung cho khả năng giám sát tĩnh của tường lửa Các gói dữ liệu mạng thu thập được sẽ được phân tích để phát hiện các dấu hiệu xâm nhập (tấn công, xuất xứ từ ngoài tổ chức) và sử dụng sai (tấn công, có nguồn gốc trong tổ chức) Khác với tường lửa, IDS không thực hiện các thao tác ngăn chặn truy xuất

mà chỉ theo dõi các hoạt động trên mạng để tìm ra các dấu hiệu của tấn công và cảnh báo

IDS cũng có thể phân biệt giữa những tấn công nội bộ hay tấn công từ bên ngoài Thâm nhập từ bên ngoài được định nghĩa là xâm nhập được thực hiện bởi người sử dụng trái phép hệ thống máy tính; thâm nhập nội bộ được thực hiện bởi

Trang 13

người dùng được ủy quyền, người không được quyền đối với các dữ liệu bị tổn hại;

và sự vi phạm được xác định là việc lạm dụng quyền truy cập đối với cả hệ thống và

dữ liệu của nó IDS phát hiện dựa trên các dấu hiệu đặc biệt về nguy cơ đã biết hay dựa trên so sánh lưu thông mạng hiện tại với thông số đo đạc chuẩn của hệ thống (baseline) để tìm ra các dấu hiệu bất thường

1.1.3 Vị trí của IDS trong mô hình mạng

Tuỳ thuộc vào cấu hình mạng của người dùng mà người dùng có thể đặt vị trí IDS [15] tại một hoặc nhiều vị trí, và cũng tuỳ vào kiểu các hành động xâm nhập người dùng muốn phát hiện: bên trong (internal), bên ngoài (external) hoặc cả hai

Ví dụ, nếu ta chỉ muốn phát hiện các hành động xâm nhập từ bên ngoài, và ta chỉ có một router kết nối với Internet, vị trí tốt nhất cho IDS chỉ có thể là ở bên trong router hoặc firewall Còn nếu có nhiều đường kết nối Internet thì ta có thể đặt IDS ở nhiều vị trí Tuy nhiên, nếu muốn phát hiện các mối đe doạ bên trong, ta có thể đặt IDS ở mỗi phân đoạn mạng tuỳ vào chính sách an ninh của người dùng Hình 1.1chỉ ra các vị trí điển hình có thể đặt IDS

Internet

Company Network

Hình 1.1 Các vị trí điển hình của một IDS

Trang 14

1.2 Chức năng của IDS

Hệ thống phát hiện xâm nhập có chức năng tự động theo dõi các sự kiện xảy

ra, giám sát lưu thông mạng, phân tích để phát hiện ra các vấn đề liên quan đến an

ninh, bảo mật và đưa ra cảnh báo các hoạt động khả nghi cho nhà quản trị

- Chức năng chính [1] và quan trọng nhất của một hệ thống IDS là giám sát,

cảnh báo và bảo vệ

+ Giám sát: Giám sát lưu lượng mạng, các hành động bất thường và các hoạt

động khả nghi

+ Cảnh báo: Khi đã biết các hoạt động bất thường của một (hoặc một nhóm)

truy cập nào đó, IDS sẽ đưa ra cảnh báo cho hệ thống và người quản trị

+ Bảo vệ: Dùng những thiết lập mặc định và những cấu hình từ người quản

trị để có những hành động chống lại kẻ xâm nhập và phá hoại

- Chức năng mở rộng [1] của IDS là phân biệt được đâu là những truy cập

hợp lệ (không hợp lệ) từ bên trong và đâu là cuộc tấn công từ bên ngoài vào hệ thống; 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 lưu lượng mạng hiện tại với baseline

1.3 Kiến trúc của IDS

Kiến trúc của IDS [2] bao gồm 3 thành phần chính: Thành phần thu thập

dữ liệu (Information collection), thành phần phân tích gói tin và phát hiện xâm nhập (Dectection), thành phần phản hồi (Respontion) nếu gói tin đó được phát

hiện là một tấn công của tin tặc (hacker) Trong ba thành phần này thì thành phần

phân tích gói tin là quan trọng nhất và ở thành phần này bộ cảm biến (sensor) đóng

vai trò quyết định, vì vậy sau đây chúng ta sẽ đi vào phân tích bộ cảm biến để hiểu

rõ hơn kiến trúc của hệ thống phát hiện xâm nhập

Trang 15

Thông tin

Thiết lập

sự kiện (Syslogs, System status, Network packet)

Hệ thống đáp trả

Chính sách phản ứng

Hình 1.2 Kiến trúc của IDS Sensor [2] [5] được tích hợp với thành phần thu thập dữ liệu – 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 có liên quan đến các gói mạng

Sensor có nhiệm vụ bắt các gói tin qua mạng (sniffer hoặc capture) và gửi tới

hệ CSDL theo các định dạng Thông thường cách thiết lập hệ thống sensor là đặt trước và ngay sau hệ thống tường lửa Việc đặt như vậy sẽ đạt được 3 mục đích:

- Biết được những tấn công mạng trước cả khi gói tin đi qua tường lửa: Một điều quan trọng đối với an ninh mạng là hệ thống cần biết trước những tấn công có thể xảy ra và những tấn công không thành công để có giải pháp hợp lý cho việc ngăn ngừa những tấn công trong tương lai Việc thiết lập một bộ thu thập dữ liệu trước hệ thống tường lửa sẽ cho phép chúng ta thực hiện điều này

Trang 16

- Biết được những tấn công mạng bị hệ thống tường lửa chặn lại: Có thể cho phép hệ thống IDS chỉ tập trung vào những tấn công thực sự trên mạng, bỏ qua những tấn công đã bị chặn, do đó giảm được cảnh báo sai

- Có thể dễ dàng kiểm tra được cấu hình của tường lửa đã chính xác hay chưa: Cho phép người quản trị mạng nhận ra được những lỗi trong cấu hình của hệ thống tường lửa khi nhận được cảnh báo của hệ thống IDS Những tấn công vượt qua được hệ thống tường lửa vẫn có thể bị phát hiện và ngăn chặn

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, chẳng hạn 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 được tạo ra từ nhiều hành động khác nhau [2]

1.4 Phân loại IDS

Dựa vào việc quan sát và nơi đặt mà IDS được phân thành hai loại [5]:

- Network-based IDS (Hệ thống phát hiện xâm nhập dựa trên mạng - NIDS): Phát hiện xâm nhập hướng vào toàn bộ mạng hay miền mạng;

- Host-based IDS (Hệ thống phát hiện xâm nhập dựa trên host - HIDS): Phát hiện xâm nhập hướng vào nút cụ thể của mạng

1.4.1 NIDS

NIDS [5] là một hệ thống phát hiện xâm nhập bằng cách thu thập dữ liệu của các gói tin lưu thông trên các phương tiện truyền dẫn như cables, wireless bằng cách sử dụng các card giao tiếp Khi một gói dữ liệu phù hợp với qui tắc của hệ thống, một cảnh báo được tạo ra để thông báo đến nhà quản trị và các file log được lưu vào cơ sở dữ liệu

NIDS được đặt giữa kết nối hệ thống mạng bên trong và mạng bên ngoài (thường đặt sau Firewall) để giám sát toàn bộ lưu lượng vào ra, phát hiện xâm nhập

Trang 17

trái phép từ Internet cho toàn bộ hệ thống mạng nội bộ.Hệ thống này có thể là một thiết bị phần cứng riêng biệt được thiết lập sẵn hoặc 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 NIDS làm nhiệm vụ phân tích các gói tin và kiểm tra các dấu hiệu tấn công dựa trên một tập các dấu hiệu mẫu Nếu phát hiện tấn công, NIDS sẽ ghi vào log file hoặc gửi đi cảnh báo, cách thức cảnh báo phụ thuộc vào từng hệ thống IDS hoặc cách cấu hình

* Ưu điểm của NIDS [5] [15]

- Quản lý được cả một phân đoạn mạng (network segment) bao gồm nhiều host;

- "Trong suốt" với người sử dụng lẫn kẻ tấn công và không làm ảnh hưởng đến hoạt động của một máy tính cụ thể nào;

- Cài đặt và bảo trì đơn giản, không ảnh hưởng tới mạng;

- Tránh được việc bị tấn công từ chối dịch vụ (DoS) tới một host nào đó;

Trang 18

- Hoạt động phát hiện chủ yếu ở tầng mạng (trong mô hình OSI) nên có thể độc lập với các ứng dụng và các hệ điều hành sử dụng tại máy tính trên mạng

* Hạn chế của NIDS [5] [15]

- Giới hạn băng thông;

- Có thể xảy ra trường hợp báo động nhầm (false positive), tức là không có xâm nhập (intrusion) mà NIDS vẫn báo;

- Không có khả năng phát hiện được các tấn công trên các dòng dữ liệu đã được mã hoá như: SSL, SSH, IPSec…;

- NIDS đòi hỏi phải được cập nhật các dấu hiệu (signature) tấn công mới nhất để thực sự hoạt động hiệu quả;

- Có độ trễ giữa thời điểm bị tấn công với thời điểm phát báo động Khi báo động được phát ra, hệ thống có thể đã bị tổn hại;

- Không cho biết việc mạng bị tấn công có thành công hay không

Một trong những hạn chế là giới hạn băng thông Những đầu dò mạng phải thu thập tất cả các lưu lượng mạng, sắp xếp lại và phân tích chúng Khi tốc độ mạng tăng lên thì khả năng của bộ thu thập thông tin cũng vậy Một giải pháp là phải bảo đảm cho mạng được thiết kế chính xác để cho phép sự sắp đặt của nhiều bộ thu thập thông tin

1.4.2 HIDS

HIDS [5] thường được cài đặt trên một máy tính nhất định Thay vì giám sát hoạt động của một network segment, HIDS chỉ giám sát các hoạt động trên một máy tính HIDS có thể được triển khai trên nhiều máy tính trong hệ thống mạng, cho phép người dùng 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

Trang 19

* Ưu điểm của HIDS [5] [15]

- Có khả năng xác định người dùng liên quan tới một sự kiện;

- HIDS có khả năng phát hiện các cuộc tấn công diễn ra trên một máy (NIDS không có khả năng này);

- Có thể phân tích các dữ liệu mã hoá;

- Cung cấp các thông tin về host trong lúc cuộc tấn công diễn ra trên host này

* Hạn chế của HIDS [5] [15]

- Khả năng quản lý;

- Tầm nhìn vi mô về các sự tấn công mạng;

- Các máy chủ bị thỏa hiệp;

- Những giới hạn của hệ điều hành: HIDS được thiết kế hoạt động chủ yếu 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

Trang 20

Vì hệ thống HIDS đòi hỏi phần mềm phải được cài đặt trên tất cả các máy chủ nên đây là khó khăn cho những nhà quản trị khi các điều khiển phiên bản, bảo trì phần mềm và cấu hình phần mềm trở thành công việc tốn nhiều thời gian và phức tạp Bởi vì HIDS chỉ phân tích những lưu lượng do máy chủ nhận được, chúng không thể phát hiện những tấn công thăm dò thông thường được thực hiện nhằm chống lại một máy chủ hay là một nhóm máy chủ Hệ thống HIDS sẽ không phát hiện được những chức năng quét ping hay dò cổng (ping sweep and port scans) trên nhiều máy chủ Nếu máy chủ bị thỏa hiệp thì kẻ xâm nhập hoàn toàn có thể tắt phần mềm IDS hay tắt kết nối của máy chủ đó Một khi điều này xảy ra thì máy chủ sẽ không thể tạo ra được cảnh báo nào cả

1.4.3 So sánh NIDS và HIDS

Sự khác nhau cơ bản giữa chúng đó là trong khi NIDS phát hiện ra các cuộc tấn công tiềm năng (những thứ sẽ được chuyển tới đích) thì HIDS lại phát hiện ra những cuộc tấn công đã thành công Bởi vậy có thể nói rằng NIDS mang tính tiền phong hơn Tuy nhiên, một HIDS sẽ hiệu quả hơn đối với trong các môi trường có tốc độ chuyển dịch lớn, mã hoá - đây là những môi trường mà NIDS rất khó hoạt động

1.5 Kỹ thuật phát hiện xâm nhập

Kỹ thuật phát hiện xâm nhập được xếp vào một trong hai phương pháp [4]

[11]: Phát hiện sử dụng sai (misused detection) hoặc phát hiện bất thường (anomaly detection)

Kỹ thuật phát hiện sử dụng sai, còn gọi là kỹ thuật phát hiện dựa trên dấu

hiệu (signature-based detection), tìm kiếm hành vi tương ứng với một kịch bản tấn công đã biết bằng cách phân tích các thông tin trong mạng, so sánh nó với một cơ

sở dữ liệu lớn của các cuộc tấn công đã được biết đến dựa trên các dấu hiệu (signatures) Bất kỳ một cuộc tấn công mới nào mà không có trong cơ sở dữ liệu thì

hệ thống không thể phát hiện được, vì vậy cơ sở dữ liệu phải được cập nhật mới thường xuyên, điều đó không phải dễ dàng thực hiện trong các mạng cảm biến

Trang 21

Các kỹ thuật phát hiện bất thường [4] phát hiện các xâm nhập bằng cách

tìm kiếm hành vi khác với các hoạt động bình thường của người dùng hay hệ thống Những kỹ thuật này không yêu cầu hiểu biết về các cuộc tấn công đã biết và có thể phát hiện các kiểu xâm nhập mới, kỹ thuật này được xem là phù hợp hơn với các mạng cảm biến

Câu hỏi đặt ra là làm thế nào để phân biệt được các hành vi bất thường từ những hoạt động bình thường, làm sao để biết liệu một hành vi này là bình thường hay không là điều quan trọng nhất trong hệ thống phát hiện bất thường

1.5.1 Phát hiện xâm nhập dựa trên sử dụng sai

Phương pháp phát hiện dựa trên sử dụng sai (Misuse-based Detection) [4] so sánh các dấu hiệu mối đe dọa đã biết với các sự kiện được giám sát để nhận dạng tấn công Phương pháp này rất hiệu quả trong phát hiện các mối đe dọa đã biết nhưng không có tác dụng trong việc phát hiện mối đe dọa chưa biết và các mối đe dọa có nhiều biến thể, do chưa có được thông tin về cuộc tấn công

Phương pháp này gồm hai bước để phát hiện đột nhập:

(1) Xây dựng một tập hợp dấu hiệu tấn công hay đột nhập đã biết trước (còn được gọi là mẫu - pattern)

(2) Kiểm tra hành vi hiện tại xem có khớp (match) với tập các dấu hiệu đã xây dựng hay không để nhận biết một tấn công

Ưu điểm [4]:

Tỉ lệ cảnh báo sai (false positive) thấp hơn so với phương pháp dựa trên bất thường; dễ triển khai, tạo cơ sở dữ liệu dấu hiệu tấn công

Nhược điểm [4]:

- Không thể phát hiện những cuộc tấn công mới khi chưa biết dấu hiệu;

- Không có khả năng phát hiện các biến thể của những cuộc tấn công đã biết: Những file dấu hiệu là những file tĩnh, bằng cách thay đổi cách tấn công, một kẻ xâm nhập có thể thực hiện cuộc xâm nhập mà không bị phát hiện;

- Mỗi cuộc tấn công hay biến thể của nó đều cần tạo thêm dấu hiệu đưa vào CSDL, nên kích cỡ của nó ngày càng lớn;

Trang 22

- Kỹ thuật này có thể dễ bị sai bởi vì nó chỉ dựa trên các biểu thức thông thường và khớp với chuỗi trong mẫu

1.5.2 Phát hiện xâm nhập dựa trên bất thường

Phương pháp phát hiện xâm nhập dựa vào bất thường (Anomaly-based Detection) [3] [4] là quá trình so sánh các định nghĩa sự kiện được cho là bình thường với các sự kiện được quan sát để xác định các vấn đề bất thường.Trước hết,

hệ thống phát hiện bất thường tạo một hồ sơ cơ bản (baseline) về các hoạt động bình thường của hệ thống, của mạng hoặc chương trình Sau đó, bất cứ hoạt động nào lệch khỏi baseline được xem như một khả năng xâm nhập và hệ thống sẽ đưa ra cảnh báo Các ngưỡng định trước có thể được điều chỉnh để đáp ứng hiệu năng mong muốn Hệ thống sử dụng hồ sơ (profile) được phát hiện bằng cách giám sát các đặc trưng của các hành động điển hình trong một khoảng thời gian Các thuật toán phát hiện bất thường hiện nay rất hữu hiệu trong việc phát hiện các mối đe doạ mạng như dạng tấn công từ chối dịch vụ (DoS), DDoS, Worm, spam,v.v

Tương tự như phương pháp phát hiện đột nhập dựa trên dấu hiệu, phương pháp phát hiện đột nhập dựa trên bất thường này gồm có hai bước:

(1) Bước huấn luyện: Xây dựng cơ sở dữ liệu (CSDL) các hành vi bình thường của đối tượng (người sử dụng, chương trình ứng dụng, chương trình hệ thống, lưu lượng mạng ) Thông thường, người ta định nghĩa profile lưu lượng bình thường, còn profile đã được huấn luyện sẽ áp dụng đối với dữ liệu mới

(2) Bước kiểm tra: So sánh hành vi hiện tại của đối tượng với các hành vi được xác định là bình thường được lưu trong CSDL để xác định các hành vi tấn công và đột nhập

Ưu điểm [4]: Có khả năng phát hiện các dạng tấn công xâm nhập chưa biết

trước đó (hoặc các biến thể của các dạng tấn công đã biết) khi chúng xuất hiện; cung cấp các thông tin để xây dựng các dấu hiệu

Nhược điểm [4]: Việc thiết lập các profile không đủ tinh vi để phản ánh

đúng hoạt động tính toán trên thực tế Vì vậy, thường tạo ra nhiều cảnh báo sai làm giảm hiệu suất hoạt động của mạng Cần phải được đào tạo thường xuyên

Trang 23

Phương pháp phát hiện dựa trên bất thường giải quyết vấn đề phát hiện xâm nhập chưa biết Thông thường, nó không thể cung cấp thông tin chi tiết về các cuộc tấn công Một hệ thống phát hiện xâm nhập thiết kế tốt phải có khả năng phát hiện

cả những tấn công dấu hiệu và bất thường

1.5.3 So sánh hai phương pháp [3] [11]

Phát hiện dựa trên sử dụng sai

(Misuse based detection)

Phát hiện dựa trên bất thường (Anomaly base detection)

Là phương pháp truyền thống, sử dụng

một tập các mẫu mô tả các dấu hiệu tấn

công

- Tìm kiếm các hành động tương ứng với

các kỹ thuật xâm nhập đã biết (dựa trên

dấu hiệu)

Là phương pháp tiên tiến, không cần

sử dụng tập mẫu

- Tìm kiếm độ lệch của hành động thực tế với các hành động thông thường

Đưa ra kết luận dựa vào phép so sánh

khớp mẫu (pattern matching)

Đưa ra kết quả dựa vào độ lệch giữa thông tin thực tế và ngưỡng cho phép

- Hiệu quả trong việc phát hiện các dạng

tấn công hay các biến thể của các dạng tấn

Dễ cấu hình hơn do yêu cầu í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 bình thường của của người dùng và hệ thống

Tỉ lệ cảnh báo sai thấp hơn Tỉ lệ cảnh báo sai thường cao

Trang 24

Theo bảng trên, ta có thể thấy IDS dựa trên bất thường có nhiều ưu điểm hơn

so với IDS dựa trên sử dụng sai Tuy nhiên, để tăng cường tính chính xác của cảnh báo thì nên có sự kết hợp giữa hai phương pháp

1.6 Hệ thống phát hiện xâm nhập với Snort

1.6.1 Giới thiệu Snort

Snort [5] là một hệ thống phát hiện xâm nhập mạng được Martin Roesch phát triển đầu tiên vào năm 1998 dưới mô hình mã nguồn mở, hoàn toàn miễn phí

và dễ sử dụng với nhiều tính năng mạnh mẽ Với kiến trúc thiết kế theo kiểu module, CSDL luật của Snort rất lớn 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ể triển khai trên nhiều nền tảng hệ điều hành như Windows, Linux, OpenBSD, Solaris, MaxOS…; theo dõi 24/7 với thời gian thật, giúp phát hiện liên tục các xâm nhập vào hệ thống

Snort chủ yếu là một IDS dựa trên luật, tuy nhiên các input plug-in cũng tồn tại để phát hiện sự bất thường trong các header của giao thức Snort sử dụng các luật được định nghĩa trước và lưu trữ trong các file text theo từng nhóm loại, có thể được thêm, chỉnh sửa bởi người quản trị, đồng thời cũng có thể xóa một vài luật đã được tạo trước để tránh việc báo động sai File cấu hình chính của Snort là snort.conf Snort đọc những luật này vào lúc khởi tạo và xây dựng cấu trúc dữ liệu

để cung cấp các luật nhằm bắt giữ dữ liệu Việc tìm ra các dấu hiệu và sử dụng chúng trong các luật là một vấn đề đòi hỏi sự tinh tế, vì ta càng sử dụng nhiều luật thì năng lực xử lý càng được yêu cầu để thu thập dữ liệu trong thực tế

Snort cũng có điểm yếu, đó là tương tự như các bộ quét virus (virus scanner), Snort chỉ có thể chống lại các cuộc tấn công một cách hiệu quả nếu như nó biết được dấu hiệu (signature) của các cuộc tấn công đó Dựa vào điểm này, các hacker

có thể điều chỉnh các cuộc tấn công để thay đổi signature của cuộc tấn công đó Từ

đó các cuộc tấn công này có thể vượt qua được sự giám sát của Snort.Như vậy có thể thấy rằng, để Snort hoạt động một cách hiệu quả thì một trong những yếu tố quan trọng cần phải chú ý là các luật viết cho nó

Snort có thể thực thi ở 3 chế độ chính:

Trang 25

- Chế độ Packet Sniffer: Ở chế độ này, Snort hoạt động như một chương

trình thu thập và phân tích gói tin thông thường, gói tin sau khi giải mã đó sẽ trình bày kết quả trên giao diện hiển thị

- Chế độ Packet Logger: Gói tin sau khi giải mã được ghi vào tập tin có cấu

trúc binary hay ASCII

- Chế độ NIDS: Đây là chế độ hoạt động rất mạnh và được áp dụng nhiều

nhất, sử dụng các rule để áp dụng lên gói tin 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 người dùng định nghĩa, gói tin sau khi giải mã được chuyển sang Preprocessor tương ứng

1.6.2 Kiến trúc của Snort

Snort có vài thành phần quan trọng như các mô-đun tiền xử lý (Preprocessors) và các plug-in cảnh báo, hầu hết trong số đó có thể được điều chỉnh thêm các plug-in để thực thi Snort cho những yêu cầu cụ thể của người dùng Kiến trúc Snort bao gồm bốn thành phần chính sau đây [5]:

- Môđun chặn bắt gói tin (Sniffer);

- Môđun tiền xử lý (Preprocessor);

- Môđun phát hiện (Detection Engine);

- Môđun kết xuất thông tin (Output)

Hình 1.5 Kiến trúc Snort [5]

Về cơ bản, Snort là một công cụ chặn bắt gói tin (packet sniffer) Tuy nhiên,

nó được thiết kế để bắt các gói tin và xử lý chúng thông qua mô-đun tiền xử lý, sau

đó kiểm tra các gói tin đó dựa vào bộ luật (qua Detection Engine) Tại đây, tuỳ theo

Trang 26

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 mô-đun Output sẽ thực hiện việc cảnh báo

Các thành phần Preprocessor, Detection Engine và Alert của Snort đều là các plug-in Các plug-in này là các chương trình được viết dựa theo plug-in API của Snort Phần sau sẽ giới thiệu chi tiết về chức năng của từng thành phần

1.6.3 Chức năng của Snort

Snort xử lý gói tin theo quy trình như sau: Snort bắt đầu với việc tiếp nhận gói tin Sau khi gói tin được Snort tiếp nhận, các gói tin lúc này được chuyển vào mô-đun giải mã gói tin Sau khi được giải mã, gói tin sẽ được chuyển đến Preprocessor để tiêu chuẩn hóa gói tin, phân tích, phân tích thống kê và phát hiện các giao thức bất thường Tiếp theo đó gói tin sẽ được chuyển vào Detection Engine

để đối chiếu kiểm tra với luật trong Snort Cuối cùng gói tin được gửi vào các Ouput plug-in để loging và cảnh báo

1.6.3.1 Môđun chặn bắt gói tin

Môđun chặn bắt gói tin (Packet Sniffer) [5] là một bộ phận (phần cứng hoặc phần mềm) được sử dụng để khai thác hệ thống mạng Nó hoạt động tương tự như công cụ nghe trộm điện thoại, nhưng nó được sử dụng cho các mạng dữ liệu thay vì các mạng thoại Người dùng có thể mã hoá lưu lượng mạng của mình để có thể ngăn cản việc gói tin bị chặn bắt có thể bị đọc Như bất kỳ công cụ mạng nào, Packet Sniffer có thể được sử dụng cho các ý đồ xấu

Mô-đun chặn bắt gói tin cần được thiết lập để nhận được càng nhiều gói tin càng tốt Như một sniffer, Snort có thể lưu các gói tin được xử lý sau đó hiển thị như một packet logger (ghi log gói tin)

1.6.3.2 Môđun tiền xử lý

Môđun tiền xử lý (preprocessor) [5] là các plug-in để Snort cho phép người dùng phân tích dữ liệu đến theo nhiều cách khác nhau mà có thể hữu ích cho việc phát hiện Nếu ta chạy Snort mà không có bất kỳ preprocessor nào được đặc tả trong tập tin cấu hình snort.conf của mình, thì chúng ta chỉ nhận các gói tin truyền tới ở dạng những gói tin riêng biệt, điều này có thể là nguyên nhân dẫn đến việc bỏ

Trang 27

lỡ phát hiện một số cuộc tấn công, bởi vì nhiều cuộc tấn công mới phụ thuộc vào những thứ như dữ liệu ghi đè trong các phân mảnh xếp chồng

Môđun tiền xử lý lấy các gói tin thô và kiểm tra chúng đối với một số plug-in

đã biết (như plug-in RPC, HTTP và plug-in quét cổng) Các plug-in này kiểm tra loại hành vi đã xác định từ gói tin Khi một gói được xác định có hành vi khác biệt,

nó sẽ được gửi đến mô-đun phát hiện Từ Hình 1.7, ta có thể thấy cách bộ tiền xử lý

sử dụng các plug-in của nó để kiểm tra gói tin Snort hỗ trợ nhiều loại preprocessor

và các plug-in của của chúng

Preprocessor Detection

Engine

HTTP Encoding Plug-in

Port Scanning Plug-in

Packets

Hình 1.6 Mô-đun tiền xử lý Môđun tiền xử lý là một môđun 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 môđun Phát hiện phân tích Các plug-in tiền xử lý để phát hiện bất thường (không dùng luật) 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 môđun 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à người dùng nghĩ ra từ đó tăng cường thêm tính năng cho Snort Chẳng hạn, một plugin tiền xử

lý có nhiệm vụ thống kê lưu lượng mạng tại thời điểm bình thường, khi có lưu 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 Portcan [17] 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ệ

Trang 28

thống để tìm lỗ hổng BO [17] dùng để phát hiện Back Orifice, đưa ra cảnh báo khi

hệ thống đã bị nhiễm Trojan Back Orifice và kẻ tấn công từ xa kết nối tới Back Orifice thực hiện các lệnh từ xa

Snort chủ yếu phát hiện xâm nhập dựa trên dấu hiệu Để phát hiện các cuộc tấn công mới thì người dùng cần phải nghiên cứu, phân tích các cuộc tấn công, từ

đó viết luật cho Snort Tuy nhiên, Snort có khả năng phát hiện bất thường bằng cách tích hợp các plug-in (preprocessor của người dùng tự viết) có tính năng phát hiện bất thường vào mô-đun Preprocessor của Snort

1.6.3.3 Môđun phát hiện

Hình 1.7 Môđun phát hiện Môđun phát hiện (Detection Engine) [5] là thành phần mà mọi người nghĩ đến khi nghĩ về chức năng của Snort như một NIDS Nó là bộ phận cốt lõi của một IDS dựa trên dấu hiệu trong Snort Môđun phát hiện lấy dữ liệu đến từ môđun tiền

xử lý và các plug-in của nó, và dữ liệu đó được kiểm tra thông qua một tập các luật Nếu các luật khớp với dữ liệu trong gói tin thì chúng sẽ được gửi đến bộ xử lý cảnh báo

Snort là một hệ thống IDS dựa trên dấu hiệu Chức năng IDS dựa trên dấu hiệu được hoàn thành bằng cách sử dụng các bộ luật khác nhau Các bộ luật được nhóm thành các loại (Trojan horses, tràn bộ đệm, truy cập các ứng dụng) và được cập nhật thường xuyên

Các luật gồm hai phần:

Trang 29

- Rule header: Đây là phần đầu của luật, phần này mô tả cách hành động (log hoặc alert), các loại giao thức (TCP, UDP, ICMP), địa chỉ IP nguồn, đích và thông tin về các cổng (port)

- Rule option: Option chứa thông điệp báo động và thông tin sẽ được Snort

sử dụng để kiểm tra xem liệu luật đó có phù hợp (match) với nội dung trong gói tin không

Môđun phát hiện và các luật của nó là phần lớn nhất cần phải học và hiểu với Snort Vấn đề là làm thế nào để viết các luật cho Snort, để từ đó có thể tinh chỉnh và tuỳ biến chức năng IDS của Snort Ta có thể định nghĩa các luật theo môi trường của mình và tuỳ biến theo yêu cầu

1.6.3.4 Môđun cảnh báo và ghi chép

Sau khi các luật được so khớp dựa vào dữ liệu, các thành phần cảnh báo và ghi (Alerting và Logging) giúp định dạng và trình bày đầu ra cho người quản trị hệ thống Tùy thuộc vào việc môđun phát hiện có nhận dạng được xâm nhập hay không mà gói tin có thể bị ghi log hoặc đưa ra cảnh báo Các file log là các file dữ liệu có thể được ghi dưới nhiều định dạng khác nhau như tcpdump

1.6.3.5 Môđun kết xuất thông tin

Môđun kết xuất thông tin có thể thực hiện các thao tác khác nhau phụ thuộc vào việc ta muốn lưu kết quả xuất ra như thế nào Tuỳ theo việc cấu hình hệ thống

mà nó có thể thực hiện các công việc như sau:

- Ghi log file;

- Ghi alert vào syslog: syslog là một chuẩn lưu trữ các file log được sử dụng rất nhiều trên các hệ thống Unix, Linux;

- Ghi cảnh báo vào cơ sở dữ liệu;

- Tạo file log dạng xml;

- Cấu hình lại Router, firewall;

- Gửi các thông điệp SMB (Server Message Block) tới các máy tính chạy Windows

Trang 30

Nếu không hài lòng với các cách xuất thông tin nhƣ trên, ta có thể viết các môđun kết xuất thông tin riêng tuỳ theo mục đích sử dụng

Ta có các cách xuất ra các cảnh báo và log nhƣ sau:

Hình 1.8 Mô hình thử nghiệm Snort

(1) Test gói ping bình thường

- Thêm rule vào file /usr/local/snort/rules/icmp.rules:

Trang 31

alert icmp any any -> $HOME_NET any (msg: "Test ping"; sid:100001)

- Chạy snort

sudo /usr/local/snort/bin/snort -A console -q -u snort -g snort -c /usr/local/snort/etc/snort.conf -i eth1

(2) Test gói ICMP kích thước bất thường

- Thêm rule vào file /usr/local/snort/rules/icmp.rules: gói ping mặc định kích thước = 32 byte, cảnh báo (alert) khi kích thước khác 32 byte

alert icmp any any -> $HOME_NET any (msg: "Test anomaly payload size"; dsize:33<>65500; sid:100004)

- Chạy snort

- Tấn công thử: ping 192.168.5.1 -l 65500

Kết quả phát hiện như sau:

Hình 1.9 Phát hiện gói tin kích thước bất thường

(3) Test Ping of Death

Tấn công Ping of Death: Kẻ tấn công gửi những gói tin IP lớn hơn số lượng bytes cho phép của gói tin IP là 65536 bytes

Thêm rule vào file /usr/local/snort/rules/icmp.rules:

alert icmp any any -> $HOME_NET any (msg: "Ping of Death Detected"; dsize:>10000; sid:777777)

alert icmp any any -> $HOME_NET any (msg: "Stop smurfing me"; sid:888888)

ping -l 655540 192.168.5.1

Trang 32

Kết quả ở máy Snort:

Hình 1.10 Phát hiện Ping of Death ping 192.168.5.1 -t

Tùy chọn -t: ping cho đến khi dừng

Hình 1.11 Ping -t đến máy nạn nhân Kết quả ở máy Snort:

Trang 33

Hình 1.12 Kết quả phát hiện ping -t

(4) Test gói tin tấn công web với từ khoá

- Thêm rule vào file: /usr/local/snort/rules/web-attacks.rules

Ví dụ 1: alert tcp any any -> $HOME_NET any (msg: "web attack test 1"; content: "hacker"; sid: 100002)

Ví dụ 2: alert tcp any any -> $HOME_NET any (msg: "web attack test 2"; content: "sql"; sid: 100003)

- Chạy snort

- Tấn công thử: với từ khoá "hacker", http://192.168.5.1/config.html?hacker

Hình 1.13 Thử tấn công web với từ khóa "hacker"

Kết quả ở máy Snort:

Hình 1.14 Phát hiện tấn công web ở Ví dụ 1 Với từ khoá "sql", http://192.168.5.1/config.html?sql

Trang 34

Hình 1.15 Thử tấn công web với từ khóa "sql"

Kết quả ở máy Snort:

Hình 1.16 Phát hiện tấn công web ở Ví dụ 2

(5) Phát hiện tấn công SYN flooding

- Thêm rule vào file: /usr/local/snort/rules/dos.rules hoặc local.rules

alert tcp any any -> $HOME_NET 80 (flags: S; msg:"Possible TCP SYN flooding"; flow: stateless; detection_filter: track by_dst, count 70, seconds 10;sid:10001;rev:1;)

- Chạy Snort

- Thử tấn công SYN flooding: Ví dụ tấn công máy web server có IP: 192.168.5.2

Trang 35

sudo hping3 -S -p 80 flood rand-source 192.168.5.2

Hình 1.17 Thử tấn công SYN flooding Kết quả ở máy Snort phát hiện có tấn công TCP SYN flooding sau khi giả lập tấn công khoảng 24 đến 30 giây tuỳ từng thời điểm khác nhau

Hình 1.18 Kết quả phát hiện SYN flooding trên Snort

Ghi chú: Nếu không tạo rule để phát hiện tấn công SYN flood thì Snort sẽ

thông báo phát hiện gói tin kích thước bất thường như ở mục (2)

Trang 36

Chương 2 - CÁC PHƯƠNG PHÁP PHÁT HIỆN XÂM NHẬP DỰA TRÊN

BẤT THƯỜNG 2.1 Giới thiệu

NIDS là phương pháp bảo vệ hiệu quả nhất để chống lại các cuộc tấn công dựa trên mạng nhằm vào các hệ thống máy tính Như đã nêu ở trên, về cơ bản có hai loại hệ thống phát hiện xâm nhập: Hệ thống phát hiện xâm nhập dựa trên dấu hiệu (Signature Based IDS - SBIDS) và Hệ thống phát hiện xâm nhập dựa trên bất thường (Anomaly Based IDS - ABIDS) [4] Hệ thống SBIDS (ví dụ như Snort dựa trên các kỹ thuật nhận dạng mẫu, Snort duy trì cơ sở dữ liệu dấu hiệu của các cuộc tấn công được biết đến trước đây và so sánh với số liệu phân tích Đưa ra cảnh báo khi các dấu hiệu khớp với mẫu Còn với hệ thống ABIDS (ví dụ như PAYL, POSEIDON, SPADE (Statistical Packet Anomaly Detection Engine), ALAD, PHAD,…) xây dựng một mô hình thống kê mô tả lưu lượng mạng bình thường, và khi có bất kỳ hành vi bất thường lệch với các mô hình được xác định thì sinh ra cảnh báo

Trái ngược với hệ thống dựa trên dấu hiệu, hệ thống dựa trên bất thường có

ưu điểm là chúng có thể phát hiện các cuộc tấn công chưa được biết đến như các cuộc tấn công zero-day1, bởi vậy các cuộc tấn công mới có thể bị phát hiện ngay sau khi chúng diễn ra ABIDS (không giống như SBIDS) đòi hỏi một giai đoạn huấn luyện để phát triển cơ sở dữ liệu của các cuộc tấn công nói chung và thiết lập mức phát hiện ngưỡng kỹ lưỡng làm cho nó phức tạp Trong luận văn này tập trung vào các hệ thống dựa trên sự bất thường, đặc biệt là tìm hiểu thuật toán phát hiện bất thường thống kê áp dụng để phát hiện tấn công SYN flooding, đó là thuật toán cộng tích luỹ (Cumulative SUM - CUSUM)

2.2 Các phương pháp kỹ thuật phát hiện xâm nhập dựa trên bất thường

Có nhiều kỹ thuật phát hiện bất thường khác nhau Quan trọng nhất là các kỹ thuật phát hiện bất thường Thống kê (Statistical anomaly detection), phát hiện bất

1 Zero-day là thuật ngữ chỉ sự tấn công hay các mối đe dọa khai thác lỗ hổng của ứng dụng trong máy tính cái mà chưa được công bố và chưa được sửa chữa

Trang 37

thường dựa trên Khai phá dữ liệu (Data mining based detection), phát hiện dựa trên tri thức (Knowledge based detection) và phát hiện dựa trên Học máy (Machine learning based detection) Các phương pháp phát hiện xâm nhập bất thường [4] [10] [11] được minh hoạ trong Hình 2.1

Phát hiện bất thường thống kê

Phát hiện dựa trên khai phá dữ liệu

Phát hiện dựa trên tri thức

Phát hiện dựa học máy

Hình 2.1 Phân loại hệ thống IDS dựa trên bất thường

2.2.1 Phương pháp phát hiện xâm nhập bất thường dựa trên thống kê

Mô hình thống kê là một trong những phương pháp đầu tiên được sử dụng để phát hiện sự xâm nhập vào hệ thống thông tin điện tử Các kỹ thuật phát hiện bất thường dựa trên thống kê sử dụng các thuộc tính thống kê (ví dụ: trung bình và phương sai) của các hoạt động bình thường để xây dựng một hồ sơ bình thường và triển khai các thử nghiệm thống kê để xác định liệu các hoạt động được xem xét ở thời điểm hiện tại có lệch đáng kể so với hồ sơ bình thường hay không, nếu dữ liệu các thông số được theo dõi vượt quá ngưỡng (threshold) đặt ra thì sẽ sinh ra cảnh báo Các hệ thống phát hiện bất thường như NIDES, và SPADE có một cách tiếp

Trang 38

cận trong đó hệ thống sẽ học một mô hình thống kê về lưu lượng bình thường của mạng, và xem xét các sai khác so với mô hình này

Quá trình phát hiện bất thường dựa trên thống kê có hai bước: Trước hết hệ thống thiết lập hồ sơ hành vi cho các hoạt động bình thường và hoạt động hiện tại Sau đó, những hồ sơ này được so khớp dựa trên các kỹ thuật khác nhau để phát hiện bất kỳ loại sai lệch nào so với hành vi bình thường

Một số kỹ thuật dựa trên thống kê dùng trong lĩnh vực phát hiện bất thường

có thể kể đến là [10] [11]: Mô hình Hoạt động hay Số đo ngưỡng (Operational Model or Threshold Metric), Mô hình xử lý Markov hay Mô hình Marker (Markov Process Model or Marker Mode), Mômen2 thống kê hay Mô hình trung bình và độ lệch chuẩn (Statistical Moments or Mean and Standard Deviation Model) và Mô hình hỗn hợp (Multivariate)

Hiện nay, một phương pháp tiếp cận thống kê được đề nghị là việc thống kê lưu lượng để phát hiện các loại tấn công mới trên mạng Theo phương phápnày, một mô hình hành vi của mạng được sử dụng để phát hiện một lượng lớn cáctấn công từ chối dịch vụ và dò quét cổng bằng cách giám sát lưu lượng mạng.

Ưu điểm của phương pháp thống kê [11]:

- Không đòi hỏi kiến thức về lỗ hổng bảo mật hay các cuộc tự tấn công Kết quả là các hệ thống này có thể phát hiện "zero days" hoặc các cuộc tấn công rất mới

- Các phương pháp thống kê có thể cung cấp thông báo chính xác về các hoạt động độc hại thường xảy ra trong thời gian dài và những dự báo sắp xảy ra các cuộc tấn công từ chối dịch vụ

- Phương pháp này có khả năng duy trì dễ dàng hơn, vì không cần phải cập nhật các dấu hiệu và hệ thống không dựa trên các cuộc tấn công hoặc điều kiện cụ thể

2

Mômen là một thuật ngữ mô tả THỐNG KÊ tổng có tác dụng để biểu thị đặc điểm hình dạng và vị trí của một PHÂN PHỐI XÁC SUẤT, hoặc một mẫu số liệu

Trang 39

- Có khả năng phát hiện các cuộc tấn công “low and slow” (thấp và chậm)

- Tìm kiếm các yếu tố riêng có thể là một phần của một sự xâm nhập mà không cần chờ đợi việc hoàn thành toàn bộ một chuỗi các hoạt động cụ thể

Nhược điểm [11]:

- Phương pháp thống kê cần các phân phối thống kê chính xác, nhưng không phải tất cả những hành vi có thể được mô hình hóa bằng cách sử dụng phương pháp thống kê hoàn toàn

- Phần lớn các kỹ thuật phát hiện bất thường thống kê đòi hỏi sự giả định của một quá trình không ổn định (quasistationary), mà không thể được giả định cho hầu hết các dữ liệu được xử lý bằng hệ thống phát hiện bất thường

- Quá trình học của nó phải mất nhiều ngày hoặc nhiều tuần thì mới chính xác và hiệu quả

- Thiết lập ngưỡng (threshold) là một vấn đề lớn đối với phương pháp này Thiết lập ngưỡng quá cao sẽ không có cảnh báo với lưu lượng cần thiết (có thể bỏ sót các cuộc tấn công), trong khi thiết lập nó quá thấp sẽ sinh ra nhiều cảnh báo sai

- Tạo ra một số lượng cảnh báo sai không chấp nhận được vì nó không có khả năng thích ứng với những thay đổi hợp pháp trong hành vi của người dùng

Sau đây giới thiệu một số kỹ thuật dựa trên thống kê

2.2.1.1 Mô hình hoạt động hay số đo ngưỡng

Mô hình hoạt động hay số đo ngưỡng (Operational Model or Threshold Metric) [10] [11] [12] dựa trên giả sử rằng một hoạt động bất thường có thể được xác định thông qua sự so sánh việc quan sát với một giới hạn được xác định trước Dựa trên lượng quan sát xảy ra vượt quá một khoảng thời gian thì sẽ có cảnh báo

Mô hình Operational được áp dụng nhiều nhất đến các số đo mà kinh nghiệm đã chỉ

ra rằng các giá trị nhất định thường được liên kết với sự xâm nhập Ví dụ một bộ đếm sự kiện cho số thất bại khi nhập mật khẩu trong một thời gian ngắn, thường hơn 10, thông báo đăng nhập thất bại [14]

Trong ứng dụng các thuật toán phát hiện xâm nhập bất thường để phát hiện các tấn công SYN flooding, thuật toán ngưỡng giới hạn khả năng đáp ứng

Ngày đăng: 26/07/2017, 21:04

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1]. Nguyễn Văn Phú (2013), Giải pháp phát hiện và ngăn chặn xâm nhập mạng máy tính, Luận văn Thạc sĩ Kĩ thuật, Học viện Công nghệ Bưu chính Viễn thông Sách, tạp chí
Tiêu đề: Giải pháp phát hiện và ngăn chặn xâm nhập mạng máy tính
Tác giả: Nguyễn Văn Phú
Năm: 2013
[2]. Ngô Chánh Tính, Huỳnh Hoàng Tuấn (2010), Hệ thống phát hiện xâm nhập IDS, Đồ án chuyên ngành, Trường Đại học Kỹ thuật Công nghệ Tp.HCM Sách, tạp chí
Tiêu đề: Hệ thống phát hiện xâm nhập IDS
Tác giả: Ngô Chánh Tính, Huỳnh Hoàng Tuấn
Năm: 2010
[4]. Animesh Patcha, Jung-Min Park (2007), “An overview of anomaly detection techniques: Existing solutions and latest technological trends”, Elsevier, Science Direct, Computer Networks, 51, pp. 3448-3470 Sách, tạp chí
Tiêu đề: An overview of anomaly detection techniques: Existing solutions and latest technological trends
Tác giả: Animesh Patcha, Jung-Min Park
Năm: 2007
[5]. Andrew R. Baker, Joel Esler (2007), Snort IDS and IPS Toolkit, Syngress Publishing Sách, tạp chí
Tiêu đề: Snort IDS and IPS Toolkit
Tác giả: Andrew R. Baker, Joel Esler
Năm: 2007
[6]. Angela Orebaugh, Simon Biles, Jacob Babbin (2005), Snort Cookbook, O’Reilly Media Sách, tạp chí
Tiêu đề: Snort Cookbook
Tác giả: Angela Orebaugh, Simon Biles, Jacob Babbin
Năm: 2005
[7]. B. Brodsky and B. Darkhovsky (1993), Nonparametric Methods in ChangePoint Problems, Kluwer Academic Publishers Sách, tạp chí
Tiêu đề: Nonparametric Methods in ChangePoint Problems
Tác giả: B. Brodsky and B. Darkhovsky
Năm: 1993
[8]. Changhua Sun, Jindou Fan, Bin Liu (2007), "A Robust Scheme to Detect SYN Flooding Attacks", CHINACOM '07. Second International Conference on Communications and Networking in China, pp. 397 – 401 Sách, tạp chí
Tiêu đề: A Robust Scheme to Detect SYN Flooding Attacks
Tác giả: Changhua Sun, Jindou Fan, Bin Liu
Năm: 2007
[9]. CERT Advisory CA-1996-21, "TCP SYN flooding and IP spoofing attacks". [Online] - http://www.cert.org/historical/advisories/ca-1996-21.cfm Sách, tạp chí
Tiêu đề: TCP SYN flooding and IP spoofing attacks
[10]. V. Jyothsna, V. V. Rama Prasad (2011), "A Review of Anomaly based Intrusion Detection Systems", International Journal of Computer Applications (0975 – 8887) Volume 28– No.7 Sách, tạp chí
Tiêu đề: A Review of Anomaly based Intrusion Detection Systems
Tác giả: V. Jyothsna, V. V. Rama Prasad
Năm: 2011
[11]. Manasi Gyanchandani, J.L.Rana, R.N.Yadav (2012), "Taxonomy of Anomaly Based Intrusion Detection System: A Review", International Journal of Scientific and Research Publications, Volume 2, Issue 12 Sách, tạp chí
Tiêu đề: Taxonomy of Anomaly Based Intrusion Detection System: A Review
Tác giả: Manasi Gyanchandani, J.L.Rana, R.N.Yadav
Năm: 2012
[12]. Vasilios A. Siris(2006), "Application of anomaly detection algorithms for detecting SYN flooding attacks", Elsevier, pp. 1433–1442 Sách, tạp chí
Tiêu đề: Application of anomaly detection algorithms for detecting SYN flooding attacks
Tác giả: Vasilios A. Siris
Năm: 2006
[13]. H. Wang, D. Zhang, and K. G. Shin (2002), “Detecting SYN flooding attacks” in Proc. IEEE INFOCOM, pp. 1530 - 1539 Sách, tạp chí
Tiêu đề: Detecting SYN flooding attacks
Tác giả: H. Wang, D. Zhang, and K. G. Shin
Năm: 2002
[14]. A.Qayyum, M.H. Islam, and M. Jamil (2005), “Taxonomy of Statistical Based Anomaly Detection Techniques for Intrusion Detection”, IEEE, pp. 270-276 Sách, tạp chí
Tiêu đề: Taxonomy of Statistical Based Anomaly Detection Techniques for Intrusion Detection
Tác giả: A.Qayyum, M.H. Islam, and M. Jamil
Năm: 2005
[17]. Andrew R. Baker, Brian Caswell, Mike Poor (2004), Snort 2.1 Intrusion Detection Second Edition, Syngress Publishing, United States of America Sách, tạp chí
Tiêu đề: Snort 2.1 Intrusion Detection Second Edition
Tác giả: Andrew R. Baker, Brian Caswell, Mike Poor
Năm: 2004
[15]. Rafeeq Ur Rehman (2003), Intrusion Detection Systems with Snort, Prentice Hall PTR Khác

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w