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

Khóa luận tốt nghiệp An toàn thông tin: Một hướng tiếp cận dựa trên GAN để sinh mẫu SQLi đối kháng trốn tránh tường lửa ứng dụng Web

88 0 0
Tài liệu đã được kiểm tra trùng lặp

Đ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 đề Một Hướng Tiếp Cận Dựa Trên GAN Để Sinh Mẫu SQLi Đối Kháng Trốn Tránh Tường Lửa Ứng Dụng Web
Tác giả Lê Minh Khan
Người hướng dẫn ThS. Đỗ Hoàng Hiển
Trường học Đại Học Quốc Gia TP. Hồ Chí Minh
Chuyên ngành Cử Nhân Ngành An Toàn Thông Tin
Thể loại khóa luận tốt nghiệp
Năm xuất bản 2024
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 88
Dung lượng 87,63 MB

Nội dung

Các công cụ kiểm thử tự động không có các chiến lược biến đổi nhằm cố gắng tấn công vào các hệ thống phòng thủ khác nhau, phương pháp sử dụng chuyên gia để kiểm thử giải quyết được điều

Trang 1

ĐẠI HỌC QUOC GIA TP HO CHÍ MINH TRUONG DAI HOC CONG NGHE THONG TIN KHOA MANG MAY TINH VA TRUYEN THONG

LE MINH KHAN - 20521430

KHOA LUAN TOT NGHIEP

MOT HUONG TIEP CAN DUA TREN GAN DE SINH MAU SQLI DOI KHANG TRON TRANH TUONG LUA

UNG DUNG WEB

A GAN-BASED APPROACH FOR ADVERSARIAL SQL

INJECTION SAMPLE GENERATION AGAINST WAF

CU NHAN NGANH AN TOAN THONG TIN

GIANG VIEN HUONG DAN

THS DO HOANG HIEN

TP HO CHi MINH, 2024

Trang 2

LỜI CẢM ƠN

Đầu tiên, em xin gửi lời cảm ơn chân thành nhất đến quý thầy cô khoa Mạng máy tinh và Truyền thông, Trường Dai học Công Nghé Thông Tin — Đại học Quốc gia thành phố Hồ Chí Minh đã tạo điều kiện cho em được học tập, rèn luyện và tích lũy kiến thức, kỹ năng dé có thé hoàn thành được khóa luận này.

Đặc biệt, em xin gửi lời cảm ơn sâu sắc nhất đến Thầy Giảng viên hướng dẫn Th.S Đỗ Hoàng Hiển, đã dành rất nhiều thời gian quý báu dé theo dõi, hỗ trợ, tận tâm chỉ dẫn, đưa ra những lời khuyên vô cùng giá trị, gỡ rối rất nhiều khúc mắc và van dé gặp phải trong quá trình nghiên cứu khóa luận Điều này có ý nghĩa rất lớn

trong việc hoàn thành khóa luận của em.

Do kiến thức và kinh nghiệm còn hạn chế, em đã cố gan hết sức dé tìm tòi, học hỏi các kiến thức mới để xây dựng và hoàn thành khóa luận, tuy nhiên không thé tránh được thiếu sót Em rất mong nhận được những góp ý, chỉ day giá trị, quý báu từ quý Thay Cô.

Một lần nữa, em xin gửi đến toàn thể quý Thầy Cô, kính chúc quý Thầy Cô

có thật nhiều sức khỏe và đạt được nhiều thành công, thành tựu hơn nữa trong sự

nghiệp Em xin trân trọng cảm ơn.

Lê Minh Khan

Trang 3

Mục lục

TÓM TẮT KHOÁ LUẬN

1 TONG QUAN ĐỀ TÀI

11 Datvandél eee

1.3 Phuong pháp nghiên

cứu| -1.4 Tính khoa hoc, tinh mới của dé tài

15 Đối tượng và phạm vi nghiên

cứu| -15.1 Đối tượng nghiên cứu|

15.2

Phạmvinghiêncứu| -1.6 Cấu trúc Khóa luận

tốtnghiệp| 2_ CƠ SỞ LÝ THUYET 2.1 Tường lửa ứng dụng webl

2.1.1 Tổng quanl ẶẶ co 2.1.2 Phuong pháp xây dựng WAH

Dua trên bộ quy

tắc| -. Dua trên phương pháp học máy|

2.2 Tấn công SQLinjection|

2.2.1 Tổng quanl Ặ co 2.2.2 Cau trúc của một câu lệnh SOL|

2.2.3 Cách thức tấncông|

Ọaa In-band SQLi (ClassicSOLI)|

Inferential SQLi (Blind SOLI)|

Lee eee ee 2.3 Thư viện

Trang 4

libinjection| -2.41 GiớithệuvềGAN| 14

Le ee 15

“ 16

2.6 Tân công đối kháng| Ặ.Ặ 17

2.6.1 Tân công đầu độc| - 172.6.2 Tấn công nétránh| 17

2.7 Các công trình nghiên cứu liên quan| - 18

3 PHƯƠNG PHÁP THỰC HIỆN 21

3.1 Kiến trúc tổng quat) © eee 21

3.1.1 Luông hoạt động của mô hình GAN| 26

sS×_ — 27

3.2.1 Tiền xử lý dữ liệu cho bộ phân loại (Classifier) 28

3.2.2 Tiền xử lý dữ liệu cho mô hình GAN 283.2.3 Tiền xử lý mảng quyết định chiên lược biên đổi 29

Z4 | / 313.3.1 Bộ trích xuất thông tin token| 313.3.2 Bộ xử lý biến đổi định dạng chuỗi tan công

thong phòng thủ| c co 373.6 Bảo toàn khả nang tân công của mẫu| 43

4_ THỰC NGHIỆM VÀ DANHH GIÁ 45

4.1 Xây dựng mô hình từ phương pháp đề xuất| 45

4.1.1 Chuẩn bị thư viện, môi trường và bộ dữ liệu 45

Trang 5

4.14 MôhinhcGAN| 52

TNNWaHHHI na eee 52

Xây dựng mô hình phân biệt của mô hình cGAN| 52

BILSIM| 59

¬ KỶ 59

41.6 Cấu hình mô phỏng hệ thống WAF ModSecurity| 624.2 _ Kết quả thựcnghiệm| eee 63

4.2.1 Thực nghiệm sinh và biến đổi mẫu trên bộ dữ liệu huấn

luyện GAN] 0 0 eee 63

4.2.2 Thực nghiệm sinh và biến đổi mẫu trên bộ dữ liệu đánh giá

GAN lay từ kho chia sẽ dữ liệu Kaggle|' - 67

5 KÊT LUẬN VÀ HƯỚNG PHÁT TRIEN 71

5.1 Kếtluận ay Z2 ,àV Ì / 715.2_ So sánh phương pháp đề xuất với các công trình nghiên cứu liên

Trang 6

Danh sách hình ve

1.1 10 lỗ hổng bảo mật ứng dụng web hàng dau

3.7 Lưu đồ của thuật toán trích xuất khung payload get_frame của

mẫu tân công SQL injection| - 38

3.8 Áp dụng mô hình để sinh mẫu né tránh WAFRl 39

Trang 7

4.12 Một ví dụ về mau được biến đổi

1X

Trang 8

Danh sách bảng

Bang các chiến lược biến đổi định dang mẫu tan công với giá trị

Bảng các chiến lược biên đổi định dạng mẫu tấn công với giá trịcủa mảng quyết định chiến lược biến đổi có giá trị 2

Bảng các chiến lược biên đổi định dạng mẫu tấn công với giá trị

của mảng quyết định chiến lược biến đổi có giá trị 3Bảng các chiến lược biến đổi định dạng mẫu tân công với giá trịcủa mảng quyết định chiến lược biên đổi có giá trị 4

Bảng các chiên lược biến đổi định dang mẫu tan công với giá trị

của mảng quyét định chiến lược biến đổi có giá trị 5

Bang các chiên lược biến đổi định dạng mau tan công với giá trịcủa mảng quyết định chiến lược biên đổi có giá trị 6

Bảng các chiến lược biên đổi định dạng mẫu tan công với giá trịcủa mảng quyết định chiến lược biến đổi có giá trị 7 và 8

4.1 Thuộc tính cua dataset HttpParam| 47

4.2_ Thuộc tính của SYED SAQLAIN HUSSAIN SHAH dataset| 47

4.3 Thông số và giá trị để huấn luyện mô hình phân loại của WAFR|

4.4 Bảng thể hiện tỷ lệ dương tính chính xác của bộ phân loại học máy

Trang 9

của tường lửa qua các lần biên đổi định dạng từ dữ liệu tạo từ bộ

bái

Trang 10

Danh mục từ viết tắt

SQL Structured Query Language

SQLi SQL injection

WAF Web Application Firewall

DNS Domain Name Control

ML Machine Learning GAN Generative Adversarial Network cGAN _ Conditional Generative Adversarial Network CNN Convolutional Neural Network

RNN Recurrent Neural Network

BiLSTM Bidirectional Long Short-Term Memory

GRU Gated Recurrent Unit

G Generator

D Discriminator

xii

Trang 11

Giá tri mat mát

Hành động Ham kích hoạt

Hàm mat mát

Danh mục từ tạm dịch

Loss value Action

Activation function Loss function

Học sâu Deep learning

Lớp đầu vào Input layerLớp đầu ra Output layer

Lớp ẩn Hidden layer

Don vi Unit

Mang no ron Neural network

Trọng số mạng Weight

Dựa trên quy tắc Signature base

Tường lửa ứng dụng web Web Application Firewall

Ung dụng web phía người dùng Webclient

Máy chủ ứng dụng web Webserver

Từ khóa Keyword

Biểu thức Expressions

Hàm Function

Từ thô Bareword Chú thích Comment

Biểu mẫu Form

Tén mién Domain name

Doan ma Token Nhận dạng đặc trưng Fingerprints

xiii

Trang 13

TÓM TẮT KHOÁ LUẬN

Để ngăn chặn, hạn chế những rủi ro tồn tại ở các ứng dụng web, đã có nhiều

phương pháp bảo mật được nghiên cứu và áp dụng, tường lửa ứng dụng (WAF)

là một trong số đó Mặc dù vậy các WAF vẫn có khả năng bị qua mặt bởi bên tan

công bằng nhiều phương pháp khác nhau, để đảm bảo nâng cao khả năng phòng

thủ của WAF thì việc đánh giá điểm yếu của nó là cực kỳ quan trọng Để làm

được điều này, các phương pháp kiểm thử WAF đã được sinh ra từ tự động đến

kỹ năng con người, tuy nhiên cả hai phương pháp này đều có hạn chế riêng Các

công cụ kiểm thử tự động không có các chiến lược biến đổi nhằm cố gắng tấn

công vào các hệ thống phòng thủ khác nhau, phương pháp sử dụng chuyên gia

để kiểm thử giải quyết được điều này, tuy nhiên, mắt đi tính tự động hóa, hiệuquả của chiến dịch kiểm thử phụ thuộc nhiều vào kỹ năng của chuyên gia, vànhân lực có chuyên môn cao là không nhiều

Nghiên cứu này có mục tiêu đưa ra một hướng mới về phương pháp né tránh

hệ thống tường lửa ứng dụng nhằm biết được các điểm yếu của hệ thống phòng

thủ, phương pháp này hướng đến việc xây dựng một chiến lược kiểm thử, đánhgiá tự động hóa các hệ thống phòng thủ, kết hợp phương pháp học đối kháng

để linh hoạt biến đổi chiến lược tùy thuộc vào hệ thống phòng thủ Nghiên cứu

sử dụng mô hình học đối kháng cụ thể là cGAN để hiện thực mục tiêu trên, môhình sinh ra các chiến lược biến đổi định dạng mẫu tấn công, từ đó đưa ra cácmẫu mới có khả năng né tránh WAF Phương pháp được đánh giá hiệu suất trêncác bộ dữ liệu công khai và hệ thống phòng thủ mô phỏng Kết quả thu được chothay mô hình đề xuất của dé tài có khả năng né tránh được các mô hình phân loạihọc sâu và cả ModSecurity WAF, cho thấy mô hình có khả năng thực tiễn, từ đó

đưa ra hướng phát triển tiếp theo nhằm từng bước hoàn thiện phương pháp này

trong tương lai.

Trang 14

Chương 1

TONG QUAN DE TÀI

Tom tat chuong

Ở chương này, tác giả nêu ra bài toán mà trên thực tế dang gặp phải về phương

pháp né tránh hệ thống tường lửa ứng dụng web một cách tự động và linh hoạttheo các chiến lược biến đổi mẫu tấn công SQL injection Đồng thời xác định các

phương pháp đã được nghiên cứu, từ đó đưa ra hướng giải quyết, xác định hướng

nghiên cứu và phạm vi nghiên cứu của khóa luận Ở phần này, tác giả cũng xác

định rõ mục iêu mà khóa luận hướng tới.

11 Đặt vấn đề

Tan công mạng nói chung và tan công web nói riêng là vấn để ngày càng nóng

trên toàn thế giới và đặc biệt là ở Việt Nam Các chiến dịch tấn công nhằm khaithác các lỗ hổng của website luôn là chủ dé luôn được nhắc tới trong các cuộc bàn

luận và phân tích Sở di, như vậy là do hầu hết các doanh nghiệp, tổ chức hay

thậm chí là cá nhân hiện nay đều xây dựng cho họ một hệ thống các trang web để

phục vụ cho các công việc như kinh doanh, quản lý, điều hành Chính vì vậy, hầu

như các hệ thống triển khai các website này đều chứa các dữ liệu và tài nguyên

vô cùng quan trọng của tổ chức, cá nhân, do đó, các hệ thống này cần phải đượcbảo vệ an toàn một cách cẩn trọng và toàn diện nhất có thể

Việc áp dụng rộng rãi các thành tựu công nghệ mà ở đây đang nói đến là hệthống các website trực tuyến đã dẫn đến việc số lượng các cuộc tấn công nhắmđến lỗ hổng của các trang web ngày càng lớn Theo thống kê, riêng ở Việt Nam cóhon 13.900 cuộc tan công xảy ra ở năm 2023, tăng 9,5% so với năm 2022 [12] Can

2

Trang 15

Chương 1 TỔNG QUAN ĐỀ TÀI

lưu ý rằng, các hệ thống trang web được thiết kế với nhiều mục đích khác nhau,

tuy nhiên, điểm chung của chúng là nơi mà mọi đối tượng đều có thể tương tác,việc kiểm soát hành vi của người dùng là vô cùng khó khăn

Một trong những lỗ hổng phổ biến của các website hiện nay là SQL injection,đây là lỗ hổng có thể dẫn đến các thiệt hại cực kỳ nghiêm trọng bên cạnh độ phổbiến của nó Trên toàn cầu, theo báo cáo của OWASP có khoảng 274.000 cuộc tancông SQL injection xảy ra mỗi ngày trong năm 2022, điều đáng ngạc nhiên hơn

là thời gian để có thể phát hiện ra lỗ hỏng và tiến hành tấn công SQL injection

trung bình mắt chưa tới 10 giây [9] Với độ nguy hiểm và phổ biến rất cao, SQL

injection luôn nằm trong TOP 10 lỗ hổng web phổ biến được OWASP công bó

như hình[I.1]

2017 2021 A01:2017-Injection A01:2021-Broken Access Control

A02:2017-Broken Authentication A02:2021-Cryptographic Failures

A03:2017-Sensitive Data Exposure ~» A03:2021-Injection

A04: : ternal Entities (XXE) (N@w) A04:2021-Insecure Design

X3 m=- A05:2021-Security Misconfiguration

A05:2017-Broken Access Control

A06:2017-Security Misconfiguration A06:2021-Vulnerable and Outdated Components

.A07:2017-Cross-Site Scripting (XSS) A07:2021-Identification and Authentication Failures

.A08:2017-Insecure Deserialization =e {New} A08:2021-Software and Data Integrity Failures

A09:2017-Using Components with Known Vulnerabilities 4 FE=—7?” A09:2021-Security Logging and Monitoring Failures* A10:2017-Insufficient Logging & Monitoring (New) A10:2021-Server-Side Request Forgery (SSRF)*

* From the Survey

HÌNH 1.1: 10 lỗ hổng bảo mật ứng dung web hang đầu

Để chống lại các cuộc tan công này, nhiều nhà nghiên cứu da rất nổ lực để

phát triển các phương pháp bảo vệ khác nhau như các hệ thống phát hiện dựatrên đặc trưng (signature-based) hay dựa trên các mô hình máy học từ cơ bản đến

phức tạp Tuy nhiên, một số nghiên cứu chỉ chỉ áp dụng các biện pháp học máy

và học sâu để phát hiện sớm dấu hiệu của các chiến dịch tấn công thông qua lỗhổng SQL injection mà chưa đánh giá, giải quyết các van dé liên quan đến việccác bên tan công có thể sử dụng các mẫu đối kháng để tác động xấu vào hệ thống

phòng thủ nhằm phá vỡ lớp phòng thủ và thực hiện các chiến dịch tan công

Để giải quyết vân đề này, công tác kiểm thử thâm nhập để dánh giá khả năng

phòng thủ của các hệ thống bảo vệ là cần thiết Trên thực tế, đã có một số biệnpháp kiểm thử thâm nhập tự động, đa số dựa trên phương thức kiểm thử hộp

đen bằng cách xây dựng một bộ dữ liệu đầu vào gồm nhiều payload tấn công

Tuy vậy, phương pháp này hoàn toàn không có khả năng tư duy, biến đổi mẫu

Trang 16

Chương 1 TỔNG QUAN ĐỀ TÀI

khi gặp các hệ thống phòng thủ như khi thực hiện kiểm thử bởi con người Mặtkhác, nếu không sử dụng các công cụ tự động thì sẽ phải có đội ngũ với kỹ năng

và chuyên môn cao để có thể tiền hành kiểm thử và đánh giá hiệu quả nhất

1.2 Mục tiêu để tài

Qua những van dé đã được dé cập, có thể nhận thấy rằng, việc thực hiện kiểm

thử thâm nhập các hệ thống phòng thủ một cách tự động, linh hoạt là điều cực

kỳ quan trọng, đặc biệt là đối với lỗ hổng SQL injection Dé tài này hướng tới một

cách tiếp cận mới bằng việc kết hợp học máy, học sâu vào lĩnh vực an toàn thông

tin.

e Ap dụng các phương pháp học máy, hoc sâu để tiến hành biến đổi định

dạng của mẫu tấn công ban đầu để qua mặt các hệ thống phòng thủ như

WAF.

* Các mẫu tan công đã được biến đổi định dang vẫn phải đảm bảo được chức

năng và mục đích tan công ban dau

¢ Dua ra được các chiến lược biến đổi tối ưu nhằm qua mặt được hệ thống

phòng thủ như WAF Tiến hành sinh các mẫu tấn công né tránh WAF nhằm

đánh giá độ khả thi, hiệu quả của mô hình.

1.3 Phương pháp nghiên cứu

Để đạt được mục tiêu cuối cùng của đề tài, tác giả sử dụng phương pháp học đốikháng (GAN) để tiến hành sinh ra các chiến lược biến đổi và áp dụng nó vào mẫu

tấn công gốc, mẫu tấn công này được đảm bảo tiêu chí né tránh được hệ thống

phòng thủ như WAE, và chức năng tan công ban đầu được đảm bao Tìm hiểu,phân tích và đưa ra các biến đổi định dạng của mẫu ban đầu bao gồm: biến đổilogic, biến đổi kiểu biểu diễn dữ liệu, biến đổi định dang ký tự, thay thé ký tự,các biến đổi này đảm bảo không làm thay đổi chức năng tấn công, khả năng tấncông của mẫu ban đầu Phân tích các mẫu ban đầu để có các chiến lược biến đổiphù hợp đối với từng loại Xây dựng bộ phân biệt và huấn luyện cho phản ứng

Trang 17

Chương 1 TỔNG QUAN ĐỀ TÀI

giống với hệ thống phòng thủ (WAF) nhất có thể Huan luyện mô hình đối khángvới bộ sinh và bộ phân biệt được huấn luyện đồng thời Mẫu sinh ra của mô hìnhGAN là các chiến lược biến đổi, chiến lược này có thể áp dụng lên nhiều payloadgốc khác nhau và vẫn đảm bảo được mục đích né tránh WAF, đảm bảo khả năng

và mục đích tấn công

1.4 Tính khoa học, tính mới của đề tài

Đề tài hướng tới mục đích cụ thể là phát triển một phương pháp biến đổi mẫutấn công SQL injection né tránh hệ thống phòng thủ có thể áp dung để phục vụkiểm thử xâm nhập Phương pháp được xây dựng với sự kết hợp giữa kỹ thuật

học máy hiện đại với lĩnh vực an toàn thông tin Xây dựng phương pháp tự động

nhưng vẫn có khả năng linh hoạt áp dụng chiến lược tấn công Hơn nữa, xây

dựng mô hình học đối kháng không chỉ với mục tiêu là vượt qua được hệ thống

phát hiện mà còn với mục tiêu cố gắng giữ được khả năng tấn công của mẫu vàmục đích ban đầu của mẫu tân công SQL injection

Vẫn với mục đích là kiểm tra và đánh giá khả năng né tránh của các payload

tấn công SQL injection vào các tưởng lửa ứng dụng web và các bộ phát hiện tancông ứng dung web, dé tài xây dựng một mô hình có chức năng sinh ra các chiến

lược biến đổi định dang các mẫu tấn công nhắm cụ thể vào lỗ hổng SQL injection

Phương pháp này mang lại tiềm năng ứng dụng thực tiễn, đặc biệt là trong việcgiữ được tính hiệu quả và mục tiêu tấn công ban đầu của mẫu trong môi trườngthực tế

1.5 Đối tượng và phạm vi nghiên cứu

1.5.1 Đối tượng nghiên cứu

e Tan công SQL injection, các loại tan công SQL injection phổ biến

¢ Tường lửa ứng dụng web (WAF) được xây dựng dựa trên các phương pháp

học máy, học sâu.

* Các phương pháp học máy đối kháng (GAN)

Trang 18

Chương 1 TỔNG QUAN ĐỀ TÀI

Các biến đối trong tan công SQLi

1.5.2 Phạm vi nghiên cứu

Phương pháp học máy nhằm biến đổi định dang mẫu tan công SQL injection đảm

bảo chức năng của mẫu tấn công nhằm qua mặt hệ thống nhận dang, phát hiện

tan công, WAF

1.6 Cau trúc Khóa luận tốt nghiệp

Khóa luận được tổ chức trong 6 chương như sau:

Chương[I| TONG QUAN ĐỀ TÀI

Nêu ra các bài toán thực tế, từ đó đề xuất hướng nghiên cứu của dé tài khóa

luận.

Chương|2| CƠ SỞ LÝ THUYET

Mô tả các khái niệm, công nghệ, các kiến thức nền tảng phục vụ cho đề tàinghiên cứu Đưa ra các nghiên cứu tương tự đã tạo tiền để để xây dựng,

hiện thức khóa luận Phân tích tình hình các nghiên cứu đã có, tìm ra được

các đặc điểm của các nghiên cứu này Từ đó đưa ra hướng nghiên cứu tiếp

cận mới.

Chương|3| PHƯƠNG PHÁP THỰC HIEN

Với các bài toán đã đưa ra, dé xuất một mô hình đáp ứng day đủ các yêu tố

can thiết

Chương] HIỆN THỰC, ĐÁNH GIÁ VÀ THẢO LUẬN

Từ mô hình dé xuất, tiến hành kiểm ra tính khả thi của mô hình bằng cáchtính toán đưa ra số liệu dựa trên các mẫu mới được sinh ra bởi mô hình

Chương] KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

Đưa ra kết luận từ các kiết quả thu được, ý nghĩa của nghiên cứu mang lại

và hướng phát triển trong tương lai của đề tài

Trang 19

2.1 Tường lửa ứng dụng web

2.1.1 Tổng quan

Tường lửa ứng dụng web (Web Application Firewall viết tat là WAF) là một loại

tường lửa hoạt động ở lớp ứng dụng (lớp 7 của mô hình OSD), nó chịu trách nhiệm lọc, xử lý, giám sát lưu lượng, nội dung HTTP/HTTPS, đây là một giải pháp bảo

mật được áp dụng để đảm bảo an toàn cho ứng dụng web trước nhiều loại tan

công như SQL Injection, Cross Site Scripting (XSS) hay Cross-site Request Forgery

- CSRE Giải pháp bảo mật này được ứng dung trong hệ thống của nhiều lĩnh vựcthuộc nhiều doanh nghiệp, tổ chức khác nhau

WAF được triển khai ở vùng giao tiếp giữa internet và ứng dung web Khác

với tường lửa, WAF được đặt giữa webclient và webserver thay vì chỉ đặt giữa các

server Trong khi proxy thông thường được triển khai nhằm bảo vệ người dùng

khi truy cập vào internet thì WAF được triển khai như một reverse-proxy bảo vệ

máy chủ web trước các lưu lượng truy cập từ internet hay cụ thể hơn là từ người

dùng.

Trang 20

Chương 2 COSO LY THUYẾT

Dựa vào các tinh chat của các cuộc tan công web như, thuộc tính các mẫu tấncông (ký tự, độ dai, các ký tự trong danh sách den, ), hành vi của các cuộc tan

công (số lượng gói tin, cố truy cập vào các vùng dữ liệu không được phép, )

Với tân công SQL injection, WAF có thể sử dụng phương pháp phân tích cú pháp,đặc điểm ký tự của gói tin yêu cầu để xác định tấn công Các kỹ thuật phân tíchngày càng đa dạng và hiện đại, với mục đích tăng tối đa tính chính xác khi phân

tích các lưu lượng đi vào máy chủ web Có 2 phương pháp chính để WAF phát

hiện tan công SQL injection là dựa trên bộ quy tắc được định nghĩa và phươngpháp áp dụng học máy để phân tích, phân loại, phát hiện tấn công

2.1.2 Phương pháp xây dựng WAF

Dựa trên bộ quy tắc

Phương pháp này được sử dụng rộng rãi trong các giải pháp WAF truyền thống,

các nhà cung cấp dịch vụ WAF hiện nay chủ yêu dùng phương pháp này để xây

dựng một giải pháp WAF mạnh mẽ Phương pháp này sử dụng các cơ sở dữ liệu

khổng 16, nơi các chính sách được định nghĩa sẵn bởi các chuyên gia hoặc từ cộngđồng, các chính sách dựa trên những đặc điểm của các cuộc tấn công để pháthiện, xác định nó, như số lượng ký tự, chuỗi định dạng, số lượng gói tin, các ký

tự trong danh sách den, , phân tích cú pháp, xác định dựa trên hành vi Tùy vào

loại tan công, tùy vào từng hệ thống mà các chính sách này có thể được tùy chỉnh

cho phù hợp, độ chính xác của phương pháp này được khẳng định bởi nhiều nhàcung cấp lớn hiện nay

Một số giải pháp WAF lớn, phổ biến, mạnh mẽ sử dụng phương pháp này tiêu

biểu như ModSecurity, F5, CloudFlare, Fortinet, Wallarm, WAFaaS.

Điểm mạnh của phương pháp này là các cuộc tan công đã biết va xác định

thuộc tinh sẽ duoc xây dựng thành các chính sách chặc chẽ, tốc độ phân tích, xử

lý rất nhanh và tỷ lệ phát hiện chính xác rất cao, cơ sở dữ liệu được cập nhật liên

tục nhằm đảm bảo các chính sách bao phủ tối đa các dấu hiệu của tấn công

Tuy nhiên, đối với các lưu lượng tân công mới, các chính sách chưa được địnhnghĩa trong cơ sở dữ liệu cho mẫu tan công đó thì khả năng phát hiện rất thấp

Trang 21

Chương 2 COSO LY THUYẾT

Dua trên phương pháp học máy

Cùng với phương pháp trên, một hướng tiếp cận hiện đại hơn được áp dụng vàocác nắm gần đây là áp dụng các phương pháp học máy để xây dựng các giải pháp

WAF (ML-based) Nhiều nghiên cứu được thực hiện nhằm nâng cao khả năng

phát hiện các lưu lượng tấn công web của giải pháp

Giống với các giải pháp WAF xây dung bằng phương pháp dựa trên quy tắc,

mục đích của phương pháp này cũng nhằm tối ưu khả năng phát hiện dấu hiệucủa các cuộc tan công, riêng về tấn công SQL injection, phương pháp sử dụng học

máy, học sâu có nhiều ưu điểm nhờ vào khả năng phân tích chuỗi mạnh mẽ củacác mô hình học máy, các thành phan, ký tự, cú pháp của mẫu tan công được xemxét trên nhiều khía cạnh để phân loại

Tuy vậy, khác với các WAF xây dựng bằng phương pháp dựa trên quy tắc, khi

dùng phương pháp áp dụng học máy có khả năng phát hiện các mẫu tấn côngmới, không có trong cơ sở dữ liệu Phương pháp này tuy hiện đại và có nhiều ưuđiểm, song vẫn tồn tại một số điểm yếu, do được xây dựng với mô hình hoc máy,vẫn có tỷ lệ âm tính giả (mẫu tân công nhưng nhận dạng là mẫu bình thường) vàdương tính giả (mẫu bình thường nhưng phát hiện là mẫu tan công)

Do các giải pháp WAF đều có kha năng bị qua mặt, những bên tắn công cóthé lợi dụng điều này để tìm ra cách biến đổi mẫu tan công như SQL injection đểtấn công vào trang web mà không bị phát hiện và ngăn chặn, từ đó, thực hiện tấn

công sâu vào bên trong ứng dung web.

2.2 Tấn công SQL injection

2.2.1 Tong quan

Tan cong SQL injention hay goi tat là tan công SQLi là một trong những loại tancông vào trang web thông qua các lỗ hổng tổn tại trong quá trình xây dung trangweb Có rất nhiều loại tấn công thông qua lỗ hổng trên trang web nhưng có thể

nói SQLi là một trong những loại tấn công nguy hiểm nhất, nó ảnh hưởng trực

tiếp đến cơ sở dữ liệu, nơi lưu trữ toàn bộ thông tin của tổ chức, doanh nghiệp, cánhân, khách hàng Bên cạnh đó, SQLi lại càng nguy hiểm hơn với cách thức tấn

công vô cùng đa dạng Ảnh hưởng có nó lên các hệ thống là cực kỳ lớn, các bộ dữ

Trang 22

Chương 2 COSO LY THUYẾT

iéu chứa các thông tin quan trọng có thé bi đánh cắp và trao đổi trái phép thông

qua lỗ hổng này, gây thiệt hại cực kỳ nghiêm trọng.

Các chiến dịch tấn công SQLi nhắm vào các lỗ hổng ở các đầu vào của ứng

dụng web, có thể là ô nhập thông tin, url hay qua các gói tin mà tin tặc bắt được,chỉnh sửa và gửi đến máy chủ ứng dụng web

Dưới tác động lớn lên toàn bộ dữ liệu, lỗ hổng này có thể bị khai thác với nhiều

mục đích của bên tân công như đánh cắp đữ liệu, xáo trộn dữ liệu, cản trở hoạt

động của hệ thống, dẫn đến các dịch vụ trì trệ hoặc thậm chí dừng hoạt động

2.2.2 Cau trúc của một câu lệnh SQL

Câu lệnh truy van của SQL được cau thành từ các thành phan chinh nhu:

° Keyword: Day là các lệnh được định nghĩa sẵn để thực hiện các thao tác lên

cơ sở dữ liệu.

Ví dụ: ADD, ADD CONSTRAINT, ALL, ALTER, ALTER COLUMN, UNION, UNION ALL, UNIQUE, UPDATE, VALUES, VIEW, WHERE.,

® Expressions: Đây là một biểu thức với sự kết hợp giữa các giá trị, hàm va

toán từ nhằm đưa về một giá trị nhất định, nó thường đứng sau các keyword

như SELECT, WHERE, HAVING, ORDER BY

¢ Function: Các hàm dùng để xử ly hoặc điều khiển quá trình thực thi của cơ

sở dữ liệu

Ví dụ: pg_sleep(), sleep(), WAITFOR DELAY, WAITEFOR TIME, , COUNT(), ROUND(), SUM(), MAX(),

© Bareword: Day là các phần như tên bảng, tên cột,

* Comment: Phan chú thích, không ảnh hưởng đến quá trình thực thi chuỗi

truy vấn

® Ngoài ra còn có các thành phần khác như các ý tự đặc biệt, ở mỗi cơ sở dữ

liệu cũng có các đặc trưng khác nhau.

10

Trang 23

Chương 2 COSO LY THUYẾT

2.2.3 Cách thức tan công

Kẻ tấn công nhắm vào các điểm dit liệu đầu vào của ứng dụng, ở đây, dữ liệu từ

người dùng được xử lý và truy vấn vào cơ sở đữ liệu Chính vì vậy, đây là nơi

nhạy cảm nhất, rất dé tồn tại lỗ hổng gây ảnh hưởng đến toàn bộ cơ sở dữ liệunếu không được thiết kế đúng cách

Có 3 hình thức mà kẻ tan công có thê thực hiện:

° Ứng dụng cho phép thực thi trực tiếp câu truy van đầy đủ từ người dùng,

điều này giúp cho bên tấn công thực thi các lệnh tùy ý, cực kỳ nguy hiểm

Ví dụ: SELECT * FROM Table;

Kẻ tấn công thực thi trực tiếp câu truy vấn thông qua các đầu vào của ứngdụng web Trả về toàn bộ thông tin của bảng, điều này thực sự nguy hiểm

hơn với các thao tác xóa, sửa dữ liệu.

¢ Đóng chuỗi truy van chuẩn bị sẵn bằng dau nháy đơn, bên tan công có thể

đóng dấu nháy đơn, kết thúc xác định giá trị truy vân và thực hiện các hàm

Ví dụ: SELECT * FROM Users WHERE username = ‘admin’ AND password

= wy OR

“-Trong ví dụ này, bên tan công có thể qua mặt câu lệnh xác thực và có thể

truy vẫn với user admin

¢ Đóng chuỗi truy vấn chuẩn bị sẵn bằng dấu nháy kép, tương tự khi thực

hiện với dấu nháy đơn, kẻ tấn công cũng có thể thực thi lệnh bên cạnh câutruy vân được thiết kế sẵn

Ví dụ: SELECT * FROM Users WHERE username = "admin" AND password

=" OR "1"="1';

Tương tự với thủ thuật đóng vùng nhặp dữ liệu bằng dấu nháy đơn, kỹ thuật

đóng bằng dấu nháy kép cũng có chức năng và mục đích tương tự

Đây chỉ là 3 hình thể chính để thực hiện khai thác lỗ hổng SQL injection, ngoài

ra, tuy vào loại cơ sở dữ liệu và phiên bản của nó mà còn có thể áp dụng các kỹ

thuật khác.

11

Trang 24

Chương 2 COSO LY THUYẾT

2.2.4 Các loại tan công SQL injection

In-band SQLi (Classic SQLi)

In-band SQLi là loại tan công cơ bản nhất thông qua các lỗ hổng SQL injection,như khái niệm của lỗ hổng SQL injection, kẻ tấn công sẽ lợi dụng các điểm đầu

vào của ứng dụng web, nơi các dữ liệu được đưa vào như form đăng nhập, thanh

tìm kiếm, hoặc URL, không được xử lý đúng cách làm xuất hiện lỗ hổng SOLinjection Trạng thái của ứng dụng khi bi tan công sẽ thể hiện lên chính nơi mabên tan công thực hiện khai thác, có thé dé dang quan sát kết quả khi tan công

Có hai phân loại tan công là Error-based SQLi va Union-based SOLi

¢ Error-based SQLi Hình thức tấn công này dựa trên thông điệp thông báo

lỗi của ứng dụng khi bên tan công đưa vào dữ liệu không hợp lệ là cho cơ

sở dữ liệu gặp lỗi khi thực thi Điều nguy hiểm là thông điệp thông báo lỗiđược hiện trực tiếp trên giao diện người dùng và nó chứa rất nhiều thôngtin hữu ích cho kẻ tan công Đầu tiên, bên tấn công có thể biết được trangweb này tôn tại lỗ hổng SQL injection, hơn nữa các thông tin có thể bị lộ ranhư phiên bản của cơ sở dữ liệu, cau trúc cơ sở dữ liệu, từ những thông

tin này, bên tấn công có thể tiền hành các bước tiếp theo nhằm khai thác sâu

hơn lỗ hổng.

* Union-based SQLi Bên tấn công sử dụng lệnh UNION để kết hợp kết qua

của nhiều lệnh SELECT lại thành 1 và hiển thị ra màn hình, với kỹ thuật này,

bên tan công có thể lay được dữ liệu từ cơ sở dữ liệu bằng cách sử dụng hàm

SELECT vào cơ sở dữ liệu của ứng dụng và kết hợp nó với lệnh SELECT có

cau trúc Loại tan công này có thể làm lộ cơ sở dữ liệu cho bên tan công

Inferential SOLi (Blind SQLi)

Khác với In-band SQLi (Classic SQLi), tan công Inferential SQLi có cách thức khai

thác phức tạp hơn Bên tắn công không thể nhận biết kết quả tan công thành cônghay không thông qua giao diện người dùng, loại tấn công này áp dụng cho các lỗhổng mà không in bat kỳ dữ liệu nào trực tiếp ra màn hình của người dùng màbên tấn công phải nhận biết thông qua các dấu hiệu khác Thay vì việc xác định

lỗ hổng thông qua dữ liệu trả vẻ, bên tan công có thể xác định và biết được cấu

12

Trang 25

Chương 2 COSO LY THUYẾT

trúc của cơ sở dữ liệu thông qua dấu hiệu thời gian phan hồi, các phản hồi của

trang web.

Có hai hình thức xác định của tan công Inferential SQLi là Boolean-based va

Time-based.

* Boolean-based (content-based) Blind SQLi Ở loại tấn công này, bên tan

công sẽ mat nhiều thời gian để tìm hiểu cấu trúc thiết kế cơ sở đữ liệu do

phải thử qua rất nhiều mẫu tấn công đầu vào với mong muốn ứng dụng

phản hồi lại một số dấu hiệu nhân biết từ phản hồi của gói HTTP Từ cácphản hồi này, kẻ tấn công có thể suy luận ra cách thức tiến hành các bướckhai thác tiếp theo

e Time-based Blind SOLi

Một cách thức khác là dựa vào thời gian phan hồi từ ứng dụng khi thực thicác hàm chỉ định độ trễ của cơ sở dữ liệu Bên tấn công xác định sự tổn tại

của lỗ hổng bằng cách suy luận lỗ hổng có tôn tại hay không do cơ sở dữ

liệu sẽ thực thi lệnh được chèn vào.

Out-of-band SOLi

Khác với các cách thức tan công In-band SQLi, khi không thể quan sát kết quả

thông qua giao diện người dùng hoặc qua các phản ứng của ứng dụng để suy luận thì bên tấn công sẽ thực hiện phương pháp tấn công Out-of-band SQLi Với

phương pháp tan công này, kẻ ấn công sẽ phải thông qua những kênh truyền dữliệu khác để quan sát kết quả như DNS, bên tan công có thể chèn kết quả trả vềvào domain name và có thể xem được từ DNS server

2.3 Thư viện libinjection

Đây là thư viện mã nguồn mở được viết bằng ngôn ngữ C được phát triển bởi

Nick Galbreath (21, với mục đích phân tích chuỗi đầu vào phát hiện mẫu tấn

công SQL injection thông qua các bộ quy tắc, chuỗi định nghĩa cấu trúc Được sử

dụng bởi ModSecurity, Ironbee WAF, Glastopf Honeypot.

Đây là một thư viện mạnh mẽ trong việc phân tích các mẫu tan công SQLi, cụ

thể, cách thức hoạt động của thư viện như sau:

13

Trang 26

Chương 2 COSO LY THUYẾT

© Tokenization: chuyển payload thành một day các token bao gồm các từ, ky

tự riêng lẻ.

® Duyệt qua toàn bộ cơ sở dữ liệu để phân loại các token và gắn nhãn cho

chúng.

s® Nhóm các token đặc biệt thành 1 token phức tạp hơn, nhóm nay đã được

định nghĩa có định thành một chuỗi loại token, được gọi là fingerprints

* So sánh các nhãn này với một bộ đặc trưng được định nghĩa sẵn để xác định

xem đây có phải là tấn công SQLi hay không

Các loại token mà thư viện libinjection có thể phân loại là:

variable, string, regular operator, unknown, number, comment, keyword,

group-like operation, union-like operator, logical operator, function, comma, semi-colon, left parens, right parens

Tuy nhiên thu viện này van có một số hạn chế khi phân tích các chuỗi truy

vấn cơ sở dit liệu PGSQL / Oracle và các payload có kích thước quá lớn

Đây là một thư viện hiệu quả trong việc phân tích mẫu tấn công, có thể sửdụng khả năng phân tích này vào nhiều mục đích khác nhau Trong nghiên cứu

này, tác gia ứng dụng khả năng phân tích token của thư viện này để phân tích các

mau tân công SQLi thành các phan có phân loại nhất định nhằm phục vụ bước

biến đổi payload cũng như bước trích xuất dữ liệu huấn luyện

2.4 GAN

2.4.1 Giới thiệu về GAN

GAN là viết tắt của Generative Adversarial Networks là một mô hình học sâu, mô

hình này được phát triển bởi lan J Goodfellow, Jean Pouget-Abadie, Mehdi Mirza,

Bing Xu, David Warde-Farley, Sherjil Ozairt, Aaron Courville, Yoshua Bengio BÌ.

Như tên gọi của nó, mô hình này có khả năng sinh ra các dữ liệu dựa trên các

dit liệu có sẵn Mô hình này gồm có 2 thành phần chính là bộ sinh và bộ phânbiệt Bộ sinh có nhiệm vụ sinh ra mẫu sao cho giống với dữ liệu mục tiêu nhất,

14

Trang 27

Chương 2 COSO LY THUYẾT

bộ phân biệt sé cải thiện và tang cường độ chính xác trong việc phan biệt dữ liệu

mà bộ sinh sinh ra Qua thời gian huấn luyện, khi cả 2 bộ đều được tối ưu thì dữliệu sinh ra từ bộ sinh sẽ càng chất lượng

Công thức hàm mục tiêu của GAN như sau:

min max V(D,G) = Ex~p„„„(x) [log D(x)]

+ Ez~p,(z)[log(1— D(G(2)))) (2.1)

Trong đó, G là mang sinh, D là mang phân biệt Ham mục tiêu trên sẽ la mục

tiêu huấn luyện của mô hình, ở đây G sẽ tối thiểu hóa khả năng nhận diện của D

và D sẽ tăng cường khả năng phân biệt của nó.

© x là dữ liệu được lay từ bộ dữ liệu thật

e z là dữ liệu nhiễu.

* logD(x): đây là Logarit của xác suất mà D phân biệt va gán nhãn cho dữ liệu

thật.

* log(1-D(G(z))): đây là Logarit của xác suất mà D phân biệt và gan nhãn cho

dữ liệu sinh ra bởi G và dữ liệu nhiễu.

2.4.2 cGAN

cGAN là viết tat của Conditional Generative Adversarial Networks (6 , day la

một mô hình biến thể của GAN Cũng với các khái niệm cơ bản kế thừa từ GAN,

cGAN cũng là mô hình hướng tới sinh ra các dữ liệu dựa trên các bộ dữ liệu có

sẵn Tuy nhiên, cGAN có điểm cải tiến so với GAN truyền thống với thêm mộtđầu vào điều kiện vào cho cả bộ sinh và bộ phân biệt Điều kiện này có thể là bat

cứ thứ gì của loại dữ liệu, tùy vào ý đồ thiết kế của nhà nghiên cứu, ví dụ như

nhãn hay thuộc tính của mẫu, nó giúp dữ liệu được sinh ra có kiểm soát hơn.

Cũng vì vậy, hàm mục tiêu của cGAN cũng có sự khác biệt:

15

Trang 28

Chương 2 COSO LY THUYẾT

min max V(D, G) = Ex, y~paata(x,y) [10g D(X, y)]

GD

+ Ez~p,(z),y~p(y) |!09(1— D(G(Z, y), y))] (2.2)

Nhu có thể thấy, việc tính toán của G và D còn phụ thuộc thêm vào y, y ở đâychính là đầu vào điều kiện của mô hình cGAN

Trong dé tài này, tác giả dua vào mô hình cGAN để xây dựng nên phươngpháp đề xuất với mục tiêu tạo ra một mô hình có khả năng sinh ra các chiến lượcbiến đổi định dang để áp dụng thay đổi định dang của mẫu tan công, từ đó nétránh được hệ thống tường lửa

2.5 Thư viện Tensorflow

Tensorflow là một thư viện mã nguồn mở được kế thừa từ TensorFlow được kếthừa từ DistBelief do nhóm Google Brain của Google phát triển và công bố năm

2015 Thư viện này được áp dụng rất phổ biến cho các sản phẩm, nghiên cứu ứng

dụng xây dựng mô hình học sâu, học máy.

Thư viện Tensorflow được viết bằng ngôn ngữ C++ và Python, được tối ưu

cả về hiệu suất và tính dễ sử dụng của nó Thư viện này hỗ trợ nhiều ngôn ngữ

lập trình khác nhau như Python, Javascript, chứ không chỉ hỗ trợ C++ như các

thư viện học máy khác Nguyên lý hoạt động dựa trên khái niệm đồ thị tính toán

(Computational Graphs) Kiến trúc của dé thị này gồm có các nút và các cạnh

Mỗi nút đại diện cho các phép tính toán và các cạnh đại diện cho luồng dw liệu

Tensorflow cho phép người sử dụng thiết kế một mô hình tùy chỉnh hoặcnhiều lớp mạng các nút Nhà phát triển có thể tự định nghĩa cách mà dữ liệuđược lan truyền qua các nút Các dit liệu được tính toán qua các nút có dang làmột mảng đa chiều hay được gọi là tensor

Thư viện này có thể hoạt động trên hiéu nền tang va phan cứng khác nhau, cóthể tối ưu huấn luyện khi sử dụng GPU để huấn luyện

Đây là một thư viện mạnh mẽ và tối ưu cho người sử dụng, có thể can thiệp

ở nhiều mức độ phức tạp của mô hình, tận dụng được các thành phần đã nghiên

Trang 29

Chương 2 COSO LY THUYẾT

cứu va thiết kế sẵn giúp giảm rat nhiều thời gian để xây dung một mô hình hoc

máy mà vẫn đảm bảo linh hoạt cho mục đích sử dụng.

Chính vì thế, đây là một thư viện được ứng dụng cho rất nhiều công trìnhnghiên cứu trong nhiều lĩnh vực, đặc biệt là học máy và học sâu Việc kết hợp thưviện này vào lĩnh vực an toàn thông tin cũng đã được rất nhiều nghiên cứu thựchiện, tuy nhiên, ở mỗi nghiên cứu sẽ có cách tiếp cận và mcuj đích khác nhau

Ở đề tài này, tác giả tận dụng sức mạnh mà thư viện này mang lại để xây dựng

mô hình học sâu, đạt được mục đích của nghiên cứu.

2.6 Tan công đối kháng

Đây là loại tan công nhắm vào các mô hình học máy Như đã biết, các mô hìnhhọc máy rất mạnh mẽ và chính xác trong phân loại các loại dữ liệu, đặc biệt làphân lại các tấn công web dựa trên các đặc trưng của nó Tấn công đối khángnhắm vào mục tiêu làm giảm tính chính xác của các hệ thống học máy, từ đó làmgiảm đi sức mạnh của hệ thống phòng thủ, sau đó tấn công vào thông qua cácđiểm yếu của hệ thống mà không bị phát hiện và ngăn chặn Đối với WAF được

xây dựng bằng các phương pháp học máy, bên tan công nhắm tới mục tiêu làm

cho hệ thống phòng thủ không thể nhận dạng và ngăn chặn các mẫu tấn công,giúp cho kẻ tan công có thể khai thác các lỗ hổng của ứng dụng

Tấn công đối kháng được chia làm hai loại chính, tấn công đầu độc và tấn

công né tránh.

2.6.1 Tan công đầu độc

Cũng giống với tên gọi của loại tấn công đối kháng này, tấn công đầu độc là quá

trình tấn công mà bên tan công cố gắng đưa một lượng các dữ liệu giả mạo, sai

lệch, gây nhiễu vào hệ thống phòng thủ máy học Mục tiêu của loại tan công nay

là làm cho mô hình dự đoán lệch lạc, giảm độ chính xác của dự đoán.

2.6.2 Tấn công né tránh

Tan công né tránh là kỹ thuật tan công mà bên tan công cố gắng thực hiện các

thao tác lên dữ liệu đầu vào, các thao tác này được thiết kế dac biệt nhằm vượt

17

Trang 30

Chương 2 COSO LY THUYẾT

qua các hệ thống phòng thủ Mục tiêu của loại tan công này là lam cho mô hìnhphòng thủ học máy không thể phát hiện hoặc phân loại không chính xác đầu vào

là mẫu tấn công nguy hiểm Đây là loại tan công cực kỳ nguy hiểm do các mẫutấn công này một khi không thể bị phát hiện và ngăn chặn sẽ tác động trực tiếp

vào ứng dụng web.

Đối với các tường lửa ứng dụng WAF được huấn luyện để phát hiện tan côngdựa trên mô hình học máy, phương thức tấn công né tránh có thể được bên tấncông áp dung để tiến hành các chiến dich tan công

Đối với lỗ hổng SQL injection các mẫu tân công đầu vào hoàn toàn có thể thayđổi về định dạng ký tự, cau trúc, độ dai, với một mô hình tường lửa ứng dụnghọc máy không đủ mạnh mẽ, các mẫu tan công có thể dé dang né tránh, bỏ qua vatác động sâu hơn vào ứng dụng Chính vì vậy, việc giảm đến tối thiểu khả năng

bỏ qua hệ thống phòng thủ của các hệ thống phòng thủ là cực kỳ quan trọng, để

làm được điều đó, cần đánh giá điểm yếu mà mô hình đang mắc phải, tìm được

các biến đổi có khả năng qua mặt hệ thống phòng thủ để huấn luyện tường lửa

ứng dụng web mạnh mẽ hơn, chính xác hơn

2.7 Các công trinh nghiên cứu liên quan

Có không ít các nghiên cứu về các biện pháp để đánh giá khả năng nhận diện

của hệ thống phát hiện các mẫu tấn công độc hại Tiêu biểu như nghiên cứu sinhmẫu tấn công bằng phương pháp học tăng cường do nhóm tác giả Yuting Guan

(4Ì, nghiên cứu sử dụng thuật toán soft actor-critic (SAC) kèm với phương pháp

xử lý vector tinh và động cho mục đích tiền xử lý mẫu tấn công gốc Đầu tiên,mẫu tấn công sẽ được đưa về định dạng gốc ban đầu (chưa áp dụng bat cứ chiếnthuật biến đổi ký tự nào vào mẫu), sau đó biến đổi mẫu tân công, biến đổi địnhdạng mẫu bằng cách thêm ký tự, biến đổi ký tự dựa trên mẫu tấn công gốc nhưngphải đảm bảo chức năng, mục đích tấn công của mẫu ban đầu Để đạt được mụctiêu tấn công vào các hệ thống phát hiện tan công, tác giả đã sử dung SAC với

môi trường là hệ thống phát hiện tấn công được xây dựng và huấn luyện các

mô hình phát hiện (dựa trên các thuật toán MLP, CNN, LSTM, SVM, AdaBoost,

RandomForest, XGBoost, GradientBoost) sau đó đánh giá hiệu suất của phương

18

Trang 31

Chương 2 COSO LY THUYẾT

pháp được nghiên cứu, kết quả cho thấy hiệu suất của hệ thống phát hiện mẫutấn công SQL injection là có hiệu quả hơn rõ rệt

Bên cạnh nghiên cứu trên, một nghiên cứu về phương pháp sử dụng mạngsinh đối kháng để tiến hành tạo mẫu tấn công XSS do nhóm tác giả AnkurChowdhary thực hiện ñl, với mục tiêu dùng mô hình mạng sinh đối kháng(GAN) để biến đổi định dang mẫu tan công XSS né tránh hệ thống nhận dang,

phát hiện tan công Ở nghiên cứu này, tác giả dùng phương pháp tách các phần

của một mẫu tấn công XSS (XSS payload) và phân loại theo vị trí tương ứng nhưphan đầu, phần thân, phần đuôi của các mẫu tan công để tạo nên bộ dữ liệu huấnluyện, sau đó tiến hành sinh mẫu bằng cách ghép các phần lại tạo thành một mẫutấn công hoàn chỉnh mới, đánh giá khả năng vượt qua hệ thống phát hiện tancông và khả năng tấn công của mẫu được sinh ra Để làm được điều này, tác giả

đã áp dụng kỹ thuật Monte Carlo (MC) search quá trình sinh mẫu tan công

Gần đây nhất, vào tháng 1 năm 2024, nhóm tác giả gồm Zhenging Qu, Xiang

Ling, Ting Wang, Xiang Chen, Shouling Ji, Chunming Wu <tác giả > cũng có

nghiên cứu liên quan đến phương pháp sinh mẫu tan công SQL injection bằng

các phương pháp học máy Ở nghiên cứu này, tác giả đã sử dụng kỹ thuật quy

luật biến đổi logic, biến đổi ký tự của chuỗi truy van SQL query để thay đổi định

dang chuỗi tan công Tuy nhiên, so với hai nghiên cứu trước, thì tác giả đã ápdung cách tiếp cận khác Cu thể, tác giả đã tiến hành phân tích chuỗi tấn côngSQL injection thành các phần khác nhau gọi là token và phân loại chúng theo vaitrò trong câu truy van Tiếp đến tác giả áp dụng các quy tắt được gọi là Context-free Grammar cho từng phần này trên và lưu các biến đổi của từng phần vào một

ma trận 2 chiều, chiều thứ nhất thể hiện phân loại token, chiều thứ hai thể hiệncác kết quả có thể thay thế cho token đó Sau đó tác giả áp dụng phương pháphọc tăng cường MCTS để tìm ra các tahy thế tối ưu để né tránh

Cả ba nghiên cứu đều nhắm tới việc tạo ra mẫu tấn công nhắm vào mục tiêuđánh lừa, qua mặt được hệ thống phát hiện tấn công nhưng vẫn đảm bảo được

khả năng tấn công của mẫu Tuy nhiên, mỗi nghiên cứu lại có hướng đi khônggiống nhau, với nghiên cứu của nhóm tác giả Yuting Guan sinh ra mẫu tấn côngnhắm vào lỗ hỏng SQL injection với yêu cầu mẫu mới được tạo từ mô hình phảigiữ được mục đích chức năng ban dau của bên tan công, sự thay đổi về định dang

không làm thay đổi mong muốn và khả năng tấn công ban đầu của mẫu Tiếp cận

19

Trang 32

Chương 2 COSO LY THUYẾT

theo hướng khác, nghiên cứu của nhóm tác giả Ankur Chowdhary, Kritshekhar

Jha, va Ming Zhao đưa ra mô hình sinh mẫu nhắm vào lỗ hổng XSS bằng phương

pháp phân tích mẫu tan công trong bộ dữ liệu thành các phần, sau đó ghép các

phan của một payload tan công lại thành một mẫu tan công hoàn chỉnh, sau đókiểm tra khả năng tấn công của mẫu vào thực tế để đánh giá hiệu quả của mô

hình Ở nghiên cứu thứ 3 của nhóm tác giả Zhenging cũng hướng tới tan công

SQL injection và vẫn giữ được mục đích tân công, tuy nhiên áp dụng cách thứbiến đổi mới thông qua Context-free Grammar

20

Trang 33

Chương 3

PHƯƠNG PHÁP THỰC HIỆN

Tóm tắt chương

Ở chương này, tác giả xin trình bày chỉ tiết phương pháp đề xuất mà đề tài hướng

tới, từ mô hình tổng quan đến chỉ tiết các thành phần bộ phân loại học máy củatường lửa ứng dụng web, bộ biến đổi định dạng và mô hình cGAN được sử dụng

để huấn luyện mô hình học máy sinh mẫu tan công né tránh WAF

3.1 Kiến trúc tổng quát

Trong nghiên cứu này, tác giả sử dụng mô hình học máy đối kháng làm phương

pháp để hiện thực hóa của để tài Dựa trên đặc tính cạnh tranh giữa hai thành

phần của mô hình này là bộ sinh và bộ phân biệt để xây dựng nên một phươngpháp sinh mẫu, đạt được mục tiêu né tránh được hệ thống phân loại của tườnglửa ứng dụng web, cụ thé là tan công SQL injection

Dé đạt được mục đích của dé tài, tác giả tiến hành xây dung mô hình GAN va

huấn luyện nhằm tối ưu cả bộ sinh và bộ phân biệt

Với bộ phân biệt, mô hình học máy dược xây dựng hướng tới mục tiêu trả ra

kết quả dự đoán tương đồng nhất với bộ phân loại của hệ thống tường lửa ứngdụng web Nghĩa là cùng kết quả đầu vào, cả mô hình phân loại của hệ thống

tường lửa ứng dung web và bộ phân biệt của mô hình GAN sẽ cho ra nhãn dự

đoán giống nhau, kết quả dự đoán của 2 mô hình này càng tương đồng thì bộphân biệt càng tối ưu và mô hình GAN sẽ huấn luyện càng chính xác

21

Trang 34

Chương 3 PHƯƠNG PHÁP THỤC HIỆN

Với bộ sinh, hướng tới mục tiêu sinh ra các mảng quyết định chiến lược biếnđổi tối ưu nhất để áp dụng vào bộ chuyển đổi, biến đổi định dạng mẫu tấn cônggốc

Với việc sử dụng mô hình cGAN, các mảng sinh ra được tối ưu cho từng mẫu

có đặc trưng khác nhau (các đặc trưng này được trình bày ở phần tiền xử lý)

Mang quyết định chiến lược biến đổi càng tối ưu khi sinh ra mẫu có tỷ lệ bịphát hiện là tan công SQL injection càng thấp

Đồng thời khi huấn luyện bộ phân biệt càng tương đồng thì bộ sinh sẽ càng

sinh ra được các mẫu có chất lượng Nghĩa là khi làm cho mẫu gốc biến đổi định

dạng vượt qua được bộ phân biệt của mô hình GAN thì cũng sẽ né tránh được bộ

phân biệt của hệ thống tường lửa ứng dụng thực tế

Với ý tưởng và mục tiêu trên, tác giả tiến hành xây dựng một mô hình huấnluyện gồm 3 thành phần chính:

* Classifier: bộ phân loại payload tan công

¢ Generator: mô hình sinh

¢ Discriminator: mô hình phân biệt

Như hình|3.1|Các thành phần của mô hình bao gồm:

1 Preprocess payload

2 Preprocess feature

3 Bộ sinh (Generator)

4 Bộ phân biệt (Discriminator)

5 Bộ phân loại chuỗi mẫu

6 Original Payload

7 Noise

8 Action array được sinh ra bởi bộ sinh (Generator)

9 Labels sinh ra từ dự đoán của bộ phân loại (Classifier)

22

Trang 35

Chương 3 PHƯƠNG PHÁP THỤC HIỆN

Trang 36

Chương 3 PHƯƠNG PHÁP THỤC HIỆN

10 Processed feature chứa các đặc trưng được trích xuất của payload

11 Dữ liệu huấn luyện bộ phân biệt tạo bởi bộ sinh

Cụ thể, các phần này có ý nghĩa như sau:

Bộ sinh (Generator): Mô hình học sâu được xây dựng từ nhiều lớp Dense

nhằm sinh ra các dữ liệu Bộ sinh cố gắng sinh ra các dữ liệu tối ưu nhất để vượt

qua bộ phân biệt Mục đích hướng tới là có thể áp dụng cho nhiều bộ payloadkhác nhau chứ không chỉ bộ payload được huấn luyện

Bộ phân biệt (Discriminator): Đây là mô hình học sâu được xây dựng từ

nhiều lớp Dense Bộ phân biệt có nhiệm vụ mô phỏng chính xác nhất phản ứngcủa bộ phân loại (Classifier) khi nhận các biến đổi áp dụng lên payload gốc được

mô tả như hình cùng một đầu vào sẽ cho ra cùng kết quả, mục đích là để tối

ưu chất lượng dữ liệu sinh ra từ bộ sinh như hình|B.2}

Trong mô hình của phương pháp dé xuất này, bộ sinh và bộ phân biệt đềuthuộc một mô hình GAN Các lớp giữa bộ sinh và bộ phân biệt có liên kết Gradientvới nhau thông qua hàm mat mát Hai mô hình này được huấn luyện đống thời

Bộ phân loại (Classifier): Được xây dựng bằng các mô hình học sâu, dùng đểtạo môi trường thử nghiệp cho phương pháp đề xuất Bộ phân loại mẫu (Classi-fier) là một mô hình riêng biệt, đã được huấn luyện trước, đầu vào của mô hình

này là một chuỗi payload của bộ dữ liệu.

Original Payload: Chuỗi tấn công gốc, các chuỗi này được cung cấp bởi các

bộ dataset có sẵn, đây cũng là bộ dữ liệu chính để huấn luyện bộ phân loại

(Clas-sifier) và mô hình cGAN trong đề tài.

Noise: Dữ liệu nhiễu được đưa vào bộ sinh để sinh ra dữ liệu tạo nên mảng

quyết định chiến lược biến đổi Labels sinh ra từ dự đoán của bộ phân loại, dữ

liệu này sẽ dùng để đánh nhãn cho từng mục dùng để huấn luyện bộ phân biệt

Action array hay có thể gọi là mảng quyết định chiến lược biến đổi định dạng.Được sinh ra bởi bộ sinh giống với Random action choise array, tuy nhiên, dữ liệu

nay được sinh ra từ bộ sinh của mô hình cGAN.

Processed feature chứa các đặc trưng được trích xuất của payload, dữ liệu này

là đầu vào điều kiện của bộ sinh và bộ phân biệt trong mô hình cGAN nhằm sinh

ra các chiến lược biến đổi trên từng payload có đặc trưng khác nhau

Dữ liệu huấn luyện bộ phân biệt, dữ liệu này có cấu trúc tương tự dữ liệu

huấn luyện thực tế, tuy nhiên Processed feature được đưa vào bộ sinh để sinh ra

24

Trang 37

Chương 3 PHƯƠNG PHÁP THỤC HIỆN

Transform Preprocess WAF classifier

payload

Original

payload Discriminator

model

HÌNH 3.2: Mục tiêu huấn luyện của bộ phân biệt trong mô hình

GAN a) Classifier và Discriminator dùng đưa ra dự đoán Normal

với cùng đầu vào; b) Classifier và Discriminator dùng đưa ra dự

đoán Attack với cùng đầu vào;

25

Trang 38

Chương 3 PHƯƠNG PHÁP THỤC HIỆN

mảng quyết định chiến lược biến đổi tương ứng, 2 dữ liệu này sẽ được kết hợp và

đưa vào bộ phân biện để đáng giá và cải thiện

3.1.1 Luong hoạt động của mô hình GAN

Cụ thể luồng hoạt động của mô hình cGAN trong để tài như sau: Dataset sẽ được

chia làm 2 phần:

© Phan thứ nhất huấn luyện mô hình phân loại (Classifier)

se Phần thứ hai dùng để huấn luyện mô hình GAN

Phần dữ liệu huấn luyện mô hình phân loại sẽ có mẫu tấn công SQL inhection

và tất cả các mẫu bình thường

Phan dữ liệu huấn luyện mô hình GAN chỉ gồm các payload tấn công SQL

injection với sô lượng khoảng hơn 5000 mẫu tấn công trong tổng số các mẫu tấn

công SQL injection trong dataset.

Mô hình phân loại học may (Classifier) được huấn luyện trước, chuẩn bị môitrường để huấn luyện mô hình GAN Sau khi huấn luyện đảm bảo tỷ lệ phát hiện

chính xác của mô hình tiệm cận 100% khi thử bằng bộ dir liệu huấn luyện mô

hình GAN.

Với phan dữ liệu huấn luyện GAN sẽ được xử lý để trích xuất ra các đặc trưng

(feature).

Ở mỗi vòng huấn luyện sẽ thực hiện các bước sau:

© Bước 1: Lấy ngẫu nhiên 1 batch gồm N mẫu từ phan dataset huấn luyện

GAN thu được tập đữ liệu D, với N là số lượng mẫu trong mỗi batch Cácchuỗi tấn công được trích xuất feature và lưu tương ứng vào D tạo ngẫunhiên N mảng quyết định chiến lược biến đổi tương ứng va cũng được tiền

xử lý.

© Bước 2: Dua chuỗi payload trong D va mảng này vào hàm biến đổi để trả

về các chuỗi biến đổi đã xử lý, đưa các chuỗi này vào mô hình tiền xử lý,

sau đó đưa vào bộ phân loại và thu được nhãn tương ứng cho từng mẫu dữ

liệu, lưu danh sách các nhãn.

26

Trang 39

Chương 3 PHƯƠNG PHÁP THỤC HIỆN

© Bước 3: Tiến hành X bước huấn luyện bộ phân biệt của mô hình cGAN với

đầu vào là feature của các mẫu, cùng với mảng quyết định chiến lược biếnđổi định dạng ở bước 1 và nhãn tương ứng của các mẫu này ở bước 2

Ở 3 bước đầu này, mục đích là để bộ phân biệt được huấn luyện trước với

phản hỏi từ bộ phân biệt, tránh trường hợp chỉ huấn luyện với dữ liệu sinh

ra từ bộ sinh, gây ra hiện tượng overfiting.

© Bước 4: Lay ngẫu nhiên batch gồm N’ mẫu từ phan dữ liệu feature đã được

trích xuất, tạo N’ noise tương ứng, đưa 2 dữ liệu này vào mô hình sinh Bộsinh tạo ra N’ mảng quyết định chiến lược biến đổi tương ứng, kết hợp các

mảng được sinh ra này và các feature tương ứng, sau đó đưa vào bộ phân

biệt để đánh giá và cập nhật trọng số

© Bước 5: Lấy N’ chuỗi payload gốc tương ứng từ batch được lấy ở bước 4

Ap dụng chiến lược biến đổi được sinh ra tương ứng ở bước 4 thu được

chuỗi tấn công SQL injection đã biến đổi định dạng, đưa các mẫu này vào

bộ phân loại để thu được nhãn thực tế, dùng nhãn này để huấn luyện khả

năng phân biệt.

® Bước 6: Lap lại từ bước 1.

3.2 Tien xử lý dữ liệu

Đối với dữ liệu đầu vào từ dataset, cần lấy hai thuộc tính từ bộ dataset được sử

dụng:

1 Nội dung: Bản gốc của chuỗi payload, các chuỗi này là các mẫu tấn công

hoặc các input bình thường.

2 Nhãn: Phân loại thực tế chuỗi này là tấn công hay bình thường

Từ các dữ liệu được chọn, tiền hành tiền xử lý để phù hợp với đầu vào của các

mô hình.

27

Trang 40

Chương 3 PHƯƠNG PHÁP THỤC HIỆN

3.2.1 Tiền xử lý dix liệu cho bộ phân loại (Classifier)

Các chuỗi payload gốc được chuẩn hóa về các giá trị số dựa trên các ký tự có

trong chuỗi Các chuỗi này trước tiên sẽ được đưa về dạng viết thường, tiếp theo,

trích xuất về giá trị số nguyên của ký tự tại từng vj trí tương ứng trong chuỗi.Sau đó đưa về khoảng giá trị trong khoảng [0;1] để đưa vào huấn luyện mô hình

phân loại.

Các ký tự này bao gồm:

abcdefghijklmnopqrstuvwxyz0123456789-»3 eb Pr 7 "USN | _ CER > &*~ 6 +-= <> CO) TIC}

Với mô hình phân loại xây dựng lại dựa trên mô hình phân loại của tác gia Xiang Zhang, Junbo Zhao, Yann LeCun, dữ liệu được xử lý và đưa ra hình dạng

dữ liệu là (400)

Các dữ liệu sau khi được xử lý và đưa vào mô hình phân loại học máy để huấn

luyện.

3.2.2 Tiền xử lý dữ liệu cho mô hình GAN

Đối với mô hình GAN, đữ liệu sẽ được tiền xử lý theo các đặt trưng về loại và

số lượng của token trong payload Dữ liệu này sẽ là đầu vào điều kiện cho cả bộsinh và bộ phân biệt trong mô hình cGAN Cau trúc các thuộc tính như sau:

payloads, union, where, unlike ,like, space, true, false, t, f, and, or,

y, inlinecommand, slc, slr

Với các thuộc tính có ý nghĩa như sau:

1 Payloads: Chita chuỗi tân công SQL injection

2 Union: Số lượng lệnh union trong chuỗi

3 Where: Số lượng lệnh where trong chuỗi

4 Unlike: Số lượng toán tử so sánh khác trong chuỗi

5 Like: Số lượng toán tử so sánh bằng trong chuỗi

28

Ngày đăng: 23/12/2024, 23:55

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

TÀI LIỆU LIÊN QUAN

w