Tải bản đầy đủ (.pdf) (28 trang)

Nghiên cứu hệ thống phát hiện xâm nhập IDS cho máy chủ dịch vụ (tt)

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 (579.14 KB, 28 trang )

HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG
---------------------------------------

Phùng Văn Thuần
NGHIÊN CỨU HỆ THỐNG PHÁT HIỆN XÂM NHẬP IDS
CHO MÁY CHỦ DỊCH VỤ
CHUYÊN NGÀNH HỆ THỐNG THÔNG TIN
MÃ SỐ: 8480104
LUẬN VĂN THẠC SĨ KỸ THUẬT
NGƯỜI HƯỚNG DẪN KHOA HỌC: TS. NGUYỄN CHIẾN TRINH

HÀ NỘI – 2018


Luận văn được hồn thành tại:
HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG

Người hướng dẫn khoa học: Tiến Sĩ. Nguyễn Chiến Chinh
(Ghi rõ học hàm, học vị)

Phản biện 1: PGS. TS. Lê Thanh Hương
Phản biện 2: TS. Vũ Văn Thỏa

Luận văn sẽ được bảo vệ trước Hội đồng chấm luận văn thạc sĩ tại
Học viện Cơng nghệ Bưu chính Viễn thơng
Vào lúc: ....... giờ ....... ngày ....... tháng .......năm 2018

Có thể tìm hiểu luận văn tại:
- Thư viện của Học viện Cơng nghệ Bưu chính Viễn thơng



1

MỞ ĐẦU
Kể từ khi ra đời, Internet không ngừng phát triển và mở rộng đã mang lại rất
nhiều tiện ích hữu dụng như: hệ thống thư điện tử, trò chuyện trực tuyến, tìm
kiếm dữ liệu, trao đổi thơng tin. Khả năng kết nối trên toàn thế giới đang mang
lại thuận tiện cho tất cả mọi người, nhưng nó cũng tiềm ẩn những nguy cơ khó
lường đe dọa tới mọi mặt của đời sống xã hội. Việc mất trộm thông tin trên
mạng gây ảnh hưởng đến tính riêng tư cho các cá nhân, những vụ lừa đảo, tấn
công gây từ chối dịch vụ gây ảnh hưởng lớn đến hoạt động kinh doanh cho các
cơng ty và gây phiền tối cho người sử dụng Internet làm cho vấn đề bảo mật
trên mạng ln là một vấn đề nóng và được quan tâm đến trong mọi thời điểm.
Bên cạnh đó, các hình thức phá hoại mạng cũng trở nên tinh vi và phức tạp hơn.
Do đó đối với mỗi hệ thống, nhiệm vụ bảo mật được đặt ra cho người quản trị
mạng là hết sức quan trọng và cần thiết. Xuất phát từ những thực tế đó, việc
tìm hiểu về các cách tấn cơng phổ biến nhất hiện nay và các phịng chống các
loại tấn công này là rất thiết thực.
Vấn đề bảo mật được đặt ra và những đóng góp lớn trong việc hạn chế và ngăn
chặn bảo mật, như Firewall ngăn chặn những kết nối khơng đáng tin cậy, mã
hóa làm tăng độ an toàn cho việc truyền dữ liệu, các chương trình diệt virus với
các các cơ sở dữ liệu được cập nhật. Những yêu cầu trên dẫn đến yêu cầu phải
có một phương pháp bảo mật mới hỗ trợ cho những phương pháp bảo mật
truyền thống. Hệ thống phát hiệm xâm nhập IDS (Intruction Detection System)
là một hệ thống giám sát lưu thơng mạng có khả năng phát hiện các hoạt động
khả nghi hay các hành động xâm nhập trái phép trên hệ thống mạng trong tiến
trình tấn cơng, cung cấp thông tin nhận biết và đưa ra cảnh báo cho hệ thống,
người quản trị.


2


Từ những lý do trên, học viên lựa chọn đề tài “Nghiên cứu hệ thống phát hiện
xâm nhập IDS cho máy chủ dịch vụ ” cho luận văn Thạc sĩ của mình.
Mục đích nghiên cứu chính của luận văn
- Nghiên cứu hệ thống phát hiện xâm nhập IDS cho máy chủ dịch vụ.
- Nghiên cứu các kỹ thuật phân tích lưu lượng dựa trên thống kê, học máy
nhằm phát hiện sớm các dấu hiệu tấn công bởi các phần mềm độc hại.
- Nghiên cứu hệ thống phát hiện xâm nhập trái phép dựa trên phân tích lưu
lượng mạng bất thường.
- Đề xuất xây dựng hệ thống phát hiện xâm nhập trái phép IDS cho máy
chủ dịch vụ dựa trên thuật toán PCA. Xây dựng hệ thống IDS cho các
thiết bị mạng, thiết lập các hệ thống thu thập thông tin cho các vùng lưu
lượng mạng, kết hợp với hệ thống IDS cho các máy chủ tạo thành một hệ
thống cho toàn mạng.
II. NỘI DUNG
Nội dung của luận văn được chia thành 3 chương với những nội dung cụ
thể như sau:
Chương 1: TỔNG QUAN VỀ IDS
- Khái quát về IDS
- Phân loại IDS
- Kiến trúc và thành phần IDS
- Cơ chế hoạt động IDS
- Kết luận chương
Chương 2: MỘT SỐ KỸ THUẬT PHÂN TÍCH LƯU LƯỢNG PHÁT HIỆN
TẤN CƠNG MẠNG
- Phân tích lưu lượng mạng điển hình
- Phân tích lưu lượng mạng dựa trên học máy và khai phá dữ liệu
- Phân tích lưu lượng bất thường
- Kết luận chương
Chương 3: ỨNG DỤNG PCA XÂY DỰNG IDS CHO MÁY CHỦ DỊCH VỤ

- Kiến trúc hệ thống giám sát


3

- Phạm vi thu thập dữ liệu
- Đề xuất phương pháp xây dựng IDS trên máy chủ dịch vụ và đánh giá
kết quả
- Kết luận chương


4

CHƯƠNG 1: TỔNG QUAN VỀ IDS

1.1. Khái quát về IDS
Hệ thống phát hiện xâm nhập (Intrusion Detection System - IDS) là hệ
thống phần cứng hoặc phần mềm có chức năng giám sát lưu thông mạng, tự
động theo dõi các sự kiện xảy ra trên hệ thống máy tính, phân tích để phát hiện
ra các vấn đề liên quan đến an ninh, bảo mật và đưa ra cảnh báo cho nhà quản
trị.
IDS cũng có thể phân biệt giữa những tấn cơng vào hệ thống từ bên trong
(từ những người trong hệ thống) hay tấn cơng từ bên ngồi (từ những 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 (tương tự
như các phần mềm dựa 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 lượ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.
Một hệ thống phát hiện xâm nhập trái phép cần thỏa mãn những yêu cầu
sau:
✓ Tính chính xác (Accuracy)

✓ Hiệu năng (Performance)
✓ Tính trọn vẹn (Completeness)
✓ Chịu lỗi (False Tolerance)
✓ Khả năng mở rộng (Scalability)

1.1.1. Lịch sử phát triển của IDS
Trên thế giới: Ra đời đầu tiên cách đây khoảng 30 năm, khái niệm phát
hiện xâm nhập xuất hiện qua một bà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át hiệ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.


5

1.1.2 Lợi ích chung của IDS
Ưu điểm của hệ thống là có thể phát hiện được những kiểu tấn cơng chưa
biết trước. Tuy nhiên, hệ thống này lại sinh ra nhiều cảnh báo sai do định nghĩa
quá chung về cuộc tấn công. Thống kê cho thấy trong hệ thống này, hầu hết các
cảnh báo là cảnh báo sai, trong đó có nhiều cảnh báo là từ những hành động
bình thường, chỉ có một vài hành động là có ý đồ xấu, hầu hết các hệ thống đều
có ít khả năng giới hạn các cảnh báo nhầm.

1.1.3. Những thành phần không phải IDS
- Hệ thống đăng nhập mạng được sử dụng để phát hiện lỗ hổng đối với
vấn đề từ chối dịch vụ (DoS) trên một mạng nào đó. Ở đó sẽ có hệ
thống kiểm tra lưu lượng mạng.
- Các cơng cụ đánh giá lỗ hổng kiểm tra lỗi và lỗ hổng trong hệ điều
hành, dịch vụ mạng (các bộ quét bảo mật).
- Các sản phẩm chống virus đã thiết kế để phát hiện phần mềm mã nguy

hiểm như virus Trojan horse, worm... Mặc dù những tính năng mặc
định có thể rất giống hệ thống phát hiện xâm nhập và thường cũng cấp
một công cụ phát hiện lỗ hổng bảo mật hiệu quả.
- Tường lửa (firewall).
- Các hệ thống bảo mật/mật mã, ví dụ như VPN, SSL, S/MIME,
Kerberos, Radius…

1.2. Phân loại IDS
1.2.1. Hệ thống phát hiện xâm nhập dựa trên host (Host IDS)
1.2.2. Hệ thống phát hiện xâm nhập dựa trên mạng (NIDS)
1.2.3. Phát hiện xâm nhập IDS lai (Distributed (Hybrid) IDS)

1.3. Kiến trúc 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 thơng tin (Information Collection)


6

- Thành phần phát hiện (Detection)
- Thành phần phản ứng (Response)

1.4.

Cơ chế phát hiện xâm nhập IDS

Mục đích của hệ thống IDS là nhằm cảnh báo cho người quản trị khi phát
hiện xâm nhập. Những hệ thống báo trộm kích hoạt một tín hiệu dựa trên sự
chuyển động của đầu dị. Các hệ thống IDS cũng có hai dạng cơ chế kích hoạt
(triggering mechanism):

- Phát hiện sử dụng sai (dựa trên những dấu hiệu)
-

Phát hiện sự bất thường (dựa trên mơ tả sơ lược)

1.5. Kết chương
Chương 1 trình bày tổng quan về cơ sở lý thuyết, các nghiên cứu liên quan
đến IDS, đề tài luận văn bao gồm các nội dung cơ bản như sau:
-

Tổng quan về hệ thống phát hiện xâm nhập IDS, các ưu điểm, nhược điểm
của hệ thống phát hiện xâm nhập IDS.

-

Phân loại IDS theo dựa trên host và dựa trên mạng.

-

Kiến trúc và thành phần của hệ thống phát hiện IDS.

-

Cơ chế hoạt động – phát hiện xâm nhập của hệ thống IDS.


7

Chương 2: MỘT SỐ KỸ THUẬT PHÂN TÍCH LƯU LƯỢNG
PHÁT HIỆN TẤN CÔNG MẠNG

2.1. Tổng quan về các phương pháp, mơ hình phân tích và phát hiện
lưu lượng bất thường
Trong nhiều năm qua, đã có nhiều giải pháp được đưa ra để phân tích và
phát hiện lưu lượng bất thường. Các mơ hình, phương pháp phân tích và phát
hiện lưu lượng bất thường có thể được chia thành các nhóm chính là: nhóm
phương pháp thống kê, nhóm phương pháp dựa vào tri thức, nhóm các phương
pháp dựa vào khai phá dữ liệu và học máy.
Phương pháp, mơ hình tri thức (Knowledge model) xây dựng các luật hoặc
mẫu dấu hiệu để phát hiện bất thường. Về căn bản, hệ thống cần thu thập thông
tin tri thức về những loại bất thường khác nhau.
Phương pháp khai phá dữ liệu và học máy (Data mining/Machine Learning)
thường áp dụng phân cụm (Clustering) hoặc phân lớp (Classification) để phát
hiện bất thường.
2.2. Lưu lượng mạng bất thường
2.2.1. Khái niệm về lưu lượng mạng bất thường
Bất thường được định nghĩa là “sự sai lệch hoặc vượt ra khỏi phạm vi của
một thủ tục, quy tắc hoặc khuôn dạng bình thường”. Lưu lượng mạng bất
thường (sau đây có thể gọi tắt là lưu lượng bất thường) là lưu lượng của những
luồng thông tin không tuân theo ứng xử, hành vi thơng thường. Sự biến đổi bất
thường này có thể do nhiều nguyên nhân khác nhau.
Việc xét bất thường cho từng ứng dụng khác nhau nằm ngoài phạm vi nghiên
cứu của luận văn. Luận văn này chỉ tập trung vào phát hiện bất thường chủ yếu
liên quan đến lưu lượng mạng được mô tả bởi các dữ liệu thuộc tính tại máy
chủ dịch vụ.


8

2.2.2. Nguyên nhân gây ra lưu lượng mạng bất thường
Bất thường xảy ra có thể do nhiều nguyên nhân. Bảng sau liệt kê những

nguyên nhân điển hình nhất gây ra sự kiện bất thường trong lưu lượng mạng.
• Nguyên nhân tắc nghẽn mạng: Đây là bản chất tự nhiên của mạng chuyển
mạch gói. Mơi trường mạng hội tụ như hiện nay với sự xuất hiện ngày càng
nhiều các loại hình dịch vụ, ứng dụng, tắc nghẽn là hiện tượng rất phổ biến.
• Do sự tăng đột biến của số lượng truy nhập người dùng vào mạng (vào các
trang tin tức, máy chủ, cơ sở dữ liệu...).
• Các sự cố hệ thống: Lỗi hỏng hóc thiết bị, đường truyền dẫn đến tăng/giảm
lưu lượng mạng (giảm ở tuyến có thiết bị lỗi, tăng sang tuyến khác, có thể do
tái định tuyến).
• Các hành vi qt thăm dị mạng hoặc tấn cơng mạng (làm tràn ngập băng
thông, tràn lưu lượng gây ra đột biến tăng lưu lượng mạng, gây ra hiện tượng
tắc nghẽn cục bộ, tấn công từ chối dịch vụ, sâu, virus…)
2.2.3. Phân tích và phát hiện lưu lượng mạng bất thường
Phân tích và phát hiện lưu lượng mạng bất thường nghĩa là cần phân tích,
xác định một tập hợp hoặc một phạm vi giới hạn những dữ liệu được coi là bình
thường của các luồng tin và thực hiện theo dõi, so sánh dữ liệu tiếp nhận được
với những dữ liệu được coi là bình thường này. Nếu dữ liệu khơng nằm trong
tập dữ liệu bình thường sẽ được coi là bất thường.
Q trình phân tích, phát hiện và xử lý bất thường gồm các giai đoạn như
sau:
• Thu thập lưu lượng mạng.
• Tiền xử lý dữ liệu, trích chọn (tách) các thuộc tính dữ liệu cần thiết.
• Phân tích, phát hiện bất thường: dựa trên các mẫu dữ liệu thu thập từ lưu
lượng mạng, phân tích và tìm ra những dữ liệu có dấu hiệu bất thường để có
cảnh báo sớm.


9

• Xác định nguyên nhân, nhận dạng và phân loại bất thường, phân tích để

tìm ra nguồn gốc của bất thường.
• Tìm cách ngăn chặn, cập nhật tập luật các chương trình phịng chống, cải
tiến các phương pháp phát hiện, hệ thống bảo vệ hiện có.
Phân tích và phát hiện lưu lượng bất thường là giai đoạn quan trọng nhất của
tồn bộ q trình phân tích, phát hiện và xử lý bất thường.

2.3. Một số phương pháp phân tích và phát hiện lưu lượng bất thường
điển hình
2.3.1. Phương pháp dựa trên mơ hình Markov
Mơ hình Markov (Markov Model) phát hiện bất thường bằng cách giám sát hệ
thống tại các chu kỳ cố định và lưu giữ trạng thái của hệ thống, đó là xác xuất
của mỗi trạng thái tại từng chu kỳ. Trạng thái của hệ thống thay đổi khi xuất
hiện sự kiện và sự kiện bất thường được phát hiện nếu xác suất xuất hiện của
trạng thái đó là thấp.
2.3.2. Phương pháp dựa trên mạng Bayesian
Đây là phương pháp giám sát dựa trên biểu diễn sự mã hóa xác xuất mối quan
hệ giữa các biến. Phương pháp này có thể giả định các biến độc lập hoặc phụ
thuộc nhau và có khả năng phát hiện bất thường với nhiều lớp. Mạng Bayesian
(Bayesian Network) sử dụng để mơ hình hóa hệ thống dựa trên các thuộc tính
(biến) và xác xuất giữa những thuộc tính này với lớp bất thường. Với một quan
sát cần kiểm tra, phương pháp này tính xác xuất trong các lớp dữ liệu đã phân
loại khác nhau, bao gồm cả bình thường và bất thường. Giá trị tính được lớn
nhất dùng để xác định lớp cho quan sát đó.
2.3.3. Phương pháp dựa trên phân tích thống kê
Sử dụng thống kê để xác định các sự kiện bất thường được sử dụng rộng rãi
trong các hệ thống phát hiện truy nhập từ nhiều năm nay. Hệ thống hoạt động
trên nguyên tắc thu thập dữ liệu của các thông số trên mạng và áp dụng một số


10


kỹ thuật thống kê trên dữ liệu được thu thập để tạo ra các tập hồ sơ cho các
thông số trong thời điểm hoạt động bình thường,
2.3.4. Phương pháp dựa trên phân cụm
Phân cụm là việc gán các đối tượng vào các nhóm gọi là cụm (cluster) sao cho
các đối tượng trong cụm có độ tương đồng giống nhau so với những cụm khác.
Nếu một đối tượng nằm ngoài những cụm đã biết, đó có thể là dấu hiệu bất
thường. Phương pháp này thường mặc định là các cụm có nhiều phân tử hoặc
có mật độ cao là bình thường, ngược lại là bất thường.
2.3.5. Phương pháp máy vector hỗ trợ (SVM)
Trong SVM (Support Vector Machine), vector đầu vào được ánh xạ sang khơng
gian thuộc tính cấp cao hơn. Sức mạnh của SVM nằm ở khả năng phân chia
vùng biên thành những siêu mặt phẳng được quyết định bởi vector hỗ trợ. Điều
này sẽ tạo ra các giá trị ngoại lai tốt hơn.
2.3.6. Phương pháp dựa trên hệ chuyên gia (Ruler base)
Phương pháp này được áp dụng từ rất sớm trong lĩnh vực dò lỗi hay phát hiện
bất thường trong mạng. Trong hệ chuyên gia, một cơ sở dữ liệu toàn diện chứa
tập luật miêu tả hành vi của hệ thống được sử dụng để xác định nếu một lỗi
nào đó xảy ra.
2.3.7. Phương pháp dựa trên luật học máy
Phương pháp học các luật có thể mơ hình hóa trạng thái bình thường của hệ
thống. Các phương pháp cây quyết định (Decision tree) như C4.5/C5.0.ID3,
Random Forest v.v. học các luật dựa trên dữ liệu huấn luyện. Những quan sát
không thỏa mãn những luật đã học được coi là bất thường.
2.3.8. Phương pháp dựa trên khai phá dữ liệu
Định nghĩa về KPDL được phát biểu như sau: “KPDL là việc sử dụng dữ
liệu lịch sử để khám phá những quy tắc và cải thiện những quyết định trong
tương lai.” Với một cách tiếp cận mang tính ứng dụng hơn, Tiến sỹ Fayyad đã



11

đưa ra một định nghĩa khác: “KPDL thường được xem là việc khám phá tri
thức trong các cơ sở dữ liệu, là một q trình trích dẫn những thơng tin ẩn,
trước đây chưa biết và có khả năng hưu ích dưới dạng các quy luật, ràng buộc,
qui tắc trong cơ sở dữ liệu”. Nói chung, KPDL là một q trình học tri thức
mới từ những dữ liệu thu thập được trước đó.
2.3.9. Phương pháp dựa trên PCA
PCA (Principal Component Analysis) là thuật tốn điển hình sử dụng trong
phân tích đa biến. Thuật tốn này khơng chỉ dùng để phân tích sử dụng tương
quan giữa các biến mà còn rút gọn số chiều dữ liệu cần xử lý. Trong một số
năm trở lại đây, một số nghiên cứu đã áp dụng thuật toán PCA vào phát hiện
lưu lượng bất thường.
Một trong những phương pháp phân tích và phát hiện lưu lượng bất thường đa
biến điển hình là phương pháp dựa trên thuật tốn PCA (gọi tắt là phương pháp
PCA).
Phân tích thành phần chính (Principal Component Analysis - PCA) là thuật tốn
để phân tích cấu trúc tương quan giữa các biến đầu vào. PCA chuyển đổi trục
tọa độ ban đầu sang trục tọa độ mới trong đó các biến ban đầu được chuyển
thành các biến mới khơng có sự tương quan gọi là thành phần chính (Principal
Component). Các thành phần được sắp xếp theo thứ tự giảm dần của độ biến
thiên (phương sai). Mục tiêu của PCA là tìm ra những thành phần chính mơ tả
nhiều nhất quy luật biến thiên của các biến ban đầu. Những thành phần chính
này có thể dụng để miêu tả cấu trúc tương quan của dữ liệu. Những thành phần
chính cịn lại được coi là nhiễu hoặc phần dư và có thể loại bỏ nếu khơng cần
thiết. Do đó PCA cịn là một thuật tốn thường sử dụng để giảm số chiều dữ
liệu nhưng vẫn giữ được phần lớn đặc tính của dữ liệu.
PCA thường được sử dụng để phân tích dữ liệu và dự đốn mơ hình. PCA
có thể được thực hiện dựa trên sự phân tích trị riêng của ma trận hiệp phương



12

sai (hoặc ma trận tương quan) hoặc phép phân tích SVD (Singular Value
Decomposition) sau khi đã chuẩn hóa được dữ liệu.
Trong phần này, luận văn trình bày nghiên cứu về phương pháp PCA dựa trên
một số cơng trình điển hình đã có, từ đó đưa ra những đề xuất để cải thiện hiệu
năng của phương pháp PCA.

2.4. Kết chương
Chương 2 trình bày về các nghiên cứu, các phương pháp phân tích lưu lượng
bất thường liên quan đến đề tài luận văn.
Các nội dung căn bản như sau:
-

Tổng quan và phân loại các phương pháp phân tích và phát hiện lưu

lượng bất thường.
-

Một số phương pháp phân tích và phát hiện lưu lượng bất thường điển

hình
-

Nhận xét đánh giá về vấn đề phân tích và phát hiện lưu lượng bất thường.

Việc lựa chọn phương pháp phát hiện bất thường nào đạt được hiệu quả và đã
được kiểm chứng là cần thiết. Học viên sử dụng phương pháp PCA đã chứng tỏ
những ưu điểm nổi bật và có khả năng ứng dụng trong thực tiễn.



13

Chương 3: ỨNG DỤNG PCA XÂY DỰNG IDS CHO MÁY
CHỦ DỊCH VỤ
3.1. Thuật tốn phân tích thành phần chính PCA
3.1.1. Giới thiệu
Phân tích thành phần chính (Principal Component Analysis - PCA) là thuật
tốn để phân tích cấu trúc tương quan giữa các biến đầu vào. PCA chuyển đổi
trục tọa độ ban đầu sang trục tọa độ mới trong đó các biến ban đầu được chuyển
thành các biến mới khơng có sự tương quan gọi là thành phần chính (Principal
Component - PC). Các thành phần được sắp xếp theo thứ tự giảm dần của độ
biến thiên (phương sai). Mục tiêu của PCA là tìm ra những thành phần chính
mơ tả nhiều nhất quy luật biến thiên của các biến ban đầu. Những thành phần
chính này có thể dụng để miêu tả cấu trúc tương quan của dữ liệu. Những thành
phần chính còn lại được coi là nhiễu hoặc phần dư và có thể loại bỏ nếu khơng
cần thiết. Do đó PCA cịn là một thuật tốn thường sử dụng để giảm số chiều dữ
liệu nhưng vẫn giữ được phần lớn đặc tính của dữ liệu.
Ưu điểm của PCA:
- Giúp giảm chiều của dữ liệu nhưng vẫn giữ được phần lớn đặc tính của dữ

liệu.
- Thay vì giữ lại các trục của tọa độ không gian cũ, PCA xây dựng một không

gian mới ít chiều hơn, nhưng lại có khả năng biểu diễn dữ liệu tốt tương
đương không gian cũ, nghĩa là vẫn đảm bảo độ biến thiên của dữ liệu trên
mỗi chiều mới.
- Các trục tọa độ trong không gian mới là tổ hợp tuyến tính của khơng gian cũ,


PCA xây dựng các đặc tính (feature) mới dựa trên các đặc tính đã quan sát
được. Điểm nổi bật của những đặc tính này vẫn biểu diễn được tốt dữ liệu
ban đầu.


14

- Trong không gian mới, các liên kết tiềm ẩn của dữ liệu có thể được khám

phá, mà nếu đặt trong khơng gian cũ thì khó phát hiện hơn, hoặc những liên
kết đó khơng được thể hiện rõ.
- Các trục tọa độ trong không gian mới luôn đảm bảo trực giao đôi một với

nhau, mặc dù trong không gian ban đầu các trục có thể khơng trực giao.

3.1.2. Thuật tốn PCA
Cho ma trận X = {xij} ϵ Rn x p ccác bước của PCA lần lượt như sau:
Bước 1: Tiền xử lý
Dữ liệu ban đầu có thể có giá trị thay đổi bất thường nên cần phải có một
bước tiền xử lý để chuẩn hóa giá trị trên các cột của ma trận X. Có hai cách tiền
xử lý thường được dùng cho PCA là Centered PCA và Normed PCA.
Centered PCA: mang tất cả featute (của các cột của X) về cùng một gốc tọa độ:
X  {xij }

Sau bước tiền xử lý, ma trận X sẽ là đầu vào cho bước tiếp theo
xij 

xij  g j

(3a)


n
n

gj 

x
i 1

ij

n

Trong đó n là số dịng của X, gj là giá trị trung bình của cột thứ j của X.
Normed PCA: mang tất cả các feature về cùng một gốc tọa độ, đồng thời chuẩn
hóa về cùng một quãng độ lệch chuẩn bằng 1:
X  {xij }

xij 

xij  g j
n j

Trong đó  j là độ lệch chuẩn (standard deviation) của cột thứ j trong X.
Bước 2: Xây dựng không gian mới
Tính ma trận hiệp phương sai (covariance) của các feature trong X :

(3b)



15
T

V X X

(4)

Do là tích của ma trận X với chuyển vị của nó nên V ϵ Rp x p là ma trận positive
semidefinite kích thước p x p. Hơn nữa V có p trị riêng λi ≥ 0, i =1…p.
PCA tìm trị riêng và vector riêng tương ứng của V, sắp xếp theo thứ tự giảm
dần của trị riêng. Giả sử p trị riêng của V là:
λ1 ≥ λ2 ≥ λp

(5)

Và véc tơ riêng tương ứng là u1, u2, ..., um. Các véc tơ ui hồn tồn tuyến tính, và
chính là các trục của khơng gian mới.
Bước 3: Chuyển dữ liệu từ không gian ban đầu vào không gian mới.
Xây dựng không gian mới từ k véc tơ đầu tiên (từ lớn đến nhỏ) trong m véc
tơ riêng của V, (k < m). Như vậy gọi: U = [u 1| u2|…| uk] ϵ Rm x k khi đó tọa độ
các điểm trong hệ tọa độ mới là: F  XU .
3.1.2.1. Dữ liệu và tham số trong miền con PCA
Dữ liệu đa biến được biểu diện ở dạng vector. Mỗi vector chứa các biến
(variable) hay thuộc tính (attribute), chiều (dimension). Một vector dữ liệu còn
gọi là điểm (point), quan sát (observation), đối tượng (object) tùy thuộc vào bối
cảnh sử dụng. Ví dụ trong phân cụm hay dùng thuật ngữ điểm, đối tượng. Tuy
nhiều cách gọi khác nhau nhưng về bản chất những thuật ngữ này chỉ là một
(xét trong bài toán phát hiện bất thường). Các vector dữ liệu khi sắp xếp vào ma
trận trở thành các hàng của ma trận dữ liệu. Trong luận văn này thuật ngữ quan
sát và điểm, biến và thuộc tính được sử dụng thường xuyên với ý nghĩa tương

đương.


16

3.1.3. Phương pháp phân tích và phát hiện lưu lượng bất thường dựa trên
PCA
Học viên sử dụng phương pháp phân tích phần dư để xác định lưu lượng bất
thường:
Phương pháp phân tích phần dư (Residual Analysis) với thống kê Q (Qstatistic) đã được cơng bố trong các cơng trình nghiên cứu. Phương pháp này
được nhóm của Lakhina ứng dụng vào phát hiện lưu lượng mạng bất thường.
Trong thống kê, sự khác biệt giữa giá trị quan sát và giá trị dự đón gọi là phần
dư (residual). Trong miền con PCA, phương pháp phân tích phần dư kiểm tra
độ lệch của mỗi quan sát ban đầu từ sự biến thiên được tạo thành bởi m thành
phần chính được giữ lại. Những thành phần chính đầu tiên thường phản ánh quy
luật biến thiên bình thường của lưu lượng mạng. Những thành phần chính cịn
lại có thể mang thơng tin về bất thường nhiều hơn. Điều này có nghĩa là khi
chuyển sang miền con PCA sẽ được tách thành hai phần riêng biệt phản ánh
quy luật biến thiên bình thường và bất thường.
Vì vậy có thể chia thành phần chính thành hai tập hợp: Tập hợp bình thường
S( N ) gồm

m thành phần chính và tập bất thường

S( A) ,

gồm p-m các thành phần

chính cịn lại. Lakhina lựa chọn giá trị m dựa trên 3 lần độ lệch chuẩn [24,25].
Giá trị của các ui được so sánh với giá trị ngưỡng. Nếu xuất hiện giá trị lớn hơn

mức ngưỡng ở thành phần chính thứ m+1, q trình kiểm tra sẽ dừng lại. Khi
đó m thành phần chính đầu tiên được cọi là phần chính bình thường thuộc
tập S( N ) . Các thành phần chính cịn lại được coi là phần dư có thể chứa thông tin
bất thường nằm trong S ( A) .
z  z( N )  z( A )

z( N ) là

giá trị tao lại của z từ m thành phần chính

z( A) là

phần dư cần xét để phát hiện bất thường
z( N )  Em EmT z  C( N ) z


17

z( A)  ( I  Em EmT ) z  C( A) z

Xét độ lớn của z( A) là Z( A) :
2

z( A)

Với

C( A) là

2


 C( A) z

2

(3.7)

ma trận tính được từ tập dữ liệu ban đầu, mỗi quan sát z có thể kiểm

tra độ lớn z( A) và so sánh với mức ngưỡng.
2

3.1.3.1 Công thức tổng quát khoảng cách thống kê trong phân tích và
phát hiện bất thường
Việc xác định hệ thống ở trạng thái bình thường hay bất thường phụ thuộc vào
độ lệch hay khoảng cách thống kê (gọi tắt là khoảng cách) của điểm đang xét từ
trạng thái bình thường. Khoảng cách thống kê khơng nhất thiết là khoảng cách
hình học, những hàm entropy, xác xuất, phân bố… cũng được coi là khoảng
cách thống kê.
Một cách tổng quát, khoảng cách giữa hai điểm x, y trong khơng gian
Euclidean R với n chiều được tính như sau :
d  x y 

n

 xi  yi

2

i 1


Khoảng cách Euclidean hoặc bình phương khoảng cách Euclidean rất phổ
biến trong nhiều bài toán thống kê. Tuy nhiên với dữ liệu đa biến, mỗi biến có
thể có độ biến thiên hoặc đơn vị khác nhau. Những biến có xu hướng tạo ra giá
trị lớn sẽ chiếm nhiều phần trong Euclidean. Vì vậy cần có trọng số phù hợp với
mỗi biến để làm giảm sự sai lệch trong cơng thức tính khoảng cách Euclidean.
Bình phương khoảng cách Euclidean trọng số (Weighted Euclidean Distance)
đã khắc phục được một phần của nhược điểm này:
p

d   i ( xi   X )
i 1

Trong đó: i  1/  i2 là trọng số mỗi biến.

2

(3.8)


18

 i2 là phương sai mỗi biến.

3.1.4. Thiết lập mức ngưỡng
Việc thiết lập mức ngưỡng là một vấn đề khó trong các phương pháp phát
hiện lưu lượng bất thường nói chung. Mức ngưỡng là tham số rất “nhạy cảm”
giữa tỷ lệ phát hiện bất thường chính xác và tỷ lệ cảnh báo sai (phát hiện nhầm
dữ liệu bình thường là bất thường).
- Phương pháp thứ nhất là giả định mô hình tuân theo phân bố thống kê biết


trước.
-

Phương pháp thứ hai là ước lượng mức ngưỡng dựa trên thực nghiệm.

Trong luận văn học viên xác định ngưỡng Q tính theo thống kê Q được đề xuất
bởi Jackson [22]:
Q  1[

c 22 h02

h0  1 

c

1
213
322

 h (h  1)
 1  2 0 20
]
1

1
h0

và i 


(3.9)

p

  i=1,2,3

j  m 1

i
j

là giá trị độ lệch trong mức giới hạn bình thường: c  1   (  cho biết

xác xuất hệ thống gặp lỗi). Với

 cho

trước, có thể tính được cơng thức tính

được mực ngưỡng theo cơng thức (3.9)

3.2. Mơ hình hệ thống phân tích dữ liệu bất thường trên PCA
Mơ hình chung của hệ thống phát hiện lưu lượng bất thường dựa trên
phương pháp PCA trên máy chủ thi trắc nghiệm. Hệ thống hoạt động theo hai
pha:
Pha tạo profile: hệ thống cần tạo trước profile với dữ liệu “sạch” (dữ liệu
không chứa những bất thường). Pha này hoạt động ngoại tuyến (offline).
Pha phát hiện: pha này hoạt động trực tuyến (online). Mỗi quan sát mới là
một vector chứa các thuộc tính dữ liệu cần chuyển sang miền con của PCA với
các vector riêng và trị riêng đã có trong profile. Bộ phát hiện áp dụng phương

pháp phân tích, phát hiện bất thường và so sánh với giá trị ngưỡng. Nếu độ lệch


19

vượt quá giá trị ngưỡng, quan sát mới được coi là bất thường và ngược lại là
bình thường.
Mơ hình bao gồm những thành phần sau:
• Thu thập, tiền xử lý dữ liệu, tách thuộc tính: lưu lượng mạng được thu thập
bởi bộ bắt gói tin hoặc luồng tin. Nếu thực hiện thu thập lưu lượng trên một
máy tính có thể dùng các công cụ như tcpdump, flowdump. Dữ liệu được tiền
xử lý, tách các thuộc tính khối lượng và đặc trưng sử dụng cho q trình phân
tích, phát hiện bất thường.


Bộ biến đổi PCA: dữ liệu trong q trình chuyển hóa chuyển sang miền dữ

liệu của PCA. Sau q trình này, kết quả thu được gồm các cặp vector riêng và
trị riêng (ei , i ) cùng với giá trị thành phần chính của yi của mỗi quan sát. Các véc
tơ riêng/trị riêng có thể được tính từ ma trận tương quan hoặc ma trận hiệp
phương sai. Các thành phần chính được sắp xếp theo thứ tự giảm dần của trị
riêng tương ứng.


Module phân tích và phát hiện bất thường: dữ liệu sau khi phân tích bởi

PCA tiếp tục được đưa đến module phát hiện bất thường. Tại đây sẽ thực hiện
việc phân tích những thành phần chính nào sử dụng để phát hiện bất thường,
tính khoảng cách, thiết lập mức ngưỡng, tạo tham số trạng thái bình thường
(profile). Từ profile đã tạo sẽ so sánh với những dữ liệu cần kiểm tra để phát

hiện bất thường.


Cảnh báo: kết quả phát hiện được đưa ra cảnh báo. Hiện nay kết quả này

thường cần phân tích bởi người quản trị hệ thống để tìm hiểu nguyên nhân của
những cảnh báo xuất hiện.


20

3.3. Kiến trúc hệ thống giám sát máy chủ dịch vụ thi trắc nghiệm
3.3.1. Phạm vi thu thập dữ liệu
Trong luận văn học viên xây dựng những thành phần cơ bản nhất của một
hệ thống mạng thi trắc nghiệm của trường Đại học Cơng nghệ Giao thơng vận
tải (Hình 3.4): hệ thống trung tâm – Server thi trắc nghiệm, kết nối nội bộ (qua
các switch, router), kết nối với một ISP ra Internet (có thể có tường lửa).
Phạm vi hệ thống giám sát có thể gồm 3 vùng chính: vùng kết nối nội bộ
cho các máy tính người dùng, vùng hệ thống trung tâm, vùng kết nối ra Internet.

3.2.2. Kiến trúc tổng thể của hệ thống giám sát
Một hệ thống giám sát điển hình thường gồm 2 phần chính: các máy trinh sát và
phần trung tâm phân tích xử lý hay cịn gọi là trung tâm giám sát.
• Máy trinh sát (sensor): thu thập thông tin và các sự kiện mạng chuyển
về trung tâm giám sát để xử lý, phân tích. Ngồi ra, trên máy trinh sát có thể có
thêm chức năng phân tích, phát hiện sơ bộ để có cảnh báo nhanh gửi về trung
tâm giám sát.
• Trung tâm phân tích, xử lý: thực hiện lưu giữ thơng tin thu thập được
vào cơ sở dữ liệu (database), phân tích dữ liệu thu được để phát hiện dấu hiệu
bất thường, phát hiện tấn công xâm nhập mạng và đưa ra cảnh báo.

3.2.3. Máy trinh sát

3.2.4. Trung tâm phân tích, phát hiện và cảnh báo
3.3. Nhận dạng, phân loại bất thường và khả năng kết hợp phát hiện
lưu lượng bất thường với phát hiện tấn công mạng dựa trên mẫu dấu
hiệu
Phát hiện lưu lượng bất thường là một giai đoạn trong tồn bộ q trình
chẩn đốn ngun nhân bất thường. Sau khi phát hiện cần xác định nguyên
nhân, phân loại bất thường và biện pháp phòng chống, khắc phục hậu quả bất
thường gây ra.


21

3.4. Mơ hình phát hiện lưu lượng bất thường trên máy chủ dịch vụ
Trong hệ thống giám sát, PCA chỉ là một thành phần để phát hiện bất thường
trên mạng cần giám sát và cần phải làm việc kết hợp với những thành phần
khác. Một thành phần quan trọng có thể làm việc với PCA là bộ phận phát hiện
xâm nhập dựa trên tập mẫu dấu hiệu.
Dữ liệu đầu vào để tạo tập mẫu được kiểm tra bởi phần mềm phát hiện xâm
nhập IDS theo mẫu dấu hiệu (ví dụ Snort, Suricata, Bro) để loại bỏ những tấn
công đã biết. Trong trường hợp dữ liệu đầu vào để tạo tập mẫu đã đảm bảo sạch
(bởi người quản trị mạng), dữ liệu này có thể sử dụng trực tiếp làm tập dữ liệu
mẫu. Bộ biến đổi PCA dùng để tính ra các tham số của profile. Những dữ liệu
đọc vào sau đó được ánh xạ qua các tham số của profile và tính khoảng cách.
Nếu khoảng cách vượt giá trị ngưỡng, dữ liệu tương ứng được coi là bất
thường, ngược lại là bình thường.
Kết quả phát hiện được kiểm tra lại bởi mẫu dấu hiệu như trong, bởi phần
mềm phát hiện xâm nhập theo mẫu dấu hiệu như Snort/Suricata/Bro hoặc bởi
phương pháp học máy dựa trên các bất thường đã biết. Những bất thường

không thể nhận dạng sẽ được kiểm tra trực tiếp bởi con người.
Để tránh quá tải cho IDS theo mẫu dấu hiệu, những dữ liệu được phát hiện là
bình thường sẽ khơng phải kiểm tra lại tồn bộ bởi IDS theo mẫu dấu hiệu mà
được kiểm tra lại một cách ngẫu nhiên để xem có tấn cơng hay không. Điều này
là do cơ sở dữ liệu IDS chứa rất nhiều luật (Rule) sử dụng tất cả các luật này sẽ
có thể làm quá tải IDS. Tuy nhiên, nếu thấy quá nhiều dữ liệu bình thường bị
phát hiện tấn cơng, tất cả những dữ liệu bình thường phải được kiểm tra bởi
IDS.
3.4.1. Các loại tấn công phổ biến đối với máy chủ dịch vụ:
- Tấn công chủ động (Active Attack)
- Tấn công bị động (Passive Attack)
- Tấn công mật khẩu (Password Attack)


22

- Tấn cơng phá mã khóa (Compromised – key Attack)
- Giả mạo địa chỉ IP
- Vơ hiệu hóa các chức năng của hệ thống
- Lỗ hổng không cần Login

3.5. Mô phỏng thử nghiệm phát hiện tấn công của PCA trên máy chủ
dịch vụ:
3.5.1. Tập dữ liệu thử nghiệm
KDD (Knowledge Data Mining Data Set) là tập dữ liệu tri thức thuộc các
lĩnh vực khác nhau như: y tế, an ninh mạng, kinh tế… được tổng hợp từ những
điều kiện thực tế và sử dụng trong các thuật toán, phương pháp khai phá dữ
liệu.
Một tập dữ liệu hay sử dụng để kiểm nghiệm các phương pháp phát hiện xâm
nhập là KDD - CUP99. KDD - CUP 99 tách ra những trường dữ liệu đặc trưng

(thuộc tính) từ các gói tin sau đó tổng hợp lại cho từng kết nối. Các trường dữ
liệu hay thuộc tính trở thành các biến đầu vào cho cơ chế phát hiện tấn cơng.
Tiếp đó, NSL – KDD là tập dữ liệu được phát triển từ tập KDD - CUP 99
nhưng đã loại bỏ được những kết nối dư thừa hoặc trùng lặp. Do đã khắc phục
được một số nhược điểm quan trọng trong KDD - CUP 99, NSL – KDD là tập
dữ liệu có độ tin cậy cao hơn KDD - CUP 99 khi thử nghiệm các phương pháp
phát hiện tấn công. Những phương pháp đề xuất có độ chính xác cao với KDD CUP 99 khi thử nghiệm với NSL – KDD đều có kết quả bị suy giảm khá nhiều.
Những cơng trình nghiên cứu gần đây thử nghiệm với tạp dữ liệu này, đã chứng
tỏ NSL – KDD là tập dữ liệu có đủ độ tin cậy để mô phỏng, thử nghiệm phát
hiện bất thường và tấn công mạng.
Với những lý do trên, trong chương 3, NSL – KDD là tập dữ liệu được lựa chọn
khi thử nghiệm phân tích và phát hiện lưu lượng bất thường nói chung và một
số loại tấn cơng nói riêng.


23

3.5.2. Mô phỏng thử nghiệm phát hiện bất thường và một số loại tấn
công.
Phần thử nghiệm thực hiện đánh giá các thơng số sau:
• TPR và FPR của tồn bộ các kết nối được thử nghiệm. TPR cho biết tỷ lệ
phát hiện đúng tổng cộng của tất cả các loại tấn công. FPR cho biết tỷ lệ
phát hiện sai của dữ liệu bình thường nhưng bị phát hiện là tấn cơng.
• Tỷ lệ phát hiện đúng của một số loại tấn công:
- Smurf: là kiểu tấn công từ dối dịch vụ trong đó một số lượng lớn gói tin
ICMP với địa chỉ nguồn giả mạo của máy tính nạn nhân được gửi đến địa
chỉ IP quảng bá. Khi những thiết bị nhận được gói tin quảng bá và chấp
nhận trả lời, một số lượng lớn gói tin có thể làm tràn tài nguyên tại máy
tính nạn nhân.
- Neptune: kiểu tấn cơng từ chối dịch vụ bằng cách gửi gói tin giả mạo địa

chỉ IP nguồn để thiết lập các phiên làm việc đến máy nạn nhân nhằm làm
cho máy nạn nhân bị cạn kiệt tài nguyên.
- Pingsweep: kiểu tấn công qt, thăm dị bằng cách ping hoặc qt cổng để
tìm ra những máy tính hoặc thiết bị nào đang hoạt động.
- Portsweep: tấn cơng qt cổng, tìm ra những cổng đang mở và dịch vụ
đang chạy trên máy nạn nhân.
- Guest password: tấn cơng dị tìm mật khẩu. Hiện nay kiểu tấn cơng này có
thể thực hiện một cách tự động với sự trợ giúp của từ điển các mật khẩu
hay dùng.
• wi là trọng số của cơng thức tính khoảng cách, k là số thành phần được sử
dụng. k = 16 khi sử dụng tất cả PC.
Trong tất cả các loại tấn công trên, phần lớn việc phát hiện tấn công chỉ cần dữ
liệu lưu lượng tại tầng mạng (Network Layer) và tầng giao vận (Transport
Layer). Tuy nhiên với tấn cơng “Guest password” u cầu phải có dữ liệu tại


×