Xây dựng, quản lý, thực thi và cập nhật các tập luật
Trang 1LỜI CẢM ƠN
Trước hết, chúng tôi xin chân thành cảm ơn sự giúp đỡ nhiệt tình của các thầy cô giáo trường Đại Học Công Nghệ - Đại Học Quốc Gia Hà Nội đã tận tình dạy dỗ chỉ bảo chúng tôi trong suốt khóa học, cảm ơn tập thể lớp K47CA và đặc biệt là thầy giáo, Thạc sỹ Nguyễn Hoàng Anh, người đã nhiệt tình hướng dẫn, giúp đỡ chúng tôi trong suôt quá trình học tập và nghiên cứu
Cuối cùng chúng tôi muốn gửi lời cảm ơn tới gia đình và người thân đã quan tâm, động viên, chăm lo chúng tôi trong suốt quá trình học tập
Do thời gian và điều kiện thiết bị có hạn nên bản khóa luận này không tránh khỏi những thiếu sót, chúng tôi rất mong muốn nhận được những ý kién đóng góp của các thầy cô và các bạn
Hà nội, tháng 5 năm 2006
Trang 2Tóm tắt khóa luận
Khóa luận được chia thành hai phần Phần I giới thiệu về hệ thống phát hiện xâm nhập (Intrusion detecsion system) Phần II trình bày cụ thể về hệ thống phát hiện xâm nhập Snort Phần I trình bày những khái niệm căn bản nhất của hệthống phát hiện xâm nhập (IDS), các loại IDS, các thành phần và nguyên lý hoạt động của hệ thống IDS Phần I cũng giới thiệu một số kiểu tấn công phổ biến trênInternet Phần II trình bày các bộ phận cấu thành Snort, nguyên lý hoạt động và
sự phối hợp của các bộ phận cấu thành Snort Phần II đặc biệt đi sâu về cách xây dựng, quản lý, thực thi và cập nhật các tập luật
Trang 3Mục lục:
Mở đầu
Theo Mạng An toàn thông tin VSEC (The VietNamese security network), 70% website tại Việt Nam có thể bị xâm nhập, trên 80% hệ thống mạng có thể bị hacker kiểm soát Điều này cho thấy chính sách về bảo mật của các hệ thống thông tin của Việt Nam chưa được quan tâm và đầu tư đúng mức
Khi một hệ thống thông tin bị hacker kiểm soát thì hậu quả không thể lường trước được Đặc biệt, nếu hệ thống đó là một trong những hệ thống xung yếu của đất nước như hệ thống chính phủ, hệ thống ngân hàng, hệ thống viễn thông, hệ thống thương mại điện tử thì những thiệt hại về uy tín, kinh tế là rất lớn
Trong bối cảnh đó, hệ thống phát hiện xâm nhập ngày càng trở nên phổ biến và đóng vai trò quan trọng không thể thiếu trong bất kỳ chính sách bảo mật
và an toàn thông tin của bất kỳ hệ thống thông tin nào
Các sản phẩm phát hiện xâm nhập hiện nay rất đa dạng và phong phú
Nó có thể là phần cứng hoặc phần mềm Trong số các sản phẩm phát hiện xâm nhập mềm thì Snort luôn là lựa chọn hàng đầu của những người làm về an toàn thông tin
Với những lý do kể trên chúng tôi quyết định chọn khóa luận tốt nghiệp của mình là “Xây dựng hệ thống phát hiện xâm nhập với Snort cho một hệ thống thông tin”
Trang 4Phần I: Hệ thống phát hiện xâm nhập (Intrusion detecsion system)
1 Tổng quan hệ thống phát hiện xâm nhập:
1.1 Định nghĩa hệ thống phát hiện xâm nhập
1.1.1 Khái niệm hệ thống phát hiện xâm nhập:
Instrusion: là sự xâm nhập vào hệ thống một cách trái phép Ví dụ một
user truy cập vào hệ thống và thao tác như tài khoản root trong khi không được phép
Hệ thống IDS (Intrusion detection system): Là các công cụ, phương
thức để giúp nhận biết, đánh giá, và báo cáo những hành động trái phép trên mạng
Chúng ta có thể so sánh firewalls với khoá cửa, intrusion detection với hệ thống cảnh báo trong một ngôi nhà và intrusion prevention với những chú chó gác cửa Giả sử rằng chúng ta có một kho hàng với rất nhiều tài liệu bí mật và chúng ta muốn bảo vệ với một hệ thống cảnh báo, cửa khoá, và hệ thống
camera theo rõi Cửa có khoá sẽ ngăn chặn cá nhân trái phép xâm nhập vào trong kho hàng này Bản thân chúng không cảnh báo chúng ta về một sự xâm nhập, nhưng chúng ngăn cản không cho những truy nhập trái phép Hệ thống cảnh báo sẽ cảnh báo chúng ta trong trường hợp người xâm nhập tìm cách vào trong kho Hệ thống cảnh báo không làm gì để ngăn chặn sự xâm nhập này, nhưng chúng thông báo cho biết khả năng có xâm nhập Trong một số trường hợp, Những chú chó bảo vệ có khả năng ngăn chặn sự xâm nhập bằng việc tấn công người xâm nhập
Khoá cửa, hệ thống cảnh báo, và chó gác cửa hoạt động hoạt động độc lập và bổ sung cho nhau nhằm mục đích bảo vệ kho hàng này Thực tế Firewall, IDS và IPS có công nghệ khác nhau nhưng chúng cùng phối hợp hoạt động để đưa ra cảnh báo và ngăn chặn xâm nhập trái phép vào trong hệ thống mạng Hơn nữa, Thực thi các biện pháp trên làm tăng mức độ toàn cho nhà kho Trong
ví dụ về nhà kho, hiệu quả nhất là đặt các chuông cảnh báo và khoá tất cả cửa chính và cửa sổ, tốt hơn nữa là đặt máy phát hiện xâm nhập bên trong ngôi nhà Tốt hơn có chú chó ở bên ngoài để theo dõi và tấn công kẻ xâm nhập
IDS là phương pháp thực hiện một lớp các chương trình an ninh Sử dụng cách tiếp cận lớp, hoặc phòng thủ theo độ sâu, dựa trên phân tích rủi ro là phương pháp được sử dụng rộng rãi trong hầu hết các chương trình bảo vệ thông tin Có nghĩa là một mạng lên có nhiều lớp bảo vệ, với mỗi một lớp riêng
đó có những chức năng riêng biệt, để bổ sung cho tất cả chiến lược bảo vệ của một tổ chức Hình sau miêu tả cách tiếp cận bảo mật theo độ sâu, bảo vệ trên nhiều mức
Trang 5Tổ chức
Con người Kinh doanh Công nghệ
Tấn công từ Bên ngoài
Hình 1.1 Bảo mật theo độ sâu
IDS bao gồm sensor đặt ở các nút mạng Chúng phân tích gói tin tìm các đặc điểm bất thường Nếu phát hiện điểm bất thường này trùng với một đặc điểmtrong một tập các kiểu tấn công đã biết, thì đưa ra cảnh báo, và ghi lại tấn công
đó IDS tương tự như phần mềm chống virus, sử dụng dấu hiệu đã biết để nhận
IDS sẽ dựa vào các signature để phát hiện sự tấn công Các nhà cung cấp IDS sẽ phải cập nhập Signature khi một kiểu tấn công mới nào đó được pháthiện Đối với Snort ta có thể tự cập nhập signature
1.1.2.2 Alert
Khi IDS nhận thấy sự tấn công, nó sẽ cảnh báo cho người quản trị bằng nhiều cách khác nhau gọi là alert
Trang 61.1.2.3 Log
“Log message” thông thường được lưu trữ trong file Ví dụ trong Snort,
thư mục mặc định chứa file này là: /var/log/snort, nhưng cũng có thể thay đổi thư
mục mặc định này File này có thể ở dạng text hay binary Nếu ở dạng binary thì dùng công cụ để xem như tcpdump
1.1.2.4 False Alarm
Là một cảnh báo được tạo ra bởi một dấu hiệu không phải là một hành động xâm nhập (ngoài ý muốn) Ví dụ, nếu một host bên trong hệ thống bị cấu hình sai đôi khi sẽ dẫn đến việc tạo ra các cảnh báo sai Để tránh nó, chúng ta cần phải thay đổi và sử dụng một luật mặc định khác Trong một vài trường hợp, chúng ta phải disable một số luật để có thể tránh cảnh báo sai
1.1.2.5 Sensor
Bất kỳ thiết bị nào trên đó IDS đang chạy gọi là sensor Ví dụ một máy tính hay một thiết bị nào đó có Snort đang chạy
1.2 Phân loại hệ thống IDS
1.2.1 Phân loại IDS
Hệ thống phát hiện xâm nhập bao gồm hai loại:
Signature –based intrusion Detection system: Mỗi kẻ xâm nhập bất
hợp pháp vào hệ thống đều có một chữ ký xác nhận (signature) như virus máy tính và sẽ bị phát hiện bởi các phần mềm Bằng cách sử dụng tập hợp các
signatures và các luật định trước, IDS có khả năng tìm thấy và ghi nhận những dấu hiệu khả nghi và đưa ra lời cảnh báo cần thiết
Anomaly-based intrusion detection system: Kỹ thuật này dựa vào
header của các gói khả nghi Trong một số trường hợp phương pháp này tỏ ra hiệu quả hơn so với signature-based IDS
1.2.2 Các hình thức của IDS
IDS chia làm 3 loại: host-based intrusion-detection system (HIDS),
network-based intrusion-detection system (NIDS), và lai của hai hệ thống trên
là distributed intrusion detection system (DIDS) Tùy vào mỗi loại mà chúng
có cách làm việc khác nhau
Một hệ thống HIDS sẽ yêu cầu một số phần mềm chúng được cài đặt ngay trên hệ thống đó và có thể quét tất cả tài nguyên; Quét log hệ thống (sys log) và log sự kiện (event log) Ghi những hành động tấn công mà nó phát hiện
ra vào trong cơ sở dữ liệu được bảo vệ, và kiểm tra xem khi nào có những hành động so sánh giống với những bản ghi hành động tấn công được lưu trong cơ sởtri thức, thì chúng đưa ra cảnh báo
Trang 7HIDS khác với NIDS ở 2 điểm chính:
Một HIDS chỉ có thể bảo vệ cho duy nhất hệ thống chứa nó mà thôi chứ không phải là toàn bộ phân đoạn mạng như NIDS
Card giao tiếp mạng (NIC) của HIDS thường họat động ở chế độ
nonpromiscuous Điều này đem lại nhiều thuận lợi bởi không phải card giao tiếp mạng nào cũng có thể hoạt động ở chế độ promiscuous
Ưu điểm của HIDS là cho phép cấu hình riêng biệt chặt chẽ cho từng hostkhác nhau Ví dụ chúng ta không cần phải cấu hình cho việc phát hiện Network File System (NFS) cho host không sử dụng NFS
Hình sau cho ta thấy hệ thống HIDS:
`
`
HIDS HIDS
Hình 1.2 Host Intrusion Detection System
Hệ thống NIDS thì thường thường là hệ thống nội tuyến trên mạng, và phân tích gói tin mạng để tìm những cuộc tấn công NIDS nhận tất cả gói tin trên
Trang 8phân đoạn mạng riêng biệt, bao gồm mạng chuyển mạch thông qua một vài phương thức, như taps hoặc giám sát cổng (port mirroring) Nó xây dựng luồng traffic để phân tích tìm ra hành động có tính phá hoại Hầu hết NIDS được trang
bị những chức năng để ghi lại những hành động và báo cáo những cảnh báo Hơn nữa, một số router có khả năng là NIDS
Hình 1.3 Network Intrusion Detection System
Trong hình thức này việc giám sát các hoạt động mạng được tiến hành trên toàn bộ các phân đoạn mạng hay mạng con của toàn bộ hệ thống Điều này thực hiện bằng cách thay đổi chế độ hoạt động của card giao tiếp mạng NIDS Như ta biết, thông thường card giao tiếp mạng (NIC) ở chế độ nonpromiscuos,
nó chỉ cho phép các gói tin có địa chỉ MAC (Medium Access Control) đích là địa chỉ MAC của nó đi qua, còn các gói tin khác sẽ bị loại bỏ Vì thế để có thể quan sát toàn bộ các hoạt động trên mạng, NIDS NIC phải đặt ở chế độ promiscuous nhờ vậy tất cả các gói tin có thể đi qua
Trang 9DIDS ( Distributed Intrusion Detection System) Là sự kết hợp các NIDS sensors với nhau hoặc NIDS và HIDS sonsor Mỗi sensor tạo ra các attack log vàuppload cho máy trung tâm nơi có chứa database server để xử lý
Hình 1.4 Distributed Intrusion Detection System
Để thấy sự khác biệt giữa NIDS và HIDS ta xem bảng sau:
Trang 10từ bên ngoài vào từ bên trong.
Chi phí cài đặt thấp Chi phí cài đặt lớn
Phát hiện xâm nhập dựa trên
những bản ghi trên phạm vi toàn mạng những bản ghi trên phạm vi host đơn Phát hiện xâm nhập dựa trên
lẻPhân tích header gói tin Không lấy được thông tin
header gói tinTương tác gần như là thời gian
thực log đáng nghi được tạoChỉ tương tác khi những file
Độc lập hệ điều hành Phụ thuộc vào hệ điều hànhPhát hiện tấn công mạng khi
phân tích gói tin trước khi chúng tấn công mạngPhát hiện tấn công nội mạng
Xử lý nền tảng cho IDS là cách NIDS hoặc HIDS tập hợp dữ liệu và tiền
xử lý và phân loại chúng Thực thi những phân tích thống kê để xác định khi nào xảy ra hành động không bình thường, và nếu phù hợp với cơ sở tri thức tức là phát hiện một dấu hiệu tấn công thì cảnh báo được gửi đi
1.3 Hoạt động của IDS
Hoạt động của IDS nói chung như sau:
Phân tích thống kê
So sánh dấu hiệu
GUI
Cơ
sở tri thức
Kho lưu trữ
Hình 1.5 Sơ đồ hoạt động IDS
Trang 11Như ta đã biết IDS làm việc như sau: Collect data -> analyze(Thu thập
dữ liệu ->Phân tích) Nhưng có nhiều cách khác nhau để làm được điều này,
mỗi cách có ưu nhược điểm riêng và tùy vào từng trừơng hợp cụ thể mà ta áp dụng cho phù hợp
1.3.1 Các phương thức để thu thập dữ liệu
1.3.1.1 Bắt gói tin
Là một cách thức cổ điển của IDS Như ta biết NIDS thiết lập interface của chúng ở trạng thái chế độ promiscuous, và thực hiện thu thập gói tin trên giao diện đó Bằng cách này, nó có thể chụp lấy gói tin trong cùng subnet
1.3.1.2 Phân tích log
Rất nhiều IDS sử dụng thông tin của file log và cảnh báo nếu chúng phát hiện bất kỳ một sự bất thường nào
1.3.1.3 Giám sát lời gọi hệ thống
Lời gọi hệ thống là một yêu cầu mà chương trình gởi cho nhân hệ điều hành thực hiện Nếu HIDS phát hiện thấy một lời gọi hệ thống nào là dị thường ví
dụ như thay đổi USER ID của tài khoản root, chúng sẽ tạo ra một cảnh báo hay như trong trường hợp chạy trên Linux nó sẽ không cho phép thực thi lời gọi hệ thống đó
1.3.1.4 Theo dõi file hệ thống
HIDS còn có một phương án khác là theo dõi kích thước và thuộc tính của các file cốt lõi (crucial files) trong hệ thống Nếu đột nhiên nhân hệ điều hành thay đổi kích cỡ mà người quản trị không hề hay biết hay thuộc tính của file bị thay đổi điều đó có nghĩa là có sự xâm nhập nào đó
Tiền xử lý (Preprocessing ) là chức năng chính thực hiện tập hợp dữ liệu
từ IDS senser Trong bước này, Tổ chức dữ liệu theo một kiểu nào đó nhằm mụcđích phân loại được tốt hơn Tiền xử lý xác định định dạng cho dữ liệu vào, định dạng này là hợp với quy tắc tiểu chuẩn hoặc là hợp với một cấu trúc cơ sở dữ liệu Khi dữ liệu được định dạng, ta lại phân loại dữ liệu tiếp
Trang 12Phân loại trên phụ thuộc vào chiến lược phân tích, ví dụ nếu sử dụng phát hiện xâm nhập dựa trên cơ sở luật thì quá trình phân loại phải bao gồm các miêu tả luật và mô hình Nếu sử dụng phương pháp phát hiện dị thường thì phải
có những mô tả thống kê Cả hai phương pháp này đều được xét đến ở phần sau
Sau khi quá trình phân loại hoàn thành, dữ liệu được ràng buộc với nhau
và đưa ra những định nghĩa phiên bản hoặc mẫu phát hiện của một số cuộc tấn công bằng thay thế biến bởi những giá trị xác định, Mẫu phát hiện được lưu ở cơ
sở tri thức (knowledgebase) lưu trên máy phân tích trung tâm:
Phát hiện sửa đổi file log hệ thống
Phát hiện những thay đổi quyền không mong muốn
Phát hiện đường mạng cửa sau
Phát hiện SubSeven cửa sau
Quyền ORACLE
Khi hoàn thành quá trình tiền xử lý, tiếp theo sau đó là quá trình phân tích Các bản ghi dữ liệu so sánh với cơ sở tri thức, và bản ghi dữ liệu hoặc là được ghi lại khi đây là một cuộc tấn công hoặc là bị xóa Sau đó bản ghi dữ liệu tiếp theo được phân tích
Bước tiếp theo, phản ứng lại, IDS không có thể ngăn chặn tấn công trái phép mà chúng chỉ đưa ra thông báo Có một số cách thể hiện thông báo thứ nhất là đưa ra thông báo bản chất của cuộc tấn công hoặc đưa ra phân tích âm mưu của cuộc tấn công Thông báo phản ứng lại tấn công có thể tự động được thiết lập hoặc có thể cấu hình bình thường bởi người dùng Ví dụ, Network Flight Recoder ( một loại IDS thương mại) gửi gói tin TCPRST và loại bỏ session
Bước cuối cùng là bước cải tiến Thực hiện điều chỉnh IDS sao cho phù hợp nhất, bước này phụ thuộc vào bước trước và việc phát hiện xâm nhập Đưa
ra nhận định bảo mật đúng nhất và làm giảm mức độ lỗi và đưa ra mức độ bảo mật đúng đắn nhất Có một công cụ, như Cisco Threat Response (CTR), cho phép cải tiến phủ hợp đảm bảo một thông báo đưa ra là đúng bị tấn công hoặc không bị tấn công
Để làm việc hiệu quả, IDS cần phải có một hoặc thậm chí nhiều chiến thuật để đánh giá Có hai chiến thuật cớ bản:
1.3.2.1 Biết hành động tốt (know good) và biết hành động xấu (know bad)
Tùy theo nhu cầu công việc hay đặc điểm cụ thể, người quản trị có thể thiết lập policy cho mạng hoặc theo kiểu “Chỉ cho phép traffic nào được xem là good –Known Good” hoặc “Chỉ ngăn cấm những traffic nào được xem là bad-
Trang 13Known Bad” Và yêu cầu đặt ra cho một IDS là làm thế nào để có thể định danh được các lọai traffic khác nhau.
Mỗi hướng tiếp cận đều có những ưu nhược điểm riêng
Biết hành động tốt (Known Good):
Ưu: Quản lý được tòan bộ giao thông trên mạng Có policy ở cấp độ cao
nhược: Khó nắm bắt được tất cả các trường hợp: Nếu có một attack
traffic nào đò không được bắt bởi bất cứ một luật nào ->??
Nói chung cách tốt nhất là tiếp cận cả hai cách thiết lập policy trên
1.3.2.2 Phân tích xâm nhập:
1.3.2.2.1 Tổng quan:
Signature Detection là cách tiếp cận thường dùng nhất hiện nay bởi
chúng dễ kiểm sóat, tiện lợi đồng thời rất tốt trong trường hợp ít kinh nghiệm hay thời gian đào tạo ít Khi một kiểu tấn công mới xuất hiện, một signature được đánh dấu và tạo ra một hình thức cảnh báo mới tương ứng với signature đó
Một cách tiếp cận phức tạp hơn của cơ sở luật là phân tích luật: Thay vì
đề ra các luật để nắm băt các trường hợp cụ thể, phân tích luật tạo ra các mô tả cho các loại hành động cụ thể, ví dụ như: Khi máy tính ta muốn tạo một kết nối TCP, chúng sẽ gửi một gói tin SYN, các gói tin phúc đáp sẽ là RST/ACK hay SYN/ACK, các trường hợp còn lại là vi phạm giao thức trên Cách này sẽ tạo sự linh động hơn so với Known-Bad Thay vì đưa ra một luật:“ Nếu có một chuỗi lớn hơn 500 bytes, với các ký tự cụ thể, thì đó là một tấn công”, ta có thể nói “Tại điểm này của kết nối, nếu một chuỗi lớn hơn 500 bytes, thì nó là tấn công
Nhưng tại các điểm khác, nó không là attack” Tuy nhiên nhược điểm của
phương pháp này là : Trong khi các giao thức được định nghĩa một cách rõ ràng
và chặt chẽ thì các nhà sản xuất khác nhau lại có khuynh hướng mô tả các giao thức theo các kiểu khác nhau điều đó dẫn đến việc có thể một phân tích giao thức nào đó không phù hợp với RFC nhưng là điều bình thường của một nhà sản xuât nào đó Hơn nữa để có thể tạo ra một giao thức cụ thể cần rất nhiều thời gian để viết và hiện thực chúng, cũng như việc xem xét phải được thực hiện trên hệ thống có tốc độ cao
Cách tiếp cận khác nữa là anomaly detection: Trong kỹ thuật này, việc quan trọng định danh hai lọai traffic trong mạng “bình thường” và “dị thường” để
Trang 14có thể cảnh báo hay khóa các lọai traffic bất bình thường qua hệ thống Một số
hệ thống IDS sử dụng anomaly detection định dạng chuẩn loại traffic nào là “bìnhthường”, số khác theo dõi toàn bộ traffic trên hệ thống và sử dụng một giải thuật
để phân loại
1.3.2.2.2 Phát hiện xâm nhập dựa trên luật
Phát hiện xâm nhập dựa trên luật, hay còn gọi là phát hiện xâm nhập dựatrên chữ ký, mô hình đối chiếu mẫu, và phát hiện xâm nhập trái phép, là chiến lược đầu tiên được đưa ra trong giai đoạn đầu của hệ thống phát hiện xâm nhập.Phát hiện xâm nhập dựa trên luật sử dụng so sanh mẫu để phát hiện ra mẫu tấn công đã biết
Xem xét cách thức xử lý của bốn bước phân tích đối với hệ thống phát hiện xâm nhập dựa trên luật:
1 Tiền xử lý: bước này tập hợp dữ liệu về cuộc xâm nhập, cuộc tấn công
và kế hoạch phân loại hoặc miêu tả mẫu này Từ kế hoạch phân loại, đưa
ra mô hình và đưa ra định dạng chung:
Tên chữ ký: đưa ra tên chữ ký
ID chữ ký: một số ID duy nhất chữ ký
Miêu tả chữ ký: miêu tả chữ ký và những cái nó làm
Miêu tả khả năng khẳng định sai: giải thích cho những khẳng định sai mà chúng có thể xảy ra Khi mà một hoạt động mạng bình thường nhưng bị coi là một cuộc tấn công
Thông tin liên quan đến tổn thương: trường này đưa ra thông tin liên quan đến tổn thương
Chú ý sử dụng: trường này cho phép chuyên gia bảo mật thêm chú
ý đặc biệt liên quan đến hệ thống mạng của họChú ý rằng miêu tả mẫu có thể là miêu tả đơn hoặc miêu tả phức tạp Miêu tả đơn yêu cầu chỉ cần xem xét một gói tin là có thể nhận biết cảnh báo, trong khi đó miêu tả phức tạp thì cần xem xét nhiều gói tin thì mới nhận biết được cảnh báo Những miêu tả mẫu này được lưu trong cơ sở tri thức
2 Phân tích dữ liệu cuộc tấn công được định dạng và so sánh với cơ sở trithức sử dụng dụng cụ phân tích so sánh mẫu Dụng cụ này tìm trong những mẫu đã được định nghĩa (chính là các kiểu tấn công)
3 Phản ứng lại: Nếu trùng với mấu tấn công, Dụng cụ phân tích gửi cảnh báo Nếu chỉ trùng một phần thì sự kiện tiếp được phân tích Sự phản ứng
là khác nhau phụ thuộc vào bản ghi sự kiện cụ thể
Trang 154 Cải tiến: cải tiến phân tích mẫu có thể xảy ra nhằm cập nhật chữ ký bởi
vì một hệ thống IDS chỉ tốt nhất khi chữ ký cập nhật nhất Đây chính là nhược điểm của phân tích mẫu Hầu hết các IDS cho phép cập nhật tự động hoặc bằng thao tác thủ công các chữ ký
1.3.2.2.3 Phát hiện xâm nhập dựa trên mô tả sơ lược
Một hành động dị thường có số khác biệt so với hành động bình thường
và do đó dễ dàng phân loại phát hiện xâm nhập dị thường, hay còn gọi là phát hiện xâm nhập dựa trên mô tả sơ lược, tạo một hệ thống mô tả sơ lược chúng đánh dấu bằng cờ tất cả sự kiện dị thường và lưu thông tin này
Đặc điểm khác nhau cơ bản giữa phân tích tấn công dị thường và phân tích khác là phân tích này không định nghĩa các hành động mà hệ thống không cho phép nhưng thay vào đó là định nghĩa hành động mà hệ thống cho phép Hơn nữa, phân tích này tập hợp hành động thống kê và hành động tiêu biểu Thống kê là xét về số lượng, tiêu biểu xét với số lượng lớn hơn Ví dụ: “traffic UDP server không bao giờ vượt quá 25% công suất” đây là một hành động thông
kê, và “UserStan321 không phải là file FTP bên ngoài công ty” đây là hành động tiêu biểu
Phân tích cơ sở hành động dị thường chia làm 3 loại: behavioral, traffic pattern, và protocol Phân tích Behavioral tìm những hành động bất thường Phân tích traffic-pattern tìm mẫu đặc biệt Phân tích Protocol tìm những giao thứcmạng trái phép dựa trên hành động cơ sở RFC (Request for comment)
Xem xét 4 bước:
1 Tiền xử lý: bước này tập hợp dữ liệu thông thường trên mạng Sau
đó dữ liệu được định dạng Tiếp sau đó thông tin được phân loại mô
tả thống kê sơ lược phụ thuộc vào thuật toán khác trong trong cơ sởtri thức
2 Phân tích: dữ liệu sự kiện biến đổi thành vector mô tả tóm tăt, và so
sánh với cơ sở tri thức vector mô tả tóm tắt này so sánh với bản ghi
đã được lưu Hay tất cả dữ liệu nằm ngoài cơ sở hành động thông thường
Trang 16alert tcp $HOME_NET 12345:12346 -> $EXTERNAL_NET any
(msg:"BACKDOOR netbus active"; flow:from_server,established;
content:"NetBus"; reference:arachnids,401; classtype:misc-activity; sid:109; rev:4;)
Từ luật trên, chúng ta thấy snort gửi thông báo nếu thấy một gói tin TCP trên cổng 12345:12346 Nếu điều này xảy ra, Snort gửi thông báo “BACKDOOR netbus active” và thuôc loại hành động miscellaneous và ID chữ ký 109 Chữ ký này xem xét 4 lần
1.3.3 Phản ứng của khi có xâm nhập
Hầu hết các hệ thống IDS có khả năng phản ứng tự động khi bị tấn công nhưng hạn chế Tuy nhiên, chúng thường tập trung vào việc lọc, khóa, cắt kết nối Chúng ta co thể chia ra làm 2 lọai phản ứng như sau: phản ứng thụ động và phản ứng chủ động
1.3.3.1 Phản ứng thụ động
Thông thường, các IDS theo dõi các họat động trên mạng và ghi vào log file để cảnh báo cho người quản trị theo nhiều hình thức khác nhau như SNMPs traps, e-mail, text message, phone call, Các quản trị thường cấu hình cho IDS để chúng cảnh báo theo nhiều cách tùy vào tính chất nghiêm trọng của sự tấn công và tần số xuất hiện của các cuộc tấn công đó
Trong cách phản ứng này, IDS chỉ dừng ở đó, công việc còn lại dành cho người quản trị
1.3.3.2 Phản ứng chủ động
Trong cách này, IDS không chỉ cảnh báo cho người quản trị và chờ đợi
sự xử lý tiếp theo của người quản trị, mà còn có khả năng tự động phản ứng nhưsau
Đánh dấu và loại bỏ các loại traffic nguy hiểm (malicious traffic)
Kết thúc TCP session nào mà chúng thấy có dấu hiệu của sự tấn
công
Gửi ICMP: Các unreachable message gửi đến source system khi
không thể có kết nối đến target system, các firware và router được cấu hình trước nằm giữa target system và attacker sẽ ngăn cản các traffic từ acttacker
Một số hệ thống còn có khả năng tìm kiếm thông tin của attacker
như tên, đường đi, hệ thống gì unix hay win, chỉ số cổng…
Trang 17Rõ ràng là bằng cách này, người quản trị không nhất thiết phải luôn theo dõi traffic trên mạng Tuy nhiên nếu không được cấu hình một cách đầy đủ
phương án này để lại nhiều nguy hiểm
Khả năng quản lý tương quan các tấn công
Khả năng phòng thủ theo chiều sâu
Người quản trị hệ thống có khả năng xác định số lượng tấn công
Khả năng bảo vệ nhiều lớp
Phản đối IDS:
Tạo ra nhận định sai (Một hành động có thể là tấn công hoặc không
phải là tấn công, IDS nhận đinh sai hành động tấn công thì phát hiện ra, còn hành động không phải là tấn công thì lại nhận định đây
là hành động tấn công)
Tác động tấn công nhiều hơn là ngăn cản chúng
Đòi hỏi chế độ giám toàn full-time
Quá trình xử lý phức tạp
Không thể kiểm soát traffic tỷ lệ bps (bit trên giây) cao
Tạo ra một lượng lớn dữ liệu
Yêu cầu có kĩ năng cao trong việc phân tích dữ liệu
Ảnh hưởng bởi tấn công “low and slow”
Không thể phân tích traffic mạng mà được mã hóa
1.5 Một số kiểu tấn công
Một số kiểu tấn công có bản chất là dựa trên một số khuyết điểm khi thiết
kế internet Ban đầu Internet ra đời thì chưa tính nhiều đến tính bảo mật
Nói chung, có 2 kiểu tấn công chính: Thứ nhất, Tấn công thực hiện ở mức mạng, tương ứng tầng phiên trở xuống của mô hình OSI Kiểu tấn công nàylàm sai lệch, phá vỡ hoặt lấy cắp thông tin trên đường truyền từ địa chỉ nguồn đến địa chỉ đích
Trang 18Kiểu tấn công thứ 2, Tấn công ở mức ứng dụng, tương ứng từ tầng trình diễn trở lên của mô hình OSI Trong kĩ thuật tấn công này, Chúng không làm sai lệch dữ liệu trên đường truyền nhưng lại truyền dữ liệu tấn công tới đích cần tấn công
1.5.1 Tấn công dựa trên giới hạn tài nguyên.
Một số ứng dụng quan trọng đứng giữa tầng mạng và tầng ứng dụng Đặc biệt là ứng dụng IDS và Firewall, chúng có thể là những ứng dụng liên hệ mật thiết với hoạt động mức thấp của giao thức mạng Những ứng dụng quan trọng bảo vệ thiết bị, khi chúng hoạt động tốt thì các ứng dụng khác trong hệ thống hoạt động tốt hơn Vì vậy chúng cần có khả năng chống lại tấn công dữ dội
từ bên ngoài
Một kiểu tấn công mà Firewall và IDS không có thể chống đỡ được đó là tấn công vét cạn tài nguyên Mọi hệ thống đều có bộ nhớ, CPU, có giới hạn về băng thông, tài nguyên thì có giới hạn, tức là tài nguyên hoàn toàn có thể bị cạn kiệt, khi tài nguyên bị cạn kiệt thì hoạt động của hệ thống bị giảm sút, và thậm chí
có thể ngừng hoạt động Có hậu quả tàn phá hơn những tấn công bình thường
Để lưu lại những kết nối, ứng dụng firewall và IDS cần phải tạo một bản ghi kết nối cho mỗi kết nối được thực hiện Nếu như có nhiều yêu cầu kết nối thừa được thực hiện, dẫn tới giới hạn về tài nguyên ( bộ nhớ, CPU, hoặc băng thông) có thể hoàn toàn bị phá hủy Hacker sử dụng kĩ thuật tràn SYN để tạo mộtkiểu tấn công từ chối dịch vụ
1.5.2 Tấn công dựa trên khuyết điểm giao thức mạng
Tuy nhiên có một lớp tấn công dựa vào hành động giả mạo traffic (traffic spoof) (sự lừa bịp, giả mạo, đúng luật) Trong một số tình huống, hệ thống tin rằng traffic đó là hợp pháp, và hệ thống hành động không nghi ngờ đối với traffic
đó mà thực tế nó là hành động có ác tâm phá hại Chúng ta xem xét tấn công và phá hại khi chúng tác động vào phần lớn giao thức mạng: ARP, IP, UDP, TCP, and ICMP
1.5.2.1 Lạm dụng ARP
Như đã nêu trong chương 2, Host sử dụng ARP (Address Resolution Protocol) để xác định địa chỉ phần cứng tương ứng với địa chỉ IP để hệ thống cóthể thực hiện truyền dữ liệu Không có tính xác thực của cả yêu cầu và sự trả lời,may thay yêu cầu ARP là bị hạn chế trong mạng nội hạt Tuy nhiên nếu kẻ xâm nhập làm tổn thương hệ thống, chúng sẽ tàn phá trên hệ thống mạng con đó với hàng loạt hành động trái phép, ví dụ như: Làm tràn ARP (ARP flooding), giả mạo địa chỉ MAC (MAC spoofing), và giả mạo ARP (ARP spoofing)
1.5.2.1.1 Làm tràn mạng bằng các gói tin ARP (ARP Flooding):
Trang 19Trước khi đi vào thảo luận là tại sao tấn công làm tràn mạng bằng cách
sử dụng gói tin ARP giả mạo lại có liên quan đến vấn đề bảo mật, ta nên bàn luận về điểm khác nhau giữa mạng chuyển mạch và mạng không phải là mạng chuyển mạch
Unswitched networks, được xây dựng trên công nghệ Ethernet hub, việc
truyền tất cả các traffic tới tất cả các cổng trong một hub Bản thân hub là một thiết bị tương đối đơn giản nó chỉ đơn giản là tạo lại traffic tới tất cả cổng và giải quyết vấn đề xung đột gói tin Gói tin ARP sẽ đi tới tất cả các host được kết nối tới hub
Switched network, tương phản với Unswitched network, sử dụng một
Ethernet switch, chúng thực hiện phân phát traffic chỉ tới các cổng nơi mà host truyền thông cư trú Tất nhiên lợi thế của nó là làm giảm traffic mạng, bởi vì chúng chỉ xem xét traffic gửi tới hệ thống trên cổng chuyển mạch Host không xem xét tới những traffic trên cổng chuyển mạch khác Thực tiễn tất cả các ứng dụng, nó là hoạt động thuần khiết Chỉ những ứng dụng chúng có thể chịu đựng dưới một hệ thống mong là thấy tất cả các traffic qua switch
Phương thức mà switch sử dụng để định tuyến cho traffic là hoàn toàn bị động Nó lưu giữ ARP responses, và nó định tuyến traffic gửi tới địa chỉ phần cứng tới cổng mà chúng thấy ARP responses đến Khi một switch đương đầu vớimột một gói tin gửi tới địa chỉ phần cứng nào đó mà nó không được lưu trữ, nó phải quay trở lại chế độ “hub” và gửi gói tin đó tới tất cả các cổng trên switch Những cổng đáp ứng đó sẽ được ghi lại trong ARP cache
Với thiết bị, có giới hạn về số cổng đi vào mà một switch có thể lưu trữ đó
là ARP cache Nếu cache đầy, và có một gói tin cần gửi tới một địa chỉ phần cứng không biết, switch có một số chiến lược thực hiện chức năng, mặc dù mức thực hiện bị giảm đi:
Switch dễ dàng chuyển sang chế độ hub cho tất cả địa chỉ phần
cứng mà nó không được lưu trữ trong cache Traffic sẽ tiếp tục gửiđi
Switch có thể đơn giản là xoá bộ đệm và phục hồi dữ liệu mới
nhận được Dưới chế độ này, các gói tin sẽ được gửi đi cho đến khi lấy lại được vị trí của cổng của host
Trong cả hai tình huống trên, traffic tới cổng cụ thể sẽ bị tiết lộ và bị quansát thấy từ những cổng khác Traffic đó là khả năng tiềm tàng cho những kẻ tấn công, những kẻ có thể thi hành một số ứng dụng giúp ích cho chúng từ lỗ hổng này chúng nghe ngóng traffic đã được chỉ định cho host khác Một ứng dụng nghe nén sẽ nghe tất cả gói tin và ghi chúng lại để phục vụ cho hacker, chẳng hạn như password, thông tin mật hoặc những dữ liệu nhạy cảm khác có thể
Trang 20được ghi lại Rõ ràng đây là một vấn đề quan trọng, hacker vẫn còn trên hệ thống
và ghi lại những thông tin này trong chu kỳ dài mà không có sự bảo vệ
Trong hệ thống switched network hacker có thể giành được quyền truy nhập tới rất nhiều traffic mạng hơn là chúng ta nghĩ bằng cách làm tràn gói tin ARP reply giả mạo, làm tràn ARP cache của switch
1.5.2.1.2 Giả mạo địa chỉ MAC (MAC Spoofing):
Traffic có thể bị phá vỡ nếu có 2 Ethernet adapter có cùng một địa chỉ phần cứng (Địa chỉ MAC- Media Access Control) Mỗi nhà sản xuất được chỉ định một khối của địa chỉ MAC đó là một khối địa chỉ duy nhất cho mỗi nhà sản xuất Tuy nhiên có một số nhà sản xuất biết được điều này và chiếm được địa chỉ của một nhà sản xuất khác
Đa số mọi người ngạc nhiên khi biết rằng thực tế làm mọi Ethernet
adapter đều có thể lập trình lại để có một địa chỉ phần cứng mong muốn Mặc dù việc lập trình lại này là hiếm khi được thực hiện, ngoại trừ một số trường hợp software license được gắn với Địa chỉ phần cứng, hacker có thể lập trình lại Ethernet adapter trên một hệ thống để giả mạo của một hệ thống khác, Nó là hậuquả không những trong hệ thống truyền thông Mà nếu hacker chọn cùng một địachỉ phần cứng cho router, thì tất cả quá trình truyền thông với bên ngoài mạng cũng bị phá vỡ
1.5.2.1.3 Giả mạo ARP (ARP Spoofing)
Tương tự như việc giả mạo địa chỉ MAC, Gói tin ARP response có thể bị giả mạo để gửi traffic một lần nữa hoặc phá vỡ nó Ví dụ một hệ thống A muốn truyền thông với hệ thống B, vì vậy nó gửi yêu cầu ARP request, có nội dung
“Bất cứ ai có địa chỉ IP của B, làm ơn gửi điạ chỉ MAC” Hacker trên hệ thống C nhìn thấy nhìn thấy yêu cầu này có thể giả mạo gói tin ARP response và thông báo rằng ”Tôi là B và đây là địa chỉ MAC của tôi” nhưng thay vào đó là chèn địa chỉ MAC của C Tất nhiên, trừ khi nếu hệ thống B bị ngăn không nhận được yêu cầu từ A Thực tế hệ thống A kết thúc quá trình truyền thông phụ thuộc vào thời gian đáp ứng của A
Nhóm hacker chuyên nghiệp có thể kết hợp việc giả mạo ARP với tấn công từ chối dịch vụ ( DOS) trên hệ thống B để ngăn không cho nó trả lời, có lẽ
là sử dụng làm tràn cờ SYN, làm tràn tài nguyên (cả hai phương pháp này sẽ được trình bày ở phía sau) Bằng việc kết hợp một số kiểu tấn công, trong
trường hợp này, hacker trên hệ thống C có thể thuyết phục hệ thống A rằng hệ thống C là hệ thống B, và do đó có thể phá hủy hệ thống A, hacker có thể gửi chuyển tiếp traffic tới hệ thống B, vì vậy A và B không thấy được hoạt động trái phép nào Có một số công cụ nó giúp cho một số kiểu tấn công- một số công cụ tốt như: dsniff arpspoof được viết bởi Dug Song
Trang 211.5.2.2 Lạm dụng IP
IP là một giao thức không tin cậy được sử dụng mang những giao thức ở mức cao hơn IP cung cấp vận chuyển và phân phối các datagram nhưng không cung cấp cơ chế thẩm định gói tin từ host mà thực tế nó có đúng là từ host đó không Hầu như tất cả các host đều có khả năng như một router, và do đó có thể chuyển traffic cho bên kia router của hệ thống Vì vậy mô hình này cho phép khả năng giả mạo địa chỉ nguồn và đích của gói tin
1.5.2.2.1 Giả mạo địa chỉ IP (IP Address Spoofing)
Nếu tất cả các hệ thống đều được cấu hình chính xác sao cho các host trong hệ thống không thể giả mạo địa chỉ IP Tuy nhiên, trong thực tế rất nhiều hệthống được cấu hình thông chuẩn dẫn đến có thể giả mạo địa chỉ IP của hệ thống khác
Lọc vào ra
Có một số địa chỉ IP không nên bị nhìn thấy khi qua vành đai có thể là đi vào hoặc đi ra ngoài mạng internet Lọc vào xem xét quá trình xử lý lọc giả mạo địa chỉ IP đi vào trong mạng Trong khi đó lọc ra xem xét traffic đi ra ngoài mạng Một ví dụ đơn giản là một tổ chức với không gian địa chỉ IP công bố công cộng thì nên loại bỏ tất cả traffic đòi quyền từ không gian địa chỉ của họ, nhưng lại đến
từ ngoài mạng internet Tương tự, một tổ chức nên lọc tất cả traffic ra ngoài mạng, và chỉ cho phép traffic với địa chỉ nguồn nằm trong không gian địa chỉ của
họ là vượt qua biên giới Nói chung RFC địa chỉ 1918 được lọc qua biên vào và ra
Ví dụ, Tổ chức của chúng ta có miền địa chỉ 172.16.0.0 tới
172.16.255.255 Do đó, router biên không nên cho phép những traffic đi vào bêntrong mạng tới bất kì địa chỉ nào trong mạng trừ subnet 172.16.0.0/ 16 Những traffic đi ra bên ngoài mạng nên bị loại bỏ nếu địa nguồn là không có trong
subnet 172.16.0.0/16
Tấn công giả mạo địa chỉ IP bao gồm các gói tin được xen lẫn và đưa vàomạng với một địa chỉ IP khác so với địa chỉ IP thực tế của hệ thống gửi gói tin Lý
do cho việc sử dụng địa chỉ giả mạo rất rõ ràng Tất nhiên gói tin được gửi trả lại
là được gửi lại cho người gửi có yêu cầu Không phản hồi gửi tới người gửi Hành động này được ra lệnh bởi kẻ tấn công, gói tin trả về có thể được phân tích
Nếu không kẻ tấn công cũng điểu khiển một điểm trên đường dẫn về tới người gửi được vin vào, chúng không biết được thông tin quyết định để thiết lập một kết nối TCP Thực tế không biết số sequence trong gói tinh SYN/ACK gửi trảlại, thì kết nối cũng không được thiết lập Tuy nhiên kẻ tấn công có hệ thống có thể nắng nghe hành trình của gói tin trở về, gói tin có thể được tổng hợp Tuy
Trang 22nhiên nhìn chung session TCP được tạo ra có thể được cân nhắc là hoạt động giữa các host.
Có thêm một kiểu tấn công khác được tạo ra bằng việc gửi gói tin UDP giả mạo tới cổng 7 (echo) hoặc cổng 19 (chargen) Tấn công này, được gọi là tấncông Fraggle, được tạo bởi kẻ tấn công thiết lập cả cổng nguồn và cổng đích củamột host hoặc host kia những host mà kẻ tấn công đang nhắm mục tiêu Một chuỗi các gói tin vô tận được truyền giữa hai hệ thống chúng đi rồi lại quay trở lại Khi chúng ta xem xét kĩ thuật khuếch đại theo số lượng trong section “khuếchđại traffic” sau, chúng ta sẽ thấy cách thức mà kẻ tấn công sử dụng kiểu tấn côngnày để tiến hành tàn phá toàn mạng con này Thực tế đưa ra là những cổng đó
và những cổng khác không nên đưa ra mạng internet, Host thường không cần phải đưa ra những cổng và thường nên disable chúng
Ta xem xét kiểu tương tự được gọi là “land attack” Trong cách tấn công này, Địa chỉ IP nguồn và đích đều được thiết lập là địa chỉ của lạn nhân và cổng được thiết lập là UDP 7 hoặc 19, như là cách tấn công fraggle attack Tất nhiên, gói tin này là luôn luôn được tạo ra, vì không có host nào gửi một gói tin cho chính bản thân nó nhưng thay thế đường đi của dữ liệu bên trong Trên những host dễ bị tấn công, gói tin này là nguyên nhân dẫn đến gửi dữ liệu (ping-pong) với bản thân nó, nguyên nhân sử dụng CPU tăng đến 100 phần trăm
1.5.2.2.2 Khuếch đại traffic (Traffic Amplification)
Gói tin giả mạo có thể là nguyên nhân dẫn đến hiệu ứng khuếch đại nếu chúng được gửi tới địa chỉ quảng bá Ví dụ, một mạng có không gian địa chỉ từ 192.168.1.0 tới 192.168.1.255 Mặc dù có tổng 256 địa chỉ, 192.168.1.0 là địa chỉmạng 192.168.1.255 là địa chỉ quảng bá Khi một gói tin gửi tới địa chỉ này, thì chúng sẽ được gửi tới tất cả các host trong mạng, tất cả các host sẽ gửi phản hồicho gói tin này
Vì một gói tin TCP không thể tạo kết nối tới địa chỉ quảng bá Do đó bất
kỳ một kết nối TCP nào mà tới địa chỉ quảng bá là do cấu hình sai có ý đồ tấn công
UDP và ICMP không phải là giao thức hướng kết nối, mỗi host đều có thểtrả lời Trong kiểu tấn công smurf attack, kẻ tấn công giả mạo gói tin ICMP echo request với địa chỉ nguồn chỉ đến địa chỉ của nạn nhân, và địa chỉ đích là một địa chỉ truyền thông của mạng Khi gói tin echo request được xử lý bởi host trên mạng, chúng sẽ gửi ICMP echo reply cho nạn nhân, điều đó có nghĩa là hàng trăm, hoặc hàng ngàn gói tin gửi tới nạn nhân cùng một lúc Kiểu tấn công này không những là vấn đề về băng thông đối với host đích, mà còn là vấn đề băng thông cho toàn mạng Thậm chí xấu hơn, nếu như địa chỉ nạn nhân cũng là địa chỉ quảng bá, thì tất cả host đều là nạn nhân
Trang 23Một tấn công UDP fraggle khác là có một hoặc cả hai địa chỉ là địa chỉ quảng Tất cả các host trong mạng đều có thể nhận message ping-pong với tất
cả các host trong mạng khác
Để chống lại những kiểu tấn công khuếch đại tới địa chỉ quảng bá Thì router có thể cấu hình để loại bỏ traffic mà định hướng thẳng tới địa chỉ quảng bátrong mạng, và host nói chung có thể thực hiện như tường lửa mức host để cungcấp thêm mức độ bảo vệ Nếu không chúng cần thêm các ứng dụng, hầu hết cáchost có thể an toàn bằng tường lửa tắt địa chỉ quảng bá của mạng
1.5.2.2.3 Gói tin IP bị phân mảnh
Tất cả các host đều chấp nhận gói tin có kích thước nhỏ nhất là 68 byte, Trong đó kích thước IP header max là 60 byte và phần dữ liệu là 8 byte Tuy nhiên, điều đó không có nghĩa là phân mảnh có kích thước nhỏ hơn 68 byte Kích thước gói tin IP header min là 20 byte, và gói tin phân mảnh có kích thước
là 1 byte Do đó chúng ta có thể thấy kích thước gói tin IP là 21 byte
Phân mảnh IP là một góc tối của kỹ thuật IP
Có một số vấn đề với Fragment:
2 bản fragment Nếu có hai fragment được nhận với nội dung khác
nhau Thì fragment nào được lưu lại? cái thứ nhất? cái thứ hai? Hay là loại bỏ cả hai?
Trồng phân đoạn
Ping gây lỗi
kích thước gói tin lẻ
Sự lẩn tránh tường lửa
1.5.2.2.4 Cổng 0
Cả TCP và UDP thì cổng 0 là bất bình thường, nó là cồng dự trữ và không được sử dụng trong truyền thông Bất kỳ traffic cổng 0 đều là vi phạm, nói chung, host và firewall cấu hình loại bỏ traffic TCP hoặc UDP cổng 0
1.5.2.3 Lạm dụng UDP
UDP header chứa địa chỉ cổng nguồn và địa chỉ cổng đích, kích thước góitin, bit checksum Các trường trong header này rất rõ ràng dễ hiểu nên nó dễ bị giả mạo UDP sử dụng cho tấn công kiểu khuyếch đại traffic đã xem xét ở trên
1.5.2.4 Lạm dụng TCP
Việc giả mạo kết nối TCP là rất khó, trừ khi hacker chiếm được quyền điều khiển router giữa hai hệ thống, vì traffic thiết lập kết nối có thể coi như là
Trang 24dấu hiệu kết nối giữa hai hệ thống Điều đó có nghĩa là kẻ tấn công có thể nhận
ra nếu như có bất kỳ hành động sai nào xảy ra trong khi thiết lập kết nối TCP
Khai thác những điểm yếu của giao thức TCP ở tầng mạng, hacker có thể
sử dụng TCP retransmission và TCP flags sử dụng với mục đích phát hoại, tấn công SYN flood và backscatter làm treo host, gói tin SYN hoặc RST cũng có thể không chứa dữ liệu, tấn công đoán số sequence number
Cờ TCP
Một số cờ trong gói tin TCP không bao giờ được thiết lập trong cùng một gói tin Ví dụ cờ SYN không bao giờ kết hợp cờ FIN hoặc cờ RST trong cùng mộtgói tin, nếu các cờ này kết hợp với nhau thì đây chính là hành động trái phép
Làm tràn SYN
Lợi dụng cách thức hoạt động của kết nối TCP/IP, hacker bắt đầu quá trình thiết lập một kết nối TPC/IP tới mục tiêu muốn tấn công mà không gửi trả gói tin ACK, khiến cho mục tiêu luôn rơi vào trạng thái chờ (đợi gói tin ACK từ phía yêu cầu thiết lập kết nối) và liên tục gửi gói tin SYN ACK để thiết lập kết nối Một cách khác là giả mạo địa chỉ IP nguồn của gói tin yêu cầu thiết lập kết nối SYN và cũng như trường hợp trên, máy tính đích cũng rơi vào trạng thái chờ vì các gói tin SYN ACK không thể đi đến đích do địa chỉ IP nguồn là không có thật Kiểu tấn công SYN flood được các hacker áp dụng để tấn công một hệ thống mạng có băng thông lớn hơn hệ thống của hacker
1.5.2.5 Lạm dụng ICMP
Giả mạo gói tin ICMP được sử dụng tạo tấn công từ chối dịch vụ bằng cách tạo rất nhiều gói tin lỗi Kiểu tấn công này cần một hệ thống rất quan trọng,
đó là mạng khuyếch đại Hacker dùng địa chỉ của máy tính cần tấn công bằng
cách gửi gói tin ICMP echo cho toàn bộ mạng (broadcast) Các máy tính trong mạng sẽ đồng loạt gửi gói tin ICMP reply cho máy tính mà hacker muốn tấn
công Kết quả là máy tính này sẽ không thể xử lý kịp thời một lượng lớn thông tin
và dẫn tới bị treo máy
1.5.3 Một số lỗi có thể khai thác:
Trang 251.5.3.1 Tràn bộ nhớ (Memory Buffer Overflow)
Hầu hết lỗ hổng bảo mật đều liên quan đến việc làm tràn bộ đệm bộ nhớ
Bộ đệm là một vùng bộ nhớ liên tiếp định vị trong bộ nhớ chính, trong một số trường hợp là stack hoặc memory heap Vì bộ đệm có kích thước, nếu bộ nhớ bộđệm vượt quá giới hạn, thì nó bị ghi đè Hacker phát hiện ra lỗ hổng này
Một đoạn chương trình C đơn giản làm tràn bộ nhớ:
main() {
char buff[10];
strcpy(buff, "This string overflows the buffer"};
}
Không gian bộ nhớ (Memory Address Space)
Vùng bộ nhớ để chạy chương trình gọi không gian bộ nhớ (address
space) Trong hệ điều hành hiện đại, nó được chia ra thành những section bộ nhớ:
Text: mã nhị phân được chương trình thực thi load, đánh dấu là chỉ
đọc (read- only) Trong một số kiến trúc, mã tự sửa đổi (self- modifying code) được hỗ trợ bởi tạo mã máy động trong stack hoặc heap và phân nhánh chúng
Initialized data: vùng dữ liệu mà chương trình thực thi copy vào Nó
chứa giá trị biến mà giá trị biến được khởi đầu với một giá trị nào
đó nhưng được đánh dấu là read-write
Bss: là vùng cho dữ liệu phát sinh (không phải là dữ liệu ban đầu),
mặc dù thực tế vùng dữ liệu này có giá trị khởi đầu là 0 Vùng này chỉ tồn tại với hệ điều hành cổ
Heap: Vùng bộ nhớ này biến động sự tồn tại của chúng phụ thuộc vào
hàm có được gọi hay không Vùng bộ nhớ này cũng có khả năng
mở rộng hoặc thu hep lại phụ thuộc vào yêu cầu bộ nhớ của chương trình Nó có cấu trúc khác với cấu trúc của vùng stack, Vì
bộ nhớ được chỉ định nếu cần mà không quan tâm đến trạng thái của stack
Stack: Vùng stack được so sánh với stack của đĩa thức ăn tại quán ăn
tự phục vụ, Đĩa cuối cùng đẩy vào stack là đĩa đầu tiên được lấy
ra Hệ thống máy tính hiện đại, stack được định vị tại đỉnh của bộ nhớ và kéo dài xuống dưới, vì vậy dữ liệu tại đỉnh của stack có địa chỉ thấp nhất
1.5.4 Giao thức và chương trình khai thác lỗi
Trang 26Mặc dù phạm vi tấn công nhanh chóng được mở rộng Những lỗi trong một chương trình thường xảy ra vào giai đoạn đầu của Internet, trước khi vấn đề
an ninh trở thành vấn đề quan trọng; Lối khác là do những thiếu sót trong thiết kêhoặc trong quá trình thực thi
Truyền thông không mã hóa
Một số giao thức phát triển trong giai đoạn đầu của internet ngày nay vẫn còn tồn tại Tất nhiên những ngày đó chủ yếu xem xét chức năng của cơ sở hạ tầng chứ không xem xét tới vấn đề bảo mật Một số tùy chọn IP option gắn vào gói tin với mức độ bảo mật, nhưng không có sự mã hóa cho phần nội dung của gói tin Điều này dẫn tới việc phát triển của giao thức cleartext, phổ biến như Telnet, Rlogin và FTP
Các giao thức cleartext là trong suốt Nghĩa là dữ liệu không được mã hóa Không chỉ những người có quyền mới có thể thấy nội dung mà kể cả những
kẻ tấn công bắt gói tin trên đường truyền cũng có thể thấy được nội dung Trong thời gian ngần đây hầu hết mạng Ethernet đều cho phép chia sẻ đường truyền,
do đó tất cả gói tin đều có thể nhìn thấy trên mạng Do đó một hệ thống ở bất kì nơi đâu trên mạng có thể bắt traffic từ bất kỳ kết nối nào với hệ thống Trong giai đoạn mạng chuyển mạch, có thể phá vỡ chuyển mạch và cho phép nghe lén gói tin Tuy nhiên, khi một session cleartext được thiết lập qua một router ở biên, hoặc qua internet, traffic có thể bị tấn công để nghe lén tại rất nhiều vị trí
Tất cả lý do trên dẫn đến việc sử dụng các giao thức cleartext nên hạn chế Một số hệ thống với việc gắn các thành phần mạng như máy in, các thiết bị hội nghị, cho phép cấu hình chỉ thông qua giao thức cleartext Điều quan trọng đểbảo vệ hệ thống là phải có hệ thống password và điều khiển truy nhập hệ thống tốt Thường xuyên thay đổi password Kỹ thuật truyền thông cleartext tốt, kỹ thuậtone-time (sử dụng Kerberos hoặc password thay đổi định kỳ) có thể cải thiện việcbảo vệ Việc xác thực sử dụng password làm hệ thống an toàn hơn
Truyền thông được mã hóa
Ngày nay các phương pháp mã hoá là một tin hiệu tốt trong vấn đề bảo mật internet Từ việc mã hoá các web site thương mại điện tử hoặc những ứng dụng nhảy cảm khác Ví dụ việc sử dụng SSH thay cho các giao thức cleartext ( như telnet, Rlogin) thì an toàn nhưng IDS không đọc được nội dung gói tin
1.5.5 Virus và Worm
Virus là một đoạn mã chương trình được tạo ra mà có khả năng tự nhân bản, tương tự như sự nhân bản của sinh vật Gần đây, worm và virus phát tán mạnh:
Nếu một đoạn code có hại tự động phát tán và nhân bản sang hệ
thống khác mà không có sự can thiệp của con người, nó gọi là xâu
Trang 27 Nếu một đoạn code có hại phát tán sang hệ thống khác, nhưng cần
sự can thiệp của con người, thì nó gọi là virus
Cơ sở để phân biệt giữa xâu và virus là đoạn code có hại đó yêu
cầu thao tác để kích hoạt chúng hay chúng tự động chạy Chúng
có một số cơ chế lây nhiễm khác nhau Ví dụ, xâu Nimda có một
số cơ chế lây nhiễm:
- Cơ chế lây nhiễm kiểu virus bằng việc tìm gửi e-mail tới những địa chỉ e-mail trong hệ thống bị lây nhiễm
- Cơ chế lây nhiễm kiểu xâu bằng việc quét tài nguyên mạng được chia sẻ nhưng không được bảo vệ và tự sao tới tài nguyên đó
- Cơ chế lây nhiễm kiểu xâu bằng việc quét và lây nhiễm server IIS không được bảo vệ
- Cơ chế lây nhiếm kiểu virus bằng việc lây nhiễm những file cục
bộ và trên mạng trên hệ thống bị nhiễm virus; nó cũng chia sẻ tài nguyên mạng mà không có cơ chế bảo vệ
Một số loại virus gần đây như “I Love You” và “SoBig” được nhân bản thông qua gửi kèm e-mail Một số loại xâu như “Code Red”, “Slammer”, và
“Blaster”, chúng quét và lây lan sang hệ thống khác theo kiểu tác động chuỗi
Cho tới bây giờ, những tác hại do xâu và virus gây ra là rất lớn:
Cài đặt phần mềm back-door để điều khiển hệ thống từ xa
Cài đặt công cụ e-mail phục vụ spam
Xóa các web sites
Chỉ đạo tấn công từ chối dịch vụ nhắm tới một mục tiêu nào đó
Làm tắc nghẽn băng thông internet
Trong tương lai xâu nguy hiểm hơn bởi lý do sau:
Làm sai lệch hoặc xóa dữ liệu trên hệ thống Biện pháp tốt nhất là
thường xuyên sao lưu dữ liệu
Một số phần mềm có thể làm tồn hại phần cứng Xâu có thể làm
tăng tốc màn hình và làm hỏng nó, ghê gớm hơn là có thể xóa BIOS của hệ thống
Làm cơ sở cho việc phát triển DDOS tấn công các mục tiêu
Thúc đẩy hoạt động tình báo, bao gồm thương mại và quân sự
Trang 28 Lấy trộm thông tin cá nhân, ví dụ như số thẻ tín dụng, số thẻ phúc
lợi xã hội, hoặc thông tin cá nhân có giá trị khác
1.6 Tcpdump
Tcpdump có thể xem là IDS đầu tiên Chúng được phát triển từ năm
1991 Nó là ứng dụng hiện thị được traffic mạng Ngày nay, Các dòng sản phẩm IDS vẫn sử dụng thêm định dạng kiểu tcpdump, nó cung cấp định dạng chuẩn đểbắt và lưu trữ các traffic mạng Vì tất cả hệ thống IDS đều hỗ trợ định dạng file tcpdump, nó rất có ích khi thực hiện công nghệ IDS Một file được bắt trên
đường truyền bởi tcpdump có thể chạy với rất nhiều hệ thống IDS để đối chiếu
cơ quan chính phủ, và quân đội Những tổ chức này sử dụng hệ thống phức tạp hơn để thực hiện chức năng intrusion-detection phức tạp Sự liên kết giữa các thiết bị máy móc, các ứng dụng, các quá trình, các thành phần bao gồm quy tắc truyền thông giữa chúng, được gọi là kiến trúc Trong hầu hết các trường hợp, kiến trúc instrution-detection là một kiến trúc trong đó mọi thành phần gắn bó với nhau
Kiến trúc là một phần quan trọng trong instrution detection Một kiến trúc
có hiệu quả là kiến trúc mà các máy móc, thiết bị, thành phần, và các quá trình thực hiện tốt các vai trò và xử lý ngang hàng nhau
Phần này trình bày kiến trúc IDS xem xét từng mô hình, cách thức triển khai các server, các sensor và các agent Chức năng của các sensor, agent và các vai trò chức năng của trình quản lý console trong kiến trúc IDS
2.1 Kiến trúc hàng
Ít nhất là có ba kiểu kiến trúc xếp hàng có thể sử dụng là: single-tiered (xếp hàng đơn), multi-tiered (xếp đa hàng ), kiến trúc peer-to-peer
Trang 29Kiến trúc hàng đơn là kiến trúc cơ bản nhất Kiến trúc này là kiến trúc mà mỗi thành phần của IDS tự tập hợp và xử lý dữ liệu, mà chúng không gửi dữ liệu chúng thu được cho thành phần khác Xét một ví dụ về kiến trúc hàng đơn đó là công cụ IDS cơ sở host (NIDS) lấy dữ liệu ra từ log hệ thống (ví dụ như file utmp
và wtmp trên hệ thống Unix) và đem so sánh với mô hình tấn công đã biết
Kiến trúc hàng đơn có những thuận lợi, như đơn giản, tri phí thấp, và độc lập với các thành phần khác Tất nhiên tại cùng một thời điểm thành phần của kiến trúc hàng đơn không tương tác với các thành phần khác, làm giảm đáng kể khả năng của hệ thống phát hiện xâm nhập
2.1.2 Kiến trúc đa hàng
Trong kiến trúc đa hàng các thành phần có liên kết chặt chẽ với nhau và chúng lưu chuyển thông tin cho nhau Ngày nay các hệ thống IDS bao gồm ba thành phần chính đó là: Sensor, analyzer hoặc agent, và manager (Thành phần quản lý)
Sensor có chức năng thu thập dữ liệu Ví dụ, sensor thường là các
chương trình bắt dữ liệu gói tin trên mạng Sensor cũng có khả năng tập hợp dữ liệu từ file logs hệ thống và các nguồn dữ liệu khác như từ firewal và TCP
wrapper
Sensor chuyển dữ liệu tới các agent (đôi khi còn gọi là analyzer), agent giám sát các hành động xâm nhập vào các host trên hệ thống Cần phải cấu hìnhcho mỗi sensor và agent để chúng có thể chạy trên mỗi một môi trường cụ thể Agent được chỉ định để thực hiện một chức năng chuyên dụng Ví dụ, một agent
sẽ giám sát TCP traffic, trong khi đó một agent khác chỉ giám sát kết nối FTP Ngoài ra, agent thứ ba dò vết kết nối
Khi một agent xác định có một cuộc tấn công đã xảy ra hoặc đang xảy ra,
nó gửi thông báo tới thành phần quản lý, Thành phần này có thể thực hiện một
số chức năng sau:
Tập hợp và hiện thị cảnh báo ở chế độ console
Gửi tin nhắn hoặc gọi
Lưu thông tin của cuộc tấn công này vào trong cơ sở dữ liệu
Lấy ra những thông tin liên quan đễn việc tấn công đó
Gửi thông tin tới host chỉ thị ngừng thực hiện
Gửi lệnh tới firewall hoặc router thay đổi danh sách điểu khiển truy
nhập
Cung cấp chế độ console quản lý- người dùng có thể tương tác với
các thành phần quản lý
Trang 30Một trung tâm quản lý làm giảm nhẹ việc phân tích file logs bởi vì tất cả thông tin log đều được lưu tại cùng một vị trí Hơn nữa, Trung tâm này tạo dữ liệu log cho các hệ thống khác; Nếu kẻ tấn công can thiệp vào hoặc xóa dữ liệu log trên hệ thống này, thì vẫn còn một bản sao dữ liệu được lưu trên server trungtâm Cuối cùng là thành phần quản lý cho phép xóa các file log và thực hiện các chức năng quan trọng khác mà không cần xác minh của các sensor, agent, và hệthống remote, management console có thể cho phép các tác vụ intrusion-
detection thay đổi các thông số và các chính sách
Lợi thế của kiến trúc đa hàng là khả năng phân tích sâu và có hiệu quả cao hơn Với mỗi thành phần trong kiến trúc này thực hiện chức năng như thiết
kế đưa ra, hầu như là độc lập với các thành phần khác Nó có thể đưa ra một bức tranh hoản chỉnh hơn tình trạng anh ninh mạng của tổ chức sử dụng nó Nhưng bên cạnh đó nó làm tăng chi phi và độ phức tạp của hệ thống, như nhiều phương thức truyền thông, giao diện, thành phần làm cho khó thiết lập hơn và tăng chi phí bảo dưỡng, chi phí xử lý sự cố hơn
2.1.3 Kiến trúc ngang hàng
Trong khi kiến trúc đa hàng lấy thông tin thô và xử lý chúng, và sau đó gửioutput đến thành phần có thứ tự cao hơn, kiến trúc peer-to-peer liên quan đến việc trao đổi thông tin phát hiện xâm nhập giữa các thành phần, mỗi thành phần thực hiện các chức năng tương tự nhau Kiến trúc peer-to-peer có sự hợp tác giữa các firewall Một firewall thu nhận thông tin về các sự kiện mà nó đang sảy
ra, và gửi thông tin này đến cái khác, nó có thể thay đổi danh sách điều khiển truy nhập thêm các hạn chế đối với kết nối Firewall thứ hai cũng có thể gửi thông tin thay đổi ở trên
Lợi thế chính của kiến trúc peer-to-peer là tính đơn giản Nhưng yếu điểm
là thiếu các chức năng phức tạp bởi vì nó không có thành phần chuyên dụng
Kiến trúc peer-to-peer rất phù hợp với các tổ chức đầu tư cho việc phát triển và sử dụng firewall ngang hàng, nhưng không muốn đầu tư cho IDS
2.2 Sensors
Sensor là thành phần quan trọng trong kiến trúc hệ thống IDS Chúng là điểm đầu của quá trình phát hiện xâm nhập bởi vì chúng cung cấp dữ liệu ban đầu về hành động tấn công Việc đi sâu vào phân tích chức năng, sự triển khai,
và an ninh sẽ cho ta biết chính xác sensor là cái gì và cách thức hoạt động của chúng
2.2.1.Chức năng của sensor
Trang 31Thông qua việc xem xét kiến trúc IDS, ta thấy rằng sensor là thành phần thấp nhất Hay nói cách khác sensor không có những chức năng phức tạp
Chúng được tạo ra chỉ để thu nhận dữ liệu và gửi chúng đi Có 2 loại sensor chính: sensor nền mạng và sensor nền host
2.2.1.1 Sensors nền mạng
Sensor nền mạng là chương trình hoặc thiết bị mạng (thiết bị vật lý) nó thực hiện bắt gói tin đi ngang qua Ethernet cục bộ hoặc token ring hoặc điểm chuyển mạch mạng Một trong những lợi thế nhất của sensor nền mạng là số host mà chúng cung cấp dữ liệu Trường hợp cuối cùng, một sensor có thể giám sát tất cả các traffic đi vào hoặc đi ra khỏi mạng Nếu như một mạng có hàng ngàn host, sensor này có thể dữ liệu bất bình thường Cách tiếp cận này sinh lợi nhuận rất lớn Hơn nữa, nếu cấu hình hợp lý, sensor không phải là gánh nặng của mạng, đặc biệt nếu có 2 giao diện mạng- một để giám sát và một để quản lý Giao diện giám sát không có bất cứ stack TCP/IP, nó không có bất kỳ liên kết tới bất kỳ địa chỉ IP, cả hai tạo nên một thực thể hoàn toàn trong suốt trên mạng
Chương trình mà IDS sử dụng như sensor là tcpdump và libpcap Nói tómlại, tcpdump (www.tcpdump.org) bắt gói tin và in header gói tin và thực hiện so sánh biểu thức cụ thể Những tham số gói tin rất có tác dụng trong việc phát hiệnxâm nhập như thời gian, địa chỉ nguồn địa chỉ đích, port nguồn port đích, TCP flags, số sequence ban đầu từ IP nguồn khởi đầu kết nối, số sequence kết thúc kết nối, số byte và kích thước window
Libpcap là thư viện được gọi bởi ứng dụng Libpcap(
http://sourceforge.net/projects/libpcap ) tạo ra để bắt gói tin từ nhân của hệ điều hành và gửi chúng tới một hoặc một số ứng dụng- trong trường hợp này là tới ứng dụng phát hiện xâm nhập Ví dụ card Ethernet có thể bắt gói tin
Một số sensor khác cũng được sử dụng Ví dụ một số nhà cung cấp IDS phát triển sensor mang tính độc quyền của riêng họ Những sensor này có nhiều chức năng hơn tcpdump và libpcap có
kẻ nào đó chiếm lấy quyển root trên hệ thống Unix có thể đây là một tấn công chiếm quyền root
2.2.2 Triển khai sensor
Trang 32Sensor có thể đặt bên ngoài firewall hoặc bên trong hoặc cả hai Sensor bên ngoài firewall lưu lại thông tin về cuộc tấn công.
Web server, FTP server, DNS server, và mail server thường được đặt bên ngoài firewall làm cho chúng dễ bị tấn công hơn Đặt server bên ngoài mạng
là dễ bị tấn công hơn, Đặt ít nhất một sensor nền mạng là một ý tưởng hay trong một hoặc nhiều vùng phi quân sự (DMZ )
Hình 1.6 Triển khai sensor với một DMZ
Cài đặt sensor nền host (host-based sensor) làm cho việc phân tích chínhxác, vì tất cả dữ liệu thu thập bởi mỗi sensor là từ mỗi một host cụ thể, bởi vì dữ liệu cần chỉ rõ host nhận Trái ngược với sensor đặt tại các điểm trung gian trong mạng chúng ghi lại dữ liệu về traffic mà có thể hoặc không có thể đi tới host đó Hơn nữa sensor nền host phù hợp với việc cung cấp thông tin về cuộc tấn công trong nội bộ mạng
Mặc dù sensor nền mạng thu thập dữ liệu trên đơn vị rộng, bao phủ rất nhiều host, nhưng chúng cũng có những hạn chế
Mối quan tâm chính là tỷ lệ thông lượng Một sensor có thể nhận rất nhiều
dữ liệu vào và đơn giản là chúng không có thể lưu dữ chúng Một số loại sensor khó có thể điều khiển lượng thông lượng lớn hơn 350-400Mbps, một số gặp khó
Trang 33khăn khi tỷ lệ dữ liệu vào là thấp Một sensor có thể loại bỏ gói tin vượt quá giới hạn Các sensor quá tải chiếm dụng tài nguyên của máy và điều này là không tốt.
Mức độ càng phức tạp hơn đối với traffic mạng được mã hóa Giải pháp phổ biến sử dụng là đặt sensor lại điểm mà traffic mạng chưa được mã hóa
Việc bắt gói tin trong mạng chuyển mạch là vấn đề không đơn giản, nhưng để thực hiện được nó được miêu tả ở một lần khác Nếu chúng ta muốn biết thêm thông tin về vấn đề này Có thể vào: www.newriders.com
Giải pháp cho vấn đề băng thông là cài đặt bộ lọc nó giới hạn loại gói tin
mà sensor có thể nhận Theo kinh nghiệm của chúng tôi, Tất cả giao thức (TCP, UDP, và ICMP), TCP là giao thức quan trọng nhất bởi vì nó liên đới tới rất nhiều cuộc tấn công Hoặc có thể đưa ra lựa chọn phân tích traffic TCP, UDP, ICMP Giải pháp này chưa phải là giải pháp tối ưu bởi vì chúng có thể mất dữ liệu quan trọng
Một mở rộng của chiến lược này là cài đặt bộ lọc chỉ chấp nhận traffic TCP trên một vài sensor, và cài đặt bộ lọc chỉ chấp nhận traffic UDP trên các sensor khác, và tương tự cho ICMP khác Sensor có thể đặt xa các điểm có lưu lượng lớn như gateway Như hình sau:
Trang 34Hình 1.7 Triển khai sensor trong thiết bị ngoại vi
Lai giứa hai cách tiếp cận các sensor nền mạng đặt cả ở bên ngoài gateway và cả ở điểm giữa gateway và subnet Như hình sau:
Firewall
Sensor SensorSensor
Sensor
Hình 1.8 Kết hợp 2 phương phát triển khai sensor
2.2.3 Đảm bảo an toàn Sensor
Xem xét tính bảo mật của sensor là một trong ba thành phần chính của kiến trúc đa tầng, trong đó sensor là thành phần bị tấn công nhiều nhất
Sensor mức thấp nhất chỉ thực hiện bắt traffic mạng, Trong trường hợp xấu nhất, kẻ tấn công tấn công sensor và chèn dữ liệu xấu và gửi đến client hoặc là nguyên nhân gây lên tấn công từ chối dịch vụ Tuy nhiên, sensor mức cao được thêm các chính sách vì vậy thực hiện xử lý dữ liệu trước sau đó gửi cho agent, Một trường hợp xấu nhất là toàn bộ hệ thống IDS có thể bị phá hủy Những thành phần khác của hệ thống có thể bị tấn công bởi vì sensor này đã bị
kẻ tấn công chiếm quyền điều khiển Sự phụ thuộc giữa hệ thống và thiết bị có thể là nguyên nhân kẻ tấn công chiếm quyền truy nhập vào thành phần (trong trường hợp này là sensor) do đó chiếm quyền truy nhập vào các thành phần khác Sensor có thể chứa thông tin liên quan cấu hình của hệ thống khác Chúng
Trang 35host nơi các sensor cài đặt Lý tưởng mỗi thành phần trong kiến trúc đa tầng độc lập với các thành phần khác, nhưng thực tế không phải là vậy.
Điều cốt yếu là sensor phải có lớp bảo vệ Ít nhất, host (cài đặt sensor) cần thắt chặt quyền, giới hạn quyền truy nhập tới hệ thống, cài đặt bản vá lỗi, vv Mỗi sensor nên được đặt ở những nơi cần thiết, nhưng tốt nhất đặt sau tường lửa, bởi vì ít nhất ngăn chặn được một số tấn công từ internet
Hơn nữa, phải thông báo ngay khi sensor bị lỗi Việc một hoặc hai sensor
bị hỏng làm giảm khả năng bảo vệ hệ thống, nhưng nếu nhiều sensor bị hỏng thì gây hậu quả rất xấu nếu như hoạt động của tổ chức phụ thuộc vào hệ thống pháthiện xâm nhập Hệ thống IDS luôn thường xuyên tiếp xúc với tất cả sensor để phát hiện sensor hỏng đây là chú ý quan trọng
Kênh truyền thông giữa các sensor và các thành phần khác phải đảm bảotin cậy Ngăn chặn truyền thông giữa các sensor và các thành phần khác có thể dẫn đến những hậu quả không mong muốn, kẻ tấn công tìm ra thông tin cá nhân nếu thông tin cá nhân có trong gói tin mà sensor bắt lấy Xác thực và mã hóa kênh giữa các sensor và các thành phần khác là giải pháp hợp lý cho vấn đề này
2.3 Agent
Agent là phần tử tiếp theo của hệ thống phát hiện xâm nhập, Trong phần này chúng ta xem xét chức năng, triển khai agent và những vấn đề về bảo mật liên quan đến Agent
2.3.1 Chức năng của Agent
Agent là phần tử mới trong hệ thống phát hiện xâm nhập, chúng được phát triển vào giữa thập kỉ 90 Chức năng chính của chúng là phân tích dữ liệu gửi từ sensor Agent là một tập các xử lý chúng chạy độc lập và chúng được lập trình để phân tích hoạt động hệ thống hoặc sự kiện mạng để phát hiện hành động bất thường và những vi phạm chính sách bảo mật của một tổ chức Agent
là phần tử thực hiện các chức năng chuyên biệt nhất Một số Agent kiểm tra traffic mạng và sự kiện trên host, như kiểm tra kết nối TCP có xảy ra hay không, thời gian bắt đầu kết nối và kết thúc kết nối, và có nhiều dữ liệu không hoặc dịch
vụ nào bị tấn công Một số agent có thể đánh giá diện mạo của giao thức lớp mạng như FTP, TFTP, HTTP, và SMTP cũng như phiên xác thực để xác định dữ liệu gói tin có liên quan đến kiểu tấn công đã biết hay không Một số chỉ thực hiệngiám sát hoạt động của hệ thống Agent hoạt động độc lập Có nghĩa là nếu một agent nào đó bị tấn công, các gent còn lại vẫn hoạt động bình thường (tất nhiên
hệ thống không hoạt động hiệu suất trước đó được) Vì vậy hệ thống phát hiện xâm nhập có thể thêm hoặc bớt các agent nếu cần Trên thực tế một hệ thống phát hiện xâm nhập nhỏ, có lẽ chỉ có một vài agent được triển khai
Trang 36Mặc dù các agent là hoạt động độc lập với nhau, tuy nhiên các agent thường kết hợp với nhau Mỗi Agent có thể nhận và phân tích chỉ một phần dữ liệu của hệ thống, mạng, hoặc thiết bị Các Agent chia sẻ thông tin mà chúng thu được với mối Agent khác bằng một giao thức truyền thông đặc biệt Khi một Agent phát hiện ra một hành động trái phép (như chiếm lấy quyền root, hoặc làm tràn gói tin trên mạng), thì ngay lập tức agent đó gửi thông báo tới tất cả các agent còn lại Thông tin mới này kết hợp với thông tin đã có của agent khác đưa
ra thông tin về một cuộc tấn công đã xảy ra trên một host khác
Đôi khi Agent tạo cảnh báo sai, vì vậy ở mức độ nào đó dẫn tới hoạt độngsai của các agent khác Những kẻ trục lợi dựa vào nhược điểm này kết hợp với với tạo cảnh báo sai phát tán toàn bộ hệ thống Tuy nhiên, hệ thống phát hiện xâm nhập tốt có thể kiểm tra agent tạo ra cảnh báo sai, và có can thiệp kịp thời
Ưu và nhược điểm của Agent:
Ưu điểm:
Khả năng thích nghi: có một số agent nhỏ và chúng có thể thích
ứng nhanh nhu cầu cần thiết, bản thân chúng có thể tự thay đổi phù hợp tấn công
Hiệu suất cao: thi hành các agent là tương đỗi đơn giản vì vậy
chúng có hiệu suất cao hơn khi mỗi agent đều hỗ trợ tất cả các chức năng
Có khả năng phục hồi: các agent duy trì trạng thái hoạt động tôt
nếu như một số trong chúng bị tân công
Hoạt động độc lập: các agent hoạt động độc lập, nếu hệ thông có
mất một hoặc 2 agent thì các agent còn lại không bị ảnh hưởng
Phù hợp nhiều mô hình IDS: các Agent phù hợp với việc triển khai
cả hệ thống phát hiện xâm nhập lớn và cả hệ thống phát hiện xâm nhập nhỏ
Dễ chuyển đổi: agent có thể di chuyển từ hệ thống này san hệ
Trang 37 Một agent đơn giản nhất có các thành phần và chức năng sau:
Giao diện truyền thông: để truyền thông với các thành phần khác
của hệ thống phát hiện xâm nhập
Thành phần nghe: chúng đợi và nhận dữ liệu từ sensor và thông
báo từ các agent khác
Thành phần gửi: chúng gửi dữ liệu và thông báo tới thành phần
khác, như các agent khac và các thành phần quản lý
2.3.2 Triển khai Agent
Triển khai agent cũng đơn giản như việc triển khai sensor Mỗi agent cấu hình phù hợp với từng môi trường hoạt động Trong hệ thống phát hiện xâm nhập nền tẩng host, mỗi agent giám sát một host, đôi khi các sensor trên các host gửi dữ liệu đến một hoặc một số agent trung tâm Việc lựa chọn host để giám sát là quyết định quan trọng trong việc sắp xếp các agent Hầu hết các tổ chức sử dụng hệ thống phát hiện xâm nhập đểu chọn mô hình host “chóp ngọc”, các server là trung tâm của hệ thống Một số tổ chức chọn một vài host phân tán
Trong hệ thống phát hiện xâm nhập dựa trên nền tảng mạng, agent đặt 2
vị trí:
Đặt nơi có hiệu quả nhất Hiệu qủa là một phần trong chính sách
mạng nơi đặt các kết nối tới sensor và các thành phần khác Càng
có nhiều sensor và agent thì hiệu quả càng cao
Đặt ở nơi có mức độ an toàn nhất Mức độ an toàn cho các agent
là rất quan trọng, vì vậy cần phải đặt các agent tại vùng an toàn trong mạng, hoặc ít nhất cũng phải đặt sau một số firewall
2.3.3 Đảm bảo an toàn Agent
Agent bị tấn công thì rất nghiêm trọng bởi vì agent là phẩn tử thông minh hơn sensor và nếu một agent bị tấn công thì kẻ tấn công không những có thể dừng hoặc phá hoại phân tích mà agent đang thực hiện mà chúng còn có thể lấy cắp thông tin xác thực phục vụ tấn công các thành phần khác trong hệ thông IDS Do đó các agent cần phải xem xét đến tính an toàn
May mắn thay, các thức triển khai agent tạo ra một mức bảo vệ chống lại các tấn công Agent (đặc biệt trong hệ thống IDS nền tảng mạng) được phân bổ khắp nơi trong mạng Do đó mỗi Agent cần phải phát hiện ra vị trí thì sau đó mới
có thể bị tấn công Điều này làm tăng công việc để tấn công Agent Chức năng
đa dạng của agent làm tăng thêm độ an toàn Hơn nữa, các agent có khả năng di
Trang 38Tuy nhiên, agent cần phải được bảo vệ bằng cách như bảo vệ các
sensor, tạo nền tảng vững chắc, đảm bảo chắc chắn rằng chúng chỉ có thể truy nhập với người có quyền Sau đây là vài hướng quy tắc:
Dựa trên nền tảng phần cứng tốt Khi nền tảng phần cứng tốt thì
các agent hoạt động tốt hơn Kẻ tấn công có thể truy nhập vào nềntảng và thông qua đó chiêm quyền điểu khiển tất cả các agent
Mã hóa các traffic: bởi vì giữ an toàn agent là rất quan trọng, vì vậy
tất cả các traffic giữa các agent cần được mã hóa và giữa các agent và các thành phần khác cũng cần phải được mã hóa
Lọc dữ liệu vào: Thêm điều này, tránh nguy cơ tấn công từ chối
dịch vụ, bộ lọc ngăn dữ liệu lặp đi lặp lại và thừa
Data Management Quản lí dữ liệu
IDS có thể tập hợp được một khối lượng dữ liệu khổng lồ Một cách xử lí lượng dữ liệu này là nén (lưu giữ trong đĩa), lưu dữ liệu và sau đó dọn dẹp định kì.Tuy nhiên trong một số trường hợp chiến lược này không được hoàn hảo lắm
vì thường cần phải có dữ liệu trực tuyến hơn là dữ liệu được lưu trữ để thực hiệnnhững phân tích cần thiết đang diễn ra Ví dụ chúng ta có thể nhận ra hoạt động khả nghi từ một máy chủ nội bộ đặc biệt và muốn biết xem trong vài tháng gần đây có hoạt động nào tương tự như vậy không.Tìm đến khu trung tâm chứa dữ liệu thích hợp hơn là phải tìm phương tiện chứa dữ liệu và phục hồi dữ liệu cho một hoặc nhiều hệ thống
Tất nhiên điều đáng quan tâm chính là phải có không gian đĩa đầy đủ cho mục đích quản lí Một giải pháp tốt là RAID(Redundant Array of Inexpensive Disks), mà ghi dữ liệu trên nhiều đĩa và cung cấp dự phòng trong trường hợp
Trang 39một đĩa nào đó bị hỏng Một sự lựa chọn khác là phương tiện lưu trữ quang học, như là đĩa worm(mặc dù việc thực thi là một vấn đề).
Thành phần quản lí của một IDS cũng sẽ tổ chức dữ liệu được lưu trữ một cách lí tưởng Một cơ sở dữ liệu quan hệ, như là Oracle hay Sysbase, rất phù hợp cho mục đích này Ngay khi một cơ sở dữ liệu được thiết kế và thực thi,
dữ liệu mới có thể được thêm vào khoảng trống và truy vấn lại cơ sở dữ liệu
Alerting- Cảnh báo
Chức năng quan trọng khác mà thành phần quản lí có thể thực hiện là tạo
ra các lệnh báo động bất cứ khi nào xảy ra các sự kiện gây ra mức độ đe doạ cao (ví dụ như sự thoả hiệp của 1 mạch điều khiển phạm vi Windows hoặc 1 máychủ chính dịch vụ thông tin mạng hoặc của 1 thiết bị mạng tới hạn như là router) Các agent được thiết kế để cung cấp khả năng phát hiện nhưng các agent
thường không dính dáng đến việc cảnh báo vì làm như vậy từ máy chủ trung tâmthì hiệu quả hơn Thay vào đó các agent thưòng gửi thông tin đến 1 máy chủ trung tâm, máy chủ đó gửi cảnh báo bất cứ khi nào gặp các điều kiện được xác định trước Điều này đòi hỏi máy chủ không chỉ lưu trữ các địa chỉ của những người điều hành cần được thông báo mà còn phải có một cơ chế cảnh báo
Các cảnh báo thường được gửi qua e-mail hoặc Unix syslog facility Nếu gửi qua e-mail thì nội dung thư nên được mã hoá bằng cách sử dụng PGP
(Pretty Good Privacy) hay một số hình thức mã hoá thư tín Những người tấn công phát hiện ra nội dung của thư liên quan đến sự xâm nhập được phát hiện hoặc những địa chỉ IP không liên quan có thể điều chỉnh các chiến lược của họ ( ví dụ như sử dụng một địa chỉ IP nguồn khác nếu địa chỉ mà họ đang sử dụng
bị chặn) bằng cách đó sẽ tăng hiệu quả của chúng Lợi ích chính của syslog
facility là tính linh hoạt – syslog có thể gửi các thư tín về hầu như bất cứ thứ gì
cho hầu hết mọi người nếu được yêu cầu Tuy nhiên mã hoá nội dung syslog là một thử thách lớn hơn nhiều so với việc mã hóa nội dung thư điện tử May thay một dự án trong tương lai có tên là syslog-ng đôi khi sẽ cung cấp những giải pháp mã hóa cho lưu lượng thông tin được truyền liên quan đến syslog Hơn nữa máy chủ syslog sẽ lưu giữ các lệnh cảnh báo đã được đưa ra trong trường hợp có ai đó cần kiểm tra nội dung của các cảnh báo trước
Event Correlation Liên kết sự kiện
Chức năng vô cùng quan trọng khác của thành phần quản lí là liên kết các sự kiện đã xảy ra để quyết định xem chúng có cùng một nguồn gốc không, xem chúng có phải là một phần của chuỗi những tấn công không, v.v… Việc liênkết sự kiện là rất quan trọng
High-Level Analysis Phân tích ở cấp độ cao
Chức năng khác mà thành phần quản lí còn có thể thực hiện là sự phân tích ở mức độ cao những sự kiện mà công cụ phát hiện xâm nhập hoặc phòng
Trang 40chống xâm nhập phát hiện ra Ví dụ, thành phần quản lí có thể theo dõi quá trình của mỗi tấn công từ giai đoạn này sang giai đoạn khác, bắt đầu bằng giai đoạn chuẩn bị (doorknob rattling) Hơn nữa thành phần này có thể phân tích nguy cơ
đe doạ mà mỗi sự kiện gây ra, gửi thông báo cho chức năng tạo lệnh cảnh báo bất cứ khi nào nguy cơ đe doạ đạt đến 1 giá trị đã được định rõ nhất định Đôi khi
sự phân tích ở cấp độ cao được thực hiện bởi mạng nơron hay hệ chuyên gia tìm kiếm các mô hình trong một lượng lớn các dữ liệu
Monitoring Other Components Kiểm tra các thành phần khác
Trong phần này chúng ta đã thấy rằng có 1 thành phần kiểm tra để kiểm tra tình trạng của các biến cảm và các agent là rất quan trọng Người quản trị là một thành phần lí tưởng để đặt chức năng này trong đó vì chức năng này có hiệuquả nhất nếu tập trung vào nó
Ví dụ như người quản trị có thể gửi các gói tin cho mỗi biến cảm và agent
để xác định xem mỗi biến cảm và agent đó có đáp lại để nhập dữ liệu không Nhưng hay hơn là người quản trị có thể đề xướng các kết nối cho mỗi biến cảm
và agent để xác định xem mỗi biến cảm và agent đó có lên và hoạt động không Nếu thành phần quản lí xác định có một thành phần nào đó đã hỏng, nó có thể thông báo khả năng cảnh báo của nó để đưa ra cảnh báo
Trong việc phát hiện xâm nhập căn cứ vào máy chủ, người quản trị có thểkiểm tra mỗi máy chủ để đảm bảo rằng việc ghi và kiểm tra đang hoạt động một cách chính xác Thành phần quản lí cũng có thể theo dõi việc sử dụng tài nguyên
hệ thống và mạng, đưa ra một cảnh báo nếu bất kì hệ thống hay phần nào của mạng bị áp đảo
Policy Generation and Distribution Đưa ra và phân phối chính sách
Chức năng khác thưòng được gắn vào thành phần quản lí là sự đưa ra
và phân phối chính sách Xét trong bối cảnh của thành phần quản lí, chính sách
chỉ những sắp đặt có tác động đến cách hoạt động của các thành phần khác nhau của hệ thống phát hiện xâm nhập hoặc phòng chống xâm nhập Ví dụ 1 chính sách có thể được thiết lập để kích hoạt tất cả các agent hoặc để di chuyển
1 agent từ máy này sang máy khác
Không có nơi nào chính sách quan trọng hơn ở IPSs Dựa trên dữ liệu
mà thành phần quản lí nhận được, thành phần quản lí tạo ra và sau đó phân phối
1 chính sách hay 1 sự thay đổi về chính sách đến các máy chủ riêng biệt Chính sách có thể ra lệnh cho mỗi máy chủ không chấp nhận nhập dữ liệu cho một địa chỉ IP cụ thể hoặc không thực hiện 1 yêu cầu hệ thống cụ thể Thông thường hành phần quản lí phụ trách việc tạo chính sách, cập nhật và làm cho nó có hiệu quả