Hệ thống phát hiện xâm nhập IDS Intrusion Detection System là một hệ thống bảo mật có khả năng phát hiện và chống lại các kiểu tấn công mới, các vụ lạm dụng, dùng sai xuất phát từ trong
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
Trang 2LỜI CAM ĐOAN
Trước tiên tôi xin gửi lời cảm ơn chân thành và sâu sắc đến thầy PGS.TS Nguyễn Linh Giang – 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, chỉ bảo tôi trong suốt quá trình thực hiện luận văn
Tôi xin bày tỏ lòng biết ơn các thầy cô trong Viện Công nghệ thông tin – 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 tới gia đình, bạn bè, 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, kết quả 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 Quang Thắng
Trang 3MỤC LỤC
Mục lục bảng
Mục lục hình ảnh
Lời nói đầu CHƯƠNG I: NỘI DUNG NGHIÊN CỨU 1
1.1 Lý do chọn đề tài 1
1.2 Mục tiêu nghiên cứu 2
1.3 Phương pháp nghiên cứu 2
1.4 Đối tượng nghiên cứu 2
1.5 Dự kiến kết quả nghiên cứu 3
CHƯƠNG II: HỆ THỐNG PHÁT HIỆN VÀ NGĂN CHẶN XÂM NHẬP 4
2.1 An ninh trên không gian mạng 4
2.1.1 Khái quát về tình hình Internet 4
2.1.2 Khái quát về tình hình an ninh mạng của Việt Nam 5
2.2 Hệ thống phát hiện và ngăn chặn xâm nhập (IDS/IPS) 5
2.2.1 Khái niệm 5
2.2.2 Chức năng 6
2.2.3 Sự khác nhau giữa IDS và IPS 7
2.2.4 Phân loại IDS/IPS 8
2.2.5 Network based IDS – NIDS 8
2.2.6 Host based IDS – HIDS 11
2.2.7 Cơ chế hoạt động của hệ thống IDS/IPS 12
2.3 Các kiểu tấn công 18
2.3.1 Tấn công từ chối dịch vụ (Denial of Service Attack) 18
2.3.2 Quét và thăm dò (Scanning and Probe): 19
2.3.3 Tấn công vào mật mã (Password attack) 19
2.3.4 Chiếm đặc quyền (Privilege-grabbing) 21
2.3.5 Cài đặt mã nguy hiểm (Hostile code insertion) 21
2.3.6 Hành động phá hoại trên máy móc (Cyber vandalism) 23
2.3.7 Ăn trộm dữ liệu quan trọng (Proprietary data theft) 23
2.3.8 Gian lận, lãng phí và lạm dụng (Fraud, waste, abuse) 24
2.3.9 Can thiệp vào biên bản (Audit trail tampering) 24
2.3.10 Tấn công hạ tầng bảo mật (Security infrastructure attack) 25
2.3.11 Các mối đe doạ về bảo mật 25
Trang 4CHƯƠNG III: ỨNG DỤNG SNORT TRONG IDS/IPS 28
3.1 Giới thiệu về snort 28
3.2 Kiến trúc của snort 29
3.2.1 Môđun giải mã gói tin 30
3.2.2 Môđun tiền xử lý 30
3.2.3 Môđun phát hiện 32
3.2.4 Môđun log và cảnh báo 33
3.2.5 Mô đun kết xuất thông tin 33
3.3 Bộ luật của snort 34
3.3.1 Giới thiệu 34
3.3.2 Cấu trúc luật của Snort 35
3.4 Chế độ ngăn chặn của Snort: Snort – Inline 45
3.4.1 Tích hợp khả năng ngăn chặn vào Snort 45
3.4.2 Những bổ sung cho cấu trúc luật của Snort hỗ trợ Inline mode 46
3.5 Cài đặt thử nghiệm hệ thống phát hiện xâm nhập với snort 47
3.5.1 Môi trường và thông số hệ thống 47
3.5.2 Cài đặt và cấu hình snort, barnyard2, pulledpork và snorby 48
CHƯƠNG IV: THỬ NGHIỆM HỆ THỐNG PHÁT HIỆN VÀ NGĂN CHẶN XÂM NHẬP VỚI SNORT 52
4.1 Hệ thống phát hiện xâm nhập với Snort (Snort IDS) 52
4.1.1 Cài đặt và mô hình hệ thống 52
4.1.2 Thử nghiệm với một số luật của hệ thống snort 53
4.1.3 Đánh giá về hệ thống phát hiện xâm nhập sử dụng Snort (Snort IDS) 71
4.2 Hệ thống ngăn chặn xâm nhập với snort_inline (Snort IPS) 72
4.2.1 Cài đặt và mô hình hệ thống 72
4.2.2 Thử nghiệm hệ thống 74
4.2.3 Đánh giá về hệ thống ngăn chặn xâm nhập với Snort_inline (Snort IPS) 83
4.3 Đánh giá chung về hệ thống ngăn chặn và phát hiện xâm nhập với Snort 83
KẾT LUẬN 86
TÀI LIỆU THAM KHẢO 87
Trang 5MỤC LỤC BẢNG
Bảng 1 Bảng so sánh giữa 2 mô hình 18
Bảng 2 Bảng các cờ sử dụng với từ khoá flags 43
MỤC LỤC HÌNH ẢNH Hình 1 Mô hình IDS trong hệ thống mạng 6
Hình 2 Mô hình NIDS 8
Hình 4 Hình ảnh minh hoạ hệ thống phát hiện xâm nhập sử dụng snort 28
(Snort IDS) Hình 5 Mô hình kiến trúc hệ thống Snort 29
Hình 6 Xử lý một gói tin Ethernet 30
Hình 7 Cấu trúc luật của Snort 35
Hình 8 Header luật của Snort 35
Hình 9 Hình ảnh minh hoạ hệ thống ngăn chặn xâm nhập sử dụng snort-inline (Snort IPS) 46
Hình 10 Hình ảnh minh hoạ cài đặt thành công snort 48
Hình 11 Hình ảnh mô tả cài đặt thành công Barnyard 49
Hình 12 Hình ảnh mô ta cài đặt PulledPork thành công 50
Hình 13 Hình ảnh minh hoạ web quản trị của Snorby 51
Hình 14 Hình ảnh minh hoạ tổng quát hệ thống phát hiện xâm nhập snort 52 Hình 15 Hình ảnh mô phỏng hệ thống demo 52
Hình 16 Hình minh hoạ kiểm tra truy cập trang vnexpress.net 54
Hình 17 Mô hình tổng quát tấn công hệ thống 55
Hình 18 Mô hình kẻ tấn công quét máy trong mạng LAN và thông tin hệ thống thử nghiệm 55
Hình 19 Kết quả sau khi quét mạng Lan 56
Hình 20 Wireshark bắt và phân tích gói tin 57
Trang 6Hình 21 Kết quả của snort cảnh báo 58
Hình 22 Kết quả cảnh báo của snort 58
Hình 23 Mô tả Nmap quét cổng 59
Hình 24 Snort đưa ra cảnh báo khi có quét cổng 59
Hình 25 Mô tả snort xuất hiện cảnh báo 60
Hình 26 Hình ảnh mô tả quét cổng 61
Hình 27 Wireshark bắt gói tin quét Xmas và kết quả phân tích 62
Hình 28 Hình ảnh mô tả snort phát hiện quét cổng 63
Hình 29 Kết quả cảnh báo của snort 63
Hình 30 Hình ảnh mô tả tổng quan hệ thống thử nghiệm 64
Hình 31 Wireshare bắt và phân tích gói tin SSH 66
Hình 32 Kết quả snort phát hiện và ra cảnh báo 67
Hình 33 Wireshark bắt và phân tích gói tin dạng tấn công đường hầm ICMP 69
Hình 34 Kết quả hệ thống phát hiện và ghi log 70
Hình 35 Hình minh hoạ snort_inline đã được cài đặt thành công 73
Hình 36 Hình ảnh minh hoạ demo hệ thống ngăn chặn xâm nhập với snort_inline 74
Hình 37 Hình ảnh mô tả hệ thống thử nghiệm hệ thống ngăn chặn xâm nhập 75
Hình 38 Hình ảnh snort phát hiện chặn gói tin và ra log 76
Hình 39 Hình ảnh quét cổng tại máy tấn công sau khi hệ thống có luật 76
Hình 40 Hình ảnh mô phỏng hệ thống giả lập demo snort inline 78
Hình 41 Hình ảnh minh hoạ kết nối giữa 2 máy ảo 78
Hình 42 Hình ảnh chi tiết hệ thống thử nghiệm snort_inline 79
Hình 43 Minh hoạ quét cổng trên máy tấn công 79
Hình 44 Minh hoạ kết nối của máy nạn nhân 80
Trang 7Hình 45 Minh hoạ tấn công từ kali 80
Hình 46 Minh hoạ kết nối từ máy nạn nhân 81
Hình 47 Hình ảnh minh hoạ máy kẻ tấn công đã thất bại 82
Hình 48 Hình ảnh minh hoạ máy kẻ tấn công đã thất bại 82
Hình 49 Minh hoạ máy nạn nhân khi được hệ thống snort bảo vệ 82
Hình 50 Mô hình IPS và IDS inline 85
Hình 51 Mô hình IPS inline và IDS qua cổng giám sát 85
Trang 8LỜI NÓI ĐẦU
Thế giới ngày nay đã có nhiều tiến bộ mạnh mẽ về công nghệ thông tin (CNTT) từ một tiềm năng thông tin đã trở thành một tài nguyên thực sự, trờ thành sản phẩm hàng hóa trong xã hội tạo ra một sự thay đổi to lớn trong lực lượng sản xuất, cơ sở hạ tầng, cấu trúc kinh tế, tính chất lao động và cả cách thức quản lý trong các lĩnh vực của xã hội Với sự phát triển nền CNTT như vậy, việc ứng dụng CNTT vào đời sống hàng ngày đã trở nên rất quen thuộc với mọi người Mạng Internet phát triển mạnh mẽ cũng đã làm thay đổi những thói quen trong xã hội, mang lại lợi ích to lớn cho quá trình phát triển kinh tế
xã hội, thông tin liên lạc của con ngườ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 Cùng với sự phát triển nhanh chóng của mạng Internet, việc đảm bảo an ninh cho các hệ thống thông tin càng trở nên cấp thiết hơn bao giờ hết Trong lĩnh vực an ninh mạng, phát hiện và phòng chống tấn công xâm nhập cho các mạng máy tính là một đề tài hay, thu hút được sự chú ý của nhiều nhà nghiên cứu với nhiều hướng nghiên cứu khác nhau Trong xu hướng đó, đồ án tốt nghiệp này tôi mong muốn có thể tìm hiểu, nghiên cứu về phát hiện và phòng chống xâm nhập mạng với mục đích nắm bắt được các công nghệ, giải pháp, kỹ thuật tiên tiến Mặc dù đã cố gắng hết sức nhưng do kiến thức và khả năng nhìn nhận vấn đề còn hạn chế nên bài làm không tránh khỏi thiếu sót, rất mong được sự quan tâm và góp ý thêm của thầy cô và tất cả các bạn
Trong quá trình thực hiện, tôi xin chân thành cảm ơn thầy Nguyễn Linh Giang đã tận tình hướng dẫn, giúp đỡ để tôi có thể hoàn thành tốt luận văn, đúng tiến độ và thời gian Một lần nữa xin cảm ơn thầy rất nhiều!
Trang 9CHƯƠNG I: NỘI DUNG NGHIÊN CỨU
1.1 Lý do chọn đề tài
Bảo mật là một vấn đề lớn đối với tất cả các mạng trong môi trường doanh nghiệp ngày nay Tin tặc và kẻ xâm nhập đã nhiều lần thành công trong việc xâm nhập vào mạng công ty và đem ra ngoài rất nhiều thông tin giá trị Đã có nhiều phương pháp được phát triển để đảm bảo cho hạ tầng mạng và giao tiếp trên internet n h ư : sử dụng Firewall, VPN…trong đó có
hệ thống phát hiện và ngăn chặn xâm nhập
Phát hiện xâm nhập là một trong những công nghệ và phương thức dùng để phát hiện hành động khả nghi trên cả Host và mạng Các phương pháp phát hiện xâm nhập bắt đầu xuất hiện những năm gần đây, sử dụng phương thức phát hiện xâm nhập, bạn có thể thu thập, sử dụng thông tin từ những loại tấn công đã biết để tìm ra và cảnh báo một ai đó đang cố gắng tấn công và mạng hay máy cá nhân
Hệ thống phát hiện xâm nhập IDS (Intrusion Detection System) là một
hệ thống bảo mật có khả năng phát hiện và chống lại các kiểu tấn công mới, các vụ lạm dụng, dùng sai xuất phát từ trong hệ thống và có thể hoạt động tốt với các phương pháp bảo mật truyền thống
Hệ thống ngăn chặn xâm nhập IPS (Intrusion Prevent System) là hệ thống mở rộng nâng cao của hệ thống phát hiện xâm nhập IDS Nó có tất cả tính năng của một hệ thống phát hiện xâm nhập bình thường đi kèm với khả năng ngăn chặn những luồng dữ liệu trao đổi của hệ thống mạng Do đó hệ thống có khả năng ngăn chặn thất thoát tài nguyên, tấn công vào hệ thống của tin tặc, chặn luồng dữ liệu thông tin độc hại v v
Trang 10Vì những tính năng đó mà hệ thống phát hiện và ngăn chặn xâm nhập được sử dụng ngày càng rộng rãi và được coi như là cơ sở bảo đảm an ninh
hệ thống mạng
1.2 Mục tiêu nghiên cứu
- Tìm hiểu về hệ thống ngăn chặn và phát hiện xâm nhập
- Tìm hiểu các kỹ thuật xâm nhập bất hợp pháp mà tin t ặc thường
sử dụng để tấn công vào mạng nội bộ
- Xây dựng hệ thống IDS sử dụng phần mềm mã nguồn mở snort
để phát hiện các bất thường và cảnh báo
- Xây dựng một số luật cơ bản cho hệ thống snort, nhằm phát hiện một vài kiểu xâm nhập của tin tặc
- Xây dựng hệ thống IPS sử dụng mã nguồn mở snort để ngăn chặn các gói tin bất thường
1.3 Phương pháp nghiên cứu
- Sử dụng HĐH mã nguồn mở Ubuntu để xây dựng hệ thống giám sát mạng nội bộ
- Sử dụng hệ thống phát hiện xâm nhập IDS bằng phần mềm mã nguồn mở snort, nhằm phát hiện các dấu hiệu bất thường trong mạng nội bộ
- Nghiên cứu cấu trúc luật (rules) của snort, từ đó tự xây dựng những luật mới theo nhu cầu của n g ư ờ i dùng, nhằm đảm bảo cho hệ thống có thể phát hiện được những cách thức xâm nhập mới nhất của tin tặc vào hệ thống mạng
- Thực nghiệm đưa ra độ chính xác của các tập lệnh đã xây dựng,
mở rộng xây dựng hệ thống ngăn chặn IPS dựa trên snort
1.4 Đối tượng nghiên cứu
- HĐH Ubuntu: tăng cường tính bảo mật hơn cho hệ thống
Trang 11- HĐH Window: thử nghiệm khả năng bị tấn công của nạn nhân và
cách hệ thống đối phó
- Các hình thức tấn công phổ biến của tin tặc vào hệ thống mạng
nội bộ
- Phần mềm mã nguồn mở snort
- Cấu trúc của tập luật (rules)
1.5 Dự kiến kết quả nghiên cứu
- Tìm hiểu khái quát về hệ thống phát hiện và ngăn chặn xâm nhập,
khái niệm, chức năng, nhiệm vụ, cơ chế hoạt động
- Tìm hiểu một số kỹ thuật xâm nhập và tấn công bất hợp pháp vào hệ
thống mạng
- Xây dựng thành công hệ thống phát hiện xâm nhập dựa trên
phần mềm snort
- Xây dựng một số luật ( rules) có khả năng phát hiện tấn công
truy nhập bất hợp pháp vào mạng nội bộ
- Thử nghiệm và xây dựng một số luật có khả năng ngăn chặn xâm
nhập dựa trên tính năng mở rộng của snort (snort_inline)
Trang 12CHƯƠNG II: HỆ THỐNG PHÁT HIỆN VÀ NGĂN CHẶN
XÂM NHẬP 2.1 An ninh trên không gian mạng
2.1.1 Khái quát về tình hình Internet
Ngày nay, Internet phát triển rất mạnh mẽ và đóng một vai trò quan trọng trong đời sống con người Mạng Internet mang lại rất nhiều tiện ích hữu dụng cho người sử dụng, phỗ thông như hệ thống thư điện tử, tán gẫu trực tuyến, công cụ tìm kiếm, các dịch vụ thương mại và các dịch vụ
về y tế giáo dục như là chữa bệnh từ xa hoặc tổ chức các lớp học trực tuyến…Chúng cung cấp một khối lượng thông tin và dịch vụ khổng lồ trên Internet Trong những năm gần đây, sự phát triển của điện toán đám mây, điện toán di động, mạng xã hội…đã làm cho mạng Internet càng không thể thiếu trong đời sống con người
Ngoài những lợi ích mà Internet mang lại cho con người thì hiểm họa
từ Internet mang đến cũng không ít Nhiều người đã dựa trên những lỗ hỗng bảo mật của Internet để xâm nhập, chiếm dụng thông tin hoặc phá hoại các
hệ thống máy tính khác Những người như vậy được gọi là tin tặc hay
“hacker”
Với định nghĩa trước đây, hacker ám chỉ những người tài giỏi Người này có khả năng chỉnh sửa phần mềm, phần cứng máy tính bao gồm lập trình, quản trị và bảo mật N h ữ n g n g ư ờ i được mệnh danh là hacker là người hiểu rõ hoạt động của hệ thống máy tính, mạng máy tính
và dùng kiến thức bản thân để làm thay đổi, chỉnh sửa nó Nhưng dần dần, khi mọi người nghe tới hacker thì thường liên tưởng ngay tới một kẻ
có mục đích phá hoại và tấn công các hệ thống mạng để ăn cắp thông tin
Symantec nhận định: “Trước đây, những kẻ tấn công thường phải tự tạo dựng công cụ từ đầu Quy trình phức tạp này khiến cho các cuộc tấn công
Trang 13chỉ bó hẹp trong phạm vi những kẻ tội phạm mạng có kỹ năng cao Tuy nhiên, các công cụ tấn công ngày nay lại rất dễ sử dụng, và thậm chí chúng còn giúp những kẻ mới tập tành vào nghề cũng tự mình tấn công được mục tiêu Do vậy, chúng tôi cho rằng sẽ có nhiều hoạt động tội phạm trong lĩnh vực này, và nhiều khả năng những người dùng trung bình cũng
sẽ trở thành nạn nhân” Theo thống kê: “Các doanh nghiệp Mỹ mỗi năm thiệt hại hàng tỷ đô la vì tội phạm mạng.”, “bộ phận quản trị hệ thống của ngân hàng VietinBank cho biết mỗi ngày có 13.300 virus, gần 40 spyware/grayware và khoảng 67.000 thư rác được phát hiện trên toàn hệ thống nhà băng này”, “Facebook và Twitter đồng loạt bị tấn công bằng DDoS”, “Hàng trăm nghìn trang web bị tấn công” …
2.1.2 Khái quát về tình hình an ninh mạng của Việt Nam
Trong năm 2012, tấn công, phát tán phần mềm gián điệp (spyware) vào các cơ quan, doanh nghiệp là hình thái mới của giới tội phạm mạng mang tính chất quốc gia Thế giới trong năm qua bị rúng động bởi sự hoành hành của Flame và Duqu, những virus đánh cắp thông tin mật của các hệ thống điện toán khu vực Trung Đông Các chuyên gia của Công ty Bkav nhận định, những vụ việc tương tự cũng đã bắt đầu diễn ra tại Việt Nam
Hoạt động gián điệp mạng thông qua phát tán virus sẽ trở thành ngành
"công nghiệp" trong năm 2013 Đa phần người sử dụng vẫn ngộ nhận rằng file văn bản (Word, Excel, PowerPoint) là loại file an toàn, không có virus Không đơn giản để thay đổi quan điểm này trong tương lai gần và đó chính là điều kiện "lý tưởng" để giới tội phạm phát triển một mạng lưới gián điệp
2.2 Hệ thống phát hiện và ngăn chặn xâm nhập (IDS/IPS)
2.2.1 Khái niệm
Hệ thống phát hiện xâm nhập IDS (Intrusion Detection System) là một hệ thống có nhiệm vụ giám sát các luồng dữ liệu traffic đang lưu thông
Trang 14trên mạng, có khả năng phát hiện những hành động khả nghi, những xâm nhập trái phép cũng như khai thác bất hợp pháp nguồn tài nguyên của hệ thống mà từ đó có thể dẫn đến xâm hại tính toàn ổn định, toàn vẹn và sẵn sàng của hệ thống
IDS có thể phân biệt được những cuộc tấn công xuất phát từ bên ngoài hay từ chính bên trong hệ thống bằng cách dựa vào một database dấu hiệu đặc biệt về những cuộc tấn công (smurf attack, buffer overflow, packet sniffers….) Khi một hệ thống IDS có khả năng ngăn chặn các cuộc tấn thì
nó được gọi là hệ thống ngăn chặn xâm nhập – IPS (Intrusion Prevention System)
Hình 1 Mô hình IDS trong hệ thống mạng
Có rất nhiều công cụ IDS, trong đó Snort được sử dụng rất nhiều
vì khả năng tương thích có thể hỗ trợ cài đặt trên cả hai môi trường Window
và Linux Khi Snort phát hiện những dấu hiệu của một cuộc tấn công, tùy thuộc vào cấu hình và những qui tắc do người quản trị qui định (Snort Rule)
mà Snort có thể đưa ra những hành động khác nhau, như gửi cảnh báo đến người quản trị hay ghi log file, loại bỏ các gói tin xâm nhập hệ thống…
2.2.2 Chức năng
Các ứng dụng cơ bản của hệ IDS:
- Nhận diện các nguy cơ có thể xảy ra
- Ghi nhận thông tin, log để phục vụ cho việc kiểm soát nguy cơ
Trang 15- Nhận diện các hoạt động thăm dò hệ thống
- Nhận diện các yếu khuyết của chính sách bảo mật
- Ngăn chặn vi phạm chính sách bảo mật
Các tính năng chính của hệ IDS:
- Lưu giữ thông tin liên quan đến các đối tượng quan sát
- Cảnh báo những sự kiện quan trọng liên quan đến đối tượng quan sát
- Xuất báo cáo
2.2.3 Sự khác nhau giữa IDS và IPS
Có thể nhận thấy sự khác biệt giữa hai khái niệm ngay ở tên gọi: “phát hiện” và “ngăn chặn” Các hệ thống IDS được thiết kế với mục đích chủ yếu
là phát hiện và cảnh báo các nguy cơ xâm nhập đối với mạng máy tính nó đang bảo vệ trong khi đó, một hệ thống IPS ngoài khả năng phát hiện còn có thể tự hành động chống lại các nguy cơ theo các quy định được người quản trị thiết lập sẵn Tuy vậy, sự khác biệt này trên thực tế không thật sự rõ ràng Một số hệ thống IDS được thiết kế với khả năng ngăn chặn như một chức năng tùy chọn Trong khi đó một số hệ thống IPS lại không mang đầy đủ chức năng của một hệ thống phòng chống theo đúng nghĩa Một câu hỏi được đặt ra
là lựa chọn giải pháp nào, IDS hay IPS? Câu trả lời tùy thuộc vào quy mô, tính chất của từng mạng máy tính cụ thể cũng như chính sách an ninh của những người quản trị mạng Trong trường hợp các mạng có quy mô nhỏ, với một máy chủ an ninh, thì giải pháp IPS thường được cân nhắc nhiều hơn do tính chất kết hợp giữa phát hiện, cảnh báo và ngăn chặn của nó Tuy nhiên với các mạng lơn hơn thì chức năng ngăn chặn thường được giao phó cho một sản phẩm chuyên dụng như một firewall chẳng hạn Khi đó, hệ thống cảnh báo sẽ chỉ cần theo dõi, phát hiện và gửi các cảnh báo đến một hệ thống ngăn chặn khác Sự phân chia trách nhiệm này sẽ làm cho việc đảm bảo an ninh cho mạng trở nên linh động và hiệu quả hơn
Trang 162.2.4 Phân loại IDS/IPS
Cách thông thường nhất để phân loại các hệ thống IDS (cũng như IPS)
là dựa vào đặc điểm của nguồn dữ liệu thu thập được Trong trường hợp này, các hệ thống IDS được chia thành các loại sau:
để phát hiện xâm nhập
Network-based IDS (NIDS): Sử dụng dữ liệu trên toàn bộ lưu thông mạng, cùng với dữ liệu kiểm tra từ một hoặc một vài máy trạm để phát hiện xâm nhập
2.2.5 Network based IDS – NIDS
NIDS thường bao gồm có hai thành phần logic:
thông nghi ngờ trên đoạn mạng đó
Trạm quản lý: nhận các tín hiệu cảnh báo từ bộ cảm biến và thông báo cho một điều hành viên
src:http://www.informit.com/articles/article.aspx?p=29601
Hình 2 Mô hình NIDS
Trang 17Một NIDS truyền thống với hai bộ cảm biến trên các đoạn mạng khác nhau cùng giao tiếp với một trạm kiểm soát
Ƣu điểm
Chi phí thấp: Do chỉ cần cài đặt NIDS ở những vị trí trọng yếu là có thể giám sát lưu lượng toàn mạng nên hệ thống không cần phải nạp các phần mềm và quản lý trên các máy toàn mạng
NIDS kiểm tra header của tất cả các gói tin vì thế nó không bỏ sót các dấu hiệu xuất phát từ đây Ví dụ: nhiều cuộc tấn công DoS, TearDrop (phân nhỏ) chỉ bị phát hiện khi xem header của các gói tin lưu chuyển trên mạng
Khó xoá bỏ dấu vết (evidence): Các thông tin lưu trong log file có thể bị kẻ đột nhập sửa đổi để che dấu các hoạt động xâm nhập, trong tình huống này HIDS khó có đủ thông tin để hoạt động NIDS sử dụng lưu thông hiện hành trên mạng để phát hiện xâm nhập Vì thế, kẻ đột nhập không thể xoá bỏ được các dấu vết tấn công Các thông tin bắt được không chỉ chứa cách thức tấn công mà cả thông tin hỗ trợ cho việc xác minh và buộc tội kẻ đột nhập
Phát hiện và đối phó kịp thời: NIDS phát hiện các cuộc tấn công ngay khi xảy ra, vì thế việc cảnh báo và đối phó có thể thực hiện được nhanh hơn
VD: Một hacker thực hiện tấn công DoS dựa trên TCP có thể bị NIDS phát hiện và ngăn chặn ngay bằng việc gửi yêu cầu TCP reset nhằm chấm dứt cuộc tấn công trước khi nó xâm nhập và phá vỡ máy bị hại
đối với công việc của các máy trên mạng Chúng chạy trên một hệ thống chuyên dụng dễ dàng cài đặt; đơn thuần chỉ mở thiết bị ra, thực hiện một vài
sự thay đổi cấu hình và cắm chúng vào trong mạng tại một vị trí cho phép nó kiểm soát các cuộc lưu thông nhạy cảm
Trang 18Nhƣợc điểm
Bị hạn chế với Switch: Nhiều lợi điểm của NIDS không phát huy được trong các mạng chuyển mạch hiện đại Thiết bị switch chia mạng thành nhiều phần độc lập vì thế NIDS khó thu thập được thông tin trong toàn mạng
Do chỉ kiểm tra mạng trên đoạn mà nó trực tiếp kết nối tới, nó không thể phát hiện một cuộc tấn công xảy ra trên các đoạn mạng khác Vấn đề này dẫn tới yêu cầu tổ chức cần phải mua một lượng lớn các bộ cảm biến để có thể bao phủ hết toàn mạng gây tốn kém về chi phí cài đặt
các gói tin trên mạng rộng hoặc có mật độ lưu thông cao, dẫn đến không thể phát hiện các cuộc tấn công thực hiện vào lúc "cao điểm" Một số nhà sản xuất đã khắc phục bằng cách cứng hoá hoàn toàn IDS nhằm tăng cường tốc
độ cho nó Tuy nhiên, do phải đảm bảo về mặt tốc độ nên một số gói tin được
bỏ qua có thể gây lỗ hổng cho tấn công xâm nhập
Tăng thông lượng mạng: Một hệ thống phát hiện xâm nhập có thể cần truyền một dung lượng dữ liệu lớn trở về hệ thống phân tích trung tâm, có nghĩa là một gói tin được kiểm soát sẽ sinh ra một lượng lớn tải phân tích Để khắc phục người ta thường sử dụng các tiến trình giảm dữ liệu linh hoạt để giảm bớt số lượng các lưu thông được truyền tải Họ cũng thường thêm các chu trình tự ra các quyết định vào các bộ cảm biến và sử dụng các trạm trung tâm như một thiết bị hiển thị trạng thái hoặc trung tâm truyền thông hơn là thực hiện các phân tích thực tế Điểm bất lợi là nó sẽ cung cấp rất ít thông tin liên quan cho các bộ cảm biến; bất kỳ bộ cảm biến nào sẽ không biết được việc một bộ cảm biến khác dò được một cuộc tấn công Một hệ thống như vậy
sẽ không thể dò được các cuộc tấn công hiệp đồng hoặc phức tạp
tấn công trong một phiên được mã hoá Lỗi này càng trở nên trầm trọng khi nhiều công ty và tổ chức đang áp dụng mạng riêng ảo VPN
Trang 19 Một số hệ thống NIDS cũng gặp khó khăn khi phát hiện các cuộc tấn công mạng từ các gói tin phân mảnh Các gói tin định dạng sai này có thể làm cho NIDS hoạt động sai và đổ vỡ
2.2.6 Host based IDS – HIDS
Host-based IDS tìm kiếm dấu hiệu của xâm nhập vào một host cục bộ; thường sử dụng các cơ chế kiểm tra và phân tích các thông tin được logging
Nó tìm kiếm các hoạt động bất thường như login, truy nhập file không thích hợp, bước leo thang các đặc quyền không được chấp nhận
Kiến trúc IDS này thường dựa trên các luật (rule-based) để phân tích các hoạt động Ví dụ đặc quyền của người sử dụng cấp cao chỉ có thể đạt được thông qua lệnh su-select user, như vậy những cố gắng liên tục để login vào account root có thể được coi là một cuộc tấn công
Ƣu điểm
log lưu các sự kiện xảy ra, nó có thể biết được cuộc tấn công là thành công hay thất bại với độ chính xác cao hơn NIDS Vì thế, HIDS có thể bổ sung thông tin tiếp theo khi cuộc tấn công được sớm phát hiện với NIDS
sát các hoạt động mà NIDS không thể như: truy nhập file, thay đổi quyền, các hành động thực thi, truy nhập dịch vụ được phân quyền Đồng thời nó cũng giám sát các hoạt động chỉ được thực hiện bởi người quản trị Vì thế, hệ thống host-based IDS có thể là một công cụ cực mạnh để phân tích các cuộc tấn công có thể xảy ra do nó thường cung cấp nhiều thông tin chi tiết và chính xác hơn một hệ network-based IDS
dụng bàn phím xâm nhập vào một server sẽ không bị NIDS phát hiện
Trang 20 Thích nghi tốt với môi trường chuyển mạch, mã hoá: Việc chuyển mạch và mã hoá thực hiện trên mạng và do HIDS cài đặt trên máy nên nó không bị ảnh hưởng bởi hai kỹ thuật trên
mạng có sẵn (FTP Server, WebServer) nên HIDS không yêu cầu phải cài đặt thêm các phần cứng khác
Nhƣợc điểm
Khó quản trị: các hệ thống host-based yêu cầu phải được cài đặt trên tất cả các thiết bị đặc biệt mà bạn muốn bảo vệ Đây là một khối lượng công việc lớn để cấu hình, quản lí, cập nhật
Thông tin nguồn không an toàn: một vấn đề khác kết hợp với các hệ thống host-based là nó hướng đến việc tin vào nhật ký mặc định và năng lực kiểm soát của server Các thông tin này có thể bị tấn công và đột nhập dẫn đến hệ thống hoạt đông sai, không phát hiện được xâm nhập
Hệ thống host-based tương đối đắt: nhiều tổ chức không có đủ nguồn tài chính để bảo vệ toàn bộ các đoạn mạng của mình sử dụng các hệ thống host-based Những tổ chức đó phải rất thận trọng trong việc chọn các hệ thống nào để bảo vệ Nó có thể để lại các lỗ hổng lớn trong mức độ bao phủ phát hiện xâm nhập Ví dụ như một kẻ tấn công trên một hệ thống láng giềng không được bảo vệ có thể đánh hơi thấy các thông tin xác thực hoặc các tài liệu dễ bị xâm phạm khác trên mạng
Chiếm tài nguyên hệ thống: Do cài đặt trên các máy cần bảo vệ nên HIDS phải sử dụng các tài nguyên của hệ thống để hoạt động như: bộ vi xử lí, RAM, bộ nhớ ngoài
2.2.7 Cơ chế hoạt động của hệ thống IDS/IPS
Có hai cách tiếp cận cơ bản đối với việc phát hiện và phòng chống xâm nhập là:
Trang 21 Phát hiện sự lạm dụng (Misuse Detection Model): Hệ thống sẽ phát hiện các xâm nhập bằng cách tìm kiếm các hành động tương ứng với các kĩ thuật xâm nhập đã được biết đến (dựa trên các dấu hiệu - signatures) hoặc các điểm dễ bị tấn công của hệ thống
Phát hiện sự bất thường (Anomaly Detection Model): Hệ thống sẽ phát hiện các xâm nhập bằng cách tìm kiếm các hành động khác với hành vi thông thường của người dùng hay hệ thống
2.2.7.1 Phát hiện sự lạm dụng
Phát hiện sự lạm dụng là phát hiện những kẻ xâm nhập đang cố gắng đột nhập vào hệ thống mà sử dụng một số kỹ thuật đã biết Nó liên quan đến việc mô tả đặc điểm các cách thức xâm nhập vào hệ thống đã được biết đến, mỗi cách thức này được mô tả như một mẫu Hệ thống phát hiện sự lạm dụng chỉ thực hiện kiểm soát đối với các mẫu đã rõ ràng Mẫu có thể là một xâu bit
cố định (ví dụ như một virus đặc tả việc chèn xâu), dùng để mô tả một tập hay một chuỗi các hành động đáng nghi ngờ Ở đây, ta sử dụng thuật ngữ kịch bản xâm nhập (intrusion scenario) Một hệ thống phát hiện sự lạm dụng điển hình
sẽ liên tục so sánh hành động của hệ thống hiện tại với một tập các kịch bản xâm nhập để cố gắng dò ra kịch bản đang được tiến hành Hệ thống này có thể xem xét hành động hiện tại của hệ thống được bảo vệ trong thời gian thực hoặc có thể là các bản ghi kiểm tra được ghi lại bởi hệ điều hành
Các kỹ thuật để phát hiện sự lạm dụng khác nhau ở cách thức mà chúng
mô hình hoá các hành vi chỉ định một sự xâm nhập Các hệ thống phát hiện sự lạm dụng thế hệ đầu tiên sử dụng các luật (rules) để mô tả những gì mà các nhà quản trị an ninh tìm kiếm trong hệ thống Một lượng lớn tập luật được tích luỹ dẫn đến khó có thể hiểu và sửa đổi bởi vì chúng không được tạo thành từng nhóm một cách hợp lý trong một kịch bản xâm nhập
Trang 22Để giải quyết khó khăn này, các hệ thống thế hệ thứ hai đưa ra các biểu diễn kịch bản xen kẽ, bao gồm các tổ chức luật dựa trên mô hình và các biểu diễn về phép biến đổi trạng thái Điều này sẽ mang tính hiệu quả hơn đối với người dùng hệ thống cần đến sự biểu diễn và hiểu rõ ràng về các kịch bản Hệ thống phải thường xuyên duy trì và cập nhật để đương đầu với những kịch bản xâm nhập mới được phát hiện
Do các kịch bản xâm nhập có thể được đặc tả một cách chính xác, các
hệ thống phát hiện sự lạm dụng sẽ dựa theo đó để theo vết hành động xâm nhập Trong một chuỗi hành động, hệ thống phát hiện có thể đoán trước được bước tiếp theo của hành động xâm nhập Bộ dò tìm phân tích thông tin hệ thống để kiểm tra bước tiếp theo, và khi cần sẽ can thiệp để làm giảm bởi tác hại có thể
2.2.7.2 Phát hiện sự bất thường
Dựa trên việc định nghĩa và mô tả đặc điểm của các hành vi có thể chấp nhận của hệ thống để phân biệt chúng với các hành vi không mong muốn hoặc bất thường, tìm ra các thay đổi, các hành vi bất hợp pháp Như vậy, bộ phát hiện sự không bình thường phải có khả năng phân biệt giữa những hiện tượng thông thường và hiện tượng bất thường
Ranh giới giữa dạng thức chấp nhận được và dạng thức bất thường của đoạn mã và dữ liệu lưu trữ được định nghĩa rõ ràng (chỉ cần một bit khác nhau), còn ranh giới giữa hành vi hợp lệ và hành vi bất thýờng thì khó xác định hơn
Phát hiện sự không bình thường được chia thành hai loại tĩnh và động:
1 Phát hiện tĩnh
Dựa trên giả thiết ban đầu là phần hệ thống được kiểm soát phải luôn luôn không đổi Ở đây, ta chỉ quan tâm đến phần mềm của vùng hệ thống đó (với giả sử là phần cứng không cần phải kiểm tra) Phần tĩnh của một hệ
Trang 23thống bao gồm 2 phần con: mã hệ thống và dữ liệu của phần hệ thống đó Hai thông tin này đều được biểu diễn dưới dạng một xâu bit nhị phân hoặc một tập các xâu Nếu biểu diễn này có sự sai khác so với dạng thức gốc thì hoặc
có lỗi xảy ra hoặc một kẻ xâm nhập nào đó đã thay đổi nó Lúc này, bộ phát hiện tĩnh sẽ được thông báo để kiểm tra tính toàn vẹn dữ liệu Cụ thể là: bộ phát hiện tĩnh đưa ra một hoặc một vài xâu bit cố định để định nghĩa trạng thái mong muốn của hệ thống Các xâu này giúp ta thu được một biểu diễn về trạng thái đó, có thể ở dạng nén Sau đó, nó so sánh biểu diễn trạng thái thu được với biểu diễn tương tự được tính toán dựa trên trạng thái hiện tại của cùng xâu bit cố định Bất kỳ sự khác nhau nào đều là thể hiện lỗi như hỏng phần cứng hoặc có xâm nhập
Biểu diễn trạng thái tĩnh có thể là các xâu bit thực tế được chọn để định nghĩa cho trạng thái hệ thống, tuy nhiên điều đó khá tốn kém về lưu trữ cũng như về các phép toán so sánh Do vấn đề cần quan tâm là việc tìm ra được sự sai khác để cảnh báo xâm nhập chứ không phải chỉ ra sai khác ở đâu nên ta có thể sử dụng dạng biểu diễn được nén để giảm chi phí Nó là giá trị tóm tắt tính được từ một xâu bit cơ sở Phép tính toán này phải đảm bảo sao cho giá trị tính được từ các xâu bit cơ sở khác nhau là khác nhau Có thể sử dụng các thuật toán checksums, message-digest (phân loại thông điệp), các hàm băm
Một số bộ phát hiện xâm nhập kết hợp chặt chẽ với meta-data (dữ liệu
mô tả các đối tượng dữ liệu) hoặc thông tin về cấu trúc của đối tượng được kiểm tra Ví dụ, meta-data cho một log file bao gồm kích cỡ của nó Nếu kích
cỡ của log file tăng thì có thể là một dấu hiệu xâm nhập
2 Phát hiện động
Trước hết ta đưa ra khái niệm hành vi của hệ thống (behavior) Hành vi của hệ thống được định nghĩa là một chuỗi các sự kiện phân biệt, ví dụ như rất nhiều hệ thống phát hiện xâm nhập sử dụng các bản ghi kiểm tra (audit
Trang 24record), sinh ra bởi hệ điều hành để định nghĩa các sự kiện liên quan, trong trường hợp này chỉ những hành vi mà kết quả của nó là việc tạo ra các bản ghi kiểm tra của hệ điều hành mới được xem xét Các sự kiện có thể xảy ra theo trật tự nghiêm ngặt hoặc không và thông tin phải được tích luỹ Các ngưỡng được định nghĩa để phân biệt ranh giới giữa việc sử dụng tài nguyên hợp lý hay bất thường
Nếu không chắc chắn hành vi là bất thường hay không, hệ thống có thể dựa vào các tham số được thiết lập trong suốt quá trình khởi tạo liên quan đến hành vi Ranh giới trong trường hợp này là không rõ ràng do đó có thể dẫn đến những cảnh báo sai
Cách thức thông thường nhất để xác định ranh giới là sử dụng các phân loại thống kê và các độ lệch chuẩn Khi một phân loại được thiết lập, ranh giới có thể được vạch ra nhờ sử dụng một số độ lệch chuẩn Nếu hành vi nằm bên ngoài thì sẽ cảnh báo là có xâm nhập Cụ thể là: các hệ thống phát hiện động thường tạo ra một profile (dữ liệu) cơ sở để mô tả đặc điểm các hành vi bình thường, chấp nhận được Một dữ liệu bao gồm tập các đo lường được xem xét về hành vi, mỗi đại lượng đo lường gồm nhiều chiều:
Liên quan đến các lựa chọn: thời gian đăng nhập, vị trí đăng nhập…
thời gian: chiều dài phiên giao dịch, số các thông điệp gửi ra mạng trong một đơn vị thời gian…
Chuỗi biểu diễn các hành động
Sau khi khởi tạo dữ liệu cơ sở, quá trình phát hiện xâm nhập có thể được bắt đầu Phát hiện động lúc này cũng giống như phát hiện tĩnh ở đó chúng kiểm soát hành vi bằng cách so sánh mô tả đặc điểm hiện tại về hành vi với mô tả ban đầu của hành vi được mong đợi (chính là dữ liệu cơ sở), để tìm
ra sự khác nhau Khi hệ thống phát hiện xâm nhập thực hiện, nó xem xét các
Trang 25sự kiện liên quan đến thực thể hoặc các hành động là thuộc tính của thực thể Chúng xây dựng thêm một dữ liệu hiện tại
Các hệ thống phát hiện xâm nhập thế hệ trước phải phụ thuộc vào các bản ghi kiểm tra (audit record) để bắt giữ các sự kiện hoặc các hành động liên quan Các hệ thống sau này thì ghi lại một cơ sở dữ liệu đặc tả cho phát hiện xâm nhập Một số hệ thống hoạt động với thời gian thực, hoặc gần thời gian thực, quan sát trực tiếp sự kiện trong khi chúng xảy ra hơn là đợi hệ điều hành tạo ra bản ghi mô tả sự kiện
Khó khăn chính đối với các hệ thống phát hiện động là chúng phải xây dựng các dữ liệu cơ sở một cách chính xác, và sau đó nhận dạng hành vi sai trái nhờ các dữ liệu Các dữ liệu cơ sở có thể xây dựng nhờ việc giả chạy hệ thống hoặc quan sát hành vi người dùng thông thường qua một thời gian dài
2.2.7.3 So sánh giữa hai mô hình
Hiệu quả trong việc phát hiện các
dạng tấn công đã biết, hay các biến
thể (thay đổi nhỏ) của các dạng tấn
công đã biết Không phát hiện được
các dạng tấn công mới
Hiệu quả trong việc phát hiện các dạng tấn công mới mà một hệ thống phát hiện sự lạm dụng bỏ qua
Dễ cấu hình hơn do đòi hỏi ít hơn về
thu thập dữ liệu, phân tích và cập nhật
Khó cấu hình hơn vì đưa ra nhiều dữ liệu hơn, phải có được một khái niệm
Trang 26toàn diện về hành vi đã biết hay hành
vi được mong đợi của hệ thống Đưa ra kết luận dựa vào phép so khớp
mẫu (pattern matching)
Đưa ra kết quả dựa vào tương quan bằng thống kê giữa hành vi thực tế và hành vi được mong đợi của hệ thống (hay chính là dựa vào độ lệch giữa thông tin thực tế và ngưỡng cho phép)
Có thể kích hoạt một thông điệp cảnh
báo nhờ một dấu hiệu chắc chắn, hoặc
cung cấp dữ liệu hỗ trợ cho các dấu
hiệu khác
Có thể hỗ trợ việc tự sinh thông tin hệ thống một cách tự động nhưng cần có thời gian và dữ liệu thu thập được phải rõ ràng
2.3.1 Tấn công từ chối dịch vụ (Denial of Service Attack)
Cho dù đa dạng về kích cỡ và hình dạng, từ subtle malformed packet đến full-blown packet storm, Denial of Service (DoS) attack có mục đích chung là đóng băng hay chặn đứng tài nguyên của hệ thống đích Cuối cùng, mục tiêu trở nên không thể tiếp cận và không thể trả lời DoS tấn công vào các mục tiêu bao gồm 3 dạng là mạng, hệ thống và ứng dụng
- Network flooding bao gồm SYN flood, Ping flood hay multi echo request…
- Phá hoại hệ thống, thiết bị bao gồm Ping of Death, Teardrop, Bonk, LAND, các kiểu tấn công nhằm lợi dụng lỗ hổng trên hệ điều hành nhằm phá hoại, gây quá tải hệ thống Sự kiện này có thể xảy ra bằng cách gửi gói tin có định
Trang 27dạng khác thường tới hệ thống và thiết bị, chúng có thể được tạo ra bằng các công cụ tấn công được lập trình trước
- Phá hoại, gây quá tải ứng dụng bao gồm các kỹ thuật phá hoại và gây quá tải hệ thống bằng cách lợi cụng điểm yếu trên ứng dụng, cơ sở dữ liệu, email, trang web…Ví dụ: một email rất dài hay một số lượng lớn email, hay một
số lượng lớn yêu cầu tới trang web có thể gây quá tải cho server của các ứng dụng đó
Giải pháp của IDS: Một firewall dạng proxy rất hiệu quả để ngăn
chặn các gói tin không mong muốn từ bên ngoài, tuy nhiên Network IDS có thể phát hiện được các tấn công dạng gói tin
2.3.2 Quét và thăm dò (Scanning and Probe):
Bộ quét và thăm dò tự động tìm kiếm hệ thống trên mạng để xác định điểm yếu Tuy các công cụ này được thiết kế cho mục đích phân tích để phòng ngừa, nhưng chúng có thể được sử dụng để gây hại cho hệ thống Các công cụ quét và thăm dò bao gồm SATAN, ISS Internet Scanner, NETA CyberCop, Asmodeus, và AXENT NetRecon Việc thăm dò có thể được
thực hiện bằng cách ping đến hệ thống cũng như kiểm tra các cổng TCP và
UDP để phát hiện ra ứng dụng có những lỗi đã được biết đến Vì vậy các công cụ này có thể là công cụ đắc lực cho mục đích xâm nhập
Giải pháp của IDS: Network-based IDS có thể phát hiện các hành
động nguy hiểm trước khi chúng xảy ra Yếu tố “time-to-response” rất quan trọng trong trường hợp này để có thể chống các kiểu tấn công như vậy trước khi có thiệt hại Host-based IDS cũng có thể có tác dụng đối với kiểu tấn công này, nhưng không hiệu quả bằng giải pháp dựa trên mạng
2.3.3 Tấn công vào mật mã (Password attack)
Có 3 phương thức tiếp cận đối với kiểu tấn công Passwork attack
Kiểu dễ nhận thấy nhất là ăn trộm mật mã, mang lại quyền hành và tính linh
Trang 28động cao nhất cho kẻ tấn công có thể truy nhập tới mọi thông tin tại mọi thành phần trong mạng Đoán hay bẻ khóa mật mã là phương thức tiếp cận được gọi là brute force bằng cách thử nhiều mật mã để mong tìm được mật
mã đúng Với bẻ khóa, kẻ tấn công cần truy nhập tới mật mã đã được mã hóa, hay file chứa mật mã đã mã hóa, kẻ tấn công sử dụng chương trình đoán nhiều
mã với thuật toán mã hóa có thể sử dụng được để xác định mã đúng Với tốc
độ máy tính hiện nay, việc bẻ khóa là rất hiệu quả trong trường hợp mật mã
là từ có nghĩa (trong từ điển), bất cứ mã nào nhỏ hơn 6 ký tự, tên thông dụng
và các phép hoán vị Hiện nay, Internet cung cấp rất nhiều chương trình
“password hackerware” có thể tải về và sử dụng dễ dàng Các công cụ trên cũng được các kỹ sư sử dụng với những mục đích tốt như tìm lại mật mã, hay tìm kiếm các thông tin cần thiết cho quá trình điều tra tội phạm…
- Ta có ví dụ về trộm mật mã như nghe trộm mật mã gửi trên mạng (LOPHT2.0), gửi thư, chương trình có kèm keylogger, trojan cho người quản trị; ngoài ra không thể không kể tới các phương thức tấn công vào yếu tố con người như nhìn trộm, dùng vũ lực ép buộc…
- Dự đoán và bẻ khóa ví dụ như: đoán từ tên, các thông tin cá nhân, từ các từ thông dụng (có thể dùng khi biết username mà không biết mật mã), sử dụng tài khoản khách rồi chiếm quyền quản trị; các phương thức tấn công như brute force, đoán mật mã đã mã hóa từ các từ trong từ điển, ta có một số công
cụ như LOPHT Crack, pwldump…
Giải pháp của IDS: Một Network-based IDS có thể phát hiện và
ngăn chặn cố gắng đoán mã (có thể ghi nhận sau một số lần thử không thành công), nhưng nó không có hiệu quả trong việc phát hiện truy nhập trái phép tới file mã hóa chứa mật mã hay chạy các chương trình bẻ khóa Trong khi đó Host-based IDS lại rất có hiệu quả trong việc phát hiện việc đoán mật mã cũng như phát hiện truy nhập trái phép tới file chứa mật mã
Trang 292.3.4 Chiếm đặc quyền (Privilege-grabbing)
Khi kẻ tấn công đã xâm nhập được vào hệ thống, chúng sẽ cố chiếm quyền truy nhập Khi thành công, chúng đã chiếm được hệ thống Trong hệ điều hành UNIX, điều này nghĩa là trở thành “root”, ở Windows NT
là “Administrator”, trên NetWare là “Supervisor” Các câu lệnh và mã thực hiện cho kỹ thuật trên có thể kiếm được trên Internet, ví dụ như khai thác lỗi tràn bộ đệm của hệ điều hành hay phần mềm ứng dụng để ghi đè các segment vào bộ nhớ Khi chiến thuật này được sử dụng với chương trình hệ điều hành đặc quyền, nó thường gây lỗi hỏng core, dẫn đến kẻ tấn công có thể
có quyền truy cập “superuser” Dưới đây là một số kỹ thuật thường dùng cho việc chiếm đặc quyền:
- Đoán hay bẻ khóa của root hay administrator
- Gây tràn bộ đệm
- Khai thác Windows NT registry
- Truy nhập và khai thác console đặc quyền
- Thăm dò file, scrip hay các lỗi của hệ điều hành và ứng dụng
Giải pháp của IDS: Cả Network và Host-based IDS đều có thể xác
định việc thay đổi đặc quyền trái phép ngay lập tức, ở cấp phần mềm, do việc đó xảy ra trên thiết bị chủ Do Host-based IDS có thể tìm kiếm được những người dùng không có đặc quyền đột nhiên trở thành có đặc quyền mà không qua hệ thống thông thường, Host-based IDS có thể ngừng hành động này Ngoài ra hành động chiếm đặc quyền của hệ điều hành và ứng dụng có thể được định nghĩa trong tập các dấu hiệu tấn công của Network-based IDS nhằm ngăn chặn việc tấn công xảy ra
2.3.5 Cài đặt mã nguy hiểm (Hostile code insertion)
Một số loại tấn công có thể cài đặt mã nguy hiểm vào hệ thống Mã này có thể lấy trộm dữ liệu, gây từ chối dịch vụ, xóa file, hay tạo backdoor
Trang 30cho lần truy nhập trái phép tiếp theo Ta có một số ví dụ về việc cài đặt mã nguy hiểm sau:
- Virus: chương trình hay đoạn mã mà khi thực thi sẽ dẫn đến một số hành động tự động, có hoặc không có hại, nhưng luôn dẫn đến việc tạo ra bản sao của file hệ thống, file của ứng dụng hay dữ liệu Virus thường được xác định nhờ vào những hành động có hại của chúng, có thể được kích hoạt dựa trên sự kiện, ngày…
- Trojan Horse: một chương trình hay đoạn mã mà khi thực thi sẽ dẫn đến một số hành động tự động, thường có hại, nhưng không có mục đích nhân bản Thường thì Trojan Horse được đặt tên hay mô tả như một c h ư ơ n g trình mà người ta muốn sử dụng, nhưng thưc tế chúng kích hoạt các hành động có thể dẫn đến hỏng file hay hệ thống
- Backdoor: đây là một loại Trojan đặc biệt thực hiện việc thay thế một chương trình có sẵn bằng một chương trình cho phép kẻ xâm nhập truy nhập được vào hệ thống trong tương lai (như “msgina.dll” trên Windows NT)
- Malicious Apple: đây cũng là một loại Trojan, chúng thường là Java hay ActiveX applet mà người dùng có thể gặp khi duyệt các trang web Applet đó
có vẻ như thực hiện các chức năng bình thường nhưng ẩn trong đó là các hành động nguy hiểm như tải file lên web site của kẻ tấn công
Giải pháp của IDS: Cài đặt các phần mềm bảo mật có tác dụng
chống virus và các đoạn mã nguy hiểm lên gateway, server và workstation là phương pháp hiệu quả nhất để giảm mức độ nguy hiểm Các file quan trọng được quản lý bằng Host IDS có thể đảm bảo rằng chương trình và file quan trọng của hệ điều hành không bị điều khiển Kết hợp với các sự kiện khác, IDS có thể xác định được ai đó cố gắng cài đoạn mã nguy hiểm, ví dụ như nó
có thể phát hiện được ai đó định thay chương trình ghi log bằng một
Trang 31backdoor Network-bases IDS cũng có thể được chỉ thị để quản lý hệ thống và file ảnh cho mục đích kiểm tra tính toàn vẹn
2.3.6 Hành động phá hoại trên máy móc (Cyber vandalism)
Cyber Vandalism bao gồm: thay đổi trang web, applet, xóa file, phá block khởi động và chương trình hệ điều hành, format ổ đĩa
Giải pháp của IDS: Đối với giải pháp của Host-based IDS, cài đặt và
cấu hình cẩn thận có thể xác định được tất cả các vấn đề liên quan đến cyber vandalism Ví dụ như mọi thay đổi đối với trang web có thể được ghi lại tại biên bản kiểm kê của thiết bị mà trang web nằm trên đó Không chỉ được cấu hình để quản lý mọi thay đổi trên trang web, Host-based IDS còn có thể thực hiện các hành động đối phó, là những hành động được Security Administrator cấu hình Network-based IDS thì có thể sử dụng dấu hiệu tấn công được định nghĩa trước để phát hiện chính xác việc truy nhập trái phép vào hệ điều hành, ứng dụng cũng như xóa file và thay đổi trang web
2.3.7 Ăn trộm dữ liệu quan trọng (Proprietary data theft)
Mặc dù hơn 80% các cuộc tấn công liên quan đến thông tin quan trọng đều xảy ra ngay trong tổ chức đó, số các cuộc tấn công từ bên ngoài đã liên tục tăng trong một vài năm qua Ngoài việc tăng cường chính sách bảo mật trong hệ thống, các tổ chức cần phải xác định rằng việc tăng các liên kết cũng làm tăng sự nguy hiểm với các dữ liệu quan trọng như việc sao chép
dữ liệu, nghe trộm việc truyền nhằm lấy dữ liệu quan trọng
Giải pháp của IDS: Mô hình Host-based IDS thực hiện việc quản lý
các dữ liệu quan trọng có thể phát hiện các file bị sao chép bất hợp pháp Trong một số trường hợp IDS có thể dựa vào biên bản của hệ điều hành, nhưng trong nhiều trường hợp việc ghi biên bản có chứa quá nhiều overhead (như với Winddows NT) Trong các trường hợp đó, Host-based IDS cần phải thực hiện việc quản lý riêng biệt với các file quan trọng Còn Network-
Trang 32based IDS có thể được chỉnh sửa để quản lý việc truy nhập vào các file quan trọng và xác định việc truyền thông có chứa key word Trong một số trường hợp rất khó có thể phát hiện được một host nghe trộm trên mạng, thì phần mềm IDS trên host đó có thể phát hiện được host đã bị đặt ở trạng thái ngẫu nhiên và đang nghe trộm việc tuyền thông
2.3.8 Gian lận, lãng phí và lạm dụng (Fraud, waste, abuse)
Gian lận, lãng phí và lạm dụng tài nguyên máy tính và vấn đề liên quan đến kinh tế trong thời kỳ hiện nay Gian lận liên quan đến việc chuyển tiền bất hợp pháp, trộm số credit card, can thiệp vào tài khoản nhà băng, và thao túng chương trình kiểm tra viết (check writing) Lãng phí và lạm dụng xảy ra khi tài nguyên được sử dụng (tình cờ hay chủ đích) cho các công việc đi ngược lại với mục đích của tổ chức
Giải pháp của IDS: Network-based IDS có thể được thay đổi nhằm
ngăn các URL, tuy nhiên các chương trình chuyên dụng để ngăn URL có liên
hệ với firewall có thể hoạt động hiệu quả hơn, có thể duy trì một danh sách URL động và chính sách lạm dụng dựa trên USERID Host-based IDS có thể thực thi một chính sách do công ty đặt ra, các truy nhập trái phép và sửa đổi file hệ thống có thể được phát hiện thông qua host-based IDS cũng như network-based IDS Bất cứ thay đổi có thể ngay lâp tức được ghi trong biên bản hệ thống, agent có thể dễ dàng theo dõi các hành động đó
2.3.9 Can thiệp vào biên bản (Audit trail tampering)
Như đã nói đến ở trên, hầu hết các thông tin tạo nên từ các hành động của người dùng được ghi trong các audit trail riêng của hệ thống của doanh nghiệp Can thiệp vào biên bản là cách được ưa thích để loại bỏ hay che dấu vết Dưới đây là các phương thức hacker thường dùng để tấn công vào audit trail và che dấu vết:
- Audit Deletion: xóa biên bản, khi đã vào được hệ thống
Trang 33- Deactivation: ngừng tiến trình ghi sự kiện lên audit trail
- Modification: sửa sự kiện mà nó ghi nhận được trước khi thoát khỏi hệ thống
- Flooding: tạo ra các sự kiện làm nhiễu để ngụy trang cho dấu vết tấn công
Giải pháp của IDS: Host-based IDS agent có thể quản lý việc can
thiệp vào biên bản (xóa, ngừng hay sửa đổi) và thực hiện các hành động phù hợp Network-based IDS có thể cung cấp ngữ cảnh cần thiết để phát hiện audit trail đã bị truy nhập hay sửa đổi
2.3.10 Tấn công hạ tầng bảo mật (Security infrastructure attack)
Có nhiều loại tấn công can thiệp vào việc điều khiển cơ bản của cơ sở
hạ tầng bảo mật, như tạo tường lửa trái phép, chỉnh sửa tài khoản của người dùng hay router, hay thay đổi quyền của file Tấn công vào cơ sở hạ tầng cho phép kẻ xâm nhập có thêm quyền truy nhập hay tạo thêm nhiều đường xâm nhập vào hệ thống hay mạng Cuộc tấn công tạo ra thay đổi bằng cách truy nhập trái phép tới chức năng quản trị, tìm console quản trị không được chú ý, hay tác động lên người quản trị để thực hiện hành động nào đó Trong các trường hợp đó rất khó có thể phân biệt giữa một hành động tấn công và một hành động của người quản trị mạng
Giải pháp của IDS: Các hành động quản trị mạng thường là đăng
nhập vào audit trail trên host hay router trên một node lựa chọn trên mạng như SYSLOG trên UNIX Host-based IDS có thể bắt giữ các cuộc đăng nhập
mà thực hiện những hành động như đưa thêm tài khoản có đặc quyền, hay router và firewall bị thay đổi một cách đáng nghi Còn network-based IDS
có thể cung cấp ngữ cảnh cần thiết để quản lý việc lạm dụng
2.3.11 Các mối đe doạ về bảo mật
Chính vì một hệ thống thông tin luôn bị đe doạ tấn công bởi các hacker nên việc xây dựng một hệ thống bảo vệ xâm nhập là rất cần thiết đối với mỗi một tổ chức Các hình thức tấn công của hacker ngày càng
Trang 34tinh vi, chau chuốt hơn, cũng như mức độ tấn công ngày càng khủng khiếp hơn, nên không một hệ thống nào có thể đảm bảo hoàn toàn không bị xâm nhập Nếu các tổ chức antivirut đang cố gắng cập nhập, sửa đổi để cung cấp cho người dùng những phương pháp phòng chống hiệu quả thì bên cạnh đó, những kẻ tấn công cũng ngày đêm nghiên cứu tung ra các hình thức xâm nhập, phá hoại khác
Để bảo vệ tốt được một hệ thống, đầu tiên bạn phải có cái nhìn tổng quát về các nguy cơ tấn công, nghĩa là đầu tiên bạn phải nhận định được bạn cần bảo vệ cái gì, và bảo vệ khỏi ai, cũng như phải hiểu các kiểu đe dọa đến sự bảo mật mạng của bạn Thông thường sẽ có 3 mối đe dọa bảo mật sau:
o Mối đe dọa ở bên trong
o Mối đe dọa ở bên ngoài
o Mối đe dọa không có cấu trúc và có cấu trúc
a) Mối đe dọa ở bên trong
Mối đe doạ bên trong là kiểu tấn công được thực hiện từ một cá nhân hoặc một tổ chức được tin cậy trong mạng và có một vài quyền hạn
để truy cập vào hệ thống Hầu hết chúng ta chỉ quan tâm xây dựng một thống firewall và giám sát dữ liệu truy cập ở các đường biên mạng mà ít
để ý đến các truy cập trong mạng nội bộ do sự tin tưởng vào các chính sách và ACL được người quan trị quy định trong hệ thống Do sự bảo mật trong một mạng local thường rất lỏng lẻo nên đây là môi trường thường được các hacker sử dụng để tấn công hệ thống
Mối đe doạ bên trong thường được thực hiện bởi các nhân viên do
có bất đồng với công ty, các gián điệp kinh tế hay do một vào máy client đã
bị hacker chiếm quyền truy cập Mối đe doạ này thường ít được để ý và
Trang 35phòng chống vì các nhân viên có thể truy cập vào mạng và dữ liệu quan trọng của server
b) Mối đe dọa ở bên ngoài
Mối đe doạ bên ngoài là việc các hacker cố gắng xâm nhập vào một
hệ thống mạng nào đó bằng một vài kỹ thuật (thăm dò, truy cập…) hay việc phá hoại truy cập hệ thống (DoS, DDoS…) Xây dựng hệ thống firewall và cảnh báo để ngăn ngừa các mối đe doạ từ bên ngoài là việc mà các công
ty và tổ chức thường phải bỏ nhiều thời gian và tiền bạc để đầu tư phát triển
c) Mối đe doạ không có cấu trúc và có cấu trúc
Mối đe doạ tấn công vào một hệ thống có thể đến từ rất nhiều loại Phỗ biến nhất là các hacker mới vào nghề, còn ít kiến thức và không có kinh nghiệm, thực hiện việc tấn công bằng cách sử dụng các công cụ hoặc thực hiện tấn công DoS (mối đe doạ không có cấu trúc) Hoặc việc tấn công được thực hiện bởi các hacker thực thụ hoặc cả một tổ chức (mối
đe doạ có cấu trúc), họ là những người có kiến thức và kinh nghiệm cao, nắm rõ việc hoạt động của các hệ thống, giao thức mạng cũng như các phương pháp thường được sử dụng để ngăn chặn trong các firewall Đây là mối đe doạ khó ngăn ngừa và phòng chống nhất đối với các hệ thống mạng
Trang 36CHƯƠNG III: ỨNG DỤNG SNORT TRONG IDS/IPS
3.1 Giới thiệu về snort
Snort là một NIDS được Martin Roesh phát triển dưới mô hình mã nguồn mở Tuy Snort miễn phí nhưng nó lại có rất nhiều tính năng tuyệt vời
mà không phải sản phẩm thương mại nào cũng có thể có được Với kiến trúc thiết kế theo kiểu module, người dùng có thể tự tăng cường tính năng cho hệ thống Snort của mình bằng việc cài đặt hay viết thêm mới các module Cơ sở
dữ liệu luật của Snort được cập nhật thường xuyên bởi một cộng đồng người
sử dụng Snort có thể chạy trên nhiều hệ thống nền như Windows, Linux, OpenBSD, FreeBSD, NetBSD, Solaris, HP-UX, AIX, IRIX, MacOS
Bên cạnh việc có thể hoạt động như một ứng dụng thu bắt gói tin thông thường, Snort còn có thể được cấu hình để chạy như một NIDS Snort hỗ trợ khả năng hoạt động trên các giao thức sau: Ethernet, 802.11, Token Ring, FDDI, Cisco HDLC, SLIP, PPP, và PF của OpenBSD
Hình 3 Hình ảnh minh hoạ hệ thống phát hiện xâm nhập sử dụng snort (Snort IDS)
Trang 373.2 Kiến trúc của snort
Snort bao gồm nhiều thành phần, với mỗi phần có một chức năng riêng Các phần chính đó là:
Kiến trúc của Snort được mô tả trong hình sau:
Hình 4 Mô hình kiến trúc hệ thống Snort
Khi Snort hoạt động nó sẽ thực hiện việc lắng nghe và thu bắt tất cả các gói tin nào di chuyển qua nó Các gói tin sau khi bị bắt được đưa vào môđun Giải mã gói tin Tiếp theo gói tin sẽ được đưa vào môđun Tiền xử lý, rồi môđun Phát hiện Tại đây tùy theo việc có phát hiện được xâm nhập hay không mà gói tin có thể được bỏ qua để lưu thông tiếp hoặc được đưa vào môđun Log và cảnh báo để xử lý Khi các cảnh báo được xác định môđun Kết xuất thông tin sẽ thực hiện việc đưa cảnh báo ra theo đúng định dạng mong muốn Sau đây ta sẽ đi sâu vào chi tiết hơn về cơ chế hoạt động và chức năng của từng thành phần
Trang 383.2.1 Môđun giải mã gói tin
Snort sử dụng thư viện pcap để bắt mọi gói tin trên mạng lưu thông qua
hệ thống Hình sau mô tả việc một gói tin Ethernet sẽ được giải mã thế nào:
Hình 5 Xử lý một gói tin Ethernet
Một gói tin sau khi được giải mã sẽ được đưa tiếp vào môđun tiền xử lý
3.2.2 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 Ba nhiệm vụ chính của các môđun loại này là:
Kết hợp lại các gói tin: Khi một lượng dữ liệu lớn được gửi đi, thông tin sẽ không đóng gói toàn bộ vào một gói tin mà phải thực hiện việc phân mảnh, chia gói tin ban đầu thành nhiều gói tin rồi mới gửi đi Khi Snort nhận được các gói tin này nó phải thực hiện việc ghép nối lại để có được dữ liệu
Trang 39nguyên dạng ban đầu, từ đó mới thực hiện được các công việc xử lý tiếp Như
ta đã biết khi một phiên làm việc của hệ thống diễn ra, sẽ có rất nhiều gói tin đuợc trao đổi trong phiên đó Một gói tin riêng lẻ sẽ không có trạng thái và nếu công việc phát hiện xâm nhập chỉ dựa hoàn toàn vào gói tin đó sẽ không đem lại hiệu quả cao Module tiền xử lý stream giúp Snort có thể hiểu được các phiên làm việc khác nhau (nói cách khác đem lại tính có trạng thái cho các gói tin) từ đó giúp đạt được hiệu quả cao hơn trong việc phát hiện xâm nhập
Giải mã và chuẩn hóa giao thức (decode/normalize): công việc phát hiện xâm nhập dựa trên dấu hiệu nhận dạng nhiều khi bị thất bại khi kiểm tra các giao thức có dữ liệu có thể được thể hiện dưới nhiều dạng khác nhau Ví dụ: một web server có thể chấp nhận nhiều dạng URL như URL được viết dưới dạng mã hexa/Unicode, URL chấp nhận cả dấu \ hay / hoặc nhiều ký tự này liên tiếp cùng lúc Chẳng hạn ta có dấu hiệu nhận dạng “scripts/iisadmin”,
kẻ tấn công có thể vượt qua được bằng cách tùy biến các yêu cấu gửi đến web server như sau:
Trang 40Phát hiện các xâm nhập bất thường (nonrule /anormal): các plugin tiền
xử lý dạng này thường dùng để đối phó với các xâm nhập không thể hoặc rất khó phát hiện được bằng các luật thông thường hoặc các dấu hiệu bất thường trong giao thức Các 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à ta nghĩ ra từ đó tăng cường thêm tính năng cho Snort Ví dụ, một plugin tiền xử lý có nhiệm vụ thống kê thông lượng mạng tại thời điểm bình thường để rồi khi có thông lượng mạng bất thường xảy ra nó có thể tính toán, phát hiện và đưa ra cảnh báo (phát hiện xâm nhập theo mô hình thống kê) Phiên bản hiện tại của Snort có đi kèm hai plugin giúp phát hiện các xâm nhập bất thường đó là portscan và bo (backoffice) Portcan dùng để đưa ra cảnh báo khi kẻ tấn công thực hiện việc quét các cổng của hệ thống để tìm lỗ hổng Bo dùng để đưa ra cảnh báo khi hệ thống đã bị nhiễm trojan backoffice và kẻ tấn công từ xa kết nối tới backoffice thực hiện các lệnh từ xa
3.2.3 Môđun phát hiện
Đây là môđun quan trọng nhất của Snort Nó chịu trách nhiệm phát hiện các dấu hiệu xâm nhập Môđun phát hiện sử dụng các luật được định nghĩa trước để so sánh với dữ liệu thu thập được từ đó xác định xem có xâm nhập xảy ra hay không Rồi tiếp theo mới có thể thực hiện một số công việc như ghi log, tạo thông báo và kết xuất thông tin
Một vấn đề rất quan trọng trong môđun phát hiện là vấn đề thời gian xử
lý các gói tin: một IDS thường nhận được rất nhiều gói tin và bản thân nó cũng có rất nhiều các luật xử lý Có thể mất những khoảng thời gian khác nhau cho việc xử lý các gói tin khác nhau Và khi thông lượng mạng quá lớn
có thể xảy ra việc bỏ sót hoặc không phản hồi được đúng lúc Khả năng xử lý của môđun phát hiện dựa trên một số yếu tố như: số lượng các luật, tốc độ của
hệ thống đang chạy Snort, tải trên mạng Một số thử nghiệm cho biết, phiên