- Để phòng chống các cuộc tấn công mạng đó, ta phải sử dụng đến hệ thốngIDS 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
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ànthà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 emtrong 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 saisót, em kính mong quý thầy cô và các bạn đóng góp ý kiến để em có thể hoànthiệ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 đượcnhữ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ệnNguyễ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
1.7.3 NFR NID-310 17
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
TÀI LIỆU THAM KHẢO TIẾNG VIỆT 52
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
Hình 3.16: Thực hiện lại tấn công XSS trên máy Attacker đến máy Server 42
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
System
APIDS
Applicantion Protocol – basedIntrusion Detection System
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àngnhiề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ằmmụ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ốngIDS (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âmnhậ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:
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
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ệnxâ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ôngqua 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ậpthô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áccả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 trongmạ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ănchặ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ứchoạt động cũng như đặc điểm của 2 hệ thống này tương tự nhau Điểm khác nhauduy 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ăngngă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 ninhcủ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ênmạ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ụngcá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ừngport Để giải quyết vấn đề này, một kỹ thuật thông dụng là sử dụng những conswitch có port mở rộng (expansion port) Port này được gọi là Switched PortAnalyzer (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ácSensor đượ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 đượcdùng cho dạng Network-base IDS/IPS trong khi “Agent” thường được dùng chodạ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ànmạ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áccả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.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ũngnhư kiến trúc của IDS khác nhau Ta có thể đặt IDS ở trước hoặc sau tường lửatù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áplạ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àinguyê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ôngbằng việc loại bỏ những lưu lượng mạng có hại hay có ác ý trong khivẫ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ườidù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ôitrườ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ệntheo 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ếutố: 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, modulephá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ế độ thunhậ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 đếntừ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áccuộ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ấncô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ănchặ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ácSensor 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áocá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ểnhoạ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ậpbằ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 đã đượcbiế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âmnhập bằng cách tìm kiếm các hành động khác với hành vi thôngthườ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ácgó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 tinvớ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ếutrong 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ànhmột bộ gọi là mẫu hay signatures Thông thường các mẫu này được hình thànhdự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áctrung tâm chuyên nghiên cứu về IDS đưa ra để cung cấp cho hệ thống IDStrê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ôngnhanh 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 racá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ấncô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ủaloạ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ùnggó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ìnhthườ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ữnghà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ácmức ngưỡng (threshold) về các hoạt động bình thường được đặt ra, nếu có sự bấtthường nào đó như login sai mật khẩu quá số lần quy định, số lượng các tiếntrì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 sovớ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ácgiao 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ệuquả 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ôngtin 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ộctấ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 Tuynhiê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ấthoạ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óitin đó đượ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ácgó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ộtngười hoặc một nhóm người đã được chỉ định từ trước (thông qua pop-upwindow, 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ạisau:
Host-based IDS/IPS (HIDS/HIPS): Sử dụng dữ liệu kiểm tra từ một máytrạm để phát hiện xâm nhập
Trang 19Network-based IDS/IPS (NIDS/NIPS): Sử dụng dữ liệu trên toàn bộ lưuthô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ệnxâ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áytrạ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 đổicủ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áchoạ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épvà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 Agentvà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 chongườ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 đượccấu hình port mirroring hoặc Network tap để bắt các gói tin, phân tích nội dunggó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 saocủ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ámsá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ênSwitch 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ậpvà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 baogồm cả Internet là một tập hợp các thiết bị như máy tính, router, Switch và nốivớ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ầnthứ 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 Networktap 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,
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ễnphí phổ biến, những sản phẩm điển hình trong lĩnh vực phát hiện và phòngchố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ăngtheo 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ấuhiệ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ầncứ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) quenthuộ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ặtbả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:
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ácdriver 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ốithiể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õitoà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
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
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
1.7.3 NFR NID-310
NFR là sản phẩm của NFR Security Inc Cũng giống như Proventia, NFRNID là một hệ thống hướng thiết bị (appliance-based) Điểm đặc biệt trong kiếntrú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ềumạng khác nhau từ mạng 10Mbps đến các mạng gigabits với thông lượng rấtlớ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ácthiế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ểntậ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ảngkhác Snort được đánh giá là IDS mã nguồn mở đáng chú ý nhất với những tínhnă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ênkhắ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ênmạ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íchcá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ĩacủa người dùng để từ đó có những hành động tương ứng như thông báo cho quảntrị 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ìnhSnort để phân tích các gói tin từ iptables thay vì libcap do đó iptables có thể drophay 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 tintrước khi phân tích chúng Vì thế máy tính chạy snort nên đặt ở các collisiondomain hay trên các máy chủ tập trung các truyền thông trên mạng như routerhay gateway hoặc kết nối vào các cổng SPAN của Switch, chúng ta có thể đặtSnort 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Đị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ườngdù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 độ ưutiên của loại tấn công đó và được định nghĩa trong tập tin classification.configPriority: đượ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ệthoa 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ìmkiế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ộidung tìm kiếm
Uricontent: tương tự như content nhưng để tìm kiếm chuỗi trong URI
Trang 26 Ttl [ <number>]-[<number>]; ví dụ: ttl:2-3Tos: kiểm tra trường ToS( type of service) trong IP Header.
Id: đượ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 trongtrườ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ùychọ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ộidung 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
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
Set quyền sở hữu và cho phép snort ghi log vào thư mục chứa log
Khởi động Snort:
2.3.4 Tạo CSDL snort với MySQL
Khởi động mysql với câu lệnh
Trước tiên ta cần set password cho root trong MySQL
snort (thư mục gải nén snort)
mysql -u root -p < /snort/snort-2.8.4.1/schemas/create_mysql snort