Hệ thống phát hiện xâm phạm (IDS) (Phần 2)

Phân loại; các phương pháp và kỹ thuật

Trong phần trước chúng ta đã giải quyết các vấn đề kiến trúc và phân loại IDS. Trong phần hai này, chúng tôi sẽ giới thiệu cho các bạn những hướng dẫn sâu hơn nữa về IDS gồm có tổng quan về phân loại và giới thiệu thêm cho người đọc một số khái niệm cơ bản về IDS: phân tích cuộc kiểm định và xử lý “online” cũng như sự phát hiện dị thường và các phương pháp phát hiện dấu hiệu. Chúng tôi cũng sẽ giới thiệu về các kỹ thuật phát hiện chủ yếu.

Phân loại các hệ thống phát hiện xâm nhập

Trước hết hệ thống phát hiện xâm nhập IDS liên quan đến việc phát hiện các hoạt động tấn công. Do đó công cụ bảo mật mạng này sử dụng cả hai kỹ thuật chính. Kỹ thuật thứ nhất là phát hiện dị thường nhằm tìm ra vấn đề phát hiện xâm nhập liên quan đến các sai lệnh so với hệ thống thông thường hoặc trong hành vi người dùng. Kỹ thuật thứ hai sử dụng phát hiện dấu hiệu để phân biệt giữa các mẫu tấn công không bình thường và dấu hiệu phát hiện xâm phạm đã biết. Cả hai phương pháp đều có những ưu điểm và nhược điểm cũng như ứng dụng hợp lý.

Khi xem xét đến vùng chứa dữ liệu được sử dụng cho việc phát hiện xâm nhập, chúng ta có phân loại khác được sử dụng ở đây dưới dạng kiểu hệ thống được bảo vệ. Nhóm công cụ IDS sử dụng thông tin được lấy từ một host (hệ thống) – IDS host (HIDS) và các IDS sử dụng thông tin thu được từ đoạn mạng cục bộ (IDS mạng).

Hai loại chính của HIDS có thể phân biệt là:

- Hệ thống kiểm tra các cố gắng kết nối gửi tới (RealSecure Agent, PortSentry). Hệ thống này kiểm tra các kết nối mạng gửi đến và gửi đi của một host. Ở đây có một sự liên quan của những cố gắng kết nối trái phép với TCP hoặc các cổng UDP và cũng có thể phát hiện việc quét cổng gửi tới.

- Các hệ thống kiểm tra lưu lượng mạng (các gói mạng) đang cố gắng truy cập vào host. Các hệ thống này bảo vệ host bằng cách chặn gói nghi ngờ và xem xét đến vấn đề trọng tải của đường truyền (kiểm tra gói).

- Các hệ thống kiểm tra hoạt động đăng nhập vào lớp mạng của host được bảo vệ (HostSentry). Vai trò này là để kiểm tra các cố gắng đăng nhập và đăng xuất, tìm kiếm các hoạt động không bình thường trên một hệ thống ở những khoảng thời gian không mong đợi, các vị trí mạng cụ thể hoặc phát hiện nhiều cố gắng đăng nhập (điển hình là các cố gắng thất bại).

- Hệ thống kiểm tra các hoạt động siêu người dùng, người có quyền ưu tiên cao nhất (kiểm tra bản ghi). IDS quét các hoạt động bất thường, hoạt động của siêu người dùng được tăng hoặc hoạt động đã thực hiện ở những thời điểm cụ thể,…

- Hệ thống kiểm tra tính toàn vẹn file (Tripwire, AIDE). Các công cụ có khả năng này (bộ kiểm tra tính toàn vẹn) cho phép phát hiện bất cứ sự thay đổi nào xảy ra đối với các file quan trọng cho hệ điều hành.

- Hệ thống kiểm tra trạng thái thanh ghi (chỉ cho hệ thống Windows). Chúng được thiết kế để phát hiện bất kỳ những thay đổi không hợp lệ nào trong thanh ghi hệ thống và cảnh báo cho quản trị viên hệ thống.

- Hệ thống phát hiện xâm nhập dựa vào nhân Kernel thông dụng với Linux (LIDS, OpenWall). Các hệ thống này kiểm tra trạng thái chính của file và luồng của hệ điều hành, nhằm ngăn chặn việc tràn bộ đệm, khóa các truyền thông bất thường, ngăn chặn xâm nhập tấn công vào hệ thống. Thêm vào đó, chúng còn có thể khóa một số hoạt động mà chỉ siêu người dùng mới có (quyền truy vấn).

HIDS cư trú trên một máy tính đặc biệt và cung cấp bảo vệ cho hệ thống máy tính nào đó. Chúng không chỉ được trang bị để tạo điều kiện dễ dàng kiểm tra hệ thống mà còn gồm có cả module IDS điển hình khác, ví dụ: các module đáp trả (xem Phần 1).

Các sản phẩm HIDS như Snort, Dragon Squire, Emerald eXpert-BSM, NFR HID, Intruder Alert, tất cả đều thực hiện kiểu kiểm tra này.

Kiểu IDS – mạng (NIDS) cung cấp dữ liệu về hiệu suất mạng nội bộ. NIDS tập hợp lại các gói và phân tích chúng. Chúng không chỉ xử lý các gói đang gửi đến host cụ thể mà còn có thể được cài đặt trên các thành phần mạng tích cực, ví dụ trên bộ định tuyến.

Do sự phát hiện xâm nhập sử dụng dữ liệu thống kê trên trọng tải mạng, nên một NIDS đã tuyên bố có thể được phân biệt rõ ràng, ví dụ như các bộ kiểm tra lưu lượng (Novell Analyzer, Microsoft Network Monitor). Chúng thu thập tất cả các gói chúng thấy trên đoạn mạng mà không cần phân tích chúng và chỉ tập trung vào tạo các thống kê lưu lượng mạng.

Các hệ thống xâm nhập mạng điển hình là: Cisco Secure IDS (tên cũ là NetRanger), Hogwash, Dragon, E-Trust IDS.

Một số tác giả xem sự pha trộn giữa HIDS và NIDS như một lớp tách rời với Network Node IDS (NNIDS), Network Node IDS (NNIDS) có các tác nhân triển khai trên mỗi host bên trong mạng (NIDS điển hình sử dụng tác nhân mạng để kiểm tra toàn bộ các đoạn LAN). Thực tế, một NNIDS hoạt động giống như NIDS trên host lai vì tác nhân thường xử lý lưu lượng mạng trực tiếp đến host mà nó chạy ở trên. Lý do chính cho việc giới thiệu IDS lai như vậy là phải dùng đến khi online với các mạng đã mã hóa và dữ liệu đã được dự định đối với một host (chỉ có nguồn và đích có thể xem được lưu lượng mạng đã mã hóa). Hầu hết các hệ thống phát hiện xâm nhập cung cấp cho lĩnh vực thương mại thường là những công cụ lai, …. Điều đó có thể thấy được sức mạnh của HIDS và NIDS trong khái niệm đơn nhất.

HIDS quan sát lưu lượng host của chúng và có thể dễ dàng phát hiện các tấn công local-to-local hoặc tấn công local-to-root, bời chúng có một khái niệm rõ ràng về thông tin nội bộ phù hợp, ví dụ: chúng có thể khai thác IDS người dùng. Cũng vậy, công cụ phát hiện dị thường có độ bao phủ tốt hơn đối với các vấn đề bên trong vì khả năng phát hiện của chúng được dựa vào mẫu hành vi thông thường của người dùng.

IDS có thể hoạt động độc lập bên trong các ứng dụng tập trung hoặc tích hợp để tạo nên một hệ thống phân tán. Gần đây chúng ta có một kiến trúc đặc biệt với các tác nhân tự trị có thể giành quyền ưu tiên và tác động trở lại các tham số đo, thậm chí có thể di chuyển trên toàn mạng. Kiến trúc AAFID của các hệ thống này đã được trình bày trong phần 1.

Có thể phân loại hệ thống phát hiện xâm phạm dưới các hành vi của chúng, có thể là thụ động (đơn giản bằng cách chỉ đưa ra các báo cảnh và gói bản ghi mạng) hoặc có thể là tích cực – nghĩa là có thể phát hiện và đối phó với các tấn công, cố gắng vá lỗ hổng phần mềm trước khi bị tấn công,thực hiện trước bằng việc đăng xuất những kẻ xâm phạm tiềm ẩn, hoặc khóa các dịch vụ. Phần này sẽ được thảo luận trong phần 3.


Hình 1
: Phân loại hệ thống phát hiện xâm nhập

Xử lý kiểm định online

IDS có thể hoạt động một cách liên tục hoặc có chu kỳ (tương ứng là IDS thời gian thực và IDS khoảng thời gian), do đó chúng sử dụng hai phương pháp phát hiện xâm nhập khác nhau. Phân tích kiểm định là phương pháp phổ biến được sử dụng bởi các hệ điều hành một cách định kỳ. Ngược lại, IDS có thể triển khai trong môi trường thời gian thực được thiết kế cho việc kiểm tra online và phân tích các sự kiện hệ thống và hoạt động người dùng.

Xử lý kiểm định

Có nhiều vấn đề liên quan đến việc xử lý kiểm định (bản ghi sự kiện). Việc lưu trữ các báo cáo kiểm định phải tránh lưu trữ trong file bời vì những kẻ xâm nhập có thể sử dụng tính năng đó để tạo nhiều thay đổi không mong muốn. Nên giữ một số lượng nào đó các bản sao ghi sự kiện trên mạng, mặc dù nó có thể phải thêm vào các overhead cho cả hệ thống và mạng.

Ngoài ra, việc ghi mỗi sự kiện có nghĩa là tiêu hao một chút tài nguyên hệ thống (cả hệ thống nội bộ và mạng liên quan). Chính vì vậy thực hiện nén bản ghi sẽ là một cách làm tăng tải trọng hệ thống. Việc chỉ rõ các sự kiện được kiểm định là một vấn đề khó khăn bời vì còn có nhiều loại tấn công có thể chưa được phát hiện. Nó cũng khó dự đoán kích thước file phải lớn như thế nào vì người có kinh nghiệm chỉ có thể tạo một ước lượng từ đầu đến cuối. Cũng vậy, một thiết lập chu kỳ lưu thích hợp cho các file kiểm định hiện hành cũng không phải là một nhiệm vụ dễ dàng. Nhìn chung, điều này phụ thuộc vào giải pháp IDS cụ thể và cỗ máy tương quan của nó. Rõ ràng rằng, các file lưu trữ cần phải được lưu như bản copy cho các mục đích phân tích phục hồi.

Các hệ thống xử lý bản ghi có thể cũng có lỗ hổng trong tấn công từ chối dịch vụ (DoS), từ đó chúng đưa ra các cơ chế thẩm định không xác thực và không thích hợp do việc tràn không gian trống của hệ thống.

Các nguyên nhân chính phải có chức năng thẩm định này là:

  • Phát hiện các biểu hiện tấn công để phân tích rút kinh nghiệm;
  • Phát hiện hoạt động xâm nhập có định kỳ;
  • Phân biệt các tấn công thành công;
  • Phân biệt các điểm yếu của chính hệ thống;
  • Mở rộng sự truy cập và dấu hiệu người dùng, định nghĩa các nguyên tắc quan trọng về lưu lượng mạng cho IDS phát hiện dấu hiệu bất thường.
  • Đẩy lùi các tấn công tiềm tàng đơn giản bằng cách làm cho chúng biết về sự tồn tại các ý nghĩa của việc kiểm định.
  • Việc báo cáo kiểm định có thể cung cấp một biểu mẫu phòng chống cho người dùng chính đáng.
  • Phương pháp IDS sự kiện bản ghi cần phải có các khả năng dưới đây:
  • Cho ghi các tham số bản ghi sự kiện và hoạt động người dùng một dễ dàng, cung cấp tùy chọn ràng buộc cho các cơ chế ghi sự kiện khi thiếu không gian trống hoặc tấn công DoS.
  • Xử lý kiểm định cần phải sử dụng thêm các cơ chế (thu nạp, thông tin giả và tối thiểu dữ liệu) vì kích thước file rất lớn.
  • Tiêu tốn tài nguyên hệ thống tối thiểu có thể cho phép với các mục đích kiểm định.

Các ví dụ về hệ thống phát hiện xâm phạm có sử dụng xử lý kiểm định là:

  • SecureView để kiểm tra các bản ghi được cung cấp bởi CheckPoint Firewall-1
  • CMDS (Computer Misuse Detection System). Với một hệ thống chuyên gia kèm theo, nó sẽ phân tích tất cả các bản ghi sự kiện để nhận ra những hành vi người dùng bất thường.
  • ACID (Analysis Console for Intrusion Databases- Bảng phân tích cơ sở dữ liệu xâm nhập) – là một cỗ máy phân tích PHP để tìm kiếm và xử lý cơ sở dữ liệu những tình tiết được tạo ra bằng nhiều công cụ bảo mật khác nhau như IDS, tường lửa và các bộ phân tích lưu lượng mạng. ACID có một bộ tạo hàng đợi người dùng, có thể phân tích các gói ở trong tải trọng của nó, từ đó tìm ra những cảnh báo đúng giữa các cơ sở dữ liệu, điều này được thực hiện với sự kết hợp tiêu chuẩn nào đó. Nó cũng có thể quản lý báo cảnh và tạo các thông kê.

Xử lý online

Với việc sử lý online, một IDS thực hiện thẩm định các sự kiện hệ thống online. Nhìn chung, luồng gói mạng sẽ được kiểm tra một cách liên tục. Với loại xử lý này, phát hiện xâm nhập sử dụng kiến thức về hoạt động hiện hành trên mạng để nhận biết được các cố gắng tấn công có thể (nếu nó không tìm thấy tấn công thành công trong quá khứ).

Điều này tạo sự phức tạp trong tính toán, các thuật toán được sử dụng ở đây phải yêu cầu nhanh và hiệu quả do đó phải áp dụng thuật toán đơn giản. Điều này là do sự đáp ứng giữa những điều kiện cần thiết chính – khả năng phát hiện tấn công và sự phức tạp của các cơ chế xử lý dữ liệu được sử dụng trong đó.

Tại cùng một thời điểm, thiết lập một công cụ IDS xử lý “online” cần đến một số lượng lớn RAM bởi vì không có sự lưu trữ dữ liệu nào được sử dụng ở đây. Vì vậy, một IDS như vậy đôi khi bỏ lỡ các gói vì thực tế, ở đây có quá nhiều gói không phù hợp.

Số lượng dữ liệu được lựa chọn bằng bộ phát hiện rất nhỏ bởi vì nó chỉ quan sát các nội dung nhớ. Do vậy chỉ có một phần nhỏ thông tin được phân tích cho một chuỗi hoặc giá trị nào đó đang tìm kiếm.

Phương pháp chính được sử dụng trong phát hiện thời gian thực đơn giản là tìm kiếm các chuỗi kí tự trong gói lớp truyền tải, cụ thể là trong các header của chúng. Điều này có thể thực hiện bằng việc kiểm tra các địa chỉ IP khởi tạo kết nối hoặc bằng việc kiểm tra sự kết hợp cờ TCP/IP không thích hợp (để bắt các gói không hợp với các chuẩn đã biết). Một ví dụ về nghiên cứu gói ở đây là khi các địa chỉ cổng nguồn và đích được thiết lập là 21. Điều này không tuân theo chi tiết kỹ thuật FTP bởi vì số cổng nguồn phải lớn hơn 1024. Một ví dụ khác có thể là loại dịch vụ giá trị 0, một gói có các cờ SYN và FIN đều được thiết lập không hợp với việc đánh số của chuỗi hoặc những gì đã biết, giá trị ACK được lập khác 0 khi cờ ACK không được thiết lập,…
Tương phản với các phương pháp thẩm tra chuẩn, chỉ lựa chọn các gói trong luồng dữ liệu được tranh tra và quá trình thanh tra chỉ tìm kiếm thông tin trạng thái như gói đó có gồm mã nguy hiểm hay không.

Một phương pháp khác đôi chút được áp dụng trong phân tích lớp ứng dụng (FTP, POP3, HTTP,…). IDS dựa trên ứng dụng sử dụng sự kiểm tra các gói chuẩn để phân tích tải trọng TCP (gồm có cả các header). Với phương pháp này, các gói có liên quan trong luồng dữ liệu được kiểm tra và quá trình kiểm tra sẽ tìm kiếm thông tin về gói nào hợp lệ với gói điển hình (các lệnh) của một giao thức được cho. Như vậy, lỗ hổng từ chối dịch vụ POP3 được khai thác bằng việc làm bão hòa máy chủ POP3 với nhiều yêu cầu để thực thi một lệnh. Do đó, dấu hiệu tấn công được mở rộng bằng số lệnh đã gửi bởi một hệ thống và ngưỡng báo cảnh. Phương pháp này thừa nhận sự bất thường tìm thấy trong khi kiểm tra các gói, việc kiểm tra kích thước gói và các giá trị ngưỡng là để tìm ra các dấu hiệu biểu hiện tấn công từ chối dịch vụ, cũng tại lớp truyền tải. Các ví dụ khác về IDS kiểm tra gói chuẩn còn có việc phát hiện các virus email trước khi chúng đến được các hòm thư bằng cách tìm tiêu đề email hợp lệ hoặc tên đính kèm. Một công cụ có thể tìm kiếm mã nguy hiểm có thể thỏa hiệp hệ thống nếu bị tấn công, ví dụ, những khai thác về lỗ hổng bộ đệm đang tìm kiếm các dấu hiệu để kiểm tra trạng thái session người dùng để ngăn chặn, liệt kê cấu trúc thư mục trên một máy chủ FTP trước khi một người dùng đăng nhập thành công. Một trở ngại của phương pháp phân tích lớp cao nằm ở chỗ thực tế rằng nó rất tốn thời gian và phụ thuộc vào môi trường làm việc (giao thức lớp ứng dụng thay đổi khác nhau trong các hệ điều hành khác nhau).

Những ưu điểm của IDS thời gian thực:

  • Trội hơn về việc phát hiện các tấn công và thậm chí còn xử lý (khóa) chúng;
  • Khả năng bao phủ các lỗ hổng bảo mật kế đã có từ trước được đối với các kiểu tấn công, cụ thể như DoS, không thể phát hiện bằng sử dụng phương pháp phân tích kiểm định chung – phân tích lưu lượng mạng được cần đến ở đây;
  • Tiêu tốn ít tài nguyên hệ thống hơn so với các trường hợp khác.

Điểm yếu:

  • Sự nhận dạng tài nguyên được thực hiện dựa trên địa chỉ mạng được lấy từ gói (ví dụ, không sử dụng ID mạng). Địa chỉ tài nguyên có thể bị giả mạo, tạo các tấn công khó hơn trong việc lần vết và xử lý tự động.
  • Không thể quản lý được các gói đã mã hóa do đó không cung cấp được các thông tin cần thiết cho phát hiện xâm nhập.
  • Do module phân tích sử dụng tài nguyên hạn chế (chỉ trong bộ đệm) nên khả năng phát hiện bị hạn chế theo đó.
  • Việc quét liên tục lưu lượng mạng sẽ làm giảm thông lượng của mạng. Đây là một vấn đề quan trọng khi các công cụ IDS được triển khai gần tường lửa.

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.


Hình 2
: Các hành vi của người dùng trong hệ thống

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ữ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)

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).

Ví dụ dưới đây trình bày một dấu hiệu tấn công lấy từ chương trình Snort, đã phát hiện các gói ping ICMP có kích thước lớn hơn 800byte đến từ một mạng bên ngoài và đã kết hợp với bất kỳ cổng nào:

alert icmp $EXTERNAL_NET any -> $HOME_NET any (msg:"MISC large ICMP"; dsize: >800; reference:arachnids,246; classtype:bad-unknown; sid:499;)

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.

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:

- Hệ thống Expert, 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).

- Phân tích dấu hiệu 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ả về ngữ nghĩa 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 hoặc đầu vào của luồng dữ liệu theo một cách dễ hiểu. 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ư Stalker, Real Secure, NetRanger, Emerald eXpert-BSM).

- Phương pháp Colored Petri Nets 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 làm cho hợp 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.

- Phân tích trạng thái phiên, 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.

- Phương pháp phân tích thống kê, đây là phương pháp thường được sử dụng. Hành vi người dùng hoặc 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ố file truy nhập trong một chu kỳ 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 profile 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 profile người dùng ngắn hạn hoặc dài hạn. Các profile 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 profile hành vi người dùng thông thường.

- Neural Networks 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.

- Phân biệt ý định người dùng. 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.

- 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.

- 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 sử 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 cảnh sai.

Thứ Sáu, 04/05/2007 15:16
4,73 👨 11.190
0 Bình luận
Sắp xếp theo
    ❖ Kiến thức cơ bản