Với một lượng truy cập không lồ nhưvậy, nếu như hệ thống phát hiện xâm nhập sử dung học máy nêu trên không thé đáp ứngđược thì nó có thé trở thành một điểm nghẽn, một gánh nặng cho toàn
Trang 1HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THONG
KHOA CÔNG NGHỆ THÔNG TIN I
Đề tài: “PHÁT HIỆN TAN CÔNG MẠNG DUA TREN NEN
Hà Nội, tháng 01 năm 2022
Trang 2HỌC VIEN CÔNG NGHỆ BƯU CHÍNH VIÊN THONG
KHOA CÔNG NGHỆ THÔNG TIN I
Dé tài: “PHÁT HIỆN TAN CÔNG MẠNG DUA TREN NEN
Trang 3LỜI CẢM ƠN
Sau những năm tháng học tập và rèn luyện tại trường đại học, đồ án tốt nghiệp là một
minh chứng cho những kiến thức đã học được của một sinh viên Trong quá trình nghiên
cứu và hoàn thành đồ án tốt nghiệp này, em đã nhận được sự hướng dẫn và giúp đỡ nhiệttình từ thầy giáo TS Hoàng Xuân Dậu Em xin cảm ơn thầy đã luôn quan tâm và chỉ bảotận tình, cho em rất nhiều kiến thức chuyên môn, dẫn dắt em trong suốt quá trình học tập tạitrường và trong giai đoạn thực hiện đồ án tốt nghiệp này
Em cũng xin chân thành cảm ơn các thầy, cô ngành An Toàn Thông tin, khoa CôngNghệ Thông Tin đã dạy cho em những kiến thức bồ ích và quý giá dé em có thé hoàn thành
đồ án này cũng như tự tin bước vào môi trường làm việc
Với von kiên thức và hiéu biệt còn nhiêu hạn chê nên đồ án tot nghiệp của em sẽ không
tránh khỏi những thiêu sót, em rât mong nhận được sự góp ý của các thây, cô đê em có thê rút kinh nghiệm và hoàn thiện hơn.
Em xin chân thành cảm ơn!
Hà Nội, ngày tháng 0] năm 2022
SINH VIÊN THỰC HIỆN
Tran Đức Nhân
Trang 4NHAN XÉT, ĐÁNH GIÁ, CHO DIEM
(Của người hướng dẫn)
Đồng ý/Không đồng ý cho sinh viên bảo vệ trước hội đồng cham đồ án tốt nghiệp?
Hà Nội, ngày tháng 01 năm 2022
GIẢNG VIÊN HƯỚNG DẪN
(Ký và ghi rõ họ tên)
Trang 5NHAN XÉT, ĐÁNH GIÁ, CHO DIEM
(Của người phản biện)
Đồng ý/Không đồng ý cho sinh viên bảo vệ trước hội đồng cham đồ án tốt nghiệp?
Hà Nội, ngày tháng 01 năm 2022
GIẢNG VIÊN PHẢN BIỆN
(Ký và ghi rõ họ tên)
Trang 6LOI CẢM ƠN -5-55c ccccerkerrrrrrrerree ¬ |NHẬN XÉT, ĐÁNH GIA, CHO ĐIÉM 2- 22 2 SE+SE£EE££EESEEEEECEEEEEEEEEEEEErkrrrrrrrrred 2
(Của người hướng dẫn)), 2-5 %+S 9S 2EEEE2EEEE2321211211121112111112111 21111111 re 2
NHẬN XÉT, DANH GIA, CHO ĐIỀM 2-2 ©22+2E£+EE2EEtEEEEEEEEEECEEEEEEEEEkrrrkrrrree 3
(Của người phản ĐIỆN) - 5 c1 2112101831013 911 01 vn HH HH 3
DANH MỤC CÁC HÌNH VỀ - 2 ©5£+2<2EkEEEE2121122117171121121111211211 111111 re 6DANH MỤC BANG BIỀU - 2-2 ©5£2SE+SE£EE£EEEEEEEEEEEEE2112112217171121111 712111 cre 7
MỞ ĐẦUU 22-51 St 2E 1122127121211211T1T1211 211011 T111T11 1111.111111 rau 8
CHUONG 1 TONG QUAN VE PHAT HIEN TAN CONG UNG DUNG WEB DUA
TREN HOC MAY VA XỬ LY DU LIEU LỚN 2-2 5£ ©5£+££+£E+£E+zE+zxerxersee 11
1.1 Tổng quan về kỹ thuật tấn công ứng dụng web phổ biến -. 2- 5: 22 552 11
1.1.1 L6 hồng bao mật ứng dụng web - sgk 111.1.2 Một số hình thức tan công ứng dụng web phổ biến 2- 2-55 5552 161.2 Hệ thống phát hiện xâm nhập (Intrusion Detection System)) -««+<<«« 18
1.2.1 Khái MiG eceececccccccsssessessessssssecsecssssssssessecsessusssecsecsussusssessessessusssessessesssseseeseess 18 58x68 ẽ a7 18
1.3 Nghiên cứu tổng quan về học MAY - 2 2 + +E+EE+EE+EE+E£+Ee£Eerkerkrrxrrszes 22
1.3.1 Tổng quan về học máyy ¿+ +¿+++++++x++Ex++E++EE++EE+£EEtEEktrkrerkrsrkrrrrees 221.3.2 Mô hình học máy và các yếu tố ảnh hưởng đến hiệu quả của mô hình học máy
¬ 23 1.3.3 Các bước xây dựng mô hình học MAy - ¿s5 + k3 seeirsrserere 24 1.3.4 Phân loại các thuật toán học máyy - - ¿+ + k1 k1 1+ v.v HH vn key 27
1.4 Nghiên cứu tông quan về dữ liệu lớn và xử lý dữ liệu lớn -: -5- 29
1.4.1 Tổng quan về Big]Dafa -¿- 2-5 £+S22EE‡EE£EE2 12 1EE121121121171711211 2111 cce 29
1.4.2 Xử lý đữ liệu lớn -:-2¿225++Sx+SE2EE2EE£EEEEE2EE2EEE21 7112112112171 cErcre 30
1.5 Một số nghiên cứu liên quan - 2 ¿5£ s+EE+EE2EE2EE£EE+EEEEESEEEEEEEEErErrkerkerree 32
1.6 Kết luận chương ¿+ 9S E+EE+E£EE£EEEEEEEE9E11121121717111111111 111111111110 33CHƯƠNG 2 MÔ HÌNH PHÁT HIỆN TAN CÔNG WEB DỰA TREN HỌC MAY VÀ XỬ
LY DU LIEU LỚN - 2 2£ 5£ E£2EE£EEEÊEEESEE2EEE21127112712117112711211711 11.1121 cre 34
Trang 72.1 Mô hình phát hiện tan công web dựa trên học máy và xử lý dữ liệu lớn 34
2.2 Giới thiệu một số thuật toán học máy được ứng dụng trong phát hiện xâm nhập 35
/, N0 35 2.2.2 LogIstic Ñ€BT€SSIOH . G11 HH TH ng 36
2.2.3 Cây quyết định (Decision Tree) c.cscsessessesssessessesseessessessessesssessessessessseeseeseees 37
2.2.4 Rừng ngẫu nhiên (Random FOresf) - 2 ¿2 z+s+S£+E+E£+E+EE+Eezxvxerxererxrrs 41
2.3 Giải pháp xử lý với khối lượng dit liệu LOM -2- ¿2£ ++zx+£x++£++zx+rxezsez 43
2.4 Kết luận chương :- + + E2 E9EESEE2E127157171211211211717111111 1111111 1x 1xx 44
CHƯƠNG 3 TRIÊN KHAI VÀ THỬ NGHIỆM MÔ HÌNH PHÁT HIỆN TẤN CÔNGWEB DỰA TREN HOC MAY VÀ XỬ LÝ DU LIEU LỚN -. :-2 2-=52 45
3.1 Mô hình triển khai và thử nghiệm 2-22 5¿++22E++E+++EE+2EEtzxeerxesrxerrxees 45
3.2 Giới thiệu bộ dữ liệu CSE-CIC-IDS2018 2-2 5¿25+2£+2Ext£xezEzrxzrxerxrei 45
3.3 Tiền xử lý bộ dữ liệu -:- 2 2 Sx+SE2E2EE2E1E21211211271221711211211 1121.211 Ectrcre, 483.4 Đánh giá kết quả đối với các mô hình 2 2 + + +2 E+££+E£+E£+E££Eezxerxerszreee 52
3.4.1 Các chỉ số đánh giá - ¿+ tt St E E1212111111111111112111 111111111110 52
3.4.2 ö¡ 0009: 0 55 3.4.3 Phân loại da ÏỚpD - - 5 5 + vn TT HH Hà HH hà 58 3.5 So sánh hiệu năng giữa Spark MLIIb và ScIkit-learn - s-s+s+cs+<csssexeeses 61
3.6 Hệ thống thực nghiệm ¿- ¿2£ ©22+©+£+EE2EE£EEEEEEESEE2EEE711271E271211 21.2212 xe 633.7 Kết luận chương - + + 52+Sz+E2EEEEEEEEEEE121121121121711111111111 111111111 y 65
4108000.) 67
/.180)20989:7 9/84: 68
Trang 8DANH MỤC CÁC HÌNH VE
Hình 1.1 Sơ đồ mối quan hệ giữa tan công và hoạt động của Website - 12
Hình 1.2 Hệ thống NIDS/HIDS 2-2 S£ + £+SE£EE£EE£EEEEEEEEEEEEEEEEEEEEEEEEEEEEEErrkerkee 18 Hình 1.3 Hệ thống NIDS 2- 2 52+S22EESEESEEE2E12E15711211211117171121111 1121.111 tye 19 Hình 1.4 Hệ thống HIDS 2- 2-52 S22EE‡EE£EEE2EEEEEEEEE2E121127171171121177111 21.11 T1 xe 21 Hình 1.5 Sự khác biệt giữa ML va phần mềm bình thường 2 ¿2 s2 s2 +2 +2 23 Hình 1.6 Workflow xây dựng mô hình học mấy - - - «+ «+ key 24 Hình 1.7 Các mô hình học máy phổ biến - 2-22 222 ©£2E22EE+£EE+EE+zEEzrxrrxesrkd 26 Hình 1.8 Apache Hadoop mOduÌ€S - -. - - c6 1 33118311189 11191111 111 11 9v ng ng 31 Hình 1.9 Apache SparK - - c1 “HT TH HH HH hờ 31 Hình 2.1 So đồ tong quan hệ thong phát hiện tan công ứng dụng web - 34
Hình 2.2 Sơ đồ quá trình huấn luyện mô hình học MAY - 2 2 2 s2 s£s+zs+s+2 35 Hình 2.3 Các activation function khác nhau - 6 5< 211131133 E91 E8 1v vn key 36 Hình 2.4 Ví dụ về mô hình của cây quyết định - 2-2 2 ++E£2+£++EE+£EezEezrxerxerxee 38 Hình 2.5 Sơ đồ khối thuật toán ID3 :¿ 22+22+ttEEvtrttEktrtttrtrrrtrtrrrrrrrrrrrrree 39 Hình 2.6 Giới thiệu bước huấn luyện mô hình Decision 'Tree - -‹ -s<+++<<++sss+ 4I Hình 2.7 Giới thiệu bước dự đoán của mô hình Decision 'Tree -«=++<<<<+ 42 Hình 2.8 Mô hình tiêu biểu của thuật toán Random FOresi ¿2-5 + s+s+£szxz£ezezx2 42 Hình 3.1 Kiến trúc mạng thực nghiệm cua dataset CSE-CIC-IDS2018 [13] 46
Hình 3.2 Ma trận tương quan của các thuộc tinh 5< + kE#eeEeskereeeekrre 50 Hình 3.3 Cấu trúc của Confusion Matrix c ccccccscsssessessesssessessessesssessessesssssessessesssaseeseeses 52 Hình 3.4 Cấu trúc của Normalized Confusion MatriX -5- 2 s+x£x++zz+zxerxersez 53 Hình 3.5 Biểu đồ mô phỏng ROC Curve — AUC woeecssscsssessssssssssesssecssesscesecssecsssesecssecsseess 53 Hình 3.6 Cách tính Precision và Recall .- - - s + + x11 1.9 1 HH kg rg 54 Hinh 3.7 Danh gia hiéu suất của các mô hình phân loại nhị phân - ‹ « 56
Hình 3.8 Đường cong ROC đánh giá các mô hình phân loại nhị phan 57
Hình 3.9 Confusion matrix của các mô hình phân loại nhị phân - 58
Hình 3.10 Đánh giá hiệu suất của các mô hình phân loại da lOp c.cceccesesseessessessesseeseeees 59 Hình 3.11 Đường cong ROC đánh giá các mô hình phân loại da lớp 60
Hình 3.12 Confusion matrix của các mô hình phân loại nhị phân - 61
Hình 3.13 Giao diện theo dõi vận hành của ứng dụng phát hiện tan công web 64
Hình 3.14 Dashboard theo dõi của hệ thống phát hiện tan công ứng dung web 65
Hình 3.15 Truy vấn thông tin về các cuộc tan công một cách dễ dàng - 65
Trang 9DANH MỤC BANG BIEU
Bang 3.1 Bảng danh sách các loại tan công được thực hiện cùng với một số thông tin liên
80004 e 4 47
Bảng 3.2 Mô tả số lượng gói tin và hình thức tan công trong CSE-CIC-IDS 2018 48Bảng 3.3 Bang thống kê số lượng các loại gói tin trong IDS2018-WEB 50Bang 3.4 Thống kê các loại tan công trong IDS2018-WEB 2-52 ©s+cxc£sccszce2 51
Bang 3.5 So sánh bộ dữ liệu IDS2018-WEB va CSE-CIC-IDS2018 - - 51
Bảng 3.6 Kích thước bộ dữ liệu huấn luyện và kiỂm tra e.seeecsseescsssseeesseeeeesneeeessneeeesnees 52Bang 3.7 Bảng thông số cài đặt các thuật toán + + c©sSE+EE£EE2E2EEEeEEerkerxrrkrree 55Bang 3.8 Đánh giá hiệu năng giữa SparkMLlib và Scikit-learn khi triển khai ở chế độ
Bang 3.9 Đánh giá hiệu năng giữa SparkMLlib và Scikit-learn khi triển khai ở chế độ
0:1 62
Trang 10MỞ ĐẦU
Các hệ thống, phần mềm hiện nay dé có thé dé dàng đến với người dùng, đa phần đượctriển khai trên web Do đó, các ứng dụng web đem đến nhiều rủi ro đáng kê rồi mới đến an
toàn của hệ thống và đữ liệu Nhiều ứng dụng web có thể bị những lỗi mà các phương cách
phòng chống mạng thông thường không bảo vệ được Lỗi và lỗ hồng trong mã nguồn củaứng dụng web có thé gây ra những hậu quả nghiêm trọng như lộ dữ liệu nhạy cảm, gây tổnthương đến toàn hệ thống ha tầng công nghệ thông tin Sự cố bảo mật trong ứng dụng web
có thể ảnh hưởng đến danh tiếng của công ty, mất mát về mặt tài chính, ảnh hưởng đến uy
tín với khách hàng và các vấn đề liên quan đến ràng buộc pháp lý
Các hệ thống phát hiện xâm nhập trước đây hoạt động dựa trên việc thiết lập các luật
(rules) hoặc sử dụng các lệnh dự đoán trực tuyến Tuy nhiên, các biện pháp này tỏ ra không
hiệu quả, khá tốn kém, độ tin cậy không cao và không có khả năng tự cập nhật dé phat hién
các hình thức xâm nhập mới Theo đó, kỹ thuật máy học dang dần được áp dụng như là
thuật toán phát hiện chính trong IDS nhờ các đặc tính và khả năng học hỏi không mô hình
của chúng Tuy nhiên, các chuyên gia bảo mật vẫn đang hướng tới những loại IDS hiệu suấttốt hơn, có tỉ lệ phát hiện cao hơn và tỉ lệ cảnh báo sai là thấp nhất Điều này là hoàn toàn
khả thi với bước đột phá gần đây trong học máy
Học máy hiện đang được áp dụng như một công cụ thiết yếu để cải thiện quá trình pháthiện các cuộc tan công nhằm vào ứng dung web Nó bao gồm xây dựng đặc tính, khai thác
và lựa chọn Quá trình xây dựng đặc tính mở rộng các đặc tính ban đầu dé tăng cường tínhchân thực của chúng, trong khi khai thác đặc tính biến đổi các đặc tính ban đầu thành mộthình thức mới và lựa chọn đặc tính, loại bỏ các đặc tính không cần thiết Học máy chính là
chìa khóa dé cải thiện hiệu suất của IDS dé phát hiện các cuộc tấn công nhằm vào website
ngày càng được hiệu quả.
Bên cạnh việc áp dụng học máy, một điều đáng dé lưu tâm đó là dit liệu lớn khi màlượng người dùng internet đang ngày một tăng mạnh Với một lượng truy cập không lồ nhưvậy, nếu như hệ thống phát hiện xâm nhập sử dung học máy nêu trên không thé đáp ứngđược thì nó có thé trở thành một điểm nghẽn, một gánh nặng cho toàn bộ hệ thống và dẫnđến phản tác dụng Do đó, việc kết hợp giữa học máy và xử lý dữ liệu lớn là một hướngnghiên cứu và phát trién phù hợp
Xuất phát từ thực tế và những van đề nêu trên, em lựa chọn dé tài: “Phat hiện tan công
mang dựa trên nền tảng xử lý dữ liệu lớn” nhằm khai thác sức mạnh xử lý của nền tảng xử
lý dữ liệu lớn và học máy dé tăng hiệu năng cũng như hiệu quả phát hiện xâm nhập Trong
đồ án này, nội dung phát hiện xâm nhập mạng duoc tập trung vào phát hiện các dạng tấn
công ứng dụng web dựa trên học máy sử dụng nên tảng xử lý dữ liệu lớn do đây là ứng dụngphổ biến nhất trên mang Internet
Trang 11Mục tiêu nghiên cứu
Nghiên cứu cơ sở lý thuyết, đề xuất giải pháp, xây dựng hệ thống mô phỏng việc pháthiện tấn công ứng dung web dựa trên hoc máy va xử lý dir liệu lớn sẽ được thực hiện như
Sau:
- Xây dựng bộ dữ liệu đặc trưng của một số hình thức tan công ứng dụng web
- Đề xuất mô hình phát hiện tấn công ứng dụng web dựa trên học máy và xử lý dữ liệu
lớn.
- Lựa chọn mô hình trích chọn đặc trưng quan trọng và phương pháp học máy đề pháthiện tan công ứng dụng web
- Đánh giá kết quả mô hình phát hiện, lựa chọn ra mô hình tốt nhất
- Đề xuất, đánh giá và lựa chọn cách thức triển khai mô hình học máy trên môi trườngphân tán, giải quyết việc xử lý lượng truy cập lớn
Các nội dung chính đã thực hiện
- Tổng quan về 16 hong bảo mật ứng dụng web, OWASP Top 10, một số hình thức tan
công phô biến và hệ thống phát hiện xâm nhập
- Nghiên cứu tông quan về học máy, cơ sở toán học của 4 thuật toán thường được sử
dụng trong bài toán này đó là Naive Bayes, Logistic Regression, Decision Tree va Random
Forest Sau đó là các yêu tố anh hưởng đến hiệu qua của mô hình, phân loại và các bước dé
có thể xây dựng mô hình học máy
- Nghiên cứu tông quan về dit liệu lớn và các nền tảng, công cụ xử lý dữ liệu lớn nồi
bật hiện nay và được sử dụng trong đề tài này
- Đề xuất giải pháp, mô hình phát hiện tấn công ứng dụng web dựa trên học máy và
xử lý dữ liệu lớn.
- Phân tích sơ lược bộ dit liệu CSE-CIC-IDS2018 do Cơ quan An ninh Truyền thông
và Viện An ninh mạng Canada phát hành Từ đó dé xuất tạo ra bộ dữ liệu mới rút gọn từCSE-CIC-IDS2018 dé phục vụ xây dựng giải pháp phát hiện tan công ứng dụng web
- Thực hiện đánh giá các mô hình học máy trên ngôn ngữ Python và huấn luyện cho
bộ dữ liệu mới được xây dựng trước đó Đánh giá hiệu quả các mô hình thông qua các chỉ
số hiệu suất và thời gian Từ đó chọn ra mô hình tốt nhất
- So sánh hiệu năng khi triển khai mô hình học máy thông qua thư viện SparkMLIib
và Scikit-learn và đưa ra đánh giá.
- Triển khai hệ thống phát hiện tấn công ứng dụng web dựa trên học máy và xử lý dữ
liệu lớn.
Trang 12Ket cầu đồ án Kêt cau của đê tài gôm 3 chương chính với các nội dung sau:
Chương 1: Tổng quan về phát hiện tan công ứng dụng web dựa trên hoc máy và xử lý
dữ liệu lớn Nội dung chương bao gồm các kỹ thuật tan công ứng dụng website phổ biến và
hệ thống phát hiện xâm nhập IDS Nghiên cứu tông quan về học máy, phân loại, các yếu tố
ảnh hường đến hiệu quả của mô hình và các bước xây dựng một mô hình học máy Nghiên
cứu tổng quan về dữ liệu lớn và nền tảng xử lý dữ liệu lớn Phần cuối của chương này làtrình bày một số nghiên cứu liên quan đến đề tài này
Chương 2: Mô hình phát hiện tan công ứng dụng web dựa trên học máy và xử lý dữ
liệu lớn Nội dung chương này trình bày về mô hình hệ thống sẽ được xây dựng, các thành
phần của hệ thống và luồng hoạt động của nó Giới thiệu một số thuật toán học máy đượcứng dụng trong phát hiện xâm nhập và đề xuất giải pháp xử lý với khối dữ liệu lớn
Chương 3: Triển khai và thử nghiệm mô hình phát hiện tan công ứng dụng web dựa
trên học máy và xử lý dữ liệu lớn Nội dung chương sẽ đề xuất mô hình triển khai và thử
nghiệm, giới thiệu bộ dữ liệu CSE-CIC-IDS2018 trước khi đi vào phân tích, tiền xử lý đểthu được bộ dữ liệu mới phục vụ xây dựng giải pháp Trình bày các chỉ số đánh giá và thựchiện thực nghiệm với các mô hình thu được khi huấn luyện với bộ dữ liệu mới So sánh hiệu
năng khi triển khai mô hình học máy thông qua thư viện SparkMLIib và Scikit-learn và đưa
ra đánh giá trước khi cài đặt và thử nghiệm hệ thống hoàn chỉnh
10
Trang 13CHƯƠNG 1 TONG QUAN VE PHÁT HIEN TAN CÔNG UNG DUNG WEB
DUA TREN HOC MAY VA XU LY DU LIEU LON
Nội dung chương 1 giới thiệu tổng quan về các hình thức tan công ứng dung web va
hệ thong phát hiện xâm nhập Việc ứng dụng nghiên cứu cải tiễn IDS theo hướng áp dụnghọc máy và BigData đang được phổ biến trong thời gian hiện nay
1.1 Tổng quan về kỹ thuật tan công ứng dung web phố biến
1.1.1 Lỗ hỗng bảo mật ứng dụng web
1.1.1.1 Tổng quan về lỗ hồng bảo mật ứng dụng web
Lỗ hồng bảo mật ứng dụng web là những điểm yếu mà hacker có thể lợi dụng dé khaithác nhằm thu thập thông tin về hệ thống, lay cắp thông tin quan trọng, tan công vào ngườidùng hệ thống hay chiếm quyên điều khién toàn bộ hệ thống
Có nhiều nguyên nhân gây ra những lỗ hồng bảo mật ứng dụng web, chủ yếu là do
những nguyên nhân sau:
- Một số ngôn ngữ lập trình có tính bảo mật thấp: Phần lớn các website ở Việt Namđược lập trình bằng ngôn ngữ PHP hoặc những open source được xây dựng bằng PHP cóthể kế đến như WordPress Đây là một trong những ngôn ngữ có nhiều điểm yếu có thể bịkhai thác bởi hacker Bên cạnh đó, trên các nền tảng như WordPress có chợ plugin tiện lợicho mọi người tải về và sử dụng nhưng cũng tiềm ân rất nhiều mối nguy hiểm Các pluginmiễn phí, được quảng cáo mạnh nhằm lôi kéo người dùng có thé chứa mã độc và âm thầm
tấn công người dùng
- Website được xây dựng bởi các lập trình viên mới, còn thiếu kinh nghiệm Cácwebsite này có thé được xây dựng không dam bảo các yếu tố bảo mật cũng như không đượckiểm thử kĩ càng dẫn đến các lỗ héng như SQL Injection, XSS,
- Khả năng quản trị yếu kém, thiếu hiểu biết và kinh nghiệm trong việc đảm bảo an
toàn cho website.
Quá trình tan công website có thê dién ra theo các bước như sau:
Bước 1: Kẻ tấn công (có thể có một hoặc nhiều kẻ tấn công) thực hiện nhiều mũi tấn
công (vector tấn công) khác nhau vào những điểm yếu bảo mật (lỗ hồng bảo mật) của
website mục tiêu.
Các loại lỗ héng bảo mật thường thay là các cấu hình sai trong bảo mật (security
misconfiguration), tan công chèn những script độc hại (Cross-Site Scripting) và phá vỡ xácthực (Broken Authentication) Loại lỗ hồng bảo mật có rủi ro cao và phô biến nhất là phá
vỡ xác thực Vì vậy, mỗi ứng dụng web đều được thiết lập những lớp kiểm soát bảo mật
II
Trang 14như sử dụng mã hóa và các giao thức an toàn như HTTPS, SSL/TLS, hay thiết lập tường
lửa, hạn chế truy cập, thiết lập chính sách, sử dụng các hệ thống phát hiện xâm nhập
Tác nhân CS vộc to Điểm yêu Kiểm soát Tác động Tác động
đe dọa | tan cong bảo mat bao mat kỹ thuật nghiệp vụ
Hình 1.1 Sơ đô mối quan hệ giữa tan công và hoạt động của website
Bước 2: Kẻ tấn công lợi dụng điểm yếu bảo mật vượt qua được lớp kiểm soát, thựchiện tấn công vào CSDL, hàm, thủ tục nhăm thu thập dữ liệu mạng nội bộ như cấu trúc củacác phân đoạn mạng, dịch vụ và công ra vào, hoặc tài nguyên nội bộ, dữ liệu bí mật
Bước 3: Kẻ tan công có thé chiếm quyền quản trị, thực thi lệnh theo ý muốn, Ví du,
truy cập và lay được thông tin khách hang dem bán gây phiền toái cho khách hàng, mat uytín của cơ quan, tổ chức do đã dé rò rỉ thông tin ,
Hình 1.1 mô tả sơ đồ mối quan hệ giữa tác nhân tấn công và hoạt động của website,
qua đó kẻ tấn công thực hiện các hoạt động tấn công khác nhau nhằm vào các điểm yếu trênwebsite Qua đó tìm cách kiểm soát, thực hiện khai thác các hàm, CSDL và tiễn hành tác
chuyên về bảo mật ứng dụng web Một trong những nguyên tắc cốt lõi của OWASP là tất
cả các tài liệu của tổ chức đều miễn phí và dé dàng truy cập trên trang web chính thức của
họ, giúp cho các cá nhân và tô chức có thể tham khảo đề cải thiện tính bảo mật của ứng dụng
12
Trang 15web OWASP cung cấp cho chúng ta bao gồm tài liệu, công cụ, video và diễn đàn Một
trong những tài liệu của OWASP được biết đến nhiều nhất chính là OWASP Top 10
OWASP Top 10 là một tài liệu nhận thức tiêu chuẩn dành cho các nhà phát triển và
bảo mật ứng dụng web Nó thể hiện sự đồng thuận rộng rãi về các rủi ro bảo mật quan trọngnhất đối với các ứng dụng web Đây được xem là một những bước đầu tiên đề trở thành một
người làm an ninh mạng Các cá nhân tổ chức nên thông qua tài liệu này dé có thé giảmthiểu rủi ro đối với ứng dụng web của họ
OWASP được tông hợp bởi một nhóm các chuyên gia bảo mật từ khắp nơi trên thé
giới, tập trung 10 rủi ro/lỗ hồng quan trọng nhất đối với an toàn ứng dụng web Dưới đây làcác rủi bảo mật được đề cập đến trong OWASP Top 10 2017 [1]:
(a) Injection
Injection attack xảy ra khi dữ liệu không đáng tin cậy được gửi đến trình thông dich(code interpreter) thông qua việc điền các form (biéu mẫu) hoặc một số dữ liệu khác gửi đến
ứng dụng web Ví dụ, kẻ tan công có thé nhập câu SQL vào một biểu mẫu yêu cầu username
và password ở dạng plaintext Nếu việc điền các biểu mẫu đó không được bảo mật đúngcách, điều này sẽ dẫn đến việc SQL code đó được thực thi Đây được gọi là một cuộc tấn
công SQL injection Các cuộc tan công injection có thé được ngăn chặn bang cách xác thực
hoặc làm sạch các phan dữ liệu có vẻ đáng ngờ do người dùng gửi Ngoài ra, quản trị viên
cơ sở dit liệu có thé thiết lập các biện pháp kiêm soát dé giảm thiểu lượng thông tin bị lộ raqua một cuộc tấn công InJection, ví dụ như sử dụng thủ tục
(b) Broken Authentication
Các lỗ hồng trong hệ thống xác thực có thé cho phép kẻ tấn công truy cập vào tài khoảnngười dùng và thậm chí có khả năng xâm nhập toàn bộ hệ thống bằng tài khoản quản trịviên Ví dụ: kẻ tan công có thé lay một danh sách chứa hàng nghìn tổ hợp tên người dùng /
mật khẩu đã biết có được trong một lần vi phạm dữ liệu và sử dụng tập lệnh để thử tất cảcác tô hợp đó trên hệ thống đăng nhập dé xem có tổ hợp nào hoạt động không
(c) Sensitive Data Exposure
Nhiều ứng dụng web va API không bảo vệ đúng cách dữ liệu nhạy cam, chang hạn
như đữ liệu tài chính, chăm sóc sức khỏe, dữ liệu mang yếu tố quyết định sự phát triển của
tổ chức và giữ liệu tuyệt mật của quốc gia Những kẻ tan công có thé đánh cắp hoặc sửa đổi
dữ liệu được bảo vệ yếu kém đó dé thực hiện hành vi gian lận thẻ tín dụng, đánh cắp danh
tính hoặc các tội phạm khác Dữ liệu nhạy cảm có thể bị xâm phạm nếu không có biện phápbảo vệ bé sung, chăng hạn như mã hóa ở trạng thái nghỉ hoặc khi đang chuyền và cần có
các biện pháp phòng ngừa đặc biệt khi trao đổi với trình duyệt
Nguy cơ lộ dit liệu có thé được giảm thiêu băng cách mã hóa (encrypt) tat cả dir liệunhạy cảm cũng như vô hiệu cache của bat kỳ thông tin nhạy cảm nào Ngoài ra, các nha phát
13
Trang 16triển ứng dụng web nên cân thận dé đảm bảo rang họ không lưu trữ bat kỳ dữ liệu nhạy cảm
nào một cách không cần thiết
(d) XML External Entities (XEE)
Day là một cuộc tan công ứng dụng web bằng phân tích cú pháp đầu vào XML Inputnày có thê tham chiếu đến một thực thể bên ngoài (external entity), đang cô gang khai thác
lỗ hồng trong trình phân tích cú pháp (parser) External entity có thé là một đơn vị lưu trữ,
chăng hạn như 6 cứng XML parser có thé bị lừa để gửi dữ liệu đến một thực thể bên ngoàitrái phép và chuyền trực tiếp dữ liệu nhạy cảm cho kẻ tấn công Các cách tốt nhất dé ngăn
chặn các cuộc tan công XEE là dé các ứng dụng web chấp nhận một loại dữ liệu ít phức tap
hơn, chăng hạn như JSON, hoặc vô hiệu hóa việc sử dụng các thực thể bên ngoài trong mộtứng dụng XML XML hay Extensible Markup Language là một markup language nhằm
mục đích cho phép cả người & máy đều có thé đọc hiểu được Do tính phức tap và lỗ hồng
bảo mật, XML hiện đang bị loại bỏ dần trong nhiều ứng dụng web JavaScript ObjectNotation (JSON) là một loại đơn giản hơn và được sử dụng dé truyén dữ liệu qua internet
Mặc du ban đầu được tạo cho JavaScript, JSON là ngôn ngữ có thé được thông dịch bởi
nhiều ngôn ngữ lập trình khác nhau
(e) Broken Access Control
Access Control hay kiêm soát truy có nhiệm vụ kiểm soát quyền truy cập vào thôngtin hoặc chức năng của ứng dụng web Access Control chứa lỗ hông cho phép kẻ tan công
bỏ qua ủy quyền (authorization) và thực hiện các tác vụ như thé là người dùng có đặc quyền,chăng hạn như quản trị viên (admin) Ví dụ: một ứng dụng web có thê cho phép người dùngthay đồi tài khoản mà họ đã đăng nhập chỉ bằng cách thay đổi một phan của url mà không
cần bất kỳ xác minh nào khác
Kiểm soát truy cập có thể được bảo mật bằng cách đảm bảo răng ứng dụng web sử
dụng authorization tokens và đặt các kiểm soát chặt chẽ đối với các token này
Nhiều dịch vụ cho phép sử dụng authorization tokens khi người dùng đăng nhập Mọi
yêu cầu đặc quyền mà người dùng đưa ra sẽ yêu cầu phải có authorization tokens Đây là
một cách an toàn dé đảm bảo rằng đúng người dùng với đúng đặc quyền
(f) Security Misconfiguration
Security misconfiguration hay lỗi cấu hình bao mật sai là lỗ hổng phổ biến nhất trong
danh sách và thường là kết quả của việc sử dụng cấu hình mặc định hoặc thông báo hién thilỗi quá nhiều thông tin Ví dụ: một ứng dụng có thê hiển thị lỗi mô ta quá nhiều thông tin
có thê tiết lộ các lỗ hồng trong ứng dụng Điều này có thể được giảm thiểu bằng cách loại
bỏ bat ky tính năng không sử dụng nào trong code va đảm bảo rang các thông báo lỗi sẽmang tính tổng quát chung chung hơn
14
Trang 17(g) Cross-Site Scripting (XSS)
Cross-Site Scripting xảy ra khi các ứng dụng web cho phép người dùng thêm code tùy
chỉnh vào đường dẫn url hoặc vào một trang web mà những người dùng khác sẽ nhìn thấy
Lỗ hồng này có thể bị khai thác để chạy mã JavaScript độc hai (malicious JavaScript code)
trên trình duyệt của nạn nhân Ví dụ: kẻ tấn công gửi email cho nạn nhân và trông có vẻ là
từ một ngân hàng đáng tin cậy, với một liên kết đến trang web của ngân hàng đó Tuy nhiên,liên kết này có thê có một số mã JavaScript độc hại được gắn thẻ vào cuối url Nếu trangweb của ngân hàng không được bảo vệ thích hợp chống lai Cross-Site Scripting, thì mã độchại đó sẽ được chạy trong trình duyệt web của nạn nhân khi họ nhấp vào liên kết Các loạihình tan công XSS có thé ké đến đó chính là Reflected XSS, Stored XSS, DOM-Based XSS
Các chiến lược giảm thiểu tấn công Cross-Site Scripting bao gồm thoát các yêu cầu
HTTP không đáng tin cậy cũng như xác thực và / hoặc loại bỏ các nội dung do người dùng
thêm vào Sử dụng các web development frameworks hiện đại như ReactJS va Ruby on
Rails cung cấp một số tính năng bảo vệ khỏi các cuộc tan công Cross-Site Scripting
(h) Insecure Deserialization
Tan công nay bao gôm Serialization & Deserialization.
- Serialization có nghĩa là lay các đối tượng (object) từ mã ứng dung (application code)
và chuyền đôi chúng thành một định dạng có thể được sử dụng cho mục đích khác, chăng
hạn như lưu trữ dữ liệu vào đĩa hoặc phát trực tuyến dt liệu do
- Deserialization thi ngược lai với Serialization.
Serialization giống như đóng gói đồ đạc vào các hộp trước khi chuyển đi, vadeserialization giống như mở hộp và lắp ráp đồ đạc sau khi chuyên đi Một cuộc tan công
deserialization giống như việc xáo trộn nội dung của các hộp trước khi chúng được giải nén
trong quá trình di chuyên
(i) Sử dụng các thành phan có lỗ hồng đã biết
Nhiều nhà phát triển (developer) web hiện nay sử dụng các thành phần như thư viện(libraries) và framework trong các ứng dụng web của họ Những thành phan này là những
phần mềm giúp các nhà phát triển tránh công việc thừa và cung cấp chức năng cần thiết Ví
dụ phô biến bao gồm các framework front-end như React và các thư viện nhỏ hơn được sửdụng dé thêm các biéu tượng chia sẻ hoặc a/b testing Một số kẻ tan công tìm kiếm các lỗ
hồng trong các thành phần này mà sau đó chúng có thé sử dụng dé điều phối các cuộc tấn
công Một số thành phần phô biến hơn được sử dụng trên hàng trăm nghìn trang web, kẻ tấncông tìm thay lỗ hong bao mật trong những thành phan này có thé khiến các trang web này
bị khai thác.
Các nhà phát triển các thành phan này thường cung cấp các bản vá bảo mật và cập nhật
dé bồ sung các lỗ hồng đã biết, nhưng các nhà phát triển ứng dung web không phải lúc nào
15
Trang 18cũng có các phiên bản được vá hoặc cập nhật mới nhất Dé giảm thiêu rủi ro khi chạy các
thành phan có lỗ hồng đã biết, các nhà phát triển nên xóa các thành phần không sử dụng
khỏi dự án, cũng như đảm bảo rằng đang nhận các thành phần từ một nguồn đáng tin cậy và
đảm bảo chúng được cập nhật.
(j) Kiểm tra log & giám sát không hiệu qua
Nhiều ứng dụng web không thực hiện đủ các bước để phát hiện vi phạm dữ liệu Thời
gian phát hiện trung bình cho một vi phạm là khoảng 200 ngày sau khi đã xảy ra Điều nàycho phép những kẻ tan công có nhiều thời gian dé gây ra thiệt hại trước khi có bất kỳ phan
ứng nào OWASP khuyến nghị rằng các nhà phát triển web nên thực hiện ghi log và giám
sát (monitor) cũng như lên các kế hoạch ứng phó sự cô dé đảm bảo rằng họ nhận thức được
các cuộc tấn công vào các ứng dụng web
1.1.2 Một số hình thức tan công ứng dụng web phổ biễn
Có rất nhiều hình thức tan công ứng dụng web, trong đó nổi bật nhất phải kế đến cáchình thức tấn công như: Broken Authentication, Cross-Site Scripting, SQL Injection, DoS,
DDoS
1.1.2.1 Tan công xác thực (Broken Authentication)
Các lỗ hồng trong hệ thống xác thực có thé cho phép kẻ tan công truy cập vào tài khoảnngười dùng và thậm chí có khả năng xâm nhập toàn bộ hệ thống bằng tài khoản quản trịviên Một kiêu tan công điền hình đó là Brute Force mật khâu Ngày nay, với khả năng tínhtoán mạnh mẽ từ các siêu máy tính, việc thực hiện kĩ thuật tấn công này càng trở lên dễ dàng
và nhanh chóng hơn.
Người dùng cần tạo ra các mật khẩu mạnh (strong password) độ dài thường từ 8 ký tự
trở lên bao gồm cả chữ cái in thường, in hoa, chữ số và ký tự đặc biệt Bên cạnh đó còn có
một số chiến lược dé giảm thiểu lỗ hồng xác thực là sử dụng xác thực 2 yếu tố two-factorauthentication (2FA) cũng như hạn chế hoặc trì hoãn các nỗ lực đăng nhập lặp lại bằng cách
sử dụng giới hạn về số lần đăng nhập và thời gian giãn cách giữa các lần đăng nhập sai
dụng đó đang chạy Lỗi này thường xảy ra trên các ứng dụng web có dữ liệu được quản lý
băng các hệ quan tri co sở dữ liệu như SQL Server, MySQL, Oracle, DB2, Sysbase,
16
Trang 19Các cuộc tấn công injection có thê được ngăn chặn bằng cách xác thực hoặc làm sạch
các phần dữ liệu có vẻ đáng ngờ do người dùng gửi Ngoài ra, quản trị viên cơ sở đữ liệu có
thé thiết lập các biện pháp kiểm soát dé giảm thiểu lượng thông tin bị 16 ra qua một cuộc tan
công injection, ví dụ như sử dụng thủ tục, cấp quyền phù hợp cho các account truy cập
1.1.2.3 Tan công từ chối dich vu (Denial of Service)
Tan công tử chối dịch vụ (Denial of Service - DOS) có thé mô tả như hanh động ngăn
cản những người dùng hợp pháp truy cập và sử dụng dịch vụ đó DOS là kẻ tấn công sẽchiếm dụng một lượng lớn tài nguyên mạng như băng thông, bộ nhớ, làm mat khả năng
xử lý các yêu cầu dịch vụ đến từ các client khác Các kiểu tấn công DoS thường gặp bao
gôm:
(a) Tân công SYN FLOOD
Lợi dụng cách thức hoạt động kết nỗi TCP/IP, kẻ tấn công bắt đầu quá trình thiết lập
một kết nối TCP/IP tới mục tiêu muốn tan công mà không gửi trả gói tin ACK khiến cho
mục tiêu luôn rơi vào trạng thái chờ (đợi gói tin ACK từ phía yêu cau thiết lập kết nối) vàliên tục gửi gói tin SYN ACK để thiết lập kết nối Một cách khác là giả mạo địa chỉ IP nguồncủa gói tin yêu cầu thiết lập kết nối SYN và cũng như trường hợp trên, máy tính đích cũng
rơi vào trạng thái chờ vì các gói tin SYN ACK không thé đi đến đích do địa chỉ IP nguồn là
không có thật Kiểu tan công SYN FLOOD được các kẻ tan công áp dụng dé tan công một
hệ thông mạng có băng thông lớn hơn hệ thống của chúng
(b) Tan công UDP FLOOD
Kẻ tan công gửi gói tin UDP echo với địa chi IP nguồn là công loopback của chínhmục tiêu cần tan công hoặc của một máy tính trong cùng mạng Với mục tiêu sử dụng công
UDP echo (port 7) dé thiết lập việc gửi và nhận các gói tin echo trên 2 máy tính (hoặc giữa
mục tiêu với chính nó nếu mục tiêu có cau hình công loopback) khiến cho 2 máy tính dan
sử dụng hết băng thông và can trở hoạt động chia sẻ tài nguyên mạng của các máy tính khác
trong mạng.
(c) Tan công Smurf
Kiểu tan công này cần một hệ thong rat quan trọng, đó là mạng khuếch đại Kẻ tan
công dùng địa chỉ của máy tính cần tấn công bằng cách gửi gói tin ICMP echo cho toàn bộ
mạng (broadcast) Các máy tính trong mạng sẽ đồng loạt gửi gói 10 tin ICMP reply cho máytính mà kẻ tan công muốn tan công Kết quả là máy tính này sẽ không thé xử lý kịp thời một
lượng lớn thông tin và dẫn tới bị treo máy.
17
Trang 201.2 Hệ thống phát hiện xâm nhập (Intrusion Detection System)
1.2.1 Khát niệm
Hệ thống phát hiện xâm nhập (Intrusion Detection System - IDS) là hệ thống giám sátlưu lượng mạng, nhằm mục đích phát hiện và cảnh báo sự xâm nhập, cũng như các hành vi
độc hại mà có thé làm tốn hại đến tính bảo mật, toàn vẹn và tính sẵn sàng của hệ thống.
IDS có thể là một thiết bị phần cứng hoặc cũng có thể là một ứng dụng phần mềm giúpgiám sát máy tính, hệ thong mạng trước các hành động đe doa đến hệ thống hoặc vi phạm
chính sách an ninh và báo cáo lại cho người quản trị hệ thống Một số hệ thong phát hiện
xâm nhập còn có chức năng ngăn chặn các mối đe dọa
1.2.2 Phân loại
Hệ thống IDS có thé được chia làm 5 loại đó là Network-based IDS (NIDS),
Host-based IDS (HIDS), Protocol-Host-based Intrusion Detection System (PIDS), Application Protocol-based Intrusion Detection System (APIDS) va Hybrid Intrusion Detection System.
Trong đó, hai loại co ban nhất đó là NIDS va HIDS:
- Network-based IDS (NIDS): Là những IDS giám sát trên toàn bộ mạng Nguồn thông
tin chủ yêu của NIDS là các gói dữ liệu đang lưu thông trên mạng NIDS thường được lắpđặt tại ngõ vào của mạng, có thê đứng trước hoặc sau tường lửa
- Host-based IDS (HIDS): Là những IDS giám sát hoạt động của từng máy tính riêng
biệt Do vậy, nguồn thông tin chủ yếu của HIDS ngoài lưu lượng dit liệu đến và đi từ máy
chủ còn có hệ thống dữ liệu nhật ký hệ thống (system log) và kiém tra hé thong (system
Về mặt kỹ thuật phân tích, hệ thống IDS được chia ra làm 2 loại đó là [2]:
- Phát hiện xâm nhập dựa trên dấu hiệu (signature-based hay misuse-based) Với kĩ
thuật phân tích này chúng ta cân xây dựng cơ sở dữ liệu các dâu hiệu của các loại tân công,
18
Trang 21xâm nhập đã biết Do đó, nó mang lại độ chính xác rất cao khi sử dụng đề phát hiện các loại
tan công biết trước, nhưng khi gặp các loại tan công mới thì độ chính xác là rất thấp
- Phát hiện xâm nhập dựa trên các dấu hiệu bat thường (anomaly-based) Việc dựa trên
các dấu hiệu bất thường là mau chót dé kĩ thuật này có thé phát hiện cái loại hình tan côngtấn công mới Đề thực hiện được kĩ thuật này, các phương pháp xử lý, phân tích dữ liệu và
mô hình hóa dữ liệu sẽ được sử dụng như thống kê (statistic), học máy (machine learning),
khai phá dữ liệu (data mining), và mang neural (neural network).
1.2.2.1 Network-Based IDS
NIDS có thé là một thiết bi phần cứng hoặc phần mềm, thường được đặt ở các đoạn
mạng hoặc các điểm kết nỗi giữa các vùng mạng khác nhau, trước hoặc sau tường lửa, nhờ
đó nó có thê giám sát lưu lượng mạng từ nhiều host khác nhau trong vùng mạng đó
NIDS thường bao gồm có hai thành phan logic:
- Bộ cảm biến (Sensor): Được đặt ở các điểm khác nhau trong hệ thống mạng, các cảmbiến này sẽ thực hiện giám sát lưu lượng mạng, thực hiện phân tích cục bộ lưu lượng mạng
đó và báo cáo về cho trung tâm quản lý
- Trạm quản lý (Central Management Console): Nhận biết các tín hiệu cảnh bảo từ bộcảm biến và thông báo cho điều hành viên
Một số ví dụ về NIDS có thể kể đến đó là: Snort, Suricata, các NIDS của Cisco,
Juniper Các sản phẩm này đều có phiên bản dùng thử và phiên bản trả phí với đầy đủ tínhnăng cần thiết của một NIDS
Các hệ thống NIDS được xem là lớp bảo vệ thứ hai sau tường lửa đề phát hiện ra cácxâm nhập, các mã độc và các hành vi xâm hại hệ thông mạng thông qua quan sát đặc tínhlưu lượng mạng NIDS thường được triển khai trên mạng dé phát hiện các tan công mạng
từ các hướng (từ ngoài, từ trong mạng nội bộ).
Ưu điểm:
19
Trang 22- NIDS kiểm tra header của tat cả các gói tin vi thế nó không bỏ sót các dau hiệu xuất
phát từ đây Ví dụ nhiều cuộc tan công DDoS, TearDrop chỉ bị phát hiện khi xem header
của các gói tin lưu chuyền trên mạng
- Phát hiện và đối phó kịp thời: NIDS phát hiện các cuộc tan công ngay khi xảy ra, vì
thé việc cảnh báo và đối phó có thé thực hiện được nhanh hơn
- Khó xóa bỏ dấu vết: NIDS sử dụng lưu thông hiện hành trên mang dé phát hiện xâm
nhập Vì thế, kẻ đột nhập không thé xóa bỏ được các dau vét tan công Các thông tin bắt
được không chỉ chứa cách thức tấn công mà cả thông tin hỗ trợ cho việc xác minh và buộc
tội kẻ đột nhập.
- Phát hiện và đối phó kịp thời: NIDS phát hiện các cuộc tan công ngay khi xảy ra, vì
thế việc cảnh báo và đối phó có thể thực hiện được nhanh hơn
- Có tính độc lập cao: Lỗi hệ thống không có ảnh hưởng đáng kể nao đối với công việccủa các máy trên mạng và chỉ cần cài đặt ở những vị trí trọng yếu, tiết kiệm chỉ phí
Nhược điểm:
- Hạn chế về hiệu năng: NIDS sẽ gặp khó khăn khi phải xử lý tất cả các gói tin trênmạng rộng hoặc có mật độ lưu thông cao, khiến cho hệ thống NIDS bị tê liệt và không thêphát hiện các cuộc tan công thực hiện vào lúc cao điểm
- Bị hạn chế với Switch: Nhiều ưu điểm của NIDS không phát huy được trong cácmạng chuyền mạch hiện đại
- Tăng thông lượng mạng: Một hệ thống phát hiện xâm nhập có thé cần truyền mộtdung lượng dữ liệu lớn về hệ thống phân tích trung tâm, có nghĩa là một gói tin được kiểm
soát sẽ sinh ra một lượng lón tải phân tích.
- Một hệ thống NIDS cũng gặp khó khăn khi phát hiện các cuộc tấn công mạng từ cácgói tin phân mảnh Các gói tin định dạng sai này có thể làm cho NIDS hoạt động sai
- Một hệ thống NIDS thường gặp khó khăn trong việc xử lý các cuộc tấn công trong
một phiên được mã hóa.
20
Trang 23như tập tin log và những lưu lượng mang ra vào host đó Ngoài ra HIDS còn theo dõi hệ
điều hành, lịch sử hoạt động, các thông điệp báo lỗi của máy chủ
Kiến trúc IDS này thường dựa trên các luật (rule-based) dé phân tích các hoạt động
Ví dụ đặc quyền của người sử dung cấp cao chỉ có thé đạt được thông qua lệnh su - select
user, như vậy những có gắng liên tục dé login vào account root cũng có thé được coi là mộtcuộc tan công
Uu điểm:
- Giám sát được các hoạt động cụ thể của hệ thống.
- Xác định được kết quả của cuộc tan công do sử dụng dữ liệu log lưu các sự kiện xảy
ra Vì thế, HIDS có thể bé sung thông tin tiếp theo khi cuộc tan công được sớm phát hiện
với NIDS.
- Thích nghỉ tốt với môi trường chuyền mach, mã hóa Phát hiện các xâm nhập mà
NIDS bỏ qua.
- Không yêu cầu thêm phan cứng: Được cài đặt trực tiếp lên hạ tang mạng có sẵn (FTP
Server, WebServer) nên HIDS không yêu cầu phải cài đặt thêm các phần cứng khác
Nhược điểm:
- Thông tin nguồn không an toàn.
- Chiếm tài nguyên hệ thống do cài đặt trên các máy cần bảo vệ nên HIDS phải sửdụng các tài nguyên của hệ thống để hoạt động như bộ vi xử lý, RAM, bộ nhớ ngoài
21
Trang 24- Hệ thống host-based tương đối đắt và khó quản trị.
- HIDS sẽ bị ngưng hoạt động hoàn toàn khi hệ điều hành của host gặp sự cô và không
hoạt động được.
1.3 Nghiên cứu tổng quan về học máy
1.3.1 Tổng quan về học máy
Trong khoa học máy tinh, trí tuệ nhân tạo hay AI (Artificial Intelligence), đôi khi còn
được gọi là trí thông minh nhân tạo, là trí thông minh được thực hiện bằng máy moc, trái
ngược với trí thông minh tự nhiên của con người.
Trí tuệ nhân tạo là một lĩnh vực của khoa học và công nghệ nhằm làm cho máy có
những khả năng của trí tuệ và trí thông minh của con người, tiêu biéu như biết suy nghĩ vàlập luận dé giải quyết van đề, biết giao tiếp do hiểu ngôn ngữ và tiếng nói, biết học và tự
thích nghi.
Trí tuệ nhân tạo đang len lỏi vào mọi lĩnh vực trong đời sống mà có thể chúng ta khôngnhận ra Xe tự hành của Google và Tesla, hệ thống tự tag khuôn mặt trong ảnh của Facebook,trợ lý ảo Siri của Apple, hệ thống gợi ý sản phâm của Amazon, hệ thống gợi ý phim của
Netflix, máy chơi cờ vây AlphaGo của Google DeepMind, , chỉ là một vài trong vô vàn
những ứng dụng cua AI/Machine Learning.
Machine Learning là một tập con của AI Theo định nghĩa của Wikipedia, Machine
learning is the subfield of computer science that “gives computers the ability to learn
without being explicitly programmed” [3] Nói một cách đơn giản thi Machine Learning
chính la dang tập trung vào những mục tiêu như:
- Làm cho máy tính có được những khả năng nhận thức cơ bản của con người như
nhìn, nghe, hiểu được ngôn ngữ, có thé lập trình, giải toán, hay hỗ trợ đưa ra quyết định, dự
đoán về một vân dé nao đó.
- Là trợ thủ đắc lực giúp con người trong việc xử lý một khối lượng thông tin khổng
lồ phải đối mặt mỗi ngày mà chúng ta gọi nó là Big Data.
Có một sé lý do giải thích cho sự cần thiết và sự phát triển nhanh mạnh của Machine
Learning:
- Thứ nhất, việc xây dựng một hệ thống thông minh có thể thực hiện được các công
việc liên quan đến xử lý số liệu tự nhiên, hay thị giác máy tinh là rất khó nếu không sử dungđến kinh nghiệm và quá trình học Đây cũng là điểm khác biệt giữa ML và một phần mềmbình thường Các phần mềm bình thường chi quan tâm đầu vào là gì và xử lý dé có đượcđầu ra mong muốn Tuy nhiên, có những bài toán không thé xử lý đơn giản như vậy được.Chăng hạn như việc nhận diện chữ viết tay, van đề đặt ra là làm sao với dit liệu đầu vào là
ảnh của một kí tự bắt kì, máy có thể đưa ra kết luận đó là kí tự gì Giải pháp ở đây chính là
22
Trang 25học máy, chúng ta cần huấn luyện máy nhận dạng các ký tự, từ đó máy sẽ tự tìm ra câu trảlời bằng cách sử dụng dữ liệu mà chúng ta cung cấp.
Không có Machine Learning Với Machine Learning
SK Cac chỉ dẫn chỉ tiết
Hình 1.5 Sự khác biệt giữa ML và phan mém bình thường
- Thứ hai, nhiều ứng dụng ngày nay đòi hỏi máy tính phải có sự thích nghi chăng hạn
như việc mua sắm của khách hàng thường xuyên thay đổi tùy thuộc tuổi tác, thời gian,
Như vậy một thuật toán cố định chắc chắn không thé tối ưu Khi đó Machine Learning có
thé giải quyết được nhờ sự phân tích dir liệu thu thập được
- Thứ ba, Machine Learning và nền tảng xử lý Bigdata có mối quan hệ chặt chẽ
Internet trong những năm qua phát triển rất mạnh và không có dấu hiệu dừng lại kéo theo
đó là khối lượng dữ liệu vô cùng lớn cần khai thác Một số ví dụ điển hình như việc phân
tích từ khóa tìm kiếm ở các search engine hay ở trên các mạng xã hội, từ đó có thê biết đượcvan dé nào đang được quan tâm nhất hiện nay, từ đó đưa ra những gợi ý nội dung cho người
dùng, hay là căn cứ dé các nhà sản xuất nội dung có thé đưa ra quyết định làm về nội dùng
nào Hay một ví dụ khác đó là khả năng gợi ý các bộ phim của Netflix, từ lượng dt liệu
khổng lồ được thu thập từ người xem và các nguồn khác, họ có thé đưa ra những gợi ý về
các bộ phim phù hợp với sở thích, tính cách của mỗi người dùng, Tóm lại, sự phát triển
của Machine Learning và BigData phụ thuộc lẫn nhau.
1.3.2 Mô hình học máy và các yếu tô ảnh hưởng đến hiệu quả của mô hình học
máy
Mô hình học máy là một quy tắc tổng quát hóa từ dữ liệu được đưa vào huấn luyệnthông qua một thuật toán huấn luyện nào đó Đây cũng chính là cách mà chúng ta làm đề cóthể xây dựng một mô hình học máy
Yếu tố cau thành có hai khối chính đó là dữ liệu và thuật toán, mà hiện nay thi cácthuật toán huấn luyện thực sự không nhiều, tuy nhiên hiệu quả của các mô hình lại khácnhau? Van dé là ở cách thức sử dung dữ liệu và chất lượng của dữ liệu là khác nhau, mà môhình học máy lại phụ thuộc rất lớn vào đữ liệu Do đó, khi đữ liệu đầu vào có chất lượng
23
Trang 26kém thì cũng sẽ kéo theo mô hình học máy của chúng ta kém theo Cho nên việc chuẩn bị
dữ liệu và chuẩn hóa dữ liệu trước khi đưa vào huấn luyện là rất quan trọng
Dé xây dựng một mô hình học máy hiệu quả, ngoài yếu tố dữ liệu chúng ta còn phải
quan tâm đến việc xác định bài toán chính xác và thuật toán được lựa chọn cũng như tinh
chỉnh phù hợp Nếu không xác định rõ bài toán cần giải quyết thì mô hình có hiện đại phứctạp đến đâu cũng trở lên vô nghĩa Còn khi bài toán đã được xác định rõ nhưng thuật toán
được lựa chọn lại không phù hợp và các tham số của các thuật toán không được tinh chỉnh
chính xác thì cũng sẽ không thể giải quyết được vấn đề
1.3.3 Các bước xây dựng mô hình học máy
Như đã đề cập ở trên, 2 thành phần chính để xây dựng một mô hình học máy đó là dữliệu và thuật toán huấn luyện Các bước dé xây dựng một mô hình học máy cũng sẽ xoayquanh 2 thành phần này
1b
1a
Hình 1.6 Workflow xây dựng mô hình học máy
Chúng ta có thể chia workflow xây dựng mô hình học máy thành 5 bước sau [4]:
1 Thu thập dữ liệu (Gathering data)
2 Tiền xử lý dit liệu (Data pre-processing)
3 Nghiên cứu mô hình phù hợp nhất với loại dit liệu (Researching model)4 Huấn luyện và kiểm tra mô hình (Training and testing model)
5 Đánh giá mô hình (Evaluation model)
1.3.3.1 Thu thập dữ liệu (Gathering data)
Trước khi thực hiện thu thập dữ liệu, chúng ta cần phải xác định rõ bài toán cần giải
quyết Từ đó, xác định được loại dữ liệu mà chúng ta cần thu thập Nguồn dữ liệu hiện nay
rất nhiều, có thể là từ các cảm biến của những hệ thống IoT, dữ liệu log của hệ thống, hay
dt liệu bán hàng, hoặc có thể là những bộ dữ liệu đã được xây dựng sẵn phục vụ cho mộtbài toán cụ thé và được cung cấp bởi các kho dữ liệu công khai Hiện nay, có khá nhiều khodtr liệu noi tiéng phuc vu cho nhu cau xây dựng mô hình hoc máy Những bộ dữ liệu được
cung cấp bởi các kho dit liệu này thường có chất lượng khá tốt, còn những bộ dit liệu mà
chúng ta tự thu thập có thé sẽ cần phải được tiền xử lý sao cho tối ưu
24
Trang 271.3.3.2 Tiên xử lý dữ liệu (Data pre-processing)
Trong thực tế, khi thu thập dữ liệu, chúng ta sẽ gặp phải một số van dé sau:
- Dữ liệu thu thập được có nhiều biểu diễn khác nhau, chăng hạn như: dạng các bảng
có cấu trúc, dữ liệu ảnh, âm thanh, video, Máy không thé hiểu các dang dữ liệu một cáchtrực tiếp, nó không thé hiểu các đoạn văn bản, hình anh hay video, mà nó chỉ hiểu các con
số dang nhị phân Do đó, không thé sử dụng trực tiếp các dang dữ liệu nay dé huấn luyện
mô hình mà cần các kỹ thuật dé chuyên đổi dữ liệu (Encode) dé biến chúng thành các dạng
mà máy có thể sử dụng được Nói cách khác, chuyên chúng thành các thuộc tính (feature)
để sử dụng được trong các thuật toán machine learning
- Dữ liệu "bân "
xảy ra khi chúng ta thu thập dữ liệu bi thiếu (missing data) chăng hạncác phiếu điều tra bị điền thiếu thông tin, bảng cột không được điền đầy đủ, hoặc bị nhiễu(noisy data) do các lỗi thao tác, thu thập gây ra các ngoại lệ (outlier), chăng hạn khai lương
là -10 triệu, các cảm biến đo đạc nhiệt độ, độ âm bị lỗi hoặc không chính xác, hay dữ liệu
không đồng nhất về định dang chang hạn như một số chỗ trong dữ liệu là 42 tuổi nhưng một
số chỗ lại ghi theo ngày sinh "03/07/1979", sự trùng lặp các bản ghi,
Những van đề này có thể làm cho chất lượng của mô hình giảm đi thậm chí không thé
áp dụng được vào các thuật toán huấn luyện Chính vì vậy chúng ta cần phải trải qua quá
trình tiền xử lý đữ liệu để loại bỏ các vấn đề nêu trên
Tiền xử lý đữ liệu là quá trình làm sạch dữ liệu thô, chuyên đồi dữ liệu từ thế giới thựcthành dữ liệu sạch để chúng có thể được sử dụng một cách hiệu quả trong quá trình xâydựng mô hình học máy Quá trình tiền xử lý dữ liệu bao gồm một số bước chính sau đây:
- Làm sạch dữ liệu (Data cleaning): Loại bỏ các dữ liệu nhiễu hoặc bất thường (outlier)
khỏi dữ liệu cũng như làm bộ dữ liệu trở lên đầy đủ bằng cách điền vào các giá trị bị thiếu
(missing data), cũng như loại bỏ các cột (thuộc tính) hoặc các hang (bản ghi) trùng lặp hoặc
không có giá tri trong dữ liệu.
- Tích hợp dit liệu (Data integration): Là quá trình tích hợp và đồng bộ hóa nhiều cơ
sở đữ liệu, nhiều nguồn dữ liệu về các định dạng chung thống nhất cho việc áp dụng thuật
toán huân luyện.
- Biến đổi dữ liệu (Data transformation): Đây là quá trình chuẩn hóa đữ liệu làm tăng
độ tin cậy của dữ liệu và làm giảm ảnh hưởng của dữ liệu nhiễu hoặc dữ liệu bất thường
Ngoài ra, ở bước này chúng ta còn có thé áp dụng các phương pháp biến đổi dữ liệu thành
các dạng phù hợp cho quá trình huấn luyện
- Giảm chiều dữ liệu (Data reduction): Quá trình giảm chiều hay giảm số thuộc tính
hoặc số bản ghi của dữ liệu sao cho kết quả của quá trình phân tích, hiệu quả của mô hìnhđược xây dựng đạt hiệu quả cao hơn Nó giúp tốc độ thực thi mô hình nhanh hơn, chính xáchơn khi giảm được nhiều giá trị nhiễu
25
Trang 28- Trích chọn đặc trưng (Feature Extraction): Trích chọn đặc trưng là một trong những
nghiệm vụ bắt buộc phải thực hiện khi xây dựng mô hình học máy Nó giúp xây dựng môhình có độ chính xác cao, đơn giản và có tốc độ thực thi cao hơn Trích chọn đặc trưng baogồm một số nhiệm vụ như: xác định các đặc trưng dẫn xuất từ các đặc trưng trong dữ liệuthô ban đầu, trích rút và lựa chọn các đặc trưng tốt và phù hợp
1.3.3.3 Nghiên cứu mô hình phi hop với loại dit liệu
Sau khi có được bộ dữ liệu đã được tiền xử lý, chúng ta cần lựa chọn một mô hình phùhợp với bộ dữ liệu đó Hình dưới đây cho thấy các mô hình học máy phô biến mà chúng ta
có thể lựa chọn
Do you have labeled data?
What do you want to predict? Do you want to group the data?
Category Quantity Yes No
Classification Cluster Dimensionality
Analysis Reduction
Linear :
SVM ’ Regression as
Í KNN | LASSO one) Clustering
Hình 1.7 Các mô hình học máy phổ biến
1.3.3.4 Huấn luyện và kiểm tra mô hình (Training and testing model)
Sau khi đã lựa chọn được mô hình phù hợp với bộ dữ liệu, chúng ta sẽ tiễn hành huấnluyện mô hình Dé bắt đầu, chúng ta sẽ chia tập dữ liệu thành 3 phan riêng biệt một cáchngẫu nhiên: di liệu huấn luyện (training data), dữ liệu kiểm chứng (validation data) và tập
dữ liệu kiểm thử (testing data) Trong đó tập dữ liệu huấn luyện được sử dụng dé huấn luyện
mô hình, tập dữ liệu kiểm chứng được sử dụng dé hiệu chỉnh các tham số của mô hình vàtập kiểm thử được dùng dé đánh giá hiệu quả của mô hình trên đữ liệu chưa được quan sát
Một lưu ý quan trọng đó là trong suốt quá trình huấn luyện chỉ có tập huấn luyện
và/hoặc tập kiểm chứng được sử dụng, còn tập kiểm thử sẽ phải được cô lập và không cóbất cứ liên hệ gì với quá trình huấn luyện Tập này chỉ được sử dụng để đánh giá tại phađánh giá mô hình sau khi đã xây dựng xong mô hình tương ứng dé so sánh và lựa chon môhình phù hợp nhất cho việc triển khai (deploy) thành ứng dung
26
Trang 291.3.3.5 Đánh giá mô hình (Evaluation model)
Đánh giá mô hình là một phần không thé thiếu của quá trình phát triển mô hình Nógiúp tìm ra mô hình tốt nhất đại diện cho bộ dữ liệu và mô hình đã chọn sẽ hoạt động tốtnhư thế nào trong tương lai
Đề cải thiện mô hình, có thể điều chỉnh các siêu tham số của mô hình và cố gắng cảithiện độ chính xác cũng như xem xét confusion matrix để cố gắng tăng số lượng true
positives va true negatives.
1.3.4 Phân loại các thuật toán học máy
Dé phân loại các thuật toán học máy có hai cách phô biến nhất Một là dựa trên phương
thức học (learning style), hai là dựa trên chức năng (function) của mỗi thuật toán Trong
phạm vi phần này sẽ chỉ đề cập đến cách phân loại dựa trên phương thức học và nêu ra các
giải thuật tương ứng với từng loại.
1.3.4.1 Học có giám sát (Supervised learning)
Học có giám sát là nhóm phô biến nhất trong các thuật toán Machine Learning Học
có giám sát dự đoán đầu ra (outcome) của một dữ liệu mới (new input) dựa trên các cặp
(input, outcome) đã biết từ trước Cặp dữ liệu này còn được gọi là (data, label), tức (dữ liệu,
nhãn).
Một cách toán học, Supervised learning là khi chúng ra có một tập hợp biến đầu vào
X={xI1, x2, , xN} và một tập hợp nhãn tương ứng Y={yl, y2, , yN}, trong đó xi, yi là
các vector Các cặp dữ liệu biết trước (xi,yi) € XxY được gọi là tập training data (dữ liệu
huấn luyện) Từ tap training data này, chúng ta cần tạo ra một hàm số ánh xa mỗi phan tử
từ tập X sang một phần tử (xấp xỉ) tương ứng của tập Y:
yi = f (xi), Vi=1,2, ,N
Mục dich là xap xi hàm số f thật tốt dé khi có một đữ liệu x mới, chúng ta có thé tính
được nhãn tương ứng của nó y=f(x).
Như vậy, Supervised learning là dạng học máy trong đó cho trước tập dữ liệu huấn
luyện dưới dạng các ví dụ cùng với giá trị mới Dựa trên dữ liệu huấn luyện, thuật toán
học cần xây dựng mô hình hay hàm dich dé dự đoán giá trị đầu ra (giá trị đích) cho các
được phân loại dưới dạng các nhãn khác nhau theo một số tham số được đưa ra trong đầu
vào và sau đó các nhãn được dự đoán cho đữ liệu.
27
Trang 30Một bài toán được gọi là classification nếu các label của input data được chia thành
một số hữu hạn nhóm Hay nói cách khác, nếu giá tri đầu ra là rời rạc thì học có giám sát
được gọi là phân loại hay phân lớp (classification).
Ví dụ: Gmail xác định xem một email có phải là spam hay không; các hãng tín dụng
xác định xem một khách hàng có khả năng thanh toán nợ hay không.
Một số thuật toán phân lớp đó là Linear Classifier, Support Vector Machine (SVM),
Kernel SVM, Sparse Representation-based classification (SRC).
- Héi quy (Regression)Hồi quy là quá trình tìm kiếm một mô hình hoặc hàm dé phân biệt dữ liệu thành các
giá trị thực liên tục thay vì sử dụng các lớp hoặc các giá tri rời rac Ví dụ, một căn nhà có
diện tích lax m?, có y phòng ngủ, cách trung tâm thành phố z km thì sẽ có giá là bao
nhiêu?
Một số thuật toán hồi quy đó là Linear Regression, Logistic Regression, Stepwise
Regression.
1.3.4.2 Học không giám sát (Unsupervised Learning)
Là dạng học máy trong đó các ví dụ được cung cấp nhưng không có giá trị đầu ra haygiá trị đích Thuật toán unsupervised learning sẽ dựa vào cấu trúc của dit liệu để thực hiệnmột công việc nào đó, ví dụ như phân nhóm (clustering) hoặc giảm số chiều của dữ liệu(dimension reduction) dé thuận tiện trong việc lưu trữ và tính toán
Một cách toán học, Unsupervised learning là khi chúng ta chỉ có dữ liệu vào X mà
không biết nhãn Y tương ứng
Thuật toán Unsupervised learning còn được tiếp tục chia nhỏ ra thành hai loại chính:
- Phân nhóm (Clustering)
Clustering là thể hiện một bài toán phân nhóm toàn bộ dữ liệu X thành các nhóm nhỏ
dựa trên sự liên quan giữa các dữ liệu trong mỗi nhóm Hay nói cách khác, thay vì xác định
giá trị đích, thuật toán học máy dựa trên độ tương tự giữa các ví dụ dé xép chúng thành
những nhóm, mỗi nhóm gồm các ví dụ tương tự nhau
Một số thuật toán phân nhóm đó là k-Means clustering, k-Medians, Expectation
Maximization (EM).
- Phát hiện luật kết hop (Association rule)
Ngoài phân cụm, một dang học không giám sát phô biến khác là phát hiện luật kết hop(association rule) Association là bài toán khi chúng ta muốn khám phá ra một quy luật dựatrên nhiều dữ liệu cho trước
28
Trang 31Luật kết hợp có dang P(A | B), cho thấy xác suất hai tính chất A và B xuất hiện cùng
với nhau.
1.3.4.3 Hoc bán giám sát (Semi-Supervised Learning)
Học bán giám sát sử dụng cả dữ liệu đã gan nhãn và chưa được gan nhãn dé huấnluyện, điển hình là một lượng nhỏ dit liệu có gán nhãn cùng với lượng lớn dữ liệu chưa gan
nhãn Học nửa giám sát đứng giữa học không giám sát (không có bất kỳ dữ liệu có nhãn
nào) và có giám sát (toàn bộ dữ liệu đều được gán nhãn) Nhiều nhà nghiên cứu nhận thấy
dt liệu không gan nhãn, khi được sử dụng kết hợp với một chút dữ liệu có gán nhãn, có thể
cải thiện đáng kể độ chính xác
Dé gán nhãn dữ liệu cho một bài toán học máy thường đòi hỏi một chuyên viên có kĩnăng dé phân loại bằng tay các ví dụ huấn luyện Chi phí cho quy trình này khiến tập dữ liệu
duoc gan nhãn hoàn toàn trở nên không khả thi, trong khi dữ liệu không gan nhãn thường
tương đối rẻ tiền Trong tình huống đó, học nửa giám sát có giá trị thực tiễn lớn lao
1.3.4.4 Học củng cô (Reinforcement Learning)
Học củng cố là các bài toán giúp cho một hệ thống tự động xác định hành vi dựa trên
hoàn cảnh để đạt được lợi ích cao nhất (maximizing the performance) Hiện tại,Reinforcement learning chủ yêu được áp dụng vào Lý Thuyết Trò Chơi (Game Theory), cácthuật toán cần xác định nước đi tiếp theo đề đạt được điểm số cao nhất
Đối với dạng học này, kinh nghiệm không được cho trực tiếp dưới dạng đầu vào/đầu
ra cho mỗi trạng thái hoặc mỗi hành động Thay vào đó, hệ thong nhận được một giá tri
khuyến khích (reward) là kết quả cho một chuỗi hành động nao đó Thuật toán cần học cách
hành động đề cực đại hóa giá trị khuyến khích
1.4 Nghiên cứu tổng quan về dữ liệu lớn và xử lý dữ liệu lớn
1.4.1 Tổng quan về BigData
Thuật ngữ BigData ra đời khi mà dữ liệu ngày càng đa dang hon (variety), đến với
khối lượng (volume) ngày càng lớn hơn và với tốc độ (velocity) ngày càng nhanh hơn [5]Đây cũng chính là ba chữ V đại diện cho đặc điểm của BigData:
- Volume: Khối lượng dữ liệu cực lớn mà chúng ta phải xử lý Dữ liệu có thé đến từviệc thu thập hành vi người dùng, từ các cảm biến trong lĩnh vực IoT, hay log từ các hệthong máy chủ, Đối với các tô chức, lượng đữ liệu này có thể đến hàng chục, hàng trăm
terabyte Nhiều công ty, tập đoàn lớn, nó có thể lên đến hàng trăm petabyte
- Velocity: Là tốc độ mà dữ liệu được nhận và (có thể) được xử lý Ngày nay, các sảnphẩm công nghệ yêu cầu khả năng xử lý và phản ứng với thông tin theo thời gian thực ngàymột nhiều Do đó, xử lý dữ liệu streaming là xu hướng hiện nay và trong tương lai
- Variety: Các loại dữ liệu hiện nay rất đa dạng Từ các loại dữ liệu truyền thống và cócấu trúc như chúng ta thấy trong các relational database Ngoài ra, còn có các loại dit liệu
29
Trang 32phi cấu trúc xuất hiện ngày càng nhiều Nó có thé là các file âm thanh, dang text, hay hình
ảnh Những loại dữ liệu này cần có quá trình tiền xử lý dữ liệu (data pre-processing)
Dưới đây là một số ứng dụng của BigData trong một số lĩnh vực khác nhau:
- Netflix sử dụng BigData dé cải thiện trải nghiệm của khách hàng
- Phân tích và hỗ trợ marketing hiệu quả.
- Phân tích hành vi người dùng.
- Phát hiện gian lận trong giao dịch.
- Xử lý lượng lớn lưu lượng mạng dé phục vụ cho việc phát hiện các cuộc tấn công
1.4.2 Xứ lý dữ liệu lớn
Dé có thé xử lý dữ liệu lớn, giải pháp là xây dựng các cụm máy tính kết hợp thành một
hệ thông phân tán Hệ thống này không chỉ đảm nhận nhiệm vụ lưu trữ dữ liệu lớn mà cònđảm nhiệm công việc xử lý chúng Đó là về mặt phần cứng, còn về mặt phần mềm là sựphát triển của các big data framework
Tiên phong trong lĩnh vực này đó chính là Apache Hadoop Ecosystem, nỗi bật với các
modules chính sau [6]:
- Hadoop Distributed File System (HDFS): Một hệ thống file phân tán (distributed filesystem) cung cấp khả năng truy cập với thông lượng cao và khả năng chịu lỗi dé đảm bảo
tính toàn vẹn dữ liệu.
- Hadoop Yarn: Một framework nhằm giải quyết van dé lập lịch cho các job xử lý, tính
toán và quản lý tài nguyên của cụm.
- Hadoop MapReduce: Một YARN-based system cung cấp khả năng xử lý, tính toán
song song với một tập dữ liệu lớn.
- Hadoop Common: Cung cấp các tiện ích hỗ trợ cho ba modules nêu trên hoạt động
30
Trang 33(Distributed Storage)
vary Framework| Common Utilities
Hinh 1.8 Apache Hadoop modules
Về sau là sự phát triển của Apache Spark [7], một multi-language engine cung cap khảnăng xử lý mạnh mẽ phục vụ cho data engineer, data science và học máy Giống như HadoopMapReduce, Spark chia nhỏ task lớn tới các node Tuy nhiên, nó có tốc độ xử lý nhanh hơn
do nó có xu hướng sử dụng bộ nhớ ram dé lưu trữ cache và xử lý dữ liệu Một điểm mạnhnữa của Spark so với Hadoop MapReduce chính là bộ API mà nó cung cấp cũng như hỗ trợ
đa dạng các loại ngôn ngữ.
MLIIb Streaming SQL GraphX
Machine Real-time Interactive Graph
Learning analytics Queries processing
APACHE
Spark: Core
=
Hình 1.9 Apache Spark
Nhu đã nêu ở trên, việc xu lý dữ liệu lớn được thực hiện trên một hệ thống phân tán
Do đó, hệ thống cần phải đảm bảo rang:
31
Trang 34- Nếu như một máy tính trong cụm bị lỗi trong quá trình thực hiện xử lý tính toán, một
máy tính khác sẽ phải đảm nhận công việc đó.
- Nếu một máy tính bị lỗi, tất cả dữ liệu mà nó nắm giữ phải được sao chép ở một nơi
khác (một máy tính khác) trong cụm.
- Khi một máy tính khôi phục sau sự có, nó phải có khả năng quay trở lại cụm
- Khi yêu cầu trong việc xử lý dữ liệu lớn thay đôi, việc thêm hoặc loại bỏ bớt một
máy tính khỏi cụm cần được thực hiện một cách dé dàng
1.5 Một số nghiên cứu liên quan
Hiện nay, trên thế giới đã có khá nhiều nghiên cứu về ứng dụng học máy trong bàitoán phát hiện xâm nhập mạng nói chung và phát hiện tấn công ứng dụng web nói riêng.Tuy nhiên, việc áp dụng cả nền tảng xử lý dữ liệu lớn còn khá là hạn chế Phần này sẽ điểmqua một số công trình nghiên cứu liên quan
Trong công trình nghiên cứu “A Review of the Advancement in Intrusion Detection
Datasets” [8], tác giả Thakkar đã nghiên cứu tong quan về bộ dữ liệu được sử dung trongxây dựng các hệ thông phát hiện xâm nhập (IDS) Từ kết quả nghiên cứu, tác giả khăng địnhrằng các bộ dit liệu cần được cập nhật cho các loại tấn công mới, sử dụng các quy trình vàcông nghệ khác nhau đề tấn công Việc xây dựng bộ dữ liệu phải gắn liền với kịch bản mạngthực tế trong môi trường thật Theo đó, tác giả đã đánh giá 2 bộ dữ liệu CSE-CIC-IDS2017
và CSE-CIC-IDS2018 phù hợp nhất trong việc nghiên cứu xây dựng các hệ thống phát hiện
xâm nhập hiện nay.
Nghiên cứu [9] đã tiễn hành thử nghiệm trên bộ dữ liệu mới là CSE-CIC-IDS2017 và
CSE-CIC-IDS2018 Như đã nêu ở trên, tác giả Thakkar đánh giá 2 bộ dữ liệu này là phù
hợp đề xây dựng các hệ thống phát hiện xâm nhập hiện nay Kết quả, bộ phát hiện sử dụngthuật toán Random Forest đạt hiệu quả tốt
N.Patil và các cộng sự [10] đã đề xuất một hệ thống phát hiện tấn công DDoS trong
môi trường xử lý có khả năng mở rộng Lưu lượng truy cập bình thường và bat thường đềuđược thu thập bởi công cụ wireshark và sau đó được lưu trữ trên hệ thống tệp phân tánHDES Tuy nhiên, việc phát hiện tan công DDoS chỉ dừng lại ở các kĩ thuật phân tích dựatrên framework Hadoop MapReduce thay vì sử dụng các mô hình học máy Dẫn đến, kết
quả phát hiện không được cao như mong đợi.
Trên đây là một số công trình nghiên cứu liên quan Tuy nhiên, các công trình này sẽ
chỉ sử dụng học máy hoặc BigData một cách riêng biệt Nếu chỉ sử dụng học máy nhưng
triển khai trong môi trường không có khả năng mở rộng, lưu lượng truy cập lớn có thé làmcho hệ thống phát hiện bị quá tai và ngừng hoạt động Còn nếu chi dùng BigData mà không
có sự xuất hiện của học máy thì khả năng phát hiện sẽ không cao
32
Trang 35Như đã đề cập ở phần 1.4.2, nền tảng xử lý dữ liệu lớn Apache Spark có khả năng hỗ
trợ nhiều loại ngôn ngữ và có thư viện MLIIb hỗ trợ cho việc xây dựng các mô hình học
máy Do đó, có 2 giải pháp được đề xuất trong nghiên cứu này:
- Xây dựng một ứng dụng, dựa trên các mô hình được huấn luyện sử dụng thư viện
MLIlib của Apache Spark.
- Ung dung sé sử dung các mô hình học máy được xây dung dựa trên thư viện
Scikit-learn trong python và sẽ đặt mô hình đó hoạt động trên nền của ứng dụng Spark
Cả 2 giải pháp này đều hướng tới việc sử dụng được kết hợp cả Machine learning vàBigData Giúp cho hệ thống phát hiện tắn công ứng dụng web có thể hoạt động hiệu quả khi
phải tiếp nhận lưu lượng truy cập lớn và đạt độ chính xác cao khi sử dụng các mô hình học
máy.
1.6 Kết luận chương
Phát hiện xâm nhập có nhiệm vụ theo dõi, phát hiện và cảnh báo sự xâm nhập, cũng
như các hành vi khai thác trái phép tài nguyên của hệ thống được bảo vệ mà có thê dẫn đến
việc 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 hệ thống Đây được
coi là phương pháp hiệu quả nhất trong việc phát hiện tan công ứng dung web
Đã có nhiều nghiên cứu về các hệ thống phát hiện xâm nhập sử dụng các công nghệnoi bật hiện nay như Machine learning hay BigData, nhưng chưa có sự kết hợp cả hai Trongnghiên cứu này đã đề xuất 2 giải pháp dé giải quyết van đề nêu trên Các nội dung này sẽđược trình bày cụ thê hơn ở Chương 2
33