P. 1
60406847 Athena de Tai Bao Mat Acns Tim Hieu Ve He Thong Ids 2

60406847 Athena de Tai Bao Mat Acns Tim Hieu Ve He Thong Ids 2

|Views: 107|Likes:
Published by Minh Tiền Bùi

More info:

Published by: Minh Tiền Bùi on Mar 29, 2012
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

03/29/2012

pdf

text

original

TRUNG TÂM ĐÀO TẠO AN NINH MẠNG ATHENA ----------------------oOo

---------------------

HỆ THỐNG PHÁT HIỆN VÀ PHÒNG CHỐNG XÂM NHẬP

INTRUSION DETECTION AND PREVENTION SYSTEM

Thực hiện :

Nguyễn Thành Danh Đinh Công Chinh Lớp Security +

I. Tổng quan về IDS/IPS 1. Khái niệm về IDS/IPS a. Định nghĩa : Intrusion Detection system ( IDS ) là một hệ thống giám sát hoạt động trên hệ thống mạng và phân tích để tìm ra các dấu hiệu vi phạm đến các quy định bảo mật máy tính, chính sách sử dụng và các tiêu chuẩn an toàn thông tin. Các dấu hiệu này xuất phát từ rất nhiều nguyên nhân khác nhau, như lây nhiễm malwares, hackers xâm nhập trái phép, người dung cuối truy nhập vào các tài nguyên không được phép truy cập..v.v Intrusion Prevention system ( IPS ) là một hệ thống bao gồm cả chức năng phát hiện xâm nhập ( Intrusion Detection – ID ) và khả năng ngăn chặn các xâm nhập trái phép dựa trên sự kết hợp với các thành phần khác như Antivirus, Firewall hoặc sử dụng các tính năng ngăn chặn tích hợp. 2. Chức năng của IDS/IPS a. Các ứng dụng cơ bản của hệ IDS/IPS : (1) Nhận diện các nguy cơ có thể xảy ra (2) Ghi nhận thông tin, log để phục vụ cho việc kiểm soát nguy cơ (3) Nhận diện các hoạt động thăm dò hệ thống (4) Nhận diện các yếu khuyết của chính sách bảo mật (5) Ngăn chặn vi phạm chính sách bảo mật b. Các tính năng chính của hệ IDS/IPS (1) Lưu giữ thông tin liên quan đến các đối tượng quan sát (2) Cảnh báo những sự kiện quan trọng liên quan đến đối tượng quan sát (3) Ngăn chặn các tấn công ( IPS ) (4) Xuất báo cáo 3. Kiến trúc của hệ IDS/IPS a. Các phương pháp nhận diện Các hệ thống IDS/IPS thường dùng nhiều phương pháp nhận diện khác nhau, riêng rẽ hoặc tích hợp nhằm mở rộng và tăng cường độ chính xác nhận diện. Có thể chia làm các phương pháp nhận diện chính sau: (1) Nhận diện dựa vào dấu hiệu ( Signature-base detection ): sử dụng phương pháp so sánh các dấu hiệu của đối tượng quan sát với các dấu hiệu của các mối nguy hại đã biết. Phương pháp này có hiệu quả với các mối nguy hại đã biết nhưng hầu như không có hiệu quả hoặc hiệu quả rất ít đối với các mối nguy hại chưa biết,các mối nguy hại sử dụng kỹ thuật lẩn tránh ( evasion techniques ), hoặc các biến thể. Signature-based không thể theo vết và nhận diện trạng thái của các truyền thông phức tạp. (2) Nhận diện bất thường ( Abnormaly-base detection ): so sánh định nghĩa của những hoạt động bình thường và đối tượng quan sát nhằm xác định các độ lệch. Một hệ IDS/IPS sử dụng phương pháp Anormaly-base detection có các profiles đặc trưng cho các hành vi được coi là bình thường, được phát triển bằng cách giám sát các đặc điểm của hoạt động tiêu biểu trong một khoảng thời gian. Sau khi đã xây dựng được tập các profile này , hệ IDS/IPS sử dụng phương pháp thống kê để so sánh các đặc điểm của các hoạt động hiện tại với các ngưỡng định bởi profile tương ứng để phát hiện ra những bất thường. Profile sử dụng bởi phương pháp này có 2 loại là static và dynamic. Static profile 1

không thay đổi cho đến khi được tái tạo, chính vì vậy dần dần nó sẽ trở nên không chính xác, và cần phải được tái tạo định kỳ. Dynamic profile được tự động điều chỉnh mỗi khi có các sự kiện bổ sung được quan sát, nhưng chính điều này cũng làm cho nó trở nên dễ bị ảnh hưởng bởi các phép thử dung kỹ thuật giấu ( evasion techniques ) Ưu điểm chính của phương pháp này là nó rất có hiệu quả trong việc phát hiện ra các mối nguy hại chưa được biết đến.

Sự khác biệt giữa phương pháp Abnormaly-base và Signature-base (3) Phân tích trạng thái giao thức ( Stateful protocol analysis ) : Phân tích trạng thái protocol là quá trình so sánh các profile định trước của hoạt động của mỗi giao thức được coi là bình thường với đối tượng quan sát từ đó xác định độ lệch. Khác với phương pháp Anomaly-base detection, phân tích trạng thái protocol dựa trên tập các profile tổng quát cung cấp bởi nhà sản xuất theo đó quy định 1 protocol nên làm và không nên làm gì. "Stateful" trong phân tích trạng thái protocol có nghĩa là IDS/IPS có khả năng hiểu và theo dõi tình trạng của mạng, vận chuyển, và các giao thức ứng dụng có trạng thái. Nhược điểm của phương pháp này là chiếm nhiều tài nguyên do sự phức tạp trong việc phân tích và theo dõi nhiều phiên đồng thời. Một vấn đề nghiêm trọng là phương pháp phân tích trạng thái protocol không thể phát hiện các cuộc tấn công khi chúng không vi phạm các đặc tính của tập các hành vi chấp nhận của giao thức. b. Cơ sở hạ tầng của IDS/IPS Nhiệm vụ chính của hệ thống IDS/IPS là phòng thủ máy tính bằng cách phát hiện một cuộc tấn công và có thể đẩy lùi nó. Phát hiện vụ tấn công thù địch phụ thuộc vào số lượng và loại hành động thích hợp.

Intrusion detection system activities

2

bằng cách áp dụng các biện pháp đối phó (chấm dứt phiên làm việc.cả hai hệ thống thực và giả lập được liên tục giám sát và dữ liệu thu được được kiểm tra cẩn thận (đây là công việc chính của mỗi hệ IDS/IPS ) để phát hiện các cuộc tấn công có thể (xâm nhập). hệ thống IDS/IPS phát các cảnh báo đến người quản trị về sự kiện này. Nó có thể hữu ích trong các nghiên cứu giám định sự cố và tiến hành cài đặt các bản patches thích hợp để cho phép phát hiện các cuộc tấn công trong tương lai nhắm vào mục tiêu cụ thể c.v) – tùy thuộc vào chính sách an ninh của mỗi tổ chức Intrusion detection system infrastructure Hệ thống IDS/IPS là một thành phần của chính sách bảo mật. nhiệm vụ chuyển hướng sự chú ý của kẻ xâm nhập từ các hệ thống cần bảo vệ sang các hệ thống giả lập là nhiệm vụ của 1 dạng IDS riêng biệt ( Honeypot IDS ). Một khi xâm nhập một đã được phát hiện. phân tích. “Sensor” thường được dùng cho dạng Network-base IDS/IPS trong khi “Agent” thường được dùng cho dạng Host-base IDS/IPS (b) Management Server : là 1 thiết bị trung tâm dùng thu nhận các thông tin từ Sensor / Agent và quản lý chúng. 3 . định tuyến các kết nối đến Honeypot IDS hoặc sử dụng các cơ sở hạ tầng pháp lý v. Bước tiếp theo được thực hiện. 1 số Management Server có thể thực hiện việc phân tích các thông tin sự việc được cung cấp bởi Sensor / Agent và có thể nhận dạng được các sự kiện này dù các Sensor / Agent đơn lẻ không thể nhận diện. Có thể cài đăt trên một máy tính bình thường dùng để phục vụ cho tác vụ quản trị. nhận dạng kẻ xâm nhập là một trong những nhiệm vụ cơ bản. sao lưu hệ thống.Công tác phòng chống xâm nhập đòi hỏi một sự kết hợp tốt được lựa chọn của "mồi và bẫy" nhằm điều tra các mối đe dọa. hoặc để giám sát. Trong số các nhiệm vụ IDS khác nhau. hoặc bởi các quản trị viên hoặc bởi chính hệ thống IDS/IPS . Cấu trúc & kiến trúc của hệ IDS/IPS (1) Các thành phần cơ bản (a) Sensor / Agent : giám sát và phân tích các hoạt động. (c) Database server : dùng lưu trữ các thông tin từ Sensor / Agent hay Management Server (d) Console : là 1 chương trình cung cấp giao diện cho IDS/IPS users / Admins.

ứng dụng) tạo ra một chính sách nhất quán tập các sự kiện có thể là log hoặc audit của các sự kiện của hệ thống. Chiều rộng mũi tên là tỷ lệ thuận với số lượng thông tin di chuyển giữa các thành phần của hệ thống Sensor được tích hợp với các thành phần chịu trách nhiệm thu thập dữ liệu . nó mà có trách nhiệm phát hiện các xâm nhập nhờ chứa những cơ cấu ra quyết định đối với sự xâm nhập. thiết lập cùng với các thông tin chính sách có thể được lưu trữ hoặc là trong hệ thống bảo vệ hoặc bên ngoài. syslog và audit trail . Các event generator (hệ điều hành. Các thành phần chính của 1 hệ IDS/IPS 4 . mạng.Các thông tin này tạo cơ sở cho quá trình ra quyết định sau này Một ví dụ về hệ IDS.(2) Kiến trúc của hệ IDS/IPS Sensor là yếu tố cốt lõi trong một hệ thống IDS/IPS . dữ liệu không được lưu trữ mà được chuyển trực tiếp đến các phân tích ( thông thường áp dụng với các gói packet ). Sensor nhận dữ liệu thô từ ba nguồn thông tin chính : kiến thức cơ bản ( knowledge base ) của IDS. Dựa vào các chính sách tạo sự kiện nó xác định chế độ lọc thông tin thông báo sự kiện. hoặc các gói tin.một event generator. Điều này. Trong những trường hợp nhất định.

Các hệ thống IDS/IPS có thể được triển khai theo 2 hướng là tập trung và phân tán. Triển khai phân tán ( distributed IDS ) bao gồm nhiều hệ IDS/IPS trong 1 hệ thống mạng lớn. Host-based IDS/IPS Mô hình vị trí của HIDS/IPS trong 1 hệ thống mạng 5 . Phân loại IDS/IPS Phân loại các hệ IDS/IPS 1. Một ví dụ cụ thể cho hướng triển khai tập trung là tích hợp IDS/IPS cùng với các thành phần an ninh khác như firewall. được kết nối với nhau nhằm nâng cao khả năng nhận diện chính xác xâm nhập và đưa ra phản ứng thích hợp II.

Application-based agent thường được triển khai thẳng hàng ngay phía trước host mà chúng bảo vệ. sensitive data servers ).thuộc tính. Quá trình triển khai các agent HIDS/IPS thường đơn giản do chúng là một phần mềm được cài đặt trực tiếp lên host. Host-based IDS/IPS thường được triển khai trên các host có tính chất quan trọng ( public servers.truy cập của file ) (d) Phân tích log (e) Giám sát cấu hình mạng 6 . hoặc 1 dịch vụ quan trọng ( trường hợp đặc biệt này được gọi là application-based IDS/IPS ).thông thường là 1 software hoặc 1 agent. mục tiêu là giám sát các tính chất cơ bản. Mô hình triển khai Host-based IDS/IPS agent Một trong những lưu ý quan trọng trong việc triển khai hệ thống Host-based IDS/IPS là cân nhắc giữa việc cài đặt agent lên host hay sử dụng agent-based appliances. do agent thường chỉ tương thích với 1 số hệ điều hành nhất định nên trong trường hợp này người ta sử dụng thiết bị.Được triển khai trên từng host. các sự kiện liên quan đến các thành phần này nhằm nhận diện các hoạt động khả nghi. nhận diện buffer-overflow. Hệ thống HIDS/IPS cung cấp các khả năng bảo mật sau: (1) Khả năng ghi log. giám sát danh sách ứng dụng và hàm thư viện ) (b) Phân tích và lọc lưu lượng mạng (c) Giám sát filesystem ( kiểm tra tính toàn vẹn. việc cài đặt agent lên host được khuyến khích vì agent tương tác trực tiếp với các đặc tính của host và qua đó có thể phát hiện và ngăn chặn 1 cách hiệu quả hơn. Một lý do khác để sử dụng thiết bị là việc cài đặt agent lên host có thể ảnh hưởng đến performance của host. (2) Khả năng phát hiện (a) Phân tích mã ( phân tích hành vi mã. Trên phương diện phát hiện và ngăn chặn xâm nhập. Tuy nhiên. giám sát hàm gọi hệ thống.

Trong hệ NIDS/IPS. Hệ thống NIDS/IPS thường được triển khai trong 1 đoạn / mạng con riêng phục vụ cho mục đích quản trị hệ thống ( management network ). chặn các dịch vụ hoặc giao thức không được phép (c) Giám sát filesystem: ngăn chặn việc truy cập. OSSEC. phân tích hoạt động hệ thống mạng trong 1 segment. BroIDS. thay đổi filesystem (4) Các khả năng bảo vệ khác: ngăn chặn truy cập đến các removeable-media. lưu mã độc. củng cố bảo mật cho host. lựa chọn vị trí phù hợp cho các Sensor cũng là 1 vấn đề quan trọng ảnh hưởng đến khả năng detection của hệ NIDS/IPS. Prelude-LML. trong trường hợp không có mạng quản trị riêng thì 1 mạng riêng ảo ( VLAN ) là cần thiết để bảo vệ các kết nối giữa các hệ NIDS/IPS. Samhain.Snort 2. phân tích mạng. Người ta thường sử dụng 2 kiểu triển khai sau: Thẳng hàng ( Inline ): 1 Sensor thẳng hàng được đặt sao cho các lưu lượng trên mạng mà nó giám sát đi xuyên 7 . các giao thức ứng dụng từ đó nhận diện các hoạt động khả nghi. Thường được triển khai ở các biên mạng ( network border ). các Sensor thường gặp ở 2 dạng là tích hợp phần cứng ( appliance-based ) và phần mềm ( software-only ). ISS. Bên cạnh việc lựa chọn vị trí mạng phù hợp cho các thành phần của hệ NIDS/IPS. Network-bases IDS/IPS Mô hình vị trí của NIDS/IPS trong 1 hệ thống mạng Thường dùng để giám sát. giám sát trạng thái các tiến trình… Các sản phẩm đại diện : Tripware.(3) Khả năng ngăn chặn (a) Phân tích mã: ngăn chặn thực thi mã độc (b) Phân tích và lọc lưu lượng mạng: ngăn chặn truy cập.

Sensor thẳng hàng thường được triển khai tại vị trí tương tự với firewall và các thiết bị bảo mật khác: ranh giới giữa các mạng. Sensor thụ động có thể giám sát lưu lượng mạng qua nhiều cách như Spanning port ( hoặc Mirror port ). các đoạn mạng quan trọng ví dụ như Server farm hoặc DMZ. Thực tế là 1 số Sensor thẳng hàng được sử dụng như 1 loại lai giữa firewall và NIDS/IPS. Mô hình triển khai Sensor kiểu thụ động 8 . một số khác là NIDS thuần túy. Thụ động ( Passive ): Sensor kiểu thụ động được triển khai sao cho nó có thể giám sát 1 bản sao của các lưu lượng trên mạng. Động cơ chính của việc triển khai Sensor kiểu thẳng hàng là nó có thể dừng các tấn công bằng việc chặn lưu lượng mạng ( blocking network traffic ). Network tap hoặc IDS loadbalancer. Mô hình triển khai Sensor kiểu thẳng hàng Sensor thẳng hàng còn có thể được triển khai tại các vùng mạng kém bảo mật hơn hoặc phía trước các thiết bị bảo mật hoặc firewall để bảo vệ và giảm tải cho các thiết bị này. Thường được triển khai giám sát các vị trí quan trọng trong mạng như ranh giới giữa các mạng.qua nó giống như trong trường hợp cùa firewall.

Trong dạng này. HIDS thì không NIDS chiếm gấp đôi chi phí mạng NIDS cần có spanning port để quét network traffic HIDS luôn tự động cập nhật cho clients NIDS có sự tương thích với các nền tảng khác nhau HIDS có khả năng quét registry Chỉ NIDS mới có chức năng loại bỏ packet NIDS yêu cầu nhiều kiến thức để cài đặt và vận hành tốt NIDS có tính quản lý tập trung cao hơn NIDS có nguy cơ cao vì là Singe-point-of-Failure HIDS có khả năng detect trên nhiều đoạn mạng hơn NIDS 9 . loại bỏ các nội dung gây hại (c) Ngoài ra chức năng ngăn chặn còn có thể thay đổi cấu hình của 1 số thiết bị bảo mật cũng như thực thi các ứng dụng thứ 3 hoặc các script. điều tiết băng thông sử dụng.Hệ thống NIDS/IPS cung cấp các khả năng về bảo mật sau: (1) Khả năng thu thập thông tin (a) Nhận dạng host (b) Nhận dạng hệ điều hành (c) Nhận dạng ứng dụng (d) Nhận dạng đặc điểm mạng (2) Khả năng ghi log (3) Khả năng nhận diện (a) Hoạt động thăm dò và tấn công trên các lớp ứng dụng. Lưu ý khi triển khai NIDS/IPS: khi triển khai các hệ NIDS/IPS. 1 trong những điểm cần lưu ý là phải triển khai các Sensor ở dạng ẩn ( Stealth mode ).vận chuyển và mạng (b) Các dịch vụ ứng dụng không mong đợi ( unexpected application services ) (c) Vi phạm chính sách ( policy violations ) (4) Khả năng ngăn chặn (a) Kiểu thụ động: ngắt phiên TCP hiện tại (b) Kiểu thẳng hàng: thực hiện tác vụ firewall thẳng hàng. So sánh giữa HIDS va NIDS Chức năng Bảo vệ với mạng Bảo vệ không mạng Dễ quản trị Độ linh hoạt Giá Triển khai Đào tạo sử dụng Cost of Ownership Băng thông mạng Tổng chi phí mạng Spanning port Database update Tương thích Registry scan Logging Cảnh báo Packet rejection Yêu cầu kiến thức riêng Quản lý tập trung Nguy cơ bị vô hiệu hóa Multiple LAN detection HIDS **** **** **** **** *** **** **** *** 0 1 **** ** **** *** *** *** *** * **** NIDS **** **** ** * **** ** ** 2 2 **** ** **** *** *** **** **** **** **** ** Ghi chú Cả hai loại đều có khả năng bảo vệ trong mạng NIDS chỉ hoạt động trong môi trường mạng NIDS kém linh hoạt vì liên quan đến hạ tầng mạng Chọn HIDS có lợi hơn nếu đúng yêu cầu bảo vệ Cả HIDS và NIDS đều dễ triển khai NIDS cần đào tạo nhiều hơn để có thể sử dụng Chi phí cho HIDS rẻ hơn với thời gian sử dụng dài NIDS chiếm băng thông mạng . các interface của Sensor không được gán địa chỉ IP ( trừ interface quản lý ) để tránh việc khởi tạo kết nối từ các host khác nhằm ẩn Sensor khỏi sự phát hiện của kẻ tấn công. Điểm yếu của hệ thống NIDS/IPS chính là việc nó rất dễ bị ảnh hưởng bởi nhiều loại tấn công liên quan đến khối lượng lưu lượng mạng lớn ( large volume of network traffic ) và kiến trúc Single-point of Failure khi triển khai Sensor kiểu thẳng hàng.

được triển khai theo 2 dạng là cố định ( thiết bị ) và di động ( phần mềm hoặc thiết bị ). Trustware ipAgent.phân tích các protocol wireess để nhận diện các hoạt động khả nghi. Reflex Security 3. Đối với những máy chủ hoặc máy client quan trọng. Wireless Sensor thường gặp dưới 3 hình thức là Chuyên biệt ( Dedicated ) : thường ở dạng thụ động. NIDS/IPS thường được sử dụng tại biên mạng nhằm phát hiện các dấu hiệu tấn công và hạn chế các tấn công này ở mức network. Sensor trong hệ thống Wireless IDS/IPS sử dụng 1 kỹ thuật gọi là quét kênh ( channel scanning ). các Sensor có thể được trang bị nhiều antenna thu phát công suất cao. Tipping Point IDS. Cisco IPS. Các sản phẩm đại diện : Snort. ISS. Tích hợp trong Access Point Tích hợp trong Wireless switch Mô hình triển khai Wireless IDS/IPS 10 . Juniper IDS. Wireless IDS/IPS Thường được triển khai trong tầm phủ sóng wireless của hệ thống nhằm giám sát. nghĩa là thường xuyên đổi kênh giám sát. việc bổ sung HIDS cho các máy này là cần thiết để tăng cường khả năng bảo mật khi kết hợp với các hệ NIDS trong cùng hệ thống. Sự khác biệt lớn nhất giữa NIDS/IPS và Wireless IDS/IPS nằm ở việc NIDS/IPS có thể giám sát tất cả các packet trong mạng thì Wireless IDS/IPS giám sát bằng cách lấy mẫu lưu lượng mạng.Trong thực tế. Để hỗ trợ cho việc giám sát hiệu quả. được vận hành dưới dạng giám sát tần số phát ( radio frequency monitoring mode ).

công cộng … ). cũng như mạng Wireless. Thường được dùng để giám sát luồng traffic trong hệ thống nội bộ cũng như có thể giám sát luồng traffic giữa hệ thống trong và các hệ thống ngoài. Thông thường các Wireless IDS/IPS thường được triển khai ở các khu vực mở của hệ thống mạng ( khu vực khách. 11 . AirMagnet. Network behavior Analysis system ( NBAS ) Là 1 dạng NIDS/IPS được triển khai trong hệ thống mạng nhằm nhận diện các threats tạo ra các luồng traffic bất thường trong hệ thống ( DDoS. malwares… ). Snort-Wireless… 4. khác biệt hoàn toàn so với các loại Sensor trong các hệ thống NIDS/IPS hay HIDS/IPS do đặc thù của mạng Wireless. ở các vị trí có thể giám sát toàn bộ vùng sóng của mạng Wireless. tác động đến switch để chặn kết nối từ Access Point hoặc Station nghi ngờ là nguồn tấn công ). AirDefense. Hệ thống NIDS/IPS cung cấp các khả năng về bảo mật sau: (1) Khả năng bảo mật (2) Khả năng thu thập thông tin (a) nhận diện thiết bị Wireless (b) nhận diện mạng Wireless (3) Khả năng ghi log (4) Khả năng nhận diện (a) nhận diện các mạng và thiết bị Wireless trái phép (b) nhận diện các thiết bị Wireless kém bảo mật (c) nhận diện các mẫu sử dụng bất thường (d) nhận diện các hoạt động của wireless scanner (e) nhận diện các tấn công từ chối dịch vụ DoS qua cơ chế phân tích trạng thái giao thức ( Stateful protocol analysis ) và nhận diện bất thường ( Abnormaly detection) (f) nhận diện các tấn công đóng giả và Man-in-the-Middle. hay được triển khai để giám sát trên 1 số băng tần và kênh xác định.Vấn đề vị trí triển khai Wireless IDS/IPS là 1 vấn đề cơ bản. Các sản phẩm đại diện : WIDZ. Wireless IDS/IPS cũng rất nhạy cảm với các dạng tấn công từ chối dịch vụ cũng như các tấn công sử dụng kỹ thuật lẩn tránh ( evasion techniques ). Hệ thống Wireless IDS/IPS có khả năng xác định vị trí vật lý của mối đe dọa được nhận diện bằng phương pháp đo tam giác ( triangulation ) dựa vào mức tín hiệu từ mối đe dọa đến Sensor và từ đó tính ra được vị trí tương đối của mối đe dọa đối với mỗi Sensor. (5) Khả năng ngăn chặn ( ngắt kết nối wireless. Tuy nhiên.

Mô hình triển khai NBAS Khác biệt giữa NBAS và NIDS/IPS ở chỗ NBAS phân tích lưu lượng mạng hoặc các thống kê trên lưu lượng mạng để nhận diện các luồng lưu lượng bất thường. tương tự như NIDS/IPS. được triển khai tại các vị trí cần giám sát như ranh giới mạng. Với kiểu triển khai thụ động. 5. Honeypot IDS Mô hình vị trí của Honeypot IDS trong 1 hệ thống mạng 12 . các đoạn mạng quan trọng. Với kiểu thẳng hàng. Hệ thống NBAS có thể được triển khai dưới 2 dạng là thụ động và thẳng hàng. có thể triển khai sát với firewall biên. thường là phía trước để giảm thiểu số lượng các tấn công đến có thể làm quá tải firewall biên.

không phải dùng lệnh sudo. Snort có thể thực hiện phân tích giao thức và tìm kiếm nội dung. cũng như sử dụng cơ chế phát hiện xâm nhập theo kiến trúc modular plug-ins.giả sử ta tạo 1 user tên là ids_usr và login. Chuẩn bị môi trường ( system prerequisites ) Hệ điều hành : Ubuntu Linux 9 Các gói phần mềm hỗ trợ : MySQL Libnet 1.. tập tin người dùng chỉ định. kết hợp với các cơ chế cảnh báo syslog. Cài đặt và cấu hình thử nghiệm IDS/IPS với Snort 1. Giới thiệu chung về Snort Snort được phát triển năm 1998 bởi Sourcefire và CTO Martin Roesch.v. từ đó có thể phát hiện rất nhiều kiểu thăm dò và tấn công như buffer-overflow.4 Barnyard2 Apache 3. Mở CLI. Cài đặt Snort ( Installing Snort ) Sau khi cài đặt xong hệ điều hành. 13 . Snort dùng 1 loại ngôn ngữ mô tả các quy tắc giao thông mạng mà nó sẽ thu thập hoặc bỏ qua. tạo ra các hệ thống giả lập tương tự các hệ thống chính nhằm chuyển hướng tấn công của attacker vào hệ thống giả lập này từ đó quan sát dấu vết và truy vết tấn công.Packet sniffer như tcpdump . Để có thể làm được điều này. III.4.Hệ thống phát hiện và phòng chống xâm nhập hoàn chỉnh.2a Libpcap 0. và ghi log gói tin trên nền mạng IP.0. stealth ports scanning. login as root user Sudo bash Việc đăng nhập root user nhằm mục đích thuận lợi cho quá trình cài đặt. Snort trở thành công nghệ phát hiện và phòng chống xâm nhập được sử dụng rộng rãi nhất hiện nay. tấn công CGI. OS fingerprint. Snort có thể sử dụng với 3 kiểu chính : . Ban đầu được gọi công nghệ phát hiện và phòng chống xâm nhập hạng nhẹ. Snort đã dần phát triển và trở thành tiêu chuẩn trong việc phát hiện và phòng chống xâm nhập. cũng như dễ dàng truy cập các thư mục hệ thống. Unix socket hoặc Winpopup message. Với hơn 3.8 BASE 1. là 1 phần mềm miễn phí mã nguồn mở có khả năng phát hiện và phòng chống xâm nhập trái phép vào hệ thống mạng có khả năng phân tích thời gian thực lưu lượng mạng. 2. Nó cũng có khả năng cảnh báo tức thời.Packet logger .Là 1 dạng IDS dựa trên phương pháp “mồi” & “bẫy”.7 triệu lượt tải về và hơn 250 ngàn người dùng đăng ký.v. thăm dò SMB.

B.E ( Basic Analysis and Security Engine ) cung cấp giao diện Web cho việc truy vấn và phân tích các cảnh báo từ Snort.S.8-dev libmysqlclient15-dev bison flex apache2 libapache2-mod-php5 php5-gd php5-mysql libtool libpcre3-dev php-pear ssh Mở CLI. Download B.0.tar.2a.4. Download các gói phần mềm sau Download libnet-1. sau đó download gói rules cho Snort ở đây : http://www.0.A. cho phép nhiều kiểu tương tác giữa PHP và cơ sở dữ liệu.snort.S.4 tại : http://sourceforge.net/projects/adodb/files/ Đăng ký làm thành viên của Snort.0 libpcap0.org/snort-rules ./configure && make && make install 14 .0. Cài đặt Libnet cd /usr/local tar zxvf /home/ids_usr/Desktop/libnet-1.2a. Giả dụ các gói phần mềm được tải về và lưu tại desktop.2a .0.0 mysql-server-5.html.gz from http://www. Download ADOdb 5.tar.140191.gz.A.com/m/libnet1. 1 gói dành cho người dùng trả tiền ( Subscription release ) và 1 gói miễn phí cho người dùng đăng ký ( registered-user release ). Lưu ý là có 2 gói rules.filewatcher.E 1.tar.Cài đặt các gói phần mềm hỗ trợ : • • • • • • • • • • • • • • mysql-client-5.0.0. dùng lệnh : Apt-get install <package> Trong đó package là các gói phần mềm bên trên.2a.10 tại : http://sourceforge. Điểm khác biệt duy nhất là gói miễn phí sẽ được cung cấp sau gói trả phí 30 ngày.net/projects/secureideas/files/ ADOdb là 1 tiện ích trừu tượng hóa cơ sở dữ liệu.gz cd Libnet-1.

5.org/downloads ( phiên bản mới nhất là 2. trong thực tế .8. 15 . lưu ý khi quá trình cài đặt MySQL xuất hiện.so /usr/local/lib/snort_dynamicrules cp –R /usr/lib/snort_* /usr/local/lib Cấu hình MySQL MySQL được dùng như Cơ sở dữ liệu cho Snort.gz cd snort-2.1/i386/2./configure --enable-targetbased && make && make install Tuy nhiên. ta phải ghi nhớ mật khẩu root của database 2.Cài đặt Snort Sudo apt-get install snort-mysql Ghi chú: 1.5.8.tar.A. Trong quá trình cài đặt Snort bằng lệnh apt-get install.8.gz -C /etc/snort cp /etc/snort/etc/* /etc/snort groupadd snort useradd -g snort snort chown snort:snort /var/log/snort touch /var/log/snort/alert chown snort:snort /var/log/snort/alert chmod 600 /var/log/snort/alert cp /etc/snort/so_rules/precompiled/Ubuntu-6.1 ) . sau đó biên dịch : cd /usr/local tar zxvf /home/ids_usr/Desktop/snort-2.E có thể hoạt động.S. Mặc dù nó không cần thiết để chạy Snort nhưng nó làm cho việc truy vấn các sự kiện một cách dễ dàng hơn và cần thiết để B. tác giả gặp vấn đề với Snort cài đặt theo kiểu biên dịch mã nguồn khi thực thi Snort ở phần sau xuất hiện thông báo “ mysql support is not compiled in this build of snort “ Chuẩn bị môi trường làm việc cho Snort mkdir /etc/snort mkdir /var/log/snort mkdir /usr/local/lib/snort_dynamicrules cd /etc/snort tar zxvf /home/ids_usr/Desktop/snortrules-snapshot-CURRENT_s.tar. Ngoài phương pháp install Snort bằng apt-get install.8.snort.1 .5.4/*.1. ta có thể download phiên bản mới nhất của Snort tại : http://www.01.

tgz 16 .conf một cách cụ thể hơn.S.conf Tìm dòng RULE_PATH và đổi thành /etc/snort/rules Tìm dòng “output log_unified” và thêm dòng sau đây phía dưới nó : output log_unified2: filename snort.E vào thư mục Webroot.A.E cd /var/www pear channel-update pear. INSERT. Show tables. B.8.2 pear install Image_Graph-0.2 tar zxvf /home/ids_usr/Desktop/adodb510. DELETE. grant CREATE. Tìm dòng “output database:” và thêm dòng sau đây phía dưới nó : output database: alert.php.conf quy định cách thức Snort sẽ thực thi 1 khi được chạy.A. user=snort password=< password> dbname=snort host=localhost - Cấu hình giao diện Web với ADOdb và B. sau đó tiến hành cấu hình cho ADOdb và B. SELECT.1/schemas mysql -p < create_mysql snort Kiểm tra lại cấu hình cơ sở dữ liệu để chắc chắn cơ sở dữ liệu cho Snort đã được config đúng mysql –p < nhập DB root password > Show tables.S.S.conf Snort. UPDATE on snort. Xuất hiện 16 hàng dữ liệu ( row ) Chỉnh sửa file snort.E Ta sẽ lần lượt giải nén ADObd.A. mysql.3.7. dùng kết hợp với Barnyard2. Ở đây ta chỉ chỉnh sửa 1 số tính năng đơn giản Gedit /etc/snort/snort. Xuất hiện 4 hàng dữ liệu ( row ) Use snort.* to snort@localhost.5.log. SET PASSWORD FOR snort@localhost=PASSWORD(‘password’). Ở cấu hình nâng cao sẽ đề cập đến việc chỉnh sửa file snort.- mysql –p <nhập DB root password> create database snort. limit 128 Lưu ý : “unified2” chỉ ra format cho file log là version 2.net pear install Mail pear install Mail_Mime pear install Image_Canvas-0. exit cd /usr/local/snort-2.

user=snort password=<password> dbname=snort host=localhost 17 .tar. Password=<password>.7 .7.7/etc/barnyard2. Database Password=password Admin User Name=snort. Gedit /var/www/base-1. Thêm dòng này vào bên trong mục đó : extension=mysql.4/base-conf.4./configure --with-mysql && make && make install cp /usr/local/barnyard2-1. Kiểm tra xem nó có được thiết lập : error_reporting = E_ALL & ~E_NOTICE hay không Tìm “Dynamic Extensions”. Database User=snort.4.tar. Sau khi kết thúc.4 Click “continue” Đường dẫn đến thư mục chứa ADOdb là /var/www/adodb Database Name=snort. nếu có lỗi không ghi được file ta copy nội dung. Database Host=localhost.domain> /etc/init.conf /etc/snort gedit /etc/snort/barnyard2.ini Tìm dòng error_reporting. nhập vào địa chỉ : http://localhost/base-1.- tar zxvf /home/ids_usr/Desktop/base-1.conf Tại cuối file. sau đó dùng gedit để tạo file và paste nội dung vừa copy vào.so extension=gd.d/apache2 restart Mở trình duyệt.gz cd barnyard2-1.so gedit /etc/apache2/apache2.4. cd /usr/local tar zxvf /home/ids_usr/Desktop/barnyard2-1.thêm dòng servername <your servername. Full Name=snort Click “Create BASE AG”.4.gz gedit /etc/php5/apache2/php.conf Tìm “thor” và thay thế bằng “localhost” Kiểm tra config interface để chắc chắn đang sử dụng interface “eth0” Tìm dòng “output database” và thay bằng : output database: alert.php Paste và Save Cấu hình Barnyard2 Barnyard được viết nhằm mục đích đảm nhận các tác vụ xử lý xuất để Snort có thể dành nhiều tài nguyên hơn cho việc xử lý các gói tin. mysql. tại thanh địa chỉ.

map -S /etc/snort/sid-msg.log -w /var/log/snort/barnyard.log sau cùng gedit /var/log/snort/barnyard.waldo thêm nội dung sau rồi lưu và đóng file : /var/log/snort snort.conf -d /var/log/snort –f snort. Mkdir /var/log/barnyard2 ls -la /var/log/snort. Để ý 10 chữ số sau file snort. Thử nghiệm ( post-installed testing ) Khởi động Snort & Barnyard2 - snort -c /etc/snort/snort/conf -i eth0 /usr/local/bin/barnyard2 -c /etc/snort/barnyard2.Khởi động Snort và hoàn tất cấu hình Barnyard snort -c /etc/snort/snort/conf -i eth0 Open a second CLI.log <10 chữ số phía trên> 0 khởi động barnyard: /usr/local/bin/barnyard2 -c /etc/snort/barnyard2.waldo 18 .conf -G /etc/snort/gen-msg.waldo - 4.map -d /var/log/snort –f snort.log -w /var/log/snort/barnyard.

A.E để xem cảnh báo 19 .Sử dụng GFI để quét thử Truy cập B.S.

Xem theo danh sách Alerts Xem theo categories 20 .

21 . a.Xem chi tiết 1 cảnh báo Hiển thị đồ thị IV. Tự động cập nhật Snort rule với Oinkmaster Oinkmaster là 1 Perl script giúp cập nhật và quản lý các rule của Snort. Các tiện ích Trong phần này. bao gồm các rule chính thức ( official VRT rule ). các rule được phát triển bởi nhà cung cấp thứ 3…. các tiện ích sẽ được giới thiệu khái quát mà không đi sâu vào chi tiết cho từng tiện ích. các rule được phát triển bởi cộng đồng sử dụng Snort ( community rule ) . ta xem qua một số tiện ích của Snort. Vì mục đích đó. với mục đích giới thiệu các tính năng có thể tích hợp nhằm có cái nhìn tổng thể về Snort như là 1 hệ NIDS/IPS đa năng. Cấu hình Snort nâng cao 1.

tìm “url =…” và sửa thành : http://www.ACID ( và phiên bản mới được dùng bên trên là B. một số bao gồm cả chức năng cập nhật rule.0. và Snort là ver.(1) Cài đặt Oinkmaster Download Oinkmaster tại : http://oinkmaster.SnortSnaft .SnortCenter o SnortSnarf : Là một Perl script thu thập các thông tin từ Snort và hiển thị dưới dạng HTML để có thể duyệt một cách dễ dàng.cp oinkmaster. Quản trị Alert / Sensor : Snort consoles Trong phần này. 22 .shtml Mở CLI : .tar.cp oinkmaster.A.org sau đó vào Get Rules. 2.8. ta xem qua 1 số console quản trị Snort.E ) . Các console được xem xét giới thiệu : .tar zxvf /home/ids_usr/Desktop/oinkmaster-2.cgi/5a08f649c16a278e1012e1c/snortrules-snapshot-2.cp oinkmaster.tar.conf /usr/local/etc .cd /home/ids_usr/Desktop/oinkmaster-2. một số chuyên phân tích các thông tin được Snort thu thập. chọn Get Oink Code https://www.net/download.gedit oinkmaster.Cerebus .pl /usr/local/bin .0 .conf .S. chỉnh sửa cấu hình rule.org/pubbin/oinkmaster.conf .org/account/oinkcode (3) Sửa file Oinkmaster.8 ) (4) khởi động Oinkmaster oinkmaster.snort.pl -o /etc/snort/rules b.gz .1 /usr/local/man/man1 (2) Đăng ký account tại Snort.gz ( ví dụ oinkcode của ta là 5a08f649c16a278e1012e1c .sourceforge.snort.

và dễ dàng hơn khi phải làm việc với số lượng lớn các cảnh báo Cerebus có thể download tại : http://www. quản lý các cảnh báo từ Snort. không có chức năng quản lý. tương thích nhiều nền tảng khác nhau ( *nix.E Cung cấp giao diện cuối dạng Web cho phép truy vấn và phân tích các cảnh báo được thu thập bởi Snort. là công cụ tốt cho việc tổng hợp và phân loại cảnh báo Nhược điểm : Là phần mềm Shareware. tương thích với database và cung cấp giao diện cuối hoàn chỉnh cho Snort Khuyết điểm: Do hoạt động trên nền Web nên tăng attack-surface 23 . tạo ra nhiều file HTML.dragos.A. đơn giản và cung cấp 1 cái nhìn tổng thể về tình trạng. tổng hợp. Điểm mạnh nhất của Cerebus chính là việc cho phép tổng hợp báo cáo từ nhiều file cảnh báo.com/cerebus/download. Nhược điểm : Chậm khi phải phân tích các file cảnh báo dung lượng lớn. Win32 ). điều này cho phép Admin của các mạng lớn có cái nhìn tổng quát.Ưu điểm : Miễn phí.html Ưu điểm : Nhanh.S. đòi hỏi phải có kỹ năng nhất định để sử dụng o B. cho phép duyệt. ( Xem thêm trong phần Demo ) Ưu điểm : Được hỗ trợ từ cộng đồng Snort với tài liệu đầy đủ. Rất tiếc là SnortSnarf đã không còn được tiếp tục phát triển và hỗ trợ o Cerebus : Là một công cụ được phát triển bởi Drados Ruiu.

Các tính năng chính: Tự động cập nhật các rule của Snort Stop-Start Snort Tạo và chỉnh sửa rule Tạo Snort template Tương thích với các nền tảng khác nhau Tương thích với SnortSam Kiến trúc client-server 1-nhiều Tương thích cơ sở dữ liệu 24 . Có thể nói.o SnortCenter SnoftCenter là 1 công cụ quản lý kiến trúc client-server. hoạt động trên nền web giúp cấu hình Snort và update các rule. cập nhật Snort ) 1 cách trực quan. SnortCenter đã cung cấp 1 phương thức quản lý Snort ( cấu hình. đơn giản và bảo mật.

nó cung cấp cảnh báo tương ứng với các điều kiện block cho trước đến 1 hoặc nhiều SnortSam agent được cài đặt tích hợp trên firewall hoặc có kết nối đến firewall.notcp. SnortSam đang được phát triển và ngày càng tương thích nhiều với các chủng loại firewall từ các hãng khác nhau như Checkpoint. IPS plugins (1) Snort Inline Snort Inline là một gói sửa đổi khác của Snort. Juniper.ascii.c. khi Snort phát hiện ra 1 vi phạm.sdrop. Cisco.snortsam.noip. cho phép kiểm tra các gói tin từ iptables . Listen on interface <if> Add Interface name to alert output Checksum mode (all.loại bỏ. MS ISA Server… SnortSam có thể download tại : http://www. xBSD ipfw.sourceforge. Snort Inline có thể được cài đặt bằng 2 cách : .noicmp. Agent này sẽ yêu cầu firewall block kết nối. full. (2) SnortSam SnortSam là 1 agent có tính năng tương tự Snort Inline.dùng .download gói cài đặt hoàn chỉnh tại http://snort-inline. điều này có thể gây ra khó khăn nếu như hệ thống triển khai đã sử dụng 1 loại firewall khác.sửa hoặc cho phép gói tin đi qua dựa trên các rule của Snort.none) Log to directory <ld> Log to this tcpdump file 25 . Snort Inline làm việc cùng với Iptables để cung cấp 1 giải pháp NIDS/IPS tổng thể nên khi triển khai phải triển khai cả Iptables./configure --enable-inline khi biên dịch mã nguồn của Snort . *nix IPTables.net/ 2. console.net/ Như đã nói ở trên.noudp. test or none (alert file alerts only) "unsock" enables UNIX socket logging (experimental). Snort switches USAGE: snort [-options] <filter options> Options: -A -b -B <mask> -c <rules> -C -d -D -e -f -F <bpf> -g <gname> -G <0xid> -h <hn> -H -i <if> -I -k <mode> -K <mode> -l <ld> -L <file> Set alert mode: fast.none) Logging mode (pcap[default]. phân tích và sau đó dùng các rule mới như drop. Log packets in tcpdump format (much faster!) Obfuscated IP addresses in alerts and packet dumps using CIDR mask Use Rules File <rules> Print out payloads with character data only (no hex) Dump the Application Layer Run Snort in background (daemon) mode Display the second layer header info Turn off fflush() calls after binary log writes Read BPF filters from file <bpf> Run snort gid as <gname> group (or gid) after initialization Log Identifier (to uniquely id events for multiple snorts) Home network = <hn> Make hash tables deterministic.reject để thông báo cho iptables thực hiện các tác vụ tiếp theo như hủy.

phải nhớ rằng ta đang thực sự tạo ra một dấu hiệu nhận biết cho 1 lưu thông mạng. phải nhớ rằng luôn có 1 khoảng cách nhất định giữa dấu hiệu ta muốn rule kích hoạt và thực tế a. Cú pháp : rule_action protocol source_address_range source_port_range direction_operator destination_address_range destination_port_range 26 . Ports được giám sát trong dấu hiệu nhận dạng ( signature ). điều này cho phép người dùng Snort trên toàn thế giới tạo ra một trong những tập dấu hiệu nhận dạng ( signature ) toàn diện nhất có sẵn cho mọi hệ IDS. chính vì vậy. Ngoài ra. Khi xây dựng một rule cho Snort.11 management and control frames Dump the raw packet data starting at the link layer Exit if Snort configuration problems occur Include year in timestamp in the alert and log files Set the performonitor preprocessor file path and name Show this information 3. mục tiêu của dấu hiệu nhận biết này là làm sao có thể phát hiện ra 1 kiểu lưu thông riêng bằng cách so sánh các lưu thông khác với nó. Các thành phần chính (1) Rule Header Rule Header quy định loại cảnh báo. Don't show banner and status report Read and process tcpdump file <tf> Include 'id' in snort_intf<id>.-M -m <umask> -n <cnt> -N -o -O -p -P <snap> -q -r <tf> -R <id> -s -S <n=v> -t <dir> -T -u <uname> -U -v -V -w -X -x -y -Z <file> -? Log messages to syslog (not alerts) Set umask = <umask> Exit after receiving <cnt> packets Turn off logging (alerts still work) Change the rule testing order to Pass|Alert|Log Obfuscate the logged IP addresses Disable promiscuous mode sniffing Set explicit snaplen of packet (default: 1514) Quiet. địa chỉ IP. Snort rule Marty Roesch. loại giao thức ( protocol ). Mỗi rule có thể được sửa đổi riêng biệt . tác giả của Snort.pid file name Log alert messages to syslog Set rules file variable n equal to value “v” Chroots process to <dir> after initialization Test and report on the current Snort configuration Run snort uid as <uname> user (or uid) after initialization Use UTC for timestamps Be verbose Show version number Dump 802. ngay từ đầu đã chọn cách tạo ra một cú pháp đơn giản và có tính mở rộng để viết rule. làm cho rule được sửa đổi ngày càng có sát với cơ sở hạ tầng mạng Snort đang bảo vệ. các rule có thể được tự tạo ra từ đầu và hoàn toàn sử dụng được với Snort điều này ho phép người dùng tùy chỉnh để tạo ra các quy tắc làm cho Snort trở thành một ứng dụng bảo mật thật sự thực dụng.

Offset .Uricontent . Những từ khóa lựa chọn này dùng để xây dựng nên dấu hiệu nhận biết cho lưu thông mạng mà ta muốn Snort giám sát. Dùng để giám sát 1 mẫu đặt trưng trong phần tải của gói tin ( packet’s payload ) Các từ khóa lựa chọn liên quan đến nội dung chiếm khoảng 75% trong bộ rule của Snort. depth. flow.168.Nocase . người ta thường hạn chế vùng tìm kiếm trong payload của gói tin bằng cách giới hạn tìm kiếm bằng các từ khóa offset.Content-list . 1 dải port hoặc loại trừ (2) Rule Option Rule Option chính là phần dấu hiệu nhận biết ( signature ) và được quy định ưu tiên. ). hoặc kiểu loại trừ với dấu “ ! “ ( ex: ! 192. Vì vậy. hỗn hợp vừa vùng vừa địa chỉ.(a) Rule Action : Thông số đầu tiên quy định Snort sẽ làm gì khi các gói tin phù hợp với rule.Có 3 lựa chọn : (i) Alert (ii) Log (iii) Pass (iv) Drop ( action riêng. khai báo qua biến ( ex: $EXTERNAL_NET. mới của Snort Inline ) (b) Protocol: Snort hỗ trợ 3 loại giao thức tại Rule Header là TCP. Bao gồm các từ khóa sau : . tuy nhiên việc sử dụng chúng cần rất cẩn thận vì chúng thường chiếm nhiều tài nguyên..Depth .Regex 27 . Các từ khóa lựa chọn này được phân làm 8 loại sau : (a) Các từ khóa lựa chọn liên quan đến nội dung ( Content-related ) Từ khóa lựa chọn quan trọng nhất lien quan đến việc kiểm tra nội dung.1/24 ) (e) Source and Destination Ports Snort hỗ trợ khai báo dạng 1 port.UDP và ICMP (c) Director operator Chỉ định cho Snort biết hướng sẽ áp dụng.Content . Phần dấu hiệu này được chỉ định bởi một hay nhiều từ khóa lựa chọn.1. có 2 loại là -> và < > (d) Source and Destination IP Address Snort hỗ trợ khai báo địa chỉ theo nhiều dạng : 1 vùng địa chỉ với netmask.

D.Fragbits ( M-More Fragments. stateless.Ipopts ( eol. R-Reserved Bit ).Ip_proto : quy định các loại giao thức 0 1 2 6 8 12 17 22 Sameip Fragoffset IP ICMP GGP TCP EGP PUP UDP IDP (d) Các từ khóa lựa chọn liên quan đến TCP ( TCP-related ) Flags ( TCP flags ) F S A R P U 0 1 2 Seq Ack FIN SYN ACK Reset Push Urgent No TCP Flags set Reserved-Bit #1 Reserved-Bit #2 28 . ts. to_server. rr. from_client. Bao gồm : .! ) . .Flow gồm các flow : to_client.Tos . ssrr ) .-.Dsize . sec. nop.Ttl . lsrr.Id . from_server ngoài ra có thể áp dụng rule cho các trạng thái riêng của phiên làm việc TCP bằng 2 thông số : established. satid.Don’t Fragment.(b) Các từ khóa lựa chọn liên quan đến phiên làm việc ( Session-related ) . +.Session (c) Các từ khóa lựa chọn liên quan đến IP ( IP-related ) Dùng để kiểm tra các thông số chứa trong IP Header .

(e) Các từ khóa lựa chọn liên quan đến ICMP ( ICMP-related ) Itype 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19-29 30 31 32 33 34 35 36 37-255 Echo reply Unassigned Unassigned Destination unreachable Source quench Redirect Alternate host address Unassigned Echo Router advertisement Router selection Time Exceeded Parameter problem Timestamp Timestamp reply Information request Information reply Address mask request Address mask reply Reserved (for robustness experiment) Traceroute Datagram conversion error Mobile host redirect IPv6 where-are-you IPv6 I-am-here Mobile registration request Mobile registration reply Reserved - Icode Destination unreachable 0—Net unreachable 1—Host unreachable 2—Protocol unreachable 3—Port unreachable 4—Fragmentation needed and DF bit set 5—Source route failed 6—Destination network unknown 7—Destination host unknown 8—Source host isolated 9—Communication with destination network is administratively prohibited 10—Communication with destination host is administratively prohibited 11—Destination network unreachable for TOS 12—Destination host unreachable for TOS Redirect 0—Redirect datagram for the network 1—Redirect datagram for the host 29 .

Tag ( type. msg.Reference bugtraq http://www. count.securityfocus. proxy ) .Sid <100 chưa dùng.Tạo 1 rule từ các kiến thức hệ thống mạng . Viết mới và thay đổi Snort rule (1) Các phương pháp chính .mitre. direction ) (g) Meta Option keywords .2—Redirect datagram for the TOS and network 3—Redirect datagram for the TOS and host Alternate host address Time Exceeded Parameter problem 0—Alternate address for host 0—Time to live exceeded in transit 1—Fragment reassembly time exceeded 0—Pointer indicates the error 1—Missing a required option 2—Bad length - Icmp_id Icmp_seq (f) Snort Response Option keywords Quy định hành vi của Snort khi phát hiện 1 rule phù hợp .Resp ( dùng cho module Flexible Response – FlexResp Snort ) .com/info/IDS mcafee http://vil.com/bid/ cve http://cve.Logto . dàng riêng sử dụng sau 100-1000000 dùng cho các rule chuẩn của Snort >1000000 dùng cho các rule tự tạo - Rev Classtype Priority (h) Các từ khóa lựa chọn khác (i) Rpc (ii) Rawbytes b. metric.React ( block.asp?virus_k= url http:// .org/cgi-bin/cvename.whitehats.Tạo 1 rule bằng việc phân tích lưu thông mạng 30 .nai.Chỉnh sửa rule có sẵn .cgi?name= arachnids http://www.Msg .com/vil/dispVirus. warn.

<EMBED> Giả sử ta chọn lọc tag <SCRIPT> Trước tiên ta tạo 1 rule kích hoạt khi lưu thông mạng có chứa <SCRIPT> trong nội dung : alert tcp any any -> any any (content:”<SCRIPT>”. Để tránh việc này. <OBJECT>. truy cập các phần không được phép truy cập. flow:to_server.) Thay đổi như trên có thể phát hiện ra các lưu thông có chứa <SCRIPT> trong nội dung liên quan đến các phiên HTTP. msg:”WEB-MISC XSS attempt”. Tuy nhiên. việc nghiên cứu và phát hiện ra các thuộc tính riêng của lưu thông đó là cực kỳ quan trọng.(2) Một ví dụ cơ bản trong việc viết và chỉnh sửa Snort rule Để có thể viết hoặc sửa 1 Snort rule có hiệu quả và chỉ kích hoạt đúng với lưu thông mạng mà ta muốn. Như vậy ta có thể tinh chỉnh rule như sau : alert tcp $EXTERNAL_NET any -> $HTTP_SERVERS $HTTP_PORTS (msg:”WEBMISC XSS attempt”. ta vẫn sẽ thấy các cảnh báo sai tích cực được tạo ra mỗi khi 1 trang được yêu cầu có chứa JavaScript. XSS thường dùng để đánh cắp cookies ( dùng để xác thực ). khi nạp rule này. kẻ tấn công có thể chèn những đoạn mã làm cho ứng dụng Web hoạt động 1 các bất thường.established. Ta lấy 1 ví dụ với lưu thông mạng của tấn công Cross-site scripting ( XSS ) Cross-site Scripting là một kiểu tấn công đến các Website cho phép các mã độc được nhúng vào các trang Web được tạo động. <APPLET>. Tuy nhiên nó cũng sẽ kích hoạt với các lưu thông mạng bình thường như khi 1 người dùng gửi 1 email với JavaScript tạo ra 1 sai tích cực ( false positive ). Đây chính là điểm mấu chốt mà ta có thể dùng để viết 1 rule. msg:”WEB-MISC XSS attempt”. Điểm chính của tấn công XSS là 1 scripting tag được chèn vào 1 trang cụ thể. Các tag thường được chèn vào là <SCRIPT> . nếu Server gửi tag <SCRIPT> trong 1 phản hồi thì nó thường là 1 lưu thông bình thường. Nếu Website không kiểm tra các tác vụ nhập từ người dùng. Một thuộc tính có thể chưa đặc tả được lưu thông đó nhưng tập các thuộc tính phải là một đặc tả đầy đủ để có thể phân biệt. hay tấn công ứng dụng Web. Nó được kích hoạt khi lưu thông từ mạng ngoài ( $EXTERNAL_NET ) gửi tới máy chủ Web ( $HTTP_SERVERS ) trên port mà dịch vụ HTTP chạy ( $HTTP_PORTS ). rule sẽ được kích hoạt.) Khi xảy ra tấn công XSS. ta phải sửa rule chỉ kích hoạt với các lưu thông Web alert tcp $EXTERNAL_NET any -> $HTTP_SERVERS $HTTP_PORTS (content:”<SCRIPT>”. content:”<SCRIPT>”. Như vậy ta phải tinh chỉnh lại rule và tìm kiếm những thuộc tính riêng biệt của lưu thông XSS Tấn công XSS xảy ra khi người dùng chèn tag <SCRIPT> trong 1 yêu cầu gửi đến Server.) 31 .

S. flow:to_server. 4. SnortSam.com Guide to Intrusion Detection and Prevention Systems (IDPS) – US National Institute of Standard and Technology Intrusion Detection with Snort . References: 1.E. 6. 2 option to_server và established chỉ định rule áp dụng cho các phiên kết nối từ người dùng tới Server.D. Snort Center.8.v. O’Reilly 2004 Snort. Cox & Christopher Gerg . content:”<SCRIPT>”. ----------------------o00----------------------- V. Đây chính là đặc trưng của tấn công XSS.v ta có thể dùng thêm từ khóa lựa chọn nocase ( not case-sensitive ) của mục Content-related.A. ) Đến đây thì việc tạo 1 rule phát hiện tấn công XSS hoàn tất.com Snort GUIs: A.C. Intrusion Detection Systems (IDS) – WindowsSecurity.established. nmoore@sourcefire. SnortCenter.Ở đây ta đã sử dụng từ khóa lựa chọn flow trong mục TCP-related. 3.and Beyond . mike@digitalguardian.I. 2. dùng khả năng tái tạo luồng TCP của Snort để nhận diện hướng của luồng lưu thông. Jun 2009 . Snort Inline.Jack Koziol.4. <script>. 5.net Various sources over Internet 32 . để tránh việc kẻ tấn công có thể tránh được bằng kỹ thuật lẩn tránh ( Evasion techniques ) như thay <SCRIPT> bằng các kiểu case-sensitive như <ScRiPT>. Cerebus. nocase. Sams Publishing 2003 Managing Security with Snort and IDS Tools – Kerry J.Mike Poor. . B. 7. 8. và quy định mức độ ưu tiên : alert $EXTERNAL_NET any -> $HTTP_SERVERS $HTTP_PORTS (msg:”WEBMISC XSS attempt”. Như vậy ta đã có 1 rule nhận diện được đặc trưng của luồng lưu thông trong tấn công XSS.1 Ubuntu 9 Installation guide – Nick Moore . Oinkmaster official documents Snort 2.

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->