Thứ Bảy, 15 tháng 3, 2014

Xây dựng mô hình phát hiện đột nhập bất thường dựa trên học máy


LINK DOWNLOAD MIỄN PHÍ TÀI LIỆU "Xây dựng mô hình phát hiện đột nhập bất thường dựa trên học máy": http://123doc.vn/document/1040922-xay-dung-mo-hinh-phat-hien-dot-nhap-bat-thuong-dua-tren-hoc-may.htm


3
Dạng gián đoạn (interruption)

1.3 CÁC BIỆN PHÁP PHÒNG CHỐNG
Các biện pháp phòng chống tấn công và đột nhập đảm bảo
an toàn thông tin và hệ thống thường gồm hai nhóm chính:
i) Các biện pháp ngăn chặn đột nhập như: Tường lửa, xác
thực, mã hóa.
ii) Các biện pháp phát hiện đột nhập.
Trong thực tế, cả hai nhóm trên đều được sử dụng trong đó
biện pháp ngăn chặn đột nhập được sử dụng như lớp phòng vệ
thứ nhất, biện pháp phát hiện đột nhập được sử dụng như lớp
phòng vệ thứ hai.
1.3.1 Các biện pháp ngăn chặn đột nhập
Tường lửa (Firewall)
Bảo vệ vật lý (Physical)
Mã hóa dữ liệu (Data Encryption)
Xác thực (Authentication)
Quyền truy cập (Access Rights)
1.3.2 Các biện pháp phát hiện đột nhập
Có 2 phương pháp phân loại các biện pháp phát hiện đột
nhập: (i) Phương pháp dựa trên kĩ thuật phân tích dữ liệu ; (ii)
Phương pháp dựa trên nguồn dữ liệu cho phát hiện đột nhập.
Phương pháp dựa trên kĩ thuật phân tích dữ liệu: Có 2 kĩ
thuật phát hiện đột nhập:
Phát hiện đột nhập dựa trên chữ kí:
Phát hiện đột nhập dựa trên bất thường:
Phương pháp dựa trên nguồn dữ liệu: Có 2 loại hệ thống
phát hiện đột nhập:
4
Hệ thống phát hiện đột nhập mạng (Network-based
instrusion detection systems-NIDS):
Hệ thống phát hiện đột nhập cho host (Host-based
instrusion detection systems-HIDS):
1.4 KẾT CHƯƠNG
Internet càng phát triển mạnh thì các kẻ tấn công mạng
cũng tìm ra những công cụ và phương pháp tấn công ngày càng
tinh vi hơn. Để tăng tính bảo mật cho hệ thống, các biện pháp
ngăn chặn và phát hiện đột nhập được sử dụng đồng thời với
nhau như hai lớp song song bảo vệ cho hệ thống. Ta sẽ đi sâu
hơn vào các phương pháp phát hiện đột nhập trong chương II
của tài liệu này.

Chương 2 CÁC GIẢI PHÁP PHÁT HIỆN ĐỘT NHẬP
Phát hiện đột nhập là một khâu quan trọng trong đảm bảo
an toàn cho hệ thống máy tính và mạng. Có nhiều giải pháp
hiệu quả được sử dụng trong phát hiện đột nhập. Chương này
trình bày một số giải pháp phát hiện đột nhập, với các khái
niệm cơ bản và phân loại các phương pháp phát hiện đột nhập.
2.1 KHÁI NIỆM VỀ CÁC GIẢI PHÁP PHÁT HIỆN ĐỘT
NHẬP
2.1.1 Phát hiện đột nhập dựa trên chữ kí
Phát hiện đột nhập dựa trên chữ kí quyết định hành vi bình
thường hay bất thường dựa trên những gì đã biết. Phương pháp
này gồm hai bước để phát hiện đột nhập: (i) Đầu tiên là xây
dựng tập chữ kí của các tấn công hay đột nhập đã biết; (ii) Sau
đó kiểm tra hành vi hiện tại xem có match với tập các chữ kí đã
xây dựng hay không để nhận biết một tấn công. Một chữ kí đột
5
nhập đặc tả một phần kịch bản hay các sự kiện có thể dẫn đến
một tấn công hay đột nhập. Chữ kí tấn công không chỉ dùng để
phát hiện đột nhập mà còn có thể dùng để ngăn chặn đột nhập.
2.1.2 Phát hiện đột nhập dựa trên bất thường
Phương pháp này nhằm nhận diện một hành vi bất thường,
hay có dấu hiệu của sự tấn công – xâm nhập của một luồng dữ
liệu dựa vào tập hồ sơ của cách hành vi được xác định là bình
thường, hay hợp pháp, không gây hại.
Tương tự như phương pháp phát hiện đột nhập dựa trên chữ
ký, phương pháp phát hiện đột nhập dựa trên bất thường này
gồm có hai bước: (i) Bước huấn luyện: Xây dựng cơ sở dữ liệu
(CSDL) các hành vi bình thường của đối tượng (người sử dụng,
chương trình ứng dụng, chương trình hệ thống, lưu lượng mạng
); (ii) Và bước kiểm tra: So sánh hành vi hiện tại của đối
tượng với các hành vi được xác định là bình thường được lưu
trong CSDL để xác định các hành vi tấn công, đột nhập.
2.2 PHƯƠNG PHÁP PHÁT HIỆN ĐỘT NHẬP BẤT
THƯỜNG
2.2.1 Các kĩ thuật giám sát trong phát hiện đột nhập
Một trong những nghiên cứu sớm nhất về phát hiện đột
nhập được thực hiện bởi Jim Anderson. Anderson định nghĩa
một đột nhập là bất kì sự cố gắng truy nhập trái phép, thao tác,
thay đổi hay xóa thông tin, hoặc đưa ra một hệ thống không tin
cậy hay không thể sử dụng. Anderson đưa ra ý tưởng là kẻ đột
nhập có thể bị phát hiện bằng cách giám sát sự thay đổi bất
thường trong hành vi của người sử dụng, hay rộng hơn ý tưởng
có thể được áp dụng để phát hiện đột nhập bằng cách giám sát
6
hành vi của một đối tượng có thể là chương trình, lưu lượng
mạng.
2.2.1.1 Kiểm soát hành vi người sử dụng
Phương pháp này thường áp dụng cho các hệ thống HIDS,
dữ liệu được thu thập từ các bản ghi hoạt động hệ thống của bản
thân các máy trạm. Một số hành vi người sử dụng như: thay đổi
registry, thao tác file, truy nhập hệ thống, đổi mật khẩu, có thêm
quyền sử dụng, và một số các hành vi khác ảnh hưởng trực tiếp
tới máy trạm … có thể dùng để lập hồ sơ hành vi cho hệ thống
phát hiện đột nhập.
2.2.1.2 Kiểm soát hoạt động của mạng
Trong các hệ thống NIDS, các hệ thống giám sát sẽ thu thập
thông tin từ nhiều điểm trong mạng, bao gồm cả các giao dịch ở
biên và nội bộ mạng. Các thông tin có được từ việc giám sát
hoạt động mạng như: địa chỉ IP nguồn – đích, cổng nguồn –
đích của các giao dịch TCP/UDP, các gói tin ICMP với thông
điệp không tìm thấy trạm đích, các máy chủ và dịch vụ đang
được sử dụng trong mạng … Từ đó hệ thống phát hiện tấn công
đột nhập có thể đưa ra một số cảnh báo, ví dụ: máy trạm trong
mạng có địa chỉ không được xác thực, máy trạm cố gắng sử
dụng dịch vụ không được xác thực, máy trạm cố gắng kết nối
tới một máy trạm cụ thể khác trong hoặc ngoài mạng …
Ưu điểm của phương pháp này so với phương pháp kiểm
soát hành vi người sử dụng là các hoạt động của mạng ít có sự
thay đổi hành vi bình thường như của người dùng.
2.2.1.3 Kiểm soát hành vi chương trình
Một phương pháp được đưa ra bởi Fink, Levitt và Ko, thay
vì cố gắng xây dựng hồ sơ người dùng bình thường, họ xác định
7
hành vi bình thường của các tiến trình đặc quyền. Họ định nghĩa
hành vi bình thường sử dụng một ngôn ngữ đặc tả chương trình
trong đó các hoạt động được phép (các lời gọi hệ thống và các
tham số của nó) của một tiến trình được xác định.
2.2.2 Mô hình hóa hành vi chương trình sử dụng lời gọi hệ
thống
Các hệ thống phát hiện đột nhập sử dụng rất nhiều loại dữ
liệu khác nhau để phân biệt các hoạt động là bình thường hay
một đột nhập. Và lời gọi hệ thống được sinh ra từ các chương
trình khác nhau là một trong các dữ liệu phổ biến mà các
phương pháp sử dụng để xây dựng mô hình mô tả hành vi bình
thường cho phát hiện đột nhập. Mỗi phương pháp bao gồm việc
xây dựng hoặc huấn luyện mô hình sử dụng các trace của các
tiến trình bình thường. Dưới đây là một số phương pháp thường
được sử dụng.
2.2.2.1 Phương pháp dựa trên tần số
Mô hình các phương pháp dựa trên tấn số phân phối tần số
của các sự kiện khác nhau. Các sự kiện này chính là các sự kiện
của các mẫu của các lời gọi hệ thống trong chuỗi.
Phương pháp mô hình hóa này tính toán tần số xuất hiện
của các mẫu. Phương pháp này được giới thiệu bởi Bhangoo và
Helman. Trong phương pháp này, tần số của mỗi chuỗi lời gọi
được xếp hạng bởi số lần xuất hiện cả trong các trace bình
thường và trace có dấu hiệu xâm nhập. Vì thế, những chuỗi
thường xuất hiện trong các trace xâm nhập, hay ít xuất hiện
trong các thao tác bình thường được cho phân loại vào nhóm
chuỗi không đáng tin.
2.2.2.2 Phương pháp dựa trên khai khoáng dữ liệu
8
Phương pháp khai khoáng dữ liệu được thiết kế để xác định
các đặc điểm quan trọng nhất từ một tập dữ liệu lớn.Ý tưởng
của phương pháp này là phát hiện được nhiều định nghĩa ngắn
gọn của chương trình bình thường hơn là đạt được đơn giản
bằng cách lấy danh sách tất cả các mẫu trong chương trình bình
thường. Phương pháp này thực hiện như sau: Đầu tiên chương
trình khai khoáng dữ liệu được sử dụng để phát hiện các mẫu
tổng quát (tập các qui tắc) từ cơ sở dữ liệu lớn. Tiếp theo các
mẫu được sử dụng để mô tả hành vi người dùng. Hồ sơ người
dùng được thống kê trên hành vi của người dùng trong các mẫu.
Từ đó xác định hành vi của người sử dụng là đột nhập hay
không. Cuối cùng, mô hình (đã học) kết hợp với bằng chứng từ
các hồ sơ đưa ra cảnh báo nếu có đột nhập.
2.3 ỨNG DỤNG HỌC MÁY TRONG PHÁT HIỆN ĐỘT
NHẬP BẤT THƯỜNG
FSA là một cách tự nhiên để mô tả các hành vi bình thường
của chương trình bằng cách biểu diễn cấu trúc chương trình như
các vòng lặp, phân nhánh. Khác với các kĩ thuật trước, các trạng
thái của FSA có thể nhớ sự tương quan các trường hợp ngắn và
trường hợp dài giữa các lời gọi hệ thống do đó thực hiện phát
hiện đột nhập tin cậy hơn.
Kosoresow và Hofmeyr xây dựng bằng tay máy tự động
hữu hạn đơn định (DFA-Deterministic Finite Automaton) để
mô tả hành vi bình thường của chương trình sử dụng các lời gọi
hệ thống. DFA có thể được xây dựng để mô tả hành vi bằng
cách sử dụng ngôn ngữ macro. Mỗi chương trình, lựa chọn thủ
công các macro match với các mẫu mô tả hành vi chương trình
bình thường. Sau đó, so sánh các macro đã tạo với hành vi
9
chương trình để tìm mismatch nhằm phát hiện hành vi bất
thường. DFA có thể phát hiện một số đột nhập. Tuy nhiên, xây
dựng bằng tay FSA từ các lời gọi hệ thống là công việc rất tốn
thời gian đặc biệt với các chương trình phức tạp và các trace
chạy với thời gian dài.

2.4 KẾT CHƯƠNG
Mục tiêu của các hệ thống phát hiện đột nhập là có thể đưa
ra được các cảnh báo về sự bất thường ngay khi có dấu hiệu của
sự xâm nhập. Nguyên tắc hoạt động của cả hai kỹ thuật phát
hiện đột nhập cơ bản, dựa trên chữ ký và dựa trên bất thường, là
so sánh các trường hợp giám sát hiện tại với các mô hình định
nghĩa xâm nhập của mình. Sự khác biệt nhất giữa hai phương
pháp đó là các hệ thống dựa chữ ký mô hình hóa các trường hợp
bất thường, còn các hệ thống dựa bất thường lại sử dụng các
trường hợp bình thường để mô hình hóa.
Mỗi phương pháp phát hiện đột nhập và mô hình hóa dữ
liệu hóa khác nhau đều có những ưu và nhược điểm riêng.

Chương III PHÁT HIỆN ĐỘT NHẬP BẤT THƯỜNG
ĐA LỚP DỰA TRÊN THÔNG KÊ VÀ MÁY TRẠNG
THÁI HỮU HẠN
Chương II đã phân tích chi tiết các phương pháp phát hiện
đột nhập được nghiên cứu hiện nay. Trong đó các phương pháp
phát hiện đột nhập dựa trên thống kê và học máy cho kết rất
khả quan. Tuy nhiên, do các dạng tấn công và đột nhập phát
triển rất nhanh và thường xuyên thay đổi hình thức, nên các
phương pháp phát hiện đơn lớp thường gặp nhiều khó khăn.
10
Trong chương này, một mô hình phát hiện đa lớp được phát
triển nhằm giảm tỷ lệ cảnh báo sai và nâng cáo tỷ lệ phát hiện
đúng.
3.1 PHƯƠNG PHÁP PHÁT HIỆN ĐỘT NHẬP BẤT
THƯỜNG DỰA TRÊN THỐNG KÊ
3.1.1 Xây dựng CSDL bình thường.
Để xây dựng CSDL, ta trượt cửa sổ kích thước k qua các
trace của các lời gọi hàm hệ thống và ghi lại những chuỗi lời
gọi khác nhau xuất hiện bên trong cửa sổ trượt( loại bỏ những
chuỗi trùng nhau ). Bởi vì mỗi chương trình chạy trên mỗi hệ
điều hành khác nhau sẽ tạo ra các chuỗi lời gọi hàm hệ thống
khác nhau, do đó mỗi cặp chương trình – hệ điều hành phân biệt
được xây dựng một CSDL riêng. Sau đó CSDL này được sử
dụng để giám sát các hành vi tiến trình được thực hiện bởi cặp
chương trình – hệ điều hành tương ứng.
3.1.2 Phát hiện đột nhập bất thường
Chúng ta đã xây dựng xong CSDL biểu diễn hành vi bình
thường, bước tiếp theo là tiến hành kiểm tra những trace hành
vi mới sử dụng CSDL đã xây dựng. Mọi chuỗi lời gọi hàm hệ
thống chiều dài k trong trace mới được kiểm tra xem có xuất
hiện trong CSDL bình thường hay không. Mỗi chuỗi không
xuất hiện trong CSDL bình thường được coi là một chuỗi không
khớp ( bất thường) – mismatch. Độ khẳng định mỗi trace mới là
bất thường tỉ lệ thuận với số mismatch xuất hiện trong quá trình
kiểm tra trace.
Đây là một thuật toán đơn giản có thể cài đặt hiệu quả với
độ phức tạp tính toán là O(N), với N là chiều dài của trace
(trong trường hợp của các lời gọi hệ thống).
11
3.2 MÔ HÌNH PHÁT HIỆN ĐỘT NHẬP DỰA TRÊN
MÁY TRẠNG THÁI HỮU HẠN (FSA)
3.2.1 Xây dựng mô hình FSA
Định nghĩa:
Máy trạng tháy hữu hạn (FSM- Finite State Machine) hay
máy tự động trạng thái hữu hạn (FSA – Finite State
Automaton), hoặc gọi đơn giản là máy trạng thái, là một trừu
tượng toán học thường được sử dụng để thiết kế mạch logic số
hoặc chương trình máy tính. Nó là một mô hình hành vi bao
gồm một số hữu hạn trạng thái, các chuyển dịch giữa các trạng
thái, các hành động, tương tự như đồ thị luồng trên đó chúng ta
có thể biết được đường đi của mạch logic khi điều kiện nhất
định nào đó được thỏa mãn. Nó có bộ nhớ trong hữu hạn, một
tính năng đầu vào đọc các ký hiệu một cách tuần tự, mỗi lần
một ký hiệu và không quay ngược trở lại; một đầu ra có thể ở
dạng giao diện người dùng, một khi mô hình được cài đặt. Hoạt
động của FSM bắt đầu từ một trong các trạng thái (gọi là trạng
thái bắt đầu), đi qua các chuyển dịch sang các trạng thái khác
dưới tác động của đầu vào và có thể dừng ở bất kỳ trạng thái
nào. Tuy nhiên chỉ một số trạng thái nhất định đánh dấu sự
thành công của hoạt động (gọi là trạng thái chấp nhận hay trạng
thái dừng).
Khái niệm và từ vựng
Trạng thái hiện tại được xác định bởi các trạng thái quá khứ
của hệ thống. Như vậy có thể nói rằng FSM ghi thông tin về
quá khứ, nghĩa là nó phản ánh những thay đổi từ trạng thái bắt
đầu đến thời điểm hiện tại. Số lượng và tên các trạng thái
thường phụ thuộc vào các trạng thái khác nhau của bộ nhớ, ví
12
dụ bộ nhớ có 3 bit sẽ có 8 trạng thái có thể sử dụng. Một chuyển
dịch biểu thị một sự thay đổi trạng thái và được diễn đạt bằng
một điều kiện cần được thỏa mãn để chuyển dịch có thể xảy ra.
Một hành động là một mô tả hoạt động được thực hiện ở một
thời điểm nhất định. Có nhiều loại hành động:
Hành động đi vào (entry action): Được thực hiện khi vào
một trạng thái.
Hành động đi ra ( exit action): Được thực hiện khi ra một
trạng thái.
Hành động đầu vào ( input action): Được thực hiện phụ
thuộc vào trạng thái hiện tại và các điều kiện vào.
Hành động chuyển dịch (transition action): Được thực hiện
khi thực hiện chuyển dịch.
c)Mô hình toán học
Tương ứng với phân lớp tổng quát ở trên, các định nghĩa về
FSM như sau:
Một FSM đơn định là một bộ 5 (Σ,S,s
0
,δ,F), trong đó:
Σ là bảng chữ cái đầu vào (một tập hữu hạn, không rỗng các
ký hiệu).
S là tập hữu hạn, không rỗng các trạng thái.
s
0
là trạng thái khởi tạo, một phần tử thuộc S.
δ là hàm chuyển trạng: (ở FSM không
đơn định là a .
F là tập các trạng thái kết thúc, có thể rỗng, là tập con của
S.
3.2.2 Kỹ thuật tự động tạo FSA cho phát hiện đột nhập bất
thường

Không có nhận xét nào:

Đăng nhận xét