1. Trang chủ
  2. » Luận Văn - Báo Cáo

Phát hiện tấn công mạng dựa trên nền tảng xử lý dữ liệu lớn

71 0 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Phát Hiện Tấn Công Mạng Dựa Trên Nền Tảng Xử Lý Dữ Liệu Lớn
Tác giả Trần Đức Nhân
Người hướng dẫn TS. Hoàng Xuân Dậu
Trường học Học viện Công nghệ Bưu chính Viễn thông
Chuyên ngành Công nghệ thông tin
Thể loại Đồ án tốt nghiệp
Năm xuất bản 2022
Thành phố Hà Nội
Định dạng
Số trang 71
Dung lượng 18,51 MB

Nội dung

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 1

HỌ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 2

HỌ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 3

LỜ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 4

NHAN 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 5

NHAN 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 6

LOI 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 7

2.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 8

DANH 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 9

DANH 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 10

MỞ ĐẦ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 11

Mụ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 12

Ket 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 13

CHƯƠ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 14

như 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 15

web 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 16

triể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 18

cũ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 19

Cá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 20

1.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 21

xâ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 23

như 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 25

họ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 26

ké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 27

1.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 29

1.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 30

Mộ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 31

Luậ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 32

phi 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 35

Như đã đề 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

Ngày đăng: 10/03/2024, 00:02

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN