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áng vớ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ình GAN 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 payload gố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.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ẫu tấ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 tan cô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ệc giữ đượ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ường thực tế.5 Đối tượng và phạm vi nghiên cứu 1.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). TỔNG QUAN ĐỀ TÀI Các biến đối trong tan công SQLi.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.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ài nghiê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ách tí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. Chương 2 CƠ SỞ LÝ THUYÊT Tóm tắt chương Trong chương này, tác giả trình bày qua tất cả các cơ sở lý thuyết cần thiết để xây dựng phương pháp đẻ xuất trong khóa luận.
Các kiến thức tổng quan chung về tường lửa ứng dụng web, tan công SQL injection, mô hình cGAN va thư viện học máy.1 Tường lửa ứng dụng web 2.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ực thuộ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. 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ấn cô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ích ngà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ương phá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 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át hiệ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 định nghĩ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. 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ào cá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ệu củ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ủa cá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 xem xé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ông mớ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 Tấn công SQL injection 2.1 Tong quan Tan cong SQL injention hay goi tat là tan công SQLi là một trong những loại tan công vào trang web thông qua các lỗ hổng tổn tại trong quá trình xây dung trang web.
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ữ 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 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.