Đối tượng tấn công mạng intruder: Đối tượng là những cá nhân hoặc tổ chức sử dụng những kiến thức về mạng và các công cụ phá hoại gồmphần cứng hoặc phần mềm để dò tìm các điểm yếu và các
Trang 1LỜI CẢM ƠN
Để có thể hoàn thành được đồ án tốt nghiệp này là một quá trình tíchlũy kiến thức lâu dài dưới mái trường học viện Trong quá trình đó, học tậpcủa em đã nhận được sự hướng dẫn, giúp đỡ rất tận tình của Thầy Cô, bạn bè
Em xin chân thành gửi lời cảm ơn đến tất cả các Thầy Cô giáo của HọcViện Kỹ thuật mật mã đã tận tình hướng dẫn và truyền đạt kiến thức cho em,
nó sẽ là hành trang quý giá nhất cho em bước vào đời
Em xin chân thành cảm ơn Tiến sỹ Nguyễn Hông Quang tận tình chỉbảo và đóng góp ý kiến trong trong suốt quá trình em làm đồ án tốt nghiệpnày
Em xin cảm ơn các Thầy Cô trong khoa An toàn thông tin đã tạo điềukiện cho em hoàn thành tốt đồ án tốt nghiệp này
Cuối cùng em cũng xin cảm ơn gia đình, bạn bè những người thân luônbên cạnh động viên, giúp đỡ và tạo mọi điều kiện thuận lợi cho em
Do còn hạn chế về kiến thức và kinh nghiệm nên luân văn còn nhiềuthiếu sót em rất mong được sự phê bình, đánh giá và góp ý của thầy cô và cácbạn
Em xin chân thành cảm ơn!
Hà nội, Ngày Tháng 06 Năm 2009.
Sinh viên
Lê Minh Hùng
Trang 2MỤC LỤC
LỜI CẢM ƠN 1
MỤC LỤC 2
MỞ ĐẦU 5
CHƯƠNG I 7
TỔNG QUAN VỀ HỆ THỐNG PHÁT HIỆN XÂM NHẬP 7
1.1 Tổng quan về các nguy cơ an ninh 7
1.1.1 Những kiểu tấn công nhằm vào điểm yếu của hệ thống 7
1.1.1.1 Kiểu tấn công thăm dò 7
1.1.1.2 Kiểu tấn công truy cập 8
1.1.1.3 Kiểu tấn công từ chối dịch vụ 9
1.1.1.4 Kiểu tấn công qua ứng dụng web 10
1.1.2 Vấn đề bảo mật hệ thống mạng 12
1.1.2.1 Các vấn dề chung về bảo mật hệ thống mạng 12
1.1.2.2 Khái niệm bảo mật hệ thống mạng máy tính 13
1.1.2.3 Lỗ hổng bảo mật và phương thức tấn công mạng 14
1.1.2.4 Vấn đề bảo mật cho hệ thống mạng doanh nghiệp 16
1.2 Tổng quan về hệ thống phát hiện và phòng chống xâm nhập 17
1.2.1 Định nghĩa 17
1.2.2 Vai trò của hệ thống phát hiện xâm nhập IDPS 18
1.2.3 Những ưu điểm và hạn chế của hệ thống 19
1.2.4 Kiếm trúc chung của hệ thống phát hiện xâm nhập 19
1.2.4.1 Phân loại hệ thống phát hiện xâm nhập IDPS 19
1.2.4.2 Mô hình, cấu trúc và hoạt động của hệ thống 21
CHƯƠNG II 30
HỆ THỐNG PHẦN MỀM PHÁT HIỆN XÂM NHẬP SNORT 30
2.1 Tổng quan về Snort 30
2.1.1 Khái niệm 30
2.1.2 Các đặc tính 30
2.2 Các thành phần của Snort 32
2.2.1 Bộ phận giải mã gói 32
2.2.2 Bộ phận xử lí trước 33
2.2.3 Bộ phận phát hiện 34
2.2.3.1 Những biểu thức thông thường cho SQL injection 34
Trang 32.3.2.2 Những biểu thức thông thường cho CSS 38
2.2.4 Hệ thống ghi và cảnh báo 41
2.2.5 Bộ phận đầu ra 41
2.3 Các chế độ làm việc của Snort 42
2.3.1 Chế độ “lắng nghe” mạng 42
2.3.2 Chế độ phát hiện xâm nhập mạng 44
2.4 Làm việc với tập luật của Snort 45
2.4.1 Luật dở đầu tiên: 46
2.4.2 Cấu trúc chung của luật trong Snort 46
2.4.2.1 Rule header 46
2.4.2.2 Rule option 48
CHƯƠNG III 56
TRIỂN KHAI SNORT BẢO VỆ HÊ THỐNG MẠNG 56
3.1 Tiêu chí triển khai 56
3.1.2 Một số chú ý khi triển khai 56
3.1.2 Các hệ thống và mạng phải giám sát 57
3.1.3 Tạo các điểm kết nối 58
3.1.4 Lưu lượng mã hóa 58
3.1.5 Bảo mật bộ cảm biến Snort 59
3.1.6 Chọn một hệ điều hành 59
3.1.7 Cấu hình các giao diện 60
3.2 Xây dựng snort bảo vệ hệ thống mạng 61
3.2.1 Tham khảo một số mô hình thực tế 61
3.2.2 Xây dựng mô hình 63
3.4 Triển khai cơ sở hạ tầng 65
3.4.1 Cấu hình 65
3.4.2 Cài đặt snort trong hệ thống ubuntu 65
3.4.3 Cấu hình với file Snort.conf 69
3.5 Phân tích snort bảo vệ hệ thống trước các cuộc tấn công 75
3.5.1 Mô hình tấn công 75
3.5.2 Tấn công Dos 75
3.5.2.1 Kịch bản tấn công 75
3.5.2.2 Phân tích kỹ thuật tấn công của hacker 76
3.5.2.3 Kết luận 79
3.5.3 Tấn công sql injection 79
3.5.3.1 Kịch bản tấn công 80
3.5.3.2 Phân tích tấn công 81
3.5.3.3 Kết luận 85
Trang 4KẾT LUẬN 86
1 Những vấn đề gặp phải khi sử dụng IDS 86
2 IPS là giải pháp: 86
3 Đánh giá và xu hướng phát triển của IDS 87
BẢNG KÝ HIỆU VIẾT TẮT 89
PHỤ LỤC HÌNH ẢNH 90
PHỤ LỤC CÁC BẢNG 91
TÀI LIỆU THAM KHẢO 92
Trang 5MỞ ĐẦU
Với nhu cầu trao đổi thông tin, bắt buộc các cơ quan, tổ chức phải hòamình vào mạng toàn cầu Internet An toàn và bảo mật thông tin là một trongnhững vấn đề quan trọng hàng đầu, khi thực hiện kết nối mạng nội bộ của các
cơ quan, doanh nghiệp, tổ chức với Internet Ngày nay, các biện pháp an toànthông tin cho máy tính cá nhân cũng như các mạng nội bộ đã được nghiên cứu
và triển khai Tuy nhiên, vẫn thường xuyên có các mạng bị tấn công, có các tổchức bị đánh cắp thông tin, …gây nên những hậu quả vô cùng nghiêm trọng
Những vụ tấn công này nhằm vào tất cả các máy tính có mặt trênInternet, các máy tính của các công ty lớn như Microsoft, IBM, các trường đạihọc và các cơ quan nhà nước, các tổ chức quân sự, nhà băng, …một số vụ tấncông với quy mô khổng lồ (có tới 100.000 máy tính bị tấn công) Hơn nữanhững con số này chỉ là phần nổi của tảng băng trôi Một phần rất lớn các vụtấn công không được thông báo vì nhiều lý do, trong đó có thể kể đến nỗi lomất uy tín hoặc chỉ đơn giản những người quản trị dự án không hề hay biếtnhững vụ tấn công nhằm vào hệ thống của họ
Không chỉ các vụ tấn công tăng lên nhanh chóng mà các phương pháptấn công cũng liên tục được hoàn thiện Điều đó một phần do các nhân viênquản trị hệ thống ngày càng đề cao cảnh giác Vì vậy việc kết nối vào mạngInternet mà không có các biện pháp đảm bảo an ninh thì cũng được xem là tựsát
Từ nhu cầu phát triển, đòi hỏi các cơ quan, tổ chức phải hòa mình vàomạng toàn cầu, mạng Internet song vẫn phải đảm bảo an toàn thông tin trong
quá trình kết nối Bởi vậy, em đã quyết định chọn đề tài”Tìm hiểu và nghiên
cứu hệ thống phần mềm phát hiện và phòng chống xâm nhập”, nhằm
giám sát luồng thông tin ra, vào và bảo vệ các hệ thống mạng khỏi sự tấncông từ Internet Nội dung đề tài này sẽ trình bày một cách khái quát về hệthống phát hiện và phòng chống xâm nhập(IDS&IPS), cách bảo vệ mạngbằng Snort, cách xây dựng Snort trên hệ thống mã nguồn mở sao cho hệthống vừa an toàn vừa tiết kiệm một cách tối đa
Nội dung chính của đề tài gồm 3 chương như sau:
Trang 6Chương 1: Tổng quan về hệ thống phát hiện và phòng chống xâm nhập.
Chương này mô tả khái niệm, vai trò và những ưu nhược điểm của hệthống phát hiện nhập, nghiên cứu mô hình kiến trúc và hoạt động của hệthống phát hiện và phòng chống xâm nhập
Chương 2: Cấu trúc snort, chức năng snort, luật snort.
Nghiên cứu về hệ thống Snort bao gồm: cấu trúc, các thành phần, chế
độ làm việc, tập luật của Snort
Chương 3: Triển khai snort trên một hệ thống mạng.
Phân tích và đánh giá hoạt động của Snort thông qua mô phỏng một vàikiểu tấn công mạng
Trang 7CHƯƠNG I TỔNG QUAN VỀ HỆ THỐNG PHÁT HIỆN XÂM NHẬP
1.1 Tổng quan về các nguy cơ an ninh.
Ngày nay, nhu cầu trao đổi dữ liệu qua hệ thống mạng máy tính trởthành vô cùng quan trọng trong mọi hoạt động của xã hội Vấn đề bảo đảm anninh, an toàn cho thông tin trên mạng ngày càng là mối quan tâm hàng đầucủa các công ty, các tổ chức, các nhà cung cấp dịch vụ Cùng với thời gian,các kỹ thuật tấn công ngày càng tinh vi hơn khiến các hệ thống an ninh mạngtrở nên mất hiệu quả Các hệ thống an ninh mạng truyền thống thuần túy dựatrên các tường lửa nhằm kiểm soát luồng thông tin ra vào hệ thống mạng mộtcách cứng nhắc dựa trên các luật bảo vệ cố định Với kiểu phòng thủ này, các
hệ thống an ninh sẽ bất lực trước kỹ thuật tấn công mới, đặc biệt là các cuộctấn công nhằm vào điểm yếu của hệ thống
1.1.1 Những kiểu tấn công nhằm vào điểm yếu của hệ thống.
Có bốn kiểu tấn công đặc biệt là:
1.1.1.1 Kiểu tấn công thăm dò.
Thăm dò là việc thu thập dữ liệu trái phép về tài nguyên, các lỗ hổnghoặc dịch vụ của hệ thống Các cách tấn công truy cập hay DoS thường đượctiến hành bởi kiểu tấn công thăm dò Hiển nhiên, các hacker phải biết có thểtấn công cái gì trước khi xâm nhập Thăm dò giống như một kẻ trộm nhà băngmuốn biết có bao nhiêu bảo vệ đang làm nhiệm vụ, bao nhiêu camera, vị trícủa chúng và đường thoát hiểm Thăm dò là một kiểu tấn công, nó cũng làmột giai đoạn tấn công
Trang 8Hình 1: Tấn công thăm dò IP.
1.1.1.2 Kiểu tấn công truy cập.
Truy cập là một thuật ngữ rộng miêu tả bất kỳ kiểu tấn công nào đòi hỏi người xâm nhập lấy được quyền truy cập trái phép của một hệ thống bảo mật với mục đích thao túng dữ liệu, nâng cao đặc quyền, hay đơn giản chỉ là truy cập vào hệ thống:
a) Tấn công truy cập hệ thống: Truy cập hệ thống là hành động nhằm
đạt được quyền truy cập bất hợp pháp đến một hệ thống mà ở đó hackerkhông có tài khoản sử dụng Hacker thường tìm kiếm quyền truy cập đến mộtthiết bị bằng cách chạy một đoạn mã hay bằng những công cụ hack (hackingtool), hay là khai thác một yếu điểm của ứng dụng hoặc một dịch vụ đangchạy trên máy chủ
b) Tấn công truy cập thao túng dữ liệu: Thao túng dữ liệu xuất hiện
khi kẻ xâm nhập đọc, viết, xóa, sao chép hay thay đổi dữ liệu Nó có thể đơngiản như việc tìm phần mềm chia sẻ (share) trên máy tính Window 9x hay
NT, hay khó hơn như việc cố gắng xâm nhập một hệ thống tín dụng của cụcthông tin (credit bureau’s information)
c) Tấn công truy cập nâng cao đặc quyền: Nâng cao đặc quyền là
một dạng tấn công phổ biến Bằng cách nâng cao đặc quyền, kẻ xâm nhập cóthể truy cập vào các files hay folder dữ liệu mà tài khoản người sử dụng banđầu không được cho phép truy cập Khi hacker đạt được mức độ quyền truycập đủ cao, họ có thể cài đặt phần mềm như là backdoors và Trojan horses,cũng như cho phép truy cập sâu hơn và thăm dò Mục đích chung của hacker
là chiếm được quyền truy cập ở mức độ quản trị Khi đã đạt được mục đích
đó, họ có toàn quyền điều khiển hệ thống mạng
Trang 91.1.1.3 Kiểu tấn công từ chối dịch vụ.
Kiểu tấn công DoS được thực hiện nhằm làm vô hiệu hóa, làm hư hỏng, hay gây tổn hại đến tài nguyên mạng với mục đích cản trở việc sử dụngnhững hệ thống này của người dùng Dạng phạm tội điện tử này là dạng tấncông tồi tệ nhất mà các công ty thương mại điện tử phải đối mặt bởi vì mụcđích duy nhất của hacker là ngăn chặn người dùng sử dụng các dịch vụ điện
tử của các công ty Ý định của dạng tấn công này chỉ đơn giản nhằm gây tổnhại và chống lại một công ty trong việc buôn bán
Hình 2: Tấn công Ddos.
Một hacker với một PC ở nhà phải mất một lượng lớn thời gian tạo ra
đủ lưu lượng mạng để làm quá tải một nhóm máy chủ Internet Để tấn côngDoS hiệu quả, hacker sử dụng nhiều hệ thống máy tính khác nhau nhằm lấn átmáy chủ (đích) Sử dụng nhiều hệ thống máy tính để tấn công máy chủ haymạng được gọi là tấn công từ chối dịch vụ phân phối (DDoS) Dạng tấn côngnày đã từng thành công khi tấn công web site của Yahoo!, ebay và CNN.com.Một hacker liên quan sau đó bị bắt và bị truy tố
Tấn công Ddos gồm các giai đoạn sau:
Trang 10a) Giai đoạn đầu tiên – Mục tiêu: Là giai đoạn định nghĩa đối tượng.
Điều đầu tiên cần làm rõ trong mọi hoạt động cũng như việc hacking là xácđịnh được mục tiêu Kết quả của việc xác lập mục tiêu của kiểu tấn công dẫnđến việc hình thành, chọn lựa những những công cụ và phương pháp phù hợp.Mục tiêu đơn giản là toàn bộ mục đích của người xâm nhập Nếu kẻ xâmnhập có động cơ trả thù thì kiểu tấn công DoS phù hợp với nhu cầu đó Nếu
kẻ tấn công là một đối thủ thì, xâm nhập hệ thống và thao túng dữ liệu mới làmục tiêu Khi kẻ xâm nhập tiến hành những bước của một kiểu tấn công, thìmục tiêu có thể và thường thay đổi Một yếu tố quan trọng khác nữa trong việcxác định mục tiêu là động cơ đằng sau sự xâm nhập Hầu hết những scriptkiddies (hacker mới vào nghề) bị thúc đẩy bởi sự hồi hộp, gay cấn trong khi
đó những hacker cao cấp bị thúc đẩy bởi những động cơ như thử thách trí tuệ,trả thù, kiếm tiền bất hợp pháp
b) Giai đoạn hai thăm dò: Giai đoạn thăm dò, như chính tựa đề của
nó, là giai đoạn mà hacker sử dụng nhiều nguồn tài nguyên để thu thập thôngtin về hệ thống đối tượng Thông thường những hacker có kinh nghiệmthường thu thập những thông tin về công ty đối tượng, như là vị trí của công
ty, số điện thoại, tên của những nhân viên, địa chỉ e-mail, tất cả đều hữu dụngvới người xâm nhập có kinh nghiệm
c) Giai đoạn thứ ba giai đoạn tấn công: Giai đoạn cuối cùng là giai
đoạn tấn công Trong giai đoạn tấn công kẻ xâm nhập bắt đầu cố gắng xâmnhập mạng và tài nguyên hệ thống trên mạng Bằng cách sử dụng các thôngtin đã thu thập được, một vài hacker có thể thực hiện việc tấn công nhiều lầncho đến khi phát hiện được lỗi bảo mật để có thể khai thác
1.1.1.4 Kiểu tấn công qua ứng dụng web.
Theo số liệu thống kê từ các công ty bảo mật hàng đầu hiện nay, thờigian gần đây số lượng các cuộc tấn công vào ứng dụng web đã tăng lên nhanhchóng (75% các cuộc tấn công được thực hiện là ở lớp ứng dụng web) Trong
đó hai kĩ thuật tấn công được các hacker sử dụng phổ biến là cross-sitescripting và sql injection và hình sau đây:
Trang 11Hình 3: Số liệu tấn công ứng dụng web.
a) Kiểu tấn công cross-site scripting (hay còn gọi là xss): Được các
hacker tiến hành bằng cách nhúng các thẻ script vào một url (uniformresource locator) và tìm cách lừa người dùng nhấn vào những liên kết này.Khi đó đoạn mã độc hại này sẽ được thực thi trên máy tính của nạn nhân Kĩthuật thực hiện các cuộc tấn công kiểu này không có gì phức tạp và chủ yếu làhacker lợi dụng sự tin cậy giữa người dùng và server (bởi vì các url dườngnhư xuất phát từ nguồn đáng tin cậy) cùng với việc không thẩm tra kĩ càng dữliệu vào/ra ở phía server để từ chối phục vụ những url bị chèn thêm các mãđộc hại
Trang 12Hình 4: Tấn công XSS.
b) SQL Injection: Là kỹ thuật liên quan đến chèn các từ khoá, các
lệnh của ngôn ngữ SQL (là ngôn ngữ dùng để truy vấn, thao tác trên một cơ
sở dữ liệu quan hệ) vào dữ liệu đầu vào của các ứng dụng web để điều khiểnquá trình thực thi câu lệnh SQL ở server
1.1.2 Vấn đề bảo mật hệ thống mạng.
1.1.2.1 Các vấn dề chung về bảo mật hệ thống mạng.
Đặc điểm chung của một hệ thống mạng là có nhiều người sử dụngchung và hân tán về mặt địa lý nên việc bảo vệ tài nguyên (mất mát hoặc sửdụng không hợp lệ) phức tạp hơn nhiều so với việc môi trường một máy tínhđơn lẻ, hoặc một người sử dụng
Hoạt động của người quản trị hệ thống mạng phải đảm bảo các thôngtin trên mạng là tin cậy và sử dụng đúng mục đích, đối tượng đồng thời đảmbảo mạng hoạt động ổn định không bị tấn công bởi những kẻ phá hoại
Nhưng trên thực tế là không một mạng nào đảm bảo là an toàn tuyệtđối, một hệ thống dù được bảo vệ chắc chắn đến mức nào thì cũng có lúc bị
vô hiệu hóa bởi những kẻ có ý đồ xấu
Trang 13Trong nội dung đề tài của em là “Tìm hiểu và triển khai hệ thống pháthiện và phòng chống xâm nhập” Trong nội dung về lý thuyết của đề tài emxin trình bày về một số khái niệm sau:
1.1.2.2 Khái niệm bảo mật hệ thống mạng máy tính
a) Đối tượng tấn công mạng (intruder): Đối tượng là những cá nhân
hoặc tổ chức sử dụng những kiến thức về mạng và các công cụ phá hoại (gồmphần cứng hoặc phần mềm) để dò tìm các điểm yếu và các lỗ hổng bảo mậttrên hệ thống, thực hiện các hoạt động xâm nhập và chiếm đoạt tài nguyên tráiphép Một số đối tượng tấn công mạng như:
Hacker: là những kẻ xâm nhập vào mạng trái phép bằng cách sử dụngcác công cụ phá mật khẩu hoặc khai thác các điểm yếu của thành phần truynhập trên hệ thống
Masquerader: Là những kẻ giả mạo thông tin trên mạng như giả mạođịa chỉ IP, tên miền, định danh người dùng…
Eavesdropping: Là những đối tượng nghe trộm thông tin trên mạng, sửdụng các công cụ Sniffer, sau đó dùng các công cụ phân tích và debug để lấyđược các thông tin có giá trị
Những đối tượng tấn công mạng có thể nhằm nhiều mục đích khácnhau như ăn cắp các thông tin có giá trị về kinh tế, phá hoại hệ thống mạng cóchủ định, hoặc có thể đó là những hành động vô ý thức…
b) Các lỗ hổng bảo mật: Các lỗ hổng bảo mật là những điểm yếu trên
hệ thống hoặc ẩn chứa trong một dịch vụ mà dựa vào đó kẻ tấn công có thểxâm nhập trái phép vào hệ thống để thực hiện những hành động phá hoạichiếm đoạt tài nguyên bất hợp pháp
c) Chính sách bảo mật: Chính sách bảo mật là tập hợp các quy tắc áp
dụng cho những người tham gia quản trị mạng, có sử dụng các tài nguyên vàcác dịch vụ mạng Đối với từng trường hợp phải có chính sách bảo mật khácnhau Chính sách bảo mật giúp người sử dụng biết trách nhiệm của mìnhtrong việc bảo vệ các tài nguyên trên mạng, đồng thời còn giúp cho nhà quảntrị mạng thiết lập các biên pháp đảm bảo hữu hiệu trong quá trình trang bị,cấu hình và kiểm soát hoạt động của hệ thống và mạng
Trang 141.1.2.3 Lỗ hổng bảo mật và phương thức tấn công mạng.
a) Các loại lỗ hổng: Có nhiều các tổ chức đã tiến hành phân loại các
dạng lỗ hổng đặc biệt Theo bộ quốc phòng Mỹ các loại lỗ hổng được phânlàm ba loại như sau:
Lỗ hổng loại C: Cho phép thực hiện các hình thức tấn công theo DoS(Denial of Services- Từ chối dịch vụ) Mức độ nguy hiểm thấp chỉ ảnh hưởngtới chất lượng dịch vụ, làm ngưng trệ gián đoạn hệ thống, không làm pháhỏng dữ liệu hoặc đạt được quyền truy cập bất hợp pháp Hiện nay chưa cómột biện pháp hữu hiệu nào để khắc phục tình trạng tấn công kiểu này vì bảnthân thiết kế ở tầng Internet (IP) nói riêng và bộ giao thức TCP/IP nói chung
đã ẩn chứa những nguy cơ tiềm tang của các lỗ hổng loại này
Lỗ hổng loại B: Cho phép người sử dụng có thêm các quyền trên hệthống mà không cần kiểm tra tính hợp lệ dẫn đến mất mát thông tin yêu cầucần bảo mật Lỗ hổng này thường có trong các ứng dụng trên hệ thống Cómức độ nguy hiểm trung bình Lỗ hổng loại B này có mức độ nguy hiểm hơn
lỗ hổng loại C Cho phép người sử dụng nội bộ có thể chiếm được quyền caohơn hoặc truy nhập không hợp pháp Những lỗ hổng loại này thường xuấthiện trong các dịch vụ trên hệ thống Người sử dụng local được hiểu là người
đã có quyền truy nhập vào hệ thống với một số quyền hạn nhất định Mộtdạng khác của lỗ hổng loại B xảy ra với các chương trình viết bằng mã nguồn
C Những chương trình viết bằng mã nguồn C thường sử dụng một vùng đệm,một vùng trong bộ nhớ sử dụng để lưu trữ dữ liệu trước khi xử lý Người lậptrình thường sử dụng vùng đệm trong bộ nhớ trước khi gán một khoảng khônggian bộ nhớ cho từng khối dữ liệu Để hạn chế được các lỗ hổng loại B phảikiêm soát chặt chẽ cấu hình hệ thống và các chương trình
Lỗ hổng loại A: Cho phép người ngoài hệ thống có thể truy cập bất hợp
pháp vào hệ thống Có thể làm phá huỷ toàn bộ hệ thống Loại lỗ hổng này cómức độ rất nguy hiểm đe dọa tính toàn vẹn và bảo mật của hệ thống Các lỗhổng này thường xuất hiện ở những hệ thống quản trị yếu kém hoặc khôngkiểm soát được cấu hình mạng Những lỗ hổng loại này hết sức nguy hiểm vì
nó đã tồn tại sẵn có trên phần mềm sử dụng, người quản trị nếu không hiểusâu về dịch vụ và phần mềm sử dụng có thể bỏ qua điểm yếu này Vì vậythường xuyên phải kiểm tra các thông báo của các nhóm tin về bảo mật trên
Trang 15mạng để phát hiện những lỗ hổng loại này Một loạt các chương trình phiênbản cũ thường sử dụng có những lỗ hổng loại A như: FTP, Gopher, Telnet,Sendmail, ARP, finger
b) Các hình thức tấn công mạng phổ biến:
Scanner: Là một chương trình tự động rà soát và phát hiện những điểm
yếu về bảo mật trên một trạm làm việc cục bộ hoặc một trạm ở xa Một kẻphá hoại sử dụng chương trình Scanner có thể phát hiện ra những lỗ hổng vềbảo mật trên một Server dù ở xa Cơ chế hoạt động là rà soát và phát hiệnnhững cổng TCP/UDP được sử dụng trên hệ thống cần tấn công và các dịch
vụ sử dụng trên hệ thống đó Scanner ghi lại những đáp ứng trên hệ thống từ
xa tương ứng với dịch vụ mà nó phát hiện ra Từ đó nó có thể tìm ra điểm yếucủa hệ thống Các chương trình Scanner có vai trò quan trọng trong một hệthống bảo mật, vì chúng có khả năng phát hiện ra những điểm yếu kém trênmột hệ thống mạng
Password Cracker: Là một chương trình có khả năng giải mã một mậtkhẩu đã được mã hoá hoặc có thể vô hiệu hoá chức năng bảo vệ mật khẩu củamột hệ thống Một số chương trình phá khoá có nguyên tắc hoạt động khácnhau Một số chương trình tạo ra danh sách các từ giới hạn, áp dụng một sốthuật toán mã hoá từ kết quả so sánh với Password đã mã hoá cần bẻ khoá đểtạo ra một danh sách khác theo một logic của chương trình Khi thấy phù hợpvới mật khẩu đã mã hoá, kẻ phá hoại đã có được mật khẩu dưới dạng text Mật khẩu text thông thường sẽ được ghi vào một file Biện pháp khắc phụcđối với cách thức phá hoại này là cần xây dựng một chính sách bảo vệ mậtkhẩu đúng đắn
Sniffer: Là các công cụ (phần cứng hoặc phần mềm)”bắt” các thông tinlưu chuyển trên mạng và lấy các thông tin có giá trị trao đổi trên mạng.Sniffer có thể “bắt” được các thông tin trao đổi giữa nhiều trạm làm việc vớinhau Thực hiện bắt các gói tin từ tầng IP trở xuống Mục đích của cácchương trình sniffer đó là thiết lập chế độ promiscuous (mode dùng chung)trên các card mạng ethernet - nơi các gói tin trao đổi trong mạng - từ đó "bắt"được thông tin Việc phát hiện hệ thống bị sniffer không phải đơn giản, vìsniffer hoạt động ở tầng rất thấp, và không ảnh hưởng tới các ứng dụng cũngnhư các dịch vụ hệ thống đó cung cấp Tuy nhiên việc xây dựng các biện
Trang 16pháp hạn chế sniffer cũng không quá khó khăn nếu ta tuân thủ các nguyên tắcKhông cho người lạ truy nhập vào các thiết bị trên hệ thống ,quản lý cấu hình
hệ thống chặt chẽ và thiết lập các kết nối có tính bảo mật cao thông qua các
và lợi dụng quyền đó để phá hủy một phần hoặc toàn bộ hệ thống hoặc dùngquyền root để thay đổi logfile, cài đặt các chương trình trojans khác mà ngườiquản trị không thể phát hiện được gây ra mức độ ảnh hưởng rất nghiêm trọng
và người quản trị chỉ còn cách cài đặt lại toàn bộ hệ thống
1.1.2.4 Vấn đề bảo mật cho hệ thống mạng doanh nghiệp.
Khi nói đến vấn đề bảo mật cho mạng LAN ta thường quan tâm tớinhững vấn đề chính là bảo mật thông tin dữ liệu trao đổi bên trong mạng nội
bộ, bảo mật thông tin dữ liệu trao đổi từ trong mạng ra bên ngoài và từ bênngoài vào trong mạng Việc kiểm soát được những truy cập bất hợp pháp từbên ngoài vào cũng như kiểm soát những truy cập không cho phép từ trongnội bộ mạng ra bên ngoài Cùng với sự phát triển mạnh mẽ của Internet và sựkết nối mạng nội bộ với Internet thì vấn đề đảm bảo an toàn, an ninh mạngcàng trở nên khó khăn và cần thiết Hiện nay để bảo mật cho mạng LAN cónhiều phương pháp trong đó có một số phương pháp phổ biến và đáng tin cậy
đó là:
Mạng riêng ảo (Virtual Private Network- VPN): Là sự mở rộng mạngriêng của các công ty, tổ chức thông qua sử dụng các kết nối mạng công cộnghoặc mạng chia sẻ như Internet VPN cung cấp cho khách hàng đầy đủ cáctính năng mà một kênh thuê riêng có được nhưng với giá thành rẻ hơn do sửdụng hạ tầng cơ sở mạng công cộng VPN sử dụng giao thức để tạo đườnghầm truyền tin riêng và các biện pháp an ninh để bảo vệ dữ liệu trên đườngtruyền như mã hoá, xác thực…
IDS&IPS:Thuật ngữ IDS&IPS (phát hiện và ngăn chặn) thiết kế trongxây dựng để phát hiện và ngăn chặn xâm nhập máy tính trái phép Cũng có
Trang 17thể hiểu rằng IDS&IPS là một cơ chế để bảo vệ mạng tin tưởng (Trustednetwork) khỏi các mạng không tin tưởng (Untrusted network).
Qua quá trình tìm hiểu em thấy rằng IDS&IPS là phương pháp hữuhiệu và phổ biến nhất hiện nay do nó có nhiều ưu điểm, cung cấp những tínhnăng bảo mật tốt cho vấn đề bảo vệ an ninh mạng hiện nay Trong khuôn khổbài báo cáo này em xin trình bày về phương pháp bảo mật mạng LAN bằngIDS&IPS
1.2 Tổng quan về hệ thống phát hiện và phòng chống xâm nhập.
hệ thống kiểm tra xâm nhập giống như có một mạng lưới cảm biến để thôngbáo cho bạn biết khi có ai đó xâm nhập, họ đang ở đâu và làm gì? Tường lửa
"án ngữ" ở ngõ vào của mạng và chỉ làm việc với những gói tin khi chúng đivào và đi ra khỏi mạng Một khi kẻ xâm nhập đã vượt qua được tường lửa,người đó có thể tung hoành tuỳ trên mạng Ðó là lý do tại sao hệ thống pháthiện xâm nhập có vai trò quan trọng
Hệ thống phát hiện xâm nhập IDS là hệ thống phần mềm hay phầncứng tự động thực hiện quy trình giám sát các sự kiện diễn ra trong hệ thốngmáy tính hay mạng máy tính, phân tích để phát hiện ra những vấn đề an ninhcho hệ thống
b) Hệ thống phòng chống xâm nhập (Intrusion Prevention IPS): Là một tiến trình giám sát các sự kiện xẩy ra trong một hệ thống hoặc
System-mạng máy tính và phân tích chúng để có thể tìm ra các dấu hiệu của sự việcbất thường, đó là những sự vi phạm hay những đe dọa sắp xẩy ra vi phạm tớichính sách an ninh máy tính, chính sách truy cập, hay hoạt động trái chínhsách chuẩn Những sự việc bất thường đó do nhiều nguyên nhân nhưlà:Malware (worms, spyware ), kẻ tấn công đạt được sự truy cập trái phépvào hệ thống thông qua Internet, và những người dùng hợp pháp lạm dụngquyền hay cố gắng thêm vào các quyền mà họ không được phép Mặc dù
Trang 18nhiều sự kiện là do bản chất, một số khác là không phải; ví dụ: một ngườitrong khi đánh sai địa chỉ của một máy tính và tình cờ thử kết nối đến một hệthống không được phép.
Hệ thống phòng chống xâm nhập IPS là một kỹ thuật an ninh mới, kếthợp các ưu điểm của kỹ thuật tường lửa với hệ thống phát hiện xâm nhậpIDS, có khả nǎng phát hiện các cuộc tấn công và tự động ngăn chặn các cuộctấn công công nhằm vào điểm yếu của hệ thống
1.2.2 Vai trò của hệ thống phát hiện xâm nhập IDPS
Hệ thống phát hiện xâm nhập IDS có các chức năng chính sau:
a) Phát hiện các nguy cơ tấn công và truy nhập an ninh trái phép.
Đây là vai trò chính của một hệ thống phát hiện xâm nhập IDPS, nó có nhiệm
vụ xác định những tấn công và truy nhập an ninh trái phép vào hệ thống mạngbên trong Hệ thống IDPS có khả năng hỗ trợ phát hiện các nguy cơ an ninh
đe dọa mạng mà các hệ thống khác(như bức tường lửa) không có khả năngphát hiện, kết hợp với hệ thống ngăn chặn xâm nhập IDPS giúp cho hệ thốngchặn đứng, hạn chế các cuộc tấn công, xâm nhập từ bên ngoài
b) Tăng khả năng hiểu biết về những gì đang hoạt động trên mạng.
IDPS cung cấp khả năng giám sát xâm nhập và khả năng mô tả an ninh đểcung cấp kiến thức tổng hợp về những gì đang chạy trên mạng từ góc độ ứngdụng cũng như góc độ mạng cùng với khả năng liên kết với phân tích, điều tra
an ninh nhằm đưa ra các thông tin về hệ thống nhờ đó giúp người quản trịnắm bắt và hiểu rõ những gì đang diễn ra trên mạng
c) Khả năng cảnh báo và hỗ trợ ngăn chặn tấn công IDPS có thể
hoạt động trong các chế độ làm việc của một thiết bị giám sát thụ động(sniffer mode) hỗ trợ cho các thiết bị giám sát chủ động hay như là một thiết
bị ngăn chặn chủ động (khả năng loại bỏ lưu lượng khả nghi) IDPS sẽ hỗ trợcho các hệ thống an ninh đưa ra các quyết định về lưu lượng dựa trên địa chỉ
IP hoặc cổng của nguồn thông tin cũng như là đặc tính của tấn công ví dụ nhưmẫu tấn công hoặc bất thường về giao thức hoặc lưu lượng tương tác đến từ
những máy chủ không hợp lệ IDS còn có thể cảnh báo và ghi chép các biến
cố cũng như thực hiện bắt giữ gói lưu lượng khi phát hiện tấn công để cungcấp cho nhà quản trị mạng các thông tin để phân tích và điều tra các biến cố.Ngay sau khi các phép phân tích và điều tra được thực hiện, một quy tắc loại
Trang 19bỏ lưu lượng sẽ được đưa ra dựa trên kết quả phân tích, điều tra đó Chính tổhợp của những thuộc tính và khả năng này cung cấp cho nhà quản trị mạngkhả năng tích hợp IDPS vào mạng và tăng cường an ninh đến một mức độ màtrước đây không thể đạt đến bằng các biện pháp đơn lẻ như bức tường lửa.
1.2.3 Những ưu điểm và hạn chế của hệ thống.
a) Ưu điểm
Có khả năng phát hiện và phòng chống các cuộc tấn công, xâm nhập từbên trong cũng như bên ngoài hệ thống
Những thông tin hệ thống IDPS cung cấp sẽ giúp chúng ta xác địnhphương thức, và kiểu loại tấn công, xâm nhập từ đó giúp cho việc đề ra cácphương án phòng chống các kiểu tấn công tương tự xảy ra trong tương lai
b) Hạn chế.
Bên cạnh những ưu điểm, hệ thống phát hiện xâm nhập IDS vẫn còn
tồn tại những mặt hạn chế: Hệ thống IDPS là một hệ thống giám sát thụ động,
cơ chế ngăn chặn các cuộc tấn công, xâm nhập trái phép rất hạn chế như gửitin báo cho tường lửa để chặn các gói lưu lượng kế tiếp xuất phát từ địa chỉ IPcủa nguồn tấn công Do vậy, hệ thống IDPS thường đi kèm với hệ thống bức
tường lửa Phần lớn, hệ thống IDPS sẽ đưa ra các cảnh báo khi các cuộc tấn
công, xâm nhập đã ảnh hưởng tới hệ thống do đó sẽ không hiệu quả trongviệc ngăn chặn các cuộc tấn công
1.2.4 Kiếm trúc chung của hệ thống phát hiện xâm nhập.
1.2.4.1 Phân loại hệ thống phát hiện xâm nhập IDPS.
Hệ thống phát hiện xâm nhập có thể được chia làm hai loại chính sauđây:Hệ thống phát hiện xâm nhập trên máy trạm, hệ thống phát hiện xâmnhập trên mạng
a) Hệ thống phát hiện và phát hiện và phòng chống xâm nhập trên máy trạm(Host-based Instrusion Detection System-HIDS).
Trang 20Hình 5: Hệ thống phát hiện xâm nhập dựa máy trạm.
Hệ thống HIDS thực hiện thu thập các thông tin từ một hệ thống máytính riêng biệt, từ đó thực hiện phân tích các hoạt động diễn ra trên máy trạm
Ưu điểm của HIDS là có khả năng giám sát các tiến trình của hệ điềuhành chạy trên máy trạm và bảo vệ các nguồn tài nguyên quan trọng của hệthống như một số tệp dữ liệu cực kỳ quan trọng chỉ lưu trên một số máy trạm
b) Hệ thống phát hiện xâm nhập trên mạng (Network–based Instrusion Detection System–NIDS)
NIDS sử dụng, triển khai các thiết bị theo dõi được gọi là bộ cảm ứng(Sensor) để giám sát các lưu lượng và hoạt động trong một khu vực mạng.Các bộ cảm ứng này sẽ kiểm tra các gói tin và nội dung bên trong nó để xácđịnh sự tấn công
Trang 21Hình 6: Hệ thống phát hiện xâm nhập trên mạng.
c) So sánh giữa hệ thống HIDS và NIDS.
Áp dụng trong phạm vi rộng (theo
dõi toàn bộ hoạt động của mạng)
Áp dụng trong phạm vi một máytrạm
Phát hiện tốt những tấn công, xâm
nhập từ bên ngoài
Phát hiện tốt những tấn công, xâmnhập từ bên trong
Phát hiện dựa trên các dữ liệu,
thông tin thu thập trong toàn bộ
Bảng 1: So sánh HIDS và NIDS.
1.2.4.2 Mô hình, cấu trúc và hoạt động của hệ thống.
Một hệ thống phát hiện xâm nhập IDPS được xem là thành công nếuchúng hội tụ được các yếu tố: thực hiện nhanh, chính xác, phân tích được toàn
bộ lưu lượng và đưa ra các cảnh báo chuẩn xác về các cuộc tấn công và xâmnhập vào bên trong hệ thống
Trang 22a) Mô hình hệ thống phát hiện xâm nhập IDPS mức vật lý.
Máy chủ lưu trữ dữ liệu trung tâm (Centralize database server): là thiết
bị trung tâm thu nhận thông tin từ Sensor hoặc Agent và quản lý chúng Một
số Management Server thực hiện phân tích thông tin do Sensor hoặc Agentcung cấp và có thể xác định các sự kiện mà Sensor và Agent không phát hiệnđược Làm cho phù hợp các thông tin về sự kiện từ nhiều Sensor hoặc Agent,như là tìm ra sự nhiều kiện gây ra bởi cùng một địa chỉ IP, biết đến như là sựtương quan Management servers có thể hoạt động cho cả thiết bị chuyêndụng cũng như các phần mềm Một số IDPS nhỏ không triển khaiManagement servers nhưng hầu hết các hệ thống IDPS đều có Trong cácIDPS lớn thường triển khai nhiều Management servers, trong một số trườnghợp còn có 2 lớp Management servers
Giao diện người dùng (User Interface): là một chương trình cung cấp
giao diện cho người dùng hoặc người quản trị IDPS Phần mềm console tiêu
Trang 23biểu được cài đặt trên Desktop hoặc Laptop Một số console chỉ dành riêngcho người quản trị, như là cấu hình sensor hoặc agent, ứng dụng update cácphần mềm, trong khi các console khác hoàn toàn dành cho giám sát và phântích Một số console cung cấp cả khả năng quản trị và giám sát.
Mô hình trên còn gọi là mô hình 3 lớp, mô hình này cung cấp cho nhàquản trị mạng sự linh hoạt để truy cập vào hệ thống từ bất cứ đâu để thực hiệnquản lý từ xa Máy chủ quản lý tập trung lưu giữ tất cả các bản ghi và thôngtin trong một cơ sở dữ liệu thuận tiện cho việc truy cập, quản lý Các bản ghi,
dữ liệu được thu thập từ những bộ cảm biến độc lập được tập hợp lại nhằmphân tích, đánh giá để phát hiện các nguy cơ đe dọa hệ thống từ bên ngoài
b) Cấu trúc và hoạt động bên trong hệ thống phát hiện xâm nhập IDS.
Hình 8: Hệ thống phát hiện xâm nhập IDS.
Hệ thống phát hiện xâm nhập bao gồm 3 modul chính:
Modul thu thập thông tin, dữ liệu: Modul này có nhiệm vụ thu thập các
gói tin trên mạng để đem phân tích Một vấn đề đặt ra trong thực tế là chúng
ta cần triển khai hệ thống phát hiện xâm nhập IDS ở vị trí nào trong mô hìnhmạng của chúng ta Thông thường chúng ta sẽ đặt IDS ở những nơi mà chúng
Trang 24ta cần giám sát Có hai mô hình chính để thu thập dữ liệu đó là: mô hìnhngoài luồng và mô hình trong luồng Phần tiếp theo dưới đây, chúng ta sẽ tìmhiểu chi tiết hai mô hình triển khai hệ thống IDS trong hệ thống mạng.
Mô hình thu thập dữ liệu ngoài luồng Trong mô hình ngoài luồngkhông can thiệp trực tiếp vào luồng dữ liệu Luồng dữ liệu vào ra hệ thốngmạng sẽ được sao thành một bản và được chuyển tới modul thu thập dữ liệu Với vị trí này, hệ thống phát hiện xâm nhập IDS không làm ảnh hưởng tới tốc
độ lưu thông của mạng
Hình 9: Mô hình thu thập dữ liệu ngoài luồng.
Mô hình thu thập dữ liệu trong luồng: Trong mô hình này, hệ thốngphát hiện xâm nhập IDS được đặt trực tiếp vào luồng dữ liệu vào ra trong hệthống mạng, luồng dữ liệu phải đi qua hệ thống phát hiện xâm nhập IDS trướckhi đi vào trong mạng
Hình 10: Mô hình thu thập dữ liệu trong luồng.
Ưu điểm của mô hình này, hệ thống phát hiện xâm nhập IDS nằm trênluồng dữ liệu, nó trực tiếp kiểm soát luồng dữ liệu, đáp ứng được thời gianthực (realtime) Tuy nhiên nó có nhược điểm là ảnh hưởng đáng kể đến tốc độlưu thông của mạng
Trang 25Modul phân tích, phát hiện tấn công: Đây là modul 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 Hệ thống phát hiệnxâm nhập thực hiện quá trình phân tích dữ liệu trong modul này được chiathành các giai đoạn:
Tiền xử lý – Preprocessing
Phân tích – Analysis
Cảnh báo – Alter manager
Tiền xử lý – Preprocessing: Tiền xử lý là một chức năng quan trọng,một khi dữ liệu được thu thập từ modul thu thập thông tin, dữ liệu Trongbước này, dữ liệu được sắp xếp theo từng phân loại, phân lớp Giai đoạn này
sẽ xác định định dạng của của dữ liệu đưa vào Khi dữ liệu được định dạng,chúng sẽ được chia nhỏ theo từng phân loại Ngoài ra, nó có thể tái định dạnggói tin (defragment), sắp xếp theo chuỗi
Phân tích – Analysis: Ngay sau khi quá trình tiền xử lý kết thúc, quátrình phân tích sẽ bắt đầu diễn ra Hiện nay, hệ thống phát hiện xâm nhập IDSdựa trên hai phương pháp chính để phát hiện các cuộc tấn công, xâm nhập đólà:Phát hiện dựa trên luật và phát hiện dựa trên bất thường
Phát hiện dựa trên luật (Rule – Based Detection): Phát hiện dựa trên
luật hay còn gọi là phát hiện trên chữ ký, xét phù hợp mẫu hay phát hiện viphạm, là phương pháp đầu tiên sớm được sử dụng trong các hệ thống pháthiện xâm nhập Phát hiện dựa trên luật sử dụng so sánh mẫu để phát hiện cácmẫu tấn công đã biết
Ví dụ: để xác định xem có phải ai đó đang cố gắng đăng nhập vào mộtmáy chủ dưới danh nghĩa của một người sử dụng gốc (Root User), một hệthống phát hiện xâm nhập dựa trên luật sẽ phát cảnh báo bất cứ khi nào từkhóa “root” xuất hiện trong luồng lưu lượng Tuy nhiên nó có thể là một cảnhbáo nhầm, để hạn chế sự nhầm lẫn hệ thống sẽ chỉ tìm kiếm chuỗi ký tự
“root” trong chuỗi ký tự đăng nhập, và đó là một phương pháp phát hiện tấncông có độ chính xác cao Một ví dụ khác, chúng ta xem xét một kiểu tấncông Sendmail Wiz, đó là một dạng tấn công cố gắng chiếm quyền truy nhậpgốc đến máy chủ SMTP Để thực hiện tấn công, kẻ tấn công thiết lập một kếtnối SMTP và gửi mẫu “wiz” trong kết nối điều khiển Một hệ thống phát hiệntấn công cần phải nhận dạng mẫu “wiz” để đưa ra cảnh báo
Trang 26Kiểu phát hiện này có ưu điểm là phát hiện các cuộc tấn công nhanh,chính xác, không đưa ra các cảnh báo sai làm giảm khả năng hoạt động của hệthống mạng và giúp người quản trị xác định các lỗ hổng bảo mật trong hệthống của mình Tuy nhiên, phương pháp này có nhược điểm là không pháthiện được các cuộc tấn công, xâm nhập không có trong mẫu, các kiểu tấncông va xâm nhập mới do vậy hệ thống luôn luôn phải cập nhật các mẫu mới.
Phát hiện dựa trên bất thường (Anomaly Detection): Đây là kỹ thuật
phát hiện thông minh, kỹ thuật này giúp nhận dạng các hoạt động không bìnhthường của mạng Ban đầu, chúng lưu giữ các mô tả sơ lược các hoạt độngbình thường của hệ thống mạng Các cuộc tấn công, xâm nhập sẽ gây ra cáchoạt động bất thường và kỹ thuật này sẽ nhận ra các bất thường đó Một số kỹthuật giúp thực hiện xác định sự bất bình thường của hệ thống:
Phát hiện mức ngưỡng – (Threshold detection): Kỹ thuật này nhấn
mạnh vào việc đo đếm các hoạt động bình thường trên mạng Các mứcngưỡng về các hoạt động bình thường được thiết lập, khi có sự bất thường xảy
ra như: đăng nhập vượt quá số lần quy định, số lượng các tiến trình hoạt độngtrên máy chủ, số lượng một loại gói tin vượt quá mức cho phép … thì hệthống có dấu hiệu bị tấn công hay bị xâm nhập
Phát hiện nhờ quá trình tự học – (Self Learning Detection): Kỹ thuật
này bao gồm hai bước, khi bắt đầu thiết lập, hệ thống phát hiện tấn công sẽhoạt động ở chế độ tự học và tạo ra một hồ sơ về cách cư xử của mạng với cáchoạt động bình thường Sau thời gian khởi tạo, hệ thống sẽ hoạt động ở chế độlàm việc, tiến hành theo dõi, phát hiện các hoạt động bất thường của mạngbằng cách so sánh với hồ sơ đã thiết lập Chế độ tự học có thể chạy song songvới chế độ làm việc để cập nhật hồ sơ của mình nhưng nếu dò ra có tín hiệutấn công thì chế độ tự học phải dừng lại cho tới khi cuộc tấn công kết thúc
Phát hiện sự bất bình thường của các giao thức-(Anomaly ProtocolDetection): Kỹ thuật 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 để phát hiện ra các gói tin không hợp lệ, tìm ra các giao thứcmạng vi phạm hay không đúng so với các giao thức chuẩn trong RFC, cáchoạt động bất thường vốn là dấu hiệu của sự xâm nhập hay tấn công Kỹ thuậtnà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ủa tin tặc Phương pháp phát hiện dựa trên bất thường của
Trang 27hệ thống rất hữu hiệu trong việc phát hiện các cuộc tấn công kiểu từ chối dịch
vụ (Denial of Service – DoS) Ưu điểm của phương pháp này là có thể pháthiệ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 chophương pháp phát hiện dựa trên luật Tuy nhiên, phương pháp phát hiện dựatrên bất thường có nhược điểm thường tạo ra một số lượng cảnh báo sai làmgiảm hiệu suất hoạt động của mạng Phương pháp này sẽ là hướng đượcnghiên cứu nhiều hơn trong tương lai nhằm khắc phục các nhược điểm mắcphải, giảm số lần cảnh báo sai để hệ thống chạy chuẩn xác hơn
Cảnh báo – (Manager Alter): Quá trình này thực hiện sinh ra các cảnhbáo tùy theo đặc điểm và loại tấn công, xâm nhập mà hệ thống phát hiệnđược
Hình 11: Các phương thức cảnh báo.
Modul phản ứng: Đây là một điểm khác biệt giữa hệ thống phát hiện
xâm nhập IDS và một hệ thống ngăn chặn xâm nhập IPS Đối với hệ thốngIDS, chúng thường chỉ có khả năng ngăn chặn rất hạn chế bởi vì chúng dựatrên cơ chế phản ứng thụ động (passive response) Cơ chế phản ứng thụ độngkhông thể ngăn chặn được tổn thất vì nó chỉ được đưa ra sau khi mà tấn công
đã ảnh hưởng tới hệ thống Khi có dấu hiệu của sự tấn công hoặc thâm nhập,modul 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
Trang 28nhập đến modul phản ứng Lúc đó modul phản ứng gửi tín hiệu kích hoạttườ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ớingười quản trị Tại modul này, nếu chỉ đưa ra các cảnh báo tới các người quảntrị và dừng lại ở đó thì hệ thống này được gọi là hệ thống phòng thủ bị động.Modul phản ứng này tùy theo hệ thống mà có các chức nǎng và phương phápngǎn chặn khác nhau Dưới đây là một số kỹ thuật ngǎn chặn:
Kết thúc tiến trình: Cơ chế của kỹ thuật này là hệ thống IDS gửi các góitin nhằm phá huỷ tiến trình bị nghi ngờ Tuy nhiên phương pháp này có một
số nhược điểm Thời gian gửi gói tin can thiệp chậm hơn so với thời điểm tintặc bắt đầu tấn công, dẫn đến tình trạng tấn công xong rồi mới bắt đầu canthiệp Phương pháp này không hiệu quả với các giao thức hoạt động trên UDPnhư DNS, ngoài ra các gói tin can thiệp phải có trường thứ tự đúng như cácgói tin trong phiên làm việc của tiến trình tấn công Nếu tiến trình tấn côngxảy ra nhanh thì rất khó thực hiện được phương pháp này
Huỷ bỏ tấn công: Kỹ thuật này dùng tường lửa để hủy bỏ gói tin hoặcchặn đường một gói tin đơn, một phiên làm việc hoặc một luồng thông tin tấncông Kiểu phản ứng này là an toàn nhất nhưng lại có nhược điểm là dễ nhầmvới các gói tin hợp lệ
Thay đổi các chính sách của tường lửa: Kỹ thuật này cho phép ngườiquản trị cấu hình lại chính sách bảo mật khi cuộc tấn công xảy ra Sự cấu hìnhlại là tạm thời thay đổi các chính sách điều khiển truy nhập bởi người dùngđặc biệt trong khi cảnh báo tới người quản trị
Cảnh báo thời gian thực: Gửi các cảnh báo thời gian thực đến ngườiquản trị để họ nắm được chi tiết các cuộc tấn công, các đặc điểm và thông tin
về chúng
Ghi lại vào tệp tin: Các dữ liệu của các gói tin sẽ được lưu trữ trong hệthống các tệp tin log Mục đích để các người quản trị có thể theo dõi cácluồng thông tin và là nguồn thông tin giúp cho modul phát hiện tấn công hoạtđộng
Trang 29Hình 12: Một số phương pháp ngăn chặn tấn công.
Trang 302.1.2 Các đặc tính.
Nó hỗ trợ cho nhiều nhiều nền tảng hệ điều hành khác nhau như:Linux, OpenBSD, Solaris, Window… Snort cung cấp một số đặc tính như:
Có khả năng phát hiện một số lượng lớn các kiểu thăn dò, xâm nhập
khác nhau như: buffer oveflow, CGI-Atack, Scan, ICMP, Virus…
Phát hiện nhanh các xâm nhập theo thời gian thực
Cung cấp cho nhà quản trị các thông tin cần thiết để xử lý các sự cố khi
Trang 31Hình 13: Sơ đồ khối của hệ thống cài đặt Snort.
Sơ đồ khối của một hệ thống phát hiện xâm nhập bao gồm Snort,MySQL, Apache, ACID, BASE, PHP, thư viện GD và PHPLOT Theo hìnhtrên, dữ liệu được thu thập và phân tích bởi Snort Sau đó, Snort lưu trữ dữliệu trong cơ sở dữ liệu MySQL bằng cách dùng output plug-in Web serverApache với ACID, PHP, thư viện GD và PHPLOT sẽ biểu diễn dữ liệu nàytrên trình duyệt khi một người dùng kết nối đến server Người dùng có tạonhiều kiểu truy vấn khác nhau để phân tích dữ liệu
Snort chủ yếu là một IDS dựa trên luật, tuy nhiên các input plug-incũng tồn tại để phát hiện sự bất thường trong các header của giao thức
Snort sử dụng các luật được lưu trữ trong các file text, có thể đượcchỉnh sửa bởi người quản trị Các luật được nhóm thành các kiểu Các luậtthuộc về mỗi loại được lưu trong các file khác nhau File cấu hình chính củaSnort là Snort.conf Snort đọc những luật này vào lúc khởi tạo và xây dựngcấu trúc dữ liệu để cung cấp các luật để bắt giữ dữ liệu Tìm ra các dấu hiệu
và sử dụng chúng trong các luật là một vấn đề đòi hỏi sự tinh tế, vì ta càng sửdụng nhiều luật thì năng lực xử lý càng được đòi hỏi để thu thập dữ liệu trong
Trang 32thực tế Snort có một tập hợp các luật được định nghĩa trước để phát hiện cáchành động xâm nhập và ta cũng có thể thêm vào các luật của chính ta Tacũng có thể xóa một vài luật đã được tạo trước để tránh việc báo động sai.
2.2 Các thành phần của Snort.
Snort được chia thành nhiều thành phần Những thành phần này làmviệc với nhau để phát hiện các cách tấn công cụ thể và tạo ra output theo mộtđịnh dạng được đòi hỏi Một IDS dựa trên Snort bao gồm các thành phầnchính sau đây:
Bộ phận giải mã gói (Packet Decoder).
Bộ phận xử lí trước (Preprocessor)
Bộ phận phát hiện (Dectection Engine)
Hệ thống ghi và cảnh báo (Logging và Alerting System)
Bộ phận đầu ra (Output Modules)
Hình 14: Thành phần xử lý gói tin của snort.
2.2.1 Bộ phận giải mã gói.
Bộ phận giải mã gói lấy các gói từ các giao diện mạng khác nhau vàchuẩn bị cho việc gói tin được xử lí trước hoặc được gửi cho bộ phận pháthiện
Trang 332.2.2 Bộ phận xử lí trước.
Hình 15: Preprocessor của snort
Bộ phận xử lí trước là những thành phần được sử dụng với Snort để sắpxếp hoặc chỉnh sửa gói dữ liệu trước khi bộ phận phát hiện làm một vài xử lý
để tìm ra gói tin có được sử dụng bởi kẻ xâm nhập hay không Một vài bộphận xử lý trước cũng thực thi việc phát hiện bằng cách tìm các dấu hiệu bấtthường trong header của gói tin và tạo ra các cảnh báo Bộ phận xử lí trước làrất quan trọng trong bất kì IDS nào, chúng chuẩn bị cho các gói dữ liệu đượcphân tích dựa trên các luật trong bộ phận phát hiện Kẻ tấn công sử dụngnhiều kĩ thuật khác nhau để lừa IDS theo nhiều cách Bộ phận xử lí trướccũng được sử dụng để tái hợp các gói tin Trên IDS, trước khi áp dụng bất kìluật nào, bạn phải tái hợp các gói tin lại để tìm ra các dấu hiệu Bộ phận xử lítrước trong Snort có thể tái hợp các gói tin, giải mã HTTP URI, ráp lại cácdòng TCP, v.v Những chức năng này rất quan trọng trong hệ thống pháthiện xâm nhập
Trang 342.2.3 Bộ phận phát hiện.
Hình 16: Dectection Engine của snort.
Đây là phần quan trọng nhất của Snort Trách nhiệm của nó là phát hiện
có sự xâm nhập tồn tại trong gói tin hay không Bộ phận phát hiện sử dụngcác luật của Snort cho mục đích này Nếu một gói tin không giống với bất kìgói tin bình thường nào thì một hành động tương ứng sẽ được thực hiện.Những gói tin có dấu hiện bất thường bị phát hiện, hành động phát hiện được
mô tả băng những biểu thức bao gồm các toán tử và các toán hang hay sosánh dùng để nhận dạng ra xâm nhập Phần dưới đây em đưa ra ví dụ vớinhững biểu thức thông thường cho SQL injection và CSS để thấy được bộphận phát hiện đã làm việc hiệu quả như sau
2.2.3.1 Những biểu thức thông thường cho SQL injection.
Một điểm quan trọng cần phải lưu ý khi chọn sự biểu diễn chung chocác tấn công SQL Injection là kẻ tấn công có thể đưa đầu vào từ một form,cũng như là thông qua các trường của một cookie Giá trị đầu vào thườngquan tâm tới mỗi loại dữ liệu đầu vào xuất phát từ người dùng Nó tạo nên cáctrường hoặc các thông tin cookie Cũng như vậy, nếu bạn phát hiện ra quánhiều cảnh bảo đi vào từ một dấu hiệu mà để ý một dấu ngoặc đơn, thì đó chỉ
có thể là một hoặc nhiều các ký tự là các đầu vào hợp lệ trong cookie được
Trang 35tạo bởi ứng dụng Web Do đó, ta sẽ cần phải đánh giá mỗi dấu hiệu đối vớiứng dụng Web cụ thể.
Một sự biểu diễn chung để tìm các tấn công SQL injection là theo dõicác ký tự biến đổi cụ thể SQL như là dấu ngoặc đơn (‘) hoặc dấu gạch kép( ) Để tìm ra các ký tự này và mã hex tương ứng của nó, thì sự diễn đạt sau
sự xuất hiện của dấu “#” hoặc mã hex của nó Chú ý rằng không cần kiểm tra
mã hex tương ứng của dấu gạch kép ( ), bởi vì nó không phải là ký tự biếnđổi của TML và sẽ không được mã hoá bởi trình duyệt Cũng như vậy, nếumột kẻ tấn công cố gắng chỉnh sửa thủ công dấu ( ) thành giá trị mã hex của
%2D thì tấn công SQL injection sẽ bị lỗi
Sự biểu diễn chung sẽ được thêm vào một quy tắc Snort mới như sau:
alert tcp $EXTERNAL_NET any -> $HTTP_SERVERS $HTTP_PORTS (msg:"SQL Injection - Paranoid";
flow:to_server,established;uricontent:".pl";pcre:"/(\%27)|(\')|(\-\-)|(%23)|(#)/i"; classtype:Web-application-attack; sid:9099; rev:5;)
Trong trường hợp này, từ khoá uricontent có giá trị “.pl” bởi vì trongmôi trường kiểm tra, đoạn script CGI được viết bằng Perl Phụ thuộc vào ứngdụng cụ thể của bạn, gía trị này có thể là “.php” hoặc “.asp” hoặc “.jsp” Từtrước điểm này, ta không thể hiện luật Snort tương ứng nhưng chỉ thay thế sựbiểu diễn chung là được sử dụng để tạo ra các luật này Từ sự biểu diễn chungnày bạn có thể dễ dàng tạo ra nhiều luật Snort
Trong sự diễn đạt chung trước, ta tìm ra dấu ( ) bởi vì đó có thể là cáctình huống mà vị trí SQL injection có thể thậm chí không cần dấu ngoặc đơn
Ví dụ, truy vấn SQL mà có vị trí mà phía chứa các giá trị số:
select value1, value2, num_value3 from database
Trang 36where num_value3=some_user_supplied_number
Trong trường hợp này, kẻ tấn công có thể thực hiện truy vấn SQL bằngcách cung cấp một đầu vào như sau:
3; insert values into some_other_table
Cuối cùng, sự bổ sung pcre ‘i’và ’x’ được sử dụng sao cho tương ứng
mà không có trường
Dấu hiệu ở trên có thể được mở rộng hơn nữa để phát hiện ra sự xuấthiện của dấu ngoặc đơn Tuy nhiên dấu ngoặc đơn có xu hướng xuất hiện như
là một phần của lưu lượng HTTP thông thường Để giảm lược được vị trí lỗi
từ điều này và cũng từ bất kỳ sự xuất hiện thông thường của dấu ngoặc đơn vàdấu gạch kép, thì dấu hiệu ở trên có thể được chỉnh sửa khi lần đầu tiên pháthiện ra sự xuất hiện của dấu = Dữ liệu đầu vào của người dùng thông thường
là các request dạng thức GET hoặc POST, nơi mà các trường của đầu vào sẽđược phản xạ là:
username=some_user_supplied_value&password=some_user_supplie d_value
Do đó, nỗ lực SQL inject sẽ thể hiện dữ liệu đầu vào người dùng được
ưu tiên bởi dấu = hoặc mã hex tương ứng
b) Minh họa chỉnh sửa để phát hiện các ký tự biến đổi SQL.
/((\%3D)|(=))[^\n]*((\%27)|(\')|(\-\-)|(\%3B)|(;))/i
Đầu tiên xem xét dấu = hoặc mã hex tương ứng của nó (%3D) Sau đócho phép số 0 hoặc các ký tự không phải dòng mới và sau đó nó sẽ kiểm tradấu ngoặc đơn, dấu gạch kép
SQL injection giải quyết xung quanh vấn để sử dụng dấu ngoặc đơn đểthực hiện truy vấn ban đầu sao cho nó luôn luôn mang tới giá trị đúng Hầuhết các ví dụ thảo luận về kiểu tấn công này sử dụng chuỗi 1 or 1=1 Tuynhiên, phát hiện ra chuỗi này có thể dễ dàng tránh khỏi bằng cách áp dụngchuỗi như 1 or 2>1 Do đó chỉ phần mà là hằng số mới là giái trị số alpha banđầu, được theo sau bởi dấu ngoặc đơn và sau đó là từ or Logic Boolean xuấthiện sau đó có thể được biến đổi thành một phạm vi mà vị trí mẫu chung làhoặc là rất phức tạp hoặc không bao quát toàn bộ các biến Do đó, các tấncông này có thể được phát hiện ở mức độ chính xác
c) Minh họa tấn công SQL injection điển hình.
Trang 37\w*: Không hoặc nhiều số alpha hoặc các ký tự hoặc các ký tự gạchdưới
(\%27)|\'): Dấu ngoặc đơn hoặc mã hex tương ứng
(\%6F)|o|(\%4F))((\%72)|r|(\%52): Từ or với sự kết hợp rất nhiều củacác mã hex chữ hoa và chữ thường
Sử dụng truy vấn SQL “union”cũng là phổ biến trong các tấn côngSQL Injection chống lại rất nhiều cơ sở dữ liệu Nếu sự biển diễn chung trướckia chỉ là phát hiện ra dấu ngoặc đơn hoặc các ký tự biến đổi SQL khác ,thìbạn có thể điều chỉnh truy vấn để kiểm tra đặc biệt các dấu ngoặc đơn hoặc từkhoá “union” Điều này cũng có thể được mở rộng hơn nữa thành các từ khoákhác như “select” “insert” “update” và “detect”
d) Minh họa dò tìm SQL Injection với từ khoá Union.
/((\%27)|(\'))union/ix
(\%27)|(\'): Dấu ngoặc đơn và mã hex tương ứng union.
Sự biểu diễn có thể được viết cho các truy vấn SQL khác như >select, insert, update, delete drop và vv
Kẻ tấn công thấy rằng ứng dụng Web là vùng dễ bị tổn thương trongSQL injection thì sẽ cố gắng khai thác Nếu nhận ra rằng cơ sở dữ liệu trước,sau trong MS SQL server, thì thực hiện một hoặc nhiều các thủ tục lưu trữ và
mở rộng nguy hiểm Thủ tục này bắt đầu với các chữ “sp” hoặc “xp” Điểnhình thực hiện thủ tục mở rộng “xp_cmdshell”, cho phép thực hiện dòng lệnhshell Window thông qua SQL server Quyền truy cập với những dòng lệnh sẽđược thực hiện là các tài khoản mà SQL đang hoạt động, thông thường là hệthống cục bộ Tiếp đó điều chỉnh registry bằng các thủ tục như xp_regread,xp_regwrite vv
e) Mô phỏng các tấn công SQL Injection trên MS SQL server.
/exec(\s|\+)+(s|x)p\w+/ix exec: Từ khoá được yêu cầu để chạy các thủ tục mở rộng hoặc lư trữ (\s|\+)+: Một hoặc nhiều khoảng trắng được mã hoá tương đương.
(s|x)p: Chữ cái “sp” hoặc “xp” để định danh các thủ tục được mở rộng hoặclưu trữ riêng biệt
\w+: Một hoặc nhiều các số alpha hoặc dấu gạch dưới để hoàn tất tên
của thủ tục
Trang 382.3.2.2 Những biểu thức thông thường cho CSS.
Khi thực hiện một tấn công kịch bản thông qua website hoặc thực hiệnkiểm tra điểm yếu của website thì người tấn công đầu tiên phải quan tâm tớitag định dạng HTML đơn giản như chữ in đậm, chữ in nghiêng hoặc chữgạch chân Mặt khác, thì ta có thể dùng tag kịch bản thông thường như
<script>alert("OK")</script> Hầu hết các kịch tài liệu trực tuyến hoặc tài liệu
được in trong CSS sử dụng kịch bản nay như một ví dụ để xác định nếu mộtsite có thể là điểm yếu cho CSS Việc phát hiện này có thể xác định được.Tuy nhiên, những kẻ tấn công tiên tiến hơn có thể dấu đi toàn bộ chuỗi bằng
cách nhập các cơ số Hex tương ứng Chính vì vậy, các tag <script> sẽ được hiển thị dưới dạng %3C%73%63%72%69%70%74%3E Ngoài ra thì kẻ tấn
công còn sử dụng Web Application Proxy như là một điểm yếu và đảo ngược
lại các ký tự đặc biệt của người trình duyệt như < to %3C and > to %3E
Chính vì vậy kẻ tấn công vào URL sẽ thêm các dấu ngoặc như {} [] // thay vìđưa các giá trị cơ số hex
Các kiểm tra biểu thức thông thường sau cho kẻ tấn công có thể mở và
đóng các tag <HTML>…<\HTML> với bất kỳ đoạn text nào bên trong nó.
Các kiểm tra biểu thức sẽ bắt tất cả <b> or <u> or <script> Chúng ta cũngcần kiểm tra xuất hiện của các dấu ngoặc như {} [], cũng như các giá trị cơ số
hex tương ứng, hoặc (%3C|<) Để phát hiện ra toàn bộ chuỗi có cơ số hex, ta
phải kiểm tra xuất hiện của các số như %, [a-z0-9%] là đầu vào đăng nhập
người dùng Đôi khi điều này có thể sai nhưng hầu hết thì sẽ phát hiện kẻ tấncông thực sự
a) Minh họa cho tấn công CSS đơn giản (hoặc XSS).
/((\%3C)|<)((\%2F)|\/)*[a-z0-9\%]+((\%3E)|>)/ix
(\%3C)|<): Kiểm tra mở các dẩu trên hoăc cơ số hex tương ứng.
((\%2F)|\/)* : Các dấu \ đóng các tag hoặc là các cơ số hex tương ứng
của nó
[a-z0-9\%]+: Để kiểm tra các chuỗi số bên trong các tag hoặc biểu diễn
lại cơ số hex tương ứng
((\%3E)|>): Kiểm tra việc đóng các dấu () hoặc cơ số hex tương ứng.
Snort signature:
Trang 39alert tcp $EXTERNAL_NET any -> $HTTP_SERVERS $HTTP_PORTS (msg:"NII Cross-site scripting attempt"; flow:to_server,established; pcre:"/((\
%3C)|<)((\%2F)|\/)*[a-z0-9\%]+((\%3E)|>)/i"; attack; sid:9000; rev:5;)
classtype:Web-application-CSS cũng được hoàn thành bằng cách sử ding <img src=> Việc tồntại mặc định snort signature có thể trành được tấn công dễ dàng
b) Minh họa tấn công CSS “<img src”.
/((\%3C)|<)((\%69)|i|(\%49))((\%6D)|m|(\%4D))((\%67)|g|(\%47))[^\n]+((\
%3E)|>)/I (\%3C)|<): Mở các dấu ( hoặc các cơ số hex tương ứng.
(\%69)|i|(\%49))((\%6D)|m|(\%4D))((\%67)|g|(\%47): Các chữ ‘img’
kết hợp với ASCII, hoặc là chữ to nhỏ tương ứng với cơ số hex tương ứng
[^\n]+ : Bất kỳ 1 ký tự nào khác so với các dòng <img.
(\%3E)|>): Đóng các dấu ngoặc hoặc cơ số hex tương ứng.
c) Minh họa cho tấn công CSS.
/((\%3C)|<)[^\n]+((\%3E)|>)/I
Signature đơn giản nay giống như mở tag HTML và cơ số hex tươngứng, được kế tiếp bằng một ký tự hoặc nhiều ký tự khác hơn là dòng mới vàsau đó kế tiếp bằng việc đóng tag hoặc cơ số hex tương ứng Điều nay có thểtạo ra một vài lỗi phụ thuộc vào web application và web server được cấu trúcnhư thế nào, nhưng nó sẽ đảm bảo bắt được tất cả thậm chí là tấn công CSS từxa
Điều quan dấu hiện biểu thức thông thường có thể được sử dụng đểphát hiện tấn công SQL Injection và các tấn công CSS Một vài các dấu hiệu
bị tưởng là đơn giản, chúng ta sẽ phải tăng cường cảnh báo thậm chí nếu cómột gợi ý của một tấn công Nhưng cũng có thể các dấu hiệu là kết quả sai
Để quan tâm tới điều nay, phải chỉnh sửa các dấu hiệu đơn giản với việc thêmvào các kiểm tra mẫu chính vì vậy chúng đưa ra kết quả chính xác hơn Biểuthức biểu mẫu là bộ phận then chốt về thời gian thực thi của Snort
Dựa vào bộ máy của bạn mạnh như thế nào và bao nhiêu luật bạn địnhnghĩa mà nó có thể tốn những khoảng thời gian khác nhau đối với các gói tinkhác nhau Nếu lưu lượng trên mạng là quá lớn khi Snort đang hoạt độngtrong chế độ NIDS, bạn có thể mất một vài gói tin và có thể thời gian đáp ứng
Trang 40không chính xác Lưu lượng trên bộ phận phát hiện phụ thuộc vào các yếu tốsau:
Số lượng các luật
Sức mạnh của bộ máy mà Snort đang chạy
Tốc độ của bus được sử dụng
Lưu lượng trên mạng
Bộ phận phát hiện hoạt động theo những cách khác nhau ở các phiênbản khác nhau của Snort Trong tất cả phiên bản 1.x của Snort, bộ phận pháthiện dừng việc xử lí gói tin khi phù hợp với một luật Dựa vào luật, bộ phậnphát hiện sẽ có các hành động tương ứng Điều này có nghĩa là nếu một góitin phù hợp với nhiều luật, chỉ có luật đầu tiên được áp dụng mà không xemxét đến các luật còn lại Điều này làm nảy sinh một vấn đề Một luật có độ ưutiên thấp sẽ tạo ra một cảnh báo có độ ưu tiên thấp, nếu một luật có độ ưu tiêncao bị xếp sau trong chuỗi luật Vấn đề này được giải quyết trong Snort phiênbản 2, khi mà tất cả các luật được so sánh trên một gói tin trước khi tạo ra mộtcảnh báo Sau khi so sánh tất cả các luật, luật có độ ưu tiên cao nhất sẽ đượcchọn để tạo cảnh báo Vì bộ phận phát hiện trong phiên bản 2 đã được viết lạihoàn toàn nên nó nhanh hơn rất nhiều so với các phiên bản trước đây