Chia Sẽ Kinh Nghiệm Về IT



Tìm Kiếm Với Google
-


Gởi Ðề Tài Mới  Gửi trả lời
 
Công Cụ Xếp Bài
Tuổi 15-04-2010, 02:02 PM   #1
hoctinhoc
Guest
 
Trả Lời: n/a
Đề án xây dựng hệ thống phát hiện xâm nhập IDS

Đề án xây dựng hệ thống phát hiện xâm nhập IDS

I> Mục lục

Phần 1: TỔNG QUAN VỀ HỆ THỐNG PHÁT HIỆN XÂM NHẬP IDS.

Trong phần này mình sẽ trình bày với các bạn về một số vấn đề:
  1. Định nghĩa IDS
  2. Chức năng của IDS
  3. Kiến trúc của IDS
  4. Phân loạiIDS
  5. Công cụ hỗ trợ IDS
  6. Các kỹ thuật xử lý trong IDS
  7. Sự khác nhau cơ bản về IDS và IPS
Phần 2: CẤU HÌNH VÀ THỬ NGHIỆM HỆ THỐNG PHÁT HIỆN XÂM NHẬP VỚI SNORT IDS SOFTWARE.
  1. Giới thiệu về Snort IDS Software
  2. Cài đặt và Cấu hình(Trên cả hai môi trường:Linux và Windows)
  3. Mô hình ứng dụng Snort.

II> Chi Tiết

1. Định nghĩa IDS

1.1. Định nghĩa

IDS (Intrusion Detection System- hệ thống phát hiện xâm nhập)

là một hệ thống giám sát lưu thông mạng, các hoạt động khả nghi và cảnh báo cho hệ thống, nhà quản trị.
IDS cũng có thể phân biệt giữa những tấn công bên trong từ bên trong (từ những người trong công ty) hay tấn công từ bên ngoài (từ các hacker). IDS phát hiện dựa trên các dấu hiệu đặc biệt về các nguy cơ đã biết (giống như cách các phần mềm diệt virus dựa vào các dấu hiệu đặc biệt để phát hiện và diệt virus) hay dựa trên so sánh lưu thông mạng hiện tại với baseline (thông số đo đạc chuẩn của hệ thống) để tìm ra các dấu hiệu khác thường.
1.2. Phân biệt những hệ thống không phải là IDS
Theo một cách riêng biệt nào đó, các thiết bị bảo mật dưới đây không phải là IDS:
• Hệ thống đăng nhập mạng được sử dụng để phát hiện lỗ hổng đối với vấn đề tấn công từ chối dịch vụ (DoS) trên một mạng nào đó. Ở đó sẽ có hệ thống kiêm tra lưu lượng mạng.
• Các công cụ đánh giá lỗ hổng kiểm tra lỗi và lỗ hổng trong hệ điều hành, dịch vụ mạng (các bộ quét bảo mật).
• Các sản phẩm chống virus đã thiết kế để phát hiện phần mềm mã nguy hiểm như virus, Trojan horse, worm... Mặc dù những tính năng mặc định có thể rất giống hệ thống phát hiện xâm phạm và thường cung cấp một công cụ phát hiện lỗ hổng bảo mật hiệu quả.
• Tường lửa {1}
• Các hệ thống bảo mật/mật mã, ví dụ như VPN, SSL, S/MIME, Kerberos, Radius

2. Chức năng của IDS

Hệ thống phát hiện xâm nhập cho phép các tổ chức bảo vệ hệ thống của họ khỏi những đe dọa với việc gia tăng kết nối mạng và sự tin cậy của hệ thống thông tin. Những đe dọa đối với an ninh mạng ngày càng trở nên cấp thiết đã đặt ra câu hỏi cho các nhà an ninh mạng chuyên nghiệp có nên sử dụng hệ thống phát hiện xâm nhập trừ khi những đặc tính của hệ thống phát hiện xâm nhập là hữu ích cho họ, bổ sung những điểm yếu của hệ thống khác…IDS có được chấp nhận là một thành phần thêm vào cho mọi hệ thống an toàn hay không vẫn là một câu hỏi của nhiều nhà quản trị hệ thống. Có nhiều tài liệu giới thiệu về những chức năng mà IDS đã làm được những có thể đưa ra vài lý do tại sao nên sử dụng hệ thống IDS:
• Bảo vệ tính toàn vẹn (integrity) của dữ liệu, bảo đảm sự nhất quán của dữ liệu trong hệ thống. Các biện pháp đưa ra ngăn chặn được việc thay đổi bất hợp pháp hoặc phá hoại dữ liệu.
• Bảo vệ tính bí mật, giữ cho thông tin không bị lộ ra ngoài. Bảo vệ tính khả dụng, tức là hệ thống luôn sẵn sàng thực hiện yêu cầu truy nhập thông tin của người dùng hợp pháp.
• Bảo vệ tính riêng tư, tức là đảm bảo cho người sử dụng khai thác tài nguyên của hệ thống theo đúng chức năng, nhiệm vụ đã được phân cấp, ngăn chặn được sự truy nhập thông tin bất hợp pháp.
• Cung cấp thông tin về sự xâm nhập, đưa ra những chính sách đối phó, khôi phục, sửa chữa…

Nói tóm lại ta có thể tóm tắt IDS như sau:

- Chức năng quan trọng nhất là: giám sát – cảnh báo – bảo vệ
Giám sát: lưu lượng mạng và các hoạt động khả nghi.
Cảnh báo: báo cáo về tình trạng mạng cho hệ thống và nhà quản trị.
Bảo vệ: Dùng những thiết lập mặc định và sự cấu hình từ nhà quản trị mà có những hành động thiết thực chống lại kẻ xâm nhập và phá hoại.
- Chức năng mở rộng:
Phân biệt: "thù trong giặc ngoài" tấn công bên trong và tấn công bên ngoài.
Phát hiện: những dấu hiệu bất thường dựa trên những gì đã biết hoặc nhờ vào sự so sánh thông lượng mạng hiện tại với baseline.


Ngoài ra hệ thống phát hiện xâm nhập IDS còn có chức năng:
- Ngăn chặn sự gia tăng của những tấn công
- Bổ sung những điểm yếu mà các hệ thống khác chưa làm được
- Đánh giá chất lượng của việc thiết kế hệ thống
Khi IDS chạy một thời gian sẽ đưa ra được những điểm yếu đó là điều hiển nhiên. Việc đưa ra những điểm yếu đó nhằm đánh giá chất lượng việc thiết kế mạng cũng như cách bố trí bảo vệ phòng thủ của các nhà quản trị mạng.


3. Kiến trúc hệ thống IDS

Ngày nay người ta phân biệt các hệ thống IDS khác nhau thông qua việc phân tích và kiểm tra khác nhau của các hệ thống. Mỗi hệ thống có những ưu điểm cũng như khuyết điểm riêng nhưng các hệ thống có thể được mô tả dưới mô hình tổng quát chung như sau:
2.1. Các nhiệm vụ thực hiện
Nhiệm vụ chính của các hệ thống phát hiện xâm phạm là bảo vệ cho một hệ thống máy tính bằng cách phát hiện các dấu hiệu tấn công. Việc phát hiện các tấn công phụ thuộc vào số lượng và kiểu hành động thích hợp ( Hình 2.3.1.a). Để ngăn chặn xâm phạm tốt cần phải kết hợp tốt giữa “bả và bẫy” được trang bị cho việc nghiên cứu các mối đe dọa. Việc làm lệnh hướng sự tập trung của kẻ xâm nhập vào tài nguyên được bảo vệ là một nhiệm vụ quan trọng khác. Toàn bộ hệ thống cần phải được kiểm tra một cách liên tục. Dữ liệu được tạo ra từ các hệ thống phát hiện xâm nhập được kiểm tra một cách cẩn thận (đây là nhiệm vụ chính cho mỗi IDS) để phát hiện các dấu hiệu tấn công (sự xâm phạm).



This image has been resized. Click this bar to view the full image. The original image is sized 658x326.

Khi một hành động xâm nhập được phát hiện, IDS đưa ra các cảnh báo đến các quản trị viên hệ thống về sự việc này. Bước tiếp theo được thực hiện bởi các quản trị viên hoặc có thể là bản thân IDS bằng cách lợi dụng các tham số đo bổ sung (các chức năng khóa để giới hạn các session, backup hệ thống, định tuyến các kết nối đến bẫy hệ thống, cơ sở hạ tầng hợp lệ,…) – theo các chính sách bảo mật của các tổ chức (Hình 2.3.1b). Một IDS là một thành phần nằm trong chính sách bảo mật.
Giữa các nhiệm vụ IDS khác nhau, việc nhận ra kẻ xâm nhập là một trong những nhiệm vụ cơ bản. Nó cũng hữu dụng trong việc nghiên cứu mang tính pháp lý các tình tiết và việc cài đặt các bản vá thích hợp để cho phép phát hiện các tấn công trong tương lai nhằm vào các cá nhân cụ thể hoặc tài nguyên hệ thống.
Phát hiện xâm nhập đôi khi có thể đưa ra các báo cảnh sai, ví dụ những vấn đề xảy ra do trục trặc về giao diện mạng hoặc việc gửi phần mô tả các tấn công hoặc các chữ ký thông qua mail.


3.1. Kiến trúc của hệ thống phát hiện xâm nhập IDS


Kiến trúc của hệ thống IDS bao gồm các thành phần chính: thành phần thu thập gói tin (information collection), thành phần phân tích gói tin(Dectection), thành phần phản hồi (respontion) nếu gói tin đó được phát hiện là một tấn công của tin tặc. Trong ba thành phần này thì thành phần phân tích gói tin là quan trọng nhất và ở thành phần này bộ cảm biến đóng vai trò quyết định nên chúng ta sẽ đi vào phân tích bộ cảm biến để hiểu rõ hơn kiến trúc của hệ thống phát hiện xâm nhập là như thế nào.
Bộ cảm biến được tích hợp với thành phần sưu tập dữ liệu (Hình 2.3.2.c) – một bộ tạo sự kiện. Cách sưu tập này được xác định bởi chính sách tạo sự kiện để định nghĩa chế độ lọc thông tin sự kiện. Bộ tạo sự kiện (hệ điều hành, mạng, ứng dụng) cung cấp một số chính sách thích hợp cho các sự kiện, có thể là một bản ghi các sự kiện của hệ thống hoặc các gói mạng. Số chính sách này cùng với thông tin chính sách có thể được lưu trong hệ thống được bảo vệ hoặc bên ngoài. Trong trường hợp nào đó, ví dụ khi luồng dữ liệu sự kiện được truyền tải trực tiếp đến bộ phân tích mà không có sự lưu dữ liệu nào được thực hiện. Điều này cũng liên quan một chút nào đó đến các gói mạng.


Vai trò của bộ cảm biến là dùng để lọc thông tin và loại bỏ dữ liệu không tương thích đạt được từ các sự kiện liên quan với hệ thống bảo vệ, vì vậy có thể phát hiện được các hành động nghi ngờ. Bộ phân tích sử dụng cơ sở dữ liệu chính sách phát hiện cho mục này. Ngoài ra còn có các thành phần: dấu hiệu tấn công, profile hành vi thông thường, các tham số cần thiết (ví dụ: các ngưỡng). Thêm vào đó, cơ sở dữ liệu giữ các tham số cấu hình, gồm có các chế độ truyền thông với module đáp trả. Bộ cảm biến cũng có cơ sở dữ liệu của riêng nó, gồm dữ liệu lưu về các xâm phạm phức tạp tiềm ẩn (tạo ra từ nhiều hành động khác nhau).
IDS có thể được sắp đặt tập trung (ví dụ như được tích hợp vào trong tường lửa) hoặc phân tán. Một IDS phân tán gồm nhiều IDS khác nhau trên một mạng lớn, tất cả chúng truyền thông với nhau. Nhiều hệ thống tinh vi đi theo nguyên lý cấu trúc một tác nhân, nơi các module nhỏ được tổ chức trên một host trong mạng được bảo vệ.
Vai trò của tác nhân là để kiểm tra và lọc tất cả các hành động bên trong vùng được bảo vệ và phụ thuộc vào phương pháp được đưa ra – tạo phân tích bước đầu và thậm chí đảm trách cả hành động đáp trả. Mạng các tác nhân hợp tác báo cáo đến máy chủ phân tích trung tâm là một trong những thành phần quan trọng của IDS. DIDS có thể sử dụng nhiều công cụ phân tích tinh vi hơn, đặc biệt được trang bị sự phát hiện các tấn công phân tán. Các vai trò khác của tác nhân liên quan đến khả năng lưu động và tính roaming của nó trong các vị trí vật lý. Thêm vào đó, các tác nhân có thể đặc biệt dành cho việc phát hiện dấu hiệu tấn công đã biết nào đó. Đây là một hệ số quyết định khi nói đến nghĩa vụ bảo vệ liên quan đến các kiểu tấn công mới.
Giải pháp kiến trúc đa tác nhân được đưa ra năm 1994 là AAFID (các tác nhân tự trị cho việc phát hiện xâm phạm). Nó sử dụng các tác nhân để kiểm tra một khía cạnh nào đó về các hành vi hệ thống ở một thời điểm nào đó. Ví dụ: một tác nhân có thể cho biết một số không bình thường các telnet session bên trong hệ thống nó kiểm tra. Tác nhân có khả năng đưa ra một cảnh báo khi phát hiện một sự kiện khả nghi. Các tác nhân có thể được nhái và thay đổi bên trong các hệ thống khác (tính năng tự trị). Một phần trong các tác nhân, hệ thống có thể có các bộ phận thu phát để kiểm tra tất cả các hành động được kiểm soát bởi các tác nhân ở một host cụ thể nào đó. Các bộ thu nhận luôn luôn gửi các kết quả hoạt động của chúng đến bộ kiểm tra duy nhất. Các bộ kiểm tra nhận thông tin từ các mạng (không chủ từ một host), điều đó có nghĩa là chúng có thể tương quan với thông tin phân tán. Thêm vào đó một số bộ lọc có thể được đưa ra để chọn lọc và thu thập dữ liệu.


Ngoài ra còn có 1 số điểm chú ý sau:
- Kiến trúc, vị trí đặt hệ thống IDS: tùy thuộc vào quy mô tổ chức của doanh nghiệp cũng như mục đích sử dụng hệ thống IDS của doanh nghiệp.
- Chiến lược điều khiển: là sự mô tả rõ ràng cho mỗi hệ thống IDS về việc kiểm soát , kiểm tra thông tin đầu vào đầu ra:
+ Chiến lược tập trung: là việc điều khiển trực tiếp các thao tác như kiểm tra, phát hiện, phân tích, đáp trả, báo cáo từ vị trí trung tâm:
+Phân thành nhiều thành phần: Phát hiện, kiểm tra từ các vị trí thành phần rồi về báo cáo về vị trí trung tâm.
+Phân phối: Mỗi vùng sẽ có những trung tâm đại diện cho trung tâm chính trực tiếp điều khiển các thao tác giám sát, kiểm tra báo cáo.

4. Phân loại IDS

Có hai phương pháp khác nhau trong việc phân tích các sự kiện để phát hiện các vụ tấn công: phát hiện dựa trên các dấu hiệu và phát hiện sự bất thường. Các sản phẩm IDS có thể sử dụng một trong hai cách hoặc sử dụng kết hợp cả hai.

- Phát hiện dựa trên dấu hiệu: Phương pháp này nhận dạng các sự kiện hoặc tập hợp các sự kiện phù hợp với một mẫu các sự kiện đã được định nghĩa là tấn công.
- Phát hiện sự bất thường: công cụ này thiết lập một hiện trạng các hoạt động bình thường và sau đó duy trì một hiện trạng hiện hành cho một hệ thống. Khi hai yếu tố này xuất hiện sự khác biệt, nghĩa là đã có sự xâm nhập.
Các hệ thống IDS khác nhau đều dựa vào phát hiện các xâm nhập trái phép và những hành động dị thường. Quá trình phát hiện có thể được mô tả bởi 3 yếu tố cơ bản nền tảng sau:
- Thu thập thông tin (information source): Kiểm tra tất cả các gói tin trên mạng.
- Sự phân tích (Analysis): Phân tích tất cả các gói tin đã thu thập để cho biết hành động nào là tấn công.
- Cảnh báo (response): hành động cảnh báo cho sự tấn công được phân tích ở trên.

Network Base IDS (NIDS)

Hệ thống IDS dựa trên mạng sử dụng bộ dò và bộ bộ cảm biến cài đặt trên toàn mạng. Những bộ dò này theo dõi trên mạng nhằm tìm kiếm những lưu lượng trùng với những mô tả sơ lược được định nghĩa hay là những dấu hiệu. Những bộ bộ cảm biến thu nhận và phân tích lưu lượng trong thời gian thực. Khi ghi nhận được một mẫu lưu lượng hay dấu hiệu, bộ cảm biến gửi tín hiệu cảnh báo đến trạm quản trị và có thể được cấu hình nhằm tìm ra biện pháp ngăn chặn những xâm nhập xa hơn. NIPS là tập nhiều sensor được đặt ở toàn mạng để theo dõi những gói tin trong mạng so sánh với với mẫu đã được định nghĩa để phát hiện đó là tấn công hay không.

Được đặt giữa kết nối hệ thống mạng bên trong và mạng bên ngoài để giám sát toàn bộ lưu lượng vào ra. Có thể là một thiết bị phần cứng riêng biệt được thiết lập sẵn hay phần mềm cài đặt trên máy tính. Chủ yếu dùng để đo lưu lượng mạng được sử dụng. Tuy nhiên có thể xảy ra hiện tượng nghẽn cổ chai khi lưu lượng mạng hoạt động ở mức cao


Lợi thế của Network-Based IDSs:
- Quản lý được cả một network segment (gồm nhiều host)
- "Trong suốt" với người sử dụng lẫn kẻ tấn công
- Cài đặt và bảo trì đơn giản, không ảnh hưởng tới mạng
- Tránh DOS ảnh hưởng tới một host nào đó.
- Có khả năng xác định lỗi ở tầng Network (trong mô hình OSI)
- Độc lập với OS
Hạn chế của Network-Based IDSs:
- Có thể xảy ra trường hợp báo động giả (false positive), tức không có intrusion mà NIDS báo là có intrusion.
- Không thể phân tích các traffic đã được encrypt (vd: SSL, SSH, IPSec…)
- NIDS đòi hỏi phải được cập nhật các signature mới nhất để thực sự an toàn
- Có độ trễ giữa thời điểm bị attack với thời điểm phát báo động. Khi báo động được phát ra, hệ thống có thể đã bị tổn hại.
- Không cho biết việc attack có thành công hay không.
Một trong những hạn chế là giới hạn băng thông. Những bộ dò mạng phải nhận tất cả các lưu lượng mạng, sắp xếp lại những lưu lượng đó cũng như phân tích chúng. Khi tốc độ mạng tăng lên thì khả năng của đầu dò cũng vậy. Một giải pháp là bảo đảm cho mạng được thiết kế chính xác để cho phép sự sắp đặt của nhiều đầu dò. Khi mà mạng phát triển, thì càng nhiều đầu dò được lắp thêm vào để bảo đảm truyền thông và bảo mật tốt nhất.

Một cách mà các hacker cố gắng nhằm che đậy cho hoạt động của họ khi gặp hệ thống IDS dựa trên mạng là phân mảnh những gói thông tin của họ. Mỗi giao thức có một kích cỡ gói dữ liệu giới hạn, nếu dữ liệu truyền qua mạng lớn hơn kích cỡ này thì gói dữ liệu đó sẽ được phân mảnh. Phân mảnh đơn giản chỉ là quá trình chia nhỏ dữ liệu ra những mẫu nhỏ. Thứ tự của việc sắp xếp lại không thành vấn đề miễn là không xuất hiện hiện tượng chồng chéo. Nếu có hiện tượng phân mảnh chồng chéo, bộ cảm biến phải biết quá trình tái hợp lại cho đúng. Nhiều hacker cố gắng ngăn chặn phát hiện bằng cách gởi nhiều gói dữ liệu phân mảnh chồng chéo. Một bộ cảm biến sẽ không phát hiện các hoạt động xâm nhập nếu bộ cảm biến không thể sắp xếp lại những gói thông tin một cách chính xác.

Host Based IDS (HIDS)

Bằng cách cài đặt một phần mềm trên tất cả các máy tính chủ, IPS dựa trên máy chủ quan sát tất cả những hoạt động hệ thống, như các file log và những lưu lượng mạng thu thập được. Hệ thống dựa trên máy chủ cũng theo dõi OS, những cuộc gọi hệ thống, lịch sử sổ sách (audit log) và những thông điệp báo lỗi trên hệ thống máy chủ. Trong khi những đầu dò của mạng có thể phát hiện một cuộc tấn công, thì chỉ có hệ thống dựa trên máy chủ mới có thể xác định xem cuộc tấn công có thành công hay không. Thêm nữa là, hệ thống dựa trên máy chủ có thể ghi nhận những việc mà người tấn công đã làm trên máy chủ bị tấn công (compromised host).
Không phải tất cả các cuộc tấn công được thực hiện qua mạng. Bằng cách giành quyền truy cập ở mức vật lý (physical access) vào một hệ thống máy tính, kẻ xâm nhập có thể tấn công một hệ thống hay dữ liệu mà không cần phải tạo ra bất cứ lưu lượng mạng (network traffic) nào cả. Hệ thống dựa trên máy chủ có thể phát hiện các cuộc tấn công mà không đi qua đường công cộng hay mạng được theo dõi, hay thực hiện từ cổng điều khiển (console), nhưng với một kẻ xâm nhập có hiểu biết, có kiến thức về hệ IDS thì hắn có thể nhanh chóng tắt tất cả các phần mềm phát hiện khi đã có quyền truy cập vật lý.
Một ưu điểm khác của IDS dựa trên máy chủ là nó có thể ngăn chặn các kiểu tấn công dùng sự phân mảnh hoặc TTL. Vì một host phải nhận và tái hợp các phân mảnh khi xử lí lưu lượng nên IDS dựa trên host có thể giám sát chuyện này.
HIDS thường được cài đặt trên một máy tính nhất đinh. Thay vì giám sát hoạt động của một network segment, HIDS chỉ giám sát các hoạt động trên một máy tính. HIDS thường được đặt trên các host xung yếu của tổ chức, và các server trong vùng DMZ - thường là mục tiêu bị tấn công đầu tiên. Nhiêm vụ chính của HIDS là giám sát các thay đổi trên hệ thống, bao gồm (not all):
- Các tiến trình.
- Các entry của Registry.
- Mức độ sử dụng CPU.
- Kiểm tra tính toàn vẹn và truy cập trên hệ thống file.
- Một vài thông số khác.
Các thông số này khi vượt qua một ngưỡng định trước hoặc những thay đổi khả nghi trên hệ thống file sẽ gây ra báo động.


Lợi thế của HIDS:
- Có khả năng xác đinh user liên quan tới một event.
- HIDS có khả năng phát hiện các cuộc tấn công diễn ra trên một máy, NIDS không có khả năng này.
- Có thể phân tích các dữ liệu mã hoá.
- Cung cấp các thông tin về host trong lúc cuộc tấn công diễn ra trên host này.
Hạn chế của HIDS:
- Thông tin từ HIDS là không đáng tin cậy ngay khi sự tấn công vào host này thành công.
- Khi OS bị "hạ" do tấn công, đồng thời HIDS cũng bị "hạ".
- HIDS phải được thiết lập trên từng host cần giám sát .
- HIDS không có khả năng phát hiện các cuộc dò quét mạng (Nmap, Netcat…).
- HIDS cần tài nguyên trên host để hoạt động.
- HIDS có thể không hiệu quả khi bị DOS.
- Đa số chạy trên hệ điều hành Window. Tuy nhiên cũng đã có 1 số chạy được trên UNIX và những hệ điều hành khác.
Vì hệ thống IDS dựa trên máy chủ đòi hỏi phần mềm IDS phải được cài đặt trên tất cả các máy chủ nên đây có thể là cơn ác mộng của những nhà quản trị khi nâng cấp phiên bản, bảo trì phần mềm, và cấu hình phần mềm trở thành công việc tốn nhiều thời gian và là những việc làm phức tạp. Bởi vì hệ thống dựa trên máy chủ chỉ phân tích những lưu lượng được máy chủ nhận được, chúng không thể phát hiện những tấn công thăm dò thông thường được thực hiện nhằm chống lại một máy chủ hay là một nhóm máy chủ. Hệ thống IDS dựa trên máy chủ sẽ không phát hiện được những chức năng quét ping hay dò cổng (ping sweep and port scans) trên nhiều máy chủ. Nếu máy chủ bị thỏa hiệp thì kẻ xâm nhập hoàn toàn có thể tắt phần mềm IDS hay tắt kết nối của máy chủ đó. Một khi điều này xảy ra thì các máy chủ sẽ không thể tạo ra được cảnh báo nào cả.
Phần mềm IDS phải được cài đặt trên mỗi hệ thống trên mạng nhằm cung cấp đầy đủ khả năng cảnh báo của mạng. Trong một môi trường hỗn tạp, điều này có thể là một vấn đề bởi vì phần mềm IDS phải tương ứng nhiều hệ điều hành khác nhau. Do đó trước khi chọn một hệ thống IDS, chúng ta phải chắc là nó phù hợp và chạy được trên tất cả các hệ điều hành.



5.Công cụ hỗ trợ cho IDS

Có 1 số công cụ hỗ trợ cho hệ thống xâm nhập IDS, trong phần này chúng ta sẽ đề cập đến bốn công cụ hỗ trợ đó: hệ thống phân tích tổn thương, bộ kiểm tra toàn vẹn dữ liệu, honey pots, Padded cell. Những thành phần này có thể tăng cường, hỗ trợ, tổ chức như thế nào với hệ thống phát hiện xâm nhập IDS sẽ được làm rõ ở những mục dưới đây.

5.1 Hệ thống phân tích đánh giá tổn thương

Sự phân tích đánh giá tổn thương (sự định giá cũng được biết như tính dễ bị tổn thương) là công cụ kiểm tra xác định liệu có phải một mạng hay host có thể bị tổn thương tới những sự tấn công được biết. Sự đánh giá tổn thương đại diện cho một trường hợp đặc biệt của quá trình phát hiện xâm nhập. Những thông tin bao gồm tình trạng hệ thống và hậu qủa của những tấn công được phân tích đánh giá. Những thông tin này được tổng hợp phân tích tại tại bộ cảm biến.
Sự phân tích đánh giá tổn thương là một kỹ thuật quản lý an toàn rất mạnh và là sự bổ sung thích hợp tới việc sử dụng IDS, không phải như một sự thay thế. Cần phải có một tổ chức tin cậy quản lý những công cụ phân tích đánh giá tổn thương để theo dõi những hệ thống này.
a. Quá trình phân tích đánh giá tổn thương
Quá trình phân tích đánh giá tồn thương bao gồm những bước sau:
- Lấy 1 mẫu bao gồm tập hợp các thuộc tính của hệ thống.
- Kết quả của việc lấy mốc được cất vào một chỗ an toàn.
- Kết quả này được so sánh với ít nhất một mẫu trước đó hoặc một mẫu lý tưởng trước đó.
- Bất kỳ sự khác nhau giữa hai tập hợp được tổng hợp và báo cáo.
b. Các kiểu phân tích đánh giá tổn thương
Có hai kiểu phân tích đánh giá tổn thương dành cho Netword-based và host-based:
- Host-based: phân tích đánh giá tổn thương chính là việc đánh giá dữ liệu của hệ thống như dữ liệu, việc cấu hình, trạng thái của những thông tin khác.
- Network-based: Sự phân tích đánh giá tổn thương yêu cầu 1 kết nối từ xa tới hệ thống đích. Công việc đánh giá bao gồm ghi chú lại sự phản hồi của hệ thống hay đơn giản là thăm dò xem xét để biết những điểm yếu của hệ thống.

5.2. Kiểm tra toàn vẹn dữ liệu
Những bộ kiểm tra toàn vẹn dữ liệu là những công cụ an toàn mà bổ sung IDSs. Chúng tóm lược thông báo hay kiểm tra giải mã cho những dữ liệu và những đối tượng phê bình, so sánh nó với những giá trị tham khảo và việc đặt những dấu hiệu cho sự khác nhau hay thay đổi. Việc kiểm tra giải mã sẽ giúp biết nội dung của dữ liệu có bị thay đổi bởi tin tặc hay không. Việc thay đổi nội dung có nhiều kỹ thuật nhưng mục đích của tin tặc là gắn những thành phần vào nội dung để làm cầu nối trao đổi thông tin giữa hệ thống và máy của tin tặc hoặc là với mục đích phá hoại.
Mặc dù việc kiểm tra những thành phần thay đổi trong nội dung của dữ liệu hay còn gọi là sâu thường xuyên được sự hỗ trợ cập nhật từ những hãng chống virut, spyware hay trojan nhưng việc cập nhật còn quá chậm so với sự phát triển của những thành phần này.

5.3. Honey Pot và Padded Cell System

Honey pot là hệ thống những cạm bẫy được thiết kế để bẫy những tin tặc tấn công. Honey pot được thiết kế bao gồm những mục đích sau:
- Làm lệch hướng tin tặc ra khỏi hệ thống cần bảo vệ.
- Tập hợp thông tin về tin tặc và hành động của tin tặc.
- Lôi kéo tin tặc ở trên hệ thống dài hơn để đủ thời gian cho người quản trị phản hồi lại.
Padded Cell: khác với honey pot là hướng tin tặc theo kế hoạch của mình thì padded cell được thiết kế để theo dõi hành động thay đổi dữ liệu của tin tặc, đánh dấu sự thay đổi để biết mục đích của tin tặc.



6. Các kĩ thuật xử lý dữ liệu được sử dụng trong các hệ thống phát hiện xâm nhập



Phụ thuộc vào kiểu phương pháp được sử dụng để phát hiện xâm nhập, các cơ chế xử lý khác nhau (kỹ thuật) cũng được sử dụng cho dữ liệu đối với một IDS.Dưới đây là một số hệ thống được mô tả vắn tắt.

6.1. Hệ thống Expert (Expert system)

Hệ thống này làm việc trên một tập các nguyên tắc đã được định nghĩa từ trước để miêu tả các tấn công. Tất cả các sự kiện có liên quan đến bảo mật đều được kết hợp vào cuộc kiểm định và được dịch dưới dạng nguyên tắc if-then-else. Lấy ví dụ Wisdom & Sense và ComputerWatch (được phát triển tại AT&T).

6.2. Phát hiện xâm nhập dựa trên luật (Rule-Based Intrusion Detection)

Giống như phương pháp hệ thống Expert, phương pháp này dựa trên những hiểu biết về tấn công. Chúng biến đổi sự mô tả của mỗi tấn công thành định dạng kiểm định thích hợp. Như vậy, dấu hiệu tấn công có thể được tìm thấy trong các bản ghi (record). Một kịch bản tấn công có thể được mô tả, ví dụ như một chuỗi sự kiện kiểm định đối với các tấn công hoặc mẫu dữ liệu có thể tìm kiếm đã lấy được trong cuộc kiểm định. Phương pháp này sử dụng các từ tương đương trừu tượng của dữ liệu kiểm định. Sự phát hiện được thực hiện bằng cách sử dụng chuỗi văn bản chung hợp với các cơ chế. Điển hình, nó là một kỹ thuật rất mạnh và thường được sử dụng trong các hệ thống thương mại (ví dụ như: Cisco Secure IDS, Tôierald eXpert-BSM (Solaris)).

6.3. Phân biệt ý định người dùng (User intention identification)

Kỹ thuật này mô hình hóa các hành vi thông thường của người dùng bằng một tập nhiệm vụ mức cao mà họ có thể thực hiện được trên hệ thống (liên quan đến chức năng người dùng). Các nhiệm vụ đó thường cần đến một số hoạt động được điều chỉnh sao cho hợp với dữ liệu kiểm định thích hợp. Bộ phân tích giữ một tập hợp nhiệm vụ có thể chấp nhận cho mỗi người dùng. Bất cứ khi nào một sự không hợp lệ được phát hiện thì một cảnh báo sẽ được sinh ra.

6.4. Phân tích trạng thái phiên (State-transition analysis)

Một tấn công được miêu tả bằng một tập các mục tiêu và phiên cần được thực hiện bởi một kẻ xâm nhập để gây tổn hại hệ thống. Các phiên được trình bày trong sơ đồ trạng thái phiên. Nếu phát hiện được một tập phiên vi phạm sẽ tiến hành cảnh báo hay đáp trả theo các hành động đã được định trước.

6.5. Phương pháp Colored Petri Nets

Phương pháp này thường được sử dụng để tổng quát hóa các tấn công từ những hiểu biết cơ bản và để thể hiện các tấn công theo đồ họa. Hệ thống IDIOT của đại học Purdue sử dụng Colored Petri Nets. Với kỹ thuật này, các quản trị viên sẽ dễ dàng hơn trong việc bổ sung thêm dấu hiệu mới. Mặc dù vậy, việc tổng quát hóa một dấu hiệu phức tạp với dữ liệu kiểm định là một vấn đề gây tốn nhiều thời gian. Kỹ thuật này không được sử dụng trong các hệ thống thương mại.

6.6. Phương pháp phân tích thống kê (Statistical analysis approach)
Hành vi người dùng hay hệ thống (tập các thuộc tính) được tính theo một số biến thời gian. Ví dụ, các biến như là: đăng nhập người dùng, đăng xuất, số tập tin truy nhập trong một khoảng thời gian, hiệu suất sử dụng không gian đĩa, bộ nhớ, CPU… Chu kỳ nâng cấp có thể thay đổi từ một vài phút đến một tháng. Hệ thống lưu giá trị có nghĩa cho mỗi biến được sử dụng để phát hiện sự vượt quá ngưỡng được định nghĩa từ trước. Ngay cả phương pháp đơn giản này cũng không thế hợp được với mô hình hành vi người dùng điển hình. Các phương pháp dựa vào việc làm tương quan thông tin về người dùng riêng lẻ với các biến nhóm đã được gộp lại cũng ít có hiệu quả.
Vì vậy, một mô hình tinh vi hơn về hành vi người dùng đã được phát triển bằng cách sử dụng thông tin người dùng ngắn hạn hoặc dài hạn. Các thông tin này thường xuyên được nâng cấp để bắt kịp với thay đổi trong hành vi người dùng. Các phương pháp thống kê thường được sử dụng trong việc bổ sung trong IDS dựa trên thông tin hành vi người dùng thông thường.

6.7. Neural Networks

Phuơng pháp này sử dụng các thuật toán đang được nghiên cứu của chúng để nghiên cứu về mối quan hệ giữa các vector đầu vào - đầu ra và tổng quát hóa chúng để rút ra mối quan hệ vào/ra mới. Phương pháp neural network được sử dụng cho phát hiện xâm nhập, mục đích chính là để nghiên cứu hành vi của người tham gia vào mạng (người dùng hay kẻ xâm phạm). Thực ra các phương pháp thống kê cũng một phần được coi như neural networks. Sử dụng mạng neural trên thống kê hiện có hoặc tập trung vào các đơn giản để biểu diễn mối quan hệ không tuyến tính giữa các biến và trong việc nghiên cứu các mối quan hệ một cách tự động. Các thực nghiệm đã được tiến hành với sự dự đoán mạng neural về hành vi người dùng. Từ những kết quả cho thấy rằng các hành vi của siêu người dùng UNIX (root) là có thể dự đoán. Với một số ít ngoại lệ, hành vi của hầu hết người dùng khác cũng có thể dự đoán. Neural networks vẫn là một kỹ thuật tính toán mạnh và không được sử dụng rộng rãi trong cộng đồng phát hiện xâm nhập.

6.8. Computer immunology Analogies

Với sự nghiên cứu miễn dịch được chủ định để phát triển các kỹ thuật được xây dựng từ mô hình hành vi thông thường trong các dịch vụ mạng UNIX hơn là người dùng riêng lẻ. Mô hình này gồm có các chuỗi ngắn cuộc gọi hệ thống được tạo thành bởi các quá trình. Các tấn công khai thác lỗ hổng trong mã ứng dụng rất có khả năng gây ra đường dẫn thực thi không bình thường. Đầu tiên, một tập dữ liệu kiểm định tham chiếu được sưu tập để trình bày hành vi hợp lệ của các dịch vụ, sau đó kiến thức cơ bản được bổ sung thêm với tất cả các chuỗi được biết rõ về cuộc gọi hệ thống. Các mẫu đó sau đó được sử dụng cho việc kiểm tra liên tục các cuộc gọi hệ thống, để xem chuỗi được tạo ra đã được liệt kê trong cơ sở kiến thức chưa nếu không, một báo cảnh sẽ được tạo ra. Kỹ thuật này có tỉ lệ báo cảnh sai rất thấp. Trở ngại của nó là sự bất lực trong việc phát hiện lỗi trong cấu hình dịch vụ mạng.

6.9. Machine learning (nghiên cứu cơ chế)

Đây là một kỹ thuật thông minh nhân tạo, nó lưu luồng lệnh đầu ra người dùng vào các biểu mẫu vector và sử dụng như một tham chiếu của profile hành vi người dùng thông thường. Các profile sau đó được nhóm vào trong một thư viện lệnh người dùng có các thành phần chung nào đó. Việc tối thiểu hóa dữ liệu thường phải dùng đến một số kỹ thuật sử dụng quá trình trích dữ liệu chưa biết nhưng có khả năng hữu dụng trước đó từ những vị trí dữ liệu được lưu trữ với số lượng lớn. Phương pháp tối thiểu dữ liệu này vượt trội hơn đối với việc xử lý bản ghi hệ thống lớn (dữ liệu kiểm định). Mặc dù vậy, chúng kém hữu dụng đối với việc phân tích luồng lưu lượng mạng. Một trong những kỹ thuật tối thiểu hóa dữ liệu cơ bản được sử dụng trong phát hiện xâm nhập được kết hợp với các cây phán quyết. Các mô hình cây phán quyết cho phép ai đó có thể phát hiện các sự bất thường trong một cơ sở dữ liệu lớn. Kỹ thuật khác phải dùng đến các đoạn, cho phép trích mẫu của các tấn công chưa biết. Điều đó được thực hiện bằng việc hợp lệ hóa các mẫu đã được trích từ một tập kiểm định đơn giản với các mẫu khác được cung cấp cho tấn công chưa biết đã cất giữ. Một kỹ thuật tối thiểu hóa dữ liệu điển hình được kết hợp với việc tìm kiếm các nguyên tắc kết hợp. Nó cho phép ai đó có thể trích kiến thức chưa hiểu trước đó về các tấn công mới hoặc đã xây dựng trên mẫu hành vi thông thường. Sự phát hiện bất thường thường gây ra các báo cảnh sai. Với việc tối thiểu hóa dữ liệu, nó dễ dàng tương quan dữ liệu đã liên quan đến các báo cảnh với dữ liệu kiểm định tối thiểu, do đó giảm đáng kể xác suất báo sai.


7. Phân loại các dấu hiệu



7.1. Phát hiện dấu hiệu không bình thường


Hệ thống phát hiện xâm phạm phải có khả năng phân biệt giữa các hoạt động thông thường của người dùng và hoạt động bất thường để tìm ra được các tấn công nguy hiểm kịp thời. Mặc dù vậy, việc dịch các hành vi người dùng (hoặc session hệ thống người dùng hoàn chỉnh) trong một quyết định liên quan đến bảo mật phù hợp thường không đơn giản – nhiều hành vi không được dự định trước và không rõ ràng (Hình 2). Để phân loại các hành động, IDS phải lợi dụng phương pháp phát hiện dị thường, đôi khi là hành vi cơ bản hoặc các dấu hiệu tấn công,… một thiết bị mô tả hành vi bất thường đã biết (phát hiện dấu hiệu) cũng được gọi là kiến thức cơ bản.

7.2. Các mẫu hành vi thông thường- phát hiện bất thường

Các mẫu hành vi thông thường rất hữu ích trong việc dự đoán người dùng và hành vi hệ thống. Do đó các bộ phát hiện bất thường xây dựng profile thể hiện việc sử dụng thông thường và sau đó sử dụng dữ liệu hành vi thông thường để phát hiện sự không hợp lệ giữa các profile và nhận ra tấn công có thể.
Để hợp lý với các profile sự kiện, hệ thống bị yêu cầu phải tạo ra profile người dùng ban đầu để “đào tạo” hệ thống quan tâm đến sự hợp pháp hóa hành vi người dùng. Có một vấn đề liên quan đến việc làm profile ở đây đó là: khi hệ thống được phép “học” trên chính nó, thì những kẻ xâm nhập cũng có thể đào tạo hệ thống ở điểm này, nơi mà các hành vi xâm phạm trước trở thành hành vi thông thường. Một profile không tương thích sẽ có thể được phát hiện tất cả các hoạt động xâm nhập có thể. Ngoài ra, còn có một sự cần thiết nữa đó là nâng cấp profile và “đào tạo” hệ thống, một nhiệm vụ khó khăn và tốn thời gian.
Cho một tập các profile hành vi thông thường, mọi thứ không hợp với profile được lưu sẽ được coi như là một hoạt động nghi ngờ. Do đó, các hệ thống này được đặc trưng bởi hiệu quả phát hiện rất cao (chúng có thể nhận ra nhiều tấn công mặc dù tấn công đó là mới có trong hệ thống), tuy nhiên chúng lại có hiện tượng là tạo các cảnh báo sai về một số vấn đề.
Ưu điểm của phương pháp phát hiện bất thường này là: có khả năng phát hiện các tấn công mới khi có sự xâm nhập; các vấn đề không bình thường được nhận ra không cần nguyên nhân bên trong của chúng và các tính cách; ít phụ thuộc vào IDS đối với môi trường hoạt động (khi so sánh với các hệ thống dựa vào dấu hiệu); khả năng phát hiện sự lạm dụng quyền của người dùng.
Nhược điểm lớn nhất của phương pháp này là: Xác suất cảnh báo sai nhiều. Hiệu suất hệ thống không được kiểm tra trong suốt quá trình xây dựng profile và giai đoạn đào tạo. Do đó, tất cả các hoạt động người dùng bị bỏ qua trong suốt giai đoạn này sẽ không hợp lý. Các hành vi người dùng có thể thay đổi theo thời gian, do đó cần phải có một sự nâng cấp liên tục đối với cơ sở dữ liệu profile hành vi thông thường.
Sự cần thiết về đào tạo hệ thống khi thay đổi hành vi sẽ làm hệ thống không có được phát hiện bất thường trong giai đoạn đào tạo (lỗi tiêu cực).

7.3. Các dấu hiệu có hành vi xấu – phát hiện dấu hiệu

Thông tin xử lý hệ thống trong các hành vi bất thường và không an toàn (dấu hiệu tấn công – dựa vào các hệ thống) thường được sử dụng trong các hệ thống phát hiện xâm nhập thời gian thực (vì sự phức tạp trong tính toán của chúng không cao).
Các dấu hiệu hành vi xấu được chia thành hai loại:
• Các dấu hiệu tấn công – chúng miêu tả các mẫu hoạt động có thể gây ra mối đe dọa về bảo mật. Điển hình, chúng được thể hiện khi mối quan hệ phụ thuộc thời gian giữa một loạt các hoạt động có thể kết hợp lại với các hoạt động trung tính.
• Các chuỗi văn bản được chọn – các dấu hiệu hợp với các chuỗi văn bản đang tìm kiếm các hoạt động nghi ngờ.
Bất kỳ hoạt động nào không rõ ràng đều có thể bị xem xét và ngăn cản. Do đó, độ chính xác của chúng rất cao (số báo cảnh sai thấp). Tuy nhiên chúng không thực hiện một cách hoàn toàn và không ngăn cản hoàn toàn các tấn công mới.
Có hai phương pháp chính đã kết hợp sự phát hiện dấu hiệu này:
• Việc kiểm tra vấn đề ở các gói lớp thấp hơn – nhiều loại tấn công khai thác lỗ hổng trong các gói IP, TCP, UDP hoặc ICMP. Với kiểm tra đơn giản về tập các cờ trên gói đặc trưng hoàn toàn có thể phát hiện ra gói nào hợp lệ, gói nào không. Khó khăn ở đây có thể là phải mở gói và lắp ráp chúng lại. Tương tự, một số vấn đề khác có thể liên quan với lớp TCP/IP của hệ thống đang được bảo vệ. Thường thì kẻ tấn công hay sử dụng cách mở các gói để băng qua được nhiều công cụ IDS.
• Kiểm tra giao thức lớp ứng dụng – nhiều loại tấn công (WinNuke) khai thác các lỗ hổng chương trình, ví dụ dữ liệu đặc biệt đã gửi đến một kết nối mạng đã được thành lập. Để phát hiện có hiệu quả các tấn công như vậy, IDS phải được bổ sung nhiều giao thức lớp ứng dụng.
Các phương pháp phát hiện dấu hiệu có một số ưu điểm dưới đây: tỉ lệ cảnh báo sai thấp, thuật toán đơn giản, dễ dàng tạo cơ sở dữ liệu dấu hiệu tấn công, dễ dàng bổ sung và tiêu phí hiệu suất tài nguyên hệ thống tối thiểu.
Một số nhược điểm:
• Khó khăn trong việc nâng cấp các kiểu tấn công mới.
• Chúng không thể kế thừa để phát hiện các tấn công mới và chưa biết. Phải nâng cấp một cơ sở dữ liệu dấu hiệu tấn công tương quan với nó.
• Sự quản lý và duy trì một IDS cần thiết phải kết hợp với việc phân tích và vá các lỗ hổng bảo mật, đó là một quá trình tốn kém thời gian.
• Kiến thức về tấn công lại phụ thuộc vào môi trường hoạt đông – vì vậy, IDS dựa trên dấu hiệu những hành vi xấu phải được cấu hình tuân thủ những nguyên tắc nghiêm ngặt của nó với hệ điều hành (phiên bản, nền tảng, các ứng dụng được sử dụng…)
• Chúng dường như khó quản lý các tấn công bên trong. Điển hình, sự lạm dụng quyền người dùng xác thực không thể phát hiện khi có hoạt động mã nguy hiểm (vì chúng thiếu thông tin về quyền người dùng và cấu trúc dấu hiệu tấn công).
Các sản phẩm IDS thương mại thường sử dụng phương pháp phát hiện dấu hiệu cho hai lý do. Trước tiên, nó dễ dàng hơn trong việc cung cấp dấu hiệu liên quan đến tấn công đã biết và để gán tên đối với một tấn công. Thứ hai, cơ sở dữ liệu dấu hiệu tấn công được nâng cấp thường xuyên (bằng cách thêm các dấu hiệu tấn công mới phát hiện).

7.4. Tương quan các mẫu tham số

Phương pháp thứ ba về phát hiện xâm nhập khá khôn ngoan hơn hai phương pháp trước. Nó được sinh ra do nhu cầu thực tế rằng, các quản trị viên kiểm tra các hệ thống khác nhau và các thuộc tính mạng (không cần nhắm đến các vấn đề bảo mật). Thông tin đạt được trong cách này có một môi trường cụ thể không thay đổi. Phương pháp này liên quan đến sử dụng kinh nghiệm hoạt động hàng ngày của các quản trị viên như các vấn đề cơ bản cho việc phát hiện dấu hiệu bất thường. Nó có thể được xem như trường hợp đặc biệt của phương pháp Profile thông thường. Sự khác nhau ở đây nằm ở chỗ trong thực tế, một profile là một phần hiểu biết của con người.
Đây là một kỹ thuật mạnh, bời vì nó cho phép xâm nhập dựa trên các kiểu tấn công không biết. Hoạt động hệ thống có thể phát hiện các thay đổi tinh vi không rõ ràng đối với chính hoạt động đó. Nó kế thừa những nhược điểm trong thực tế là con người chỉ hiểu một phần giới hạn thông tin tại một thời điểm, điều đó có nghĩa là các tấn công nào đó có thể vượt qua mà không bị phát hiện.


Phần 2: CẤU HÌNH VÀ THỬ NGHIỆM HỆ THỐNG PHÁT HIỆN XÂM NHẬP VỚI SNORT IDS SOFTWARE.


1. Giới thiệu về Snort IDS Software

1.1. Một số kiến thức cơ bản về Snort

SNORT là một sản phẩm mã nguồn mở được phát triển nhằm phát hiện những xâm nhập trái phép vào hệ thống bởi những quy tắc hay luật đã được thiết lập sẵn, những thiết lập này dựa vào những dấu hiệu, giao thức và sự dị thường.
Snort sử dụng các luật được lưu trữ trong các file text, có thể được chỉnh sửa bởi người quản trị. Các luật được nhóm thành các kiểu. Các luật thuộc về mỗi loại được lưu trong các file khác nhau. File cấu hình chính của Snort là snort.conf. Snort đọc những luật này vào lúc khởi tạo và xây dựng cấu trúc dữ liệu để cung cấp các luật để bắt giữ mẫu vi phạm. Tìm ra các dấu hiệu và sử dụng chúng trong các luật là một vấn đề đòi hỏi sự tinh tế, vì càng sử dụng nhiều luật thì năng lực xử lý càng được đòi hỏi để thu thập dữ liệu trong thực tế. Snort có một tập hợp các luật được định nghĩa trước để phát hiện các hành động xâm nhập và các quản trị viên cũng có thể thêm vào các luật của chính mình. Quản trị viên cũng có thể xóa một vài luật đã được tạo trước để tránh việc báo động sai.
Snort bao gồm một hoặc nhiều sensor và một server CSDL chính.Các Sensor có thể được đặt trước hoặc sau firewall:
* Giám sát các cuộc tấn công vào firewall và hệ thống mạng
* Có khả năng ghi nhớ các cuộc vượt firewall thành công
3.1.2. Các thành phần của Snort
Snort được chia thành nhiều thành phần. Những thành phần này làm việc với nhau để phát hiện các cách tấn công cụ thể và tạo ra output theo một định dạng được đòi hỏi. Một IDS dựa trên Snort bao gồm các thành phần chính sau đây:
• Packet Decoder
• Preprocessor
• Dectection Engine
• Logging và Alerting System
• Output Modules

a. Packet Decoder (Bộ phận giải mã gói)

Bộ phận giải mã gói lấy các gói từ các giao diện mạng khác nhau và chuẩn bị cho việc gói tin được xử lí trước hoặc được gửi cho bộ phận phát hiện.
b. Preprocessor (Bộ phận xử lí trước)
Bộ phận xử lí trước là những thành phần được sử dụng với Snort để sắp xếp hoặc chỉnh sửa gói dữ liệu trước khi bộ phận phát hiện làm một vài xử lý để tìm ra gói tin có được sử dụng bởi kẻ xâm nhập hay không. Một vài bộ phận xử lý trước cũng thực thi việc phát hiện bằng cách tìm các dấu hiệu bất thường trong header của gói tin và tạo ra các cảnh báo. Bộ phận xử lí trước là rất quan trọng trong bất kì IDS nào, chúng chuẩn bị cho các gói dữ liệu được phân tích dựa trên các luật trong bộ phận phát hiện. Kẻ tấn công sử dụng nhiều kĩ thuật khác nhau để lừa IDS theo nhiều cách. Bộ phận xử lí trước cũng được sử dụng để tái hợp các gói tin. Trên IDS, trước khi áp dụng bất kì luật nào, phải tái hợp các gói tin lại để tìm ra các dấu hiệu. Bộ phận xử lí trước trong Snort có thể tái hợp các gói tin, giải mã HTTP URI, ráp lại các dòng TCP, v.v...Những chức năng này rất quan trọng trong hệ thống phát hiện xâm nhập

c. Dectection Engine (Bộ phận phát hiện):

Đây là phần quan trọng nhất của Snort. Trách nhiệm của nó là phát hiện có sự xâm nhập tồn tại trong gói tin hay không. Bộ phận phát hiện sử dụng các luật của Snort cho mục đích này. Nếu một gói tin giống với bất kì lậut nào, một hành động tương ứng sẽ được thực hiện. Đây là bộ phận then chốt về thời gian thực thi của Snort. Dựa vào bộ máy mạnh như thế nào và bao nhiêu luật định nghĩa mà nó có thể tốn những khoảng thời gian khác nhau đối với các gói tin khác nhau. Nếu lưu lượng trên mạng là quá lớn khi Snort đang hoạt động trong chế độ NIDS, có thể mất một vài gói tin và có thể thời gian đáp ứng không chính xác. Lưu lượng trên bộ phận phát hiện phụ thuộc vào các yếu tố sau:
* Số lượng các luật
* Sức mạnh của bộ máy mà Snort đang chạy
* Tốc độ của bus được sử dụng
* Lưu lượng trên mạng
Bộ phận phát hiện hoạt động theo những cách khác nhau ở các phiên bản khác nhau của Snort. Trong tất cả phiên bản 1.x của Snort, bộ phận phát hiện dừng việc xử lí gói tin khi phù hợp với một luật. Dựa vào luật, bộ phận phát hiện sẽ có các hành động tương ứng. Điều này có nghĩa là nếu một gói tin phù hợp với nhiều luật, chỉ có luật đầu tiên được áp dụng mà không xem xét đến các luật còn lại. Điều này làm nảy sinh một vấn đề. Một luật có độ ưu tiên thấp sẽ tạo ra một cảnh báo có độ ưu tiên thấp, nếu một luật có độ ưu tiên cao bị xếp sau trong chuỗi luật. Vấn đề này được giải quyết trong Snort phiên bản 2, khi mà tất cả các luật được so sánh trên một gói tin trước khi tạo ra một cảnh báo. Sau khi so sánh tất cả các luật, luật có độ ưu tiên cao nhất sẽ được chọn để tạo cảnh báo. Vì bộ phận phát hiện trong phiên bản 2 đã được viết lại hoàn toàn nên nó nhanh hơn rất nhiều so với các phiên bản trước đây.

d. Logging và alerting System (Hệ thống ghi và cảnh báo):

Phụ thuộc vào Dectection Engine phát hiện tìm thấy trong gói tin, gói tin có thể được sử dụng để ghi lại các hành vi hoặc tạo ra một cảnh báo. Các thông tin ghi lại được giữ trong các file text đơn giản hoặc các dạng khác.
e. Output Modules (Bộ phận đầu ra):
Module đầu ra hoặc plug-in có thể hoạt động theo nhiều cách phụ thuộc vào việc muốn lưu các output được tạo ra bằng hệ thống ghi và tạo cảnh báo như thế nào.

1.3. Các chế độ hoạt động của Snort
Snort có 3 chế độ hoạt động cơ bản:
• Sniffer (snort -v).
• Packet logger (snort -l)
• Network Intrusion Detection System (snort -A hoặc snort –c <path_to_conf_file>).

a. Snort là một Sniffer:

Các công cụ sniffer mạng như tcpdump, ethereal, và Tethereal có đầy đủ các đặc tính và phân tích gói tin một cách xuất sắc nó theo dõi lượng mạng trên bộ cảm biến Snort. Trong trường hợp này, sử dụng Snort như là một sniffer là khả thi. Kết quả xuất của chế độ Snort sniffer hơi khác so với các sniffer khác. Nó rất dễ để đọc và có thể thấy thích khả năng bắt giữ gói tin nhanh của nó. Một đặc tính hay của chế độ này là việc tóm tắt lưu lượng mạng khi kết thúc việc bắt giữ gói tin. Thỉnh thoảng, nó có thể là một công cụ gỡ dối hữu dụng cho nhà quản trị. Bật chế độ sniffer cho snort bằng cờ -v:


#snort –v

Trong lúc khởi động, Snort hiển thị chế độ, thư mục ghi log, và các giao diện mà nó đang lắng nghe. Khi việc khởi động hoàn tất, Snort bắt đầu xuất các gói tin ra màn hình. Kết quả xuất này khá cơ bản : nó chỉ hiển thị các header IP,TCP/UDP/ICMP và một số cái khác. Để thoát chế độ sniffer, sử dụng Ctrl-C. Snort thoát bằng cách tạo ra một bản tóm tắt các gói tin được bắt giữ, bao gồm các giao thức, thống kê phân mảnh và tái hợp gói tin. Để xem dữ liệu ứng dụng, sử dụng cờ -d. Tùy chọn này cung cấp các kết quả chi tiết hơn:


# snort –vd

Dữ liệu ứng dụng có thể thấy được qua các plain text trong gói tin. Trong trường hợp này, văn bản gửi từ một server DNS được thể hiện dưới dạng plain text. Để xem được chi tiết hơn, bao gồm các header lớp liên kết dữ liệu, sử dụng cờ -e. Việc sử dụng cả hai tùy chọn –d và –e sẽ cho hiển thị hầu như tất cả các dữ liệu trong gói tin:


# snort –vde

Các chuỗi thập lục phân hiển thị nhiều dữ liệu hơn. Có địa chỉ MAC và địa chỉ IP. Khi thực hiện kiểm tra trên một mạng hoặc bắt giữ dữ liệu bằng Snort, việc bật –vde cung cấp nhiều thông tin nhất. Để lưu lại trong logfile thay vì xuất ra console, sử dụng:


# snort -dve > ttooip.log.

Tóm lại, đây là các tùy chọn có thể sử dụng với chế độ sniffer của Snort. Những tùy chọn này có thể chạy độc lập hoặc kết hợp với cái khác
b. Snort là một Packet logger:
Bước tiếp theo sau khi sniffing các gói tin là ghi log chúng. Việc ghi log chỉ đơn giản bằng cách thêm tùy chọn –l, theo sau đó là thư mục muốn lưu trữ các log. Thư mục mặc định trong Snort là /var/log/snort. Nếu xác định một thư mục không tồn tại thì Snort sẽ báo một thông điệp lỗi. Có thể sử dụng các tùy chọn –d, -a và –e để điều khiển số lượng thông tin sẽ được ghi log cho mỗi gói tin. Trong ví dụ sau đây, thư mục log được thiết lập là /usr/local/log/snort, và các logfile bao gồm các payload gói tin:


# snort -1/usr/local/log/snort –d

Khi chạy trong chế độ này, Snort thu thập mỗi gói tin nó thấy và lưu chúng trong thư mục log theo kiểu phân cấp. Nói cách khác, một thư mục mới được tạo ra cho mỗi địa chỉ được bắt giữ và dữ liệu liên quan đến địa chỉ này được lưu trong thư mục đó. Snort lưu các gói tin thành các file ASCII, với tên file được tạo ra từ giao thức và số cổng. Cách tổ chức này làm cho nhà quản trị có thể dễ dàng thấy được ai đang kết nối với mạng, số cổng và giao thức họ đang sử dụng (sử dụng ls –R để liệt kê thư mục log). Hãy nhớ xác định biến mạng của cơ quan hay tổ chức (trong file cấu hình hoặc sử dụng -h ) để xác định chỉ ghi log cho mạng của cơ quan.
Cách tổ chức phân cấp này hữu dụng khi một số giới hạn các host được quan tâm hoặc muốn thoáng qua các địa chỉ IP của các host được bắt giữ. Tuy nhiên, thư mục log có thể ngày càng nhiều vì sự gia tăng thư mục và các file. Nếu ghi log tất cả lưu lượng trên một mạng lớn thì có thể sẽ bị tràn index Unix giới hạn tổng số file trong một file hệ thống) trước khi bị tràn bộ nhớ. Nếu một người nào đó thực hiện việc quét mạng và ánh xạ tất cả 65536 cổng TCP cũng như 65536 cổng UDP, sẽ đột ngột có hơn 131000 file trong một thư mục đơn. Sự bùng nổ file này có thể là một thử thách lớn cho bất kì một máy nào, và rất dễ trở thành cách tấn công DOS. Việc ghi log theo kiểu nhị phân có thể đọc được bởi Snort, tcpdump hoặc ethereal. Cách này làm tăng tốc độ và khả năng vận chuyển của việc bắt giữ gói tin. Hầu hết các hệ thống có thể bắt giữ và ghi log với tốc độ 100 Mbps mà không có vấn đề gì. Để ghi log các gói tin theo kiểu nhị phân, sử dụng –b switch. Ví dụ:

#snort-b -l /usr/local/log/snort/ttôip.log


Khi đã thực hiện việc bắt giữ gói tin, có thể đọc lại các file vừa tạo ra bằng khóa –r. Kết quả giống như sniffer của Snort. Lưu ý rằng –r không thể sử dụng với –C.


# snort -r /usr/local/log/snort/ttôip.log

Ở chế độ này, Snort không giới hạn việc đọc dữ liệu nhị phân được lưu trữ trong chế độ sniffer.

c. Snort là một NIDS:

Snort là một công cụ phát hiện xâm nhập tuyệt vời. Khi được sử dụng như là một NIDS, Snort cung cấp khả năng phát hiện xâm nhập gần như là thời gian thực. Chúng ta sẽ xem rất nhiều cách mà Snort có thể được sử dụng như là một NIDS và tất cả các tùy chọn cấu hình có thể. Trong chế độ cảnh báo, Snort cần một file cấu hình (thật ra, chỉ cần xác định vị trí của file snort.conf là đặt Snort trong chế độ này). Vị trí mặc định của file này là /etc/snort.conf. Nếu muốn đặt ở một vị trí khác, phải sử dụng khóa –c kèm với vị trí đặt file. Các cảnh báo được đặt trong file alert trong thư mục log (mặc định là (/var/log/snort). Snort sẽ thoát ra với với một lỗi nếu file cấu hình hoặc thư mục log không tồn tại.

Các cài đặt mặc định cho hầu như tất cả các mục trong file này là khá tốt (mặc dù sẽ có các cảnh báo nhầm). Biến duy nhất chúng ta mới thiết lập là biến RULE_PATH, chỉ cho Snort nơi của các file luật. File cảnh báo nằm trong thư mục /var/log/snort. File này chứa các cảnh báo được tạo ra khi Snort đang chạy. Các cảnh báo Snort được phân loại theo kiểu cảnh báo. Một luật Snort cũng xác định một mức độ ưu tiên cho một cảnh báo. Điều này cho phép lọc các cảnh báo có độ ưu tiên thấp.


2. Cài đặt và Cấu hình(Trên cả hai môi trường:Linux và Windows)

2.1. Cài đặt và Cấu Hình Snort trên Linux

2.2. Cài đặt và Cấu Hình Snort trên Windows

2.2.1 Cài đặt và Cấu Hình Snort trên Windows With Mysql và Apache

2.2.2 Cài đặt và Cấu Hình Snort trên Windows With Mysql và IIS (5,6)

2.2.3 Cài đặt và Cấu Hình Snort trên Windows With MSSQL và IIS


3. Một số mô hình ứng dụng Snort.















Theo: Sưu Tập (SaoBacDau, Internet)


  Trả lời ngay kèm theo trích dẫn này
The Following 2 Users Say Thank You to hoctinhoc For This Useful Post:
Tuổi 16-04-2010, 03:37 PM   #2
hoctinhoc
Guest
 
Trả Lời: n/a
Một số vấn đề các bạn có thể tham khảo thêm

Tìm hiểu cơ bản về IDS của Cisco


Tìm hiểu vê IDS và IDS trong mạng không dây


Tìm hiểu về "Honeypot" và "honeynet"


Chúc các bạn thành công
  Trả lời ngay kèm theo trích dẫn này
The Following User Says Thank You to hoctinhoc For This Useful Post:
Tuổi 26-07-2010, 10:30 PM   #3
canhcua5tht
Newbie
 
Gia nhập: Jul 2010
Trả Lời: 15
Mong có nhiều bài nữa :
canhcua5tht vắng mặt   Trả lời ngay kèm theo trích dẫn này
Tuổi 20-09-2010, 04:47 AM   #4
duckaka90
Newbie
 
Gia nhập: Sep 2010
Trả Lời: 1
xin phép
em xin phép bác "hoctinhoc" cho em mượn đề án này của bác làm đồ án hết môn nhé.bọn e chuẩn bị tìm đề tài để bảo vệ môn securyti+ ma chua biết lấy đề tài nào.hôm nay tình cờ đọc được bài viết này,thấy hay quá hi'.
duckaka90 vắng mặt   Trả lời ngay kèm theo trích dẫn này
Tuổi 21-09-2010, 10:52 AM   #5
hoctinhoc
Guest
 
Trả Lời: n/a
Chúc bạn thành công với đồ án của mình!
  Trả lời ngay kèm theo trích dẫn này
Gửi trả lời


Công Cụ
Xếp Bài

Quyền Hạn Của Bạn
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Mở
Hình Cảm xúc đang Mở
[IMG] đang Mở
Mã HTML đang Tắt




Bây giờ là 01:11 AM. Giờ GMT +7



Diễn đàn tin học QuantriNet
quantrinet.com | quantrimang.co.cc
Founded by Trương Văn Phương | Developed by QuantriNet's members.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.