Phát hiện sự bất thường(Anomaly Detection)

Một phần của tài liệu Tìm hiểu và xây dựng hệ thống phát hiện xâm nhập trên mạng IP (Trang 52)

2. Tại sao phải sử dụng IDS

2.2. Phát hiện sự bất thường(Anomaly Detection)

Kỹ thuạt này nhằm chỉ ra những hành vi được coi là không bình thường trong một máy trạm hoặc cả hệ thống. Chức năng này được giả sử rằng là các cuộc tấn công đều có những hành động khác với bình thường( bất thường). Vì vậy hệ thống có thể phát hiện ra những cuộc tấn công này dựa vào việc phát hiện ra những hành vi khác thường của nó. Kỹ thuật này xây dựng một bản mô tả những hành động được

coi là bình thường của các máy trạm, người dùng và cả các kết nối trong hệ thống. Những bản mô tả này được xây dựng trong một khoảng thời gian mà hệ thống hoạt động bình thường. Bộ phận phát hiện sau đó thu thập các dữ liệu về các hành vi trong hệ thống và sử dụng nhiều thước đo khác nhau trong việc xác định đâu là các hành vi bất thường. Các kỹ thuật và thước đo hay được dùng bao gồm:

Phát hiện ngưỡng(Threshold Detection), trong đó những thuộc tính của các hành vi vủa người dùng hoặc hệ thống được biểu diễn rõ ràng về số lượng. Với một vài cấp độ có thể chấp nhận được. Các thuộc tính như vậy có thể là số lần truy nhập file của người dùng trong một khoảng thời gian cho trước. Số lần đăng nhập không thành công. Số lượng sử dụng CPU của một tiến trình… Các cấp độ này có thể là tĩnh hoặc được thay đổi tuỳ theo yêu cầu sao cho phù hợp.

Thước đo thống kê(Statistical Measure). Cả khi có tham số - tức là khi phân loại các mô tả thuộc tính thì theo như các bộ phận mẫu, và không có tham số tức là khi việc phân loại các mô tả thuộc tính đựơc “học” từ một tập các giá trị thực tế đã đựoc ghi lại trong thời gian trước.

Thước đo dựa trên các quy tắc(Rule based Measure), tương tự như là thước đo thống kê không có tham số trong việc quan sát dữ liệu và định nghĩa ra cá mẫu có thể chấp nhận dùng được. Nhưng khác là ở chỗ các mẫu này là các quy tắc chứ không phải là số lượng.

Chỉ hai thước đo đầu tiên đựoc sử dụng trong những sản phẩm thương mại. Không may mắn là kỹ thuất phát hiện các dấu hiệu bất thường lại hay tạo ra những cảnh báo sai vì những hành động bình thường của người dùng và hệ thống có thể nhiều khi hơi khác thường một chút. bất chấp những điều đó thì kỹ thuật phát hiện những hành vi bất thường vẫn đựoc dùng vì nó có thể phát hiện ra những cuộc tấn công kiểu mới chứ không như kỹ thuật phát hiện theo các dấu hiệu thì chỉ có thể phát hiện đựợc những dạng tấn công cũ.

Hơn nữa một vài đầu ra của hệ thống phát hiện hành vi bất thường dựa trên các ngưỡng có thể trợ giúp cho kỹ thuật phát hiện những dấu hiệu lạm dụng.

2.2.1. Ưu điểm

• Kỹ thuật này phát hiện ra những dấu hiệu bất thường nên nó có thể phát hiện ra những cuộc tấn công mới mà không cần phải biết rõ chi tiết về loại tân công đó.

• Thông tin kết quả của nó có thể dùng làm mẫu dùng trong kỹ thuật phát hiện sự lạm dụng.

2.2.2. Nhược điểm

• Các chương trình sử dụng theo kỹ thuật này thường đưa ra nhiều những cảnh báo sai khi có những hành vi bình thường của hệ thống hoặc người dùng nhưng không dự đoán được.

• Nó đòi hỏi phải mở rộng tập các bản ghi các sự kiện hành vi được coi là bình thường của hệ thống.

2.3. Giám sát (Target Monitoring )

Những hệ thống này không tích cực tìm kiếm những sự không bình thường hoặc sự sử dụng sai nhưng thay vào đó tìm kiếm sự thay đổi của những file xác định. Hơn cả một sự điều khiển để hiệu chỉnh, nó được thiết kế để bỏ một hành động không hợp pháp sau khi nó xuất hiện để đảo ngược nó. Một cách để kiểm tra sự soạn thảo dấu giếm những file là tính toán một mã hóa băm trước và so sánh cái này tới bảng băm mới của file ở những khoảng thời gian cho trước. Kiểu hệ thống này là dễ nhất để thi hành, bởi vì nó không yêu cầu theo dõi liên tục bởi người quản trị. Kiểm tra sự toàn vẹn có thể được tính toán ở những khoảng theo ý người dùng và trên hoặc tất cả các file hoặc chỉ là những file đặc biệt.

2.4. Thăm dò hành động lén lút

Kỹ thuật này cố gắng để phát hiện ra bất kỳ những kẻ tấn công nào mà thực hiện tấn công trong thời gian dài. Những kẻ tấn công, ví dụ, sẽ dò những lỗ hổng bảo mật của hệ thống và mở những cổng trong cả một thời gian khoảng hai tháng, và đợi hai tháng tiếp để thật sự tấn công. Kỹ thuật này thu thập nhiều dữ liệu khắp cả hệ thống, kiểm tra cho bất kỳ những sự tấn công có phương pháp nào trong cả một thời kỳ dài. Chúng lấy mẫu rộng và cố gắng khám phá bất kỳ cái nào liên quan đến tấn công. Trên thực tế, phương pháp này kết hợp phát hiện sự không bình thường và lạm dụng khi cố gắng phát hiện hoạt động đáng nghi ngờ.

3. Hệ thống phát hiện xâm nhập dựa trên thống kê

Hệ thống phát hiện xâm nhập dựa vào thống kê có nguyên tắc hoạt động rất đơn giản. Nó theo dõi tất cả các hoạt động động của mạng và những hoạt động nào nó cho là bất thường sẽ được đánh dấu để thông báo cho người quản trị. Hệ thống này xem xét các mẫu lưu thông trong mạng và định ra những hoạt động nào là hoạt động bình thường. Nếu hệ thống hoạt động càng lâu thì độ chính xác càng cao vì nó sẽ quyết định chính xác hành vi nào trong hệ thống mạng là bất thường. Nếu như hệ thống được cài thêm một số giải thuật sử dụng trí tuệ nhân tạo thì hiệu quả sẽ rất cao.

Bình thường, hệ thống IDS sẽ theo dõi mạng xem những hành vi nào là bất th\ường sau đó gửi thông báo cho người quản trị. Người quản trị sau đó xem xét và quyết định hành vi nào thực sự là bất thường và cấu hình lại để hệ thống IDS có thể cảnh báo được chính xác hơn. Quá trình này có thể được lập trình luôn để có thể làm giảm công việc cho người quản trị, tức là chương trình sẽ theo dõi những hành vi bất thường và nếu thấy thực sự trong hệ thống mạng này không phải là bất thường thì nó sẽ tự động cấu hình lại để cho phù hợp với môi trường này.

3.1. Ưu điểm

Hệ thống này có khá nhiều ưu điểm. Quá trình phân tích mẫu trong mạng và những thông báo liên tiếp về những hành vi bất thường trong hệ thống có thể cho người quản trị thấy được những gì là bất thường và những gì là bình thường. Nếu hệ thống bị tấn công bởi những loại sâu mới, virus và cả tấn công DOS thì hệ thống này sẽ báo động dựa trên hành vi bất thường của chúng. Hệ thống này có một ưu điểm khác so với các hệ thống IDS dò tìm dấu hiệu là không phải cập nhật các dấu hiệu mà chỉ cần điều chỉnh lại sao cho thích hợp.

Đặc điểm chính của hệ thống là có thể thông báo hiệu quả về các hành vi tấn công DOS, quét cổng và dùng những cổng không được phép trên một máy nào đó.

3.2. Nhược điểm

Nếu hệ thống IDS này là hệ thống tự học được từ môi trường (có ứng dụng trí tuệ nhân tạo) thì nó có thể sẽ hoạt động không hiệu quả. Bởi vì nều một kẻ xâm nhập dùng nhiều lần chương trình Nmap để gửi các gói tin SYN đi để quét mạng thì sau một thời gian hệ thống sẽ coi hành động đó là hành động bình thường trong mạng và khi đó, hệ thống mạng sẽ không còn được an toàn nữa. Do đó, nếu tích hợp phương pháp tự học (trí tuệ nhân tạo) vào sẽ có thể giảm công việc cho người quản trị nhưng mức độ mạo hiểm sẽ tăng lên.

Chương 4

Xây dựng 1 chương trình IDS

1. Mục đích :

- Xây dựng một chương trình có khả năng giám sát các hoạt động bất thường trên mạng và có thể đưa ra các cảnh báo kịp thời cho người quản trị.

- Có khả năng ghi lại toàn bộ các hoạt động trên mạng

- Dựng lại được phiên làm việc giữa hai máy trên mạng dùng giao thức TCP,UDP,ICMP.

- Phát hiện các hành vi bất thường để thông báo cho người quản trị.

- Theo dõi các cổng trên một máy theo địa chỉ IP. - Cấu hình một cách đơn giản hệ thống IDS.

1.1. Có khả năng ghi lại các hoạt động trên mạng

Với chế độ bắt gói tin là Promicous thì tất cả các gói tin qua lại trên mạng đều đựơc bắt giữ lại để xử lý. Các gói tin này đựoc lưu lại vào trong cơ sở dữ liệu để chờ xử lý. Sau khi đã được xử lý thì các gói tin này được loại bỏ khỏi cơ sở dữ liệu.

1.2. Dựng lại phiên làm việc giữa hai máy trên mạng

Chương trình làm việc dựa trên nguyên tắc thống kê nên việc dựng lại phiên làm việc có ý nghĩa hết sức quan trọng. Ngoài những dấu hiệu bất thường thì có những cuộc tấn công hết sức tinh vi thì dấu hiệu của các cuộc tấn công này thường là không rõ ràng. Vì vậy việc lưu lại các phiên làm việc sẽ giúp chúng ta phát hiện được các cuộc tấn công kiểu này.

1.3. Phát hiện các hành vi bất thường để thông báo cho người quản trị.

Các gói tin sau khi được phân tích sẽ được kiểm tra các tính bất thường của gói tin. Có thể là độ lớn bất thường hoặc các mang các cờ bất thường. Ngoài ra dựa vào cấu hình mà người sử dụng đã cấu hình cho chương trình mỗi khi có các sự kiện khớp với dấu hiệu đó thì chương trình lập tức đưa ra các cảnh báo. Việc đưa ra các cảnh báo giúp cho người quản trị có thể phát hiện ra các cuộc tấn công ngay khi nó đang diễn ra để có các biện pháp xử lý ngăn chặn kịp thời

1.4. Cho phép cấu hình một cách đơn giản

Chương trình được xây dựng với giao diện đồ hoạ thân thiện. Cho phép người sử dụng đễ quan sát diễn biến chi tiết của chương trình trong khi chạy. Các thông số cấu hình đều rõ ràng cho phép người sử dụng đễ dàng cấu hình, thiết lập các tham số cho chương trình. Với mỗi một hệ thống thì các tham số này lại có thể rất khác nhau tuỳ theo quy mô tính chất công việc trong từng mạng. Do đó vói hệ thống mạng này

thì các tham số này có thể là bất thường nhưng trong một hệ thống mạng khác các tham số này có thể lại là một điều bình thưòng vì vậy mỗi hệ thống đều có một bộ các tham số khác nhau.

2. Thiết kế chương trình.

Theo yêu cầu của chương trình em chia chương trình ra làm 5 modul chính , 1 bộ CSDL . 5 module chính làm việc trên cùng 1 CSDL đó:

o Module thứ nhất: Có nhiệm vụ bắt các gói tin di qua card mạng.và chuyển các gói tin này cho module thứ hai phân tích.

o Module thứ hai: phân tích các gói tin và đưa các thông tin của các gói tin vào một cơ sở dữ liệu như là loại giao thức, địa chỉ ip nguồn, đích, địa chỉ cổng dịch vụ nguồn và đích….

o Module thứ ba: Xây dựng lại các phiên làm việc, dựa trên các thông tin trong cơ sở dữ liệu mà ta đã xây dựng được.

o Module thứ tư: cho phép người dùng có thể tuỳ chọn 1 số các tham số được dùng để đối chiếu khẳng định các yếu tố nào là các yếu tố bất thường cần cảnh báo.

o Module thứ năm: So sánh với các cấu hình trong hệ thống để đưa ra cảnh báo, có lưu trữ vào trong cơ sở dữ liệu để có thể đưa ra theo báo cáo trong ngày.

Hệ thống IDS So sánh và đưa ra cảnh báo Thu nhận cấu hình Module bắt gói

Sơ đồ các hoạt động của các module trong chương trình

2.1. Cơ sở dữ liệu:

Các dữ liệu trong CSDL bao gồm:

- Bảng chứa các gói tin lấy ra từ network adapter.

- Bảng chứa các thông tin về gói tin IP, dùng để ghép các gói IP.

- Bảng chứa các thông tin về các gói tin TCP.

- Bảng chứa các thông tin về các Session.

- Bảng chứa các thông tin về các cảnh báo

- Bảng chứa các xâu cần cảnh báo khi xuất hiện trong gói tin TCP

- Bảng chứa các địa chỉ IP và cổng giám sát.

Các bảng được cập nhật thường xuyên khi chạy chương trình.

Module bắt các gói tin

Bắt gói tin

Dựng lại các phiên làm việc

So sánh và đưa ra cảnh báo

Phân tích các gói tin

Cơ sở dữ liệu

Nhận các thông tin tuỳ chọn của người sử dụng

Luồng gói tin

Bảng Bắt gói tin

Các gói tin qua

Module này nhận được các thông tin đầu vào về gói tin về gói tin từ card mạng. Các gói tin này là gói tin Ethernet. Các thông tin nhận được nữa là :

• Mảng byte chứa toàn bộ gói tin Ethernet.

• Số lượng byte của gói Ethernet mà card mạng bắt được.

Sau khi nhận được các thông tin trên thì module này cập nhập vào bảng tblPacket các thông tin sau.

• Toàn bộ mảng byte chứa gói tin.

• Số lượng byte của gói tin.

2.3 Module phân tích các gói tin

Module này lấy các thông tin sau từ trong bảng tblPacket ra để xử lý.

• Mảng byte chứa toàn bộ gói tin Ethernet(có thể coi là gói Ethernet)

Khi đã có thông tin này thì tiến hành việc phân tích tìm ra các thông tin trong phần header của gói Ethernet . Các thông tin này là:

• Địa chỉ Mac của máy gửi.

• Địa chỉ Mac của máy nhận.

• Loại gói tin của tầng bên trên (Network layer) mà nó chứa bên trong (IP , Arp, SNMP,... ).

Tiếp theo nếu loại gói tin của tầng network là IP thì tiến hành phân tích theo khuôn dạng của gói IP để tìm ra được các thông tin sau về gói IP .

• Địa chỉ IP của máy gửi.

• Địa chỉ IP của máy nhận.

• Trường Identification.

• Trường Fragment Offset.

• Loại gói tin của tầng trên(Transport ) mà nó chứa bên trong(TCP, UDP ...). Nếu gói IP này là hoàn chỉnh(không bị Fragment) và gói tin của tầng Transport là TCP thì tiến hành phân tích theo khuôn dạng của gói TCP để tìm ra các thông tin sau:

• Số cổng dịch vụ dùng trên máy gửi. Cập nhập

Phân tích các gói tin Bảng tblPacket Bảng

• Số cổng dịch vụ dùng trên máy nhận.

• Loại ứng dụng sử dụng (HTTP, TELNET, FTP...).

Khi này Module sẽ cập nhập các thông tin sau về gói TCP vào trong bảng tblPacketTCP:

• Địa chỉ Mac của máy gửi.

• Địa chỉ Mac của máy nhận.

• Địa chỉ IP của máy gửi.

• Địa chỉ IP của máy nhận.

• Số cổng dịch vụ dùng trên máy gửi.

• Số cổng dịch vụ dùng trên máy nhận.

• Loại ứng dụng sử dụng (HTTP, TELNET, FTP...).

• Các cờ thể hiện trạng thái của phiên làm việc.(SYN, FIN, RESET)

Trong Module này khi gói IP là không hoàn chỉnh thì ta sẽ lưu toàn bộ thông tin về gói IP đó bao gồm các thông tin về header và các dữ liệu của nó vào bang tblPacketIP để tiến hành ghép các gói IP lại. Các thông tin cần để ghép các gói IP lại là trường Identification và Fragment trong Header của gói IP. Khi đã có gói IP hoàn chỉnh thì ta lại tiến hành phân tích như trên.

Khi nhận được gói TCP thì cũng tiến hành đối chiếu nếu chuỗi cần cảnh báo (được lấy ra từ bảng tblMoniterString) xuất hiện bên trong phần dữ liệu của gói TCP thì cập nhập vào bảng tblAlert một cảnh báo gồm

• Thời gian cảnh báo.

• Xâu chứa nội dung cảnh báo.

• Mức độ cảnh báo.

2.3. Xây dựng lại phiên làm việc

Module này lấy từ bảng tblPacketTCP ra các gói tin TCP của cùng một phiên làm việc tức là các gói tin có cùng 4 tham số sau.

Một phần của tài liệu Tìm hiểu và xây dựng hệ thống phát hiện xâm nhập trên mạng IP (Trang 52)

Tải bản đầy đủ (DOC)

(77 trang)
w