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

Xây dựng hệ thống phát hiện xâm nhập dựa trên phương pháp máy học (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 (1.09 MB, 42 trang )

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

NGUYỄN TRẦN THANH SƠN

XÂY DỰNG HỆ THỐNG PHÁT HIỆN XÂM NHẬP
DỰA TRÊN PHƯƠNG PHÁP MÁY HỌC

LUẬN VĂN THẠC SĨ KỸ THUẬT
(Theo định hướng ứng dụng)

TP. Hồ Chí Minh – 2018


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

NGUYỄN TRẦN THANH SƠN
XÂY DỰNG HỆ THỐNG PHÁT HIỆN XÂM NHẬP
DỰA TRÊN PHƯƠNG PHÁP MÁY HỌC

Chuyên ngành: Hệ thống thông tin
Mã số: 8.80.01.04
LUẬN VĂN THẠC SĨ KỸ THUẬT
(Theo định hướng ứng dụng)
NGƯỜI HƯỚNG DẪN KHOA HỌC: TS. NGUYỄN ĐỨC THÁI

TP. Hồ Chí Minh – 2018


1



MỞ ĐẦU
Ngày nay song song với sự bùng nổ mạnh mẽ của công nghệ thông tin và sự
phát triển của Internet toàn cầu là các nguy cơ mất an toàn thông tin đang trở nên
trầm trọng và nguy hiểm hơn, trong đó mã độc hại đang là các hiểm họa hàng đầu
bởi khả năng có thể lây lan phát tán trên các hệ thống máy tính và thực hiện các
hành vi tấn công bất hợp pháp. Mã độc đang ngày càng tiến hóa với những biết thể
đa dạng, với những cách thức che dấu ngày càng tinh vi hơn. Có thể nói phát hiện
và ngăn chặn xâm nhập trái phép đang là một thách thức được đặt ra trong lĩnh vực
An toàn thông tin. Các phương pháp phát xâm nhập thông thường chủ yếu sử dụng
kĩ thuật so sánh mẫu dựa trên cơ sở dữ liệu mã độc được xây dựng và định nghĩa từ
trước, tuy nhiên phương pháp này bộc lộ nhiều nhược điểm đó là không có khả
năng phát hiện ra các mẫu mã độc mới, số lượng dữ liệu mã độc ngày càng gia tăng
làm cho cơ sở dữ liệu mẫu trở nên ngày càng lớn. Hiện nay hướng nghiên cứu dựa
vào các mô hình máy học để phân loại và phát hiện mã độc đang tỏ ra là phương
pháp tiềm năng và hiệu quả khi có thể cải thiện được các nhược điểm đã nêu ở trên
so với phương pháp truyền thống. Tuy nhiên, một trong những vấn đề được quan
tâm là làm sao để xây dựng được mô hình máy học tốt nhất đạt hiệu quả chính xác
và hiệu suất cao.
Chính vì các lý do cơ bản trên, việc lựa chọn đề tài nghiên cứu “Xây dựng
hệ thống phát hiện xâm nhập dựa trên phương pháp máy học” là cần thiết để
kịp thời phát hiện và ngăn chặc các cuộc tấn công bất hợp pháp vào hệ thống công
nghệ thông tin của tỉnh.
Luận văn được bố cục như sau:
Trong chương 1 học viên sẽ giới thiệu tổng quan về tình hình an ninh mạng.
Các khái niệm về an ninh mạng, tổng quan về hệ thống phát hiện xâm nhập IDS,
các thuật toán máy học. Chương 2 học viên giới thiệu các công trình liên quan trong
nước và thế giới. Chương 3 học viên đề xuất phương pháp phát hiện xâm nhập.



2

Chương 4 học viên đưa ra thực nghiệm và đánh giá kết quả đạt được của thuật toán
đề xuất so với các thuật toán khác.
Tóm tắt: Hệ thống phát hiện xâm nhập Intrusion Detection System (IDS)
được phát triển rộng rãi trong các sản phẩm thương mại và mã nguồn mở, sự hoạt
động của nó sự hoạt động của nó phụ thuộc vào thời gian và quá trình cập nhật các
dấu hiệu tấn công chưa có tiền lệ. Một hướng tiếp cận gần đây là áp dụng các giải
thuật máy học để có thể phát hiện ra sự bất thường của các cuộc tấn công mà không
phụ thuộc và việc nhận dạng đặc điểm tấn công.
Trong luận văn này trình bài hướng tiếp cận cho việc tự động phát hiện cuộc
xâm nhập của các cuộc tấn công chưa có tiền lệ bằng việc kết hợp giữa bảo mật
máy tính và lĩnh vực máy học. Học viên đề xuất phương pháp kết hợp giải thuật Kmeans và SOM dựa trên tập dữ liệu KDD CUP-99 để năng cao hiệu năng và khả
năng phát hiện xâm nhập tốt nhất có thể.


3

Chương 1 – CỞ SỞ LÝ LUẬN
1.1 Giới thiệu tổng quan về an ninh mạng
1.1.1 Khái niệm an ninh mạng
An toàn thông tin bao gồm các hoạt động quản lý, nghiệp vụ và kỹ thuật
đối với hệ thống thông tin nhằm bảo vệ, khôi phục các hệ thống, các dịch vụ và nội
dung thông tin đối với nguy cơ tự nhiên hoặc do con người gây ra. Việc bảo vệ
thông tin, tài sản và con người trong hệ thống thông tin nhằm bảo đảm cho các hệ
thống thực hiện đúng chức năng, phục vụ đúng đối tượng một cách sẵn sàng, chính
xác và tin cậy. An toàn thông tin bao hàm các nội dung bảo vệ và bảo mật thông tin,
an toàn dữ liệu, an toàn máy tính và an toàn mạng.
An toàn thông tin được thể hiện qua các tính chất cơ bản sau:
a) Tính tin cậy (confidentiality): đảm bảo thông tin chỉ được truy cập bởi

những truy cập cho phép.
b) Tính toàn vẹn (integrity): bảo vệ tính chính xác, đầy đủ của thông tin
cũng như các phương pháp xử lý;
c) Tính sẵn sàng (availability): đảm bảo những người dùng hợp pháp mới
được truy cập các thông tin và tài sản liên quan khi có yêu cầu.
d) Tính không thể từ chối (Non-repudiation): Thông tin được cam kết về
mặt pháp luật của người cung cấp.

1.1.2 Tổng quan tình hình an ninh mạng hiện nay
Theo Bkav Năm 2017, thiệt hại do virus máy tính gây ra đối với người
dùng Việt Nam đã lên tới 12.300 tỷ đồng, tương đương 540 triệu USD, vượt xa mốc
10.400 tỷ đồng của năm trước. Kết quả này được đưa ra từ chương trình đánh giá an
ninh mạng do Tập đoàn công nghệ Bkav thực hiện vào tháng 12 năm 2017. Mức
thiệt hại tại Việt Nam đã đạt kỷ lục trong nhiều năm trở lại đây. Ở các nền kinh tế
khổng lồ như Mỹ, Trung Quốc, Nhật Bản và Đức, tội phạm mạng gây ra tổng thiệt
hại lên tới 200 tỷ USD mỗi năm. Bức tranh toàn cảnh về an ninh mạng tại Việt Nam
trong năm qua còn có các điểm nóng: gia tăng tấn công trên thiết bị IoT, các công


4

nghệ sinh trắc học mới nhất liên tục bị qua mặt, bùng nổ tin tức giả mạo, mã độc
đào tiền ảo.
Vì vậy, các hệ thống phát hiện xâm nhập (Intrusion Detection System IDS) khác nhau đã được thiết kế và xây dựng nhằm ngăn chặn các cuộc tân công
này. Mục tiêu của IDS là cung cấp một bức tường bảo vệ, giúp các hệ thống mạng
có khả năng chống lại các cuộc tấn công từ bên trong và bên ngoài hệ thống.
Việc nghiên cứu xây dựng kỹ thuật phát hiện xâm nhập là một vấn đề đã
thu hút sự quan tâm của các nhà nghiên cứu trong việc đảm bảo an toàn, bảo mật
mạng. Mục đích quan trọng nhất của IDS là phát hiện các cuộc truy cập bình
thường và các cuộc truy cập bất thường, đối với truy cập bất thường thì xác định nó

thuộc kiểu tấn công nào. Trong những năm gần dây phương pháp khai phá dữ liệu
đã được đề xuất và sử dụng trong kỹ thuật phát hiện những tấn công chưa được biết
đến zero-day. Phương pháp này cho kết quả phát hiện chính xác cao nhưng lại cho
tỷ lệ cảnh báo sai đối với những tấn công mới lạ.
Máy học (Machine Learning) [9], [10], [18],[19], [20] là kỹ thuật cho phép
giải quyết vấn đề hoặc ra quyết định dựa trên cơ sở dữ liệu và kinh nghiệm. Với
máy học, chương trình máy tính sử dụng kinh nghiệm, quan sát hoặc dữ liệu trong
quá khứ để cải thiện công việc của mình trong tương lai thay vì chỉ thực hiện theo
đúng các quy tắc đã được lập trình sẵn. Chính vì thế, việc ứng dụng máy học để
phát hiện xâm nhập bất thường trong hệ thống mạng là phù hợp và cần thiết trong
bối cảnh hiện nay.

1.2 Tổng quan về hệ thống phát hiện xâm nhập IDS
1.2.1 Hệ thống phát hiện xâm nhập IDS
Tự động phát hiện các cuộc tấn công vào hệ thống máy tính, phát hiện xâm
nhập là một nhánh nghiên cứu kinh điển của lĩnh vực bảo mật máy tính mà khởi
thủy rất sớm từ những công trình nghiên cứu bảo mật trên hệ thống multi-user
(Andersion, 1980). Để hiểu rõ hơn về cách thức phát hiện xâm nhập tích hợp vào


5

bảo mật máy tính ta xem qua các khái niệm cơ bản sau. Bảo mật máy tính liên quan
đến việc bảo vệ tính bảo mật, toàn vẹn và sẵn sàng tài nguyên. Do đó, ta định nghĩa
chính xác khái niệm tấn công máy tính như sau:
Tấn công an ninh mạng: là hành vi cố gắng làm tổn hại đến tính bảo mật,
tính toàn vẹn và tính sẵn sàng của tài nguyên.
Cụ thể, tấn công an ninh mạng có thể là nghe trộm trên đường truyền (vi
phạm tính bảo mật), thay đổi file trên máy chủ (vi phạm tính toàn vẹn) hoặc làm tổn
hại đến phần cứng (vi phạm tính sẵn sàng). Phụ thuộc vào nguồn tấn công, chúng ta

có thể phân biệt tấn công nội bộ và tấn công từ xa

Hình 1.2.1: Chu trình bảo mật cho hệ thống
Chống lại các cuộc tấn công mạng được xây dựng trên nhiều cơ chế khác
nhau của bảo mật máy tính. Tuy nhiên, cơ chế đầu tiên và sau cùng của bất kỳ giải
pháp an ninh là ngăn chặn các cuộc tấn công, ví dụ như cơ chế kiểm soát truy cập
(access control) hay mã hóa (cryptography). Tuy nhiên, lịch sử lâu dài của bảo mật
máy tính trước các cuộc tấn công cho thấy rằng: không có một cơ chế ngăn ngừa,
ngăn chặn nào mà bản thân nó cung cấp mức độ bảo vệ hoàn hảo và do đó cơ chế
phát hiện tấn công được thêm vào nhóm các giải pháp bảo mật mà nhiệm vụ cụ thể
là xây dựng hệ thống phát hiện xâm nhập (Intrusion Detection System – IDS). Sau
cùng, cơ chế khôi phục sau tấn công làm nhiệm vụ khắc phục những ảnh hưởng đến
hệ thống mạng hay máy tính là lớp sau cùng trong chuỗi các giải pháp bảo mật máy
tính.
Trong luận văn này đề cập chủ yếu vào cơ chế phát hiện xâm nhập để xác
định các cuộc tấn công chưa có tiền lệ, đây là cơ chế trung tâm trong chuỗi các giải


6

pháp bảo mật máy tính trước các cuộc tấn công ngày càng phức tạp ngày nay.
Chúng ta định nghĩa hệ thống phát hiện xâm nhập chính xác như sau:
Hệ thống phát hiện xâm nhập (IDS): là hệ thống giám sát dòng thông tin
dữ liệu mà các cuộc tấn công máy tính xảy ra.
Cụ thể hơn: Hệ thống phát hiện xâm nhập (IDS) là một hệ thống có nhiệm
vụ thu thập thông tin, dữ liệu từ nhiều nguồn dữ liệu mạng hay hệ thống để theo dõi
nhằm phát hiện các hành động tấn công vào mạng hay hệ thống máy tính. Mục đích
của nó là ngăn ngừa các hành động phá hoại đối với vấn đề bảo mật hệ thống, hoặc
những hành động trong tiến trình tấn công như sưu tập, quét cổng.
Khái niệm phát hiện xâm nhập bắt đầu từ các công trình nghiên cứu của

Andersion (1980) và Denning (1987). Các công trình này cung cấp nền tảng lý
thuyết cho việc thiết kế hệ thống phát hiện xâm nhập như hệ thống IDS mã nguồn
mở Bro (Paxson, 1980) hay Snort (Roesch, 1998).
Phần sau đây trình bài chi tiết về hệ thống IDS bao gồm cách phân loại
IDS, những đặc điểm cốt lõi của hệ thống IDS như nguồn thông tin, cơ chế phát
hiện và cuối cùng trình bày đặc tính Hose-base IDS ngày nay.

1.2.2 Phân loại IDS
Hệ thống IDS gồm 2 cách phân loại, thứ nhất là dựa trên cơ chế IDS phát
hiện xâm nhập và tiêu chí thứ hai là nguồn thông tin dữ liệu mà IDS sử dụng.
Với tiêu chí thứ nhất dựa trên cơ chế phát hiện xâm nhập IDS phân thành 2
loại: phát hiện dựa trên dấu hiệu đã biết (Signature –based IDS) và phát hiện dựa
trên dấu hiệu bất thường (Anomaly –based IDS). Hai cơ chế này sẽ được trình bày
chi tiết trong phần tiếp theo của luận văn.
Theo tiêu chuẩn thứ hai IDS phân thành Network – based IDS (NIDS) và
Host –based IDS (HIDS).
NIDS là hệ thống IDS chủ yếu phát hiện hành vi xâm nhập tấn công bằng
việc phân tích lưu lượng thông tin mạng, chẳng hạn thu thập và phân tích nội dung
và phần header của gói tin được truyền đi trên mạng. Những sensor mạng bắt gói tin


7

mạng theo tiêu chí và luật quy định trước và có thể định nghĩa lại phù hợp với tình
hình mạng hiện tại cũng như tăng kiến thức chuyên gia từ người quản trị hệ thống.
Ưu điêm: IDS gồm nhiều ưu điểm như giám sát hệ thống mạng không ảnh
hưởng đến hiệu năng hoạt động của các chương trình khác đang chạy. Hệ thống
trong suốt với người dùng hệ thống và độc lập với hệ điều hành và rất linh hoạt do
chỉ giám sát lưu lượng trên một phần phân đoạn mạng. Sự hoạt động trong suốt của
IDS là đặc tính quan trọng làm giảm khả năng hacker khai thác và vô hiệu hóa chức

năng của IDS. NIDS có chi phí thấp do hệ thống chỉ yêu cầu tài nguyên cho không
gian lưu trữ, vì thế công ty có thể sử dụng thiết bị đã qua sử dụng với giá thành thấp
Nhược điểm: Tuy nhiên NIDS có nhiều hạn chế như các sensor mạng bắt
gói tin theo luật định sẵn và phụ thuộc vào tính chất các cuộc tấn công đã xảy ra khi
đó NIDS khó phát hiện các cuộc tấn công chưa có tiền lệ Zero-day. Vấn đề thứ hai
là mã hóa và mạng chuyển mạch, giao tiếp mạng được mã hóa khi đó các sensor
không thể quét giao thức và đọc nội dung của gói tin. NIDS không phát huy tác
dụng tốt trong mạng chuyển mạch hiện đại do giám sát mạng cực kỳ khó khăn bởi
mạng chuyển mạch phân mạng thành từng phân đoạn độc lập, ta chỉ có thể kiểm tra
một phân đoạn mạng mà nó trực tiếp kết nối đến.
HIDS là hệ thống IDS mà việc xây dựng cơ chế phát hiện dựa trên nguồn
dữ liệu từ một máy tính đơn cụ thể. HIDS thu thập thông tin về những sự kiện xảy
ra trên hệ thống mà nó giám sát. Nguồn dữ liệu giám sát bao gồm lời gọi hệ điều
hành Audit trails hay system call, log hệ thống hoặc một số log khác sinh ra trong
quá trình tiến trình đang chạy trên hệ thống.
Ưu điểm: HIDS khắc phục nhược điểm mà NIDS gặp phải như giám sát
các hoạt động cụ thể của hệ thống như truy cập file, thay đổi quyền. HIDS thích
nghi tốt với môi trường chuyển mạch và mã hóa. Phát hiện được những cuộc xâm
nhập tấn công từ người dùng bên trong hệ thống đang có hành vi xâm hại bằng cách
tìm ra user ID. Một ưu điểm nữa là HIDS có thể giám sát hành vi từng người dùng
cụ thể, việc này giúp xác định nhanh chóng các cuộc tấn công ngay khi nó xảy ra.


8

Nhược điểm: HIDS hoạt động phụ thuộc chặt chẽ vào hệ điều hành đang
chạy, bất cứ điểm yếu nào trên hệ thống đang chạy có thể được sử dụng để tấn công
và vô hiệu hóa chức năng của HIDS. Một nhược điểm khác phụ thuộc vào tài
nguyên hệ thống sử dụng audit trails, system call làm nguồn dữ liệu chính do đó yếu
tố không gian lưu trữ và tốc độ truy xuất làm tăng chi phí khi triển khai hệ thống

HIDS. Hơn nữa, HIDS đòi hỏi phải cài đặt trên từng máy tính riêng rẽ, khi triển
khai cho hệ thống lớn dẫn đến chi phí cao hơn NIDS rất nhiều. Vấn đề crossplatform IDS là nhu cầu ngày càng cao khi triển khai hệ thống lớn doanh nghiệp,
tuy nhiên HIDS gặp nhiều khó khăn trong trường hợp này do HIDS phụ thuộc vào
nền tảng đang chạy.
Kết luận về NIDS và HIDS: qua phân tích ưu nhược điểm của NIDS và
HIDS bên trên học viên thấy rằng dù cùng mục đích ban đầu là giống nhau nhưng
hai cách tiếp cận để giải quyết bài toán là khác nhau. Việc xác định hệ thống NIDS
hay HIDS cái nào là tốt nhất không phải là câu hỏi khôn ngoan khi đánh giá IDS mà
mỗi loại thích hợp với nhu cầu, chi phí và phù hợp với hệ thống mà ta cần giám sát.
HIDS phù hợp với nhu cầu mở rộng nâng cấp hệ thống nhưng để thực hiện hệ thống
này cần có kiến thức chuyên sâu về hệ điều hành mà HIDS chạy. Hạn chế về nhu
cầu đa nên tảng cross-platform là trở ngay khi sử dụng HIDS trong khi NIDS linh
hoạt hơn và dễ thực hiện nhưng gặp khó khăn khi triển khai trên hệ thống mạng có
tốt độ cao hoặc lưu lượng truyền tải trên mạng lớn, một rào cản quan trọng thách
thức NIDS là công nghệ IPv6 dần được triển khai cung cấp cơ chế mã hóa thông tin
trên đường truyền.

1.2.3 Cơ chế phát hiện xâm nhập
Kỹ thuật phát hiện xâm nhập phân thành 2 dạng phát hiện sự lạm dụng và
phát hiện dự trên sự bất thường.
Phương pháp phát hiện sự làm dụng: kiến thức về cuộc tấn công được sử
dụng để xây dựng luật và mô hình của các cuộc tấn công đã xảy ra. Hệ thống sẽ
phát hiện các xâm nhập bằng cách tìm kiếm các hành động tương ứng với các kỹ
thuật xâm nhập đã được biết đến (dựa trên các dấu hiệu – signatures). Kỹ thuật này


9

rất hiệu quả khi phát hiện các dấu hiệu xâm nhập đã biết với độ chính xác cao. Kỹ
thuật này áp dụng rộng rãi trong các sản phẩm IDS trên thị trường từ rất lâu. Tuy

nhiên, các phát hiện sự lạm dụng này tỏ ra thất bại trước các cuộc tấn công chưa có
tiền lệ, tấn công Zero-day.
Phương pháp phát hiện sự bất thường: Xây dựng mô hình của các hành vi
bình thường diễn ra trên hệ thống, trước những cuộc tấn công chưa biết mô hình sẽ
tự động suy diễn ra hành vi xâm nhập dựa trên sự bất thường so với mô hình ta xây
dựng trước. Phương pháp này có ưu điểm là phát hiện được các cuộc tấn công chưa
có tiền lệ. Tuy nhiên chi phí rất cao để xây dựng theo phương pháp này yêu cầu các
kỹ thuật phân tích dữ liệu liên quan đến thống kê và máy học. Một nhược điểm của
mô hình này là tỷ lệ cảnh báo sai rất cao và tốn nhiều thời gian xử lý.
Việc nghiên cứu về lĩnh vực phát hiện xâm nhập dựa trên hai phương pháp
trên đôi khi mâu thuẫn giữa nhà nghiên cứu, chẳng hạn Gates và Taylor (2006) cho
rằng phát hiện sự bất thường không phù hợp và còn nhiều thiếu sót trong khi đó
Song (2007) chỉ ra phương pháp dựa trên dấu hiệu không còn hiệu quả với tình hình
hiện nay. Thật vậy, đứng trước nguy cơ các cuộc tấn công ngày càng phức tạp và
chưa có tiền lệ như ngày này, phương pháp phát hiện dựa trên sự bất thường được
rất nhiều nhà khoa học quan tâm và cho rằng đó là xu hướng cho thế hệ IDS mới.
Tuy nhiên, nhiều nhà nghiên cứu cho rằng khi xây dựng hệ thống IDS hoàn chỉnh
đạt hiệu năng cao với kỹ thuật máy học ngày nay cần kết hợp cả hai phương pháp
hỗ trợ nhau.
Trong luận văn này sẽ tập trung hướng đến phương pháp phát hiện dựa trên
sự bất thường bằng cách sử dụng các kiến thức về phân tích dữ liệu và các thành tựu
gần đây của lĩnh vực máy học.

1.2.4 Nguồn dữ liệu thu thập
Thu thập dữ liệu đóng vai trò quan trọng khi thiết kế hệ thống IDS và có
vai trò ảnh hưởng cả quá trình thiết kế, hiện thực và đánh giá kết quả cuối cùng.
Thông thường mục đích tấn công không nhắm vào một máy tính riêng lẻ nào mà là
cả một hệ thống máy tính khi đó phát hiện hành vi xâm nhập phải giám sát các hành



10

vi của lớp mạng, giám sát mức hệ thống và mức ứng dụng. Mặc dù theo lý thuyết có
thể thiết kế và xây dựng hệ thống IDS bao quát tất cả các nguồn dữ liệu giám sát
trên, tuy nhiên thực tế hiện nay chưa xây dựng được hệ thống như thế do hai vấn đề
chính: thứ nhất do nguồn dữ liệu quá đa dạng và thứ hai là thời gian và chi phí thu
thập, lưu trữ, xử lý lượng thông tin khổng lồ. Nguồn dữ liệu thu thập cho hệ thống
IDS bao gồm: tập tin log hệ thống, gói tin mạng, lời gọi hệ thống và code chương
trình thực thi… Như trong cách phân loại IDS thành NIDS và HIDS dựa vào nguồn
dữ liệu thu thập, sau đây chúng ta xem xét một số nguồn dữ liệu theo host-based,
network-based và application-based.
Nguồn dữ liệu cho HIDS: HIDS giám sát hoạt động trên máy tính đơn lẻ
host bằng việc giám sát nhiều nguồn dữ liệu như tập tin log, lời gọi hệ thống system
call, truy xuất tập tin, nội dung trên bộ nhớ… Trong đó hai nguồn dữ liệu chính cho
HIDS là audit logs và lời gọi hệ thống system call. Audit logs là tập hợp tất cả sự
kiện tạo bởi hệ điều hành khi thực thi tác vụ cụ thể trong khi đó system call hiển thị
hành vi của các chương trình theo từng người sử dụng đang chạy trên hệ điều hành.
Nguồn dữ liệu NIDS: NIDS thu thập và phân tích dữ liệu trực tiếp từ
mạng bằng việc bắt gói tin và kiểm tra nội dung hay header của gói tin truyền trên
mạng. Theo vị trí mà dữ liệu thu thập được, NIDS có thể bắt gói tin và phân tích
trong một mạng con (subnet), cả hệ thống mạng hoặc giao tiếp giữa mạng với
Internet. Một số nguồn dữ liệu quan trọng như SNMP, gói tin được truyền trên
mạng (packet), giao thức SNMP được sử dụng rất phổ biến để giám sát và điều
khiển các thiết bị mạng. Giao thức SNMP được thiết kế để cung cấp một phương
thức đơn giản nhằm quản lý tập trung mạng TCP/IP. Người quản trị có thể thông
qua giao thức này để quản lý các hoạt động hay thay đổi các trạng thái hệ thống
mạng.
Nguồn dữ liệu cho Application – based IDS: đây là hệ thống phát hiện
xâm nhập hoạt động trên tầng ứng dụng theo chồng giao thức TCP/IP. Sự hoạt động
dựa vào kiểm tra và phân tích log file của những ứng dụng cụ thể đang chạy trong



11

hệ thống để phát hiện hành vi xâm nhập nhắm đến ứng dụng cụ thể đang chạy như
HTTP, DNS, FTP, SMB …
Mỗi loại dữ liệu có ưu nhược điểm riêng do đó các nhà nghiên cứu đề ra
thế hệ IDS mới tập trung đánh giá nhiều nguồn dữ liệu gọi là Hydrid IDS. Hydrid
IDS được hi vọng là thế hệ IDS tiềm năng để phát hiện các cuộc tấn công phức tạp
liên quan hệ thống mạng và máy tính lớn gồm nhiều thông tin từ nhiều nguồn khác
nhau. Hơn nữa thông tin từ nhiều nguồn làm tăng hiệu năng: tăng độ chính xác và
làm giảm tỷ lệ cảnh báo sai

1.2.5 Tiêu chí đánh giá hệ thống
Khi đánh giá hệ thống IDS, có hai nhân tố cần đánh giá là độ chính xác khi
phân loại đó là hành vi xâm nhập hay là hành vi bình thường và thời gian từ lúc ban
đầu giám sát hoạt động đến lúc phân tích và đưa ra kết quả. Cả hai nhân tố trên đều
rất quan trọng khi triển khai sản phẩm IDS vào thực tế. Trong phần sau sẽ trình bày
một số phương pháp và độ đo thích hợp cho bài toán phát hiện xâm nhập bất
thường.


False Positive và False Negative: trong lĩnh vực phát hiện xâm

nhập ta định nghĩa dữ liệu positive là dữ liệu có dấu hiệu tấn công, ngược lại
negative được xem là dữ liệu bình thường. Trong khi đó hệ thống IDS cố gắng phân
loại dữ liệu, phân loại có thể đúng hay sai (True và False). Nếu ta phân loại thành
hai loại tấn công và bình thường kết hợp với hai trường hợp thực tế là tấn công và
bình thường thì có bốn trường hợp xảy ra:
True Positive (TP): Giải thuật phát hiện rằng đó là tấn công mà dữ liệu

thực sự là tấn công
 False Positive (FP): Giải thuật phát hiện đó là hoạt động bình thường
mà dữ liệu thực tế là tấn công
 True Nagetive (TN): Giải thuật phát hiện đó là tấn công mà dữ liệu thật
sự là bình thường


12

False Negative (FN): Giải thuật phát hiện rằng đó là bình thường mà dữ
liệu thực sự là bình thường.
Dựa vào bốn tiêu chí trên để hệ thống IDS hoạt động hiệu quả thì cần tăng
TP và TN lên cao, ngược lại giảm FP và FN xuống thấp có thể.
Joshi đề xuất phương pháp đồ họa minh họa mối quan hệ giữa bốn tiêu chí:
TP, FP, TN, FN. Trong đó hình tròn lớn là không gian chứ toàn bộ dữ liệu bao gồm
dữ liệu bình thường và dữ liệu có dấu hiệu xâm nhập. Hình ellipse nhỏ định nghĩa
không gian phân loại do giải thuật quyết định. Vấn đề chính là tìm độ đo thích hợp
để đặc tả rõ mối quan hệ giữa các tiêu chí đó để đánh giá chính xác hệ thống IDS

 Precision, Recall và F-Measure
Trong phần này ta giới thiệu ba độ đo Precision, Recall và F-Measure dùng
để đánh giá chính xác hệ thống IDS.
Precision: là thang đo chú trọng vào lớp xâm nhập, được định nghĩa là số
cuộc phát hiện xâm nhập đúng trên toàn bộ dữ liệu xâm nhập. Precision chạy trong
khoảng [0, 1]. Với Precision cao chúng ta tự tin khẳng định việc phát hiện xâm nhập
bởi giải thuật là chính xác, hạn chế báo nhầm. Một trong những điểm yếu của
phương pháp phát hiện bất thường là thường xuyên báo động tấn công trong khi
thực tế đó là hoạt động bình thường, điều này làm giảm tính tin cậy của hệ thống
IDS. Tuy nhiêu khi hệ số Precision quá cao khi đó lại bỏ sót nhiều cuộc tấn công mà
không cảnh báo. Để khắc phục điều này các nhà nghiên cứu đề xuất thang đo thứ

hai là Recall
𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 =

𝑇𝑃
𝑇𝑃 + 𝐹𝑃

Recall: là thang đo bổ sung cho Precision. Được định nghĩa phần trăm
cuộc phát hiện đúng trên tổng số cuộc phát hiện. Tham số này khắc phục nhược
điểm bỏ sót nhiều cuộc tấn công mà không cảnh báo.
𝑅𝑒𝑐𝑎𝑙𝑙 =

𝑇𝑃
𝑇𝑃 + 𝐹𝑁


13

F-Measure: trường hợp Precision cao và Recall thấp khi đặt ra ngưỡng
cảnh báo cao tức khi phát hiện xâm nhập thì xác suất đó là cuộc xâm nhập thực sự
rất cao nhưng có nhược điểm dễ dàng bỏ sót các cuộc tấn công thực sự mà không
cảnh báo. Trường hợp Precision thấp và Recall cao đồng nghĩa với việc đặt ra
ngưỡng cảnh báo thấp khi đó làm giảm việc bỏ sót các cuộc tấn công thực sự nhưng
nhược điểm là xác suất đưa ra cảnh báo sai cao làm cho hệ thống IDS không còn tin
cậy.
Để hệ thống IDS hoạt động chính xác thì cả hai thang đo Precision và
Recall đều cao, tuy nhiên hai thang đo này không cùng tăng, khi một thang đo tăng
thì cái còn lại giảm. Bài toán đặt ra là làm sao cân bằng hài hòa hai thang đo này.
Độ đo F-Measure ra đời và được sử dụng rộng rãi trong lĩnh vực khai phá dữ liệu
hay máy học là thang đo thích hợp cho việc cân bằng hai thang đo Precision và
Recall. F-Measure là trung bình theo điều hòa của hai thang đó Precision và Recall.

𝐹 − 𝑀𝑒𝑎𝑠𝑢𝑟𝑒 =

2
1
1
+
𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 𝑅𝑒𝑐𝑎𝑙𝑙

Như vậy trong bài toán phát hiện xâm nhập mạng bất thường việc sử dụng
độ đo F-Measure để đánh giá hoạt động của hệ thống IDS là hoàn toàn thích hợp

 Nghịch lí tỉ suất nền
Sau thang đo F-Measure, ta trình bài thêm nghịch lí tỉ suất nền được áp
dụng khi đánh giá bài toàn phân lớp nhị nguyên nổi tiếng, vấn đề này giải đáp chho
nhiều sai lầm khi kết luận tính chính xác của bài toàn phân lớp.
Nghịch lí tỉ suất nền (base rate fallacy): Giả sử trong toàn bộ hành vi trên
hệ thống chỉ có 1% là hành vi xâm nhập còn 99% còn lại là hành vi bình thường.
Khi đó giả sử ta có hệ thống IDS mà đối với hành vi xâm nhập ta phát hiện đúng
95% (sensitivity =95%), còn đối với hành vi bình thường ta phát hiện đúng 80%
(specificity = 80%). Khi đó chuông cảnh báo IDS báo đó là cuộc tấn công xâm nhập
thì xác suất đó là tấn công thực sự là bao nhiêu. Câu hỏi như thế nào này khi áp
dụng qua lĩnh vực y học trong bài toán phát hiện ung thư, một cuộc điều tra cho


14

thấy đa số các bác sĩ có kinh nghiệm lâu năm đều trả lời là 95% tức khi đó câu trả
lời khẳng định việc nhầm lẫn giữa xác suất là tấn công nếu IDS cảnh báo với xác
suất IDS cảnh báo nếu là tấn công. Kahneman gọi dây là nghịch lí tỉ suất nền. Trong
khi kết quả đúng là 79,96%. Việc nhầm lẫn hai giá trị xác suất này dẫn đến những

kết luận sai lầm trong nhiều trường hợp trong thực tế.

 Đường cong ROC
Đường cong ROC (Receiver Operating Characteristic) còn gọi là Receiver
Operatting Curve là đồ thị có trục tung biểu diễn độ nhạy (Sentivity), trục hoành là
biểu diễn giá trị 1 –Specifity. Đường cong ROC áp dụng cho hệ thống phân loại nhị
phân khi mà ngưỡng phân loại thay đổi. Với mỗi ngưỡng phân loại khác nhau ta có
một điểm trên đồ thị này và tập hợp tất cả điểm tương ứng với giá trị ngưỡng phân
loại khác nhau sẽ tạo thành đường cong ROC
Tính chất:
 Đường cong càng đi dọc theo bên trái và phần phía trên trong không gian
ROC thì kết quả kiểm tra càng chính xác.
 Đường cong càng tiến tới thành đường chéo 45 độ trong không gian ROC
thì kết quả kiểm tra kém chính xác.
 Diện tích phía dưới đường cong (Area Under Curve –AUC) giới hạn
trong không gian ROC là thước đo cho độ chính xác của kết quả, chẳng hạn 1 là tối
ưu, 0.8-0.9 tốt, 0.6-0.7 là khá, 0.5-0.6 là kém.
Với ưu điểm trực quan khi đánh giá, ROC được áp dụng rộng rãi trong các
bài toán phân lớp nhị nguyên.


15

Hình 1.2.5: Mô hình đường cong ROC

1.2.6 Đặc tính HIDS hiện đại ngày nay
Trong phần phân loại IDS, luận văn đã trình bày tổng quan về HIDS, phần
sau đây trình bày chuyên sâu hơn về đặc điểm của HIDS hiện đại phù hợp với tình
hình an ninh mạng hiện nay.
HIDS có ba thành phần chính là nguồn dữ liệu, cảm biến (sensor) và phần

lõi phát hiện xâm nhập (Decision Engine). Mỗi thành phần đóng vai trò quan trọng
khi xây dựng hệ thống IDS. Ta xét qua đặc tính của từng thành phần để tìm ra các
nhược điểm nào cần được cải tiến để nâng cao kết quả đánh giá hệ thống IDS trong
tương lai.
 Bộ cảm biến sensor dùng để thu thập dữ liệu, phụ thuộc vào hệ điều
hành, một số ví dụ về sensor như: BSM audit module được sử dụng để tạo nên tập
dữ liệu KDD và chương trình Procmon dùng để thu thập dữ liệu từ hệ điều hành
Window. Hầu hết các hệ điều hành hiện đại ngày nay đều tích hợp module thu thập
dữ liệu từ host và hoạt động rất tốt do đó với phần sensor này ta ít quan tâm cải
thiện hiệu năng khi tiến hành quá trình xây dựng hệ thống HIDS.


16

 Phần lõi phát hiện xâm nhập (Decision Engine) gồm hai dạng đó là phát
hiện sự lạm dụng hay phát hiện bất thường. Ta chỉ tập trung vào phần phát hiện bất
thường, việc xây dựng và cải tiến phần lõi này được sự quan tâm của nhiều nhà
nghiên cứu từ rất lâu. Phần lõi phát hiện bất thường hiện thực các giải thuật máy
học và mô hình thống kê hiện đại, thông thường sự cải tiến phần lõi này được xem
như đóng góp quan trọng khi cải thiện hiệu năng hệ thống IDS. Những thành tựu
của máy học ngày nay đều được áp dụng khi đánh giá hệ thống IDS và đạt kết quả
tương đối cao, tuy nhiên còn nhiều hạn chế như tỉ lệ cảnh báo sai rất cao đây là vấn
đề khó khăn nhất mà phương pháp pháp hiện xâm nhập dựa trên sự bất thường gặp
phải. Việc ứng dụng các thành tựu máy học và thông kê hiện đại rất cần thiết để
khắc phục những hạn chế cũng như nâng cao hiệu năng hoạt động của IDS. Song
song với việc cải tiến phần lõi phát hiện xâm nhập, nguồn dữ liệu đánh giá là cực kỳ
quan trọng.
 Cách tiếp cận vấn đề nguồn dữ liệu khi đánh giá HIDS hiện tại sử dụng
ba loại thông tin chính. Đầu tiên và cũng thông tin phổ biến nhất sử dụng trong
HIDS là lời gọi hệ thống system call được đề xuất bởi Forrest. Forrest đề xuất rằng

sử dụng các chuỗi nối tiếp với chiều dài không đổi trên dữ liệu system call để tạo ra
mô hình phân tách rõ giữa hành vi bất thường và hành vi bình thường, dựa theo
cách này Forrest đưa ra giải thuật Sequence Time-Delay Embedding (STIDE) và đạt
kết quả cao. Từ kết quả của Forrest mở ra nhiều hướng nghiên cứu sử dụng system
call là nguồn thông tin đánh giá. Hiện có rất nhiều công trình nghiên cứu cải tiến
giải thuật của Forrest hướng thứ nhất là áp dụng phương pháp xử lí ngôn ngữ tự
nhiên để ánh xạ tập dữ liệu system call vào không gian vector, hướng thứ hai là áp
dụng giải thuật máy học phù hợp trên không gian vector đã được tạo ra từ tập dữ
liệu system call. Trên một số hệ điều hành như Window không cho phép ta truy
xuất đến dữ liệu system call do đó khi đánh giá trên hệ thống này ta sử dụng dữ liệu
thay thế là log file, những công trình nghiên cứu gần đây chứng minh rằng khi áp
dụng nguồn thông tin này đã đạt kết quả đáng ghi nhận chứng tỏ log file cũng là
nguồn dữ liệu tìm năng. Nguồn dữ liệu thứ ba là thao tác truy xuất trên thanh ghi


17

registry, registry là một cơ sở dữ liệu dùng để lưu trữ thông tin về sự thay đổi,
những lựa chọn và thiết lập từ người dùng bao gồm tất cả các thông tin về phần
cứng, phần mềm và người sử dụng.

1.3 Tổng quan về Máy học (Machine Learning)
Máy học là một lĩnh vực của trí tuệ nhân tạo liên quan đến việc phát triển
các kĩ thuật cho phép các máy tính có thể “học”. Cụ thể hơn, máy học là một
phương pháp để tạo ra các chương trình máy tính bằng việc phân tích các tập dữ
liệu. Máy học có liên quan lớn đến thống kê, vì cả hai lĩnh vực đều nghiên cứu việc
phân tích dữ liệu, nhưng khác với thống kê, máy học tập trung vào sự phức tạp của
các giải thuật trong việc thực thi tính toán. Nhiều bài toán suy luận được xếp vào
loại bài toán NP-hard, vì thế một phần của máy học là nghiên cứu sự phát triển các
giải thuật suy luận xấp xỉ mà có thể xử lý được.

Dưới góc nhìn của trí tuệ nhân tạo, động lực chính của máy học là nhu cầu
thu nhận tri thức (knowledge acquisition). Thật vậy, trong nhiều trường hợp ta cần
kiến thức chuyên gia là khan hiếm (không đủ chuyên gia ngồi phân loại lừa đảo thẻ
tín dụng của tất cả giao dịch hằng ngày) hoặc chậm vì một số nhiệm vụ cần đưa ra
quyết định nhanh chóng dựa trên xử lý dữ liệu khổng lồ và thiếu ổn định thì buộc
phải cần đến máy tính. Ngoài ra, đại đa số dữ liệu sinh ra ngày nay chỉ phù hợp cho
máy đọc (computer readable) tiềm tàng nguồn kiến thức ẩn chứa bên trong. Máy
học nghiên cứu cách thức để mô hình hóa bài toán cho phép máy tính tự động hiểu,
xử lý và học từ dữ liệu để thực thi nghiệm vụ được giao cũng như cách đánh giá
giúp tăng tính hiệu quả.
Theo định nghĩa của Tom Mitchell giáo sư nổi tiếng trong lĩnh vực máy
học: Một chương trình máy tình được nói là nói là học từ experience E có quan hệ
với các task T và performance measure P nếu hiệu suất trên T của nó được đo lường
bởi P tăng với experience E.
Máy học có tính ứng dụng rất cao bao gồm máy truy tìm dữ liệu, chuẩn
đoán y khoa, phát hiện thẻ tín dụng giả, phân tích thị trường chứng khoán, phân loại


18

các chuỗi DNA, nhận dạng tiếng nói và chữ viết, dịch tự động, chơi trò chơi và cử
động rô-bốt (robot locomotion).

1.3.1 Các dạng máy học
a. Học có giám sát
Học có giám sát là một kĩ thuật của machine learning để xây dựng một hàm
từ tập các giá trị đầu vào và giá trị đầu ra tương ứng. Đầu ra có thể là một giá trị liên
tục hoặc rời rạc. Nhiệm vụ của học có giám sát (supervised learning) là dự đoán đầu
ra mong muốn dựa vào giá trị đầu vào.
Mô hình: Ta sử dụng x(i) để kí hiệu các input hay còn gọi là input features

và y(i) để kí hiệu các output hay target variable mà ta muốn dự đoán. Một cặp (x(i),
y(i)) được gọi là training example và một bộ dữ liệu các cặp (x(i), y(i)) được gọi là
training set. Mục tiêu của supervised learning là xây dựng một thuật toán học để tìm
được hàm h(x) với h(x) là hàm dự đoán tốt giá trị của y. Hàm h(x) còn được gọi là
hypothesis. Mô hình quá trình của supervised learning được cho dưới đây:

Hình 1.3.1a: Sơ đồ học có giám sát
Một số thuật toán thường được lựa chọn khi xây dựng bộ phân lớp gồm có:
máy vector hỗ trợ (Support Vector Machine –SVM ); k láng giềng gần nhất (K
Nearest Neighbours –KNN); tiếp cận xác xuất thống kê (Naïve Bayes –NB); cây
quyết định (Decision Tree –DT); sử dụng mạng Nơ-ron (Nearal Network –Nnet);
dựa vào vector trọng tâm (Centroid-base vector); hay tuyến tính bình phương nhỏ
nhất (Linear Least Square Fit – LLSF).

b. Học không giám sát


19

Học không giám sát là một kỹ thuật của machine learning nhằm tìm ra một
mô hình phù hợp với tập dữ liệu đầu vào. Nó khác với việc học giám sát ở chổ
output cho mỗi input là không biết trước. Mục đích chính của học không giám sát là
phân cụm dữ liệu đầu vào và cho ta một cái nhìn tổng quan về sự phân bố của dữ
liệu một cách trực quan.
Có rất nhiều thuật toán học không giám sát được ra đời và phát triển nhằm
giải quyết bài toán phân cụm phục vụ khai thác hiệu quả nguồn dữ liệu chưa gán
nhãn nhiều và rất đa dạng. Việc lựa chọn sử dụng thuật toán nào tùy thuộc vào dữ
liệu và mục đích của từng bài toán. Trong đó các thuật toán thường được sử dụng
như: k-means, HAC (Hierarchical Agglomerative Clustering), SOM (SelfOrganizing Map), DBSCAN, FCM, …


Hình 1.3.1b: Học không giám sát

c. Vấn đề quá vừa dữ liệu
Thuật ngữ over-fitting ra đời dùng để chỉ một hiện tượng xuất hiện trong
quá trình khai phá dữ liệu sử dụng phương pháp máy học. Hiện tượng này gây khó
khăn đáng kể cho việc thiết kế, xây dựng hệ thống ngay từ bước chuẩn bị dữ liệu
cho đến bước kiểm thử hệ thống. Khi hiện tượng over- fitting xảy ra sẽ làm cho hiệu
quả của hệ thống giảm xuống và kết quả thu được từ hệ thống không còn độ tin cậy
cao. Có thể định nghĩa over–fitting như sau:


20

Một hàm mục tiêu hay một giả thiết học được h, sẽ được gọi là over-fitting
(quá vừa dữ liệu) với một tập dữ liệu huấn luyện nếu tồn tại một hàm mục tiêu khác
là h’ so cho: h’ kém phù hợp hơn, đạt độ chính xác kém hơn so với h trên tập dữ
liệu huấn luyện, nhưng h’ lại đạt độ chính xác cao hơn h đối với toàn bộ dữ liệu
(bao gồm cả tập dữ liệu huấn luyện và tập dữ liệu kiểm tra).

1.3.2 Tổng quan về thuật toán học không giám sát K-means
Giải thuật gom cum K-means là một dạng máy học không giám sát, được
sử dụng khi có dữ liệu không có nhãn (tức là dữ liệu không có nhóm hoặc chưa
được xác định). Mục tiêu của thuật toán này là tìm các nhóm trong dữ liệu, với số
nhóm được đại diện bởi biến k. Thuật toán hoạt động lặp lại để gán mỗi điểm dữ
liệu cho một trong các nhóm k dựa trên các tính năng được cung cấp. Các điểm dữ
liệu được phân cụm dựa trên tính tương tự về tính năng. Kết quả của thuật toán
phân cụm k-means là:
- Các trung tâm của cụm k có thể được sử dụng để gán nhãn dữ liệu mới.
- Nhãn cho dữ liệu đào tạo (mỗi điểm dữ liệu được gán cho một cụm duy
nhất).

K-means là thuật toán rất quan trọng và được sử dụng phổ biến trong kỹ
thuật phân cụm. Tư tưởng chính của thuật toán K-Means là tìm cách phân nhóm các
đối tượng (objects) đã cho vào K cụm (K là số các cụm được xác đinh trước, K
nguyên dương) sao cho tổng bình phương khoảng cách giữa các đối tượng đến tâm
nhóm (centroid) là nhỏ nhất
Thuật toán K-means được mô tả như sau:


21

Hinh 1.3.2: Sơ đồ thuật toán K-means
Thuật toán K-Means thực hiện qua các bước chính sau:
 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.
 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).
 Nhóm các đối tượng vào nhóm gần nhất.
 Xác định lại tâm mới cho các nhóm.
 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


22

Các khái niệm biến và hàm sử dụng trong thuật toán k-means:
 MSE: (Mean Squared Error) được gọi là sai số bình phương trung
bình hay còn gọi là hàm tiêu chuẩn.
 D2(xi,mj): là khoản cách Euclide từ đối tượng thứ i tới trọng tâm thứ j.
 OldMSE, m’j, n’j: là các biến tạm lưu giá trị cho các trạng thái trung
gian cho các biến tương ứng.

Độ phức tạp của thuật toán là O((3nkd)τ Tflop) với n là số đối tượng dữu liệu
đưa vào, k là số cụm dữ liệu, d là số chiều, τ số vòng lặp, Tflop là thời gian để thực
hiện một phép tính cơ sở như phép tính nhân, chia,…Do k-means phân tích cụm
đơn giản nên có thể áp dụng đối với tập dữ liệu lớn. Tuy nhiên, nhược điểm của kmeans là chỉ áp dụng với dữ liệu có thuộc tính số và khám phá ra các cụm có dạng
hình cầu, k-means còn rất nhạy cảm với nhiễu và các phần tử ngoại lai trong dữ
liệu.


23

Điểm mạnh của phương pháp gom cụm k-means
 Khả năng mở rộng (scalable) tương đối: trong khi xử lý các tập dữ
liệu lơn.
 Hiệu suất tương tối: O(tkn), với n là số đối tượng, k là số cụm, t là số
lần lập, thông thường k,t <Điểm yếu của phương pháp gom cụm k-means
 Có thể áp dụng khi biết được trị trung bình của các đối tượng.
 Cần chỉ định trước k, số các cụm.
 Không thể xử lý được dữ liệu chuỗi và outlier
 Không phù hợp để khám phá các cụm với dạng không lồi hay cụm có
kích thướng khác nhau.

1.3.3 Tổng quan về thuật toán SOM (Self Organizing Map )
Self Organizing Map (SOM) hay Self-Organizing Feature Map (SOFM) là
một mạng Nơ-ron nhân tạo (Artificial Neural Networks – ANN), được huấn luyện
(trained) sử dụng kỹ thuật Unsupervised learning để biểu diễn dữ liệu với số chiều
(dimension) thấp hơn nhiều (thường là 2 chiều) so với dữ liệu đầu vào nhiều chiều
(thường số chiều lớn). Kết quả của SOM gọi là bản đồ (Map). SOM là một ANN,
tuy nhiên SOM khác với các ANN là không sử dụng các lớp ẩn (hidden layers) chỉ
sử dụng input và output layer. SOM sử dụng khái niệm láng giềng (neighborhood)

để giữ lại đặc trưng của các dữ liệu đầu vào trên bản đồ (có nghĩa là các training
sample tương tự nhau thì được đặt gần nhau trên bản đồ). Ưu điểm chính của SOM
là biểu diễn trực quan dữ liệu nhiều chiều vào không gian ít chiều hơn (thường là 2
chiều) và đặc trưng của dữ liệu đầu vào được giữ lại trên bản đồ.
Ý tưởng về SOM lần đầu tiên được giới thiệu bởi C. von der Malsburg năm
1973 và được phát triển bởi T. Kohonen (Finland ) năm 1982 nên còn được gọi là
Kohonen Network.
SOM gồm các thành phần sau:


×