Tuynhiên, đồng thời với lợi ích to lớn của nó, mạng internet cùng với các công nghệ liênquan cũng cho thấy mặt hạn chế tất yếu là tính mất an toàn, dễ bị xâm phạm, tấn công.Hậu quả của c
Trang 1ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
Trang 2Tp HCM, tháng 06 năm 2014
MUC LUC
LỜI MỞ ĐẦU 2
LỜI CẢM ƠN 3
CHƯƠNG I: ĐẶT VẤN ĐỀ 4
CHƯƠNG II: DATA MINING 6
2.1 Giới thiệu về Data mining 6
2.2 Các nhiệm vụ của Data mining 8
2.3 Ứng dụng của Data mining 9
2.4 Các phương pháp khai phá dữ liệu 11
2.4.1 Phương pháp quy nạp (Induction) 11
2.4.2 Cây quyết định và luật 11
2.4.3 Phân nhóm và phân đoạn 13
CHƯƠNG III: ỨNG DỤNG KỸ THUẬT DATA MINING TRONG HỆ THỐNG IDS.14 3.1 Hệ thống IDS 14
3.1.1 Giới thiệu 14
3.1.2 Hệ thống phát hiện xâm nhập - IDS 15
3.2 Khai phá dữ liệu trong IDS 20
3.2.1 Luật phân lớp 21
3.2.2 Luật kết hợp 22
3.2.3 Phân cụm(clustering/segmentation) 23
CHƯƠNG IV- XÂY DỰNG CHƯƠNG TRÌNH PHÁT HIỆN XÂM NHẬP 24
4.1 Thuật toán phân cụm 24
4.1.1 Thuật toán gom cụm bằng phương pháp K-means 24
4.1.2 Kỹ thuật dùng đối tượng đại diện: Phương pháp k-medoids 30
4.1.3 Phân tích thiết kế chương trình 31
4.2 Giới thiệu các Rules trên Iptables 36
KẾT LUẬN 40
TÀI LIỆU THAM KHẢO 42
Trang 3LỜI MỞ ĐẦU
Ngày nay, sự phát triển của máy tính cũng như công nghệ thông tin đã mang lạicho con người rất nhiều tiện ích Lĩnh vực Data mining đã trở thành một trong nhữnglĩnh vực mũi nhọn trong thời đại hiện nay là việc làm cho máy tính trở nên thông minhhơn, tăng cường sự cộng tác giữa người và máy, tự động hóa một phần, góp phần giảiquyết các công việc trong lĩnh vực đời sống xã hội Bên cạnh đó, nó còn có tính ứngdụng rất cao trong các ngành khoa học sản xuất, đặt biệt là những ngành cần phân tíchkhối lượng dữ liệu khổng lồ
Chuyên đề sau đây sẽ khảo sát một phần nhỏ về ứng dụng của Data mining, đó
là việc ứng dụng nó vào phòng chống tấn công mạng máy tính Hiện nay với sự bùng
nổ cua internet, thương mại điện tử, trao đổi, hợp tác trong kinh doanh đều quainternet, v.v Từ đó, chúng ta thấy được vị trí quan trọng của internet, và các vấn đềbảo mật, phòng chống/ngăn ngừa các tấn công của hackers trên internet cũng là vấn đềquan trọng không những cho doanh nghiệp, công ty, trường học, mà còn cho chínhphủ, v.v Như vậy, việc phòng chống tấn công mạng máy tính là công việc vô cùngquan trọng và cấp bách hiện nay
Trang 4Một lần nữa em xin chân thành cảm ơn
TP HCM, ngày 20 tháng 06 năm 2014 Học viên thực hiện
(ký và ghi rõ họ tên)
Nguyễn Thanh Bình
Trang 5CHƯƠNG I: ĐẶT VẤN ĐỀ
Hiện nay đa số các doanh nghiệp vừa nhỏ, hay lớn, các tổ chức, công ty, trườnghọc, chính phủ, v.v đều kết nối internet Và một điều thách thức hiện nay là vấn đềbảo mật thông tin trên internet Bảo mật thông tin trở thành bài toán cấp thiết từ khimạng internet phát triển một cách bùng nổ
Hệ thống thông tin khổng lồ trên internet được chia sẻ trên khắp thế giới Tuynhiên, đồng thời với lợi ích to lớn của nó, mạng internet cùng với các công nghệ liênquan cũng cho thấy mặt hạn chế tất yếu là tính mất an toàn, dễ bị xâm phạm, tấn công.Hậu quả của các cuộc tấn công có thể chỉ là những phiền phức nhỏ nhưng có thể làmsuy yếu hoàn toàn hệ thống, các dữ liệu, thông tin quan trọng bị xóa, sự riêng tư bị xâmphạm v.v Dó đó, chúng ta phải tránh tối đa sự mất an toàn, phải bảo vệ an toàn cho hệthống Các đối tượng cần đảm bảo an ninh bao gồm:
Dữ liệu truyền đi trên mạng phải đáp ứng được các yêu cầu về: Tính bảomật(Confidentiality) - đảm bảo thông tin không thể bị truy cập trái phép bởi nhữngngười không có thẩm quyền; tính toàn vẹn(Integrity) – đảm bảo thông không bị thayđổi trong quá trình truyền; tín sẵn sàng(Availability) – đảm bảo dữ liệu luon sẵn sàngkhi có yêu cầu truy cập
Tài nguyên bao gồm các thành phần phần cứng và phần mềm của hệ thống Kẻtấn công có thể lợi dụng các lỗ hổng an ninh như các lỗ hổng về hệ điều hành, mạng,ứng dụng Nếu máy tính không có dữ liệu quan trọng thì vẫn rất cần được bảo vệ bởi vì
kẻ tấn công có thể đột nhập và sử dụng nó làm tiền đề cho các cuộc tấn công khác
Trang 6Danh tiếng – kẻ tấn công có thể dùng hệ thống máy tính của một người sử dụng
để tấn công nơi khác, gây tổn thất về uy tín của người sủ dụng đó, v.v
Mối nguy hiểm đầu tiên đối với hệ thống thông tin được phát tán vào năm 1988,khi mà Rober Morris 23 tuổi kích hoạt con sâu máy tính đầu tiên và đã làm lây nhiễmhơn 6000 máy tính mạng ARPANET Và gần đây nhất là lỗ hổng Heartbleed(trái tim rỉmáu) – vào ngày 07/04/2014 lỗ hổng bảo mật "Trái tim rỉ máu", nó dựa trên cơ sở làmsuy yếu các phần mềm bảo mật trên OpenSSL, từ đó cho phép hacker dễ dàng đánh cắp
dữ liệu được bảo vệ bởi biện pháp mã hóa SSL/TLS "Trái tim rỉ máu" đã gây ra mộtcơn hoảng loạn thực sự trên toàn cầu trước những hậu quả mà nó mang lại, rất nhiềungười đã để lộ thông tin, dữ liệu cá nhân quan trọng mà không hề hay biết, thông tin tàikhoản ngân hàng, chứng khoán, các giao dịch trực tuyến, v.v
Các cuộc tấn công, các mã độc, sâu máy tính, virus ngày càng trở nên tinh vihơn làm xuất hiện nhu cầu lớn về một hệ thống có thể phát hiện được các vấn đề này.Một hệ thống phát hiện xâm nhập có khả năng giám sát luồng dữ liệu ra vào hệ thốngmạng, so sánh với cơ sở dữ liệu kiến thức mà nó có để xác định các luồng dữ liệu mang
mã độc Một trong những giải pháp để bảo mật thông tin là phát hiện ra các cuộc tấncông, các mã độc hại, v.v Để phát hiện các cuộc tấn công, v.v chúng ta cần xây dựng
hệ thống phát hiện xâm nhập – IDS(Intrusion Detection System) hay hệ thống ngănchặn tấn công – IPS(Intrusion Prevention System)
Bài luận này sẽ đề cập đến một vấn đề là kết hợp các kỷ thuật Data mining( khaiphá dữ liệu) và ứng dụng trong phòng chống, phát hiện xâm nhập
Trang 7CHƯƠNG II: DATA MINING
2.1 Giới thiệu về Data mining
Khai phá dữ liệu (Data mining) là một khái niệm ra đời vào những năm cuối củathập kỷ 80 Nó bao hàm một loạt các kỹ thuật nhằm phát hiện ra các thông tin có giá trịtiềm ẩn trong các tập dữ liệu lớn (các kho dữ liệu) Về bản chất, khai phá dữ liệu liênquan đến việc phân tích các dữ liệu và sử dụng các kỹ thuật để tìm ra các mẫu hình cótính chính quy (regularities) trong tập dữ liệu
Năm 1989, Fayyad, Piatestsky-Shapiro và Smyth đã dùng khái niệm Phát hiện
tri thức trong cơ sở dữ liệu (Knowledge Discovery in Database – KDD) để chỉ toàn bộ
quá trình phát hiện các tri thức có ích từ các tập dữ liệu lớn Trong đó, khai phá dữ liệu
là một bước đặc biệt trong toàn bộ quá trình, sử dụng các giải thuật đặc biệt để chiết xuất ra các mẫu từ dữ liệu Lịch sử phát triển của Data mining
Những năm 1960: Xuất hiện Cơ sở dữ liệu(CSDL) theo mô hình mạng và môhình phân cấp
Những năm 1970: Thiết lập nền tẩng lý thuyết cho CSDL quan hệ, các hệ quản trị CSDL quan hệ
Những năm 1980: Hoàn thiện lý thuyết về CSDL quan hệ và các hệ quản trị CSDL quan hệ, xuất hiện các hệ quản trị CSDL cao cấp (hướng đối tượng, suy diễn, )
và hệ quản trị hướng ứng dụng trong lĩnh vực không gian, khoa học, công nghiệp, nôngnghiệp, địa lý
Những năm 1990-2000: phát triển Khai phá dữ liệu và kho dữ liệu, CSDL đa phương tiện, và CSDL Web
Quá trình xử lý khai phá dữ liệu bắt đầu bằng cách xác định chính xác vấn đề cần giải quyết Sau đó sẽ xác định các dữ liệu liên quan dùng để xây dựng giải pháp Bước tiếp theo là thu thập các dữ liệu có liên quan và xử lý chúng thành dạng sao cho giải thuật khai phá dữ liệu có thể hiểu được Về lý thuyết thì có vẻ rất đơn giản nhưng
Trang 8khi thực hiện thì đây thực sự là một quá trình rất khó khăn, gặp phải nhiều vướng mắc như: các dữ liệu phải được sao ra nhiều bản (nếu được chiết xuất vào các tệp), quản lý các tệp dữ liệu, phải lặp đi lặp lại nhiều lần toàn bộ quá trình (nếu mô hình dữ liệu thay đổi), v.v.
Bước tiếp theo là chọn thuật toán khai phá dữ liệu thích hợp và thực hiện việc khai phá dữ liệu để tìm được các mẫu (pattern) có ý nghĩa dưới dạng biểu diễn tương ứng với các ý nghĩa đó (thường thì được biểu diễn dưới dạng các luật xếp loại, cây quyết định, phát sinh luật, biểu thức hồi quy,…)
Hiện nay, ngoài thuật ngữ khai phá dữ liệu, người ta còn dùng một số thuật ngữkhác có ý nghĩa tương tự như: khai phá tri thức từ CSDL (knowlegde mining fromdatabases), trích lọc dữ liệu (knowlegde extraction), phân tích dữ liệu/mẫu (data/patternanalysis), khảo cổ dữ liệu (data archaeology),nạo vét dữ liệu (data dredging) Quá trìnhnày bao gồm các bước sau:
o Làm sạch dữ liệu (data cleaning): loại bỏ nhiễu hoặc các dữ liệu không thích hợp
o Tích hợp dữ liệu (data integration): Tích hợp dữ liệu từ các nguồn khác nhau như: CSDL, Kho dữ liệu, file text
o Chọn dữ liệu (data selection): Ở bước này, những dữ liệu liên quan trực tiếp đến nhiệm vụ sẽ được thu thập từ các nguồn dữ liệu ban đầu
o Chuyển đổi dữ liệu (data transformation): Trong bước này, dữ liệu sẽ được chuyển đổi về dạng phù hợp cho việc khai phá bằng cách thực hiện các thao tác nhóm hoặc tập hợp
o Khai phá dữ liệu (data mining): Là giai đoạn thiết yếu, trong đó các phương pháp thông minh sẽ được áp dụng để trích xuất ra các mẫu dữ liệu
o Đánh giá mẫu (pattern evaluation): Đánh giá sự hữu ích của các mẫu biểu diễn tri thức dựa vào một số phép đo
Đây là mô hình minh họa cho các quá trình khai thác dữ liệu : Một số ứng dụng
kỹ thuật khai phá dữ liệu trong viễn thông
Trang 92.2 Các nhiệm vụ của Data mining
Cho đến nay đã có rất nhiều công trình nghiên cứu và phát triển trong lĩnh vựckhai phá dữ liệu Dựa trên những loại tri thức được khám phá, chúng ta có thể phân loạinhư theo các nhiệm cụ như sau:
Khai phá luật thuộc tính: tóm tắt những thuộc tính chung của tập dữ liệu nào đótrong cơ sở dữ liệu Ví dụ như những triệu chứng của một căn bệnh S thì thường có thểđược thể hiện qua một tâp các thuộc tính A
Khai phá những luật phân biệt: khai phá những đặc trưng, những thuộc tính đểphân biệt giữa tập dữ liệu này với tập dữ liệu khác Ví dụ như nhằm phân biệt giữa các
Trang 10chứng bệnh thì một luật phân biệt được dùng để tóm tắt những triệu chứng nhằm phânbiệt chứng bệnh xác định với những chứng bệnh khác.
Khám phá luật kết hợp: khai phá sự kết hợp giữa những đối tượng trong một tập
dữ liệu Giả sử hai tập đối tượng {A1, A2,… ,An} và {B1, B2,… ,Bn} thì luật kết hợp códạng {A1^A2^…^ An) →{B1^ B2^… ^Bn)
Khám phá luật phân lớp: phân loại dữ liệu vào trong tập những lớp đã biết Ví dụnhư một số chiếc xe có những đặc tính chung để phân vào các lớp dựa trên cách tiêuthụ nhiên liệu hoặc có thể phân vào các lớp dựa trên trọng tải…
Phân nhóm: xác định một nhóm cho một tập các đối tượng dựa trên thuộc tínhcủa chúng Một số các tiêu chuẩn được sử dụng để xác định đối tượng có thuộc vềnhóm hay không
Dự báo: dự báo giá trị có thể đúng cuỷa những dữ liệu bị thiếu hoặc sự phân bốthuộc tính nào đó trong tập dữ liệu
Khám phá quy luật biến đổi: tìm những tập luật phản ánh những hành vi tiến hóa,biến đổi chung của một tập dữ liệu Ví dụ như luật khám phá những yếu tố chính tácđộng lên sự thay đổi của những giá cổ phiếu nào đó
2.3 Ứng dụng của Data mining
Khai phá dữ liệu là một lĩnh vực liên quan tới nhiều ngành học khác như: hệCSDL, thống kê, trực quan hoá… hơn nưa, tuỳ vào cách tiếp cận được sử dụng, khaiphá dữ liệu còn có thể áp dụng một số kỹ thuật như mạng nơron, lý thuyết tập thô, tập
mờ, biểu diễn tri thức… So với các phương pháp này, khai phá dữ liệu có một số ưu thế
rõ rệt
So với phương pháp học máy, khai phá dữ liệu có lợi thế hơn ở chỗ, khai phá dữliệu có thể sử dụng với các CSDL chứa nhiều nhiễu, dữ liệu không đầy đủ hoặc biếnđổi liên tục Trong khi đó phương pháp học máy chủ yếu được áp dụng trong cácCSDL đầy đủ, ít biến động và tập dữ liệu không qua lớn
Trang 11Phương pháp hệ chuyên gia: phương pháp này khác với khai phá dữ liệu ở chỗcác ví dụ của chuyên gia thường ở mức cao hơn nhiều so với các dữ liệu trong CSDL,
và chúng thường chỉ bao hàm được các trường hợp quan trọng Hơn nữa các chuyên gia
sẽ xác nhận giá trị và tính hữu ích của các mẫu phát hiện được
Phương pháp thống kê là một trong những nên tảng lý thuyết của khai phá dữliệu, nhưng khi so sánh hai phương pháp với nhau ta có thể thấy các phương phápthống kê còn tồn tại một số điểm yếu mà khai phá dữ liệu khắc phục được:
o Các phương pháp thống kê chuẩn không phù hợp với các kiểu dữ liệu cócấu trúc trong rất nhiều CSDL
o Các phương pháp thống kê hoạt động hoàn toàn theo dữ liệu, nó không sửdụng tri thức có sẵn về lĩnh vực
o Kết quả phân tích của hệ thống có thể sẽ rất nhiều và khó có thể làm rõđược
o Phương pháp thống kê cần có sự hướng dẫn của người dùng để xác địnhphân tích dữ liệu như thế nào và ở đâu
Khai thác dữ liệu được ứng dụng rộng rãi trong rất nhiều lĩnh vực như:
o Ngân hàng: Xây dựng mô hình dự báo rủi ro tín dụng; tìm kiếm tri thức,
qui luật của thị trường chứng khoán và đầu tư bất động sản; phát hiệndùng thẻ tín dụng giả trên mạng và là công cụ hữu ích cho dịch vụ quản lýrủi ro cho thương mại điện tử
o Thương mại điện tử: Công cụ tìm hiểu, định hướng thúc đẩy, giao tiếp
với khách hàng; phân tích hành vi mua sắm trên mạng và cho biết thôngtin tiếp thị phù hợp với loại khách hàng trong một phân khu thị trườngnhất định
o An ninh, an toàn mạng: Ứng dụng trong hệ thống phát hiện xâm nhập
trái phép IDS/IPS để phát hiện ra các cuộc tấn công xâm nhập mạng tráiphép; và nhiều lĩnh vực khác,.v.v
Trang 122.4 Các phương pháp khai phá dữ liệu
Quá trình khai phá dữ liệu là quá trình phát hiện mẫu trong đó giải thuật khaiphá dữ liệu tìm kiếm các mẫu đáng quan tâm theo dạng xác định như các luật, cây phânlớp, hồi quy, phân nhóm,…
2.4.1 Phương pháp quy nạp (Induction)
Một cơ sở dữ liệu là một kho thông tin nhưng các thông tin quan trọng hơn cũng
có thể được suy diễn từ kho thông tin đó Có hai việc chính để thực hiện việc này là suydiễn và quy nạp
Phương pháp suy diễn: Nhằm rút ra thông tin là kết quả logic của các thông tin
trong cơ sở dữ liệu Phương pháp suy diễn dựa trên các sự kiện chính xác để suy ra cáctri thức mới từ các thông tin cũ Mẫu chiết xuất được bằng cách sử dụng phương phápnày thường là các luật suy diễn
Phương pháp quy nạp: Phương pháp quy nạp suy ra các thông tin được sinh ra
từ cơ sở dữ liệu Có nghĩa là nó tự tìm kiếm, tạo mẫu và sinh ra tri thức chứ không phảibắt đầu với các tri thức đã biết trước Các thông tin mà phương pháp này đem lại là cácthông tin hay các tri thức cấp cao diễn tả về các đối tượng trong cơ sở dữ liệu Phươngpháp này liên quan đến việc tìm kiếm các mẫu trong cơ sở dữ liệu
Trong khai phá dữ liệu, quy nạp được sử dụng trong cây quyết định và tạo luật
2.4.2 Cây quyết định và luật
Trong lĩnh vực học máy, cây quyết định là một kiểu mô hình dự báo (predictivemodel), nghĩa là một ánh xạ từ các quan sát về một sự vật/hiện tượng tới các kết luận
về giá trị mục tiêu của sự vật/hiện tượng Mỗi một nút trong (internal node) tương ứngvới một biến; đường nối giữa nó với nút con của nó thể hiện một giá trị cụ thể cho biến
đó Mỗi nút lá đại diện cho giá trị dự đoán của biến mục tiêu, cho trước các giá trị củacác biến được biểu diễn bởi đường đi từ nút gốc tới nút lá đó Kỹ thuật học máy dùng
Trang 13trong cây quyết định được gọi là học bằng cây quyết định, hay chỉ gọi với cái tên ngắngọn là cây quyết định.
Học bằng cây quyết định cũng là một phương pháp thông dụng trong khai phá
dữ liệu Khi đó, cây quyết định mô tả một cấu trúc cây, trong đó, các lá đại diện chocác phân loại còn cành đại diện cho các kết hợp của các thuộc tính dẫn tới phân loại đó.Một cây quyết định có thể được học bằng cách chia tập hợp nguồn thành các tập condựa theo một kiểm tra giá trị thuộc tính Quá trình này được lặp lại một cách đệ qui chomỗi tập con dẫn xuất Quá trình đệ qui hoàn thành khi không thể tiếp tục thực hiện việcchia tách được nữa, hay khi một phân loại đơn có thể áp dụng cho từng phần tử của tậpcon dẫn xuất Một bộ phân loại rừng ngẫu nhiên (random forest) sử dụng một số câyquyết định để có thể cải thiện tỉ lệ phân loại
Cây quyết định cũng là một phương tiện có tính mô tả dành cho việc tính toáncác xác suất có điều kiện Cây quyết định có thể được mô tả như là sự kết hợp của các
kỹ thuật toán học và tính toán nhằm hỗ trợ việc mô tả, phân loại và tổng quát hóa một
tập dữ liệu cho trước Dữ liệu được cho dưới dạng các bản ghi có dạng: (x, y) = (x 1 , x 2 ,
phân loại hay tổng quát hóa x 1 , x 2 , x 3 là các biến sẽ giúp ta thực hiện công việc đó.Các kiểu cây quyết định: Cây quyết định còn có hai tên khác:
Cây hồi quy (Regression tree) ước lượng các hàm giá có giá trị là số thực thay
vì được sử dụng cho các nhiệm vụ phân loại (ví dụ: ước tính giá một ngôi nhà hoặckhoảng thời gian một bệnh nhân nằm viện)
Cây phân loại (Classification tree), nếu y là một biến phân loại như: giới tính
(nam hay nữ), kết quả của một trận đấu (thắng hay thua) Tạo luật: Các luật được tạo ra nhằm suy diễn một số mẫu dữ liệu có ý nghĩa về mặt thống kê Các luật có dạng Nếu P
thì Q với P là mệnh đề đúng với phần dữ liệu trong cơ sở dữ liệu, Q là mệnh đề dự
đoán Ví dụ ta có một mẫu phát hiện được bằng phương pháp tạo luật: Nếu giá 1 cân
Trang 14táo thấp hơn 5000 đồng thì số lượng táo bán ra sẽ tăng 5% Những luật như thế nàyđược sử dụng rất rộng rãi trong việc miêu tả tri thức trong hệ chuyên gia Chúng cóthuận lợi là dễ hiểu đối với người sử dụng Cây quyết định và luật có ưu điểm là hìnhthức miêu tả đơn giản, mô hình suy diễn khá dễ hiểu đối với người sử dụng Tuy nhiên,giới hạn của nó là miêu tả cây và luật chỉ có thể biểu diễn được một số dạng chức năng
và vì vậy giới hạn cả về độ chính xác của mô hình Cho đến nay, đã có rất nhiều giảithuật suy diên sử dụng các luật và cây quyết định được áp dụng trong máy học và trongthống kê
2.4.3 Phân nhóm và phân đoạn
Kỹ thuật phân nhóm và phân đoạn – clustering and segmentation là những kỹthuật phân chia dữ liệu sao cho mỗi phần hoặc mỗi nhóm giống nhau theo một tiêuchuẩn nào đó Mối quan hệ thành viên của các nhóm có thể dựa trên mức độ giốngnhau của các thành viên và từ đó xây dựng nên các luật ràng buộc giữa các thành viêntrong nhóm Một kỹ thuật phân nhóm khác là xây dựng nên các hàm đánh giá thuộctính của các thành phần như là hàm của các tham số của các thành phần Phương phápnày được gọi là phương pháp phân hoạch tối ưu (optimal partitioning) Một ví dụ ứngdụng của phương pháp phân nhóm theo độ giống nhau là cơ sở dữ liệu khách hàng, ứngdụng của phương pháp tối ưu ví dụ như phân nhóm khách hàng theo số các tham số vàcác nhóm thuế tối ưu có được khi thiết lập biểu thuế bảo hiểm
Mẫu đầu ra của quá trình khai phá dữ liệu sử dụng kỹ thuật này là các tập mẫuchứa các dữ liệu có chung những tính chất nào đó được phân tách từ cơ sở dữ liệu Khicác mẫu được thiết lập, chúng có thể được sử dụng để tái tạo các tập dữ liệu ở dạng dễhiểu hơn, đồng thời cũng cung cấp các nhóm dữ liệu cho các hoạt động cũng như côngviệc phân tích Đối với cơ sở dữ liệu lớn, việc lấy ra các nhóm này là rất quan trọng
Trang 15CHƯƠNG III: ỨNG DỤNG KỸ THUẬT DATA
MINING TRONG HỆ THỐNG IDS
3.1 Hệ thống IDS
3.1.1 Giới thiệu
Ngày nay, sự phát triển liên tục của công nghệ máy tính là không thể phủ nhận
Có rất nhiều công ty thiết lập các cổng giao dịch Internet và các khách hàng ngày càngquan tâm hơn đến việc mua bán trên mạng, các thông tin thu thập được phát triểnnhanh chóng Mạng Internet đã trở thành một công cụ thông dụng cho việc giao tiếp
Cùng với sự phát triển của công nghệ thì chúng ta lại phải đối mặt với sự cầnthiết phải tăng cường công tác an ninh Tính gần gũi, mở rộng và sự phức tạp củaInternet làm cho sự cần thiết của an ninh hệ thống thông tin càng trở nên cấp thiết hơnbao giờ hết Việc kết nối hệ thống mạng thông tin vào các hệ thống mạng như Internet
và các hệ thống điện thoại công cộng làm tăng thêm khả năng tiềm ẩn rủi ro đối với hệthống
Đồ án này có tham vọng khám phá và kiểm tra các vấn đề có thể có đối với một
hệ thống phát hiện xâm nhập - IDS, một phần rất quan trọng của an ninh máy tính nóiriêng và an ninh mạng nói chung Một IDS tự bản thân nó không thể ngăn cản cácsecurity brake, nhưng nó phát hiện các mối hiểm họa bằng cách kiểm soát các hoạtđộng không mong muốn
Mục tiêu của đồ án này, kết hợp với kinh nghiệm thực tế và các tham khảo trênmạng, là nhằm xây dựng một hệ thống IDS có khả năng “học” các hành vi tấn công và
có thể xác định được các cuộc tấn công mới mà không cần phải cập nhật lại hệ thống.Điều này là khả quan Một hệ thống uyển chuyển như vậy sẽ không cần thiết phải cómột cơ sở dữ liệu cập nhật thủ công của các dấu hiệu tấn công, bên cạnh đó nó còn cóthể xác định các cuộc tấn công mới dựa trên các mẫu học và không bị phụ thuộc vàocác luật lọc của hãng thứ ba
Trang 163.1.2 Hệ thống phát hiện xâm nhập - IDS
3.1.2.1 IDS(Intrusion Detection System) là gì?
Khi bạn đặt một đồng hồ báo động trên những cánh cửa và trên những cửa sổ trong nhà của bạn, giống như việc bạn đang cài đặt một hệ thống phát hiện xâm nhập (IDS) trong nhà bạn vậy Hệ thống phát hiện xâm nhập được dùng để bảo vệ mạng máytính của bạn điều hành trong một kiểu đơn giản Một IDS là một phần mềm và phần cứng một cách hợp lí để mà nhận ra những mối nguy hại có thể tấn công chống lại mạng của bạn Chúng phát hiện những hoạt động xâm phạm mà xâm nhập vào mạng của bạn Bạn có thể xác định những hoạt động xâm nhập bằng việc kiểm tra sự đi lại của mạng, những host log, những system call, và những khu vực khác mà phát ra những dấu hiệu chống lại mạng của bạn
IDS là hệ thống phát hiện xâm nhập IDS là một 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ấncông từ bên ngoài (từ các hacker) IDS phát hiệ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ần mề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ựa trê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
3.1.2.2 IPS - Intrusion Prevention System:
Là một hệ thống chống xâm nhập, được định nghĩa là một phần mềm hoặc một
thiết bị chuyên dụng có khả năng phát hiện xâm nhập và có thể ngăn chặn các nguy cơ
gây mất an ninh IDS và IPS có rất nhiều điểm chung, do đó hệ thống IDS và IPS có thể được gọi chung là IDP- Intrusion Detection and Prevention IDS chỉ có chức năng
phát hiện xâm nhập dựa vào các mẫu có sẵn IPS có chức năng ngăn chặn những xâm nhập được nghi ngờ ở IDS
3.1.2.3 Vai trò, chức năng của IDS
Phát hiện các nguy cơ tấn công và truy nhập trái phép Đây là vai trò chính của một hệ thống phát hiện xâm nhập IDS, nó có nhiệm vụ xác định những tấn công và truy nhập
Trang 17trái phép vào hệ thống mạng bên trong Hệ thống IDS có khả năng hỗ trợ phát hiện các nguy
cơ an ninh đe dọa mạng mà các hệ thống khác (như bức tường lửa) không có, kết hợp với hệ thống ngăn chặn xâm nhập IPS giúp cho hệ thống chặn đứng, hạn chế các cuộc tấn công, xâm nhập từ bên ngoài
Khả năng cảnh báo và hỗ trợ ngăn chặn tấn công IDS có thể hoạt động trongcác chế độ làm việc của một thiết bị giám sát thụ động (sniffer mode) hỗ trợ cho cácthiết bị giám sát chủ động hay như là một thiết bị ngăn chặn chủ động (khả năng loại bỏlưu lượng khả nghi) IDS hỗ trợ cho các hệ thống an ninh đưa ra các quyết định về lưulượng dựa trên địa chỉ IP hoặc cổng cũng như đặc tính của tấn công
IDS còn có thể cảnh báo và ghi lại các biến cố cũng như thực hiện bắt giữ góilưu lượng khi phát hiện tấn công để cung cấp cho nhà quản trị mạng các thông tin đểphân tích và điều tra các biến cố
Tổ hợp của những thuộc tính và khả năng này cung cấp cho nhà quản trị mạngkhả năng tích hợp IDS vào mạng và tăng cường an ninh đến một mức độ mà trước đâykhông thể đạt đến bằng các biện pháp đơn lẻ như bức tường lửa
Hệ thống phát hiện xâm nhập bao gồm 3 modul chính: Modul thu thập thông tin,
dữ liệu; modul phân tích, phát hiện tấn công; modul phản ứng
Trang 18Modul thu thập thông tin, dữ liệu: Modul này có nhiệm vụ thu thập các gói tin
trên mạng để đem phân tích Vấn đề đặt ra trong thực tế là chúng ta cần triển khai hệthống phát hiện xâm nhập IDS ở vị trí nào trong mô hình mạng của chúng ta Thôngthường chúng ta sẽ đặt IDS ở những nơi mà chúng ta cần giám sát Có hai mô hìnhchính để thu thập dữ liệu đó là : Mô hình ngoài luồng; mô hình trong luồng
Mô hình thu thập dữ liệu ngoài luồng: Trong mô hình ngoài luồng không canthiệp trực tiếp vào luồng dữ liệu Luồng dữ liệu vào ra hệ thống mạng sẽ được sao mộtbản và được chuyển tới modul thu thập dữ liệu Theo cách tiếp cận này hệ thống pháthiện xâm nhập IDS không làm ảnh hưởng tới tốc độ lưu thông của mạng
Mô hình thu thập dữ liệu trong luồng: Trong mô hình này, hệ thống phát hiện xâmnhập IDS được đặt trực tiếp vào luồng dữ liệu vào ra trong hệ thống mạng, luồng dữliệu phải đi qua hệ thống phát hiện xâm nhập IDS trước khi đi vào trong mạng Ưuđiểm của mô hình này, hệ thống phát hiện xâm nhập IDS trực tiếp kiểm soát luồng dữliệu và phản ứng tức thời với các sự kiện an toàn tuy nhiên nó có nhược điểm là ảnhhưởng đáng kể đến tốc độ lưu thông của mạng
Module phân tích, phát hiện tấn công: Đây là modul quan trọng nhất nó có
nhiệm vụ phát hiện các tấn công Modul này được chia thành các giai đoạn:
Tiền xử lý, phân tích, cảnh báo Tiền xử lý: Tập hợp dữ liệu, tái định dạng gói tin;
dữ liệu được sắp xếp theo từng phân loại, phân lớp; xác định định dạng của của dữ liệuđưa vào (chúng sẽ được chia nhỏ theo từng phân loại); ngoài ra, nó có thể tái định dạnggói tin (defragment), sắp xếp theo chuỗi
Phân tích: Phát hiện sự lạm dụng (Misuse detection models): dựa trên mẫu, ưu
điểm chính xác Phân tích các hoạt động của hệ thống, tìm kiếm các sự kiện giống với
các mẫu tấn công đã biết trước Ưu điểm: phát hiện các cuộc tấn công nhanh và chính
xác, không đưa ra các cảnh báo sai làm giảm khả nǎng hoạt động của mạng và giúp các
người quản trị xác định các lỗ hổng bảo mật trong hệ thống của mình Nhược điểm: là
không phát hiện được các cuộc tấn công không có trong cơ sở dữ liệu, các kiểu tấncông mới, do vậy hệ thống luôn phải cập nhật các mẫu tấn công mới
Trang 19Phát hiện tình trạng bất thường (Anomaly detection models): dựa trên sự bất
thường: Ban đầu chúng lưu giữ những mô tả sơ lược về các hoạt đọng bình thường, cáccuộc tấn công xâm nhập gây ra các hoạt động bất bình thường và kỹ thuật này phát hiện
ra các hoạt động bất bình thường đó Ban đầu, chúng lưu giữ các mô tả sơ lược về cáchoạt động bình thường của hệ thống
Các cuộc tấn công xâm nhập gây ra các hoạt động bất bình thường và kỹ thuậtnày phát hiện ra các hoạt động bất bình thường đó Phát hiện dựa trên mức ngưỡng
Phát hiện nhờ quá trình tự học Phát hiện dựa trên những bất thường về giao thức Ưu
điểm: có thể phát hiện ra các kiểu tấn công mới, cung cấp các thông tin hữu ích bổ sung
cho phương pháp dò sự lạm dụng Nhược điểm: thường tạo ra một số lượng các cảnh
báo sai làm giảm hiệu suất hoạt động của mạng
Cảnh báo: Quá trình này thực hiện sinh ra các cảnh báo tùy theo đặc điểm vàloại tấn công, xâm nhập mà hệ thống phát hiện được
Modul phản ứng: Đây là một điểm khác biệt giữa hệ thống phát hiện xâm nhập
IDS và một hệ thống ngăn chặn xâm nhập IPS Đối với hệ thống IDS, chúng thườngchỉ có khả năng ngăn chặn rất hạn chế bởi vì chúng dựa trên cơ chế phản ứng thụ động(passive response) Cơ chế phản ứng thụ động không thể ngăn chặn được tổn thất vì nóchỉ được đưa ra sau khi tấn công đã ảnh hưởng tới hệ thống Khi có dấu hiệu của sự tấncông hoặc thâm nhập, modul phát hiện tấn công sẽ gửi tín hiệu báo hiệu có sự tấn cônghoặc thâm nhập đến modul phản ứng
Lúc đó modul phản ứng gửi tín hiệu kích hoạt tường lửa thực hiện chức nǎngngǎn chặn cuộc tấn công hay cảnh báo tới người quản trị Tại modul này, nếu chỉ đưa
ra các cảnh báo tới các người quản trị và dừng lại ở đó thì hệ thống này được gọi là hệthống phòng thủ bị động Modul phản ứng này tùy theo hệ thống mà có các chức nǎng
và phương pháp ngǎn chặn khác nhau
3.1.2.5 Phân loại
IDS được chia làm hai loại chính: HIDS (Host Intrusion Detection System):triển khai trên máy trạm hoặc server quan trọng, chỉ để bảo vệ riêng từng máy
Trang 20NIDS (Network Intrusion Detection System): đặt tại những điểm quan trọng của
hệ thống mạng, để phát hiện xâm nhập cho khu vực đó
So sánh giữa hệ thống HIDS và NIDS:
Áp dụng trong phạm vi rộng (theo dõi toàn
bộ hoạt động của mạng) Áp dụng trong phạm vi một Host
Trang 21Phát hiện tốt những tấn công, xâm nhập từ
bên ngoài
Phát hiện tốt những tấn công, xâm nhập từbên trong
Phát hiện dựa trên các dữ liệu, thông tin
thu thập trong toàn bộ mạng Phát hiện dựa trên thông tin, dữ liệu trênHost Độc lập với hệ điều hành Phụ thuộc vào hệ điều hành trên Host đóTiết kiệm kinh phí khi triển khai Yêu cầu chi phí cao
Dễ dàng cài đặt, triển khai Phức tạp khi cài đặt, triển khai
3.2 Khai phá dữ liệu trong IDS
NIDS dựa trên khai phá dữ liệu - Tất cả các hệ thống phát hiện xâm nhập đều
dựa trên cơ sở chính là phân tích thống kê hay khai phá dữ liệu Ở phương pháp nàychúng ta có một kho các mẫu hành vi bình thường hay các hành vi vô hại của ngườidung Bất kỳ một sự kiện mới nào diễn ra với hệ thống cũng được so sánh với những
hồ sơ bình thường này và hệ thống xác định độ lệch của các sự kiện này với những mẫubình thường Sau đó nó xác định xem liệu sự kienj này có thể được gán cờ như mộthành động xâm nhập hay không Ở đây có hai kịch bản có thể xảy ra: các hành vi bấtthường (hành vi bình thường nhưng được xem như là đáng nghi) không phải là mộthành động xâm nhập được gán cờ như một hành động xâm nhập Điều này sẽ cho kếtquả chắc chắn sai; các hành vi xâm nhập trái phép không được gán nhãn xâm nhập sẽcho kết quả chắc chắn sai, điều này sẽ gây ra tình trạng nguy hiểm hơn
Trong hệ thống phát hiện xâm nhập dự trên khai phá dữ liệu, chúng ta cần một
cơ sở dữ liệu, tốt nhất là một cơ sở dữ liệu lớn vì khai phá dữ liệu là vô hướng với cơ
sở dữ liệu, cái mà sẽ chứa tất cả các hành vi hay các dấu hiệu vô hại Sau đó kỹ thuậtkhai phá dữ liệu có thể được áp dụng trên cơ sở dữ liệu này để xác định các mối tươngquan và liên kết trong dữ liệu để tìm kiếm một luật mới
Trang 223.2.1 Luật phân lớp
Phát hiện xâm nhập có thể được xem như là một vấn đề phân nhóm: ta phải chiamỗi bản ghi của dữ liệu kiểm toán vào một tập rời rạc các hạng mục có thể, bìnhthường hay một kiểu xâm nhập cụ thể
Căn cứ vào tập các bản ghi, cái mà có một thuộc tính là lớp nhãn, thuật toánphân lớp có thể tính một mô hình mà sử dụng các giá trị thuộc tính đúng đắn nhất đểbiểu diễn cho mỗi khái niệm Ví dụ, xét các bản ghi kết nối sử dụng giao thức telnet ởhình dưới Ở đây, hot là đếm số truy cập vào thư mục hệ thống, tạo và thực hiện các
chương trình… compromise là thuộc tính đến số lỗi “không tìm thấy” file hay đường
dẫn, và “Jump to” các xâm nhập… RIPPER (một thuật toán học máy dựa trên luậtchuẩn được phát triển tại trung tâm nghiên cứu ATT) một chương trình học luật phânnhóm, các luật tạo ra cho việc phân nhóm các kết nối telnet và một số các luật đượchiển thị trong bảng sau