- Cung cấp thông tin về sự xâm nhập, đưa ra những chính sách đối phó, khôiphục, sửa chữa… Ngoài ra hệ thống phát hiện xâm nhập IDS còn có chức năng: - Ngăn chặn sự gia tăng của những tấn
Trang 1LỜI MỞ ĐẦU
1 Lý do chọn đề tài
An ninh thông tin nói chung và an ninh mạng nói riêng đang là vấn đềđược quan tâm không chỉ ở Việt Nam mà trên toàn thế giới Cùng với sự phát triểnnhanh chóng của mạng Internet, việc đảm bảo an ninh cho các hệ thống thông tincàng trở nên cấp thiết hơn bao giờ hết
Trong lĩnh vực an ninh mạng, phát hiện và phòng chống tấn công xâmnhập cho các mạng máy tính là một đề tài hay, thu hút được sự chú ý của nhiều nhànghiên cứu với nhiều hướng nghiên cứu khác nhau Trong xu hướng đó, khóa luậntốt nghiệp này em mong muốn có thể tìm hiểu, nghiên cứu về phát hiện và phòngchống xâm nhập mạng với mục đích nắm bắt được các giải pháp, các kỹ thuật tiêntiến để chuẩn bị tốt cho hành trang của mình sau khi ra trường
2 Mục tiêu và nhiệm vụ
- Tìm hiểu, tổng hợp và phân tích những vấn đề liên quan đến hệ thống dòtìm và phát hiện xâm nhập IDS
- Tìm hiểu và nghiên cứu các vấn đề liên quan đến chương trình snort
- Tìm hiểu hệ điều hành Linux
- Tìm hiểu phương pháp và triển khai thử nghiệm cài đặt Snort HIDS trên hệlinux
- Đưa ra một số nhận định và hướng phát triển đề tài
3 Đối tượng và phạm vi nghiên cứu
- Hệ thống dò tìm và phát hiện xâm nhập IDS
- Hệ thống HIDS Snort
- Xây dựng hệ thống snort IDS trên linux
4 Phương pháp nghiên cứu
Đề tài sử dụng các phương pháp nghiên cứu sau :
- Tổng hợp các kết quả nghiên cứu từ các tư liệu liên quan
- Phân tích đánh giá phương pháp và đưa ra các giải pháp lựa chọn
- Xây dựng thử nghiệm mô hình ứng dụng
Trang 25 Bố cục của đề tài
Đề tài chia làm 3 chương:
Chương I TỔNG QUAN VỀ HỆ THỐNG IDS
Tổng hợp, nghiên cứu và phân tích những nội dung về hệ thống dò tìm vàphát hiện xâm nhập-IDS, như về khái niệm, lịch sử phát triển, phân loại, các hoạtđộng…
Chương II HỆ THỐNG SNORT
Giới thiệu tổng quan về hệ thống Snort, bao gồm: các khái niệm, nguyên
lý hoạt động, các thành phần, bộ luật của snort…
Chương II TRIỂN KHAI HỆ THỐNG SNORT
Triển khai hệ thống snort trên linux, tùy chọn hệ thống và kiểm thử kếtquả
Trang 3CHƯƠNG I
TỔNG QUAN VỀ HỆ THỐNG IDS (Intrusion Detection System)
1.1 TỔNG QUAN VỀ IDS
1.1.1 Định nghĩa hệ thống phát hiện xâm nhập – IDS
IDS (Intrusion Detection System- hệ thống phát hiện xâm nhập) là một hệ
thống giám sát lưu thông mạng, các hoạt động khả nghi và cảnh báo cho hệ thống,nhà quản trị
IDS cũng có thể phân biệt giữa những tấn công bên trong từ bên trong (từnhững người trong công ty) hay tấn công từ bên ngoài (từ các hacker) IDS pháthiện dựa trên các dấu hiệu đặc biệt về các nguy cơ đã biết (giống như cách các phầnmềm diệt virus dựa vào các dấu hiệu đặc biệt để phát hiện và diệt virus) hay dựatrên so sánh lưu thông mạng hiện tại với baseline (thông số đo đạc chuẩn của hệthống) để tìm ra các dấu hiệu khác thường
1.1.2 Lịch sử ra đời và phát triển
Cách đây khoảng 25 năm, khái niệm phát hiện xâm nhập xuất hiện qua mộtbài báo của James Anderson Khi đó người ta cần IDS với mục đích là dò tìm vànghiên cứu các hành vi bất thường và thái độ của người sử dụng trong mạng, pháthiện ra các việc làm dụng đặc quyền để giám sát tài sản hệ thống mạng Các nghiêncứu về hệ thống phát hiện xâm nhập được nghiên cứu chính thức từ năm 1983 đếnnăm 1988 trước khi được sử dụng tại mạng máy tính của không lực Hoa Kỳ Chođến tận năm 1996, các khái niệm IDS vẫn chưa được phổ biến, một số hệ thống IDSchỉ được xuất hiện trong các phòng thí nghiệm và viện nghiên cứu Tuy nhiên trongthời gian này, một số công nghệ IDS bắt đầu phát triển dựa trên sự bùng nổ củacông nghệ thông tin Đến năm 1997 IDS mới được biết đến rộng rãi và thực sự đemlại lợi nhuận với sự đi đầu của công ty ISS, một năm sau đó, Cisco nhận ra tầmquan trọng của IDS và đã mua lại một công ty cung cấp giải pháp IDS tên là Wheel
Hiện tại, các thống kê cho thấy IDS/IPS đang là một trong các công nghệ anninh được sử dụng nhiều nhất và vẫn còn phát triển
Trang 4Vào năm 2003, Gartner- một công ty hàng đầu trong lĩnh vực nghiên cứu vàphân tích thị trường công nghệ thông tin trên toàn cầu- đã đưa ra một dự đoán gâychấn động trong lĩnh vực an toàn thông tin : “Hệ thống phát hiện xâm nhập (IDS) sẽkhông còn nữa vào năm 2005” Phát biểu này của xuất phát từ một số kết quả phântích và đánh giá cho thấy hệ thống IDS khi đó đang đối mặt với các vấn đề sau:
- IDS thường xuyên đưa ra rất nhiều báo động giả ( False Positives)
- Là gánh nặng cho quản trị an ninh hệ thống bởi nó cần được theo dõi liên tục(24 giờ trong suốt cả 365 ngày của năm)
- Kèm theo các cảnh báo tấn công là một quy trình xử lý an ninh rất vất vả
- Không có khả năng theo dõi các luồng dữ liệu được truyền với tốc độ lớn hơn
600 Megabit trên giây
Nhìn chung Gartner đưa ra nhận xét này dựa trên nhiều phản ánh của nhữngkhách hàng đang sử dụng IDS rằng quản trị và vận hành hệ thống IDS là rất khókhăn, tốn kém và không đem lại hiệu quả tương xứng so với đầu tư
Sau khi phát biểu này được đưa ra, một số ý kiến phản đối cho rằng, việc hệthống IDS không đem lại hiệu quả như mong muốn là do các vấn đề còn tồn tạitrong việc quản lý và vận hành chứ không phải do bản chất công nghệ kiểm soát vàphân tích gói tin của IDS Cụ thể, để cho một hệ thống IDS hoạt động hiệu quả, vaitrò của các công cụ, con người quản trị là rất quan trọng, cần phải đáp ứng được cáctiêu chí sau:
- Thu thập và đánh giá tương quan tất cả các sự kiện an ninh được phát hiện bởicác IDS, tường lửa để tránh các báo động giả
- Các thành phần quản trị phải tự động hoạt động và phân tích
- Kết hợp với các biện pháp ngăn chặn tự động
Kết quả là tới năm 2005, thế hệ sau của IDS-hệ thống tự động phát hiện vàngăn chặn xâm nhập IPS- đã dần khắc phục được các mặt còn hạn chế của IDS vàhoạt động hiệu quả hơn nhiều so với thế hệ trước đó
1.1.3 Các thống kê về IDS
- Trên 90% các mạng được kết nối đang sử dụng IDS để phát hiện lỗ hổng bảomật máy tính
Trang 5- 4/7/02, Viện An ninh máy tính đã báo cáo có đến 80% thiệt hại tài chính vượtqua 455 triệu đôla bị gây ra bởi sự xâm nhập và mã nguy hiểm
- Hàng triệu công việc bị ảnh hưởng do sự xâm nhập
- Chỉ có 0,1% các công ty đang chi phí một khoản thích hợp đối với IDS
- IDS hầu như không được biết đến và được nghĩ như một sản phẩm tường lửahoặc một thành phần thay thế
- Nếu sử dụng một phần mềm chống virus thì bạn phải xem xét đến việc bổ sungthêm một IDS cho chiến lược bảo mật của mình Hầu hết các tổ chức sử dụng phầnmềm chống virus không sử dụng IDS
IDS là một công cụ chủ yếu đóng góp vào bộ bảo mật như tường lửa hoặcphần mềm chống virus Các công cụ đó sẽ không có hiệu quả nếu được sử dụngtách biệt nhau Chính vì vậy chúng ta cần kết hợp các công nghệ tin cậy và kiểm trachặt chẽ, bảo đảm rằng ứng dụng IDS được sử dụng cho tổ chức của bạn giống nhưviệc mặc quần áo được may đo một cách tỉ mỉ
Nhiều chuyên gia bảo mh ật mạng biết rằng tường lửa là một thành phần cơbản đối với kế hoạch bảo mật toàn diện Họ cũng nhận thấy rằng IDS là một sảnphẩm bổ sung hữu hiệu để thực hiện tốt được chiến lược bảo mật của công ty.Nhưng những gì mà các chuyên gia bảo mật không nhận thấy được đó là loại IDSnào phù hợp với tổ chức của họ nhất
Những kẻ xâm nhập có khả năng thích ứng và sau khi hiểu rằng có một IDSmạng chúng sẽ sớm tìm kiếm đường đi khác để có thể băng qua được các hệ thốngIDS mạng Với các hệ thống cảnh báo, không có cảnh báo nào có thể ngăn chặnđược kẻ xâm nhập đột nhập vào hệ thống của bạn, một cảnh báo thường chỉ thôngbáo cho người sở hữu tương ứng về những hành vi đang cố gắng thực hiện xâmnhập vào hệ thống Cảnh báo có thể phục vụ như một sự ngăn chặn nhưng trongmột số trường hợp kẻ xâm nhập sẽ tiếp tục thực hiện các hành vi của hắn bất chấp
có cảnh báo xuất hiện Một số cảnh báo (hệ thống IDS) có khả năng loại bỏ các góihỏng mà nó đã nhận dạng theo giống như cách mà nhà sản xuất phần mềm diệtvirus sử dụng để phát hiện virus Tất cả các gói đi qua được IDS đều được phân tích
và so sánh với file mẫu hoặc file dấu hiệu để xác nhận rằng nó không phải là file
Trang 6hình để ghi lại sự kiện đó và thông báo ngay lập tức đến chuyên gia bảo mật để cácchuyên gia này có thể hành động kịp thời chống lại kẻ tấn công Giống như mộtphần mềm chống virus, sản phẩm chỉ hoạt động tốt nếu được cập nhật file mẫu hoặcfile chữ dấu hiệu vì vậy IDS của bạn cũng được khuyên cần phải cập nhật kịp thời.
Hầu hết các kẻ xâm nhập đều rất kiên trì và nếu chúng không thể truy cậpthông qua một con đường riêng thì các đường khác cũng sẽ được chúng thử mộtcách lần lượt Chính vì vậy chúng ta phải thường xuyên đọc bản ghi và thông báo để
có thể cập nhật được các vấn đề của mạng Nếu thấy xuất hiện các cố gắng xâmnhập từ một nguồn cụ thể nào đó thì bạn cần phải để ý đến hành động này Xem lại
hệ thống luật để biết được phải làm những gì là đúng luật, nhanh chóng đóng các lỗhổng đối với hành động cố ý khá hoại và sớm giải quyết để tránh bị những hậu quảphức tạp gây ra bởi kẻ tấn công đối với tổ chức
Một nguyên lý cơ bản là mã hóa toàn bộ kho dữ liệu mạng của bạn Dùngmật khẩu để bảo vệ tất cả thông tin nhạy cảm và không cho phép người dùng duyệtcác trang mạng nội bộ không an toàn vì những thông tin nhạy cảm có thể bị ăn trộmtheo cách này
1.1.4 Chức năng của hệ thống
Hệ thống phát hiện xâm nhập cho phép các tổ chức bảo vệ hệ thống của họkhỏi những đe dọa với việc gia tăng kết nối mạng và sự tin cậy của hệ thống thôngtin Những đe dọa đối với an ninh mạng ngày càng trở nên cấp thiết đã đặt ra câuhỏi cho các nhà an ninh mạng chuyên nghiệp có nên sử dụng hệ thống phát hiệnxâm nhập trừ khi những đặc tính của hệ thống phát hiện xâm nhập là hữu ích cho
họ, bổ sung những điểm yếu của hệ thống khác…IDS có được chấp nhận là mộtthành phần thêm vào cho mọi hệ thống an toàn hay không vẫn là một câu hỏi củanhiều nhà quản trị hệ thống Có nhiều tài liệu giới thiệu về những chức năng màIDS đã làm được những có thể đưa ra vài lý do tại sao nên sử dụng hệ thống IDS:
- Bảo vệ tính toàn vẹn (integrity) của dữ liệu, bảo đảm sự nhất quán của dữ liệutrong hệ thống Các biện pháp đưa ra ngăn chặn được việc thay đổi bất hợp pháphoặc phá hoại dữ liệu
Trang 7- Bảo vệ tính bí mật, giữ cho thông tin không bị lộ ra ngoài Bảo vệ tính khảdụng, tức là hệ thống luôn sẵn sàng thực hiện yêu cầu truy nhập thông tin của ngườidùng hợp pháp.
- Bảo vệ tính riêng tư, tức là đảm bảo cho người sử dụng khai thác tài nguyên của
hệ thống theo đúng chức năng, nhiệm vụ đã được phân cấp, ngăn chặn được sự truynhập thông tin bất hợp pháp
- Cung cấp thông tin về sự xâm nhập, đưa ra những chính sách đối phó, khôiphục, sửa chữa…
Ngoài ra hệ thống phát hiện xâm nhập IDS còn có chức năng:
- Ngăn chặn sự gia tăng của những tấn công
- Bổ sung những điểm yếu mà các hệ thống khác chưa làm được
- Đánh giá chất lượng của việc thiết kế hệ thống
Khi IDS chạy một thời gian sẽ đưa ra được những điểm yếu đó là điều hiểnnhiên Việc đưa ra những điểm yếu đó nhằm đánh giá chất lượng việc thiết kế mạngcũng như cách bố trí bảo vệ phòng thủ của các nhà quản trị mạng
1.1.5 Nhiệm vụ chính của hệ thống
Nhiệm vụ chính của các hệ thống phát hiện xâm phạm là bảo vệ cho một hệthống máy tính bằng cách phát hiện các dấu hiệu tấn công Việc phát hiện các tấncông phụ thuộc vào số lượng và kiểu hành động thích hợp Để ngăn chặn xâm phạmtốt cần phải kết hợp tốt giữa “bả và bẫy” được trang bị cho việc nghiên cứu các mối
đe dọa Việc làm lệnh hướng sự tập trung của kẻ xâm nhập vào tài nguyên được bảo
vệ là một nhiệm vụ quan trọng khác Toàn bộ hệ thống cần phải được kiểm tra mộtcách liên tục Dữ liệu được tạo ra từ các hệ thống phát hiện xâm nhập được kiểm tramột cách cẩn thận (đây là nhiệm vụ chính cho mỗi IDS) để phát hiện các dấu hiệutấn công (sự xâm phạm)
Khi một hành động xâm nhập được phát hiện, IDS đưa ra các cảnh báo đếncác quản trị viên hệ thống về sự việc này Bước tiếp theo được thực hiện bởi cácquản trị viên hoặc có thể là bản thân IDS bằng cách lợi dụng các tham số đo bổsung (các chức năng khóa để giới hạn các session, backup hệ thống, định tuyến cáckết nối đến bẫy hệ thống, cơ sở hạ tầng hợp lệ,…) – theo các chính sách bảo mật
Trang 8Giữa các nhiệm vụ IDS khác nhau, việc nhận ra kẻ xâm nhập là một trongnhững nhiệm vụ cơ bản Nó cũng hữu dụng trong việc nghiên cứu mang tính pháp
lý các tình tiết và việc cài đặt các bản vá thích hợp để cho phép phát hiện các tấncông trong tương lai nhằm vào các cá nhân cụ thể hoặc tài nguyên hệ thống Phát hiện xâm nhập đôi khi có thể đưa ra các báo cảnh sai, ví dụ những vấn đề xảy
ra do trục trặc về giao diện mạng hoặc việc gửi phần mô tả các tấn công hoặc cácchữ ký thông qua mail
1.2 PHÂN LOẠI
1.2.1 NIDS (Network Base Intrusion Detection System)
Hệ thống IDS dựa trên mạng sử dụng bộ dò và bộ bộ cảm biến cài đặt trêntoàn mạng Những bộ dò này theo dõi trên mạng nhằm tìm kiếm những lưu lượngtrùng với những mô tả sơ lược được định nghĩa hay là những dấu hiệu Những bộ
bộ cảm biến thu nhận và phân tích lưu lượng trong thời gian thực Khi ghi nhậnđược một mẫu lưu lượng hay dấu hiệu, bộ cảm biến gửi tín hiệu cảnh báo đến trạmquản trị và có thể được cấu hình nhằm tìm ra biện pháp ngăn chặn những xâm nhập
xa hơn NIPS là tập nhiều sensor được đặt ở toàn mạng để theo dõi những gói tintrong mạng so sánh với với mẫu đã được định nghĩa để phát hiện đó là tấn công haykhông
Được đặt giữa kết nối hệ thống mạng bên trong và mạng bên ngoài để giámsát toàn bộ lưu lượng vào ra Có thể là một thiết bị phần cứng riêng biệt được thiếtlập sẵn hay phần mềm cài đặt trên máy tính Chủ yếu dùng để đo lưu lượng mạngđược sử dụng Tuy nhiên có thể xảy ra hiện tượng nghẽn cổ chai khi lưu lượngmạng hoạt động ở mức cao
Trang 9Hình 1.1 Mô hình NIDS
Lợi thế của Network-Based IDSs:
- Quản lý được cả một network segment (gồm nhiều host)
- "Trong suốt" với người sử dụng lẫn kẻ tấn công
- Cài đặt và bảo trì đơn giản, không ảnh hưởng tới mạng
- Tránh DOS ảnh hưởng tới một host nào đó
- Có khả năng xác định lỗi ở tầng Network (trong mô hình OSI) Độc lập với OS
Hạn chế của Network-Based IDSs:
- Có thể xảy ra trường hợp báo động giả (false positive), tức không có intrusion
mà NIDS báo là có intrusion
- Không thể phân tích các traffic đã được encrypt (vd: SSL, SSH, IPSec…)
- NIDS đòi hỏi phải được cập nhật các signature mới nhất để thực sự an toàn
- Có độ trễ giữa thời điểm bị attack với thời điểm phát báo động Khi báo độngđược phát ra, hệ thống có thể đã bị tổn hại
- Không cho biết việc attack có thành công hay không
Một trong những hạn chế là giới hạn băng thông Những bộ dò mạng phảinhận tất cả các lưu lượng mạng, sắp xếp lại những lưu lượng đó cũng như phân tíchchúng Khi tốc độ mạng tăng lên thì khả năng của đầu dò cũng vậy Một giải pháp
là bảo đảm cho mạng được thiết kế chính xác để cho phép sự sắp đặt của nhiều đầu
Trang 10dò Khi mà mạng phát triển, thì càng nhiều đầu dò được lắp thêm vào để bảo đảmtruyền thông và bảo mật tốt nhất.
1.2.2 HIDS (Host Base Intruction Detection System)
Hình 1.2 Mô hình HIDS
HIDS thường được cài đặt trên một máy tính nhất đinh Thay vì giám sáthoạt động của một network segment, HIDS chỉ giám sát các hoạt động trên mộtmáy tính HIDS thường được đặt trên các host xung yếu của tổ chức, và các servertrong vùng DMZ - thường là mục tiêu bị tấn công đầu tiên Nhiêm vụ chính củaHIDS là giám sát các thay đổi trên hệ thống, bao gồm (not all):
Lợi thế của HIDS:
- Có khả năng xác đinh user liên quan tới một event
Trang 11- HIDS có khả năng phát hiện các cuộc tấn công diễn ra trên một máy, NIDSkhông có khả năng này.
- Có thể phân tích các dữ liệu mã hoá
- Cung cấp các thông tin về host trong lúc cuộc tấn công diễn ra trên host này
Hạn chế của HIDS:
- Thông tin từ HIDS là không đáng tin cậy ngay khi sự tấn công vào host nàythành công
- Khi OS bị "hạ" do tấn công, đồng thời HIDS cũng bị "hạ"
- HIDS phải được thiết lập trên từng host cần giám sát
- HIDS có thể không hiệu quả khi bị DOS
- HIDS cần tài nguyên trên host để hoạt động
- HIDS không có khả năng phát hiện các cuộc dò quét mạng (Nmap, Netcat…)
1.2.3 PIDS (Protocol Based Intrucsion Detection System)
Protocol Based Intrucsion Detection System (PIDS) là một hệ thống phát
hiện xâm nhập thường là cài đặt trên một máy chủ web, và được sử dụng trong việcgiám sát và phân tích các giao thức được sử dụng bởi các hệ thống máy tính MộtPIDS sẽ giám sát các hành vi năng động và nhà nước về giao thức và thông thường
sẽ bao gồm một hệ thống hoặc đại lý đó thường sẽ ngồi ở mặt trước của một máychủ, giám sát và phân tích các thông tin liên lạc giữa một thiết bị kết nối và hệthống nó được bảo vệ
1.2.4 APIDS (Application Protocol Based intrusion Detection System)
Application Protocol Based intrusion Detection System (APIDS) là một
hệ thống phát hiện xâm nhập tập trung theo dõi và phân tích của mình trên một giaothức ứng dụng cụ thể hoặc các giao thức được sử dụng bởi các hệ thống máy tính
Một APIDS sẽ giám sát các hành vi năng động và trạng thái về giao thức và
Trang 12tiến trình, hoặc nhóm các máy chủ, giám sát và phân tích các giao thức ứng dụnggiữa hai thiết bị kết nối.
1.3 KIẾN TRÚC HỆ THỐNG IDS
Ngày nay người ta phân biệt các hệ thống IDS khác nhau thông qua việcphân tích và kiểm tra khác nhau của các hệ thống Mỗi hệ thống có những ưu điểmcũng như khuyết điểm riêng nhưng các hệ thống có thể được mô tả dưới mô hìnhtổng quát chung như sau
Bộ cảm biến được tích hợp với thành phần sưu tập dữ liệu (Hình 1.2) – một
bộ tạo sự kiện Cách sưu tập này được xác định bởi chính sách tạo sự kiện để địnhnghĩa chế độ lọc thông tin sự kiện Bộ tạo sự kiện (hệ điều hành, mạng, ứng dụng)cung cấp một số chính sách thích hợp cho các sự kiện, có thể là một bản ghi các sựkiện của hệ thống hoặc các gói mạng Số chính sách này cùng với thông tin chínhsách có thể được lưu trong hệ thống được bảo vệ hoặc bên ngoài Trong trường hợpnào đó, ví dụ, khi luồng dữ liệu sự kiện được truyền tải trực tiếp đến bộ phân tích
mà không có sự lưu dữ liệu nào được thực hiện Điều này cũng liên quan một chútnào đó đến các gói mạng
Hình 1.3 Các thành phần IDS
Kiến trúc của hệ thống IDS bao gồm các thành phần chính:
- Thành phần thu thập gói tin (information collection)
Trang 13- Thành phần phản hồi (respontion)
Nếu gói tin đó được phát hiện là một tấn công của tin tặc Trong ba thànhphần này thì thành phần phân tích gói tin là quan trọng nhất và ở thành phần này bộcảm biến đóng vai trò quyết định nên chúng ta sẽ đi vào phân tích bộ cảm biến đểhiểu rõ hơn kiến trúc của hệ thống phát hiện xâm nhập là như thế nào
Bộ cảm biến được tích hợp với thành phần sưu tập dữ liệu – một bộ tạo sựkiện Cách sưu tập này được xác định bởi chính sách tạo sự kiện để định nghĩa chế
độ lọc thông tin sự kiện Bộ tạo sự kiện (hệ điều hành, mạng, ứng dụng) cung cấpmột số chính sách thích hợp cho các sự kiện, có thể là một bản ghi các sự kiện của
hệ thống hoặc các gói mạng Số chính sách này cùng với thông tin chính sách có thểđược lưu trong hệ thống được bảo vệ hoặc bên ngoài Trong trường hợp nào đó, ví
dụ khi luồng dữ liệu sự kiện được truyền tải trực tiếp đến bộ phân tích mà không có
sự lưu dữ liệu nào được thực hiện Điều này cũng liên quan một chút nào đó đến cácgói mạng
Vai trò của bộ cảm biến là dùng để lọc thông tin và loại bỏ dữ liệu khôngtương thích đạt được từ các sự kiện liên quan với hệ thống bảo vệ, vì vậy có thểphát hiện được các hành động nghi ngờ Bộ phân tích sử dụng cơ sở dữ liệu chínhsách phát hiện cho mục này Ngoài ra còn có các thành phần: dấu hiệu tấn công,profile hành vi thông thường, các tham số cần thiết (ví dụ: các ngưỡng) Thêm vào
đó, cơ sở dữ liệu giữ các tham số cấu hình, gồm có các chế độ truyền thông vớimodule đáp trả Bộ cảm biến cũng có cơ sở dữ liệu của riêng nó, gồm dữ liệu lưu vềcác xâm phạm phức tạp tiềm ẩn (tạo ra từ nhiều hành động khác nhau)
1.4 CƠ CHẾ HOẠT ĐỘNG CỦA HỆ THỐNG IDS
Hệ thống phát hiện xâm phạm phải có khả năng phân biệt giữa các hoạt độngthông thường của người dùng và hoạt động bất thường để tìm ra được các tấn côngnguy hiểm kịp thời Mặc dù vậy, việc dịch các hành vi người dùng (hoặc session hệthống người dùng hoàn chỉnh) trong một quyết định liên quan đến bảo mật phù hợpthường không đơn giản – nhiều hành vi không được dự định trước và không rõ ràng(Hình 1.4) Để phân loại các hành động, IDS phải lợi dụng phương pháp phát hiện
dị thường, đôi khi là hành vi cơ bản hoặc các dấu hiệu tấn công,… một thiết bị mô
Trang 14tả hành vi bất thường đã biết (phát hiện dấu hiêu) cũng được gọi là kiến thức cơbản.
Hình 1.4 Các hành vi của người dùng trong hệ thống
1.4.1 Phát hiện dấu hiệu
phát hiện sự lạm dụng (Misuse Detection Model): Hệ thống sẽ phát hiện các xâmnhập bằng cách tìm kiếm các hành động tương ứng với các kĩ thuật xâm nhập đãđược biết đến (dựa trên các dấu hiệu - signatures) hoặc các điểm dễ bị tấn công của
hệ thống
phát hiện sự bất thường (Anomaly Detection Model): Hệ thống sẽ phát hiện cácxâm nhập bằng cách tìm kiếm các hành động khác với hành vi thông thường củangười dùng hay hệ thống
1.4.1.1 phát hiện sự lạm dụng
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 độtnhập vào hệ thống mà 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 đángnghi ngờ
Ở đây, 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ốnghiệ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 đượctiế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ềuhà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ôhình hoá các hành vi chỉ định một sự xâm nhập Các hệ thống phát hiện sự lạm
Trang 15an 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ễnkị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ườngxuyên duy trì và cập nhật để đương đầu với những kịch bản xâm nhập mới đượcphá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 sẽ dựa theo đó để theo vết hành động xâm nhập Trongmộ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ủahà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ếptheo, và khi cần sẽ can thiệp để làm giảm bởi tác hại có thể
1.4.1.2 phát hiện sự bất thường
Dựa trên việc định nghĩa và mô tả đặc điểm của các hành vi có thể chấp nhậncủa hệ thống để phân biệt chúng với các hành vi không mong muốn hoặc bấtthường, tìm ra các thay đổi, 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ữanhữ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 ranhgiớ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
Trang 16đã 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ànvẹ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 để địnhnghĩa trạng thái mong muốn của hệ thống Các xâu này giúp ta thu được một biểudiễ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âubit 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ĩacho 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ácphé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ảnhbáo xâm nhập chứ không phải chỉ ra sai khác ở đâu nên ta có thể sử dụng dạng biểudiễn được nén để giảm chi phí 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ácnhau là khác nhau Có thể sử dụng các thuật toán checksums, message-digest (phânloạ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 filetă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ữnghà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
Trang 17Nếu không chắc chắn hành vi là bất thường hay không, hệ thống có thể dựavà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ảnhbá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ạithố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 (dữ liệu) cơ
sở để mô tả đặc điểm các hành vi bình thường, chấp nhận được Một dữ liệu baogồ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ềuchiề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ờigian: 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ờigian,…
● Chuỗi biểu diễn các hành động
Sau khi khởi tạo dữ liệu 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áthà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ủahành vi được mong đợi (chính là dữ liệu 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 dữ liệuhiện tại
Các hệ thống phát hiện xâm nhập thế hệ trước phải 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.
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ựctiế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
Trang 18Khó 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ựngcác dữ liệu 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
dữ liệu
Các dữ liệu 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
1.4.1.3 So sánh giữa hai mô hình
Bảng 1.1 So sánh 2 mô hình phát hiệnPhát hiện sự lạm dụng Phát hiện sự bất thường
so với hành động thông thường
Hiệu quả trong việc phát hiện các
dạng tấn công đã biết, hay các biến thể
(thay đổi nhỏ) của các dạng tấn công đã
biết Không phát hiện được các dạng tấn
công mới
Hiệu quả trong việc phát hiện các dạngtấn công mới mà một hệ thống phát hiện
sự lạm dụng bỏ qua
Dễ cấu hình hơn do đòi hỏi ít hơn về
thu thập dữ liệu, phân tích và cập nhật
Khó cấu hình hơn vì đưa ra nhiều dữliệu hơn, phải có được một khái niệm toàndiện về hành vi đã biết hay hành vi đượcmong đợi của hệ thống
Đưa ra kết luận dựa vào phép so
khớp mẫu (pattern matching).
Đưa ra kết quả dựa vào tương quanbằng thống kê giữa hành vi thực tế vàhành vi được mong đợi của hệ thống (haychính là dựa vào độ lệch giữa thông tinthực tế và ngưỡng cho phép)
Có thể kích hoạt một thông điệp cảnh
báo nhờ một dấu hiệu chắc chắn, hoặc
cung cấp dữ liệu hỗ trợ cho các dấu hiệu
khác
Có thể hỗ trợ việc tự sinh thông tin hệthống một cách tự động nhưng cần có thờigian và dữ liệu thu thập được phải rõràng
Trang 19Để có được một hệ thống phát hiện xâm nhập tốt nhất ta tiến hành kết hợp cảhai phương pháp trên trong cùng một hệ thống Hệ thống kết hợp này sẽ cung cấpkhả năng phát hiện nhiều loại tấn công hơn và hiệu quả hơn
Sơ đồ hệ thống kết hợp như sau:
1.4.2 Tương quan các mẫu tham số
Phương pháp thứ ba về phát hiện xâm nhập khá khôn ngoan hơn hai phươngpháp trước Nó được sinh ra do nhu cầu thực tế rằng, các quản trị viên kiểm tra các
hệ thống khác nhau và các thuộc tính mạng (không cần nhắm đến các vấn đề bảomật) Thông tin đạt được trong cách này có một môi trường cụ thể không thay đổi.Phương pháp này liên quan đến sử dụng kinh nghiệm hoạt động hàng ngày của cácquản trị viên như các vấn đề cơ bản cho việc phát hiện dấu hiệu bất thường Nó cóthể được xem như trường hợp đặc biệt của phương pháp Profile thông thường Sựkhác nhau ở đây nằm ở chỗ trong thực tế, một profile là một phần hiểu biết của conngười
Đây là một kỹ thuật mạnh, bời vì nó cho phép xâm nhập dựa trên các kiểutấn công không biết Hoạt động hệ thống có thể phát hiện các thay đổi tinh vi không
rõ ràng đối với chính hoạt động đó Nó kế thừa những nhược điểm trong thực tế làcon người chỉ hiểu một phần giới hạn thông tin tại một thời điểm, điều đó có nghĩa
là các tấn công nào đó có thể vượt qua mà không bị phát hiện
1.5 CÔNG CỤ HỖ TRỢ IDS
Có 1 số công cụ hỗ trợ cho hệ thống xâm nhập IDS, trong phần này chúng ta
sẽ đề cập đến bốn công cụ hỗ trợ đó: hệ thống phân tích tổn thương, bộ kiểm tratoàn vẹn dữ liệu, honey pots, Padded cell Những thành phần này có thể tăng cường,
hỗ trợ, tổ chức như thế nào với hệ thống phát hiện xâm nhập IDS sẽ được làm rõ ởnhững mục dưới đây
1.5.1 Hệ thống phân tích đánh giá tổn thương
Sự phân tích đánh giá tổn thương (sự định giá cũng được biết như tính dễ bịtổn thương) là công cụ kiểm tra xác định liệu có phải một mạng hay host có thể bịtổn thương tới những sự tấn công được biết Sự đánh giá tổn thương đại diện chomột trường hợp đặc biệt của quá trình phát hiện xâm nhập Những thông tin bao
Trang 20gồm tình trạng hệ thống và hậu qủa của những tấn công được phân tích đánh giá.Những thông tin này được tổng hợp phân tích tại tại bộ cảm biến
Sự phân tích đánh giá tổn thương là một kỹ thuật quản lý an toàn rất mạnh và
là sự bổ sung thích hợp tới việc sử dụng IDS, không phải như một sự thay thế Cầnphải có một tổ chức tin cậy quản lý những công cụ phân tích đánh giá tổn thương đểtheo dõi những hệ thống này
1.5.1.1 Quá trình phân tích đánh giá tổn thương
Quá trình phân tích đánh giá tồn thương bao gồm những bước sau:
Lấy 1 mẫu bao gồm tập hợp các thuộc tính của hệ thống
Kết quả của việc lấy mốc được cất vào một chỗ an toàn
Kết quả này được so sánh với ít nhất một mẫu trước đó hoặc một mẫu lýtưởng trước đó
Bất kỳ sự khác nhau giữa hai tập hợp được tổng hợp và báo cáo
1.5.1.2 Các kiểu phân tích đánh giá tổn thương
Có hai kiểu phân tích đánh giá tổn thương dành cho Netword-based và based:
host-● Host-based: phân tích đánh giá tổn thương chính là việc đánh giá dữ liệu
của hệ thống như dữ liệu, việc cấu hình, trạng thái của những thông tin khác
● Network-based: Sự phân tích đánh giá tổn thương yêu cầu 1 kết nối từ xa
tới hệ thống đích Công việc đánh giá bao gồm ghi chú lại sự phản hồi của hệ thốnghay đơn giản là thăm dò xem xét để biết những điểm yếu của hệ thống
1.5.2 Kiểm tra toan vẹn dữ liệu
Những bộ kiểm tra toàn vẹn dữ liệu là những công cụ an toàn mà bổ sungIDSs Chúng tóm lược thông báo hay kiểm tra giải mã cho những dữ liệu và nhữngđối tượng phê bình, so sánh nó với những giá trị tham khảo và việc đặt những dấuhiệu cho sự khác nhau hay thay đổi Việc kiểm tra giải mã sẽ giúp biết nội dung của
dữ liệu có bị thay đổi bởi tin tặc hay không Việc thay đổi nội dung có nhiều kỹthuật nhưng mục đích của tin tặc là gắn những thành phần vào nội dung để làm cầunối trao đổi thông tin giữa hệ thống và máy của tin tặc hoặc là với mục đích pháhoại
Trang 21Mặc dù việc kiểm tra những thành phần thay đổi trong nội dung của dữ liệuhay còn gọi là sâu thường xuyên được sự hỗ trợ cập nhật từ những hãng chốngvirut, spyware hay trojan nhưng việc cập nhật còn quá chậm so với sự phát triển củanhững thành phần này.
1.5.3 Honey Pot và Padded Cell System
Honey pot là hệ thống những cạm bẫy được thiết kế để bẫy những tin tặc tấncông Honey pot được thiết kế bao gồm những mục đích sau:
- Làm lệch hướng tin tặc ra khỏi hệ thống cần bảo vệ
- Tập hợp thông tin về tin tặc và hành động của tin tặc
- Lôi kéo tin tặc ở trên hệ thống dài hơn để đủ thời gian cho người quản trị phảnhồi lại
Padded Cell: khác với honey pot là hướng tin tặc theo kế hoạch của mình thìpadded cell được thiết kế để theo dõi hành động thay đổi dữ liệu của tin tặc, đánhdấu sự thay đổi để biết mục đích của tin tặc
1.5.4 Một số sản phẩm của IDS/IPS
Phần này giới thiệu một số sản phẩm IDS, IPS thương mại cũng như miễnphí phổ biến, những sản phẩm điển hình trong lĩnh vực phát hiện và phòng chốngxâm nhập
Cisco IDS-4235
Cisco IDS (còn có tên là NetRanger) là một hệ thống NIDS, có khả năng theo dõitoàn bộ lưu thông mạng và đối sánh từng gói tin để phát hiện các dấu hiệu xâmnhập
Cisco IDS là một giải pháp riêng biệt, được Cisco cung cấp đồng bộ phầncứng và phần mềm trong một thiết bị chuyên dụng
Giải pháp kỹ thuật của Cisco IDS là một dạng lai giữa giải mã (decode) và đối sánh(grep) Cisco IDS hoạt động trên một hệ thống Unix được tối ưu hóa về cấu hình và
có giao diện tương tác CLI (Cisco Command Line Interface) quen thuộc của Cisco
ISS Proventia A201
Proventia A201 là sản phẩm của hãng Internet Security Systems Về mặt bản chất,Proventia không chỉ là một hệ thống phần mềm hay phần cứng mà nó là một hệ
Trang 22thống các thiết bị được triển khai phân tán trong mạng được bảo vệ Một hệ thốngProventia bao gồm các thiết bị sau:
- Intrusion Protection Appliance: Là trung tâm của toàn bộ hệ thống Proventia
Nó lưu trữ các cấu hình mạng, các dữ liệu đối sánh cũng như các quy định về chínhsách của hệ thống Về bản chất, nó là một phiên bản Linux với các driver thiết bịmạng được xây dựng tối ưu cũng như các gói dịch vụ được tối thiểu hóa
- Proventia Network Agent: Đóng vai trò như các bộ cảm biến (sensor) Nó được
bố trí tại những vị trí nhạy cảm trong mạng nhằm theo dõi toàn bộ lưu thông trongmạng và phát hiện những nguy cơ xâm nhập tiềm ẩn
- SiteProtector: Là trung tâm điều khiển của hệ thống Proventia Đây là nơi ngườiquản trị mạng điều khiển toàn bộ cấu hình cũng như hoạt động của hệ thống
Với giải pháp của Proventia, các thiết bị sẽ được triển khai sao cho phù hợpvới cấu hình của từng mạng cụ thể để có thể đạt được hiệu quả cao nhất
NFR NID-310
NFR là sản phẩm của NFR Security Inc Cũng giống như Proventia, NFRNID là một hệ thống hướng thiết bị (appliance-based) Điểm đặc biệt trong kiến trúccủa NFR NID là họ các bộ cảm biến có khả năng thích ứng với rất nhiều mạng khácnhau từ mạng 10Mbps đến các mạng gigabits với thông lượng rất lớn
Một điểm đặc sắc của NFR NID là mô hình điều khiển ba lớp Thay vì cácthiết bị trong hệ thống được điểu khiển trực tiếp bởi một giao diện quản trị(Administration Interface – AI) riêng biệt, NFR cung cấp một cơ chế điều khiển tậptrung với các middle-ware làm nhiệm vụ điều khiển trực tiếp các thiết bị
SNORT
Snort là phần mềm IDS mã nguồn mở, được phát triển bởi Martin Roesh.Snort đầu tiên được xây dựng trên nền Unix sau đó phát triển sang các nền tảngkhác Snort được đánh giá là IDS mã nguồn mở đáng chú ý nhất với những tínhnăng rất mạnh Chi tiết về Snort sẽ được trình bày trong phần chương II của đề tài
1.6 CÁC KỸ THUẬT XỬ LÝ DỮ LIỆU TRONG HỆ THỐNG IDS
Phụ thuộc vào kiểu phương pháp được sử dụng để phát hiện xâm nhập, các
cơ chế xử lý khác nhau (kỹ thuật) cũng được sử dụng cho dữ liệu đối với một IDS
Trang 231.6.1 phân tích trạng thái phiên
Một tấn công được miêu tả bằng một tập các mục tiêu và phiên cần đượcthực hiện bởi một kẻ xâm nhập để gây tổn hại hệ thống Các phiên được trình bàytrong sơ đồ trạng thái phiên
1.6.2 Phát hiện dấu hiệu
Giống như phương pháp hệ thống Expert, phương pháp này dựa trên nhữnghiểu biết về tấn công Chúng biến đổi sự mô tả về ngữ nghĩa từ của mỗi tấn côngthành định dạng kiểm định thích hợp Như vậy, dấu hiệu tấn công có thể được tìmthấy trong các bản ghi hoặc đầu vào của luồng dữ liệu theo một cách dễ hiểu Mộtkịch bản tấn công có thể được mô tả, ví dụ như một chuỗi sự kiện kiểm định đối vớicác tấn công hoặc mẫu dữ liệu có thể tìm kiếm đã lấy được trong cuộc kiểm định.Phương pháp này sử dụng các từ tương đương trừu tượng của dữ liệu kiểm định Sựphát hiện được thực hiện bằng cách sử dụng chuỗi văn bản chung hợp với các cơchế Điển hình, nó là một kỹ thuật rất mạnh và thường được sử dụng trong các hệthống thương mại (ví dụ như Stalker, Real Secure, NetRanger, Emerald eXpert-BSM)
1.6.3 Phân tích thống kê
Đây là phương pháp thường được sử dụng Hành vi người dùng hoặc hệthống (tập các thuộc tính) được tính theo một số biến thời gian Ví dụ, các biến nhưlà: đăng nhập người dùng, đăng xuất, số file truy nhập trong một chu kỳ thời gian,hiệu suất sử dụng không gian đĩa, bộ nhớ, CPU,… Chu kỳ nâng cấp có thể thay đổi
từ một vài phút đến một tháng Hệ thống lưu giá trị có nghĩa cho mỗi biến được sửdụng để phát hiện sự vượt quá ngưỡng được định nghĩa từ trước Ngay cả phươngpháp đơn giản này cũng không thế hợp được với mô hình hành vi người dùng điểnhình Các phương pháp dựa vào việc làm tương quan profile người dùng riêng lẻvới các biến nhóm đã được gộp lại cũng ít có hiệu quả
Vì vậy, một mô hình tinh vi hơn về hành vi người dùng đã được phát triểnbằng cách sử dụng profile người dùng ngắn hạn hoặc dài hạn Các profile nàythường xuyên được nâng cấp để bắt kịp với thay đổi trong hành vi người dùng Cácphương pháp thống kê thường được sử dụng trong việc bổ sung trong IDS dựa trên
Trang 241.6.4 Phân biệt ý định người dùng
Kỹ thuật này mô hình hóa các hành vi thông thường của người dùng bằngmột tập nhiệm vụ mức cao mà họ có thể thực hiện được trên hệ thống (liên quanđến chức năng người dùng) Các nhiệm vụ đó thường cần đến một số hoạt độngđược điều chỉnh sao cho hợp với dữ liệu kiểm định thích hợp Bộ phân tích giữ mộttập hợp nhiệm vụ có thể chấp nhận cho mỗi người dùng Bất cứ khi nào một sựkhông hợp lệ được phát hiện thì một cảnh báo sẽ được sinh ra
1.6.5 Tối thiểu hóa dữ liệu
Thường phải dùng đến một số kỹ thuật sử dụng quá trình trích dữ liệu chưabiết nhưng có khả năng hữu dụng trước đó từ những vị trí dữ liệu được lưu trữ với
số lượng lớn phương pháp tối thiểu dữ liệu này vượt trội hơn đối với việc sử lý bảnghi hệ thống lớn (dữ liệu kiểm định) Mặc dù vậy, chúng kém hữu dụng đối với việcphân tích luồng lưu lượng mạng Một trong những kỹ thuật tối thiểu hóa dữ liệu cơbản được sử dụng trong phát hiện xâm nhập được kết hợp với các cây phán quyết.Các mô hình cây phán quyết cho phép ai đó có thể phát hiện các sự bất thườngtrong một cơ sở dữ liệu lớn Kỹ thuật khác phải dùng đến các đoạn, cho phép tríchmẫu của các tấn công chưa biết Điều đó được thực hiện bằng việc hợp lệ hóa cácmẫu đã được trích từ một tập kiểm định đơn giản với các mẫu khác được cung cấpcho tấn công chưa biết đã cất giữ Một kỹ thuật tối thiểu hóa dữ liệu điển hình đượckết hợp với việc tìm kiếm các nguyên tắc kết hợp Nó cho phép ai đó có thể tríchkiến thức chưa hiểu trước đó về các tấn công mới hoặc đã xây dựng trên mẫu hành
vi thông thường Sự phát hiện bất thường thường gây ra các báo cảnh sai Với việctối thiểu hóa dữ liệu, nó dễ dàng tương quan dữ liệu đã liên quan đến các báo cảnhvới dữ liệu kiểm định tối thiểu, do đó giảm đáng kể xác suất báo cảnh sai
1.6.6 Colored Petri Nets
Thường được sử dụng để tổng quát hóa các tấn công từ những hiểu biết cơbản và để thể hiện các tấn công theo đồ họa Hệ thống IDIOT của đại học Purdue sửdụng Colored Petri Nets Với kỹ thuật này, các quản trị viên sẽ dễ dàng hơn trongviệc bổ sung thêm dấu hiệu mới Mặc dù vậy, việc làm cho hợp một dấu hiệu phứctạp với dữ liệu kiểm định là một vấn đề gây tốn nhiều thời gian Kỹ thuật này không
Trang 251.6.7 Neural Network
Sử dụng các thuật toán đang được nghiên cứu của chúng để nghiên cứu vềmối quan hệ giữa các vector đầu vào - đầu ra và tổng quát hóa chúng để rút ra mốiquan hệ vào/ra mới Phương pháp neural network được sử dụng cho phát hiện xâmnhập, mục đích chính là để nghiên cứu hành vi của người tham gia vào mạng (ngườidùng hay kẻ xâm phạm) Thực ra các phương pháp thống kê cũng một phần đượccoi như neural networks Sử dụng mạng neural trên thống kê hiện có hoặc tập trungvào các đơn giản để biểu diễn mối quan hệ không tuyến tính giữa các biến và trongviệc nghiên cứu các mối quan hệ một cách tự động Các thực nghiệm đã được tiếnhành với sự dự đoán mạng neural về hành vi người dùng Từ những kết quả chothấy rằng các hành vi của siêu người dùng UNIX (root) là có thể dự đoán Với một
số ít ngoại lệ, hành vi của hầu hết người dùng khác cũng có thể dự đoán Neuralnetworks vẫn là một kỹ thuật tính toán mạnh và không được sử dụng rộng rãi trongcộng đồng phát hiện xâm nhập
1.6.8 Computer immunology Analogies
Kỹ thuật này mô hình hóa các hành vi thông thường của người dùng bằngmột tập nhiệm vụ mức cao mà họ có thể thực hiện được trên hệ thống (liên quanđến chức năng người dùng) Các nhiệm vụ đó thường cần đến một số hoạt độngđược điều chỉnh sao cho hợp với dữ liệu kiểm định thích hợp Bộ phân tích giữ mộttập hợp nhiệm vụ có thể chấp nhận cho mỗi người dùng Bất cứ khi nào một sựkhông hợp lệ được phát hiện thì một cảnh báo sẽ được sinh ra
1.6.9 Machine learning (nghiên cứu cơ chế)
Đây là một kỹ thuật thông minh nhân tạo, nó lưu luồng lệnh đầu ra ngườidùng vào các biểu mẫu vector và sử dụng như một tham chiếu của profile hành vingười dùng thông thường Các profile sau đó được nhóm vào trong một thư việnlệnh người dùng có các thành phần chung nào đó
1.6.10 Hệ thống Expert
Hệ thống này làm việc trên một tập các nguyên tắc đã được định nghĩa từtrước để miêu tả các tấn công Tất cả các sự kiện có liên quan đến bảo mật đều đượckết hợp vào cuộc kiểm định và được dịch dưới dạng nguyên tắc if-then-else Lấy ví
Trang 26CHƯƠNG II
HỆ THỐNG SNORT
2.1 SNORT VÀ NGUYÊN LÝ HOẠT ĐỘNG
2.1.1 Tổng quan về SNORT
Hình 2.1 Mô hình mô tả hệ thống sau khi cài snort
Snort là một NIDS được Martin Roesh phát triển dưới mô hình mã nguồn
mở Tuy Snort miễn phí nhưng nó lại có rất nhiều tính năng tuyệt vời mà khôngphải sản phẩm thương mại nào cũng có thể có được Với kiến trúc thiết kế theo kiểumodule, người dùng có thể tự tăng cường tính năng cho hệ thống Snort của mìnhbằng việc cài đặt hay viết thêm mới các module Cơ sở dữ liệu luật của Snort đã lêntới 2930 luật và được cập nhật thường xuyên bởi một cộng đồng người sử dụng.Snort có thể chạy trên nhiều hệ thống nền như Windows, Linux, OpenBSD,FreeBSD, NetBSD, Solaris, HP-UX, AIX, IRIX, MacOS
Bên cạnh việc có thể hoạt động như một ứng dụng thu bắt gói tin thông
Trang 27năng hoạt động trên các giao thức sau: Ethernet, 802.11,Token Ring, FDDI, CiscoHDLC, SLIP, PPP, và PF của OpenBSD.
2.1.2 Nguyên lý hoạt động
Khi Snort hoạt động nó sẽ thực hiện việc lắng nghe và thu bắt tất cả các góitin nào di chuyển qua nó Các gói tin sau khi bị bắt được đưa vào Môđun Giải mãgói tin Tiếp theo gói tin sẽ được đưa vào môđun Tiền xử lý, rồi môđun Phát hiện.Tại đây tùy theo việc có phát hiện được xâm nhập hay không mà gói tin có thể được
bỏ qua để lưu thông tiếp hoặc được đưa vào môđun Log và cảnh báo để xử lý Khicác cảnh báo được xác định môđun Kết xuất thông tin sẽ thực hiện việc đưa cảnhbáo ra theo đúng định dạng mong muốn Sau đây ta sẽ đi sâu vào chi tiết hơn về cơchế hoạt động và chức năng của từng thành phần
Hình 2.2 Kiến trúc các thành phần của Snort
Snort chủ yếu là một IDS dựa trên luật, tuy nhiên các input plug-in cũng tồntại để phát hiện sự bất thường trong các header của giao thức
Snort sử dụng các luật được lưu trữ trong các file text, có thể được chỉnh sửabởi người quản trị Các luật được nhóm thành các kiểu Các luật thuộc về mỗi loạiđược lưu trong các file khác nhau File cấu hình chính của Snort là snort.conf Snortđọc những luật này vào lúc khởi tạo và xây dựng cấu trúc dữ liệu để cung cấp cácluật để bắt giữ dữ liệu Tìm ra các dấu hiệu và sử dụng chúng trong các luật là mộtvấn đề đòi hỏi sự tinh tế, vì bạn càng sử dụng nhiều luật thì năng lực xử lý càngđược đòi hỏi để thu thập dữ liệu trong thực tế Snort có một tập hợp các luật đượcđịnh nghĩa trước để phát hiện các hành động xâm nhập và bạn cũng có thể thêm vào
Trang 28các luật của chính bạn Bạn cũng có thể xóa một vài luật đã được tạo trước để tránhviệc báo động sai.
2.2 CÁC THÀNH PHẦN VÀ CHỨC NĂNG
2.2.1 Bộ giải mã gói (Packet Decoder)
Bộ phận giải mã gói lấy các gói từ các giao diện mạng khác nhau và chuẩn bịcho việc gói tin được xử lí trước hoặc được gửi cho bộ phận phát hiện
2.2.2 Bộ tiền xử lý (Preprocessor)
Hình 2.3 Bộ tiền xử lý (Preprocessor)
Môđun tiền xử lý là một môđun rất quan trọng đối với bất kỳ một hệ thốngIDS nào để có thể chuẩn bị gói dữ liệu đưa và cho môđun Phát hiện phân tích Banhiệm vụ chính của các môđun loại này là:
Kết hợp lại các gói tin: Khi một lượng dữ liệu lớn được gửi đi, thông tin sẽkhông đóng gói toàn bộ vào một gói tin mà phải thực hiện việc phân mảnh, chia góitin ban đầu thành nhiều gói tin rồi mới gửi đi Khi Snort nhận được các gói tin này
nó phải thực hiện việc ghép nối lại để có được dữ liệu nguyên dạng ban đầu, từ đómới thực hiện được các công việc xử lý tiếp Như ta đã biết khi một phiên làm việc
Trang 29của hệ thống diễn ra, sẽ có rất nhiều gói tin đuợc trao đổi trong phiên đó Một góitin riêng lẻ sẽ không có trạng thái và nếu công việc phát hiện xâm nhập chỉ dựahoàn toàn vào gói tin đó sẽ không đem lại hiệu quả cao Module tiền xử lý streamgiúp Snort có thể hiểu được các phiên làm việc khác nhau (nói cách khác đem lạitính có trạng thái cho các gói tin) từ đó giúp đạt được hiệu quả cao hơn trong việcphát hiện xâm nhập.
Giải mã và chuẩn hóa giao thức (decode/normalize): công việc phát hiện xâmnhập dựa trên dấu hiệu nhận dạng nhiều khi bị thất bại khi kiểm tra các giao thức có
dữ liệu có thể được thể hiện dưới nhiều dạng khác nhau Ví dụ: một web server cóthể chấp nhận nhiều dạng URL như URL được viết dưới dạng mã hexa/Unicode,URL chấp nhận cả dấu \ hay / hoặc nhiều ký tự này liên tiếp cùng lúc Chẳng hạn ta
có dấu hiệu nhận dạng “scripts/iisadmin”, kẻ tấn công có thể vượt qua được bằngcách tùy biến các yêu cấu gửi đến web server như sau:
Phát hiện các xâm nhập bất thường (nonrule /anormal): các plugin tiền xử lýdạng này thường dùng để đối phó với các xâm nhập không thể hoặc rất khó pháthiện được bằng các luật thông thường hoặc các dấu hiệu bất thường trong giao thức.Các môđun tiền xử lý dạng này có thể thực hiện việc phát hiện xâm nhập theo bất
cứ cách nào mà ta nghĩ ra từ đó tăng cường thêm tính năng cho Snort Ví dụ, mộtplugin tiền xử lý có nhiệm vụ thống kê thông lượng mạng tại thời điểm bình thường
để rồi khi có thông lượng mạng bất thường xảy ra nó có thể tính toán, phát hiện và
Trang 30Snort có đi kèm hai plugin giúp phát hiện các xâm nhập bất thường đó là portscan
và bo (backoffice) Portcan dùng để đưa ra cảnh báo khi kẻ tấn công thực hiện việcquét các cổng của hệ thống để tìm lỗ hổng Bo dùng để đưa ra cảnh báo khi hệthống đã bị nhiễm trojan backoffice và kẻ tấn công từ xa kết nối tới backoffice thựchiện các lệnh từ xa
2.2.3 Bộ phát hiện (Detection Engine)
Hình 2.4 Bộ phát hiện (Detection Engine)
Đây là môđun quan trọng nhất của Snort Nó chịu trách nhiệm phát hiệncác dấu hiệu xâm nhập Môđun phát hiện sử dụng các luật được định nghĩa trước để
so sánh với dữ liệu thu thập được từ đó xác định xem có xâm nhập xảy ra haykhông Rồi tiếp theo mới có thể thực hiện một số công việc như ghi log, tạo thôngbáo và kết xuất thông tin
Một vấn đề rất quan trọng trong môđun phát hiện là vấn đề thời gian xử lýcác gói tin: một IDS thường nhận được rất nhiều gói tin và bản thân nó cũng có rấtnhiều các luật xử lý Có thể mất những khoảng thời gian khác nhau cho việc xử lý
Trang 31hoặc không phản hồi được đúng lúc Khả năng xử lý của môđun phát hiện dựa trênmột số yếu tố như: số lượng các luật, tốc độ của hệ thống đang chạy Snort, tải trênmạng Một số thử nghiệm cho biết, phiên bản hiện tại của Snort khi được tối ưu hóachạy trên hệ thống có nhiều bộ vi xử lý và cấu hình máy tính tương đối mạnh thì cóthể hoạt động tốt trên cả các mạng cỡ Giga.
Một môđun phát hiện cũng có khả năng tách các phần của gói tin ra và ápdụng các luật lên từng phần nào của gói tin đó Các phần đó có thể là:
- IP header
- Header ở tầng giao vận: TCP, UDP
- Header ở tầng ứng dụng: DNS header, HTTP header, FTP header, …
- Phần tải của gói tin (bạn cũng có thể áp dụng các luật lên các phần dữ liệuđược truyền đi của gói tin)
Một vấn đề nữa trong Môđun phát hiện đó là việc xử lý thế nào khi một góitin bị phát hiện bởi nhiều luật Do các luật trong Snort cũng được đánh thứ tự ưutiên, nên một gói tin khi bị phát hiện bởi nhiều luật khác nhau, cảnh báo được đưa ra
sẽ là cảnh báo ứng với luật có mức ưu tiên lớn nhất
2.2.4 Hệ thống ghi và cảnh báo (Logging và Alerting System)
Logging và Alerting System (Hệ thống ghi và cảnh báo) Phụ thuộc vàonhững thông tin mà bộ phận phát hiện tìm thấy trong gói tin, gói tin có thể được sửdụng để ghi lại các hành vi hoặc tạo ra các cảnh báo
Module đầu ra có thể hoạt động theo nhiều cách phụ thuộc vào việc bạnmuốn lưu các output được tạo ra bằng hệ thống ghi và tạo cảnh báo như thế nào.Phụ thuộc vào việc cấu hình, output module có thể làm một số việc dưới đây:
- Ghi dữ liệu vào file /var/log/snort/alerts hay file khác
- Gởi SNMP traps
- Gởi các thông báo đến Syslog
2.2.5 Bộ phận đầu ra (Output Modules)
Môđun này có thể thực hiện các thao tác khác nhau tùy theo việc bạn muốnlưu kết quả xuất ra như thế nào
Trang 32Hình 2.5 Bộ phận đầu ra (Output Modules)
Tùy theo việc cấu hình hệ thống mà nó có thể thực hiện các công việc nhưlà:
- Ghi log file
- Ghi syslog: syslog và một chuẩn lưu trữ các file log được sử dụng rất nhiều trêncác hệ thống Unix, Linux
- Ghi cảnh báo vào cơ sở dữ liệu
- Tạo file log dạng xml: việc ghi log file dạng xml rất thuận tiện cho việc trao đổi
và chia sẻ dữ liệu
- Cấu hình lại Router, firewall
- Gửi các cảnh báo được gói trong gói tin sử dụng giao thức SNMP Các gói tindạng SNMP này sẽ được gửi tới một SNMP server từ đó giúp cho việc quản lý cáccảnh báo và hệ thống IDS một cách tập trung và thuận tiện hơn
- Gửi các thông điệp SMB (Server Message Block) tới các máy tính Windows
Trang 33Nếu không hài lòng với các cách xuất thông tin như trên, ta có thể viết cácmôđun kết xuất thông tin riêng tuỳ theo mục đích sử dụng.
2.3 BỘ LUẬT CỦA SNORT
2.3.1 Giới thiệu
Cũng giống như virus, hầu hết các hoạt động tấn công hay xâm nhập đều cócác dấu hiệu riêng Các thông tin về các dấu hiệu này sẽ được sử dụng để tạo nêncác luật cho Snort Thông thường, các bẫy (honey pots) được tạo ra để tìm hiểu xemcác kẻ tấn công làm gì cũng như các thông tin về công cụ và công nghệ chúng sửdụng Và ngược lại, cũng có các cơ sở dữ liệu về các lỗ hổng bảo mật mà những kẻtấn công muốn khai thác Các dạng tấn công đã biết này được dùng như các dấuhiệu để phát hiện tấn công xâm nhập Các dấu hiệu đó có thể xuất hiện trong phầnheader của các gói tin hoặc nằm trong phần nội dung của chúng Hệ thống phát hiệncủa Snort hoạt động dựa trên các luật (rules) và các luật này lại được dựa trên cácdấu hiệu nhận dạng tấn công Các luật có thể được áp dụng cho tất cả các phần khácnhau của một gói tin dữ liệu
Một luật có thể được sử dụng để tạo nên một thông điệp cảnh báo, log mộtthông điệp hay có thể bỏ qua một gói tin
2.3.2 Cấu trúc luật của Snort
Hãy xem xét một ví dụ đơn giản :
alert tcp 192.168.2.0/24 23 -> any any (content:”confidential”; msg: “Detectedconfidential”)
Ta thấy cấu trúc của một luật có dạng như sau:
Hình 2.6 Cấu trúc luật của Snort
Diễn giải:
Tất cả các Luật của Snort về logic đều gồm 2 phần: Phần header và phầnOption
- Phần Header chứa thông tin về hành động mà luật đó sẽ thực hiện khi phát hiện
ra có xâm nhập nằm trong gói tin và nó cũng chứa các tiêu chuẩn để áp dụng luật