Thứ Năm, 12 tháng 12, 2013

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

Do số lượng xâm phạm ngày càng tăng, khi Internet và các mạng nội bộ càng ngày càng xuất hiện nhiều ở khắp mọi nơi, thách thức của các vấn đề xâm phạm mạng đã buộc các tổ chức phải bổ sung thêm hệ thống khác để kiểm tra các lỗ hổng về bảo mật CNTT. Hệ thống phát hiện xâm phạm (IDS) là một hệ thống gần đây được đông đảo những người liên quan đến bảo mật khá quan tâm. Bài viết này chúng tôi sẽ giới thiệu cho các bạn về chủ đề này, cụ thể là vấn đề tổng quan về một số loại tấn công có thể phát hiện, triệu chứng khi bị tấn công và nhiệm vụ của IDS, các kiến trúc khác nhau và những khái niệm trong lĩnh vực này.

IDS là gì?

IDS (Hệ thống phát hiện xâm phạm) là một hệ thống phòng chống, nhằm phát hiện các hành động tấn công vào một mạng. Mục đích của nó là phát hiện và ngăn ngừa các hành động phá hoại đối với vấn đề bảo mật hệ thống, hoặc những hành động trong tiến trình tấn công như sưu tập, quét các cổng. Một tính năng chính của hệ thống này là cung cấp thông tin nhận biết về những hành động không bình thường và đưa ra các báo cảnh thông báo cho quản trị viên mạng khóa các kết nối đang tấn công này. Thêm vào đó công cụ 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ổ chức (từ chính nhân viên hoặc khách hàng) và tấn công bên ngoài (tấn công từ hacker).

Những gì không phải là một IDS?

Trái ngược với những thuật ngữ được sử dụng trong các bài giảng về hệ thống phát hiện xâm phạm, không phải mọi thứ đều được quy vào mục này. 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
Các loại tấn công được phân thành hai loại như sau:
  • Bị động (được trang bị để tăng mức truy cập làm cho có thể thâm nhập vào hệ thống mà không cần đến sự đồng ý của tài nguyên CNTT)
  • Tích cực (các kết quả gây ra thay đổi trạng thái không hợp lệ của tài nguyên CNTT)
Dưới dạng mối quan hệ giữa nạn nhân và người xâm phạm, các tấn công được chia thành:
  • Bên trong, những tấn công này đến từ chính các nhân viên của công ty, đối tác làm ăn hoặc khách hàng
  • Bên ngoài, những tấn công đến từ bên ngoài, thường thông qua Internet.
Các tấn công cũng được phân biệt bằng hạng mục nguồn, cụ thể là nguồn đã thực hiện từ các hệ thống bên trong (mạng nội bộ, Internet hoặc từ các nguồn quay số từ xa). Bây giờ chúng ta hãy xem xét đến các loại tấn công có thể bị phát hiện bởi công cụ IDS và xếp chúng vào một chuyên mục đặc biệt. Các loại tấn công dưới đây có thể được phân biệt:
  • Những tấn công này liên quan đến sự truy cập trái phép đến tài nguyên.
    • Việc bẻ khóa và sự vi phạm truy cập
    • Trojan horses
    • Đánh chặn; hầu hết kết hợp với việc lấy cắp TCP/IP và sự đánh chặn thường sử dụng các cơ chế bổ sung để thỏa hiệp hệ thống
    • Sự giả mạo
    • Quét cổng và dịch vụ, gồm có quét ICMP (ping), UDP, TCP
    • Lấy dấu OS từ xa, ví dụ như việc kiểm tra phản ứng đối với các gói cụ thể, các địa chỉ cổng, phản ứng của ứng dụng chuẩn, các tham số ngăn xếp IP,…
    • Nghe gói tin mạng (một tấn công thụ động rất khó khăn phát hiện nhưng đôi khi vẫn có thể)
    • Lấy cắp thông tin, ví dụ như trường hợp bị lộ thông tin về quyền sở hữu.
    • Lạm dụng tính xác thực; một loại hình tấn công bên trong, ví dụ: nghi ngờ sự truy cập của một người dùng xác thực có thuộc tính kỳ lạ (đến từ một địa chỉ không mong muốn)
    • Các kết nối mạng trái phép
    • Sử dụng tài nguyên CNTT cho các mục đích riêng, ví dụ như truy cập vào các trang có hoạt động không lành mạnh
    • Lợi dụng điểm yếu của hệ thống để truy cập vào tài nguyên hoặc các quyền truy cập mức cao.
  • Sự thay đổi tài nguyên trái phép (sau khi đã chiếm được quyền truy cập)
    • Xuyên tạc tính đồng nhất, ví dụ: để lấy được các quyền quản trị viên hệ thống.
    • Thay đổi và xóa thông tin
    • Truyền tải và tạo dữ liệu trái phép, ví dụ: lập một cơ sở dữ liệu về các số thẻ tín dụng đã bị mất cắp trên một máy tính của chính phủ.
    • Thay đổi cấu hình trái phép đối với hệ thống và các dịch vụ mạng (máy chủ)
  • Từ chối dịch vụ (DoS)
    • Làm lụt (Flooding) – thỏa hiệp một hệ thống bằng việc gửi đi một số lượng lớn các thông tin không giá trị để làm tắc nghẽn lưu lượng hạn chế dịch vụ.
      • Ping (Smurf) – một số lượng lớn các gói ICMP được gửi đến một địa chỉ quảng bá.
      • Gửi mail – làm lụt với hàng trăm hoặc hàng nghìn các message trong một thời điểm ngắn.
      • SYN – khởi tạo một số lượng lớn các yêu cầu TCP và không tiến hành bắt tay hoàn toàn như được yêu cầu đối với một giao thức.
      • Hạn chế dịch vụ phân tán; đến từ nhiều nguồn khác nhau
    • Gây tổn hại hệ thống bằng việc lợi dụng các lỗ hổng của nó
      • Tràn bộ đệm (ví dụ: “Ping of Death” – gửi một số lượng lớn ICMP (vượt quá 64KB))
      • Tắt hệ thống từ xa
  • Tấn công ứng dụng web; các tấn công lợi dụng lỗi ứng dụng có thể gây ra như đã nói ở phần trên.
Bạn cần phải nhớ rằng, hầu hết các tấn công không phải là một hành động đơn, mà nó thường gồm có một số các sự kiện riêng lẻ

Bạn có gặp phải rủi ro

Để nhận ra các tấn công, chúng ta phải kiểm tra bất cứ các hành vi không bình thương nào của hệ thống. Điều này có thể là cách hữu dụng trong việc phát hiện các tấn công thực. Chúng ta hãy xem xét thêm về vấn các triệu chứng để có thể lần theo dấu vết của những kẻ xâm phạm.

Sử dụng các lỗ hổng đã được biết đến

Trong hầu hết các trường hợp, việc cố gắng lợi dụng các lỗi trong hệ thống bảo mật của một tổ chức nào đó có thể bị coi như hành vi tấn công, đây cũng là triệu chứng chung nhất cho một sự xâm phạm. Mặc dù vậy bản thân các tổ chức có thể phải có các biện pháp chống lại kẻ tấn công bằng cách sử dụng các công cụ hỗ trợ trong việc bảo vệ mạng –công cụ đó được gọi là bộ quét tình trạng file và bảo mật. Chúng hoạt động nội bộ hoặc từ xa, tuy nhiên chúng cũng thường bị những kẻ xâm nhập nghiên cứu rất kỹ.

Các công cụ này thường cũng là con dao hai lưỡi, có sẵn cho cả người dùng và kẻ tấn công. Việc kiểm tra tính đúng đắn về cách sử dụng file bằng các bộ quét toàn vẹn và việc hiểu biết đến các bộ quét lỗ hổng là cần thiết để phát hiện những cuộc tấn công đang trong quá trình thực thi hoặc lần theo những hỏng hóc từ các tấn công thành công. Từ những vấn đề đó nảy sinh ra các vấn đề công nghệ dưới đây:
  • Sự phát hiện của bộ quét. Công cụ kiểm tra tính toàn vẹn file hoạt động theo một cách có hệ thống để có thể sử dụng các kỹ thuật mô hình hóa và các công cụ đặc biệt cho mục đích phát hiện, ví dụ: phần mềm anti-SATAN.
  • Một sự tương quan giữa việc quét và sử dụng là rất cần thiết – việc quét các lỗ hổng có thể cần phải sâu hơn sử dụng một tính năng dịch vụ, điều này nghĩa là nó có thể báo trước được những tấn công có thể xuất hiện trong tương lai.
Hoạt động mạng khác thường có tính chất định kỳ

Một kẻ xâm phạm đang muốn tấn công một hệ thống thường khai thác các ứng dụng và tiến hành nhiều phương pháp thử. Các hoạt động xâm phạm thường khác với hoạt động của người dùng đang làm việc với hệ thống. Bất kỳ một công cụ kiểm tra thâm nhập đều có thể phân biệt các hoạt động khả nghi sau một ngưỡng. Nếu vượt quá một ngưỡng nào đó đã được đặt trước thì sẽ có một cảnh báo xuất hiện và công bố cho bạn biết. Đây là kỹ thuật thụ động cho phép phát hiện kẻ xâm nhập mà không cần phải tìm một chứng cứ rõ ràng mà chỉ cần qua việc kiểm tra định lượng.

Phương pháp thụ động sử dụng trong việc phát hiện xâm nhập được điều khiển từ cơ sở dữ liệu về các dấu hiệu tấn công tái diễn đều đặn và được xem xét theo các khía cạnh dưới đây:
  • Các ngưỡng lặp lại nhằm để giúp cho việc phân biệt hoạt động hợp lệ và nghi ngờ (để kích hoạt các báo cảnh). Các hoạt động mạng có thể được nhận dạng bằng sử dụng nhiều giá trị tham số được lấy từ (ví dụ) profile người dùng hoặc trạng thái Session.
  • Thời gian giữa những lần lặp là một tham số để xác định thời gian trôi qua giữa các sự kiện diễn ra liền kề nhau, ví dụ, một hoạt động bị nghi ngờ nếu xuất hiện trong khoảng 2 phút có đến 3 lần đăng nhập không thành công.
  • Xây dựng một cơ sở dữ liệu ứng với các dấu hiệu tấn công. Một kẻ tấn công có thể có các hành động trung tính (hầu như xảy ra trong giai đoạn thăm dò) và điều đó có thể làm sai lệnh các thiết bị phòng chống IDS.
Các lệnh không được đánh hoặc trả lời trong các session tự động

Các dịch vụ và giao thức mạng được minh chứng theo những cách nghiêm ngặt và sử dụng các công cụ phần mềm nhận dạng. Bất kỳ một sự không tương thích nào với các mẫu đã được đưa ra (gồm có các lỗi con người như việc xuất hiện lỗi in trong gói mạng) có thể là thông tin có giá trị để phát hiện ra dịch vụ đang bị nhắm đến bởi kẻ xâm nhập.

Nếu hệ thống kiểm định sử dụng những tiện nghi, ví dụ như giữ chậm mail, thì chuỗi bản ghi của nó sẽ thể hiện thói quen thông thường hoặc có thể đoán trước . Mặc dù vậy, nếu bản ghi chỉ thị rằng một quá trình đặc biệt nào đó đã cung cấp các lệnh không hợp lệ thì đây vẫn có thể là một triệu chứng của một sự kiện bình thường hoặc một sự giả mạo.

Kiểm tra những tác động tấn công:
  • Phát hiện tấn công để khôi phục lại được các lệnh hoặc câu trả lời dưới đây bằng việc khởi chạy chúng.
  • Phát hiện một số tấn công thất bại có thể thấy được giao thức cú pháp của những lần tấn công thành công trước đó.
  • Việc phát hiện các tấn công đang nghiên cứu để thích nghi nhằm bắt các lỗi liên quan đến cùng một đối tượng (dịch vụ, host). Sau một chu kỳ nào đó, các lỗi này sẽ ngừng.
Mâu thuẫn trực tiếp trong lưu lượng

Bất cứ sự mâu thuẫn trực tiếp nào trong các gói hoặc session là một trong những triệu chứng tấn công tiềm ẩn. Xem xét dữ liệu nguồn và địa điểm (trong nước hoặc nước ngoài) có thể nhận dạng trực tiếp về một gói tin.

Luồng Session được nhận dạng trực tiếp ngay từ gói đầu tiên. Mặc dù vậy, yêu cầu cho dịch vụ trong mạng nội bộ lại là một session đang tới và một quá trình kích hoạt một Web dựa vào dịch vụ từ một mạng nội bộ là một session gửi đi.

Sự mâu thuẫn trực tiếp dưới đây có thể được xem như các dấu hiệu của một vụ tấn công:
  • Các gói đến từ Internet và được nhận dạng bởi địa chỉ mạng nội bộ của chúng – yêu cầu dịch vụ đang tới từ bên ngoài, trong trường hợp đó các gói có địa chỉ nguồn bên trong của chúng. Tình huống này có thể là dấu hiệu của một tấn công giả mạo IP bên ngoài. Các vấn đề như vậy có thể được giải quyết tại các bộ định tuyến, chúng có thể so sánh địa chủ nguồn với vị trí đích. Trong thực tế, số ít bộ định tuyến hỗ trợ tính năng bảo mật này bởi vì đây là lĩnh vực dành cho tường lửa.
  • Các gói sinh ra trong mạng nội bộ (gửi đi) và đã gửi đến mạng ở ngoài với một địa chỉ đích của nó – trường hợp ngược lại. Kẻ xâm nhập thực hiện từ bên ngoài và nhắm vào một hệ thống ở ngoài
  • Các gói có các cổng nguồn và đích không mong muốn – nếu cổng nguồn của một gói đang tới hoặc yêu cầu gửi đi không phù hợp với loại dịch vụ thì điều này sẽ thể hiện như một hành động xâm nhập (hoặc quét hệ thống). Ví dụ: yêu cầu Telnet Service trên cổng 100 trong môi trường có thể xảy ra thì một dịch vụ như vậy vẫn không thể được hỗ trợ (nếu có). Sự mâu thuẫn trực tiếp hầu như đều có thể được phát hiện bằng tường lửa để gạt bỏ lại các gói không hợp lệ. Mặc dù vậy, các tường lửa không phải lúc nào cũng được ưu tiên cho hệ thống phát hiện xâm phạm.
Các thuộc tính không mong muốn

Các trường hợp thường xảy ra nhất là ở những nơi phải xử lý một số lượng lớn các thuộc tính của gói hoặc các yêu cầu cụ thể đối với dịch vụ. Chúng ta hoàn toàn có thể định nghĩa mẫu thuộc tính mong đợi. Nếu các thuộc tính gặp phải không phù hợp với mẫu này thì nó có thể là một hành động xâm phạm.
  • Các thuộc tính thời gian và lịch biểu – trong môi trường nào đó, hành vi mạng cụ thể có thể xảy ra một cách thường xuyên tại một thời điểm nào đó trong ngày. Nếu hành vi thông thường này bị phá vỡ thì trường hợp này cần phải được kiểm tra. Ví dụ, chúng tôi sử dụng một công ty, nơi mà việc vận chuyển được tiến hành vào chiều thứ sáu hàng tuânà. Bằng cách đó, dữ liệu số trao đổi trong các phiên giao dịch đang làm việc tại thời điểm đó hoặc vào ngày hôm đó được xem như các hành động bình thường. Tuy nhiên nếu thứ sáu là ngày nghỉ mà vẫn xuất hiện việc truyền tải dữ liệu thì vấn đề này cần phải kiểm tra.
  • Thuộc tính tài nguyên hệ thống. Các xâm phạm nào đó thường liên làm ảnh hưởng xấu cho một số các thuộc tính hệ thống. Việc bẻ khóa bằng cách thử lặp đi lặp lại password nhiều lần thường liên quan đến sự sử dụng phần lớn hiệu suất CPU giống như các tấn công DoS với các dịch vụ hệ thống. Sử dụng nhiều tài nguyên hệ thống (bộ vi xử lý, bộ nhớ, ổ đĩa, các tiến trình hệ thống, các dịch vụ và kết nối mạng) đặc biệt là những thời điểm không bìng thường rất có thể là một dấu hiệu.
  • Với các gói có các thiết lập TCP phúc đáp không mong đợi. Nếu có một tập ACK-flag thông qua một gói và không có SYN-packet (gói đồng bộ) trước được gửi thì cũng có thể là một trường hợp tấn công (hoặc quét dịch vụ). Tình huống như vậy có thể cũng là trường hợp bị hỏng gói, sự cố mạng đối với các phần mềm chứ không nhất thiết là một tấn công.
  • Dịch vụ trộn lẫn các thuộc tính. Thông thường chúng ta có thể định nghĩa một tập hợp chuẩn các dịch vụ vào ra để cung cấp cho một người dùng cụ thể. Ví dụ: nếu người dùng đang trong chuyến đi công tác của họ, anh ta muốn sử dụng mail và các tùy chọn truyền tải file. Bất kỳ những cố gắng nào liên quan đến tài khoản của anh ta thông qua Telnet để truy cập vào các cổng đều có thể là những tấn công.
Cũng có một khái niệm tổng quát hơn so với sự trộn lẫn dịch vụ, cụ thể là người dùng và các profile dịch vụ giúp đỡ trong việc phân biệt các thuộc tính điển hình và các thuộc tính không mong muốn. Một file dấu hiệu giữ một số các dịch vụ chung của một người dùng cụ thể cũng có thể lưu thông tin bổ sung đa thuộc tính. Các thông tin này bao gồm giờ làm việc liên quan đến hệ thống của người dùng, vị trí của máy trạm làm việc (vị trí địa lý, địa chỉ IP), cường độ sử dụng tài nguyên, khoảng thời gian session điển hình bởi các dịch vụ đơn lẻ.

Các vấn đề không được giải thích

Một kẻ xâm phạm dấu mặt có thể thiết kế các hành động nguy hiểm, các hành động này thường sẽ gây ra những vấn đề kỳ cục trong hành vi của một hệ thống. Việc kiểm tra các ảnh hưởng như vậy thường khó khăn bởi vì vị trí của chúng rất khó có thể phát hiện. Dưới đây là một số ví dụng của nó:
  • Các vấn đề không mong muốn với phần cứng hoặc phần mềm hệ thống, ví dụ máy chủ chạy chậm, một số tiện ích không hoạt động, những lần khởi động lại hệ thống không mong muốn, thay đổi các thiết lập đồng hồ hệ thống.
  • Các vấn đề tài nguyên hệ thống: tràn file hệ thống; sự sử dụng hiệu suất CPU không cách không bình thường.
  • Các thông báo kỳ cục từ các tiện ích hệ thống, các tiện ích hệ thống không hoạt động hoặc bị phá hủy. Những triệu chứng như vậy luôn phải nghi ngờ.
  • Các vấn đề hiệu suất hệ thống (các bộ định tuyến hoặc các dịch vụ hệ thống có thời gian đáp ứng máy chủ quá lâu)
  • Hành vi người dùng không mong muốn, ví dụ: truy cập không mong muốn vào tài nguyên hệ thống.
  • Hành vi kiểm định không mong muốn. Các bản ghi kiểm định thu nhỏ kích thước (trừ khi được cố ý bởi quản trị viên hệ thống).
Các nhiệm vụ cần phải 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à phòng chống 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 và có thể đẩy lùi nó. 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 1). Để 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. Cả hệ thống thực và hệ thống bẫy cần phải được kiểm tra một cách liên tục. Dữ liệu được tạo ra bằng 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).

Hình 1: Quá trình của IDS

Hình 2: Cơ sở hạ tầng IDS
Khi một sự 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). 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 email.

Kiến trúc của hệ thống phát hiện xâm phạm

Hình 3: Một IDS mẫu.Thu hẹp bề rộng tương ứng với số lượng
luồng thông tin giữa các thành phần hệ thống
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 4) – 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.

Hình 4: Các thành phần IDS
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 bảo vệ liên quan đến các kiểu tấn công mới. Các giải pháp dựa trên tác nhân IDS cũng sử dụng các cơ chế ít phức tạp hơn cho việc nâng cấp chính sách đáp trả.

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) – xem hình 5. 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.

Hình 5

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.
(Source Security)
 

Không có nhận xét nào:

Đăng nhận xét