Hệ thống phát hiện xâm nhập (IDS) là hệ thống có nhiệm vụ theo dõi, phát hiện và (có thể) ngăn cản sự xâm nhập, cũng như các hành vi khai thác trái phép tài nguyên của hệ thống được bảo vệ mà có thể dẫn đến việc làm tổn hại đến tính bảo mật, tính toàn vẹn và tính sẵn sàng của hệ thống. Hệ thống IDS sẽ thu thập thông tin từ rất nhiều nguồn trong hệ thống được bảo vệ sau đó tiến hành phân tích những thông tin đó theo các cách khác nhau để phát hiện những xâm nhập trái phép. Khi một hệ thống IDS có khả năng ngăn chặn các nguy cơ xâm nhập mà nó phát hiện được thì nó được gọi là một hệ thống phòng chống xâm nhập hay IPS.
Mục lục CHƯƠNG I : TỔNG QUAN VỀ IDS/IPS 1.1 Giới thiệu IDS/IPS 1.1.1 Định nghĩa Hệ thống phát xâm nhập (IDS) hệ thống có nhiệm vụ theo dõi, phát (có thể) ngăn cản xâm nhập, hành vi khai thác trái phép tài nguyên hệ thống bảo vệ mà dẫn đến việc làm tổn hại đến tính bảo mật, tính tồn vẹn tính sẵn sàng hệ thống Hệ thống IDS thu thập thông tin từ nhiều nguồn hệ thống bảo vệ sau tiến hành phân tích thơng tin theo cách khác để phát xâm nhập trái phép Khi hệ thống IDS có khả ngăn chặn nguy xâm nhập mà phát gọi hệ thống phòng chống xâm nhập hay IPS Hình sau minh hoạ vị trí thường cài đặt IDS mạng : Hình : Các vị trí đặt IDS mạng 1.1.2 Sự khác IDS IPS Có thể nhận thấy khác biệt hai khái niệm tên gọi: “phát hiện” “ngăn chặn” Các hệ thống IDS thiết kế với mục đích chủ yếu phát cảnh báo nguy xâm nhập mạng máy tính bảo vệ đó, hệ thống IPS ngồi khả phát tự hành động chống lại nguy theo quy định người quản trị thiết lập sẵn Tuy vậy, khác biệt thực tế không thật rõ ràng Một số hệ thống IDS thiết kế với khả ngăn chặn chức tùy chọn Trong số hệ thống IPS lại khơng mang đầy đủ chức hệ thống phòng chống theo nghĩa Một câu hỏi đặt 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 mạng máy tính cụ thể sách an ninh người quản trị mạng Trong trường hợp mạng có quy mơ nhỏ, với máy chủ an ninh, giải pháp IPS thường cân nhắc nhiều tính chất kết hợp phát hiện, cảnh báo ngăn chặn Tuy nhiên với mạng lơn chức ngăn chặn thường giao phó cho sản phẩm chuyên dụng firewall chẳng hạn Khi đó, hệ thống cảnh báo cần theo dõi, phát gửi cảnh báo đến hệ thống ngăn chặn khác Sự phân chia trách nhiệm làm cho việc đảm bảo an ninh cho mạng trở nên linh động hiệu 1.2 Phân loại IDS/IPS Cách thông thường để phân loại hệ thống IDS (cũng IPS) dựa vào đặc điểm nguồn liệu thu thập Trong trường hợp này, hệ thống IDS chia thành loại sau: • Host-based IDS (HIDS): Sử dụng liệu kiểm tra từ máy trạm đơn để phát xâm nhập • Network-based IDS (NIDS): Sử dụng liệu toàn lưu thông mạng, với liệu kiểm tra từ một vài máy trạm để phát xâm nhập 1.2.1 Network based IDS – NIDS NIDS thường bao gồm có hai thành phần logic : • Bộ cảm biến – Sensor : đặt đoạn mạng, kiểm soát lưu thơng nghi ngờ đoạn mạng • Trạm quản lý : nhận tín hiệu cảnh báo từ cảm biến thông báo cho điều hành viên Hình I : Mơ hình NIDS Một NIDS truyền thống với hai cảm biến đoạn mạng khác giao tiếp với trạm kiểm sốt Ưu điểm • Chi phí thấp : Do cần cài đặt NIDS vị trí trọng yếu giám sát lưu lượng tồn mạng nên hệ thống không cần phải nạp phần mềm quản lý máy tồn mạng • Phát công mà HIDS bỏ qua: Khác với HIDS, NIDS kiểm tra header tất gói tin khơng bỏ sót dấu hiệu xuất phát từ Ví dụ: nhiều công DoS, TearDrop (phân nhỏ) bị phát xem header gói tin lưu chuyển mạng • Khó xố bỏ dấu vết (evidence): Các thơng tin lưu log file bị kẻ đột nhập sửa đổi để che dấu hoạt động xâm nhập, tình HIDS khó có đủ thông tin để hoạt động NIDS sử dụng lưu thông hành mạng để phát xâm nhập Vì thế, kẻ đột nhập khơng thể xố bỏ dấu vết công Các thông tin bắt không chứa cách thức công mà thông tin hỗ trợ cho việc xác minh buộc tội kẻ đột nhập • Phát đối phó kịp thời : NIDS phát công xảy ra, việc cảnh báo đối phó thực nhanh VD : Một hacker thực công DoS dựa TCP bị NIDS phát ngăn chặn việc gửi yêu cầu TCP reset nhằm chấm dứt cơng trước xâm nhập phá vỡ máy bị hại • Có tính độc lập cao: Lỗi hệ thống khơng có ảnh hưởng đáng kể công việc máy mạng Chúng chạy hệ thống chuyên dụng dễ dàng cài đặt; đơn mở thiết bị ra, thực vài thay đổi cấu hình cắm chúng vào mạng vị trí cho phép kiểm sốt lưu thơng nhạy cảm Nhược điểm • Bị hạn chế với Switch: Nhiều lợi điểm NIDS không phát huy mạng chuyển mạch đại Thiết bị switch chia mạng thành nhiều phần độc lập NIDS khó thu thập thơng tin toàn mạng Do kiểm tra mạng đoạn mà trực tiếp kết nối tới, khơng thể phát công xảy đoạn mạng khác Vấn đề dẫn tới yêu cầu tổ chức cần phải mua lượng lớn cảm biến để bao phủ hết tồn mạng gây tốn chi phí cài đặt • Hạn chế hiệu năng: NIDS gặp khó khăn phải xử lý tất gói tin mạng rộng có mật độ lưu thơng cao, dẫn đến phát công thực vào lúc "cao điểm" Một số nhà sản xuất khắc phục cách cứng hố hồn tồn IDS nhằm tăng cường tốc độ cho Tuy nhiên, phải đảm bảo mặt tốc độ nên số gói tin bỏ qua gây lỗ hổng cho cơng xâm nhập • Tăng thơng lượng mạng: Một hệ thống phát xâm nhập cần truyền dung lượng liệu lớn trở hệ thống phân tích trung tâm, có nghĩa gói tin kiểm soát sinh lượng lớn tải phân tích Để khắc phục người ta thường sử dụng tiến trình giảm liệu linh hoạt để giảm bớt số lượng lưu thông truyền tải Họ thường thêm chu trình tự định vào cảm biến sử dụng trạm trung tâm thiết bị hiển thị trạng thái trung tâm truyền thông thực phân tích thực tế Điểm bất lợi cung cấp thơng tin liên quan cho cảm biến; cảm biến việc cảm biến khác dò cơng Một hệ thống khơng thể dò cơng hiệp đồng phức tạp • Một hệ thống NIDS thường gặp khó khăn việc xử lý cơng phiên mã hố Lỗi trở nên trầm trọng nhiều công ty tổ chức áp dụng mạng riêng ảo VPN • Một số hệ thống NIDS gặp khó khăn phát công mạng từ gói tin phân mảnh Các gói tin định dạng sai làm cho NIDS hoạt động sai đổ vỡ 1.2.2 Host based IDS – HIDS Hình III : Mơ hình HIDS Host-based IDS tìm kiếm dấu hiệu xâm nhập vào host cục bộ; thường sử dụng chế kiểm tra phân tích thơng tin logging Nó tìm kiếm hoạt động bất thường login, truy nhập file khơng thích hợp, bước leo thang đặc quyền không chấp nhận Kiến trúc IDS thường dựa luật (rule-based) để phân tích hoạt động Ví dụ đặc quyền người sử dụng cấp cao đạt thông qua lệnh su-select user, cố gắng liên tục để login vào account root coi công Ưu điểm • Xác định kết công: Do HIDS sử dụng liệu log lưu kiện xảy ra, biết công thành công hay thất bại với độ xác cao NIDS Vì thế, HIDS bổ sung thông tin công sớm phát với NIDS • Giám sát hoạt động cụ thể hệ thống: HIDS giám sát hoạt động mà NIDS như: truy nhập file, thay đổi quyền, hành động thực thi, truy nhập dịch vụ phân quyền Đồng thời giám sát hoạt động thực người quản trị Vì thế, hệ thống host-based IDS cơng cụ cực mạnh để phân tích cơng xảy thường cung cấp nhiều thơng tin chi tiết xác hệ network-based IDS • Phát xâm nhập mà NIDS bỏ qua: chẳng hạn kẻ đột nhập sử dụng bàn phím xâm nhập vào server khơng bị NIDS phát • Thích nghi tốt với mơi trường chuyển mạch, mã hố: Việc chuyển mạch mã hoá thực mạng HIDS cài đặt máy nên khơng bị ảnh hưởng hai kỹ thuật • Khơng yêu cầu thêm phần cứng: Được cài đặt trực tiếp lên hạ tầng mạng có sẵn (FTP Server, WebServer) nên HIDS không yêu cầu phải cài đặt thêm phần cứng khác Nhược điểm • Khó quản trị : hệ thống host-based yêu cầu phải cài đặt tất thiết bị đặc biệt mà bạn muốn bảo vệ Đây 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 tồn: vấn đề khác kết hợp với hệ thống host-based hướng đến việc tin vào nhật ký mặc định lực kiểm sốt server Các thơng tin bị công đột nhập dẫn đến hệ thống hoạt đơng sai, khơng phát xâm nhập • Hệ thống host-based tương đối đắt : nhiều tổ chức đủ nguồn tài để bảo vệ tồn đoạn mạng sử dụng hệ thống host-based Những tổ chức phải thận trọng việc chọn hệ thống để bảo vệ Nó để lại lỗ hổng lớn mức độ bao phủ phát xâm nhập Ví dụ kẻ công hệ thống láng giềng khơng bảo vệ đánh thấy thông tin xác thực tài liệu dễ bị xâm phạm khác mạng • Chiếm tài nguyên hệ thống : Do cài đặt máy cần bảo vệ nên HIDS phải sử dụng tài nguyên hệ thống để hoạt động như: vi xử lí, RAM, nhớ ngồi 1.3 Cơ chế hoạt động hệ thống IDS/IPS Có hai cách tiếp cận việc phát phòng chống xâm nhập : phát lạm dụng (Misuse Detection Model): Hệ thống phát xâm nhập cách tìm kiếm hành động tương ứng với kĩ thuật xâm nhập biết đến (dựa dấu hiệu - signatures) điểm dễ bị công hệ thống phát bất thường (Anomaly Detection Model): Hệ thống phát xâm nhập cách tìm kiếm hành động khác với hành vi thông thường người dùng hay hệ thống 1.3.1 Phát lạm dụng Phát lạm dụng phát kẻ xâm nhập cố gắng đột nhập vào hệ thống mà sử dụng số kỹ thuật biết Nó liên quan đến việc mô tả đặc điểm cách thức xâm nhập vào hệ thống biết đến, cách thức mô tả mẫu Hệ thống phát lạm dụng thực kiểm soát mẫu rõ ràng Mẫu xâu bit cố định (ví dụ virus đặc tả việc chèn xâu),…dùng để mô tả tập hay chuỗi hành động đáng nghi ngờ Ở đây, ta sử dụng thuật ngữ kịch xâm nhập (intrusion scenario) Một hệ thống phát lạm dụng điển hình liên tục so sánh hành động hệ thống với tập kịch xâm nhập để cố gắng dò kịch tiến hành Hệ thống xem xét hành động hệ thống bảo vệ thời gian thực ghi kiểm tra ghi lại hệ điều hành Các kỹ thuật để phát lạm dụng khác cách thức mà chúng mơ hình hố hành vi định xâm nhập Các hệ thống phát lạm dụng hệ sử dụng luật (rules) để mơ tả mà nhà quản trị an ninh tìm kiếm hệ thống Một lượng lớn tập luật tích luỹ dẫn đến khó hiểu sửa đổi chúng khơng tạo thành nhóm cách hợp lý kịch xâm nhập Để giải khó khăn này, hệ thống hệ thứ hai đưa biểu diễn kịch xen kẽ, bao gồm tổ chức luật dựa mơ hình biểu diễn phép biến đổi trạng thái Điều mang tính hiệu người dùng hệ thống cần đến biểu diễn hiểu rõ ràng kịch Hệ thống phải thường xuyên trì cập nhật để đương đầu với kịch xâm nhập phát Do kịch xâm nhập đặc tả cách xác, hệ thống phát lạm dụng dựa theo để theo vết hành động xâm nhập Trong chuỗi hành động, hệ thống phát đốn trước bước 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, cần can thiệp để làm giảm tác hại 1.3.2 Phát bất thường Dựa việc định nghĩa mô tả đặc điểm hành vi chấp nhận hệ thống để phân biệt chúng với hành vi khơng mong muốn bất thường, tìm thay đổi, hành vi bất hợp pháp Như vậy, phát khơng bình thường phải có khả phân biệt tượng thông thường tượng bất thường Ranh giới dạng thức chấp nhận dạng thức bất thường đoạn mã liệu lưu trữ định nghĩa rõ ràng (chỉ cần bit khác nhau), ranh giới hành vi hợp lệ hành vi bất thường khó xác định Phát khơng bình thường chia thành hai loại tĩnh động 1.3.2.1 Phát tĩnh Dựa giả thiết ban đầu phần hệ thống kiểm sốt phải ln ln khơng đổi Ở đây, ta quan tâm đến phần mềm vùng hệ thống (với giả sử phần cứng khơng cần phải kiểm tra) Phần tĩnh hệ thống bao gồm phần con: mã hệ thống liệu phần hệ thống Hai thơng tin biểu diễn dạng xâu bit nhị phân tập xâu Nếu biểu diễn có sai khác so với dạng thức gốc có lỗi xảy kẻ xâm nhập thay đổi Lúc này, phát tĩnh thơng báo để kiểm tra tính tồn vẹn liệu 10 tính tốn, phát đưa cảnh báo (phát xâm nhập theo mô hình thống kê) Phiên Snort có kèm hai plugin giúp phát xâm nhập bất thường portscan bo (backoffice) Portcan dùng để đưa cảnh báo kẻ công thực việc quét cổng hệ thống để tìm lỗ hổng Bo dùng để đưa cảnh báo hệ thống bị nhiễm trojan backoffice kẻ công từ xa kết nối tới backoffice thực lệnh từ xa 2.2.3 Môđun phát Đây môđun quan trọng Snort Nó chịu trách nhiệm phát dấu hiệu xâm nhập Môđun phát sử dụng luật định nghĩa trước để so sánh với liệu thu thập từ xác định xem có xâm nhập xảy hay khơng Rồi thực số cơng việc ghi log, tạo thông báo kết xuất thông tin Một vấn đề quan trọng môđun phát vấn đề thời gian xử lý gói tin: IDS thường nhận nhiều gói tin thân có nhiều luật xử lý Có thể khoảng thời gian khác cho việc xử lý gói tin khác Và thơng lượng mạng q lớn xảy việc bỏ sót khơng phản hồi lúc Khả xử lý môđun phát dựa số yếu tố như: số lượng luật, tốc độ hệ thống chạy Snort, tải mạng Một số thử nghiệm cho biết, phiên Snort tối ưu hóa chạy hệ thống có nhiều vi xử lý cấu hình máy tính tương đối mạnh hoạt động tốt mạng cỡ Giga Một môđun phát có khả tách phần gói tin áp dụng luật lên phần gói tin Các phần là: • IP header • Header tầng giao vận: TCP, UDP • Header tầng ứng dụng: DNS header, HTTP header, FTP header, … • Phần tải gói tin (bạn áp dụng luật lên phần liệu truyền gói tin) Một vấn đề Mơđun phát việc xử lý gói tin bị phát nhiều luật Do luật Snort đánh thứ tự 19 ưu tiên, nên gói tin bị phát nhiều luật khác nhau, cảnh báo đưa cảnh báo ứng với luật có mức ýu tiên lớn 2.2.4 Môđun log cảnh báo Tùy thuộc vào việc mơđun Phát có nhận dạng đuợc xâm nhập hay khơng mà gói tin bị ghi log đưa cảnh báo Các file log file text liệu ghi nhiều định dạng khác chẳng hạn tcpdump 2.2.5 Mô đun kết xuất thơng tin Mơđun thực thao tác khác tùy theo việc bạn muốn lưu kết xuất Tùy theo việc cấu hình hệ thống mà thực cơng việc là: • Ghi log file • Ghi syslog: syslog chuẩn lưu trữ file log sử dụng nhiều hệ thống Unix, Linux • Ghi cảnh báo vào sở liệu • Tạo file log dạng xml: việc ghi log file dạng xml thuận tiện cho việc trao đổi chia sẻ liệu • Cấu hình lại Router, firewall • Gửi cảnh báo gói gói tin sử dụng giao thức SNMP Các gói tin dạng SNMP gửi tới SNMP server từ giúp cho việc quản lý cảnh báo hệ thống IDS cách tập trung thuận tiện • Gửi thơng điệp SMB (Server Message Block) tới máy tính Windows Nếu khơng hài lòng với cách xuất thơng tin trên, ta viết mơđun kết xuất thơng tin riêng tuỳ theo mục đích sử dụng 2.3 Bộ luật snort 20 2.3.1 Giới thiệu Cũng giống virus, hầu hết hoạt động công hay xâm nhập có dấu hiệu riêng Các thơng tin dấu hiệu sử dụng để tạo nên luật cho Snort Thông thường, bẫy (honey pots) tạo để tìm hiểu xem kẻ cơng làm thơng tin cơng cụ công nghệ chúng sử dụng Và ngược lại, có sở liệu lỗ hổng bảo mật mà kẻ công muốn khai thác Các dạng công biết dùng dấu hiệu để phát công xâm nhập Các dấu hiệu xuất phần header gói tin nằm phần nội dung chúng Hệ thống phát Snort hoạt động dựa luật (rules) luật lại dựa dấu hiệu nhận dạng cơng Các luật áp dụng cho tất phần khác gói tin liệu Một luật sử dụng để tạo nên thông điệp cảnh báo, log thơng điệp hay bỏ qua gói tin 2.3.2 Cấu trúc luật Snort Hãy xem xét ví dụ đơn giản : alert tcp 192.168.2.0/24 23 -> any any (content:”confidential”; msg: “Detected confidential”) Ta thấy cấu trúc luật có dạng sau: Rule Header Rule Option Hình VI : Cấu trúc luật Snort Diễn giải: Tất Luật Snort logic gồm phần: Phần header phần Option • Phần Header chứa thơng tin hành động mà luật thực phát có xâm nhập nằm gói tin chứa tiêu chuẩn để áp dụng luật với gói tin • Phần Option chứa thông điệp cảnh báo thơng tin phần gói tin dùng để tạo nên cảnh báo Phần Option chứa tiêu chuẩn phụ thêm để đối sánh luật với gói tin Một luật phát 21 hay nhiều hoạt động thăm dò hay cơng Các luật thơng minh có khả áp dụng cho nhiều dấu hiệu xâm nhập Dưới cấu trúc chung phần Header luật Snort: Action Protocol Adress Port Direction Adress Port Hình VII : Header luật Snort • Action: phần qui định loại hành động thực thi dấu hiệu gói tin nhận dạng xác luật Thơng thường, hành động tạo cảnh báo log thông điệp kích hoạt luật khác • Protocol: phần qui định việc áp dụng luật cho packet thuộc giao thức cụ thể Ví dụ IP, TCP, UDP … • Address: phần địa nguồn địa đích Các địa máy đơn, nhiều máy mạng Trong hai phần địa địa nguồn, địa đích địa thuộc loại phần Direction “->” qui định • Port: xác định cổng nguồn đích gói tin mà luật áp dụng • Direction: phần đâu địa nguồn, đâu địa đích Ví dụ: alert icmp any any -> any any (msg: “Ping with TTL=100”;ttl: 100;) Phần đứng trước dấu mở ngoặc phần Header luật phần lại phần Option Chi tiết phần Header sau: • Hành động luật “alert” : cảnh báo tạo điều kiện gói tin phù hợp với luật(gói tin ln log lại cảnh báo tạo ra) 22 • Protocol luật ICMP tức luật áp dụng cho gói tin thuộc loại ICMP Bởi vậy, gói tin khơng thuộc loại ICMP phần lại luật khơng cần đối chiếu • Địa nguồn “any”: tức luật áp dụng cho tất gói tin đến từ nguồn cổng “any” loại gói tin ICMP cổng khơng có ý nghĩa Số hiệu cổng có ý nghĩa với gói tin thuộc loại TCP UDP thơi • Còn phần Option dấu đóng ngoặc cảnh báo chứa dòng “Ping with TTL=100” tạo tìm thấy điều kiện TTL=100 TTL Time To Live trường Header IP 2.3.2.1 Phần tiêu đề Như phần trình bày, Header luật bao gồm nhiều phần Sau đây, chi tiết cụ thể phần Hành động luật (Rule Action) Là phần luật, hành động thực mà điều kiện luật thoã mãn Một hành động thực tất điều kiện phù hợp Có hành động định nghĩa ta tạo hành động riêng tuỳ thuộc vào yêu cầu Đối với phiên trước Snort nhiều luật phù hợp với gói tin luật áp dụng Sau áp dụng luật luật khơng áp dụng cho gói tin Nhưng phiên sau Snort tất luật áp dụng gói tin • Pass: Hành động hướng dẫn Snort bỏ qua gói tin Hành động đóng vai trò quan trọng việc tăng cường tốc độ hoạt động Snort mà ta không muốn áp dụng kiểm tra gói tin định Ví dụ ta sử dụng bẫy (đặt máy đó) để nhử hacker cơng vào ta phải cho tất gói tin đến máy Hoặc dùng máy quét để kiểm tra độ an tồn mạng ta phải bỏ qua tất gói tin đến từ máy kiểm tra 23 • Log: Hành động dùng để log gói tin Có thể log vào file hay vào sở liệu tuỳ thuộc vào nhu cầu • Alert: Gửi thông điệp cảnh báo dấu hiệu xâm nhập phát Có nhiều cách để gửi thông điệp gửi file Console Tất nhiên sau gửi thông điệp cảnh báo gói tin log lại • Activate: sử dụng để tạo cảnh báo kích hoạt luật khác kiểm tra thêm điều kiện gói tin • Dynamic: luật gọi luật khác có hành động Activate Các hành động người dùng định nghĩa: hành động định nghĩa theo cấu trúc sau: ruletype action_name{action definition }ruletype từ khoá Hành động định nghĩa xác dấu ngoặc nhọn: hàm viết ngơn ngữ C chẳng hạn Ví dụ như: ruletype smb_db_alert {type alert output alert_smb: workstation.list output database: log, mysql, user=test password=test dbname=snort host = localhost} Đây hành động có tên smb_db_alert dùng để gửi thông điệp cảnh báo dạng cửa sổ pop-up SMB tới máy có tên danh sách liệt kê file workstation.list tới sở liệu MySQL tên snort Protocols Là phần thứ hai luật có chức loại gói tin mà luật áp dụng Hiện Snort hiểu protocol sau : • IP • ICMP • TCP • UDP 24 Nếu IP Snort kiểm tra header lớp liên kết để xác định loại gói tin Nếu giao thức khác sử dụng Snort sử dụng header IP để xác định loại protocol Protocol đóng vai trò việc rõ tiêu chuẩn phần header luật Phần option luật có điều kiện khơng liên quan đến protocol Address Có hai phần địa luật Snort Các địa dùng để kiểm tra nguồn sinh đích đến gói tin Địa địa IP đơn địa mạng Ta dùng từ any để áp dụng luật cho tất địa Địa viết theo sau dấu gạch chéo số bít subnet mask Ví dụ địa 192.168.2.0/24 thể mạng lớp C 192.168.2.0 với 24 bít subnet mask Subnet mask 24 bít 255.255.255.0 Ta biết : • Nếu subnet mask 24 bít mạng lớp C • Nếu subnet mask 16 bít mạng lớp B • Nếu subnet mask bít mạng lớp A • Nếu subnet mask 32 bít địa IP đơn Trong hai địa luật Snort có địa địa nguồn địa lại địa đích Việc xác định đâu địa nguồn, đâu địa đích phụ thuộc vào phần hướng (direction) Ví dụ luật : alert tcp any any -> 192.168.1.10/32 80 (msg: “TTL=100”; ttl: 100;) Luật tạo cảnh báo tất gói tin từ nguồn có TTL = 100 đến web server 192.168.1.10 cổng 80 Ngăn chặn địa hay loại trừ địa Snort cung cấp cho ta kĩ thuật để loại trừ địa cách sử dụng dấu phủ định (dấu !) Dấu phủ định đứng trước địa cho Snort khơng kiểm tra gói tin đến từ hay tới địa Ví dụ, luật sau áp dụng cho tất 25 gói tin ngoại trừ gói có nguồn xuất phát từ mạng lớp C 192.168.2.0 alert icmp ![192.168.2.0/24] any -> any any (msg: “Ping with TTL=100”; ttl: 100;) Danh sách địa Ta định rõ danh sách địa luật Snort Ví dụ bạn muốn áp dụng luật cho tất gói tin trừ gói xuất phát từ hai mạng lớp C 192.168.2.0 192.168.8.0 luật viết sau: alert icmp ! [192.168.2.0/24, 192.168.8.0/24] any -> any any (msg: “Ping with TTL=100”; ttl: 100;) Hai dấu [] cần dùng có dấu ! đứng trước Cổng (Port Number) Số hiệu cổng dùng để áp dụng luật cho gói tin đến từ đến cổng hay phạm vi cổng cụ thể Ví dụ ta sử dụng số cổng nguồn 23 để áp dụng luật cho tất gói tin đến từ server Telnet Từ any dùng để đại diện cho tất cổng Chú ý số hiệu cổng có ý nghĩa giao thức TCP UDP Nếu protocol luật IP hay ICMP số hiệu cổng khơng đóng vai trò Ví dụ : alert tcp 192.168.2.0/24 23 -> any any (content: “confidential”; msg: ”Detected confidential”;) Số hiệu cổng hữu dụng ta muốn áp dụng luật cho loại gói tin liệu cụ thể Ví dụ luật để chống hack cho web ta cần sử dụng cổng 80 để phát công Dãy cổng hay phạm vi cổng: Ta áp dụng luật cho dãy cổng thay cho cổng Cổng bắt đầu cổng kết thúc phân cách dấu hai chấm “:” Ví dụ : alert udp any 1024:2048 -> any any (msg: “UDP ports”;) Ta dùng cổng theo kiểu cận cận dưới, tức sử dụng cổng bắt đầu cổng kết thúc mà thơi Ví dụ “1024:” “:2048” Dấu phủ định 26 áp dụng việc sử dụng cổng Ví dụ sau log tất gói tin ngoại trừ gói tin xuất phát từ cổng 53 log udp any !53 -> any any log udp Sau số cổng thông dụng cổng dịch vụ thơng dụng nhất: • 20 FTP data • 21 FTP • 22 SSH • 23 Telnet • 24 SMTP • 53 DNS Server • 80 HTTP • 110 POP3 • 161 SNMP • 443 HTTPS • 3360 MySQL Hướng – Direction Chỉ đâu nguồn đâu đích, -> hay 192.168.1.0/24 any (flags: A; ack: 0; msg: “TCP ping detected”) Từ khố classtype Các luật phân loại gán cho số độ ưu tiên để nhóm phân biệt chúng với Để hiểu rõ từ khoá ta phải hiểu file classification.config (được bao gồm file snort.conf sử dụng từ khố include) Mỗi dòng file classification.config có cú pháp sau: config classification: name, description, priority đó: • name: tên dùng để phân loại, tên dùng với từ khố classtype luật Snort • description: mơ tả loại lớp • priority: số độ ưu tiên mặc định lớp Độ ưu tiên điều chỉnh từ khố priority phần option luật Snort 28 Ví dụ : config classification: DoS , Denial of Service Attack, luật: alert udp any any -> 192.168.1.0/24 6838 (msg:”DoS”; content: “server”; classtype: DoS;) alert udp any any -> 192.168.1.0/24 6838 (msg:”DoS”; content: “server”; classtype: DoS; priority: 1;) Trong câu lệnh thứ ta ghi đè lên giá trị priority mặc định lớp định nghĩa Từ khố content Một đặc tính quan trọng Snort có khả tìm mẫu liệu bên gói tin Mẫu dạng chuỗi ASCII chuỗi nhị phân dạng kí tự hệ 16 Giống virus, cơng có dấu hiệu nhận dạng từ khố content dùng để tìm dấu hiệu bên gói tin Ví dụ: alert tcp 192.168.1.0/24 any -> ![192.168.1.0/24] any (content: “GET”; msg: “GET match”;) Luật tìm mẫu “GET” phần liệu tất gói tin TCP có nguồn từ mạng 192.168.1.0/24 đến địa không thuộc mạng Từ “GET” hay dùng công HTTP Một luật khác thực nhiệm vụ giống lệnh mẫu liệu lại dạng hệ 16 là: alert tcp 192.168.1.0/24 any -> ! [192.168.1.0/24] any (content: “|47 45 54|”; msg: “GET match”;) Để ý số 47 hệ 16 kí tự ASCII : G tương tự 45 E 54 T Ta dùng hai dạng luật nhớ phả để dạng thập lục phân cặp kí tự || Tuy nhiên sử dụng từ khoá content ta cần nhớ rằng: Đối sánh nội dung phải xử lý tính tốn lớn ta phải cân nhắc sử dụng nhiều luật có đối sánh nội dung Ta sử dụng nhiều từ khố content luật để tìm nhiều dấu hiệu gói tin Đối sánh nội dung cơng việc nhạy cảm Có từ khoá khác hay dùng với từ khoá content dùng để bổ sung thêm điều kiện để tìm kiếm : 29 • offset: dùng để xác định vị trí bắt đầu tìm kiếm (chuỗi chứa từ khố content ) offset tính từ đầu phần liệu gói tin Ví dụ sau tìm chuỗi “HTTP” vị trí cách đầu đoạn liệu gói tin byte: alert tcp 192.168.1.0/24 any -> any any (content: “HTTP”; offset: 4; msg: “HTTP matched”;) • dept : dùng để xác định vị trí mà từ Snort dừng việc tìm kiếm.Từ khoá thường dùng chung với từ khoá offset vừa nêu • Ví dụ: alert tcp 192.168.1.0/24 any -> any any (content: “HTTP”; offset: 4; dept: 40; msg: “HTTP matched”;) • Từ khố giúp cho việc tiêu tốn thời gian tìm kiếm mà đoạn liệu gói tin lớn • content-list: sử dụng với file Tên file (được phần tham số từ khoá này) file text chứa danh sách chuỗi cần tìm phần liệu gói tin Mỗi chuỗi nằm dòng riêng biệt Ví dụ file test có dạng sau: • “test” “Snort” “NIDS” ta có luật sau: alert tcp 192.168.1.0/24 any -> any any (content-list: “test”;msg: “This is my Test”;) Ta dùng kí tự phủ định ! trước tên file để cảnh báo gói tin khơng tìm thấy chuỗi file Từ khố dsize Dùng để đối sánh theo chiều dài phần liệu Rất nhiều công sử dụng lỗi tràn đệm cách gửi gói tin có kích thước lớn Sử dụng từ khố này, ta so sánh độ lớn phần liệu gói tin với số 30 alert ip any any -> 192.168.1.0/24 any (dsize: > 6000; msg: “Goi tin co kich thuoc lon”;) Từ khoá flags Từ khoá dùng để phát xem bit cờ flag bật (thiết lập) phần TCP header gói tin Mỗi cờ sử dụng tham số từ khoá flags Sau số cờ sử dụng từ khoá flags: Flag FIN (Finish Flag) SYN – Sync Flag RST – Reset Flag PSH – Push Flag ACK – Acknowledge Flag URG – Urgent Flag Reserved Bit Reserved Bit No Flag set Bảng Các cờ sử dụng với từ khố flags Kí tự tham số dùng luật Snort F S R P A U Ta sử dụng dấu +, * ! để thực phép toán logic AND, OR NOT bit cờ muốn kiểm tra Ví dụ luật sau phát hành động quét dùng gói tin TCP SYN-FIN: alert tcp any any -> 192.168.1.0/24 any (flags: SF; msg: “SYNC-FIN packet detected”;) Từ khố fragbits Phần IP header gói tin chứa bit dùng để chống phân mảnh tổng hợp gói tin IP Các bit là: • Reserved Bit (RB) dùng để dành cho tương lai • Don’t Fragment Bit (DF): bit thiết lập tức gói tin khơng bị phân mảnh 31 • More Fragments Bit (MF): thiết lập tức phần khác (gói tin bị phân mảnh) gói tin đường mà chưa tới đích Nếu bit khơng thiết lập có nghĩa là phần cuối gói tin (hoặc gói nhất) Điều xuất phát từ nguyên nhân: Nơi gửi phải chia gói tin IP thành nhiều đoạn nhỏ phụ thuộc vào Đơn vị truyền liệu lớn cho phép (Maximum Transfer Units MTU) đường truyền Kích thước gói tin khơng phép vượt q kích thước lớn Do vậy, bit MF giúp bên đích tổng hợp lại phần khác thành gói tin hồn chỉnh Đơi bit bị hacker sử dụng để công khai thác thông tin mạng ta Ví dụ, bit DF dùng để tìm MTU lớn nhỏ đường từ nguồn xuất phát đến đích đến Sử dụng fragbits, ta kiểm tra xem bit có thiết lập hay khơng Ví dụ luật sau phát xem bit DF gói tin ICMP có bật hay khơng: alert icmp any any -> 192.168.1.0/24 any (fragbits: D; msg: “Dont Fragment bit set”;) Trong luật , D dùng cho bit DF, R cho bit dự trữ M cho bit MF Ta dùng dấu phủ định ! luật để kiểm tra bit không bật: alert icmp any any -> 192.168.1.0/24 any (fragbits: !D; msg: “Dont Fragment bit not set”;) 2.4 Chế độ ngăn chặn Snort : Snort – Inline 2.4.1 Tích hợp khả ngăn chặn vào Snort Snort-inline nhánh phát triển Snort William Metcalf khởi xướng lãnh đạo Đến phiên 2.3.0 RC1 Snort, inline-mode tích hợp vào thức snort.org phát hành Sự kiện biến Snort từ IDS túy trở thành hệ thống có khả IPS, chế độ tùy chọn mặc định Ý tưởng inline-mode kết hợp khả ngăn chặn iptables vào bên snort Điều thực cách thay đổi môđun phát môđun xử lý cho phép snort tương tác với iptables Cụ thể, việc chặn bắt gói tin Snort thực thông qua Netfilter thư viện libpcap thay việc sử dụng ipqueue thư viện libipq Hành động ngăn chặn snortinline thực devel-mode iptable 32 2.4.2 Những bổ sung cho cấu trúc luật Snort hỗ trợ Inline mode Để hỗ trợ tính ngăn chặn Snort-inline, số thay đổi bổ sung đưa vào luật Snort Đó đưa thêm hành động DROP, SDROP, REJECT thay đổi trình tự ưu tiên luật Snort DROP Hành động DROP yêu cầu iptables loại bỏ gói tin ghi lại thông tin hành động LOG SDROP Hành động SDROP tương tự hành động DROP, điều khác biệt chỗ Snort không ghi lại thông tin hành động LOG REJECT Hành động REJECT yêu cầu iptables từ chối gói tin, có nghĩa iptables loại bỏ gửi lại thông báo cho nguồn gửi gói tin Hành động REJECT khơng ghi lại bất cử thơng tin Trình tự ưu tiên luật Trong phiên gốc, trình tự ưu tiên hành động Snort : activation->dynamic-> alert->pass->log Trong inline-mode, trình tự ưu tiên thay đổi sau : activation->dynamic->pass->drop->sdrop->reject->alert->log CHƯƠNG III: DEMO CÀI ĐẶT VÀ CẤU HÌNH SNORT TRÊN, TH Ử NGHI ỆM KHẢ NĂNG PHẢN ỨNG CỦA SNORT IDS/IPS 33 ... Có hai cách tiếp cận việc phát phòng chống xâm nhập : phát lạm dụng (Misuse Detection Model): Hệ thống phát xâm nhập cách tìm kiếm hành động tương ứng với kĩ thuật xâm nhập biết đến (dựa dấu hiệu... công hệ thống phát bất thường (Anomaly Detection Model): Hệ thống phát xâm nhập cách tìm kiếm hành động khác với hành vi thơng thường người dùng hay hệ thống 1.3.1 Phát lạm dụng Phát lạm dụng phát. .. phát kẻ xâm nhập cố gắng đột nhập vào hệ thống mà sử dụng số kỹ thuật biết Nó liên quan đến việc mơ tả đặc điểm cách thức xâm nhập vào hệ thống biết đến, cách thức mô tả mẫu Hệ thống phát lạm