Tài liệu Đề tài Hệ thống phát hiện xâm nhập trái phép trên mạng (NIDS): MỤC LỤC
MỤC LỤC…………………………………………………………………………1
LỜi NÓI ĐẦU……………………………………………………………………..3
CHƯƠNG 1: TỔNG QUAN VỀ AN NINH MẠNG……………………………...4
Các mục tiêu cần bảo vệ………………………………………………..…..4
Các kiểu tấn công mạng……………………………………………………4
Các phương pháp bảo vệ…………………………………………………...6
CHƯƠNG 2: HỆ THỐNG PHÁT HIỆN XÂM NHẬP TRÁI PHÉP TRÊN MẠNG (NIDS)……………………………………………………………………………..8
2.1 Xâm nhập (Instrusion)……………………………………………………..8
2.1.1 Cách thức xâm nhập vào hệ thống…………………………………....8
2.1.2 Những lỗ hổng an ninh có thể xâm nhập……………………………..9
2.1.3 Những dấu hiệu xâm nhập thông thường…………………………...12
2.1.4 Một kịch bản xâm nhập điển hình…………………………………..13
2.2 Hệ thống phát hiện xâm nhập IDS (Instrusion Detection System)……….14
2.2.1 Định nghĩa, chức năng và nguyên lý làm việc………………………14
2.2.2 Vị trí…………………………………………………………………17
2.2.3 Phân loại…………………………………………………………….17
2.3 NIDS (Network-based IDS)………………………………………………28
2.3.1 Lí do lựa chọn NIDS………………………………………………...28
2.3.2 Kiến ...
45 trang |
Chia sẻ: hunglv | Lượt xem: 1455 | Lượt tải: 1
Bạn đang xem trước 20 trang mẫu tài liệu Đề tài Hệ thống phát hiện xâm nhập trái phép trên mạng (NIDS), để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
MỤC LỤC
MỤC LỤC…………………………………………………………………………1
LỜi NÓI ĐẦU……………………………………………………………………..3
CHƯƠNG 1: TỔNG QUAN VỀ AN NINH MẠNG……………………………...4
Các mục tiêu cần bảo vệ………………………………………………..…..4
Các kiểu tấn công mạng……………………………………………………4
Các phương pháp bảo vệ…………………………………………………...6
CHƯƠNG 2: HỆ THỐNG PHÁT HIỆN XÂM NHẬP TRÁI PHÉP TRÊN MẠNG (NIDS)……………………………………………………………………………..8
2.1 Xâm nhập (Instrusion)……………………………………………………..8
2.1.1 Cách thức xâm nhập vào hệ thống…………………………………....8
2.1.2 Những lỗ hổng an ninh có thể xâm nhập……………………………..9
2.1.3 Những dấu hiệu xâm nhập thông thường…………………………...12
2.1.4 Một kịch bản xâm nhập điển hình…………………………………..13
2.2 Hệ thống phát hiện xâm nhập IDS (Instrusion Detection System)……….14
2.2.1 Định nghĩa, chức năng và nguyên lý làm việc………………………14
2.2.2 Vị trí…………………………………………………………………17
2.2.3 Phân loại…………………………………………………………….17
2.3 NIDS (Network-based IDS)………………………………………………28
2.3.1 Lí do lựa chọn NIDS………………………………………………...28
2.3.2 Kiến trúc và hoạt động………………………………………………29
2.3.3 Mô hình hệ thống NIDS…………………………………………….31
2.3.4 Triển khai và điều chỉnh hệ thống NIDS……………………………33
2.3.5 Đánh giá một hệ thống NIDS (value of NIDS)……………………..39
2.3.6 Tối ưu hoá giá trị của NIDS…………………………………………40
2.3.7 NIDS & Firewall…………………………………………………….42
2.3.8 Tổng kết……………………………………………………………..43
CHƯƠNG 3: THIẾT KẾ HỆ THỐNG NIDS……………………………………44
3.1 Mục đích………………………………………………………………….44
3.2 Phân tích và thiết kế chương trình………………………………………..44
TÀI LIỆU THAM KHẢO………………………………………………………..45
LỜI NÓI ĐẦU
Ngày nay, công nghệ thông tin đã và đang phát triển một cách mạnh mẽ đem lại những lợi ích và ứng dụng vô cùng to lớn cho con người. Mạng máy tính ra đời, mở rộng và phát triển không ngừng tạo nên hệ thống mạng Internet toàn cầu. Ngày càng có nhiều người nhận ra lợi ích của việc nối mạng (để chia sẻ tài nguyên, có thể trao đổi và tìm kiếm thông tin hiệu quả, nhanh chóng, tiết kiệm thời gian và chi phí,...), Internet đã thực sự trở thành một phần không thể thiếu trong cuộc sống của con người, thông tin liên lạc qua Internet đã trở nên quen thuộc với hầu hết mọi người.
Tuy nhiên, việc truyền thông trên mạng phải qua rất nhiều trạm trung gian, nhiều nút với nhiều người sử dụng khác nhau và không ai dám chắc rằng thông tin khi đến tay người nhận không bị thay đổi hoặc không bị sao chép. Chúng ta đã được nghe nhiều về vấn đề thông tin bị đánh cắp gây những thiệt hại nghiêm trọng hay những kẻ thường xuyên trộm tin của người khác, thậm chí ăn trộm mật khẩu và giả mạo nhằm phá hoại việc giao dịch. Thực tế cũng đã cho thấy số các vụ tấn công vào mạng ngày càng tăng, các kỹ thuật tấn công ngày càng mới và đa dạng. Chính vì thế mà vấn đề an toàn được đặt lên hàng đầu khi nói đến việc truyền thông trên mạng.
Có rất nhiều cách để thực hiện an toàn trên mạng như: phương pháp kiểm soát lối vào, ngăn cản sự xâm nhập trái phép vào hệ thống cũng như kiểm soát tất cả các thông tin gửi ra bên ngoài hệ thống, hay sử dụng phương pháp mã hoá dữ liệu trước khi truyền, ký trước khi truyền,...
Trong nội dung đề tài này chúng ta sẽ đi sâu tìm hiểu về hệ thống phát hiện xâm nhập trái phép trên mạng (NIDS-Network Intrusion Detection System).
§Ò tµi: X©y dùng hÖ thèng ph¸t hiÖn x©m nhËp trªn m¹ng (NIDS - Network Intrusion detection System)
CHƯƠNG 1: TỔNG QUAN VỀ AN NINH MẠNG
Các mục tiêu cần bảo vệ
Sự ra đời và phát triển của Internet là một bước ngoặt lớn trong lịch sử nhân loại. Hệ thống thông tin khổng lồ trên Internet được chia sẻ trên khắp thế giới. Tuy nhiên, đồng thời với lợi ích to lớn của nó, mạng Internet cùng với các công nghệ liên quan cũng cho thấy mặt hạn chế tất yếu là tính mất an toàn, dễ bị xâm phạm, tấn công. Hậu quả của các cuộc tấn công có thể chỉ là những phiền phức nhỏ nhưng cũng có thể làm suy yếu hoàn toàn hệ thống, các dữ liệu, thông tin quan trọng bị xóa, sự riêng tư bị xâm phạm,…Do đó, nhiệm vụ của chúng ta là phải tránh tối đa sự mất an toàn, hay nói một cách khác là phải bảo vệ sự an toàn cho hệ thống, suy nghĩ của chúng ta phải đi kịp với sự phát triển công nghệ.
Các đối tượng cần đảm bảo an ninh bao gồm:
Dữ liệu:
Dữ liệu truyền đi trên mạng phải đáp ứng được các yêu cầu về:
- Tính mật (Confidentiality): Đảm bảo thông tin không thể bị truy cập trái phép bởi những người không có thẩm quyền.
- Tính toàn vẹn (Integrity): Đảm bảo thông tin không bị thay đổi trong quá trình truyền.
- Tính sẵn sàng (Availability): Đảm bảo dữ liệu luôn sẵn sàng khi có yêu cầu truy cập.
Tài nguyên:
Tài nguyên bao gồm các thành phần phần cứng và phần mềm của hệ thống. Kẻ tấn công có thể lợi dụng các lỗ hổng an ninh như các lỗ hổng về hệ điều hành, mạng, ứng dụng. Nếu máy tính không có dữ liệu quan trọng thì vẫn rất cần được bảo vệ bởi vì kẻ tấn công có thể đột nhập và sử dụng nó làm tiền đề cho các cuộc tấn công khác.
Danh tiếng:
Như trên đã nói kẻ tấn công có thể dùng máy của một người sử dụng để tấn công nơi khác, gây tổn thất về uy tín của người sử dụng đó.
Các kiểu tấn công mạng
Có rất nhiều cách tấn công đã biết cũng như chưa biết, tuy nhiên hiện nay có thể chia làm 4 loại chính:
Interruption (làm gián đoạn)
Interception (ngăn chặn)
Modification (sửa đổi)
Fabrication (làm giả)
Sau đây, chúng ta sẽ xem xét tổng quan về các kiểu tấn công đó:
Tấn công làm gián đoạn (Interruption Attack)
Điển hình cho kiểu tấn công này là tấn công từ chối dịch vụ DoS (Denial of Service). Đây là hành động mà kẻ tấn công lợi dụng đặc điểm hoặc lỗi an toàn thông tin của một hệ thống dịch vụ nhằm làm ngưng trệ hoặc ngăn cản người dùng truy nhập dịch vụ đó.
Cuộc tấn công này không lấy mất thông tin của hệ thống, nó thường chỉ gây cho chương trình hoặc hệ thống bị đổ vỡ hoặc bị treo, tê liệt từng phần hoặc toàn bộ, buộc người quản trị dịch vụ đó phải tạm ngừng cung cấp dịch vụ và khởi động lại hệ thống. Việc ngừng hoạt động trong một thời gian nhất định của các hệ thống dịch vụ gây ra những thiệt hại đáng kể.
Có hai kiểu tấn công từ chối dịch vụ dựa theo đặc điểm của hệ thống bị tấn công, thứ nhất là gây quá tải khiến cho hệ thống mất khả năng phục vụ cho người dùng thực sự, thứ hai là dựa vào lỗi an toàn thông tin của hệ thống để từ đó gây cho hệ thống bị treo, tê liệt.
Với loại thứ nhất, việc gây quá tải được thực hiện bằng cách gửi rất nhiều yêu cầu dịch vụ giả. Để giải quyết một yêu cầu dịch vụ, hệ thống phải tốn một lượng tài nguyên nhất định (CPU, bộ nhớ, đường truyền…). Lượng tài nguyên là giới hạn, khi nhận được quá nhiều yêu cầu dịch vụ giả, hệ thống sẽ sử dụng toàn bộ tài nguyên để đáp ứng các yêu cầu đó và không còn tài nguyên để đáp ứng yêu cầu thực sự khác của người dùng, người dùng sẽ không thể truy nhập được vào hệ thống dịch vụ.
Với loại tấn công từ chối dịch vụ thứ hai, kẻ tấn công lợi dụng kẽ hở an toàn thông tin của hệ thống, cố ý gửi các yêu cầu hoặc các gói tin không hợp lệ khiến cho hệ thống bị tấn công khi nhận được yêu cầu hay gói tin này. Việc xử lý không đúng hoặc không theo trình tự đã được thiết kế, dẫn đến sự sụp đổ cho chính hệ thống đó. Phần lớn các kẽ hở này xuất phát từ lỗi phần mềm. Khi kẻ tấn công gửi những thứ không nằm trong các khả năng đã dự tính, thì phần mềm dễ dàng bị lỗi, gây đổ vỡ hệ thống. Ví dụ điển hình cho lỗi này là kiểu tấn công Ping of Death vào năm 1995, gây treo hoặc đổ vỡ cho rất nhiều hệ thống. Ngoài ra, một số ít các kẽ hở lại xuất phát từ chính nguyên lý hoạt động của hệ thống, đặc biệt là nguyên lý của bộ giao thức mạng TCP/IP. Ví dụ điển hình của kiểu tấn công này là SYN flooding, gây cho hệ thống dịch vụ mất khả năng tiếp nhận kết nối TCP.
Hiện tại chưa có biện pháp hữu hiệu nào để phòng chống tấn công từ chối dịch vụ, nhất là kiểu tấn công gây quá tải. Nhà cung cấp dịch vụ chỉ có thể hạn chế chứ khó có thể giữ cho dịch vụ của mình luôn sẵn sàng trước mọi cuộc tấn công từ chối dịch vụ.
Biện pháp tốt nhất hiện nay để chống lại các cuộc tấn công từ chối dịch vụ, nhất là kiểu tấn công dựa vào lỗi an toàn thông tin của hệ thống, là các nhà cung cấp dịch vụ phải liên tục cập nhật phiên bản sửa lỗi phần mềm mới nhất cho hệ thống của mình. Đồng thời các nhà cung cấp dịch vụ phải xây dựng và quản trị hệ thống sao cho chúng ít có khả năng bị lợi dụng để phát động tấn công từ chối dịch vụ.
Tấn công DoS thực hiện đồng thời từ nhiều địa chỉ khác nhau được gọi là tấn công DDoS (Distributed-DoS).
Tấn công ngăn chặn (Interception Attack)
Kiểu tấn công này sử dụng các bộ nghe trộm để bắt giữ password và các thông tin nhạy cảm khác được truyền qua lại trên mạng. Nhờ nghe trộm password kẻ tấn công có thể lấy được mật khẩu của người sử dụng, sau đó chúng truy nhập một cách chính quy vào hệ thống.
Để hạn chế kiểu tấn công này, chúng ta thực hiện phân đoạn hệ thống mạng và sử dụng các Hub chuyển đổi.
Tấn công làm thay đổi (Modification Attack)
Kiểu tấn công này thực hiện sửa đổi, thay đổi thông tin/chương trình, ví dụ như sử dụng các đoạn mã nguy hiểm, Virus, Trojan gắn vào email hoặc các Web site,...
Biện pháp bảo vệ trong trường hợp tấn công này đó là sử dụng các phần mềm chống virus, thực hiện lọc tại mail server, kiểm tra tính toàn vẹn dữ liệu.
Tấn công giả mạo (Fabrication Attack)
Tấn công giả mạo IP là kẻ tấn công tự đặt địa chỉ IP của mình trùng với một địa chỉ nào đó ở mạng bên trong. Khi đó, nó sẽ được đối xử như một máy bên trong tức là được làm mọi thứ để từ đó tấn công, lấy trộm, phá huỷ thông tin.
Các phương pháp bảo vệ
Với các kiểu tấn công đa dạng như đã trình bày ở trên, các phương pháp bảo vệ an ninh mạng cũng không ngừng được tạo ra, sửa đổi và phát triển cho phù hợp với từng hệ thống. Đó có thể là những phần mềm tích hợp trên hệ thống, những công cụ phần cứng hoặc kết hợp cả hai (phần cứng lẫn phần mềm), đó cũng có thể là những chính sách an ninh.
Các phương pháp thông thường hiện nay bao gồm:
Firewall
Intrusion Detection System
Policy
Chúng ta xem xét tổng quan từng phương pháp:
Firewall
Firewall là sản phẩm cung cấp sự an toàn kết nối giữa mạng nội bộ với các mạng bên ngoài.
Firewall giống như một hàng rào quanh hệ thống mạng, với một cặp các cổng được lựa chọn. Hàng rào này không có khả năng phát hiện một ai đó đang cố gắng xâm nhập vào hệ thống (như tìm ra một lỗ hổng ở bên dưới nó), hay phát hiện ai đó vào qua một cổng được phép. Mà nó chỉ đơn giản hạn chế việc truy cập đến các điểm được đại diện.
Intrusion Detection System (IDS)
IDS (hệ thống phát hiện xâm nhập trái phép) được tạo thành từ các thành phần phần cứng và phần mềm cùng hoạt động để tìm ra các sự kiện không mong muốn, từ đó có thể chỉ ra một cuộc tấn công sẽ xảy ra, đang xảy ra hoặc đã xảy ra.
Policy
Đưa ra tính riêng tư, các luật điều khiển, những việc phải làm nếu bị tấn công.
CHƯƠNG 2: HỆ THỐNG PHÁT HIỆN XÂM NHẬP TRÁI PHÉP TRÊN MẠNG (NIDS)
Xâm nhập (Instrusion)
Trong phần này sẽ trình bày những khái niệm liên quan như xâm nhập (intrusion), kịch bản xâm nhập (intrusion scenario), sẽ tìm hiểu về bản chất, nguyên nhân, những dấu hiệu của việc xâm nhập vào hệ thống, trước khi đi sâu nghiên cứu và triển khai một hệ thống phát hiện xâm nhập.
Một xâm nhập là một vài người (“hacker” hay “cracker”) cố gắng phá vỡ hay lạm dụng hệ thống. Hacker và cracker là hai từ dùng để chỉ những kẻ xâm nhập.
Kẻ xâm nhập được chia thành hai loại:
Outsiders: những kẻ xâm nhập từ bên ngoài hệ thống (xóa Web servers, chuyển tiếp các spam qua e-mail servers). Chúng có thể vượt qua firewall để tấn công các máy trong nội bộ mạng. Những kẻ xâm nhập có thể đến từ Internet, qua đường dây điện thoại, đột nhập vật lý hoặc từ các mạng thành viên được liên kết đến tổ chức mạng (nhà sản xuất, khách hàng,…).
Insiders: những kẻ xâm nhập mà được sử dụng hợp pháp đến bên trong hệ thống (những người sử dụng được ủy quyền, hoặc giả mạo người dùng được ủy quyền ở mức cao hơn… ). Loại xâm nhập này chiếm 80%.
Cách thức xâm nhập vào hệ thống
Các cách thức chính mà những kẻ xâm nhập có thể đi vào hệ thống:
Physical Intrusion (xâm nhập vật lý): nếu một kẻ xâm nhập truy cập vật lý vào một máy (chẳng hạn chúng có thể dùng bàn phím,…) chúng sẽ có thể xâm nhập vào cả hệ thống.
System Intrusion (xâm nhập hệ thống): đây là một kiểu hacking. Giả sử rằng kẻ xâm nhập đã có một account người dùng được ủy quyền mức thấp trong hệ thống. Nếu hệ thống không có các biện pháp an toàn mới nhất, thì sẽ tạo cơ hội tốt cho kẻ xâm nhập lợi dụng để có được ủy quyền cao hơn (quyền người quản trị).
Remote Intrusion (xâm nhập từ xa): đây là kiểu hacking liên quan đến kẻ xâm nhập cố gắng thâm nhập vào một hệ thống từ xa qua mạng. Kẻ xâm nhập đầu tiên không có một ủy quyền đặc biệt nào cả. Có một số dạng hacking này.
Hệ thống NIDS nghiên cứu trong phạm vi đề tài này liên quan chính đến kiểu xâm nhập từ xa (Remote Intrusion).
Những lỗ hổng an ninh có thể xâm nhập
Phần mềm luôn luôn có lỗi (bug). Nhà quản trị hệ thống và người lập trình không bao giờ có thể xóa vết và khử mọi lỗ hổng có thể. Những kẻ xâm nhập chỉ cần tìm ra một lỗ hổng và xâm nhập vào hệ thống.
Chi tiết về các lỗi hệ thống mà những kẻ xâm nhập có thể lợi dụng để thực hiện các mục đích của chúng như sau:
Các lỗi phần mềm (Software bugs):
Các lỗi phần mềm được khai thác trong các trình tiện ích trên server, trong các ứng dụng tại client, trong hệ điều hành và các ngăn xếp mạng. Các lỗi phần mềm có thể được chia thành các loại sau :
Buffer overflows (tràn bộ nhớ) : hầu hết các lỗ hổng an ninh được biết đến đều do lỗi này. Ví dụ điển hình, một lập trình viên thiết lập 256 kí tự để lưu trữ một username đăng nhập. Người lập trình viên nghĩ rằng không ai có thể có tên dài hơn thế, nhưng một hacker thì sẽ nghĩ rằng điều gì xảy ra nếu mình gõ vào một username vượt quá số kí tự đó, những kí tự thừa ra sẽ đi đâu. Nếu hacker thử luôn, họ nhập vào 300 kí tự bao gồm cả code mà sẽ được thực hiện bởi server và như vậy là họ đã xâm nhập được vào hệ thống. Các hacker sẽ phát hiện những lỗi này theo một số cách. Một là source code cho rất nhiều các dịch vụ trên mạng. Hacker sẽ xem các code này để tìm ra các đoạn chương trình có lỗi tràn bộ nhớ. Hai là, hacker có thể nhìn vào chương trình để xem có lỗi đó tồn tại hay không, tuy vậy việc đọc mã assembly ở đầu ra là rất khó. Ba là hacker sẽ kiểm tra mọi nơi chương trình có đầu vào và cố gắng làm tràn nó với một dữ liệu ngẫu nhiên. Nếu chương trình bị lỗi thì đây là một cơ hội tốt để hacker thâm nhập vào. Lưu ý là vấn đề này phổ biến đối với những chương trình viết bằng C/C++, nhưng hiếm trong những chương trình viết bằng JAVA.
Unexpected combinations (các kết hợp không được mong đợi) : các chương trình thường được xây dựng sử dụng nhiều lớp code bao gồm lớp dưới hệ điều hành như là lớp dưới cùng của các lớp. Kẻ xâm nhập có thể thường xuyên gửi đầu vào vô nghĩa đối với một lớp nhưng có ý nghĩa đối với nhiều lớp khác. Ngôn ngữ thông dụng nhất để xử lý đầu vào người dùng là PERL. Các chương trình viết bằng PERL sẽ thường xuyên gửi các đầu vào này đến các chương trình khác để ước lượng. Một kỹ thuật hacker phổ biến có thể đi vào như "| mail < /etc/passwd". Điều này được thực hiện bởi vì PERL yêu cầu hệ điều hành khởi động một chương trình thêm vào với đầu ra đó. Tuy nhiên, hệ điều hành chặn kí tự đường ống “|”, và khởi động chương trình mail, điều này có thể dẫn đến việc file password được gửi cho kẻ xâm nhập.
Unhandled input (đầu vào không được xử lý): hầu hết các chương trình được viết để xử lý đầu vào hợp lệ. Đa số lập trình viên không xem xét đến trường hợp là điều gì sẽ xảy ra khi đầu vào được nhập không đúng theo đặc tả.
Race condition : hầu hết các hệ thống ngày nay là đa nhiệm/đa luồng (multitasking/ multỉTheaded). điều này có nghĩa là chúng có thể thực hiện hơn một chương trình tại một thời điểm. Sẽ là nguy hiểm nếu hai chương trình cùng phải truy cập đến một cơ sở dữ liệu tại cùng một thời điểm. Giả sử hai chương trình A và B cùng muốn sửa đổi cùng một file. Muốn sửa đổi một file, chương trình trước tiên phải đọc file vào bộ nhớ, thay đổi nội dung trong bộ nhớ sau đó copy từ bộ nhớ ngược trở lại file. Race condition xảy ra khi chương trình A đọc file vào bộ nhớ sau đó thay đổi, và trước khi A thực hiện ghi lên file, chương trình B can thiệp vào và thực hiện đầy đủ đọc/ sửa đổi/ ghi lên file. Bây giờ chương trình A ghi bản copy của nó ngược trở ra file. Vì chương trình A bắt đầu với bản copy trước khi B tiến hành thay đổi nó nên mọi thay đổi của B lên file sẽ bị mất. Vì bạn cần phải thực hiện một chuỗi các sự kiện theo đúng một trật tự nào đó nên race condition là hiếm. Những kẻ xâm nhập thường xuyên phải cố gắng hàng ngàn lần trước khi thành công và hack vào hệ thống.
Lỗi cấu hình hệ thống (System configuration bugs):
Lỗi cấu hình hệ thống có thể chia thành các loại sau :
Default configurations : đa số các hệ thống được gửi tới các khách hàng ở chế độ mặc định (cấu hình dễ sử dụng_easy to use). Thật không may mắn, easy-to-use cũng đồng nghĩa với easy-to-break-in. Hầu hết các máy UNIX hoặc WINNT được chuyển cho ban đều có thể bị hack dễ dàng.
Lazy administrators: Một số lượng đáng ngạc nhiên các máy được cấu hình với password root/administrator rỗng. Đó là vì người quản trị quá lazy để cấu hình nó và muốn bật máy, chạy máy thật nhanh với việc làm phiền ít nhất. Không may là họ không bao giờ quay lại và điền password sau đó, nên kẻ xâm nhập sẽ dễ dàng truy cập vào hệ thống. Một điều đầu tiên mà kẻ xâm nhập sẽ làm trên một mạng là dò tìm tất cả các máy có password rỗng.
Hole creation (việc tạo lỗ hổng) : hầu hết các chương trình có thể được định cấu hình để chạy trong chế độ không an toàn. Đôi khi một số nhà quản trị vô tình mở một lỗ hổng. Hầu hết các hướng dẫn về việc quản trị gợi ý rằng các nhà quản trị nên tắt mọi thứ mà hoàn toàn không cần thiết chạy trên máy để tránh các lỗ hổng bất ngờ.
Trust relationships : kẻ xâm nhập thường lợi dụng các quan hệ tin cậy trên mạng. Một hệ thống mạng bao gồm các máy tin cậy lẫn nhau sẽ chỉ an toàn khi nó có kết nối yếu.
Phá password (Password cracking):
Really weak passwords: hầu hết mọi người dùng tên của họ, tên của bọn trẻ, con vật, hoặc nhãn hiệu xe làm password. Còn có những người không dùng password. Điều này dẫn đến một danh sách nhỏ hơn 30 khả năng cho kẻ xâm nhập có thể tự mình nhập đúng thông tin.
Dictionary attacks (tấn công từ điển): không áp dụng được các biện pháp tấn công ở trên, kẻ xâm nhập có thể thực hiện bước tiếp theo là cố gắng “dictionary attack”. Trong kiểu tấn công này, kẻ xâm nhập sẽ dùng một chương trình để thử mọi từ có khả năng trong từ điển. Bằng cách lặp đi lặp lại việc log in vào hệ thống bằng tập hợp các password được mã hoá và cố gắng tìm ra. Những kẻ tấn công sẽ có một bản copy các từ điển tiếng Anh như là cơ sở dữ liệu (bao gồm tên và danh sách các password thông dụng).
Brute force attacks : giống như dictionary attack, kẻ xâm nhập cố gắng thử tất cả các khả năng có thể gồm tập hợp các kí tự. Một password ngắn 4 kí tự gồm các chữ thường thì có thể dễ dàng bị phá chỉ trong vài phút. Password dài 7 kí tự, bao gồm cả chữ hoa chữ thường thì phải mất hàng tháng để phá.
Những kẻ xâm nhập có thể lấy password theo các cách sau đây :
Nghe trộm văn bản rõ (clear-text sniffing): một số giao thức (Telnet, FTP, HTTP) sử dụng password clear-text, có nghĩa là chúng không được mã hoá khi truyền trên đường dây giữa client và server. Một kẻ xâm nhập với một bộ phân tích giao thức sẽ giám sát đường dây và tìm kiếm những password như vậy. Không cần nhiều nỗ lực, kẻ xâm nhập đã có thể ngay lập tức sử dụng các password đó để log in vào hệ thống.
Nghe trộm password được mã hoá: hầu hết các giao thức sử dụng một số loại mã hoá trên password, trong trường hợp này, kẻ xâm nhập sẽ phải sử dụng phép tấn công từ điển (dictionary) trên password để giải mã. Chú ý rằng bạn vẫn không được biết về sự hiện diện của kẻ xâm nhập vì chúng hoàn toàn chủ động và không truyền bất cứ tín hiệu nào trên đường dây. Việc phá password không đòi hỏi tín hiệu nào được gửi trên đường dây khi máy của kẻ xâm nhập đang được dùng để xác thực password của bạn.
Tấn công nghe lại (Replay attack): trong một số trường hợp, những kẻ tấn công không cần thiết phải giải mã password, chúng có thể dùng dạng mã hóa để tấn công vào hệ thống. Điều này đòi hỏi chúng phải lập trình lại các phần mềm client để cho phép dùng password được mã hoá.
Lấy trộm file password: toàn bộ cơ sở dữ liệu người dùng được lưu trữ ở một file trên đĩa. Một khi kẻ xâm nhập đã lấy được file này, chúng có thể chạy những chương trình crack để tìm ra những password yếu trong file.
Quan sát (Observation): một trong những vấn đề truyền thống trong an toàn password là password cần phải dài và khó phát hiện (sao cho biện pháp tấn công sử dụng từ điển là khó có thể thực hiện). Tuy nhiên, những password như vậy rất khó nhớ và người dùng có thể viết chúng ra đâu đó. Những kẻ xâm nhập thường xuyên tìm kiếm trang làm việc của người dùng để tìm password hoặc đứng sau người dùng để xem họ gõ password.
Social Engineering: một kỹ thuật phổ biến là gọi đến người dùng và nói rằng “Xin chào, tôi là Bob tại MIS. Chúng tôi đang cố gắng theo dõi một số vấn đề trên mạng và chúng xuất hiện tại máy của bạn. Password mà bạn sử dụng là gì ?”. Nhiều user sẽ đưa password trong tình huống này.
Nghe trộm giao thông mạng (Sniffing unsecured traffic):
Shared medium (phương tiện chia sẻ): với mạng Ethernet truyền thống, tất cả bạn phải làm là đặt một sniffer lên đường dây để xem xét tất cả giao thông mạng trên một đoạn. Bây giờ, điều này trở nên khó khăn hơn vì tất cả các tổ chức đang chuyển sang mạng Ethernet chuyển mạch.
Server sniffing (nghe trộm trên server): tuy nhiên, trên một mạng chuyển mạch, nếu bạn có thể cài đặt một chương trình sniffing trên một server (đặc biệt nó hoạt động như một router), thì bạn có thể dùng các thông tin đó để đột nhập vào các máy client. Ví dụ, bạn không biết password của một user nhưng sniffing một phiên Telnet khi họ log in vào sẽ cho bạn password.
Remote sniffing (nghe trộm từ xa): một lượng lớn các box đến cùng với RMON và các xâu thực thể. Trong khi băng thông rất thấp (bạn không thể sniff trên tất cả các giao thông mạng).
Lỗi thiết kế (Design flaws):
Thậm chí nếu việc thực hiện một phần mềm hoàn toàn đúng theo thiết kế, vẫn có các lỗi trong bản thân thiết kế cho phép kẻ xâm nhập có thể lợi dụng.
TCP/IP Protocol flaws : giao thức TCP/IP được thiết kế trước khi chúng ta có nhiều kinh nghiệm về hacking phạm vi rộng mà chúng ta gặp phải ngày nay, kết quả là một số lỗi thiết kế sẽ dẫn đến vấn đề không an toàn.
Những dấu hiệu xâm nhập thông thường
Có 3 cách thức chính để thực hiện hành vi xâm nhập:
Do thám (Reconnaissance): bao gồm việc quét các địa chỉ, DNS, quét các cổng TCP, UDP,…và các Web server để tìm ra các lỗ hổng CGI.
Lợi dụng (Exploits): lợi dụng các đặc tính ẩn hoặc lỗi để truy cập vào hệ thống.
Từ chối dịch vụ (Denial of Service-DoS): kẻ xâm nhập sẽ cố gắng phá vỡ một dịch vụ, quá tải kết nối mạng, quá tải CPU, hoặc làm đầy đĩa. Chúng sẽ không lấy các thông tin mà chỉ đơn giản đóng vai trò như một kẻ phá hoại để ngăn cản bạn sử dụng trên máy của bạn.
Exploits:
CGI Scripts
Web server attacks
Web browser attacks
SMTP (SendMail) attacks
Access
IMAP
IP Spoofing (giả mạo IP)
Buffer Overflows (tràn bộ nhớ)
DNS attacks
Reconnaissance:
Ping sweeps
TCP scans
UDP scans
OS identification
Account scans
DoS attacks:
Ping-of-Death
SYN Flood
Land/Latierra
WinNuke
Một kịch bản xâm nhập điển hình
Chúng ta sử dụng thuật ngữ kịch bản xâm nhập (intrusion scenario) như là sự mô tả một kiểu xâm nhập đã được biết đến một cách chính xác, rõ ràng. Nó được định nghĩa là một chuỗi các hành động, mà khi thực hiện thì kết quả là một xâm nhập trừ khi có sự can thiệp ngăn cản quá trình hoàn thành chuỗi hành động đó.
Mô hình hay sự miêu tả của kịch bản xâm nhập sẽ quyết định khả năng kiểm soát hệ thống. Một kịch bản điển hình có thể là :
Bước 1 : do thám bên ngoài (outside reconnaissance).
Bước 2 : do thám bên trong (inside reconnaissance).
Bước 3 : khai thác các lỗ hổng (exploit).
Bước 4 : theo dấu vết (foot hold).
Bước 5 : lợi dụng các sơ hở (profit).
Hệ thống phát hiện xâm nhập (IDS)
Định nghĩa, chức năng, nguyên lý làm việc
Định nghĩa: Hệ thống phát hiện xâm nhập là hệ thống có nhiệm vụ theo dõi, ghi lại, và (có thể) ngăn cản sự xâm nhập cũng như các hành vi khai thác trái phép tài nguyên của hệ thống được bảo vệ. Có thể dẫn đến làm tổn hại đến tính mật, tính toàn vẹn và tính sẵn sàng của hệ thống.
Chức năng của hệ thống: là bảo vệ tính mật, tính toàn vẹn, và tính sẵn sàng của thông tin. Hệ thống IDS sẽ thu thập thông tin từ rất nhiều nguồn trong hệ thống được bảo vệ sau đó tiến hành phân tích những thông tin đó theo các cách khác nhau để phát hiện những xâm nhập trái phép.
Có hai cách tiếp cận cơ bản đối với quá trình phát hiện xâm nhập, đó là phát hiện sự không bình thường (anomaly detection) và phát hiện sự lạm dụng (misuse detection). Hai cách thức phát hiện này cũng chính là những nguyên lý làm việc của các hệ thống IDS từ trước đến nay, do đó đi sâu tìm hiểu hai cách thức đó đồng nghĩa với việc tìm hiểu về cơ chế hoạt động của các hệ thống IDS.
Nguyên lý làm việc
Phát hiện sự không bình thường (anomaly detetion):
Dựa trên việc định nghĩa và mô tả đặc điểm các dạng thức (form) cố định mong muốn và/hoặc với các hành vi (behavior) động có thể chấp nhận của hệ thống. Sau đó, phân biệt chúng với các hành vi không mong muốn hoặc bất thường để tìm ra các thay đổi hay các hành vi bất hợp pháp.
Như vậy, bộ phát hiện sự không bình thường phải có khả năng phân biệt giữa những hiện tượng thông thường và hiện tượng bất thường.
Ranh giới giữa dạng thức chấp nhận được và dạng thức bất thường của đoạn mã và dữ liệu lưu trữ được định nghĩa rõ ràng (chỉ cần một bit khác nhau), còn ranh giới giữa hành vi hợp lệ và hành vi bất thường thì khó xác định hơn.
Phát hiện sự không bình thường được chia thành hai loại tĩnh và động.
Phát hiện tĩnh:
Dựa trên giả thiết ban đầu là phần hệ thống được kiểm soát phải luôn luôn không đổi. Ở đây, chúng ta chỉ quan tâm đến phần mềm của vùng hệ thống đó (với giả sử là phần cứng không cần phải kiểm tra). Phần tĩnh của một hệ thống bao gồm 2 phần con: mã hệ thống và dữ liệu của phần hệ thống đó. Có thể được biểu diễn dưới dạng một xâu bit nhị phân hoặc một tập các xâu (các file). Nếu biểu diễn này có sự sai khác so với dạng thức gốc thì hoặc có lỗi xảy ra hoặc một kẻ xâm nhập nào đó đã thay đổi nó. Lúc này, bộ phát hiện tĩnh sẽ được thông báo để kiểm tra tính toàn vẹn dữ liệu.
Cụ thể là: bộ phát hiện tĩnh đưa ra một hoặc một vài xâu bit cố định để định nghĩa trạng thái mong muốn của hệ thống. Chúng thu được một biểu diễn về trạng thái đó, có thể ở dạng nén. Sau đó, nó so sánh biểu diễn trạng thái thu được với biểu diễn tương tự được tính toán dựa trên trạng thái hiện tại của cùng xâu bit cố định. Bất kỳ sự khác nhau nào đều là thể hiện lỗi như hỏng phần cứng hoặc có xâm nhập.
Biểu diễn trạng thái tĩnh có thể là các xâu bit thực tế được chọn để định nghĩa cho trạng thái hệ thống, tuy nhiên điều đó khá tốn kém về lưu trữ cũng như về các phép toán so sánh. Do vấn đề cần quan tâm là việc tìm ra được sự sai khác để cảnh báo xâm nhập chứ không phải là chỉ ra sai khác ở đâu nên chúng ta có thể sử dụng dạng biểu diễn được nén để giảm chi phí, gọi là dấu hiệu (signature). Nó là giá trị tóm tắt tính được từ một xâu bit cơ sở. Phép tính toán này phải đảm bảo sao cho giá trị tính được từ các xâu bit cơ sở khác nhau là khác nhau. Có thể sử dụng các thuật toán checksums, message-digest (phân loại thông điệp), các hàm băm.
Một số bộ phát hiện xâm nhập kết hợp chặt chẽ với meta-data (dữ liệu mô tả các đối tượng dữ liệu) hoặc thông tin về cấu trúc của đối tượng được kiểm tra. Ví dụ, meta-data cho một log file bao gồm kích cỡ của nó. Nếu kích cỡ của log file tăng thì có thể là một dấu hiệu xâm nhập.
Phát hiện động:
Trước hết ta đưa ra khái niệm hành vi của hệ thống (behavior). Hành vi của hệ thống được định nghĩa là một chuỗi các sự kiện phân biệt, ví dụ như rất nhiều hệ thống phát hiện xâm nhập sử dụng các bản ghi kiểm tra (audit record), sinh ra bởi hệ điều hành để định nghĩa các sự kiện liên quan, trong trường hợp này chỉ những hành vi mà kết quả của nó là việc tạo ra các bản ghi kiểm tra của hệ điều hành mới được xem xét.
Các sự kiện có thể xảy ra theo trật tự nghiêm ngặt hoặc không và thông tin phải được tích luỹ. Các ngưỡng được định nghĩa để phân biệt ranh giới giữa việc sử dụng tài nguyên hợp lý hay bất thường.
Nếu không chắc chắn hành vi là bất thường hay không, hệ thống có thể dựa vào các tham số được thiết lập trong suốt quá trình khởi tạo liên quan đến hành vi. Ranh giới trong trường hợp này là không rõ ràng do đó có thể dẫn đến những cảnh báo sai.
Cách thức thông thường nhất để xác định ranh giới là sử dụng các phân loại thống kê và các độ lệch chuẩn. Khi một phân loại được thiết lập, ranh giới có thể được vạch ra nhờ sử dụng một số độ lệch chuẩn. Nếu hành vi nằm bên ngoài thì sẽ cảnh báo là có xâm nhập.
Cụ thể là: các hệ thống phát hiện động thường tạo ra một profile cơ sở để mô tả đặc điểm các hành vi bình thường, chấp nhận được. Một profile bao gồm tập các đo lường được xem xét về hành vi, mỗi đại lượng đo lường gồm nhiều chiều:
+ Liên quan đến các lựa chọn: thời gian đăng nhập, vị trí đăng nhập,…
+ Các tài nguyên được sử dụng trong cả quá trình hoặc trên một đơn vị thời gian: chiều dài phiên giao dịch, số các thông điệp gửi ra mạng trong một đơn vị thời gian,…
+ Chuỗi biểu diễn các hành động
Sau khi khởi tạo profile cơ sở, quá trình phát hiện xâm nhập có thể được bắt đầu. Phát hiện động lúc này cũng giống như phát hiện tĩnh ở đó chúng kiểm soát hành vi bằng cách so sánh mô tả đặc điểm hiện tại về hành vi với mô tả ban đầu của hành vi được mong đợi (chính là profile cơ sở), để tìm ra sự khác nhau. Khi hệ thống phát hiện xâm nhập thực hiện, nó xem xét các sự kiện liên quan đến thực thể hoặc các hành động là thuộc tính của thực thể. Chúng xây dựng thêm một profile hiện tại.
Với các hệ thống phát hiện xâm nhập thế hệ trước thì phụ thuộc vào các bản ghi kiểm tra (audit record) để bắt giữ các sự kiện hoặc các hành động liên quan. Đến các hệ thống sau này thì ghi lại một cơ sở dữ liệu đặc tả cho phát hiện xâm nhập. Một số hệ thống hoạt động với thời gian thực, hoặc gần thời gian thực, quan sát trực tiếp sự kiện trong khi chúng xảy ra hơn là đợi hệ điều hành tạo ra bản ghi mô tả sự kiện.
Khó khăn chính đối với các hệ thống phát hiện động là chúng phải xây dựng các profile cơ sở một cách chính xác, và sau đó nhận dạng hành vi sai trái nhờ các profile.
Các profile cơ sở có thể xây dựng nhờ việc giả chạy hệ thống hoặc quan sát hành vi người dùng thông thường qua một thời gian dài.
Phát hiện sự lạm dụng (misuse detection):
Trong các hệ thống, những người dùng dần dần thay đổi hành động của họ vì vậy các profile chứa hành vi lạm dụng gần như không thể phát hiện đối với những bộ phát hiện sự không bình thường ở trên do đó kỹ thuật phát hiện sự lạm dụng ra đời.
Phát hiện sự lạm dụng là phát hiện những kẻ xâm nhập đang cố gắng đột nhập vào hệ thống sử dụng một số kỹ thuật đã biết. Nó liên quan đến việc mô tả đặc điểm các cách thức xâm nhập vào hệ thống đã được biết đến, mỗi cách thức này được mô tả như một mẫu. Hệ thống phát hiện sự lạm dụng chỉ thực hiện kiểm soát đối với các mẫu đã rõ ràng. Mẫu có thể là một xâu bit cố định (ví dụ như một virus đặc tả việc chèn xâu),…dùng để mô tả một tập hay một chuỗi các hành động đáng nghi ngờ.
Ở đây, chúng ta sử dụng thuật ngữ kịch bản xâm nhập (intrusion scenario). Một hệ thống phát hiện sự lạm dụng điển hình sẽ liên tục so sánh hành động của hệ thống hiện tại với một tập các kịch bản xâm nhập để cố gắng dò ra kịch bản đang được tiến hành. Hệ thống này có thể xem xét hành động hiện tại của hệ thống được bảo vệ trong thời gian thực hoặc có thể là các bản ghi kiểm tra được ghi lại bởi hệ điều hành.
Các kỹ thuật để phát hiện sự lạm dụng khác nhau ở cách thức mà chúng mô tả (mô hình) hành vi chỉ định một sự xâm nhập. Các hệ thống phát hiện sự lạm dụng thế hệ đầu tiên sử dụng các luật (rules) để mô tả những gì mà các nhà quản trị an ninh tìm kiếm trong hệ thống. Một lượng lớn tập luật được tích luỹ dẫn đến khó có thể hiểu và sửa đổi bởi vì chúng không được tạo thành từng nhóm một cách hợp lý trong một kịch bản xâm nhập.
Để giải quyết khó khăn này, các hệ thống thế hệ thứ hai đưa ra các biểu diễn kịch bản xen kẽ, bao gồm các tổ chức luật dựa trên mô hình và các biểu diễn về phép biến đổi trạng thái. Điều này sẽ mang tính hiệu quả hơn đối với người dùng hệ thống cần đến sự biểu diễn và hiểu rõ ràng về các kịch bản. Hệ thống phải thường xuyên duy trì và cập nhật để đương đầu với những kịch bản xâm nhập mới được phát hiện.
Do các kịch bản xâm nhập có thể được đặc tả một cách chính xác, các hệ thống phát hiện sự lạm dụng có thể dựa theo đó để theo vết hành động xâm nhập. Trong một chuỗi hành động, hệ thống phát hiện có thể đoán trước được bước tiếp theo của hành động xâm nhập. Bộ dò tìm phân tích thông tin hệ thống để kiểm tra bước tiếp theo, có thể can thiệp để làm giảm bởi tác hại có thể.
Vị trí
Như ta đã biết IDS (Intrusion Detection System) là một hệ thống để phát hiện các xâm nhập. Chúng có thể được đặt trên hệ thống mạng tại các vị trí như trên hình vẽ:
IDS #1 :
Một vài IDS làm việc tại vị trí này. Khi đó, firewall sẽ không cung cấp đủ thông tin cho các phát hiện xâm nhập một cách hiệu quả.
IDS #2 :
Việc sắp xếp này của IDS sẽ phát hiện thành công các xâm nhập mà đi qua được firewall.
IDS #3 :
Phát hiện các xâm nhập cố gắng đi qua firewall.
IDS #4 :
Bằng cách đưa hệ thống IDS qua mạng của tổ chức, các tấn công bên trong hệ thống sẽ được phát hiện.
Phân loại
Mục đích của một hệ thống IDS là cung cấp dấu hiệu của một cuộc tấn công tiềm tàng hoặc một cuộc tấn công thực sự. Một cuộc tấn công hay xâm nhập là một sự kiện nhất thời trong khi các điểm dễ bị xâm phạm trên hệ thống là cố định (mang đến tiềm năng cho các cuộc tấn công, xâm nhập). Sự khác nhau giữa một cuộc tấn công và một điểm dễ bị xâm phạm là cuộc tấn công thì chỉ tồn tại tại một thời điểm đặc biệt trong khi điểm dễ bị xâm phạm tồn tại không phụ thuộc vào thời điểm quan sát. Hay nói một cách khác, một cuộc tấn công thì cố gắng khai thác điểm dễ bị xâm phạm. Chính vì lẽ đó, chúng ta cần tiến hành phân loại các hệ thống phát hiện xâm nhập.
Hình 1 biểu diễn sự khác nhau giữa các máy quét điểm dễ bị xâm phạm và các hệ thống dò tìm sự xâm phạm. Quét tìm điểm dễ bị xâm phạm không nguy cấp bằng việc phát hiện xâm nhập. Tiếp đó việc triển khai mỗi công nghệ có thể thay đổi bên trong các tổ chức. Hình 2 ánh xạ các loại IDS lên khung cảnh của hình 1.
Có 5 loại IDS khác nhau được đề cập trong tài liệu này. Không phải tất cả các loại này đều đại diện cho dò tìm kinh điển nhưng chúng đóng một vai trò quan trọng trong mục đích tổng thể là dò tìm và ngăn chặn sự xâm nhập trên một mạng toàn thể:
Hệ thống phát hiện xâm nhập dựa trên mạng (Network Based Intrusion Detection System-NIDS).
Hệ thống phát hiện xâm nhập dựa trên host (Host Based Intrusion Detection System-HIDS).
Kiểm tra tính toàn vẹn của file (File Integrity Checker).
Quét tìm điểm dễ bị xâm phạm của mạng (Network Vulnerability Scanner).
Quét tìm điểm dễ bị xâm phạm trên host (Host Vulnerability Scanner).
hình 1: Technology Landscape
Hình 1 trên đây chỉ ra rằng các sản phẩm IDS có thể được phân loại theo dạng phòng ngừa hay dạng đối phó (phản ứng lại sau khi đã bị xâm nhập). Chúng cũng có thể được phân loại theo tầm quan trọng trong việc quét tìm trên mạng và hệ thống.
Các công cụ IDS được đề cập trong phần này thuộc một trong hai loại sau: các hệ thống phát hiện xâm nhập và các máy quét tìm điểm dễ bị xâm phạm. Xa hơn nữa ta chia chúng thành các hệ thống dựa trên mạng và trên host. Như được chỉ ra trên hình 2 các máy quét điểm dễ bị xâm phạm có thể chạy tại bất kỳ thời điểm nào vì chúng ta cho rằng một điểm dễ bị xâm phạm luôn tồn tại cho tới khi nó được sửa chữa. Mặt khác một sự xâm phạm khai thác một điểm dễ bị xâm phạm và cần phải được dò tìm càng sớm càng tốt sau khi nó được bắt đầu. Ví lý do này các công cụ dò tìm xâm nhập cần được chạy một cách thường xuyên hơn một máy quét điểm dễ bị xâm phạm. Đó là lý do tại sao hầu hết các nhà cung cầp sản phẩm IDS cố gắng làm cho các công cụ của họ có khả năng hoạt động trong thời gian thực.
Hình 2: Technology Landscape
Chi tiết các hệ thống dò tìm sự xâm phạm
Một hệ thống phát hiện xâm nhập kiểm tra hoạt động của mạng hoặc của hệ thống để tìm ra các cuộc tấn công hay xâm nhập có thể xảy ra. Các hệ thống dò tìm xâm nhập có thể là network-based hay host-based. Các nhà cung cấp mới chỉ bắt đầu việc tích hợp hai công nghệ này.
Hệ thống dò tìm xâm phạm dựa trên mạng khá thông dụng hơn, nó thực hiện kiểm tra thông qua giao thông mạng để tìm ra dấu hiệu xâm nhập. Các hệ thống host-based xem xét các user và quả trình hoạt động ngay trên máy cục bộ để xác định dấu hiệu xâm nhập. Mỗi một loại đều có một điểm mạnh riêng của mình. Chúng ta sẽ xem xét tất cả loại đó.
Các hệ thống IDS thường sử dụng 3 loại công cụ phân tích có giá trị, đó là:
Phân tích dựa trên dấu hiệu hoặc sự kiện.
Phân tích thống kê
Các hệ thống có khả năng tương thích
Dựa trên dấu hiệu hoặc sự kiện, chức năng các hệ thống phải giống như một phần mềm phòng chống virus mà hầu hết mọi người đều rất quen thuộc. Những nhà cung cấp đưa ra một danh sách các mẫu mà nó cho rằng đáng nghi hay có dấu hiệu của một cuộc tấn công; IDS chỉ đơn thuần quét trong môi trường để tìm ra một dấu hiệu cho các mẫu đã được biết đến. Sau đó IDS sẽ trả lời bằng cách thực hiện một thao tác xác định người dùng, gửi một cảnh báo hoặc thực hiện logging phụ. Đây là loại hình thông dụng nhất của hệ thống phát hiện xâm nhập.
Một hệ thống phân tích thống kê xây dựng các mô hình thống kê của môi trường như là độ dài trung bình của một phiên telnet.. sau đó tìm kiếm sự chênh lệch với các giá trị thông thường.
Các hệ thống có khả năng tương thích khởi đầu với các quy tắc được tổng quát hoá cho môi trường, sau đó học hoặc làm thích nghi, các điều kiện cục bộ mà về phương diện khác có thể không thông dụng. Sau khi bắt đầu quá trình học hệ thống hiểu được cách mà mọi người tương tác với môi trường sau đó cảnh báo cho người điề hành về các hoạt động bất thường.
Tuy nhiên bạn vẫn cần phải chú ý rằng IDS sẽ không có cả các hành động nghi ngờ và các dấu hiệu cảnh báo khi không có điều gì sai xảy ra. Đó là lý do vì sao các tổ chức vẫn luôn có một qui trình của con người tương tác với IDS để ước lượng môi trường điều hành.
Sau đây sẽ xem xét tổng quan, ưu điểm, nhược điểm các loại IDS đã kể ra ở trên:
Network-based IDS (NIDS)
NIDS thường có hai thành phần logic là bộ cảm biến và trạm quản lý. Bộ cảm bến đặt tại một đoạn mạng, kiểm soát các cuộc giao vận nghi ngờ trên đoạn mạng đó. Trạm quản lý nhận các tín hiệu cảnh báo từ bộ cảm biến và trình bày nó cho một điều hành viên.
Bộ cảm biến thường được dành cho các hệ thống chỉ tồn tại để giảm sát hoạt động của mạng. Một số sự hiển thị thường là một giao diện tới một công cụ quản trị mạng ví dụ như HP Overview, tuy nhiên một số trường hợp đó lại là một hướng dẫn được thiết kế để giúp người điều hành phân tích vấn đề.
Hình 3: Sơ đồ miêu tả sự bố trí của một network based IDS truyền thống với hai bộ cảm biến trên các đoạn mạng khác nhau cùng giao tiếp với một trạm kiểm soát trong một mạng internal.
Ưu điểm
Các hệ thống phát hiện xâm nhập có thể dò được một số loại tấn công sử dụng mạng. Chúng rất tốt trong việc dò các truy cập trái phép hoặc một số loại truy cập vượt quá sự cho phép.
Một hệ thống network-based IDS không yêu cầu thay đổi các server hoặc host đưa ra. Đây chính là một điểm thuận lợi vì các server đưa ra thông thường có các dung sai hoạt động đóng đối với CPU, các thiết bị vào ra và dung lượng đĩa; cài đặt các phần mềm phụ có thể gây vượt quá dung lượng của hệ thống.
IDS không khó thực hiện đối với bất cứ một dịch vụ hay một tiến trình nào được đưa ra vì một network-based IDS không hoạt động như một router hay các thiết bị khó tính khác. Lỗi hệ thống không có một ảnh hưởng đáng kể nào đối với công việc. Một khía cạnh của lợi ích đó là bạn có thể gặp ít sự chống cự hơn từ các người khác trong tổ chức. Sự rủi ro trong việc tồn tại các chu trình nguy cấp với một hệ thống mạng thấp hơn với một hệ thống host.
Các hệ thống network-based IDS hướng về tính độc lập nhiều hơn các hệ thống host-based. Chúng chạy trên một hê thống chuyên dụng dễ dàng cài đặt; đơn thuần chỉ mở thiết bị ra, thực hiện một vài sự thay đổi cấu hình và cắm chúng vào trong mạng của bạn tại một vị trí cho phép nó kiểm soát các cuộc giao vận nhạy cảm.
Nhược điểm
Một hệ thống network-based IDS mặt khác cũng có những hạn chế của nó. Nó chỉ kiểm tra mạng trên đoạn mà nó trực tiếp kết nối tới, nó không thể phát hiện một cuộc tấn công xảy ra trên các đoạn mạng khác. Vấn đề này dẫn tới yêu cầu tổ chức cần phải mua một lượng các ssensor để có thể bao phủ hết toàn mạng, và đây là một nhược điểm lớn về chi phí và mỗi sensor đều rất đắt.
Các hệ thống phát hiện xâm nhập mạng hướng tới sử dụng phân tích tín hiệu để đáp ứng các yêu cầu hiệu năng. Nó sẽ dò các cuộc tấn công các chương trình thông dụng từ các nguồn bên ngoài, nhưng nó không đầy đủ để dò các luồn thông tin phức tạp hơn. Nó yêu cầu khả năng mạnh hơn để kiểm tra môi trường.
Một hệ thống phát hiện xâm nhập có thể cần truyền một dung lượng dữ liệu lớn hơn trở về hệ thống phân tích trung tâm. Thỉnh thoảng điều đó có nghĩa là một gói được kiểm soát sẽ sinh ra một lượng lớn hơn tải phân tích. Rất nhiều các hệ thống như vậy sử dụng các tiến trình giảm dữ liệu linh hoạt để giảm bớt số lượng các giao vận được truyền tải. Họ cũng thường thêm các chu trình tự ra các quyết định vào các bộ cảm biến và sử dụng các trạm trung tâm như một thiết bị hiển thị trạng thái hoặc trung tâm truyền thông hơn là thực hiện các phân tích thực tế. Điểm bất lợi lànó sẽ cung cấp rất ít các điều phối viên giữa các bộ cảm ứng; bất kỳ một sensor nào cũng không biết được việc một sensor khác dò được một cuộc tấn công. một hệ thống như vậy sẽ không thể dò được các cuộc tấn công hiệp đồng hoặc phức tạp.
Một hệ thống network-based IDS có thể gặp khó khăn trong việc xử lý các cuộc tấn công trong một phiên được mã hoá. Thật may mắn chỉ có rất ít các cuộc tấn công xảy ra trong một phiên giao vận bị mã hoá ngoại trừ tấn công vào các web server yếu.
Host IDS
Hệ thống host-based IDS tìm kiếm dấu hiệu của sự xâm nhập vào một host cục bộ. Thừơng sử dụng các cơ chế kiểm tra và logging như một thông tin nguồn để phân tích. Chúng tìm kiếm các hoạt động bất thường hạn chế host cục bộ như là login, truy nhập file không thích hợp, bước leo thang các đặc quyền không được chấp nhận.. Kiến trúc IDS này thường sử dụng các cơ chế rule-based (dựa trên các qui tắc) để phân tích các thao tác, một ví dụ của các qui tắc này là “đặc quyền của người sử dụng cấp cao (surperUser) chỉ có thể đạt được thông qua lệnh su”. Như vậy những cố gắng liên tục để login vào account root có thể đựơc coi là một cuộc tấn công.
Ưu điểm
Một hệ thống host-based IDS có thể là một công cụ cực mạnh để phân tích các cuộc tấn công có thể xảy ra. Ví dụ như thỉnh thoảng nói chính xác kẻ tấn công làm gì, những lệnh nào được hắn thi hành, các file nào được mở và hệ thống nào yêu cầu hắn thực hiện. Một hệ thống host-based IDS thương cung cấp nhiều thông tin chi tiết và xác đáng hơn một hệ network-based.
Host-based IDS có thể được sử dụng trong các môi trường mà việc phát hiện các xâm nhập rõ ràng là không cần thiết hoặc nơi mà dải tần rộng không có giá trị đối với các sensor để phân tích các cuộc truyền thông. Các hệ thống host-based có thể hoàn toàn độc lập. Nó cũng cho phép các hệ thống host-based trong một số trường hợp chạy từ những phương tiện chỉ được đọc, điều này ngăn chặn kẻ tấn công vô hiệu hoá hệ thống IDS.
Cuối cùng một hệ thống host-based IDS có thể ít rủi ro hơn khi cấu hình với một đáp ứng hoạt động như là kết thúc một dịch vụ hay log of một uer sai phạm. Một hệ thống host-based IDS khó có thể lừa vượt qua một giới hạn truy cập từ các nguồn hợp pháp.
Nhược điểm
Các hệ thống host-based yêu cầu phải được cài đặt trên các thiết bị đặc biệt mà bạn muốn bảo vệ. Ví dụ như nếu bạn có một server tài nguyên mà bạn muốn bảo vệ bạn cần phải cài đặt hệ thống IDS trên server đó. Như đã đề cập ở trên điều này sẽ đặt ra một vấn đề về dung lượng, trong một số trường hợp nó còn gây ra các vấn đề về an ninh..
Một vấn đề khác kết hợp với các hệ thống host-based là nó hướng đến việc tin vào logging mặc định và năng lực kiểm soát của server. Nếu như server không được cấu hình để thực hiện logging đầy đủ và thực hiện giám sát, bạn cần phải thay đổi cấu hình của có thể là một máy mà đó là một vấn đè quản ls thay đổi cực lớn.
Hệ thống host-based tương đối đắt. Nhiều tổ chức không có đủ nguồn tài chín để bảo vệ toàn bộ các đoạn mạng của mình sử dụng các hệ thống host-based. Những tổ chức đó phải rất thận trọng trong việc chọn các hệ thống nào để bảo vệ. Nó có thể để lại các lỗ hổng lớn trong mức độ bao phủ phát hiện xâm nhập. Ví dụ như một kẻ tấn công trên một hệ thống láng giềng không được bảo vệ có thể đánh hơi thấy các thông tin xác thực hoặc các tài liệu dễ bị xâm phạm khác trên mạng.
Cuối cùng một hệ thống host-based hầu như hoàn toàn không biết gì về môi trường mạng. Như vậy đòi hỏi thời gian phân tích để ước lượng thiệt hại từ một sự xâm phạm tiêm tàng tăng tuyến tính với so lượng các host cần bảo vệ...Ví dụ ta cần một thời gian t để nghiên cứu về tai nạn trên một hệ thống, sẽ mất thời gian 2t để nghiên cứu trên 2 hệ thống,...
File Integrity Checker
Một phương pháp kiểm tra tính toàn vẹn của file (file integriy checker) kiểm tra file trên một máy tính để xác định xem liệu nó có bị thay đổi không so với lần cuối cùng thiết bị này hoạt động. Thiết bị kiểm tra tính toàn vẹn giữ một cơ sở dữ liệu giá trị băm (hash value) của mỗi file. Mỗi khi thiết bị được chạy nó sẽ tính toán lại giá trị băm và so sánh với giá trị được lưu trữ. Nếu hai giá trị này khác nhau file đó đã bị thay đổi, nếu hai gia trị như nhau thì file chưa bị thay đổi.
Một hàm băm là một qui trình toán học nhằm giảm dãy các byte trong một file thành một số có giá trị phù hợp. Các file giống nhau luôn cho ra các giá trị băm giống nhau và bất kỳ một sự thay đổi nhỏ nào trên file sẽ sinh ra một giá trị băm khác. Không giống như mã hóa, hàm băm là hàm một chiều, bạn không thể có được file gốc từ một giá trị băm.
Một số hàm băm an toàn hơn các hàm khác. Những hàm băm rất an toàn mà đạt được các yêu cầu toán học đặc biệt được gọi là các hàm băm an toàn mật mã. Một trong các yêu cầu đó là việc tính toán ra sự xung đột hai đầu vào hàm băm cho cùng một giá trị là rất khó (thuật ngữ kỹ thuật là sự tính toán không thể thực hiện được). Điều đó có nghĩa là nếu như kẻ tấn công thay đổi file, hắn không thể thay đổi bằng cách nào đó lừa thiết bị kiểm tra rằng file đó vẫn không bị thay đổi.
Ưu điểm
Sự tính toán không thể thực hiện được để đánh bại tính toán của thiết bị kiểm tra tính toàn vẹn. Điều này làm cho nó trở thành một công cụ rất mạnh để phát hiện thay đổi của file trên một máy tính. Nó rất mạnh, trên thực tế nó là một trong những công cụ quan trọng nhất bạn có thể sử dụng để phát hiện sự lạm dụng của một hệ thống máy tính.
Thiết bị kiểm tra tính toàn vẹn có thể được cấu hình để theo dõi mọi thứ trong hệ thống hoặc chỉ những file quan trọng. Nó thực sự rất mềm dẻo.
Một khi kẻ tấn công làm tổn hại tới hệ thống chúng muốn thực hiện hai điều. Đầu tiên chúng xoa bỏ các dấu vết của mình, nghĩa là chúng thay đổi các file nhị phân, file thư viện hay các file log để xoá đi thực tế rằng chúng đang hoặc đã ở trên hệ thống. Thứ hai là chúng sẽ tạo ra các thay đổi để chắc chắn rằng chúng có thể tiếp tục truy nhập vào hệ thống. Một thiết bị kiểm tra tính toàn vẹn của file được cấu hình một cách đúng đắn sẽ dò được cả hai thao tác trên.
Nhược điểm
Các thiết bị kiểm tra tính toàn vẹn tin tưởng vào các dữ liệu đựơc chứa trên các máy tính cục bộ. Giống như file log, các dữ liệu này (cơ sở dữ liệu các giá trị băm) dễ bị tấn công để thay đổi trên hệ thống. Giả sử kẻ tấn công đạt đựơc đặc quyền user cấp cao trong hệ thống của bạn, kẻ tấn công có thể tìm ra thiết bị kiẻm tra tính toàn vẹn, thực hiện một số thay đổi và cho thiết bị chạy lại để tạo lại cơ sở dữ liệu giá trị băm. Khi người quản trị chạy công cụ này sẽ không có một báo lỗi thay đổi nào xảy ra.
Một cách để giải quyết vấn đề này là hãy làm cho dữ liệu của bạn là một tài liệu chỉ được đọc ví dụ như ghi lên một đĩa CD (chú ý không phải là đĩa rewritable). Cách này hợp lý đối với hầu hết các trạm và các hệ thống không đổi nhưng đối với hầu hết các máy đưa ra thì đó là một điều phiền phức không thể tin được.
Thiết bị kiểm tra phải được cấu hình cho từng hệ thống một. Thông thường đây là một công việc phức tạp và tốn nhiều thời gian. Nếu như hệ điều hành không tốt trong việc thực hiện toàn vẹn hệ thống thì việc cài đặt càng trở nên khó hơn nhiều.
Một khi thiết bị đã được cấu hình nó phải được chạy thường xuyên. Tuỳ thuộc vào hệ điều hành những thay đổi đơn giản hoặc các thao tác thông thường có thể được báo cáo từ hàng chục tới hàng ngàn lần của sự thay đổi. Ví dụ như một thiết bị kiêm tra tính toàn vẹn chỉ chạy trước khi nâng cấp MS-Outlook trong một hệ Windows NT, sau khi cài đặt số báo cáo vượt quá 1800 thay đổi.
Cuối cùng thiết bị kiểm tra tính toàn vẹn tiêu thụ một lượng đáng kể nguồn tài nguyên của hệ thống. Rất nhiều quản trị không muốn chạy các thiết bị kiểm tra thường xuyên, điều đó sẽ hạn chế các tính năng của nó, bởi vì nếu một thiết bị được chạy một lần mỗi tháng nó sẽ báo rất nhiều sự thay đổi mà một cuộc tấn công thực sự đã có một cơ hội tốt để tiến hành mà không có một sự chú ý nào cả.
Vulnerability Scanners
Một vulnerability scanner khác với một hệ thống phát hiện sự xâm nhập, như đã đề cập ở trên, một vulnerability scanner tìm kiếm các cấu hình trạng thái còn IDS tìm kiếm sự lạm dụng nhất thời hay các hoạt động không bình thường. Một vulnerability scanner có thể tìm kiếm một NFS có thể bị xâm hại dã được biết đến bằng cách kiểm tra các dịch vụ có giá trị và cấu hình trên hệ thống từ xa. Một IDS, xử lý những tính dễ bị xâm hại tương tự nhau,chỉ báo cáo về sự tồ tại của một điểm dễ bị xâm nhập khi một kẻ tấn công cố gắng khai thác nó.
Vulnerability scanner, dù là network scanner hay host scanner đều cho các tổ chức một cơ hội hàn gắn các vấn đề trước khi trước khi chúng nảy sinh hơn là tác động trở lại sự xâm phạm hoặc lạm dụng đang diễn tiến. Một hệ thống phát hiện xâm nhập dò các cuộc xâm nhập đang diễn ra, trong khi một vulnerability scanner cho phép tổ chức ngăn chặn sự xâm nhập. Vulnerability rất hữu ích trong các tổ chức không có khả năng tốt phản hồi các sự kiện bất ngờ.
Network Vulnerability Scanner
Một network vulnerability scanner điều khiển từ xa bằng cách kiểm tra giao diện mạng trên một hệ thống từ xa. Nó sẽ tìm kiếm các dịch vụ dễ bị xâm phạm chạy trên máy từ xa đó và báo cáo về điểm có thể dễ bị xâm phạm. Ví dụ như ta biết rexd là một dịch vụ yếu, một network vulnerability scanner sẽ cố gắng kết nối tới dịch vụ rexd tại hệ thống đích. Nếu như kết nối thành công thì network vulnerability scanner sẽ báo cáo về một rexd dễ bị xâm hại.
Từ khi một máy quét điểm dễ bị xâm phạm trên mạng có thể chạy trên một máy đơn trong mạng, nó có thể được cài đặt mà không tác động vào các quản trị cấu hình của các máy khác. Thông thường các máy quét này được sử dụng bởi các kiểm toán viênva các nhóm an ninh vì họ có thể cung cấp một cái nhìn của người bên ngoài về các lỗ hổng bảo mật trong một máy tính hoặc trong một mạng.
Ưu điểm
Các máy quét điểm dễ bị xâm hại trên mạng có thể báo cáo về nhiều kiến trúc đích khác nhau. Một số làm việc với router, một số làm việc với các hệ thống Unix, một số với các hệ NT hoặc Window trên các nền khác.
Network vulnerability scanner nói chung rất dễ cài đặt và bắt đầu sử dụng. Không giống như các hệ thống host-based thường xuyên yêu cầu cài đặt các phần mềm hoặc cấu hình lại, một hệ thống network-based có thể bị rơi vào một nơi nào đó trong mạng. Dễ dàng gắn (plug) giao diện vào một switch và khởi động máy.
Nhược điểm
Network vulnerability scanner gần như dành riêng cho các hệ thống dựa trên dấu hiệu.Giống như một IDS dựa trên dấu hiệumột vulnerability scanner dựa trên dấu hiệu chỉ có thể phát hiện các điểm dễ bị xâm phạm được lập trình để nhận diện. Nếu như một điểm dễ bị xâm hại mới xuất hiện thì như nó vẫn thường hành động, sẽ có một cửa sổ cơ hội cho kẻ tấn công trước khi nhà cung cấp có thể cập nhật dấu hiệu (và khác hàng download và cài đặt dấu hiệu mới đó)
Nếu như khách hàng lơ đễnh với các dấu hiệu quét điểm dễ bị xâm hại của họ như thế rất nhiều tổ chức sdẽ có thể bị làm hại bởi các cuộc tấn công thậm chí ngay cả khi họ thường xuyên chạy các máy quét điểm dễ bị xâm phạm. Một cuộc phân tích gần đây chỉ ra rằng 90% các web server chạy IIS vẫn có thể bị tổn thương do các tài liệu được đưa ra và tính an toàn có thể bị tổ thương trâm trọng. Điều này kiến cho các nhà cung cấp cần phải sản xuất ra các miếng vá và các tư vấn bảo mật. Một network vulnerability scanner chỉ có thể chỉ ra các vấn đề có thể, các tổ chức vẫn phải xử lý các vấn đề đó.
Các vấn đề tiềm tàng khác trong một network vulnerability scanner đó là đầu ra vẫn yêu cầu khả năng trình diễn có kinh nghiệm. Tất cả các môi trường có các yêu cầu hoạt động khác nhau và có các khả năng bảo mật dễ bị xâm phạm khác nhau.
Khi một network vulnerability scanner báo cáo về một điểm dễ bị xâm phạm đặc biệt thì mạng của tổ chức hoặc các thao tác tổ chức cần phải định lượng báo cáo đó trong ngữ cảnh của môi trường hoạt động của hệ thống.
Các máy quét điểm dễ bị xâm phạm đã được biết đến để tháo bỏ các hệ thống cuối. Một số sự thi hành IP không đủ mạnh để xử lý các kết nối đồng thời..Cuộc giao vận sinh ra bởi việc kiểm tra cổng không an toàn đoi khi sẽ làm đổ vỡ máy
Cuối cùng một network vulnerability scanner hướng tới việc chứa một lượng lớn các dữ liệu điểm dễ bị xâm phạm. Nếu ai đó từng đột nhập vào một hệ thống quét thì việc làm hại các máy khác trong mạng chỉ là một trò trẻ con. Bảo vệ các máy quét để ngăn chặn sự sử dụng trái phép các dữ liệu quét.
Host Vulnerability Scanner
Một host vulnerability scanner khác một network vulnerability ở chỗ nso bị hạn chế hoàn toàn trong một hệ điều hành cục bộ.Một network vulnerability scanner yêu cầu máy đích có thể truy cập được từ trên mạng hợp lệ cho hoạt động của nó, một host vulnerability scanner không như vậy.
Host vulnerability scanner là các phần mềm đóng gói được cài đặt trên các hệ điều hành đặc biệt.Khi các phần mềm đó được cài đặt, nó sẽ được cấu hình để chạy tại bất kỳ thời điểm nào, ngày cũng như đêm. Thường thường các thao tác quét được thực hiện bởi loại công cụ này được lập lịch để chạy với mức độ ưu tiên để giảm sự xung đột.
Ưu điểm
Host vulnerability scanner hướng tới sự hoà hợp và chính xác cho một hệ điều hành nhất định được đưu ra. Nó có thể thường xuyên nói cho người sử dụng biết miếng vá nào cần được sử dụng để sửa chữa những điểm dễ bị xâm phạm được nhận dạng trong khi một hệ thống network vulnerability scanner đôi khi chỉ đưa ra một hướng dẫn chung. Khi bạn muốn lựa chọn mua sản phẩm, hãy xem xét các báo cáo đơn giản về hệ điều hành của bạn để xác định có bao nhiêu thông tin chứa trong các báo cáo đó. Độ sâu và độ chính xác của các báo cáo là một trong các tiêu chí để bạn lựa chọn.
Host vulnerability scanner không tiêu thụ băng thông mạng khi bạn chạy chúng. Tất cả các tiến trình đều bị hạn chế trong hệ thống host cục bộ.
Host vulnerability scanner không giống như network scanner tạo ra các ngăn xếp IP trên hệ thống đích. Một số hệ điều hành có các ngăn xếp IP được bổ xung yếu và tồi tệ kết hợp với các giao diện mạng của chúng, gửi một dung lượng lớn của khả năng tải hoặc các cờ tiêu đề TCP không thông dụng có thể gây treo giao diện bắt khởi động lại.
Host vulnerability scanner ít thích hợp để một kẻ xâm phạm sử dụng để chống lại bạn. Khi một kẻ tấn công đã phá vỡ một hệ thống và tìm ra network vulnerability scanner hoặc các báo cáo từ scanner đó nó thường sưu dụng công cụ hoặc các báo cáo đó để tấn công các hệ thống khác trong tổ chức của bạn. Một công cụ host-based cung cấp rất ít thông tin hữu ích để mở rộng cuộc tấn công.
Nhược điểm
Host vulnerability scanner lại là một hệ thống dựa trên dấu hiệu. Chúng tìm kiếm các cấu hình hệ thống nguy hiểm đã xác định và báo cáo về kẻ giả mạo mục đích là để giảm nhẹ các luồng riêng biệt đó. Các đòi hỏi về thủ tục và điều hành hệ thống cục bộ có thể yêu cầu tính mềm dẻo trong việc tìm và áp dụng các giải pháp lên bất kỳ điểm dễ bị xâm phạm được đưa ra nào.
Cài đặt Host vulnerability scanner đòi hỏi sự cộng tác của quản trị hệ thống. Khi mà phần mềm được chạy thường xuyên với một đặc quyền , quản trị hệ thống của mỗi máy cần phải đồng ý với mục đích và cấu hình của công cụ. Ở nhiều tổ chức đây là một nhiệm khó khăn.
Giống như bất cứ một hệ thống host-based nào, những kẻ tấn công có thể thay đổi máy quét điểm nhạy cảm để nó không báo cáo về các điểm dễ bị tấn công mà kẻ tấn công muốn khai thác. Một kết quả tất yếu là máy quét điểm nhạy cảm không thể bảo vệ hệ thống khỏi sự phá hoại khi một scanner được cài đặt.
NIDS (Network - based IDS)
Lí do lựa chọn NIDS
Với các kiểu hệ thống IDS (NIDS-hệ thống IDS trên mạng, HIDS-hệ thống IDS trên một máy trạm, và Hybrid IDS-lai của hai hệ thống đó), hệ thống NIDS là giải pháp được chọn lựa vì các lí do sau:
Cung cấp mức độ bao phủ rộng nhất vì nó có thể được đặt tại các điểm nối chính trong mạng vì thể thay vì đặt một hệ thống host-based hay hybrid agent trên mỗi server trong DMZ bạn có thể đặt một cảm biến mạng đơn trong DMZ
Rất dễ triển khai như các bộ cảm biến trong một máy tính độc lập và rất nhiều NIDS ngày nay có giá trị như các thiết bị, hơn thế nữa nó làm giảm tổng thời gian và giả thành triển khai. Các Host IDS và Hybrid IDS yêu cầucài đặt các agent trên các máy cần được bảo vệ và mỗi máy được cài đặt đó cần được cập nhật thường xuyên.
Cung cấp chi tiết hơn về giao thông trong mạng để trợ giúp quyết định và xã định chính sách thích hợp.HostIDS và Hybrid IDS chỉ cung cấp thông tin trên một máy nào đó hoặc trên server và HIDS không cung cấp bất cứ thông tin nào về giao thông
Thị trường NIDS đã rất trưởng thành và đã phục hưng để phát triển một số các công nghệ bảo mật phức tạp nhất trong nền công nghiệp. HIDS rõ ràng vẫn đang ở các công nghệ đơn giản với hầu hết những cải tiến đều từ việc giải quyết các vấn đề về triển khai và quản lý các agent. Các công nghệ Hybrid vẫn rất mới và vẫn cần đầu tư vào các chiến lược triển khai và quản trị.
Nhiều hệ thống dò tìm sự xâm nhập trên mạng có thể block một cuộc tấn công để ngăn chặn kẻ tấn công truy cập thành công. Những phương pháp block này thay đổi một cách hiệu quả nhưng có thể ngay lập tức phản ứng lại kẻ tấn công (có khả năng đáp ứng yêu cầu thời gian thực) bằng cách đso hạn chế những phá hoại có thể của kẻ tấn công. Do HIDS dựa trên việc phân tích các file log nên nó luôn luôn không đáp ứng được thực tế. Các hệ thống Hybrid có khả năng đáp ứng yêu cầu thời gian thực nhưng nó lại chỉ có thể bảo vệ những host riêng lẻ.
NIDS có thể tương tác với các công nghệ vành đai khác để tăng tính vững mạnh của vành đai của doanh nghiệp. NIDS có tác dụng đòn bẩy với sự phong toả đang tồn tại trong các công nghệ routing và firewall bằng cách tự động cập nhật các chính sách vành đai khác nhằm phản ứng lại các mối đe doạ thời gian thực. Hệ thống host-based bị giớii hạn trong một thiết bị đơn và không thể hỗ trợ các hệ thống bảo vệ đang tồn tại trong các công nghệ an toàn vành đai.
Kiến trúc NIDS và hoạt động
Mọi hệ thống IDS đều dựa trên kiến trúc đa lớp (multi-tier) của kỹ thuật dò tìm (Detection Technology): phép phân tích dữ liệu, lớp quản trị cấu hình và giao diện người dùng đồ hoạ (GUI). Trong các tổ chức hoặc quá trình phát triển các dịch vụ quản trị, mỗi lớp của hệ thống IDS sẽ được phát triển độc lập, để thuận tiện cho các thao tác, đảm bảo hiệu năng, và hỗ trợ cho các luồng công việc có tổ chức.
Các kỹ thuật dò tìm là khác nhau tuỳ theo các kiểu hệ thống IDS khác nhau:
Sensors : là phần mềm phát triển (kỹ thuật dựa trên thiết bị), cho phép NIDS giám sát lượng tải trên các mạng tốc độ cao. Các Sensor được đặt tại một vị trí đặc biệt trên vành đai của mạng hoặc bên trong cơ cấu mạng. Các Sensor là các thiết bị xử lý tập trung đòi hỏi hoạt động chính xác. Sensor sẽ phân tích toàn bộ giao thông mạng, tìm kiếm các dấu hiệu xâm nhập sau đó báo cáo thông tin đến một người quản trị tập trung xác định theo các thông số qui định trong NIDS.
Agents : là phần mềm phát triển được cài đặt trên một máy PC riêng biệt trong hệ thống HIDS (Host-based IDS). Phần mềm Agent sử dụng rất ít các tiến trình nguồn. Chức năng của nó là giám sát các file đặc biệt hoặc các đăng nhập vào máy trạm, báo cáo đến người quản trị trung tâm khi các file này bị truy cập, sửa đổi, xoá hoặc sao chép dựa theo chính sách an ninh trên máy trạm. Các Agent được xem như những phần mềm thông minh khi chúng quyết định chấp thuận các hành động hợp lệ và báo cáo về các can thiệp vào hệ thống an ninh.
Hybrid agents : bao gồm các tính năng của host-based Agent, với kỹ thuật network-based sensor giới hạn chỉ phân tích trên giao thông mạng được định địa chỉ tại những máy trạm đặc biệt nơi mà hybrid agent được cài đặt. Việc sử dụng bộ xử lý của hybrid agent sẽ mạnh hơn host-based agent bởi tính liên tục của các tiến trình giao thông mạng tại máy trạm.
Collectors : giống như các agent nhưng chúng là các phần mềm ứng dụng nhẹ hơn, cũng tập trung trên máy trạm như các agent. Điểm khác nhau chính là các collector được xem như là các thiết bị câm bởi vì chúng không đưa ra quyết định tại mức máy trạm. Chức năng của một collector là tập hợp các thông tin đăng nhập, đăng ký, thông tin file từ máy trạm và chuyển tiếp toàn bộ đến người quản trị trung tâm ngay khi lối vào được mở. Người quản trị trung tâm sẽ thực hiện tất cả các phân tích và ra quyết định.
Lược đồ của một hệ thống NIDS:
Thiết bị NIDS kết nối đến một hub của mạng hoặc một switch, kết nối đến router mạng hoặc Firewall. Mọi luồng tải đi đến hoặc đi từ khách hàng sẽ được kiểm tra bởi thiết bị NIDS. NIDS quản lý lựa chọn dịch vụ xâm nhập bao gồm sensor, cả hai phần mềm ứng dụng và phần mềm dịch vụ điều khiển. Theo các lí do an toàn, khách hàng không thể yêu cầu từng bộ phận mà phải mua toàn bộ bộ phần mềm trung tâm đó.
Hoạt động:
Trong phần trình bày về IDS, chúng ta đã tìm hiểu cách thức mà một hệ thống IDS tiến hành phát hiện xâm nhập. Đó chính là hai cách tiếp cận: phát hiện sự không bình thường và phát hiện sự lạm dụng. Cả hai đều được đưa vào thực tế từ năm 1980 đối với một hệ điều hành đơn và được mở rộng cho phù hợp với các hệ thống phân tán và hệ thống mạng.
Như vậy, hoạt động phát hiện xâm nhập trong hệ thống NIDS cũng dựa trên các kỹ thuật xâm nhập đã trình bày cho hệ thống IDS tổng quát ở trên. Các kịch bản xâm nhập vẫn dựa trên các hành động xâm nhập thực hiện bởi các thực thể. Tuy nhiên, đa người dùng trên một hệ thống mạng có thể làm việc với nhau như là một phần của xâm nhập hợp tác trong đó nhiều thực thể cộng tác với nhau để thực hiện xâm nhập. Thực tế cũng cho thấy xâm nhập hợp tác trên một mạng xuất hiện thường xuyên hơn và cung cấp nhiều cơ hội hơn cho hành vi xâm nhập. Kẻ xâm nhập có thể dùng đa nút để cố gắng che giấu hành động của chúng. Chúng tận dụng một thực tế rằng những hệ điều hành khác nhau có thể không nhận biết được các trạng thái khác nhau. Để phát hiện xâm nhập trên mạng, bộ dò tìm phải có khả năng so sánh tương quan giữa các hành động từ đa nút liên quan trong một xâm nhập hợp tác.
Các quá trình phát hiện sự không bình thường và phát hiện sự lạm dụng được mở rộng cho phù hợp với xâm nhập trong môi trường mạng. Dữ liệu kiểm tra (audit data), lời gọi đến các thủ tục của hệ thống, và thông tin trạng thái hệ thống được thu thập và sau đó được phân tích theo cách thức giống với đã trình bày trong phần IDS, vẫn trong những khái niệm về hành vi bình thường/bất thường và các kịch bản xâm nhập. Chỉ khác là trong môi trường mạng, hệ thống phát hiện xâm nhập cần phải tập hợp và tương quan thông tin từ tất cả các máy trạm. Để thực hiện được nhiệm vụ này, bộ dò tìm có thể áp dụng cách tiếp cận tập trung, theo đó mọi thông tin được thu thập trên một máy và sau đó được phân tích hoặc có thể tiếp cận theo cách phân quyền (phân cấp), tại đó chỉ thông tin cục bộ được phân tích và lựa chọn, thông tin quan trọng được chia sẻ giữa các thành phần phát hiện xâm nhập qua các nút.
+ Phân tích tập trung:
Hệ thống phát hiện xâm nhập trên mạng tập trung được đặc tả bởi phép thu thập dữ liệu kiểm tra phân tán và phân tích tập trung. Trong hầu hết các hệ thống phát hiện, dữ liệu kiểm tra được thu thập tại các nút riêng lẻ sau đó được báo cáo lên một vài vị trí tập trung, nơi mà phép phân tích để phát hiện xâm nhập được thực hiện. Cách tiếp cận này phù hợp đối với những hệ thống mạng nhỏ nhưng chưa đủ để đáp ứng đối với những hệ thống lớn.
+ Phân tích phân cấp:
Hệ thống NIDS theo cách phân cấp được đặc tả bởi phép thu thập dữ liệu kiểm tra được phân tán, sau nữa là phép phân tích phát hiện xâm nhập phân tán. Các hệ thống này có thể mô hình như quá trình phân cấp. Không giống như hệ thống NIDS tập trung, các hệ thống NIDS phân cấp này áp dụng tốt khi phạm vi hệ thống mạng tăng bởi vì thành phân phân tích là phân tán và có ít thông tin kiểm tra phải chia sẻ giữa các thành phần khác nhau.
Với cách tiếp cận phân quyền, có một số phương pháp để chia toàn bộ hệ thống thành các vùng nhỏ hơn khác nhau tuỳ theo mục đích giao tiếp. Vùng (domain) là một vài tập con của hệ thống phân cấp bao gồm một nút có trách nhiệm thu thập và phân tích dữ liệu từ tất cả các nút khác trong vùng đó. Nút đang phân tích này biểu diễn vùng tới các nút cao hơn trong phân cấp. Các vùng được tạo ra bằng việc phân chia hệ thống dựa trên các yếu tố về:
Địa lý
Điều khiển quản trị
Tập hợp các nền phần mềm giống nhau
Các kiểu xâm nhập dự đoán
Mô hình hệ thống NIDS
Như vậy, chúng ta đã tìm hiểu chi tiết nguyên lý, hoạt động của hệ thống NIDS về mặt lý thuyết. Áp dụng vào thực tế hệ thống mạng, các công việc cụ thể của nó sẽ như sau:
+ Phát hiện xâm nhập
+ Đối phó với xâm nhập
Phát hiện xâm nhập:
Bao gồm các chức năng thu thập, phân tích, lưu trữ dữ liệu.
+ Thu thập dữ liệu: có chức năng thu thập và cung cấp thông tin về các “sự kiện” trong hệ thống được bảo vệ cho các thành phần phân tích để làm nhiệm vụ xử lý. Quá trình thu thập này bao gồm cả việc loại bỏ những thông tin không cần thiết.
Trong môi trường mạng, luồng tải (traffic) bao gồm các bó dữ liệu IP lưu thông dọc theo mạng. NIDS có thể bắt giữ được các gói tin đó khi chúng truyền trên dây. NIDS bao gồm một stack TCP/IP đặc biệt để tập hợp lại các bó dữ liệu IP và các luồng TCP.
+ Phân tích dữ liệu: sẽ phân tích thông tin nhận được từ bộ phận thu thập dữ liệu. Mục đích của nó là tinh chỉnh tiếp thông tin có liên quan đến vấn đề an ninh, phân tích đánh giá khả năng sự xâm nhập đang xảy ra, đã xảy ra hay sắp xảy ra.
Sử dụng một số kỹ thuật phân tích sau:
Protocol stack verification: Một số xâm nhập, như "Ping-O-Death" and "TCP Stealth Scanning" sử dụng các vi phạm của các giao thức cơ bản IP, TCP, UDP và TCMP để tấn công máy tính. Một hệ thống kiểm tra đơn giản có thể đánh dấu các gói tin không hợp lệ.
Application protocol verification: Một số xâm nhập sử dụng cách chạy giao thức không hợp lệ, như “WinNuke” (dùng giao thức NetBIOS, thêm dữ liệu OOB) hoặc bộ nhớ đệm DNS đã bị nguy hiểm, có chữ ký hợp lệ nhưng không thông thường. Để phát hiện các xâm nhập này một cách hiệu quả, NIDS cần phải thi hành lại một lượng lớn các loại giao thức lớp ứng dụng khác nhau để dò các cách chạy không hợp lệ hoặc có nghi ngờ.
Creating new loggable events: NIDS có thể được dùng để mở rộng khả năng kiểm tra phần mềm quản trị mạng của bạn. Chẳng hạn, NIDS có thể đơn giản ghi lại tất cả các giao thức lớp ứng dụng được dùng trên máy. Sau đó, các hệ thống ghi sự kiện (WinNT event, UNIX syslog, SNMP TRAPS,... ) sẽ tương quan các sự kiện được mở rộng đó với các sự kiện khác trên mạng.
+ Lưu trữ dữ liệu: Hai bộ phận thu thập và phân tích dữ liệu có thể tạo ra một số lượng rất lớn thông tin. Sau đó chúng sẽ được bộ lưu trữ ghi nhận nhằm bảo đảm sự sẵn sàng của dữ liệu cho việc phân tích. Tuy nhiên, nếu ta không tiến hành lưu trữ hợp lý sẽ dẫn tới toàn bộ hiệu năng của cả hệ thống bị ảnh hưởng.
Dữ liệu thu thập: được lấy từ nhiều nguồn khác nhau, ví dụ các log file của Web server, log file của firewall, các thông tin về việc sử dụng tài nguyên CPU, việc truy cập các tài nguyên của HĐH ...Hệ thống có phát hiện được sự xâm nhập hay không phụ thuộc trước tiên vào việc thu thập dữ liệu. Nếu việc thu thập dữ liệu chậm hoặc bị mất mát thì rất dễ bị mất dấu vết của kẻ xâm nhập, lấy ví dụ cụ thể, một chương trình cần giám sát hoạt động xảy ra trên mạng, nó phải có thể bắt được hết các gói tin truyền trên mạng, nếu tốc độ mạng lớn, thông lượng đường truyền cao việc theo kịp tốc độ mạng là rất khó.
Đối phó với xâm nhập:
Bao gồm khả năng phát ra cảnh báo hoặc có thể tác động lại kẻ tấn công dưới dạng kết thúc liên kết, sửa đổi lại bảng điều khiển của router để ngăn chặn những cuộc tấn công tiếp theo có cùng nguồn gốc.
Hệ thống NIDS có một số hành động đối phó thông thường sau
Reconfigure firewall: cấu hình lại firewall để lọc địa chỉ IP của kẻ xâm nhập. Tuy nhiên, điều này vẫn cho phép kẻ xâm nhập tấn công từ những địa chỉ khác. Trạm kiểm soát firewall hỗ trợ một SAMP (Suspicious Activity Monitoring Protocol) để cấu hình các firewall. Trạm kiểm soát cũng có chuẩn “OPSEC” của nó cho việc cấu hình lại các firewall để ngăn chặn các địa chỉ IP nguy hiểm.
Chime (chuông): phát ra tiếng bíp hoặc chạy một file .WAV. Ví dụ, bạn có thể nghe thấy lời cảnh báo “You are under attack ”.
SNMP Trap: gửi một bó dữ liệu SNMP Trap đến nơi quản trị giao tiếp người máy như HP OpenView, Tivoli, Cabletron Spectrum,...
NT Event: gửi một sự kiện đến WinNT event log.
syslog: gửi một sự kiện đến hệ thống sự kiện UNIX syslog.
Send e-mail: gửi e-mail đến nhà quản trị để thông báo về tấn công.
Page: nhắn tin (dùng những máy nhắn tin thông thường) cho nhà quản trị hệ thống.
Log the attack: ghi lại các thông tin của cuộc tấn công (nhãn thời gian, địa chỉ IP của kẻ xâm nhập, địa chỉ IP/cổng của máy nạn nhân, thông tin về giao thức).
Save evidence (lưu lại dấu vết): lưu lại một file theo vết các gói tin để sử dụng cho quá trình phân tích sau này.
Launch program (khởi chạy chương trình): chạy một chương trình riêng để xử lý sự kiện.
Terminate the TCP session (kết thúc phiên TCP) : giả mạo một gói tin TCP FIN để ngắt kết nối.
Triển khai và điều chỉnh hệ thống NIDS (Deploying and Tuning NIDS)
Triển khai hệ thống NIDS
Trước đây các hệ thống NIDS rất đắt, phức tạp và là dạng cấu hình one-size-for-all. Kết quả là việc triển khai NIDS gặp nhiều khó khăn, bị giới hịan giữa boderrouter và firewall nơi mà chúng cố gắng kiểm soát hầu hết các cuộc giao vận. Vì thế việc tiến hành một công nghệ mới làm cho phù hợp với mạng mới rất được hoan nghênh, kiến trúc Ethernet đơn, 10Mb/s đã thống trị thị trường.
Ngày nay đã có nhiều các mô hình mạng Ethernet, fast Ethernet, Gig Ethernet. Sự thành công của mỗi mô hình mạng đóng một vai trò đặc biệt trong việc đáp ứng các yêu cầu tài chính và thay đổi nhưng chúng không đảm bảo sử dụng chi phí như nhau trong bảo mật mạng. Intrusion.com đưa ra một tập hợp các hệ thống Network IDS phù hợp với các tốc độ khác nhau và các yêu cầu triển khai của các mạng hiện đại. Thay thế mô hình one-size-for-all bằng mô hình có khả năng thay đổi, tầm triển khai lớn của các thiết bị IDS cho phép các nhà bảo mật chuyên nghiệp mở rộng khả năng bảo vệ mạng hơn trước đây, bằng cách đó tạo ra các thiết bị điều khiển hiệu quả hơn và công việc kinh doanh được an toàn hơn.
Thêm vào đó tầm bao phủ của mạng ngày nay lớn hơn rất nhiều so với trước đây. Những hệ thống mạng khổng lồ này được cách ly bởi các công nghệ firewall, và được kết nối thông qua công nghệ VPN. Cả firewal và VNP đều bảo vệ các đoạn mạng và bít các lỗ hổng có thể nhìn thấy.
Khi một subnet bị cách ly bởi một firewall thì những chuyên gia bảo mật không có khả năng nhìn thấy loại và trạng thái tự nhiên của các cuộc giao vận trong đoạn lệnh này.
Khi giao vận mạng được mã hoá (VPN) thì các chuyên gai bảo mật cũng không có khả năng nhìn thấy trạng thái tự nhiên của các cuộc giao vận.
Đặt một hệ thống NIDS đằng sau firewall và VNP, đặc biệt là trong các mạng cách ly và phân tán rộng, cung cấp chuyên gia bảo mật có tầm quan sát cần thiết để đảm bảo an toàn cho mạng.
Triển khai trong một mạng đơn giản
Mức ưu tiên thứ nhất: Đằng sau vành đai của các firewall
Bạn chỉ có khả năng cung cấp một cảm biến NIDS, vậy thì vị trí này là thích hợp nhất để đặt nó. Đây chính là một điểm thắt trung tâm của toàn bộ giao thông vào hoặc ra khỏi một mạng riêng (của một công sở hay một cơ quan kinh doanh nào đó..). Vị trí này cho phép cảm biến NIDS cung cầp một mức cảnh báo tổng thể có điểm gì sai khác hoặc làm cho nó xuyên qua firewall vào trong mạng private. Nó không cung cấp khả năng nhìn thấy những hành động đáng ngờ còn tồn tại trong một subnet cũng như kiểm soát các giao vận bên ngoài tới DMZ. Mức độ mở tại ngưỡng triển khai này cho phép sự kích hoạt của các dấu hiệu từ những hành động đáng ngờ thông qua các cố gắng xâm nhập.
Mức ưu tiên thứ hai: Trong DMZ
Đây là nơi mà các dịch vụ của các enterprise truy cập ra thế giới bên ngoài bao gồm web server, FTP server và email server. Vị trí này cho phép bộ cảm biến NIDS cung cấp các thông tin về giao thông trên mạng và hoạt động là ảnh hưởng tới các server bao phủ bên ngoài nơi tập trung của phần lớn các dạng tấn công kiểu từ chối dịch vụ hay khai thác web, tấn công email. Ở mức triển khai này cho phép sự kích hoạt của dấu hiệu từ giao thức dị thường thông qua các cố gắng xâm nhập.
Mức ưu tiên thứ ba: Giữa border-router và vành đai các firewall
Mức triển khai này cung cấp khả năng nhìn thấy sự trinh thám và những cố gắng khai thác trực tiếp trên firewall. Một số quản trị mạng mong muốn thêm khả năng nhìn thấy mẫu của kẻ tấn công bên ngoài như là một phần như một phần của sự phòng vệ quốc gia, các cơ quan tình báo và tàon bộ các cơ quan bảo mật cần được tăng cường. Mức triểm khai này cho phép sự kích hoạt của các dấu hiệu từ các hành động đáng ngờ thông qua các cố gắng xâm nhập.
Việc triển khai bên ngoài firewall thường lộ ra một số dấu hiệu rủi ro có thể cản trở một số quản trị lựa chọn chúng. Những rủi ro đó thường là lộ ra các thông tin tình báo hoặc có lẽ cả các lỗ hổng xuyên qua firewall. Nếu sự mạo hiểm đó đáng giá với giá trị của khả năng nhìn thấy của nó, có 6 đề nghị cuối cùng:
+ Giao diện giám sát không nên có địa chỉ IP.
+ Thay đổi cổng truyền thông cho SecureNet Pro (mặc định là 975) để che dấu định danh của NIDS.
+ Tận dụng một địa chỉ non-routable (RFC 1918 như 10.x.x.x) đói với giao diện quản trị trên cảm biến này.
+ Áp dụng một giao thức bí danh (alias interface) bên ngoài firewall của bạn hoặc.
+ Thêm một giao thức cho firewall đặc biệt là cho hệ thống IDS.
+ Tạo một mạng V_LAN riêng rẽ cho quản trị dò tìm sự xâm phạm.
Điều này cho phép giao thông quay trở lại thiết bị giao tiếp người-máy nhưng không làm cho bộ cảm biến có thể hiển thị ra bên ngoài mạng của bạn.
Mức ưu tiên thứ tư: Đằng sau subnet có firewall hoặc một mạng LAN chính
Đặc trưng của mức triển khai này là bảo vệ các server có nhiệm vụ khó khăn như ERP, CRM, PDM và các hệ thống tính toán. Thêm vào đó đặt các server này đằng sau firewall, nó trở nên thông dụng hơn nên các vụ, bộ quan trọng (critical department) trong các tổ chức có các đoạn mạng đựơc ngăn cách với giao thông thông thường. Firewall được sử dụng bên trong để cách ly các bộ, vụ như sau:
+ Tổ chức hành pháp
+ Tổ chức tài chính
+ Các tài nguyên con người
+ Các tổ chức nghiên cứu và phát triển
+ Khoa công trình
+ Các tổ chức cấp bằng sáng chế
+ Tổ chức pháp luật
Mức triển khai này có thể sử dụng để bao phủ tới các kết nối thương mại điện tử tới các thành viên.
Firewall không chỉ bảo vệ những đoạn mạng này nó còn có thể dừng các hệ thống IDS khác kiểm soát giao thông sau firewall. Không có một bộ vụ nào không phải chịu các cuộc tấn công back door tạo ra các lỗ hổng trong vành đai mạng và đưa các tài sản thông tin vào tình trạng mạo hiểm.
Mức triển khai này cho phép sự kích hoạt của tất cả các dấu hiệu từ các sự kiện mạng thông qua các cuộc tấn công.
Thêm vào đó do những hạn chế tăng thêm của các firewall liên bộ, những vùng này có thể ngả nhiều về phía các máy tính tự cấu hình hoặc sự cố gắng của các user để truy cập tới các department khác hoặc Internet. Việc dò tìm giao thức bất thường và các dấu hiệu sự kiện mạng đến đúng lúc để dò các sự kiện đáng ngờ tuân theo các chính sách an toàn hoặc dựa trên hành vi hơn là dựa trên dấu hiệu.
Mức ưu tiên thứ năm: sau firewall của một văn phòng chi nhánh hoặc ở xa
Tổ chức kinh doanh bây giờ đã là một tổ chức nào trải dài ra nhiều chi nhánh và các văn phòng ở xa tất cả đều cần kết nối tới trung tâm chỉ huy để truy cập các tài sản thông tin của tổ chức.
Giống như trong kịch bản triển khai ở trên, firewall như một vòng đai cho các văn phòng chi nhánh và các văn phòng từ xa, không chỉ bảo vệ chúng mà còn dừng các IDS doanh nghiệp kiểm soát giao thông tại các vị trí này.Không có một văn phòng nào không phải chịu các cuộc tấn công back door tạo ra các lỗ hổng trong vành đai mạng và đưa các tài sản thông tin vào tình trạng mạo hiểm. Thêm vào đó do khoảng cách tới trung tâm chỉ huy các văn phòng từ xa có thể ngả nhiều hơn về phía các máy tính tự cấu hình hoặc sự cố gắng của các user để truy cập tới các văn phòng khác hoặc Internet. Việc dò tìm giao thức bất thường và các dấu hiệu sự kiện mạng đến đúng lúc để dò các sự kiện đáng ngờ tuân theo các chính sách an toàn hoặc dựa trên hành vi hơn là dựa trên dấu hiệu.
Mức triển khai này cho phép sự kích hoạt của tất cả các dấu hiệu từ các sự kiện của mạng thông qua sự cố gắng xâm nhập.
Điều chỉnh hệ thống dò tìm sự xâm nhập
Có hai yếu điểm chính trong một hệ thống dò tìm sự xâm nhập mà kẻ tấn công có thể khai thác để tạo một cuộc tấn công vào mạng mà không bị dò thấy đó là:
+ Làm mù bộ cảm biến
+ Làm mù người điều hành.
Blinding Sensor: Làm mù bộ cảm biến
Các hacker cố gắng làm mù bộ cảm biến để làm cho NIDS khó thậm chí không thể dò ra một cuộc tấn công thực sự bằng cách làm tràn ngập mạng với các cuộc giao vận giả để ẩn đi cuộc tấn công thực sự hoặc sử dụng cuộc giao vận kì dị để lấn tránh hệ thống dò tìm. Dạng tấn công “stick” mới được công khai gần đây có khả năng làm mù hoàn toàn ký nghệ dẫn đầu NIDS làm cho các cuộc tấn công khác có thể được gửi đi mà hoàn toàn không bị dò thấy.Thêm vào đó một số bộ cảm biến NIDS không tập hợp các gói được phân nhỏ lại hoặc sử dụng các giá trị trung bình đơn giản, giành được thị trường của chúng mà không thực sự phân phối một giải pháp. Một số NIDS yêu cầu ghép lại các gói nhưng thực sự chỉ thực hiện một phần ghép nối đó, để cho user vẫn có thể bị làm hại bởi một kẻ tấn công thành thạo. Bằng cách thực thi các công nghệ dò tìm sự xâm phạm đã được cải tiến như là ráp gói đa đường hay phân tích gói tốc độ cao, một số hệ thống dò tìm thế hệ hai vời nhiều ưu điểm hơn, có tính thích nghi cao hơn, và có hiệu quả trong việc ngăn ngừa các dạng tấn công gây mù hay tấn công lảng tránh.
Blinding the operator: Làm mù người điều hành.
Đối lập với blinding sensor, blinding operator về căn bản bị ảnh hưởng của việc triển khai và điều chỉnh NIDS mà hoàn toàn nằm dưới sự kiểm soát của quản trị an toàn.
Blinding operator có thể được thực hiện khá đơn giản bằng cách tạo ra thật nhiều thông tin gửi tới thiết bị giao tiếp người-máy dò tìm sự xâm phạm trên mạng. Quá nhiều dữ liệu khiến cho quảm trị an toàn khó thậm chí không thể nhận ra ngay lập tức sự đe doạ trong dữ liệu được đưa đến.
Để kiếm soát khả năng làm mù nười điều hành các bộ cẩm biến cần được làm cho phù hợp. làm phù hợp các bộ cảm biến là một tiến trình xác định những dấu hiệu nào, dưới các thông số nào được gọi là chính sách nên được triển khai và bằng cách nào các NIDS có thể được cấu hình để tăng số lượng các báo cáo sự kiện cho thích hợp và tỷ lệ phần trăm các sự kiện mạng.
Bốn bước để điều chỉnh.
Để giảm thiểu khả năng các sensor hay các console bị mù Intrusion.com SecureNet Pro cung cấp nhiều mức điều chỉnh cho phép chuyên gia an toàn tìm ra các sự kiện phù hợp với mạng đơn của họ. Qui trình điều chỉnh gồm có 4 pha:
+ Giới hạn số lượng các dấu hiệu tìm kiếm. Bạn cần quyết định xem những thành phần nào của giao thức bạn xem như một mối đe doạ tới mạng hoặc đoạn mạng của bạn.
+ Sử dụng cách lọc toàn thể của SecureNet Pro. Các bộ lọc tổng thể cho phép bạn giới hạn số lượng dữ liệu được đưa vào mạng từ bộ cảm biến. Các bộ lóc tổng thể cho phép các chuyên gia bảo mật sử dụng chính sách tín hiệu đơn trong toàn bộ tổ chức và sau đó tuỳ chỉnh các chính sách được thực hiện tại sensor bằng Ethernet, IP và giao thức trước khi việc xử lý dấu hiệu xuất hịên.
+ Các sự kiện lọc tại console. Để giới hạn số lượng các dữ liệu được đưa đến chuyên gia bảo mật-lọc console để lại hầu hết lượng dữ liệu trong cơ sở dữ liệu để phân tích nhưng giới hạn ảnh hưởng blinding the “operatordữ” bằng cách chỉ hiện thị những sự kiện thích đáng.
+ Điều chỉnh dấu hiệu thực sự. Các dấu hiệu có thể được điều chỉnh cho phù hợp với các sự kiện mạng được báo cáo không sai như những sự kiện khác, các loại sự kiện có tính đe doạ cao hơn hoặc cảnh báo các loại sự kiện ít đe doạ.
Điều chỉnh dấu hiệu
Sử dụng SecureNet Pro, các thông số của các dấu hiệu có thể được thay đổi để làm cho chúng có thể thích hợp với mỗi mạng đơn. Nó bao gồm việc chỉnh sửa mô tả và các trường text khác sao cho có thể thêm các thông tin đặc trưng vị trí cũng như là các mục khác.
Mức đầu tiên của việc chỉnh sửa dấu hiệu là thay đổi quyền ưu tiên của các sự kiện để làm thích hợp với mức độ quan trọng của mạng. Như đã nói đến ở trên, ở một số mạng các hoạt động đáng ngờ của một sự kiện có thể ở mức ưu tiên trung bình. Trong khi ở một số khác cũng với các sự kiện đó nhưng có thể ở mức ưu tiên cao hơn. Để tăng khả năng có thể xảy ra mà các chuyên gia bảo mật có thể nhìn thấy các thông tin họ tìm kiếm, ưu tiên dấu hiệu se được phân tích để khớp với các mức ưu tiên của các chuyên gia bảo mật.
Thêm vào đó các chuyên gia bảo mật có thể chọn để phân tích sự phân loại của các dấu hiệu. Mỗi dấu hiệu được phân loại vào một trong các dạng tấn công: cố gắng xâm nhập, DdoS, DoS, hành động đáng ngờ, giao thức bất thường và các sự kiện mạng. Nhìn chung việc phân loaih các sự kiện này là đặc trưng của tất cả các tổ chức. Mỗi chuyên gia bảo mật của một doanh nghiệp nên nghiên cứu việc phân loại các sự kiện theo ngữ cảnh mạng của doanh nghiệp đó. Ví dụ như một sự kiện được phân loại là sự kiện mạng (network event) bởi Intrusion.com nhưng lại được phân loại lại là một hành động đáng ngờ để thích hợp với chính sách mạng của một doanh nghiệp nào đó.
Khi sử dụng Intrusion mã nguồn mở hoặc user tạo ra các dấu hiệu so khớp chuỗi (string matching signature) các tín hiệu tìm kiếm và các thông số cho các dấu hiệu này có thể bị biến đổi để làm cho các dấu hiệu đúng đắn hơn. Các dấu hiệu so khớp chuỗi nguồn mở cũng có thể bị nhân đôi và đổi tên để tạo ra các khả năng xác minh phụ. Các dấu hiệu nguồn mở có thể được tạo ra trong một console của SecureNet Pro Linux hoặc sử dụng trình soạn thảo văn bản.
Các dấu hiệu so khớp chuỗi có thể được thông số hoá như cac dấu hiệu khác, với nhiều mức ưu tiên khác nhau, sự phân loại, miêu tả, IP, MAC... biến đổi.
Đánh giá một hệ thống NIDS
Một hệ thống NIDS nói chung có được các ưu điểm:
+ Ít ảnh hưởng đến cơ sở hạ tầng hiện đang tồn tại.
+ Quản trị tập trung.
+ Phạm vi bảo vệ rộng.
+ Linh hoạt về chức năng.
Bên cạnh đó, nó cũng tồn tại những nhược điểm cơ bản:
+ Tỷ lệ xác định sai là cao.
+ Dễ bị làm cho quá tải.
+ Thường dễ bị phá hoặc làm mất hiệu lực.
Giả thuyết của chúng ta là: để có được độ chính xác cực đại, các thuật toán dò tìm trong một hệ thống NIDS chỉ nên chọn dữ liệu đầu vào có tính rõ ràng, dễ hiểu, độ tin cậy cao và thao tác trên dữ liệu đó bởi các hàm biến đổi có thể được mô hình với độ chính xác cao và tình trạng không an toàn là ít.
Tương ứng ta có các yêu cầu về luồng dữ liệu đầu vào và các hàm biến đổi như sau:
Các đặc điểm cần thiết về luồng tải:
+ Tính rõ ràng (Visibility): luồng tải có thể đi trên mạng mà NIDS không phát hiện ra?
+ Tính dễ hiểu (Understandability): NIDS có thể hiểu được giao thức?. Dữ liệu của quá trình dò tìm xâm nhập có được mã hóa không?
+ Độ tin cậy (Realiability): Thông tin có độ chính xác như thế nào?. Có bị giả mạo hay không?
Các hàm biến đổi:
+ Biến đổi luồng tải mạng một cách logic, theo thời gian và/hoặc không gian.
+ Biến đổi các nguồn dữ liệu nguy hiểm sau khi NIDS phát hiện ra nó.
+ Có thể yêu cầu mô hình theo trạng thái để mô phỏng
+ Phải được mô phỏng để ngăn chặn xâm nhập
Như vậy, cần nghiên cứu các NIDS bằng cách ứng dụng mô hình của nó vào các hệ thống thực tế đang tồn tại. Nhờ đó ta có thể:
+ Phát hiện các mặt hạn chế của mô hình.
+ Chỉ ra cách thức để thay đổi các thuật toán hoặc môi trường thao tác để nâng cao độ chính xác của hệ thống.
+ Ước lượng được tính khả thi của các mục đích dò tìm.
+ Cung cấp đầy đủ các yêu cầu của hệ thống tương ứng với những mục đích dò tìm được đưa ra.
+ Thậm chí chúng ta có thể ước tính được độ chính xác của hệ thống dò tìm NIDS.
Tối ưu hoá giá trị của NIDS
Thước đo hiệu năng
Thước đo thông dụng nhất đối với NIDS là số các gói bị bỏ đi hoặc có bao nhiêu gói mà NIDS không có khả năng phân tích. Nhưng đó không phải là lý do mà một NIDS được lựa chọn. Nếu như các router và các firewall là các thiết bị nội tuyến, bỏ các gói ngăn trở giao thông của mạng, đối với các thiết bị này thì thước đo đó là rất thích hợp.
Các hệ thống dò tìm sự xâm nhập không thể bị xếp loại cùng với các router và firewall vì các điểm khác biệt cơ bản dưới đây:
Các hệ thống NIDS là các thiết bị thụ động và kết nối tới mạng bằng một kết nối hình T vì thế nó không có khả năng block giao thông.
Các hệ thống NIDS không phải là các thiết bị điều khiển truy nhập vì thế các gói bị huỷ bỏ không thể đưa đến việc đường truyền bị block.
Chìa khoá để sử dụng đúng thước đo của một NIDS chính là lý do để bạn lựa chọn hệ thống này. Mục đích của NIDS là xác định chính xác một cuộc tấn công bất chấp sự phức tạp của mạng boã hoà.
Thước đo đúng đắn cho một hệ thống dò tìm sự xâm phạm chính là “attack detection” dò các cuộc tấn côngtại các mức khác nhau của mạng bão hoà đối với các đoạn mạng 10Mbs, 100Mbs và Gigabit.
Giá trị của tính mềm dẻo
Giữa thập kỷ 90 nhiều nhà phân tích cố gắng tìm ra cách tính toán đúng đắn để xác định xem một sản phẩm có mang lại hiệu quả cao hơn so với các sản phẩm khác trong một khoảng thời gian. Thước đo đầu tiên đó là tổng giá trị quyền sở hữu Total Cost of Ownership (TCO)-mà đã cố gắng khai thác giá trị của việc quản lý, người quản trị nhiều giá trị khác nhau của các user cuối. TCO nhanh chóng bị theo kịp bởi mô hình TEI tổng tác động kinh tế.
Trong lĩnh vực bảo mật, tính mềm dẻo có ý nghĩa rất lớn. Các hệ thống mạng không ngừng phát triển và thay đổi bằng các bước tiến đáng kinh ngạc. Thêm vào đó tại mỗi bước tiến các mối đe doạ mới lại được phát hiện và lợi dụng làm tăng các vấn đề của mạng và việc bảo vệ các tài sản thông tin. Để phát huy hiệu quả NIDS cần phải thích nghi với mọi sự biến đổi của môi trường mạng của doanh nghiệp
Tính mềm dẻo trong NIDS có thể được đo trên ba vùng chính sự tuỳ biến, triển khai và quản lý.
Tuỳ biến (customization) cho phép chuyên gia bảo mật sửa lại cho hợp với chính sách IDS của mạng doanh nghiệp. Khả năng tuỳ biến làm tăng giá trị của các thông tin được sinh ra bởi IDS để cung cấp các thông tin có giá trị cao hơn về việc sử dụng mạng.
Triển khai (Deployment) tính mềm dẻo cho phép tập hợp các dữ liệu đồng nhất từ các đoạn mạng khác hẳn nhau. Các đoạn Fast Ethernet, Gigabit, các phần mềm triển khai trên các phần cứng đang tồn tại và các thiết bị dựa trên các giải pháp cho phép IT và các chuyên gia bảo mật chi tiêu thích hợp cho các đòi hỏi của mạng của họ.
Quản lý (Management) khả năng có thể thay đổi làm cho nó có thể lợi dụng sự đầu tư bảo mật. Tính thông minh của mạng được nâng cao với các thông tin được chuẩn hoá từ vô số các đoạn mạng trong một vị trí đơn hoặc kiến trúc phân cấp.
Việc thừa nhận các giá trị lâu dài phụ thuộc nhiều vào khả năng lâu dài của các giải pháp.Tính mềm dẻo là sự đảm bảo rằng công nghệ mà bạn tìm kiếm sẽ thích hợp với hệ thống hiện thời cũng như hệ thống trong tương lai.
Quan tâm đến chính sách trước tiên, thứ hai là các giải pháp
Các chính sách bảo mật là mục đích đầu tư bảo mật của các công ty và nó là bước đầu tiên để đạt được giá trị tối ưu trong bất kỳ một sự đầu tư vào công nghệ bảo mật nào.
Tối ưu hoá giá trị dò tìm sự xâm phạm trên mạng bắt đầu bằng một chính sách bảo mật xác định thước đo của sự thành công. Chính sách bảo mật dò tìm sự xâm phạm cần được định nghĩa theo ba điểm sau:
Mục đích khi mua một hệ thống NIDS: Đây là một điểm khởi đầu đơn giản nhưng rất quan trọng. Nếu không có một mục đích rõ ràng bạn muốn NIDS làm gì thì không thể xác định việc triển khai có thành công hay không.
Khả năng đối mặt với những nguy hiểm khi triển khai một hệ thống NIDS: Mỗi khi một sensor được triển khai trong một hệ thống thì có một loạt các mối đe doạ (đã xác định) sẽ được tìm kiếm. Giảm số lượng các mục mà NIDS tìm kiếm sẽ làm tăng hiệu năng. Khi triển khai một sensor ỏ bên ngoài firewall, việc phân tích giao vận đi ra có thể đựơc chia thành dạng không phân tích (non-analysis) hoặc lờ đi tất cả.
Sensor dò tìm hoạt động trong bao lâu: Một số sensor NIDS khi đã được triển khai sẽ trở thành một bộ phận vĩnh cửu trong hệ thống, tuy nhiên chúng cũng có thể bị di chuyển liên tục nếu cần. Cần xác định trước khoảng thời gian mà sensor được đặt tại đó để có thể đưa ra một chính sách triển khai hợp lý nhất.
Tổng thời gian triển khai
Một trong những lợi ích chính của NIDS là được triển khai tại một điểm đơn và bảo vệ toàn bộ các đoạn mạng.
Giảm thời gian và nỗ lực để bảo vệ các điểm đơn này sẽ tăng gí trị được nhận biết của đầu tư NIDS. Để tối ưu hoá giá trị dò tìm sự xâm phạm một chiến lược thông dụng là sử dụng các thiết bị để làm giảm thời gian triển khai.
NIDS & Firewall
Mặc dù còn có những hạn chế, firewall là yếu tố cần thiết cho bất cứ hệ thống an ninh mạng nào. Firewall ngăn chặn các dạng tấn công cố định và điều khiển kiểu của luồng tải (Web, FTP, Telnet hoặc IRC) truyền giữa hệ thống mạng bên trong của bạn và Internet. Tuy nhiên, có những dạng tấn công mà firewall sẽ không ngăn chặn hoặc phát hiện ra như tấn công trên cổng 80 của web server. Firewall bảo vệ việc truyền thông giữa các hệ thống mạng mà không cung cấp các bảo vệ hoặc rất ít cho các tấn công trong mạng cục bộ. Nếu tuyến phòng thủ ngoài vành đai mạng bị chọc thủng hoặc nếu việc lạm dụng là ở bên trong tổ chức của bạn thì firewall sẽ không đưa ra các hỗ trợ, NIDS sẽ bắt giữ, phân tích, nhận dạng và phản ứng lại với các kiểu tấn công đó.
Khi đã có firewall, vẫn cần phải có NIDS:
Thông thường, mọi người đều nghĩ rằng các firewall nhận dạng các tấn công và ngăn chặn chúng. Điều này không đúng.
Firewall đơn giản là một thiết bị thực hiện tắt (dừng) mọi thứ, sau đó bật lại chỉ một vài mục (item) được chọn là hoàn thiện (không lỗi). Trong một thế giới hoàn hảo thì các hệ thống đã sẵn sàng “locked-down” và an toàn, firewall là không cần thiết. Tuy nhiên, trong thực tế, các lỗ hổng an toàn được phát hiện ngẫu nhiên do đó chúng ta vẫn cần phải có firewall.
Vì vậy, khi cài đặt một firewall, điều đầu tiên mà nó thực hiện là dừng tất cả các truyền thông. Nhà quản trị firewall sau đó sẽ hết sức cẩn thận thêm vào các luật (“rules”) cho phép các kiểu đặc biệt của luồng tải đi qua firewall. Ví dụ, một firewall điển hình cho phép truy cập vào Internet sẽ dừng tất cả các luồng bó dữ liệu UDP và ICMP, dừng các kết nối TCP đi vào, nhưng lại cho phép các kết nối TCP đi ra (có nghĩa là nó sẽ dừng các kết nối từ hacker bên ngoài Internet nhưng vẫn cho phép những người dùng bên trong kết nối trực tiếp ra bên ngoài).
Nói chung, firewall không phải là một hệ thống bảo vệ động như người dùng vẫn nghĩ, mà ngược lại đó chính là IDS. IDS thực hiện việc nhận dạng các tấn công vào hệ thống mạng mà firewall không thể nhìn thấy.
Ví dụ như, vào tháng 4 năm 1999, rất nhiều nơi bị tấn công qua lỗi (bug) ColdFusion. Tất cả các nơi này đều có firewall nhưng firewall chỉ hạn chế truy cập vào Web server tại cổng 80, và đó chính là Web server bị tấn công, vì thế firewall trong trường hợp này không còn có tác dụng bảo vệ nữa. Mặt khác, một IDS sẽ phát hiện ra tấn công bởi vì nó so khớp chữ ký được cấu hình trên hệ thống.
Một vấn đề khác của firewall là chúng chỉ nằm trên đường biên trong hệ thống mạng của bạn, mà 80% các thiệt hại về tài chính do hacker xuất phát từ bên trong mạng. Firewall trên đường biên sẽ không thể nhìn thấy những gì xảy ra bên trong, chúng chỉ nhận biết được luồng tải giữa bên trong hệ thống và Internet.
Một số lí do cho việc thêm IDS vào firewall là :
+ Kiểm tra hai chiều các firewall bị cấu hình sai.
+ Bắt giữ các tấn công mà firewall cho phép đi qua một cách hợp lệ.
+ Bắt giữ các tấn công thất bại.
+ Bắt giữ việc tấn công ở bên trong.
Nếu đã có một NIDS, firewall là vẫn cần thiết:
Bởi vì có một lượng lớn các “script-kiddies” (đoạn mã con), là các chương trình tự động chạy trên mạng (như SATAN) để tìm kiếm các lỗ hổng. Nếu không có firewall, các chương trình tự động này sẽ phát hiện và lợi dụng các lỗ hổng đó.
Tổng kết
Các hệ thống bảo vệ an ninh trước đây được thực hiện trên cơ chế ngăn chặn tấn công từ bên ngoài vào hệ thống cần bảo vệ. Thực tế hiện nay cho thấy không có một hệ thống ngăn chặn nào bảo đảm chặn đứng được các cuộc tấn công. Hơn nữa, trong thực tế các tổng kết cho thấy hầu hết nguyên nhân của các cuộc tấn công phần lớn xuất phát từ ngay trong hệ thống mà nó bảo vệ.
Hệ thống IDS không phải là một công cụ bổ sung thuần túy cho firewall, mà sự kết hợp giữa IDS với Firewall mới đảm bảo thiết lập một hệ thống an toàn an ninh trọn vẹn nhất.
CHƯƠNG 3: THIẾT KẾ HỆ THỐNG NIDS
3.1 Mục đích
Thiết kế chương trình có khả năng "theo dõi" các hoạt động xảy ra trên một mạng LAN dựa trên nguyên tắc thu thập các gói tin trên đường truyền và phân tích các gói tin đó.
3.2 Phân tích và thiết kế chương trình
Phân chia hệ thống thành các chức năng chính như sau:
Hệ thống phải thu thập được các gói tin truyền trên mạng, đó là điều bắt buộc. Các gói tin đã thu thập phải được giải mã: dữ liệu nhận được ban đầu hoàn toàn là các "byte stream". Giải mã gói tin là công việc đọc vào luồng dữ liệu này sau đó có thể phân biệt ra từng loại gói tin riêng rẽ bằng cách nhận ra các trường tiêu đề của gói tin. Phân tích phát hiện tấn công dựa trên các kỹ thuật phân tích đã trình bày. Cuối cùng, phát hiện tấn công phải đi kèm với các biện pháp đối phó lại (báo động, ghi lại thông tin về cuộc tấn công).
Dự kiến xây dựng các module xử lý như sau:
+ Module “bắt” gói tin trên đường truyền.
+ Module giải mã gói tin.
+ Module phân tích tìm kiếm dấu hiệu tấn công.
+ Lưu trữ và đối phó.
TÀI LIỆU THAM KHẢO
Robert Graham
Faq: Network Intrusion Detection Systems (2000).
[Axelsson, 2000c] Axelsson, S. (2000c). Intrusion Detection Systems: A Taxonomy and Servey. Technical Report 95-15, Dept. of Computer Engineering, Chalmers University of Technology.
Nguyễn Quốc Cường
Internetworking với TCP/IP (Tập 1).
Các file đính kèm theo tài liệu này:
- 80128.doc