Xây dựng, quản lý, thực thi và cập nhật các tập luật

88 551 3
Xây dựng, quản lý, thực thi và cập nhật các tập luật

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Xây dựng, quản lý, thực thi và cập nhật các tập luật

LỜI CẢM ƠN Trước hết, xin chân thành cảm ơn giúp đỡ nhiệt tình thầy cô giáo trường Đại Học Công Nghệ - Đại Học Quốc Gia Hà Nội tận tình dạy dỗ bảo chúng tơi suốt khóa học, cảm ơn tập thể lớp K47CA đặc biệt thầy giáo, Thạc sỹ Nguyễn Hồng Anh, người nhiệt tình hướng dẫn, giúp đỡ chúng tơi st q trình học tập nghiên cứu Cuối muốn gửi lời cảm ơn tới gia đình người thân quan tâm, động viên, chăm lo suốt trình học tập Do thời gian điều kiện thiết bị có hạn nên khóa luận khơng tránh khỏi thiếu sót, chúng tơi mong muốn nhận ý kién đóng góp thầy bạn Hà nội, tháng năm 2006 Tóm tắt khóa luận Khóa luận chia thành hai phần Phần I giới thiệu hệ thống phát xâm nhập (Intrusion detecsion system) Phần II trình bày cụ thể hệ thống phát xâm nhập Snort Phần I trình bày khái niệm hệ thống phát xâm nhập (IDS), loại IDS, thành phần nguyên lý hoạt động hệ thống IDS Phần I giới thiệu số kiểu cơng phổ biến Internet Phần II trình bày phận cấu thành Snort, nguyên lý hoạt động phối hợp phận cấu thành Snort Phần II đặc biệt sâu cách xây dựng, quản lý, thực thi cập nhật tập luật Mục lục: Mở đầu Theo Mạng An toàn thông tin VSEC (The VietNamese security network), 70% website Việt Nam bị xâm nhập, 80% hệ thống mạng bị hacker kiểm sốt Điều cho thấy sách bảo mật hệ thống thông tin Việt Nam chưa quan tâm đầu tư mức Khi hệ thống thông tin bị hacker kiểm sốt hậu khơng thể lường trước Đặc biệt, hệ thống hệ thống xung yếu đất nước hệ thống phủ, hệ thống ngân hàng, hệ thống viễn thơng, hệ thống thương mại điện tử thiệt hại uy tín, kinh tế lớn Trong bối cảnh đó, hệ thống phát xâm nhập ngày trở nên phổ biến đóng vai trị quan trọng khơng thể thiếu sách bảo mật an tồn thơng tin hệ thống thông tin Các sản phẩm phát xâm nhập đa dạng phong phú Nó phần cứng phần mềm Trong số sản phẩm phát xâm nhập mềm Snort ln lựa chọn hàng đầu người làm an tồn thơng tin Với lý kể chúng tơi định chọn khóa luận tốt nghiệp “Xây dựng hệ thống phát xâm nhập với Snort cho hệ thống thông tin” Phần I: Hệ thống phát xâm nhập (Intrusion detecsion system) Tổng quan hệ thống phát xâm nhập: 1.1 Định nghĩa hệ thống phát xâm nhập 1.1.1 Khái niệm hệ thống phát xâm nhập: Instrusion: xâm nhập vào hệ thống cách trái phép Ví dụ user truy cập vào hệ thống thao tác tài khoản root không phép Hệ thống IDS (Intrusion detection system): Là công cụ, phương thức để giúp nhận biết, đánh giá, báo cáo hành động trái phép mạng Chúng ta so sánh firewalls với khố cửa, intrusion detection với hệ thống cảnh báo ngơi nhà intrusion prevention với chó gác cửa Giả sử có kho hàng với nhiều tài liệu bí mật muốn bảo vệ với hệ thống cảnh báo, cửa khố, hệ thống camera theo rõi Cửa có khố ngăn chặn cá nhân trái phép xâm nhập vào kho hàng Bản thân chúng không cảnh báo xâm nhập, chúng ngăn cản không cho truy nhập trái phép Hệ thống cảnh báo cảnh báo trường hợp người xâm nhập tìm cách vào kho Hệ thống cảnh báo khơng làm để ngăn chặn xâm nhập này, chúng thông báo cho biết khả có xâm nhập Trong số trường hợp, Những chó bảo vệ có khả ngăn chặn xâm nhập việc cơng người xâm nhập Khố cửa, hệ thống cảnh báo, chó gác cửa hoạt động hoạt động độc lập bổ sung cho nhằm mục đích bảo vệ kho hàng Thực tế Firewall, IDS IPS có cơng nghệ khác chúng phối hợp hoạt động để đưa cảnh báo ngăn chặn xâm nhập trái phép vào hệ thống mạng Hơn nữa, Thực thi biện pháp làm tăng mức độ tồn cho nhà kho Trong ví dụ nhà kho, hiệu đặt chng cảnh báo khố tất cửa cửa sổ, tốt đặt máy phát xâm nhập bên ngơi nhà Tốt có chó bên ngồi để theo dõi cơng kẻ xâm nhập IDS phương pháp thực lớp chương trình an ninh Sử dụng cách tiếp cận lớp, phòng thủ theo độ sâu, dựa phân tích rủi ro phương pháp sử dụng rộng rãi hầu hết chương trình bảo vệ thơng tin Có nghĩa mạng lên có nhiều lớp bảo vệ, với lớp riêng có chức riêng biệt, để bổ sung cho tất chiến lược bảo vệ tổ chức Hình sau miêu tả cách tiếp cận bảo mật theo độ sâu, bảo vệ nhiều mức Hình 1.1 Bảo mật theo độ sâu IDS bao gồm sensor đặt nút mạng Chúng phân tích gói tin tìm đặc điểm bất thường Nếu phát điểm bất thường trùng với đặc điểm tập kiểu cơng biết, đưa cảnh báo, ghi lại cơng IDS tương tự phần mềm chống virus, sử dụng dấu hiệu biết để nhận traffic có mục đích cơng 1.1.2 Các khái niệm thường dùng hệ thống phát xâm nhập: 1.1.2.1 Signature Là thành phần bên gói liệu Một signature dùng để phát nhiều dạng cơng Ví dụ như, gói liệu gởi đến webserver mà có thành phần “scripts/iisadmin” cảnh báo “Có thể Web Server bị cơng” Signature diện gói tin theo định dạng khác tùy vào kiểu công khác Ví dụ, IP header, transport layer header (TCP hay UDP header), application header, payload,… IDS dựa vào signature để phát công Các nhà cung cấp IDS phải cập nhập Signature kiểu cơng phát Đối với Snort ta tự cập nhập signature 1.1.2.2 Alert Khi IDS nhận thấy cơng, cảnh báo cho người quản trị nhiều cách khác gọi alert 1.1.2.3 Log “Log message” thơng thường lưu trữ file Ví dụ Snort, thư mục mặc định chứa file là: /var/log/snort, thay đổi thư mục mặc định File dạng text hay binary Nếu dạng binary dùng cơng cụ để xem tcpdump 1.1.2.4 False Alarm Là cảnh báo tạo dấu hiệu hành động xâm nhập (ngồi ý muốn) Ví dụ, host bên hệ thống bị cấu hình sai đơi dẫn đến việc tạo cảnh báo sai Để tránh nó, cần phải thay đổi sử dụng luật mặc định khác Trong vài trường hợp, phải disable số luật để tránh cảnh báo sai 1.1.2.5 Sensor Bất kỳ thiết bị IDS chạy gọi sensor Ví dụ máy tính hay thiết bị có Snort chạy 1.2 Phân loại hệ thống IDS 1.2.1 Phân loại IDS Hệ thống phát xâm nhập bao gồm hai loại: Signature –based intrusion Detection system: Mỗi kẻ xâm nhập bất hợp pháp vào hệ thống có chữ ký xác nhận (signature) virus máy tính bị phát phần mềm Bằng cách sử dụng tập hợp signatures luật định trước, IDS có khả tìm thấy ghi nhận dấu hiệu khả nghi đưa lời cảnh báo cần thiết Anomaly-based intrusion detection system: Kỹ thuật dựa vào header gói khả nghi Trong số trường hợp phương pháp tỏ hiệu so với signature-based IDS 1.2.2 Các hình thức IDS IDS chia làm loại: host-based intrusion-detection system (HIDS), network-based intrusion-detection system (NIDS), lai hai hệ thống distributed intrusion detection system (DIDS) Tùy vào loại mà chúng có cách làm việc khác Một hệ thống HIDS yêu cầu số phần mềm chúng cài đặt hệ thống quét tất tài nguyên; Quét log hệ thống (sys log) log kiện (event log) Ghi hành động cơng mà phát vào sở liệu bảo vệ, kiểm tra xem có hành động so sánh giống với ghi hành động công lưu sở tri thức, chúng đưa cảnh báo HIDS khác với NIDS điểm chính: Một HIDS bảo vệ cho hệ thống chứa mà thơi khơng phải toàn phân đoạn mạng NIDS Card giao tiếp mạng (NIC) HIDS thường họat động chế độ nonpromiscuous Điều đem lại nhiều thuận lợi card giao tiếp mạng hoạt động chế độ promiscuous Ưu điểm HIDS cho phép cấu hình riêng biệt chặt chẽ cho host khác Ví dụ khơng cần phải cấu hình cho việc phát Network File System (NFS) cho host khơng sử dụng NFS Hình sau cho ta thấy hệ thống HIDS: Hình 1.2 Host Intrusion Detection System Hệ thống NIDS thường thường hệ thống nội tuyến mạng, phân tích gói tin mạng để tìm cơng NIDS nhận tất gói tin phân đoạn mạng riêng biệt, bao gồm mạng chuyển mạch thông qua vài phương thức, taps giám sát cổng (port mirroring) Nó xây dựng luồng traffic để phân tích tìm hành động có tính phá hoại Hầu hết NIDS trang bị chức để ghi lại hành động báo cáo cảnh báo Hơn nữa, số router có khả NIDS Hình 1.3 Network Intrusion Detection System Trong hình thức việc giám sát hoạt động mạng tiến hành toàn phân đoạn mạng hay mạng toàn hệ thống Điều thực cách thay đổi chế độ hoạt động card giao tiếp mạng NIDS Như ta biết, thông thường card giao tiếp mạng (NIC) chế độ nonpromiscuos, cho phép gói tin có địa MAC (Medium Access Control) đích địa MAC qua, cịn gói tin khác bị loại bỏ Vì để quan sát toàn hoạt động mạng, NIDS NIC phải đặt chế độ promiscuous nhờ tất gói tin qua DIDS ( Distributed Intrusion Detection System) Là kết hợp NIDS sensors với NIDS HIDS sonsor Mỗi sensor tạo attack log uppload cho máy trung tâm nơi có chứa database server để xử lý Hình 1.4 Distributed Intrusion Detection System Để thấy khác biệt NIDS HIDS ta xem bảng sau: Bảng 1.1 So sánh NIDS HIDS: NIDS HIDS Hoạt động phạm vi rộng (theo dõi traffic mạng) Hoạt động phạm vi hẹp ( theo dõi hoạt động host) Dễ cài đặt Khó cài đặt Khả phát công từ Khả phát cơng từ bên ngồi vào bên Chi phí cài đặt thấp Phát xâm nhập dựa ghi phạm vi tồn mạng Chi phí cài đặt lớn Phát xâm nhập dựa ghi phạm vi host đơn lẻ Phân tích header gói tin Khơng lấy thơng tin header gói tin Tương tác gần thời gian Chỉ tương tác file log đáng nghi tạo thực Độc lập hệ điều hành Phát công mạng phân tích gói tin Phụ thuộc vào hệ điều hành Phát công nội mạng trước chúng công mạng Xử lý tảng cho IDS cách NIDS HIDS tập hợp liệu tiền xử lý phân loại chúng Thực thi phân tích thống kê để xác định xảy hành động khơng bình thường, phù hợp với sở tri thức tức phát dấu hiệu cơng cảnh báo gửi 1.3 Hoạt động IDS Hoạt động IDS nói chung sau: Hình 1.5 Sơ đồ hoạt động IDS 10 Mặc định disable Nó tạo thơng báo biết cơng nhằm vào web servers Có thể enable nó, thường khơng tạo nhiều cảnh báo sai web-cgi.rules Tạo cảnh báo phát công nhằm vào dịch vụ CGI web-client.rules Tạo cảnh báo phát giao tiếp có khả gây ảnh hưởng nguy hiểm tới web client Hầu hết cảnh báo dựa giao tiếp Microsoft Outlook Web Access thường tạo cảnh báo sai Nên disable tập luật web-coldfusion.rules Sinh cảnh báo phát công vào ứng dụng web Coldfusion web-frontpage.rules Tạo cảnh báo phát công nhằm vào Frontpage web web-iis.rules Phát công vào máy chủ web chạy Microsoft Internet Information Server (IIS) web-misc.rules Các luật phát công web web-php.rules Phát công vào Web server chạy ứng dụng PHP x11.rules Phát công vào phiên giao tiếp X-Window 4.3 Tự xây dựng tập luật Một luật Snort có hai thành phần Header tùy chọn 4.3.1 Các Header luật Các header phần luật, header định nghĩa gói tin chứa Header bao gồm (hành động, giao thức, địa IP nguồn, port nguồn, hướng di chuyển gói tin, địa IP đích, port đích) Có thể xem phần mô tả kết nối mạng, bốn thành phần xác định kết nối là: source IP, source port, destination IP, destination port Header bao gồm 74 hướng gói tin đó, xác định -> Dưới phần luật chuẩn dùng để đưa cảnh báo có hành động quét SYN FIN diễn alert tcp $EXTERNAL_NET any -> $HOME_NET any (msg:"SCAN SYN FIN";flags:SF; reference:arachnids,198; classtype:attempted-recon; sid:624; rev:1;) Phần nằm dấu ngoặc đơn “(“ “)” tùy chọn luật Đây nơi xác định thông báo mặc định, cờ kiểu công Các tùy chọn luật trình bày phần sau • Phần header trường hành động (action field), ví dụ cảnh báo định nghĩa cho hành động luật so sánh trùng khớp Các giá trị hành động bao gồm: alert Đưa cảnh báo ghi log so sánh trùng khớp log Chỉ ghi log gói tin so sánh trùng khớp pass Bỏ qua gói tin so sánh trùng khớp activate Cảnh báo sau kích hoạt luật tập luật dynamic Bỏ qua kích hoạt luật activate • Trường phần Protocol Các giao thức IP, TCP, UDP ICMP (những giao thức cập nhật phiên bao gồm ARP, IGPR, GRE, OSPF, RIP…) • Source IP phần Source IP biến danh sách địa IP Là địa IP bên gửi gói tin Nhiều địa IP dùng trường hợp cách dùng danh sách địa IP, danh sách địa IP netmask chúng nằm dấu ngoặc vuông phân cách dấu phẩy Ví du: alert tcp [64.147.128.0/19,198.60.72.0/23] any -> $HOME_NET any • Port: Sau địa IP port Cách viết port xác định thông qua ví dụ sau: - any : port 75 - 23 xác định cổng telnet - 21:23 cổng từ 21 đến 23 - :23 cổng nhỏ 23 - 23: Các cổng lớn 23 Khi định nghĩa cho giao thức ICMP khơng cần giá trị port sau giao thức ICMP Ví dụ: Xác định gói tin với giao thức tcp, địa IP nguồn 64.147.128.0/19,198.60.72.0/23, port nguồn 21 đến 23 (FTP đến telnet) tới mạng đích HOME_NET với cổng đích bất kỳ: alert tcp [64.147.128.0/19,198.60.72.0/23] 21:23 -> $HOME_NET any • Chiều giao tiếp (Traffic Direction): Sau phần port chiều giao tiếp, chiều di chuyển gói tin bao gồm -> • Trường cuối địa IP đích port đích Các viết giống viết địa IP nguồn port nguồn 4.3.2 Các tùy chọn luật Phần lại luật tùy chọn xác định phần liên quan mạng gói tin Nó thường thơng báo tới gói tin để Snort tìm kiếm gía trị xác định gói tin xem có khả gây hại Những lựa chọn có hiệu lực header có giá trị tương ứng với nội dung gói tin Nếu có tương ứng, Snort thường tạo cảnh báo tới file cảnh báo thư mục logging Snort Dữ liệu gói tin ghi lại Điều chắn cảnh xác định, người quản trị hệ thống xem lại Ví dụ: alert tcp $EXTERNAL_NET any -> $HOME_NET any (msg:"SCAN SYN FIN";flags:SF; reference:arachnids,198; classtype:attempted-recon; sid:624; rev:1;) Phần tùy chọn luật là: (msg:"SCAN SYN FIN";flags:SF; reference:arachnids,198; classtype:attempted-recon; sid:624; rev:1;) Phần tùy chọn phải nằm dấu ngoặc đơn “(” “)” Các tùy chọn cách dấu chấm phẩy “;” Các tùy chọn bỏ trống, luật “alert ip any any -> any any” luật hợp lệ Định dạng phần tùy chọn nằm dấu ngoặc đơn sau: • Thơng báo (msg) loại cơng, bao gồm từ khóa giá trị khóa “msg” Phần giá trị khóa viết cặp dấu nháy kép “” sau dấu hai chấm “:” Ví dụ msg:”SCAN SYN FIN” Chuỗi giá trị thông báo người quản trị hệ thống định Vì vậy, thơng báo nên có ý nghĩa, dễ hiểu, mơ tả xác hành động 76 cơng Nếu khơng làm rối tập luật số lượng cảnh báo lớn lên theo thời gian • Cờ: Sau phần thơng báo cờ (flags) Các cờ có khơng có tập luật phải phụ thuộc vào loại giao thức (protocol) Chẳng hạn cờ SYN, ACK, FIN phải thuộc giao thức tcp nằm luật cho giao thức IP Trong ví dụ trên, luật tìm kiếm header TCP cờ SYN FIN Một vài trường hợp khác dùng phần nối tiếp sau cờ Ví dụ, dấu + xác định cờ đứng sau đứng sau cờ xác định (nghĩa độ ưu tiên cờ xác định dấu + không cờ xác định rõ ràng) Kí tự * tương ứng với tất cờ, ngược lại dấu ! để phủ nhận loại cờ Ví dụ, luật đây, cờ ACK chọn, luật phù hợp với cờ khác theo sau nó: alert tcp $HOME_NET 146 -> $EXTERNAL_NET 1024: (msg:"BACKDOOR Infector.1.x"; content: "WHATISIT"; flags: A+; reference:arachnids,315; sid:117; classtype:misc-activity; rev:3;) Các tùy chọn thường dùng: msg: < sample message>; Tùy chọn thông báo mô tả hành động công Đây nơi cho phép nhà quản trị hệ thống mô tả chi tiết liên quan đến cảnh báo Ví dụ, thơng báo “BACKDOOR attempt” mơ tả loại công alert tcp $EXTERNAL_NET any -> $TELNET_SERVERS 23 ( sid: 210; rev: 3; msg: "BACKDOOR attempt"; flow: to_server,established; content: "backdoor"; nocase; classtype: attempted-admin;) flags: < flags>; Tùy chọn xác định cờ so sánh với gói tin: Dưới cờ giao thức TCP: A = ACK F = FIN P = PSH R = RST S = SYN U = URG = reserved bit = most significant bit 77 = no flags Lựa chọn dùng kí tự +, *, ! Ví dụ, F+ nghĩa cờ FIN dùng cờ khác dùng sau SA* nghĩa SYN ACK, cờ khác chọn Dấu "!" phủ nhận việc sử dụng cờ Ví dụ: !RP; khơng dùng cờ RST PSH, việc tìm kiếm gói tin bỏ qua RST PSH Nhiều lựa chọn cờ sử dùng cho chung mục đích cụ thể content: < straight text>; content: < hex data>; Phần tùy chọn dùng để xác định chuỗi text chuỗi HEX với data payload Đây phương thức để phát công tràn đệm so sánh chuỗi nhị phân Tùy chọn có phân biệt chữ hoa chữ thường (case-sensitive), để không phân biệt chữ hoa chữ thường ta dùng nocase Dùng ký tự pipe (|) trường hợp liệu HEX Ta sử dụng nhiều chuỗi luật Ví dụ 1: alert tcp $HTTP_SERVERS $HTTP_PORTS -> $EXTERNAL_NET any ( sid: 495; rev: 6; msg: "ATTACK-RESPONSES command error"; flow: from_server,established; content: "Bad command or filename"; nocase; classtype: bad-unknown;) Luật tìm phần liệu gói tin chuỗi "Bad command or filename" Ví dụ 2: alert tcp $HOME_NET 22 -> $EXTERNAL_NET any ( sid: 1810; rev: 3; msg: "ATTACK-RESPONSES successful gobbles ssh exploit (GOBBLE)"; flow: from_server,established; content: "|2a|GOBBLE|2a|"; reference: bugtraq,5093;classtype: successful-admin;) Luật tìm chuỗi text nhị phân chứa giá trị 2A theo sau kí tự "GOBBLE", cuối kết thúc giá trị hex 2A khác Bốn giá trị (offset, depth, nocase, and regex) sử dụng để hỗ trợ tùy chọn content: offset: < value>; offset định nghĩa vị trí bắt đầu tìm kiếm data payload Offset luôn theo sau tùy chọn content Giá trị mặc định offset byte data payload gói tin Ví dụ: 78 alert tcp $HOME_NET 902 -> $EXTERNAL_NET any ( sid: 1760; rev: 2; msg: "OTHER- IDS ISS RealSecure event collector connection attempt"; flow: from_server,established; content: "6ISS ECNRA Built-In Provider, Strong Encryption";offset: 30; depth: 70; nocase; classtype: successful-recon-limited;) Luật tìm chuỗi "6ISS ECRNA Built-In Provider, Strong Encryption" từ vị trí byte thứ 30 data payload depth: < value>; Giới hạn chiều dài tìm kiếm từ offset, tìm kiếm từ offset đến depth tồn payload Nếu khơng có lựa chọn mặc định tìm chuỗi, từ đầu đến cuối Ví dụ giới hạn chiều dài bytes kiểm tra từ offset chọn Ở chiều dài chọn 70bytes Ví dụ: alert tcp $HOME_NET 2998 -> $EXTERNAL_NET any ( sid: 1761; rev: 2; msg: "OTHER- IDS ISS RealSecure daemon connection attempt"; flow: from_server,established; content: "6ISS ECNRA Built-In Provider, Strong Encryption"; offset: 30; depth: 70; nocase; classtype: successful-recon-limited;) Luật tìm chuỗi "6ISS ECNRA Built-In Provider, Strong Encryption" từ vị trí offset 30 đến vị trí depth 70 nocase; Khi sử dụng tùy chọn nội dung tìm kiếm content khơng phân biệt chữ hoa chữ thường Ví dụ: alert tcp $HOME_NET any $EXTERNAL_NET 6699 ( sid: 561; rev: 6; msg: "P2P Napster Client Data"; flow: established; content: ".mp3"; nocase; classtype: policy-violation;) Luật tìm file kết thúc với hậu tố “.mp3” ,”.Mp3”,”.MP3” Không phân biệt chữ hoa chữ thường regex Cho phép tìm kiếm nội dung ký tự thay Ký tự “*” thay cho chuỗi bất kỳ, ký tự “?” thay cho ký tự Ví dụ, content:”string*”;regex; tìm chuỗi bắt đầu string, content:”string?”;regex; tìm chuỗi ký tự ký tự đầu string, ký tự thứ ký tự regex lấy ý tưởng từ Perl Compatible Regular Expressions logto: < file_name>; Option ghi log liệu cụ thể với tên /var/log/snort cho phép dễ dàng tổ chức định dạng thư mục với tùy chọn 79 -l Ví dụ, luật có logto: “ICMP”, gói tin tương ứng với luật lưu thư mục /var/log/snort/ICMP Tùy chọn thường khơng tìm thấy tập luật tải SnortCenter Nó định dạng người dùng Sau luật ghi log kết nối telnet tới dãy địa IP 192.168.10.0/24 lưu /var/log/snort/telnets log tcp any any -> 192.168.10.0/24 23 (logto:"telnets";) ttl: < number>; Tùy chọn kiểm tra time to live gói tin tới Trường time to live với giá trị nghĩa ICMP traceroute Ví dụ: alert icmp $EXTERNAL_NET any -> $HOME_NET any ( sid: 385; rev: 3; msg: "ICMP traceroute"; ttl: 1; itype: 8; reference: arachnids,118; classtype: attempted-recon;) id: < number>; Giá trị identification IP header Trong IP header identification giá trị 16 bit Khi gói tin bị phân mảnh gói tin bị phân mảnh từ gói tin có giá trị identification Ví dụ: alert tcp $EXTERNAL_NET any -> $HOME_NET any (msg:"DOS Land attack"; id:3868; seq: 3868; flags:S; reference:cve,CVE-1999-0016; classtype:attempted-dos; sid: 269; rev:3;)dsize: [] < number>; Tùy chọn dsize xác định kích thước payload Các gói tin phiên giao tiếp thơng thường có giới hạn kích thước Ví dụ gói tin ICMP thường có kích thước khơng lớn Ví dụ: alert icmp $EXTERNAL_NET any -> $HOME_NET any ( sid: 499; rev: 3; msg: "ICMP Large ICMP Packet"; dsize: >800; reference: arachnids,246; classtype: bad-unknown;) Luật tìm gói tin có kích thước lớn 800 byte ack: < number>; Tùy chọn kiểm tra số acknowledgment number Tùy chọn ack sử dụng để kiểm tra fingerprint số công cụ quét mạng (chẳng hạn Nmap ping) Ví dụ: 80 alert tcp $EXTERNAL_NET any -> $HOME_NET any ( sid: 628; rev: 2; msg: "SCAN nmap TCP"; flags: A,12; ack: 0; reference: arachnids,28; classtype: attempted-recon;) Luật tìm gói tin có giá trị acknowledgment number seq: < hex_value>; Tùy chọn kiểm tra số Sequence number TCP Một số kiểu công từ chối dịch vụ sử dụng số sequence number xác định Dưới ví dụ backdoor Trojan quét sử dụng TCP sequence number: alert tcp $EXTERNAL_NET 80 -> $HOME_NET 1054 ( sid: 106; rev: 4; msg: "BACKDOOR ACKcmdC trojan scan"; flags: A,12; seq: 101058054; ack: 101058054; reference: arachnids,445; classtype: misc-activity;) itype: < number>; Tùy chọn dùng để xác định loại ICMP cụ thể Trong gói tin ICMP loại ICMP có chiều dài 1byte byte gói ICMP Ví dụ tìm ICMP có loại (echo reply) alert icmp $EXTERNAL_NET any $HOME_NET any ( sid: 1855; rev: 2; msg: "DDOS Stacheldraht agent->handler (skillz)"; content: "skillz"; itype: 0; icmp_id: 6666; reference: url,staff.washington.edu/dittrich/misc/stacheldraht.analysis; classtype: attempteddos;) icode: < number>; Tùy chọn thường kèm với tùy chọn itype Tùy chọn xác định byte thứ gói tin ICMP, trường code gói tin ICMP Ví dụ tìm gói ICMP có type = 3, code = (Host unreachable) alert icmp any any -> any any ( sid: 485; rev: 2; msg: "ICMP Host Unreachable (Communication Administratively Prohibited)"; itype: 3; icode: 1; classtype: misc-activity;) icmp_id: < number>; Phần tương tự bên cạnh lựa chọn icode áp dụng cho lựa chọn ID ICMP Nó dùng để kết hợp với requests response trả lời qúa trình Ping session: [printable|all]; Dùng lựa chọn sau để chụp toàn liệu phiên giao tiếp TCP Nó hữu ích việc theo dõi người dùng xác định làm hệ thống mạng Sử dụng hai giá trị printable all Printable hiển thị tất ký tự bao gồm ký tự ẩn sử dụng cho việc nghe 81 password Với giá trị all ký tự nonoprintable ghi thành dạng hex ipopts: < ip_option>; IP options không thường xuyên dùng phiên giao tiếp bình thường TCP/UDP ICMP Tùy chọn IP sử dụng để ghi hop (bước đi) mà gói tin qua Bảng 2.2 : Các giá trị tùy chọn ipopts rr Record route eol End of list nop No op ts Timestamp sec IP security option lsrr Loose source routing ssrr Strict source routing satid Stream identifier Ví dụ: alert icmp $EXTERNAL_NET any -> $HOME_NET any ( sid: 475; rev: 1; msg: "ICMP traceroute ipopts"; ipopts: rr; itype: 0; reference: arachnids,238; classtype: attempted-recon;) fragbits: < flag_settings>; Tùy chọn fragbits sử dụng chọ phân mảnh gói tin bit không sử dụng IP header Trong IP header có bit dùng cho việc này: Bảng 2.3 : Các giá trị tùy chọn phân mảnh gói tin 82 R Reserved bit D Don't fragment bit M More fragments bit Ví dụ tìm gói tin ip có bit reserved thiết lập: alert ip $EXTERNAL_NET any -> $HOME_NET any ( sid: 523; rev: 4; msg: "BAD-TRAFFIC ip reserved bit set"; fragbits: R; classtype: misc-activity;) content_list: < filename>; Tùy chọn dùng với tùy chọn react Nó cung cấp khả tìm tập hợp chuỗi payload gói tin Nó hữu ích việc tạo lọc tạo danh sách hành vi không hợp lệ Một danh sách bao gồm nhiều từ như: warez, sploits, hackz, pr0n… Trong file từ liệt kê dòng react: ; Để sử dụng tùy chọn này, biên dịch Snort phải có tùy chọn –flexresp kèm theo lệnh /configure Tùy chọn cần thêm số thư viện libnet Tùy chọn sử dụng với tùy chọn content-list Tùy chọn cho phép Snort đóng kết nối gửi cảnh báo tới người dùng Ví dụ: alert tcp any any 192.168.10.0/24 80 ( content-list: " adult"; msg: "Warning, adult content"; react: block, msg;) uricontent: [!] "content string"; Tùy chọn sử dụng để tìm chuỗi (tương tự tùy chọn content) Tuy nhiên, tùy chọn tìm nội dung URI gửi đến server Luật cảnh báo có lệnh gửi tới server alert tcp $EXTERNAL_NET any -> $HTTP_SERVERS $HTTP_PORTS ( sid: 1328; rev: 4; msg: "WEB-ATTACKS ps command attempt"; flow: to_server,established; uricontent: "/bin/ps"; nocase; classtype: web-applicationattack;) ip_proto: [!] < name or number>; Trong IP header có trường bit protocol Nó xác định giao thức lớp IP Tùy chọn sử dụng để so sánh trùng khớp với giá trị protocol ip header Giá trị tên số Ví dụ, số lỗi phát hệ điều hành Cisco router Các Giao thức 53, 55, 57 103 sử dụng để chụp gói tin gây lỗi 83 alert ip $EXTERNAL_NET any -> $HOME_NET any (msg:"Cisco IPv4 DoS"; classtype:attempted-dos; ip_proto 53;) alert ip $EXTERNAL_NET any -> $HOME_NET any (msg:"Cisco IPv4 DoS"; classtype:attempted-dos; ip_proto 55;) alert ip $EXTERNAL_NET any -> $HOME_NET any (msg:"Cisco IPv4 DoS"; classtype:attempted-dos; ip_proto 77;) alert ip $EXTERNAL_NET any -> $HOME_NET any (msg:"Cisco IPv4 DoS"; classtype:attempted-dos; ip_proto 103;) Để biết thêm thông tin số, tên giao thức xem file /etc/protocols hệ thống Unix file c:\WINNT\system32\drivers\etc\protocol hệ thống Window Dưới liên kết tham khảo tên giao thức số tương ứng: http://www.iana.org/assignments/protocol-numbers sameip; Tùy chọn dùng để tìm địa ip nguồn địa ip đích giống alert ip any any -> any any ( sid: 527; rev: 4; msg: "BAD-TRAFFIC same SRC/DST"; reference: cve,CVE-1999-0016; reference: url,www.cert.org/advisories/CA-1997-28.html; classtype: bad-unknown; sameip;) stateless; Một số cảnh báo sinh từ phiên giao tiếp TCP dựa trạng thái gói tin Như vậy, phải chờ q trình bắt tay bước hoàn thành Trong trường hợp stateless cần kiểm tra trạng thái gói tin đưa cảnh báo Luật sau kiểm tra gói tin tcp có tất cờ thiết lập đưa cảnh báo mà khơng cần hồn tất q trình bắt tay bước: alert tcp any any -> any any ( msg: "All TCP flags set"; flags: 12UAPRSF; stateless;) sid: < snort rules id>; SID thường cần hữu ích để cơng cụ SnortCenter phân tích thơng báo Nó khơng hiệu để nhận dấu hiệu Vì cảnh báo có ID, dễ chia mục, lựa chọn đơn giản cung cấp SID cho luật chương trình ACID SnortCenter Bình thường Snort cung cấp SID cho cảnh báo Người dùng không cần thiết phải tự chọn: alert tcp $EXTERNAL_NET any -> $SQL_SERVERS 1433 ( sid: 704; rev: 5; msg: "MS-SQL xp_sprintf possible buffer overflow"; flow: to_server,established; 84 content: "x|00|p|00|_|00|s|00|p|00|r|00|i|00|n|00|t|00|f|00|"; nocase; reference: bugtraq,1204; classtype: attempted-user;) rev: < revision integer>; Lựa chọn số sửa đổi luật, luật phát triển dấu hiệu xác thêm vào, cần thêm vào cho số sửa đổi Cách giúp định dạng version luật dùng alert tcp $SMTP_SERVERS any -> $EXTERNAL_NET 25 ( sid: 721; rev: 4; msg: "VIRUS OUTBOUND pif file attachment"; flow: to_server,established; content: "Content-Disposition|3a|"; content: "filename=|22|"; distance: 0; within: 30; content: ".pif|22|"; distance: 0; within: 30; nocase; classtype: suspicious-filenamedetect;) classtype: < class name> : Lựa chọn cung cấp thêm thông tin kiện không thực sinh cảnh báo Điều cho phép danh sách tạo từ file classification.config Snort.Tất classtypes kết thúc với có độ ưu tiên cao - : High Priority - : Medium Priority - : Low Priority - : No Priority Xem chi tiết file classification.config Bảng 2.4 : Các giá classtype có mức ưu tiên attempted-user Attempted User Privilege Gain unsuccessful-user Unsuccessful User Privilege Gain successful-user Successful User Privilege Gain attempted-admin Attempted Administrator Privilege Gain successful-admin Successful Administrator Privilege Gain shellcode-detect Executable code was detected trojan-activity A Network Trojan was detected 85 attempted-user Attempted User Privilege Gain web-application-attack Web Application Attack kickass-porn Porn Content Requested policy-violation Potential Corporate Privacy Violation Dưới ví dụ sử dụng classtype: alert tcp $HOME_NET any -> $EXTERNAL_NET $HTTP_PORTS ( sid: 1233; rev: 7; msg: "WEB-CLIENT Outlook EML access"; flow: from_client,established; uricontent: " eml"; classtype: attempted-admin;) priority: < priority integer>; File classification.config gán mức độ ưu tiên High, Medium, Low None cho tất classtype Sử dụng tùy chọn với công cụ khác ACID SnortCenter để tìm kiếm liệu xuất Snort cho mức độ ưu tiên cụ thể reference : ,; Tùy chọn cung cấp liên kết tới web site Nên đặt site site cung cấp thông tin loại cơng alert tcp $HOME_NET any -> $EXTERNAL_NET $HTTP_PORTS ( sid: 1284; rev: 9; msg: "WEB-CLIENT readme.eml download attempt"; flow: from_client,established; uricontent: "/readme.eml"; nocase; reference: url,www.cert.org/advisories/CA-2001-26.html; classtype: attempted-user;) Một số lưu ý xây dựng tập luật: - Nội dung luật dài xác tốt - Chú ý luật có phân biệt chữ hoa chữ thường (trừ sử dụng tùy chọn nocase) 4.3.3 Thực thi luật Snort thay đổi kiểm tra luật phiên gần Các luật kiểm tra theo thứ tự giao thức TCP/UDP, ICMP, sau IP Ngồi ra, luật quan trọng kiểm tra trước Một luật TCP port phải kiểm tra trước luật khác Các luật có chuỗi dài kiểm tra trước Ví dụ, luật so sánh nội dung “Volume in drive C has no label” kiểm tra trước luật so sánh với chuỗi “Volume in” Cũng cần lưu ý luật kiểm tra nội dung thực trước luật không kiểm tra nội dung 86 4.3.4 Cập nhật thường xuyên Cần cập nhật định kỳ phiên luật Snort trang chủ http://www.snort.org Cơng việc thực tự động đoạn mã công cụ Một công cụ sử dụng phổ biến Oinkmaster, tập mã Perl thực việc backup thư mục chứa tập luật cũ, download tập luật nhất, thay đổi cấu hình sinh báo cáo từ thay đổi phiên tập luật cũ lên phiên tập luật hơn.Ngoài ra, có số cơng cụ khác IDSPolman SnortCenter viết đoạn mã Bash để download tập luật Một số nhà quản trị hệ thống không tin tưởng vào cách cập nhật tự động Họ thường tự cập nhật cách tự viết lại luật Khả điều khiển thay đổi tập luật Snort quan trọng định tính hiệu của hệ thống phát xâm nhập Q trình cập nhật tự động làm cho Snort hoạt động khơng xác Vì vậy, cập nhật tay thường khuyến cáo Tài liệu tham khảo: [1] Carl Endorf, Eugene Schultz and Jim Mellander Intrusion Detection & Prevention, McGraw- Hill, 2004, 388 pages [2] Jacob Babbin, Simon Biles, Angela D Orebaugh Snort Cookbook, O'Reilly, March 2005, 288 pages [3] Kerry J Cox, Christopher Gerg Managing Security with Snort and IDS Tools, O'Reilly, August 2004, 288 pages [4] Richard Stevens, TCP/IP Illustrated Volume 1, Addison- Wesley, December 1993, 576 pages [5] Stephen Northcutt, Judy Novak Network Intrusion Detection, Third Edition, New Riders Publishing, August 28, 2002, 512 pages 87 ... thi? ??u số kiểu cơng phổ biến Internet Phần II trình bày phận cấu thành Snort, nguyên lý hoạt động phối hợp phận cấu thành Snort Phần II đặc biệt sâu cách xây dựng, quản lý, thực thi cập nhật tập. .. phần quản lí phụ trách việc tạo sách, cập nhật làm cho có hiệu Security Management and Enforcement - Quản lí thi hành bảo mật Quản lí thi hành bảo mật chức quan trọng gắn vào thành phần quản. .. việc thực thi vấn đề) Thành phần quản lí IDS tổ chức liệu lưu trữ cách lí tưởng Một sở liệu quan hệ, Oracle hay Sysbase, phù hợp 38 cho mục đích Ngay sở liệu thi? ??t kế thực thi, liệu thêm vào khoảng

Ngày đăng: 27/04/2013, 17:42

Hình ảnh liên quan

Hình 1.5 Sơ đồ hoạt động IDS - Xây dựng, quản lý, thực thi và cập nhật các tập luật

Hình 1.5.

Sơ đồ hoạt động IDS Xem tại trang 10 của tài liệu.
Hình 2.1: Quan hệ giữa các thành phần của Snort - Xây dựng, quản lý, thực thi và cập nhật các tập luật

Hình 2.1.

Quan hệ giữa các thành phần của Snort Xem tại trang 44 của tài liệu.
Hình 2.2: Sơ đồ giải mã gói tin 1.2. PreProcessers (Các bộ tiền xử lý) - Xây dựng, quản lý, thực thi và cập nhật các tập luật

Hình 2.2.

Sơ đồ giải mã gói tin 1.2. PreProcessers (Các bộ tiền xử lý) Xem tại trang 45 của tài liệu.
3.3. Cấu hình Preprocessor (Bộ tiền xử lý) - Xây dựng, quản lý, thực thi và cập nhật các tập luật

3.3..

Cấu hình Preprocessor (Bộ tiền xử lý) Xem tại trang 55 của tài liệu.
Bảng 2.2: Các giá trị của tùy chọn ipopts - Xây dựng, quản lý, thực thi và cập nhật các tập luật

Bảng 2.2.

Các giá trị của tùy chọn ipopts Xem tại trang 82 của tài liệu.
Bảng 2. 4: Các giá classtype có mức ưu tiên 1 - Xây dựng, quản lý, thực thi và cập nhật các tập luật

Bảng 2..

4: Các giá classtype có mức ưu tiên 1 Xem tại trang 85 của tài liệu.

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan