Tải bản đầy đủ (.docx) (42 trang)

Tiểu luận môn Hệ hỗ trợ quyết định ỨNG DỤNG DATA MINING TRONG PHÒNG CHỐNG XÂM NHẬP

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (619.91 KB, 42 trang )

ĐẠI HỌC QUỐC GIA TP. HCM
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
Phan Hữu Phước (CH1301106)
TIỂU LUẬN
ỨNG DỤNG DATA MINING
TRONG PHÒNG CHỐNG XÂM NHẬP
GIẢNG VIÊN: PGS.TS. Đỗ Phúc
TP HỒ CHÍ MINH – 6/2014
Trang 1
MỤC LỤC
Trang 2
GIỚI THIỆU
Data Mining đã trở thành một trong những lĩ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 minh hơ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ải quyế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 ứng dụ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ích khối lượng dữ liệu
khổng lồ.
Nội dung tiểu luận nà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 trong 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 qua internet, 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ính phủ, 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ùng quan trọng và cấp bách hiện nay.
Trang 3
ĐẶT VẤN ĐỀ
1. ĐẶ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ường họ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ừ khi mạ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. Tuy
nhiên, đồng thời với lợi ích to lớn của nó, mạng internet cùng với các công nghệ
liên quan cũng cho thấy mặt hạn chế tất yếu là tính mất an toàn, dễ bị xâm phạm,
tấn công. Hậu quả của các cuộc tấn công có thể chỉ là những phiền phức nhỏ nhưng
có thể làm suy yếu hoàn toàn hệ thống, các dữ liệu, thông tin quan trọng bị xóa, sự
riêng tư bị xâm phạm 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ảo mật
(Confidentiality) - đảm bảo thông tin không thể bị truy cập trái phép bởi những
người không có thẩm quyền; tính toàn vẹn(Integrity) – đảm bảo thông 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àng khi 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.
Danh 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ễm hơ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àm suy yếu các phần mềm bảo mật trên OpenSSL, từ đó
Trang 4
ĐẶT VẤN ĐỀ
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ột cơ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ều ngườ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ài khoả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 vi
hơ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ống mạ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ấn cô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ăn chặ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( khai
phá dữ liệu) và ứng dụng trong phòng chống, phát hiện xâm nhập.
Trang 5
DATA MINING
2. 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ủa thậ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ên quan đế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ông nghiệ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 khi 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
Trang 6
DATA MINING
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
from databases), trích lọc dữ liệu (knowlegde extraction), phân tích dữ liệu/mẫu
(data/pattern analysis), khảo cổ dữ liệu (data archaeology),nạo vét dữ liệu (data
dredging). Quá trình này bao gồm các bước sau:
• 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.
• 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

• 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.
• 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.
• 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
• Đá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 7
DATA MINING
2.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ực
khai 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ại như 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 chứ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ân biệt chứng bệnh xác định với những chứng bệnh khác.
Trang 8
DATA MINING
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 {A

1
, A
2
,… ,A
n
} và {B
1
, B
2
,… ,B
n
} thì luật kết
hợp có dạng {A
1
^A
2
^…^ A
n
) →{B
1
^ B
2
^… ^B
n
).
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êu thụ 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ính
củ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,
khai phá 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ác CSDL đầy đủ, ít biến động và tập dữ liệu không qua lớn
Phươ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.
Trang 9
DATA MINING
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áp
thố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:
• 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.
• 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.
• 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.
• Phương pháp thống kê cần có sự hướng dẫn của người dùng để xác
định phâ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ư:
• 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ện dù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ử
• 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ông tin tiếp thị phù hợp với loại khách hàng trong một phân
khu thị trường nhất định
• 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ái
phép; và nhiều lĩnh vực khác,.v.v.
2.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 khai
phá 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ân lớ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à suy diễn và quy nạp.
Trang 10
DATA MINING
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ác tri 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áp nà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ải bắ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ác thô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ương phá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
(predictive model), 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 ứng vớ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ủa cá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 trong 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ắn gọ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 cho
cá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
con dự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 cho mỗ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ệc chia 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ập con 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ây quyết định để có thể cải thiện tỉ lệ phân loại.
Trang 11
DATA MINING
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án
cá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) = (x1, x2, x3 , xk, y). Biến phụ thuộc (dependant variable) y là biến mà chúng ta
cần tìm hiểu, phân loại hay tổng quát hóa. x1, x2, x3 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ặc
khoả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 tá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ình thứ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ải thuậ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à trong thố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êu
chuẩ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ống
nhau 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ên trong 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ộc tí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.
Trang 12
DATA MINING
Phương pháp này được gọi là phương pháp phân hoạch tối ưu (optimal

partitioning). Một ví dụ ứng dụ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, ứng dụ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ẫu
chứ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.
Khi cá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ông việ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 13
ỨNG DỤNG KỸ THUẬT DATA MINING TRONG HỆ THỐNG IDS
3. Ứ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àng quan 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ển nhanh 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ần
thiế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ủa
Internet 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ơn bao 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ói riê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ác security 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ên mạ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ào các luật lọc của hãng thứ ba.
Trang 14
ỨNG DỤNG KỸ THUẬT DATA MINING TRONG HỆ THỐNG IDS
3.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áy tí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ấn cô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 trái phép vào hệ thống mạng bên trong. Hệ thống IDS có khả năng hỗ trợ
Trang 15
ỨNG DỤNG KỸ THUẬT DATA MINING TRONG HỆ THỐNG IDS
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 trong
cá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ác
thiế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ưu lượ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ói
lư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ạng
khả 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
đây không thể đạt đến bằng các biện pháp đơn lẻ như bức tường lửa.
3.1.2.4. Cấu trúc và hoạt động bên trong của hệ thống IDS
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.

Module 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
Trang 16
ỨNG DỤNG KỸ THUẬT DATA MINING TRONG HỆ THỐNG IDS
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ông thườ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ình chí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 can
thiệ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ột bả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át hiệ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âm nhậ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à ảnh hưở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ạng gó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ấn cô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.
Phá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,
Trang 17
ỨNG DỤNG KỸ THUẬT DATA MINING TRONG HỆ THỐNG IDS
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ậ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ác hoạ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ật
nà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.
Module 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ường chỉ 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ấn cô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ông hoặc thâm nhập đến modul phản ứng.
Lúc đó module phản ứng gửi tín hiệu kích hoạt tường lửa thực hiện chức nǎng
ngǎ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 18
ỨNG DỤNG KỸ THUẬT DATA MINING TRONG HỆ THỐNG IDS
NIDS (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:
NIDS HIDS
Á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
Phá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ên
Host
Độ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
Trang 19
ỨNG DỤNG KỸ THUẬT DATA MINING TRONG HỆ THỐNG IDS
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ày
chú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ười
dung. 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ẫu bình thường. Sau đó nó xác định xem liệu sự kienj này có thể được gán
cờ như một hà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ất thường (hành vi bình thường nhưng được xem như là đáng nghi)
không phải là một hà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ết quả 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ật khai 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ương quan và liên kết trong dữ liệu để tìm kiếm một luật mới.
3.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
chia mỗ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ình thườ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án
phâ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
Trang 20
ỨNG DỤNG KỸ THUẬT DATA MINING TRONG HỆ THỐNG IDS
dựa trên luật chuẩ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ân nhó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 được hiển thị trong bảng sau
Ở đây, chúng ta thấy rằng quả thật RIPPER chọn các giá trị thuộc tính duy
nhất để xác định các xâm nhập. Những luật này trước tiên có thể được xem xét kỹ
và chỉnh sửa bởi các chuyên gia an toàn, sau đó là được kết hợp vào trong hệ thống

phát hiện sự lạm dụng. Sự chính xác của một môt hình phân nhóm phụ thuộc trực
tiếp vào tập các thuộc tính được cung cấp trong quá trình huấn luyện dữ liệu. Ví dụ
nếu các thuộc tính hot, compromised and root shell được chuyển dịch từ các bản ghi
trong bảng trên, RIPPER sẽ có thể thực hiện các luật chính xác để nhận dạng các
kết nối tràn bộ đệm. Vì thế, việc lựa chọn đúng tập các thuộc tính hệ thống là một
bước quan trọng khi thực hiện việc phân nhóm.
3.2.2. Luật kết hợp
Một luật kết hợp chủ yếu là luật toán học được tìm thấy hữu ích trong hệ
thống phát hiện xâm nhập dựa trên khai phá dữ liệu. Mỗi và mọi mô hình được phát
Trang 21
ỨNG DỤNG KỸ THUẬT DATA MINING TRONG HỆ THỐNG IDS
triển tới một mức độ nào đó trong ngữ cảnh này có mối liên hệ theo cách này hay
cách khác với một luật kết hợp.
Trong cơ sở dữ liệu, mối liên kết giữa các thành phần dữ liệu có nghĩa là
chúng ta suy ra rằng phần tử dữ liệu cụ thể tồn tại bởi vì sự xuất hiện của một số các
phần tử dữ liệu trong một giao tác. Mục đích của việc khai phá các luật kết hợp là
để tìm ra tất cả các luật kết hợp tiềm ẩn giữa các phần tử dữ liệu.
Nói chung, trong hệ thống phát hiện xâm nhập dựa trên khai phá dữ liệu chúng
ta tạo một cơ sở dữ liệu của các sự kiện không có sự xâm nhập và sau đó áp dụng
kỹ thuật luật kết hợp vào trong tập dữ liệu đó để tìm ra tất cả các luật khác hoặc các
sự kiện sẽ không có sự xâm nhập. Điều này sẽ giúp tìm ra tất cả các hành vi bình
thường tiềm ẩn. Sau đó những luật này sẽ được so sánh với bất kỳ một tập phần tử
dữ liệu đi vào để xác định liệu đó có phải là một sự xâm nhập hay không. Nhân tố
then chốt nhất ở đây là chúng ta phải thiết lập ngưỡng tối thiểu cho mức độ hỗ trợ
và tin cậy tối thiểu.
3.2.3. Phân cụm(clustering/segmentation)
Phân cụm là kỹ thuật rất quan trọng trong khai phá dữ liệu, nó thuộc lớp các
phương pháp Unsupervised Learning trong Machine Learning. Có rất nhiều định
nghĩa khác nhau về kỹ thuật này, nhưng về bản chất ta có thể hiểu phân cụm là các
qui trình tìm cách nhóm các đối tượng đã cho vào các cụm (clusters), sao cho các

đối tượng trong cùng 1 cụm tương tự (similar) nhau và các đối tượng khác cụm thì
không tương tự (Dissimilar) nhau.
Mục đích của phân cụm là tìm ra bản chất bên trong các nhóm của dữ liệu. Các
thuật toán phân cụm (Clustering Algorithms) đều sinh ra các cụm (clusters). Tuy
nhiên, không có tiêu chí nào là được xem là tốt nhất để đánh hiệu của của phân tích
phân cụm, điều này phụ thuộc vào mục đích của phân cụm như: data reduction,
“natural clusters”, “useful” clusters, outlier detection.
Trang 22
ỨNG DỤNG KỸ THUẬT DATA MINING TRONG HỆ THỐNG IDS
Trang 23
XÂY DỰNG CHƯƠNG TRÌNH PHÁT HIỆN XÂM NHẬP
4. XÂY DỰNG CHƯƠNG TRÌNH PHÁT HIỆN XÂM NHẬP
4.1. Thuật toán phân cụm
4.1.1. Thuật toán gom cụm bằng phương pháp K-means
Thuật toán k-means phân hoạch một tập n object vào trong k cluster sao cho
các đối tượng trong một cluster có độ tương tự cao và các đối tượng trong các
cluster khác nhau có độ tương tự thấp. Mỗi cluster được đại diện bởi trọng tâm
(cluster mean) của nó. Phương pháp k-means phân hoạch một đối tượng vào các
cụm dựa trên khoảng cách của đối tượng đó đến trọng tâm của các cụm. Một đối
tượng được phân vào một cluster nếu khoảng cách từ đối tượng đó đến cluster đang
xét là nhỏ nhất. Sau đó các cluster mean được cập nhật. Quá trình lặp đi lặp lại cho
đến khi hàm mục tiêu đồng qui. Một cách điển hình, hàm mục tiêu square-error
được sử dụng:
2
1
∑ ∑
= ∉
−=
k
i Cp

i
i
mpE
Trong đó, p là đối tượng thuộc cluster C
i
, m
i
là trọng tâm của cluster C
i
.
Thuật toán K-Means thực hiện qua các bước chính sau:
Trang 24
XÂY DỰNG CHƯƠNG TRÌNH PHÁT HIỆN XÂM NHẬP
Bước 1: Chọn ngẫu nhiên K tâm (centroid) cho K cụm (cluster). Mỗi cụm
được đại diện bằng các tâm của cụm.
Bước 2: Tính khoảng cách giữa các đối tượng (objects) đến K tâm (thường
dùng khoảng cách Euclidean).
Bước 3: Nhóm các đối tượng vào nhóm gần nhất
Bước 4: Xác định lại tâm mới cho các nhóm
Bước 5: Thực hiện lại bước 2 cho đến khi không có sự thay đổi nhóm nào của
các đối tượng
Thuật toán k-means
Input:
k: Số các cluster.
D: Một tập dữ liệu chứa n đối tượng
Output: Một tập k cluster.
Method:
(1) Chọn ngẫu nhiên k đối tượng từ D làm trọng tâm ban đầu của k cluster;
(2) repeat
(3) Gán (hay gán lại) mỗi đối tượng cho cluster mà nó gần nhất, dựa trên việc

so sánh các khoảng cách của đối tượng đó đến các cluster
(4) Cập nhật các giá trị trung bình của các cluster
(5) until không có sự thay đổi trong các cluster
Ví dụ: Gom cụm bằng phân hoạch k-means. Giả sửu có một tập các đối tượng được
phân bố trong không gian như hình bên dưới. Cho k=3.
Hình Minh họa thuật toán k-means
Trang 25

×