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ĩ)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ĩ)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ĩ)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ĩ)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ĩ)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ĩ)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ĩ)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ĩ)
Trang 1NGUYỄ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
Trang 2NGUYỄ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
Trang 3MỞ ĐẦ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
Trang 4Chươ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 K-means 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ể
Trang 5Chươ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
Trang 6nghệ 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
Trang 7bả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
Trang 8phá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
Trang 9mạ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
Trang 10Nhượ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 đề cross-platform 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
Trang 11rấ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
Trang 12vi 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
Trang 13hệ 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
Trang 14False 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
𝑅𝑒𝑐𝑎𝑙𝑙 = 𝑇𝑃
𝑇𝑃 + 𝐹𝑁
Trang 15F-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
𝐹 − 𝑀𝑒𝑎𝑠𝑢𝑟𝑒 = 1 2
𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛+
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
Trang 16thấ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
Trang 17Hì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
Trang 18 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
Trang 19registry, 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
Trang 20cá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ự đố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ự đố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 tốn học để tìm được hàm h(x) với h(x) là hàm dự đố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 tố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ê (Nạ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
Trang 21Họ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 (Self-Organizing 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: