Ứng dụng các kỹ thuật học máy phát hiện lỗ hổng bảo mật Website

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu phát hiện lỗ hổng bảo mật web và thử nghiệm (Trang 49 - 52)

Trong thực tế, các kỹ thuật học máy thường được sử dung để phát hiện và phân loại các lỗ hổng bảo mật Website. Đối với các loại lỗ hổng đã biết, các kỹ thuật học máy có giám sát thường được lựa chọn để ứng dụng. Để phát hiện các loại lỗ hổng chưa biết, các kỹ thuật học máy không giám sát thường được lựa chọn để ứng dụng. Trong trường hợp tổng quát, các kỹ thuật học máy bán giám sát thường được lựa chọn để ứng dụng.

Trong khuôn khổ luận văn, ở mục này sẽ trình bày một ứng dụng phát hiện tấn công lỗ hổng SQLI dựa trên kỹ thuật học máy SVM [6].

Hình 2.10: Mô hình tấn công SQLi sử dụng chèn tham số [6]

Hình thái chính của SQLi [6] bao gồm việc chèn trực tiếp mã vào các tham số sẽ được ghép vào các câu lệnh SQL (quá trình này gọi là sinh truy vấn SQL động) để tạo thành truy vấn của ứng dụng gửi tới máy chủ cơ sở dữ liệu Web. Một cách tấn công khác ít trực tiếp hơn, đó là chèn mã độc vào các xâu mà đích đến là việc lưu trữ trong các bảng hoặc từ điển dữ liệu (metadata). Khi các chuỗi đó được ghép vào các câu lệnh SQL thì đoạn mã đó sẽ được chạy.

Giới thiệu thuật toán máy véc tơ hỗ trợ (SVM)

Xét bài toán phân lớp nhị phân với tập dữ liệu mẫu huấn luyện T = {(xi, yi), i = 1, 2, …, n, xi Rd.

Trong đó, các dữ liệu mẫu xi được biểu diễn dưới dạng véc tơ trong không gian véc tơ Rd. Các mẫu dương là các mẫu xi thuộc lĩnh vực quan tâm được gán nhãn yi = +1; các mẫu âm là các mẫu xi không thuộc lĩnh vực quan tâm được gán nhãn yi = -1.

Khi đó cần tìm ra một ranh giới để phân tách các mẫu thành hai lớp tương ứng +1 và -1. Độ chính xác của bộ phân lớp phụ thuộc vào độ lớn khoảng cách của điểm dữ liệu gần nhất của mỗi lớp đến ranh giới phân tách (còn gọi là ranh giới quyết định), khoảng cách đó còn gọi là lề. SVM nhằm xây dựng một siêu phẳng phân tách có lề lớn nhất. Tùy thuộc vào dạng của ranh giới phân tách sẽ có SVM tuyến tính và SVM phi tuyến.

Mỗi siêu phẳng trong không gian Rd có thể được biểu diễn dưới dạng: w.x + b = 0 (2.1) Trong đó: w là vector pháp tuyến của siêu phẳng; b là một số thực với là

khoảng cách giữa gốc tọa độ và siêu phẳng theo hướng vector pháp tuyến w, còn w.x biểu thị cho tích vô hướng của w và x trong Rd.

Xét hàm f(xi) = w1.xi1 + w2xi2 + … + wdxid + b (2.1) Đặt:

(2.2) Dữ liệu sẽ được phân loại dựa vào h(xi) thành hai lớp -1 và +1 theo (2.2). Bản chất của SVM là tìm ra w và b sao cho siêu phẳng (2.1) phân tách tập dữ liệu huấn luyện có lề lớn nhất dựa trên bộ mẫu huấn luyên. Sau khi tìm được w và b phù hợp sẽ có bộ phân lớp SVM.

Hình 2.11: Mô hình phát hiện tấn công SQLi sử dụng SVM [6]

2.4.3 Nhận xét

Giải pháp sử dụng học máy phát hiện lỗ hổng bảo mật Website thường cho kết quả phân loại các lỗ hổng bảo mật. Do đó sẽ hỗ trợ khả năng khắc phục, hạn chế nguy cơ của lỗ hổng bảo mât.

Tuy nhiên, giải pháp xây dựng các mô hình phân loại cụ thể các lỗ hổng bảo mật cho hệ thống Website dựa trên các kỹ thuật học máy đòi hỏi phải xây dựng các hệ thống phức tạp. Cùng với sự phát triển của công nghệ, giải pháp này có nhiều triển vọng triển khai trong thực tế.

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu phát hiện lỗ hổng bảo mật web và thử nghiệm (Trang 49 - 52)

Tải bản đầy đủ (PDF)

(82 trang)