Mục đích của nó là phát hiện các hoạt động phá hoại đối với vấn đề bảo mật hệ thống, hoặc những hoạt động trong tiến trình tấn công như thu thập thông tin hay quét cổng scanning.. Một ch
Trang 1TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI 2 KHOA CÔNG NGHỆ THÔNG TIN
NGUYỄN THỊ KIM THỦY
ỨNG DỤNG PHÁT HIỆN VÀ PHÒNG CHỐNG XÂM NHẬP MẠNG BẰNG SNORT/SNORTSAM
KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC
Chuyên ngành: Sư phạm Tin học
Người hướng dẫn khoa học PGS.TS Trịnh Đình Thắng
HÀ NỘI – 2017
Trang 2LỜI CẢM ƠN
Trước tiên, em xin chân thành cảm ơn thầy Trịnh Đình Thắng, thầy là người
đã trực tiếp hướng dẫn, giúp đỡ chúng em trong quá trình nghiên cứu và hoàn thành đề tài này
Em cũng xin cảm ơn tất cả thầy cô khoa Công Nghệ Thông Tin – trường Đại học Sư phạm Hà Nội 2, những người đã dạy dỗ, truyền đạt kiến thức cho em trong những năm qua
Do thời gian và kiến thức có hạn, bài làm này chắc chắn sẽ còn nhiều sai sót, em kính mong quý thầy cô và các bạn đóng góp ý kiến để em có thể hoàn thiện đề tài
Em xin chân thành cảm ơn!
Hà Nội, tháng 04 năm 2017
Sinh viên thực hiện: Nguyễn Thị Kim Thủy
Trang 3LỜI CAM ĐOAN
Khóa luận của em được hoàn thành dưới sự hướng dẫn của thầy giáo Trịnh Đình Thắng cùng với sự cố gắng của bản thân Em xin cam đoan đề tài: “Ứng
dụng phát hiện và phòng chống xâm nhập mạng bằng Snort/Snortsam” là kết quả
mà em đã trực tiếp nghiên cứu Trong quá trình nghiên cứu em đã sử dụng tài liệu của một số tác giả Tuy nhiên đó chỉ là cơ sở để em rút ra được những vấn đề cần tìm hiểu ở đề tài của mình Đây là kết quả của cá nhân em, hoàn toàn không trùng với kết quả của các tác giả khác
Nếu sai em xin hoàn toàn chịu trách nhiệm
Sinh viên thực hiện Nguyễn Thị Kim Thủy
Trang 4MỤC LỤC
DANH MỤC HÌNH ẢNH 3
DANH MỤC TỪ VIẾT TẮT 3
MỞ ĐẦU 4
1 Tính cấp thiết của đề tài 4
2 Mục tiêu nghiên cứu của đề tài 4
3 Phạm vi nghiên cứu 4
CHƯƠNG 1: TỔNG QUAN VỀ IDS, IPS 5
1.1 Giới thiệu về IDS, IPS 5
1.2 Các thành phần cơ bản của IDS 5
1.2.1 Cảm biến (Sensor) 5
1.2.2 Agent 7
1.2.3 Trung tâm điều khiển (Console) 7
1.2.4 Engine 7
1.2.5 Thành phần cảnh báo (Alert Notification) 7
1.2.6 Vị trí đặt IDS 7
1.3 Chức năng của IPS 8
1.4 Kiến trúc chung của hệ thống IPS 8
1.4.1 Module phân tích luồng dữ liệu 9
1.4.2 Module phát hiện tấn công 9
1.4.3 Module phản ứng 9
1.5 Hoạt động của IDS, IPS 10
1.5.1 Cơ chế 10
1.5.2 Các phương pháp hoạt động 10
1.5.3 Quy trình hoạt động của IDS, IPS 12
1.6 Phân loại IDS, IPS 13
1.6.1 Host-based IDS/IPS 14
1.6.2 Network-based IDS/IPS 14
1.7 Một số sản phẩm của IDS/IPS 16
1.7.1 Cisco IDS-4235 16
1.7.2 ISS Proventia A201 16
Trang 5CHƯƠNG 2: GIỚI THIỆU VỀ SNORT 18
2.1 Giới thiệu Snort và các thành phần 18
2.2 Cấu hình Snort rule 18
2.2.1 Rule header 19
2.2.2 Rule Options 19
2.3 Cài đặt Snort 22
2.3.1 Các gói cần thiết 22
2.3.2 Cài đặt snort 22
2.3.3 Cấu hình snort 22
2.3.4 Tạo CSDL snort với MySQL 23
2.3.5 Cài đặt BASE để quản lí Snort bằng giao diện 24
2.4 Sử dụng Snort 25
2.4.1 Snort Sniffer Packet 25
2.4.2 Snort Network Instruction Detect System – Snort NIDS 26
2.5 Giới thiệu về SnortSam 26
2.5.1 Cài đặt SnortSam 27
2.5.1 Snort Output Plug-in 27
2.5.2 Blocking Agent 28
CHƯƠNG 3: THỰC NGHIỆM 30
3.1 Mô hình thực nghiệm 30
3.2 Các kịch bản demo 31
3.2.1 Tấn công DDOS, phát hiện và ngăn chặn bằng Snort: 31
3.2.2 Tấn công Brute Force, phát hiện và ngăn chặn bằng Snort 35
3.2.3 Tấn công XSS, phát hiện và ngăn chặn bằng Snort 39
3.2.4 Tấn công SQL Injection, phát hiện và ngăn chặn bằng Snort 43
KẾT LUẬN 50
1 Những vấn đề đạt được 50
2 Những hạn chế 50
3 Hướng phát triển trong tương lai 50
TÀI LIỆU THAM KHẢO TIẾNG ANH 51
Trang 6DANH MỤC HÌNH ẢNH
Hình 1:Mô hình mạng thực nghiệm hệ thống phát hiện và phòng chống xâm
nhập mạng 4
Hình 1.1: Hệ thống phát hiện xâm nhập trái phép 6
Hình 1.2 Mô hình vị trí đặt IDS 8
Hình 1.3: Quy trình hoạt động của IDS, IPS 13
Hình 1.4: Hệ thống phát hiện xâm nhập mạng dựa trên máy chủ lưu trữ 14
Hình 1.5 :Hệ thống NIDS 15
Hình 3.1 Mô hình thực nghiệm hệ thống 30
Hình 3.2: Máy Attacker tấn công sang máy WEB, FTP, MAIL Server 32
Hình 3.3: Slowloris gửi hàng loạt gói tin đến Server trong thời gian ngắn 32
Hình 3.4: Viết luật cho Snort phát hiện DDos 33
Hình 3.5: Thực hiện lại tấn công DDOS trên máy Attacker đến máy Server 34
Hình 3.6: Snort trên máy IDS_IPS phát cảnh báo có tấn công DDOS 34
Hình 3.7: Sử dụng phần mềm xHydra để tạo Target tấn công 35
Hình 3.8: Sử dụng phầm mềm xHydra để điền tài khoản cần dò mật khẩu 36
Hình 3.9: Sử dụng phần mềm xHydra để dò Passwords 36
Hình 3.10: Viết luật cho Snort phát hiện tấn công Brute Force 37
Hình 3.11: Thực hiện lại tấn công Brute Force đến máy Server 38
Hình 3.12: Snort trên máy IDS_IPS phát cảnh báo có tấn công Brute Force 38
Hình 3.13: Máy Attacker truy cập vào trang web của máy Server 40
Hình 3.14: Đoạn mã script được thực thi khi có mã độc 40
Hình 3.15: Viết luật cho Snort phát hiện tấn công XSS 41
Trang 7Hình 3.17: Snort trên máy IDS_IPS phát cảnh báo có tấn công XSS 42
Hình 3.18: Máy Attacker truy cập vào trang web 10.10.10.2:8080/DemoAttackSQL của máy Server 45
Hình 3.19: Đăng nhập thất bại của máy Attack 46
Hình 3.20: Đăng nhập vào Server bằng câu truy vấn SQL 46
Hình 3.21: Viết luật cho Snort phát hiện tấn công SQL Injection 47
Hình 3.22: Thực hiện lại tấn công SQL Injection 48 Hình 3.23: Snort trên máy IDS_IPS phát cảnh báo có tấn công SQL Injection 48
Trang 8DANH MỤC TỪ VIẾT TẮT
PIDS Protocol – based Intrusion Detection
System
APIDS
Applicantion Protocol – based Intrusion Detection System
ICMP Internet Control Message Protocol
DDoS Distributed Denial – of - Service BASE Basic Analysis and Security Engine HTTP Hypertext Transfer Protocol
Trang 9MỞ ĐẦU
1 Tính cấp thiết của đề tài
- Hiện nay, thế giới đang trong giai đoạn phát triển về công nghệ thông tin, mọi giao dịch đang chuyển dần từ trạng thái giao dịch offline sang online Ví dụ như: giao dịch ATM, mua hàng trực tuyến, giao dịch bằng thẻ VISA, …
- Cùng với sự phát triển đó, các cuộc tấn công mạng diễn ra ngày càng nhiều cùng với nhiều hình thức ngày càng phức tạp hơn, các cuộc tấn công nhằm mục đích đánh cắp thông tin người dùng, dữ liệu quan trọng, …
- Để phòng chống các cuộc tấn công mạng đó, ta phải sử dụng đến hệ thống IDS (Intrusion Detection System, có nghĩa là hệ thống phát hiện xâm nhập) và IPS (Intrusion Prevention System, nghĩa là hệ thống ngăn chặn xâm nhập)
2 Mục tiêu nghiên cứu của đề tài
Các nội dung cơ bản của đề tài:
- Tìm hiểu về cách hoạt động của hệ thống phòng chống và ngăn chặn xâm nhập mạng (IDS/IPS)
- Triển khai thành công mô hình bảo mật hệ thống dùng Snort làm IDS và Snortsam làm IPS
- Giả lập các cuộc tấn công, kiểm tra phản ứng của Snort và Snortsam
3 Phạm vi nghiên cứu
- Triển khai hệ thống trên mã nguồn mở Linux, cụ thể là hệ điều hành
Ubuntu và hệ điều hành CentOS
- Thực nghiệm trên mô hình mạng nhỏ, có mô hình như sau:
Trang 10CHƯƠNG 1: TỔNG QUAN VỀ IDS, IPS 1.1 Giới thiệu về IDS, IPS
IDS (Intrusion Detection System) hay còn được gọi là hệ thống phát hiện xâm nhập là một hệ thống phòng chống nhằm phát hiện các cuộc tấn công thông qua mạng Mục đích của nó là phát hiện các hoạt động phá hoại đối với vấn đề bảo mật hệ thống, hoặc những hoạt động trong tiến trình tấn công như thu thập thông tin hay quét cổng (scanning) Một chức năng chính của hệ thống này là cung cấp thông tin nhận biết về các hoạt động không bình thường và đưa ra các cảnh báo cho quản trị viên mạng để tiến hành xử lí đối với các cuộc tấn công Ngoài ra,
hệ thống IDS cũng có thể phân biệt các cuộc tấn công từ bên trong mạng hay từ bên ngoài mạng
IDS có thể là 1 phần mềm, 1 phần cứng hoặc kết hợp giữa phần mềm và phần cứng
Một hệ thống chống xâm nhập (Intrusion Prevention System – IPS) được định nghĩa là một phần mềm hoặc một thiết bị chuyên dụng có khả năng ngăn chặn các nguy cơ gây mất an ninh
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
1.2 Các thành phần cơ bản của IDS
1.2.1 Cảm biến (Sensor)
Bộ phận làm nhiệm vụ phát hiện các sự kiện có khả năng đe dọa an ninh của
hệ thống mạng, Sensor có chức năng quét nội dung của các gói tin trên mạng, so sánh nội dung với các mẫu và phát hiện ra các dấu hiệu tấn công
Trang 11Khi hệ thống mạng dùng các hub, ta có thể đặt các bộ cảm biến trên bất kì port nào của hub vì mọi luồng traffic được gửi ra tất cả các port trên hub, và có thể phát hiện ra các luồng traffic bất thường Nhưng khi hệ thống cần sử dụng các switch, các switch chỉ gửi gói tin đến chính xác địa chỉ cần gửi trên từng port Để giải quyết vấn đề này, một kỹ thuật thông dụng là sử dụng những con switch có port mở rộng (expansion port) Port này được gọi là Switched Port Analyzer (SPAN) port
Hình 1.1: Hệ thống phát hiện xâm nhập trái phép
Có hai vị trí đặt Sensor là : Trước firewall và sau firewall
Sensor nằm ở trước firewall có các đặc điểm sau:
Nhìn thấy tất cả các traffic được gửi đến mạng nội bộ
Không phát hiện được các tấn công bên trong
Có khả năng cao sẽ đưa ra cảnh báo giả (false positive)
Sensor nằm ở sau firewall có các đặc điểm sau:
Chỉ nhìn thấy những traffic đã được cho phép bởi firewall Vì thế các Sensor được firewall bảo vệ khỏi những vi phạm mà firewall đã lọc
Các cảnh báo yêu cầu các đáp ứng ngay lập tức
Có khả năng thấp sẽ đưa ra cảnh báo giả (false positive)
Trang 121.2.2 Agent
Thành phần giám sát và phân tích các hoạt động “Sensor” thường được dùng cho dạng Network-base IDS/IPS trong khi “Agent” thường được dùng cho dạng Host-base IDS/IPS Sensor/Agent là các bộ cảm biến được đặt trong hệ thống nhằm phát hiện những xâm nhập hoặc các dấu hiệu bất thường trên toàn mạng
1.2.3 Trung tâm điều khiển (Console)
Thành phần phát hiện là bộ phận làm có nhiệm vụ giám sát các sự kiện, các cảnh báo được phát hiện và sinh ra từ Sensor và điều khiển hoạt động của các bộ Sensor
1.2.4 Engine
Engine có nhiệm vụ ghi lại tất cả các báo cáo về các sự kiện được phát hiện bởi các Sensor trong một cơ sở dữ liệu và sử dụng hệ thống các luật để đưa ra các cảnh báo trên các sự kiện nhận được cho hệ thống hoặc cho người quản trị
1.2.5 Thành phần cảnh báo (Alert Notification)
Thành phần cảnh báo có chức năng gửi những cảnh báo tới người quản trị Trong các hệ thống IDS hiện đại, lời cảnh báo có thể xuất hiện ở nhiều dạng như: cửa sổ pop - up, tiếng chuông, email, …
1.2.6 Vị trí đặt IDS
Tùy vào quy mô doanh nghiệp và mục đích mà ta có thể thiết kế vị trí cũng như kiến trúc của IDS khác nhau Ta có thể đặt IDS ở trước hoặc sau tường lửa tùy theo lựa chọn
Trang 13Hình 1.2 Mô hình vị trí đặt IDS
1.3 Chức năng của IPS
Chức năng IPS mô tả như là kiểm tra gói tin, phân tích có trạng thái, ráp lại các đoạn, ráp lại các TCP-segment, kiểm tra gói tin sâu, xác nhận tính họp lệ giao thức và thích ứng chừ ký Một IPS hoạt động giống như một người bảo vệ gác cổng cho một khu dân cư, cho phép và từ chối truy nhập dựa trên cơ sở các
uỷ nhiệm và tập quy tắc nội quy nào đó
Các giải pháp IPS “Ngăn ngừa xâm nhập” nhằm mục đích bào vệ tài nguyên,
dữ liệu và mạng Chúng sẽ làm giảm bớt những mối đe dọa tấn công bằng việc loại bỏ những lưu lượng mạng có hại hay có ác ý trong khi vẫn cho phép các hoạt động hợp pháp tiếp tục Mục đích ở đây là xây dựng một hệ thống hoàn hảo - không có những báo động giả nào làm giảm năng suất người dùng cuối
và không có những từ chối sai nào tạo ra rủi ro quá mức bên trong môi trường Có
lẽ một vai trò cốt yếu hơn sẽ là cần thiết đế tin tưởng, để thực hiện theo cách mong muốn dưới bất kỳ điều kiện nào
1.4 Kiến trúc chung của hệ thống IPS
Một hệ thống IPS được xem là thành công nếu chúng hội tụ được các yếu tố: thực hiện nhanh, chính xác, đưa ra các thông báo hợp lý, phân tích được toàn
Trang 14bộ thông lượng, cảm biến tối đa, ngăn chặn thành công và chính sách quản lý mềm dẻo
Hệ thống IPS gồm 3 module chính: module phân tích luồng dừ liệu, module phát hiện tấn công, module phản ứng
1.4.1 Module phân tích luồng dữ liệu
Module này có nhiệm vụ lấy tất các gói tin đi đến mạng để phân tích Thông thường các gói tin có địa chỉ không phải của một card mạng thì sẽ bị card mạng đó huỷ bỏ nhưng card mạng của IPS được đặt ở chế độ thu nhận tất
cả Tất cả các gói tin qua chúng đều được sao chụp, xử lý, phân tích đến từng trường thông tin Bộ phân tích đọc thông tin tìm trường trong gói tin, xác định chúng thuộc kiểu gói tin nào, dịch vụ gì Các thông tin này được chuyển đến module phát hiện tấn công
1.4.2 Module phát hiện tấn công
Đây là module quan trọng nhất trong hệ thống có nhiệm vụ phát hiện các cuộc tấn công Có hai phương pháp để phát hiện các cuộc tấn công, xâm nhập là
dò sự lạm dụng và dò sự bất thường
1.4.3 Module phản ứng
Khi có dấu hiệu của sự tấn công hoặc thâm nhập, module phát hiện tấn công sẽ gửi tín hiệu báo hiệu có sự tấn công hoặc thâm nhập đến module phản ứng Lúc đó module phản ứng sẽ kích hoạt tường lứa thực hiện chức năng ngăn chặn cuộc tấn công hay cánh báo tới người quàn trị Tại module này, nếu chỉ đưa ra các cánh báo tới các người quản trị và dừng lại ở đó thì hệ thống này được gọi là hệ thống phòng thủ bị động Module phản ứng này tùy theo hệ thống mà có các chức năng và phương pháp ngăn chặn khác nhau
Trang 151.5 Hoạt động của IDS, IPS
1.5.1 Cơ chế
Hệ thống IDS, IPS hoạt động theo cơ chế “phát hiện và cảnh báo” Các Sensor là bộ phận được bố trí trên hệ thống tại những điểm cần kiểm soát, Sensor bắt các gói tin trên mạng, phân tích gói tin để tìm các dấu hiệu tấn công, nếu gói tin có dấu hiệu tấn công, Sensor lập tức đánh dấu gói tin đó và gửi báo cáo kết quả về cho Engine, Engine sẽ ghi lại tất cả báo cáo của Sensor, lưu vào cơ sở dữ liệu và quyết định đưa ra mức cảnh báo đối với sự kiện nhân được Console làm nhiệm vụ giám sát các sự kiện và cảnh báo đồng thời điều khiển hoạt động các Sensor
1.5.2 Các phương pháp hoạt động
Có hai phương pháp để phát hiện các cuộc tấn công, xâm nhập:
Misuse Detection (dò sự lạm dụng): 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
Anomaly Detection (dò sự bất thường): 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
1.5.2.1 Misuse Detection (dò sự lạm dụng):
Các Sensor hoạt động theo cơ chế “so sánh với mẫu”, các Sensor bắt các gói tin trên mạng, đọc nội dung gói tin và so sánh các chuỗi ký tự trong gói tin với các mẫu tín hiệu nhận biết tấn công hoặc mã độc gây hại cho hệ thống, nếu trong nội dung gói tin có một chuỗi ký tự trùng với mẫu, Sensor đánh dấu gói tin
đó và sinh ra cảnh báo Vì thế phương pháp này được gọi là phương pháp dò sự lạm dụng
Trang 16 Các tín hiệu để nhận biết các cuộc tấn công được tổng kết và tập hợp thành một bộ gọi là mẫu hay signatures Thông thường các mẫu này được hình thành dựa trên kinh nghiệm phòng chống các cuộc tấn công, các mẫu này được các trung tâm chuyên nghiên cứu về IDS đưa ra để cung cấp cho hệ thống IDS trên toàn cầu
Kiểu phát hiện tấn công này có ưu điểm là phát hiện các cuộc tấn công nhanh và chính xác, không đưa ra các cảnh báo sai và giúp người quản trị tìm ra các lỗ hổng bảo mật trong hệ thống Tuy nhiên, phương pháp này có nhược điểm
là không phát hiện được các cuộc tấn công không có trong mẫu, các kiểu tấn công mới, do vậy hệ thống luôn phải cập nhật các mẫu tấn công mới
Để minh họa cho ưu nhược điểm của phương pháp này ta xét ví dụ sau: Một gói tin có chứa mã độc có chuỗi ký tự là “GET”, và IDS cũng có mẫu của loại mã độc này vì thế IDS sẽ nhận dạng được loại mã độc này Nhưng nếu cùng gói tin đó với cùng mã độc đó nhưng chuỗi ký tự bị đổi thành “TEG” vậy thì IDS
sẽ không nhận dạng được loại mã độc đó
1.5.2.2 Anomaly Detection:
Đây là kỹ thuật dò thông minh, nhận dạng ra các hành động không bình thường của mạng Quan niệm của phương pháp này là các cuộc tấn công sẽ có hoạt động khác với hoạt động thông thường Ban đầu, IDS lưu trữ các mô tả sơ lược về các hoạt động bình thường của hệ thống Các cuộc tấn công sẽ có những hành động khác so với bình thường và phương pháp dò này có thể nhận dạng Có một số kỹ thuật giúp thực hiện dò sự bất thường cửa các cuộc tấn công như dưới đây:
Threshold Detection: kỹ thuật này nhấn mạnh thuật ngữ đếm “count” Các mức ngưỡng (threshold) về các hoạt động bình thường được đặt ra, nếu có sự bất thường nào đó như login sai mật khẩu quá số lần quy định, số lượng các tiến trình hoạt động trên CPU, số lượng một loại gói tin được gửi vượt quá mức (chẳng hạn như tấn công DDOS),…
Trang 17 Seft - learning Detection: kỹ thuật dò này bao gồm hai bước, khi thiết lập
hệ thống phát hiện tấn công, nó sẽ chạy ở chế độ tự học thiết lập một profile về cách cư xử mạng với các hoạt động bình thường Sau thời gian khởi tạo, hệ thống
sẽ chạy ở chế độ Sensor theo dõi cách hoạt động bất thường của mạng so với profile đã thiết lập Chế độ tự học có thể chạy song song với chế độ Sensor để cập nhật bản profile của mình nhưng nếu dò ra có tín hiệu tấn công thì chế độ tự học phải dừng lại tới khi cuộc tấn công kết thúc
Anomaly protocol detection: kỹ thuật dò này căn cứ vào hoạt động của các giao thức, các dịch vụ của hệ thống để tìm ra các gói tin không hợp lệ, các hoạt động bất thường là dấu hiệu của sự xâm nhập, tấn công Kỹ thuật này rất hiệu quả trong việc ngăn chặn các hình thức quét mạng, quét cổng để thu thập thông tin các hacker
Phương pháp dò sự bất thường rất hữu ích trong việc phát hiện các cuộc tấn công kiểu DDOS
Ưu điểm của phương pháp này là có thể phát hiện ra các kiểu tấn công mới, cung cấp các thông tin hữu ích bổ sung cho phương pháp dò theo dấu hiệu Tuy nhiên chúng có nhược điểm là thường tạo ra các cảnh báo sai làm giảm hiệu suất hoạt động của mạng
1.5.3 Quy trình hoạt động của IDS, IPS
Một host A nằm trên Internet (ngoài Firewall) tạo ra một gói tin, sau đó gửi
nó đến một host B nằm trong mạng nội bộ có hệ thống IDS
Các cảm biến đọc gói tin được gửi từ host A trong thời gian trước khi gói tin
đó được gửi đến host B (Cảm biến này cần phải có khả năng đọc tất cả các gói tin)
Chương trình phát hiện nằm trong bộ cảm biến kiểm tra xem có gói tin nào
có dấu hiệu vi phạm hay không Khi có dấu hiệu vi phạm thì một cảnh báo sẽ được tạo ra và gửi đến trung tâm điều khiển
Trang 18Khi trung tâm điều khiển nhận được cảnh báo nó sẽ gửi thông báo cho một người hoặc một nhóm người đã được chỉ định từ trước (thông qua pop-up window, email, web,…)
Phản hồi được khởi tạo theo quy định ứng với dấu hiệu xâm nhập này Các cảnh báo được lưu lại để tham khảo
Một báo cáo tóm tắt về chi tiết của sự cố được tạo ra
Hình 1.3: Quy trình hoạt động của IDS, IPS
1.6 Phân loại IDS, IPS
IDS, IPS thường được phân loại dựa vào nguồn dữ liệu thu thập được Trong trường hợp này, các hệ thống IDS cũng như IPS được chia thành các loại sau:
Host-based IDS/IPS (HIDS/HIPS): Sử dụng dữ liệu kiểm tra từ một máy trạm để phát hiện xâm nhập
Trang 19 Network-based IDS/IPS (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 nhiều máy trạm để phát hiện xâm nhập
1.6.1 Host-based IDS/IPS
Trong hệ thống HIDS/IPS, các Sensor thường là một phần mềm trên máy trạm, nó giám sát tất cả các hoạt động của máy trạm mà nó nằm trên đó
Hình 1.4: Hệ thống phát hiện xâm nhập mạng dựa trên máy chủ lưu trữ
Hệ thống HIDS/IPS bao gồm thành phần (Agent) cài đặt trên các máy trạm,
nó xác định các truy cập trái phép vào hệ thống bằng cách phân tích các trao đổi của hệ thống, các bản ghi của các ứng dụng, sự sửa đổi các tệp tin hệ thống, các hoạt động và trạng thái của hệ thống để từ đó phát hiện ra các truy cập trái phép vào hệ thống Khi phát hiện ra các truy cập trái phép, Agent lập tức sinh ra một
sự kiện và gửi báo cáo về Engine, Engine tiến hành lưu các báo cáo của Agent vào cơ sở dữ liệu và tiến hành phân tích thông tin để đưa ra các cảnh báo cho người quản trị hệ thống
1.6.2 Network-based IDS/IPS
NIDS/IPS là một giải pháp để xác định các truy cập trái phép bằng cách
Trang 20quan sát luồng thông tin trên mạng bằng cách kết nối vào các Hub, Switch được cấu hình port mirroring hoặc Network tap để bắt các gói tin, phân tích nội dung gói tin và từ đó sinh ra các cảnh báo
Hình 1.5 :Hệ thống NIDS
Port mirroring được sử dụng trong một switch mạng để gửi một bản sao của tất cả các gói tin trên mạng khi nó đi qua cổng Switch tới một thiết bị giám sát mạng trên cổng khác của Switch đó Nó thường được sử dụng để các thiết bị mạng cần giám sát luồng trên mạng, ví dụ hệ thống IDS Port mirroring trên Switch của Cisco System thường được gọi là Switch Port Analyzed (SPAN) hoặc của 3Com là Roving Analysis Port (RAP)
Network tap là một thiết bị phần cứng cung cấp phương tiện để truy cập vào luồng dữ liệu đi ngang qua một máy tính mạng Các máy tính mạng bao gồm
cả Internet là một tập hợp các thiết bị như máy tính, router, Switch và nối với các
hệ thống khác Các kết nối có thể bằng nhiều công nghệ khác nhau như là Ethernet, 802.11, FDDI và ATM Trong nhiều trường hợp nó được xem là một thành phần thứ 3 để giám sát luồng dữ liệu được trao đổi giữa hai điểm mạng: Điểm A và điểm B Nếu mạng giữa điểm A và điểm B chứa một kết nối vật lý, một Network tap là giải pháp tốt nhất cho việc giám sát Network tap có ít nhất 3 cổng kết nối, một cổng A , một cổng B và một cổng giám sát Để đặt Network tap cho qua tất
Trang 21tuy nhiên dữ liêu trao đổi đã bị Network tap sao chép và đưa vào thiết bị giám sát thông qua cổng giám sát
1.7 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
1.7.1 Cisco IDS-4235
Cisco IDS (còn có tên là NetRanger) là một hệ thống NIDS, 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
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
1.7.2 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
Trang 22 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
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ị
1.7.4 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 chương II của đề
tài
Trang 23CHƯƠNG 2: GIỚI THIỆU VỀ SNORT 2.1 Giới thiệu Snort và các thành phần
Snort là một phần mềm IDS mã nguồn mở mạnh mẽ và được tin dùng trên khắp nơi trên thế giới
Snort có 4 chế độ hoạt động khác nhau là:
Sniffer mode : ở chế độ này Snort sẽ lắng nghe và đọc các gói tin trên mạng, sau đó sẽ trình bày kết quả hiển thị trên giao diện
Packet loger mode: Lưu trữ các gói tin trong các tập tin log
Network intruction detect system (NIDS): đây là chế độ hoạt động mạnh
mẽ và được sử dụng nhiều nhất, khi hoạt động ở chế độ NIDS, Snort sẽ phân tích các gói tin luân chuyển trên mạng và so sánh với các thông tin được định nghĩa của người dùng để từ đó có những hành động tương ứng như thông báo cho quản trị viên khi xảy ra tình huống tấn công hay cảnh báo mã độc
Inline mode: khi triển khai Snort trên linux thì chúng ta có thể cấu hình Snort để phân tích các gói tin từ iptables thay vì libcap do đó iptables có thể drop hay pass các gói tin theo snort rule
Snort dùng một card mạng ở chế độ promocous mode để lưu trữ các gói tin trước khi phân tích chúng Vì thế máy tính chạy snort nên đặt ở các collision domain hay trên các máy chủ tập trung các truyền thông trên mạng như router hay gateway hoặc kết nối vào các cổng SPAN của Switch, chúng ta có thể đặt Snort trước hoặc sau hệ thống firewall tùy theo yêu cầu bảo mật [1]
Snort sử dụng ba thành phần để tiến hành công việc của mình:
Packet decoder: Phân tích gói tin, kể cả Ipheader và Data Payload
Detect enginer: dò tìm các dấu hiệu khả nghi theo tập hợp các quy tắt
Logging và Alert system: Lưu trữ các log file và cảnh báo
2.2 Cấu hình Snort rule
Snort rule bao gồm 2 phần: Rule header và Rule option
Trang 24 Log: ghi lại log
Pass: cho qua
Địa chỉ IP của nơi đi và nơi đến của 1 gói tin
Ví dụ: 192.168.1.1, 192.168.2.1 địa chỉ nguồn là 192.168.1.1 và địa chỉ đích là 192.168.2.1
“:”
Có 4 loại rule option chính bao gồm:
General: gồm các tùy chọn cung cấp thông tin về luật đó nhưng không có bất cứ ảnh hưởng nào trong quá trình phát hiện
Payload: gồm các tùy chọn liên quan đến phần tải của gói tin
Non-payload: gồm các tùy chọn không liên quan đến phần tải của gói tin
Trang 25 Post-detection: gồm các tùy chọn sẽ gây ra những quy tắc cụ thể sau khi một luật được kích hoạt
Sid: được dùng để xác định duy nhất một luật trong snort
Rev: được sử dụng để định danh các sửa đổi trong luật của snort Thường dùng để phân biệt các phiên bản luật khác nhau
Classtype: được dùng để phân loại các hình thức tấn công kèm theo độ ưu tiên của loại tấn công đó và được định nghĩa trong tập tin classification.config Priority: được sử dụng để gán đô nghiêm trọng của 1 quy tắc
2.2.2.2 Payload
Content: cho phép tìm kiếm các chuỗi cụ thể trong phần tải của gói tin ( payload) và kích hoạt các cảnh báo dựa trên các dữ liệu đó Nội dung có thể ở dạng nhị phân hoặc ASCII Ví dụ: content: “GET”
Nocase: kết hợp với từ khóa Content để tìm kiếm chuỗi mà không phân biệt hoa thường
Rawbyte: cho phép các luật xem các gói dữ liệu thô chưa được giải mã Depth: dùng để xác định khoảng cách bao xa mà luật đó sẽ tìm tới tối thiểu
là 1 và tối đa là 65535 Được dùng với từ khóa content để giới hạn nội dung tìm kiếm
Offset: dùng để xác định điểm bắt đầu tìm kiếm Cho phép giá trị từ -65535 đến 65535
Distance: được sử dụng trong trường hợp muốn bỏ qua bao nhiêu byte từ nội dung tìm kiếm trước đó
Within: được dùng để đảm bảo rằng có nhiều nhất N byte giữa các mẫu nội dung tìm kiếm
Uricontent: tương tự như content nhưng để tìm kiếm chuỗi trong URI
Trang 26Id: được sử dụng để kiểm tra các giá trị cụ thể trong trường ID của IP header Ipopts: được sử dụng để kiểm tra trường IP option trong IP Header
Fragbits: được sử dụng để kiểm tra sự phân mảng và bit reserved trong trường 3 bit Flags của Ip Header
Dsize: dùng để kiểm tra kích thước của phần dữ liệu trong gói tin
Flag: sử dụng để kiểm tra các bit trong trường TCP Flag của TCP Header Flow: áp dụng vào luật có gói tin di chuyển theo một hướng cụ thể Các tùy chọn bao gồm: to_client, to_server, …
Sed: dùng để kiểm tra sequence number của TCP Header
Ack: dùng để kiểm tra giá trị acknowledge number của TCP Header
Window: dùng để kiểm tra kích cỡ cửa sổ trong TCP Header
Icmp_id: dùng để kiểm tra giá trị ID của ICMP Header
Icmp_seq: dùng để kiểm tra giá trị sequence của ICMP Header
Rpc: dùng để phát hiện các yêu cầu dựa trên RPC
Sameip: dùng để kiểm tra địa chỉ nguồn và địa chỉ đích có giống nhau không
2.2.2.4 Post-detection
Logto: dùng để ghi log vào các tập tin đặc biệt ví dụ: logto: logto_log Session: dùng để trích xuất người dùng từ một phiên TCP
Resp: cho phép chủ động tạo ra những phản hồi tiêu diệt các vi phạm
React: cho phép tạo ra các phản hồi bao gồm gửi 1 website hoặc một nội dung nào đó tới client và sau đó đóng kết nối lại
Tag:cho phép các luật ghi nhiều hơn 1 gói tin khi luật đó được kích hoạt Detection_filter: định nghĩa 1 mức được thực thi bởi địa chỉ nguồn hoặc địa
Trang 27Threshold: sử dụng để quy định 1 giới hạn nào đó mà các luật sửa snort đưa
ra cảnh báo
2.3 Cài đặt Snort
2.3.1 Các gói cần thiết
- mysql - mysql-bench - mysql-server
- mysql-devel - yum-utils - php-mysql
Vào thư mục chứa file snort
Giải nén file tar bằng lệnh: tar –zxvf snort-2.8.4.1.tar.gz (2.8.4.1 là
số phiên bản của phần mềm, ở đây sử dụng phiên bản 2.8.4.1)
Vào thư mục vừa giải nén và viết lệnh: /configure with-mysql
enable-dynamicplugin (Nếu thiếu gói cần thiết thì sẽ có thông báo hiện ra, với
linux 64bit thì phải thêm option with-mysql-libraries=/usr/lib64) để biên dịch
Trang 28 useradd –g snort snort –s /sbin/nologin
Set quyền sở hữu và cho phép snort ghi log vào thư mục chứa log
chown snort:snort /var/log/snort
Khởi động Snort:
service snortd start
2.3.4 Tạo CSDL snort với MySQL
Khởi động mysql với câu lệnh
service mysqld start
Trước tiên ta cần set password cho root trong MySQL
mysqladmin -u root password 123456
mysql –p
Tạo password cho tài khoản snort
mysql> use mysql;
mysql> CREATE USER 'snort'@'localhost' IDENTIFIED BY
'123456';
Tạo CSDL cho snort
mysql> create database snort;
mysql> GRANT CREATE, INSERT, SELECT, DELETE, UPDATE