Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 54 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
54
Dung lượng
1,53 MB
Nội dung
ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TRẦN QUANG CHUNG CHỐNG TẤN CÔNG SQL INJECTION SỬ DỤNG CÁC KHUÔN MẪU TỔNG QUÁT LUẬN VĂN THẠC SĨ AN TỒN THƠNG TIN Hà Nội – 11/2019 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TRẦN QUANG CHUNG CHỐNG TẤN CÔNG SQL INJECTION SỬ DỤNG CÁC KHN MẪU TỔNG QT Ngành: An tồn thơng tin Chun ngành: An tồn thơng tin Mã số: 8480102.01 LUẬN VĂN THẠC SĨ AN TỒN THƠNG TIN NGƯỜI HƯỚNG DẪN KHOA HỌC: TS NGUYỄN ĐẠI THỌ Hà Nội – 11/2019 MỤC LỤC CHƯƠNG TỔNG QUAN VỀ TẤN CÔNG TIÊM NHIỄM SQL 12 1.1 Khái niệm công tiêm nhiễm SQL 12 1.2 Phân loại công tiêm nhiễm SQL 13 1.2.1 Order Wise 14 1.2.2 Blind SQL Injection 15 1.2.3 Against Database 16 1.3 Các phương pháp ngăn chặn công tiêm nhiễm SQL 18 1.4 Kết chương 21 CHƯƠNG 2: MỘT SỐ PHƯƠNG PHÁP CHỐNG TẤN CÔNG TIÊM NHIỄM SQL SỬ DỤNG KHUÔN MẪU TỔNG QUÁT 23 2.1 Phương pháp chống công tiêm nhiễm SQL sử dụng khuôn mẫu hợp lệ theo bối cảnh, SDriver 23 2.1.1 Kiến trúc SDriver .23 2.1.2 Cách thức hoạt động SDriver .24 2.1.3 Stack trace 26 2.2 SDriver cải tiến luận văn Thạc sỹ Nguyễn Thanh Liêm .30 2.2.1 Những lỗ hổng SDriver 30 2.2.2 SDriver cải tiến luận văn Nguyễn Thanh Liêm 34 2.3 Kết chương 35 CHƯƠNG 3: ĐỀ XUẤT CỦA CHÚNG TÔI 37 3.1 Phân tích hoạt động SDriver cải tiến 37 3.2 Giải thuật đề xuất .38 3.2.1 Cơ chế hoạt động .39 3.2.2 Triển khai giải thuật đề xuất 41 3.3 Mô thực nghiệm giải thuật đề xuất 42 3.4 Đánh giá hoạt động giải thuật đề xuất .48 3.4.1 Đánh giá chi phí 48 3.4.2 Đánh giá độ xác 49 3.4.3 Một số hạn chế 51 3.5 Kết chương 51 KẾT LUẬN .52 TÀI LIỆU THAM KHẢO 53 LỜI CAM ĐOAN Tôi xin cam đoan cơng trình nghiên cứu cá nhân hướng dẫn TS Nguyễn Đại Thọ Những kết nghiên cứu trình bày luận văn hồn tồn trung thực, tơi, khơng vi phạm điều luật sở hữu trí tuệ pháp luật Việt Nam Mọi tài liệu tham khảo tơi trích dẫn nguồn đầy đủ Hà Nội, ngày… tháng… năm Học viên Trần Quang Chung LỜI CẢM ƠN Đầu tiên, xin cảm ơn tất thầy, cô trường Đại học Công Nghệ Đại Học Quốc Gia Hà Nội giảng dạy, giúp đỡ suốt thời gian học tập trường Tiếp theo, xin gửi lời cảm ơn chân thành tới TS Nguyễn Đại Thọ, người thầy nhiệt tình giúp đỡ, hướng dẫn để đến thành cuối Tuy tơi cố gắng để hồn thiện luận văn này, không mắc thiếu sót Do đó, tơi mong góp ý nhận xét chân thành thầy cô bạn Hà Nội, ngày… tháng … năm … Học viên Trần Quang Chung STT Ký hiệu CSDL DBMS SQL DANH MỤC CÁC HÌNH VẼ Hình 1.1 Qui trình thực cơng tiêm nhiễm SQL Hình 1.2 Phân loại công tiêm nhiễm SQL Hình 2.1 Kiến trúc đề xuất SDriver [2, tr.5] Hình 2.2 Kiến trúc thực tế Sdriver [2, tr.8] Hình 2.3 Chế độ huấn luyện SDriver Hình 2.4 Chế độ thực thi SDriver Hình 2.5 Ví dụ vai trò stack trace.[1,tr.25] Hình 2.6 Ví dụ cơng tautologies thành cơng Hình 2.7 Ví dụ công UNION thành công Hình 2.8 Ví dụ cơng Piggy-Backed thành cơng Hình 2.9 Cơ chế rút gọn câu truy vấn SDriver cải tiến Hình 3.1 Truy vấn hợp lệ bị nhận nhầm SDriver cải tiến Hình 3.2 Mẫu SQL rút gọn CSDL anomaly – SDriver cải tiến Hình 3.3 Chế độ huấn luyện giải thuật đề xuất Hình 3.4 Chế độ thực thi giải thuật đề xuất Hình 3.5 Cấu trúc bảng Anomaly Hình 3.6 Tiến hành huấn luyện cho hệ thống Hình 3.7 Hệ thống không phát bất thường Hình 3.8 Hệ thống nhận định câu truy vấn hợp lệ Hình 3.9 Hệ thống phát tautologies sử dụng thích Hình 3.10 Hệ thống phát Union sử dụng thích Hình 3.11 Hệ thống phát Piggy-Backed sử dụng thích Hình 3.12 Hệ thống phát chuỗi cơng trường Password Hình 3.13 Dữ liệu bảng anomaly Hình 3.14 Phát cơng dựa vào liệu bảng anomaly Hình 3.15 Giao diện Burp Suite 49 Hình 3.16 Ví dụ lấy thông tin POST 50 DANH MỤC BẢNG B Bảng 3-1 Thời gian thực thi truy Bảng 3-2 Kết ngăn chặn MỞ ĐẦU Trong xu hướng phát triển bùng nổ thông tin ngày nay, ứng dụng web trở thành phần thiết yếu sống hàng ngày Các ứng dụng web có mặt khắp nơi, thực nhiệm vụ quan trọng xử lý nhiều liệu nhạy cảm người dùng Vì mà trở thành mục tiêu cơng ưa thích tin tặc Các hình thức công đa dạng thay đổi nội dung trang web, công từ chối dịch vụ khiến cho việc truy cập trang web thực khó thực hiện, chiếm quyền điều khiển trang web, lấy cắp thông tin nhạy cảm khách hàng, … Hầu hết cơng dựa lỗ hổng bảo mật ứng dụng web Theo OWASP (Open Web Application Security Project), mười lỗ hổng bảo mật ứng dụng web bị công nhiều nhất, năm 2017, tiêm nhiễm (injection) mối đe dọa số ứng dụng web, có tiêm nhiễm SQL (Structured Query Language) - Ngôn ngữ truy vấn có cấu trúc [3] Do nguy hại cơng tiêm nhiễm SQL, phương pháp phát hiện, phịng chống ln hồn thiện kể từ xuất Về phương pháp áp dụng hai vị trí Một phía ứng dụng web, tiêu biểu phương pháp sử dụng câu lệnh tham số Nó sử dụng rộng rãi, chí cịn xây dựng thành framework, tiêu chuẩn an toàn với đội ngũ phát triển ứng dụng web Hai nằm trung gian ứng dụng web sở liệu xây dựng tường lửa sở liệu, xây dựng lọc truy vấn Phương pháp tập trung xây dựng tập hợp khuôn mẫu công tiêm nhiễm khn mẫu hợp lệ, sau tiến hành so sánh với truy vấn đến sở liệu thực tế Từ đó, đưa định ngăn chặn tiếp tục cho phép kết nối đến sở liệu Trong hai tập mẫu, xây dựng tập mẫu hợp lệ dễ dàng thực hơn, phát nhầm truy vấn hợp lệ thành công hạn chế nhỏ khả sở liệu bị cơng Tùy theo mục đích hoạt động toàn hệ thống (cơ sở liệu ứng dụng web) mà lựa chọn phương pháp phù hợp Một giải pháp xây dựng trung gian ứng dụng web sở liệu SDriver SDriver đề xuất kỹ thuật chống công tiêm nhiễm SQL khuôn mẫu hợp lệ theo bối cảnh (Location-specific signatures prevent SQL injection attack) [2] Dr Dimitris Mitropoulos Prof Diomidis Spinellis SDriver thêm vào ứng dụng web trình điều khiển kết nối tới sở liệu SDriver chịu trách nhiệm phát ngăn chặn công tiêm nhiễm SQL thông qua sở liệu câu truy vấn 10 hợp lệ gắn với bối cảnh Phần thực không cần thay đổi mã nguồn ứng dụng, không ảnh hưởng nhiều đến hiệu tồn hệ thống SDriver mơ tả kỹ thuật đơn giản, hiệu phát ngăn chặn công tiêm nhiễm SQL Trong phạm vi nghiên cứu SDriver, trường Đại học Công Nghệ - Đại học Quốc Gia Hà Nội, luận văn Thạc sỹ Nguyễn Thanh Liêm [1], chuyên ngành Truyền liệu Mạng máy tính phát lỗ hổng SDriver mà kẻ cơng lợi dụng để vượt qua Luận văn đề phương pháp khắc phục lỗ hổng phát cải tiến, nâng cao hiệu phát tiêm nhiễm SQL Thạc sỹ Nguyễn Thanh Liêm đề phương pháp xây dựng tập liệu cấu trúc cơng, đặt phía trước SDriver thay đổi chế SDriver Tuy nhiên, phần xây dựng bảng liệu độc hại chưa thật mang ý nghĩa hỗ trợ SDriver thu thập cấu trúc đặc trưng truy vấn SQL Ngoài ra, thay đổi chế hoạt động SDriver mà dẫn đến tỷ lệ phát nhầm truy vấn hợp lệ thành truy vấn công ngăn chặn không cho phép kết nối đến sở liệu ứng dụng Xét từ mức độ nguy hại lỗ hổng hồn cảnh thực tế đó, luận văn tập trung nghiên cứu: “Chống công SQL injection sử dụng khuôn mẫu tổng quát” Luận văn đề xuất chế hoạt động cho SDriver, làm giảm khả phát nhầm chuỗi truy vấn hợp lệ thành truy vấn công Cơ chế hoạt động thay đổi tập trung vào xử lý thành phần thích cho không cần thiết câu truy vấn chuỗi ký tự người dùng nhập vào Luận văn đưa phương pháp xây dựng bảng liệu chứa chuỗi ký tự công tiêm nhiễm SQL Bên cạnh chuỗi ký tự có bảng liệu độc hại ban đầu, trình hoạt động, dựa phát SDriver, chuỗi truy vấn đến bị nhận định cơng chuỗi ký tự công tiêm nhiễm nằm chuỗi truy vấn lọc thêm vào bảng liệu độc hại Qui trình phát cơng tiêm nhiễm thay đổi có thêm bước xử lý nhận câu truy vấn, hệ thống tiến hành lọc chuỗi ký tự nghi cơng tiến hành so sánh với bảng liệu độc hại Nếu phát có trùng lặp, hệ thống thông báo công chặn lại, không cần thực kiểm tra khuôn mẫu hợp lệ Nhìn chung, luận văn khắc phục lỗi phát nhầm SDriver cải tiến có xây dựng giải pháp hỗ trợ phát cơng tiêm nhiễm SQL 40 - Xóa bỏ thành phần thích “/* */” Bước 5: So sánh khuôn mẫu thu với liệu hợp lệ signatures ssql Bước 6: Nếu mẫu khớp với liệu signatures, kết nối đến trình điều khiển, thơng báo thành công Nếu không chuyển sang bước Bước 7: Lặp lại bước 1, thay kiểm tra anomaly, chuỗi ký tự độc hại thêm vào anomaly Chế độ huấn luyện: Hình 3.3 Chế độ huấn luyện giải thuật đề xuất 41 Chế độ thực thi: Hình 3.4 Chế độ thực thi giải thuật đề xuất 3.2.2 Triển khai giải thuật đề xuất Một bảng liệu độc hại anomaly thêm vào CSDL ssql Bảng có trường ID chứa chuỗi ký tự độc hại Trong trình lọc chuỗi độc hại, tiến hành chuẩn hóa chuỗi ký tự thu dạng chữ thường, xóa bỏ khoảng trắng, dấu “’” Việc chuẩn hóa loại bỏ nguy kẻ công lợi dụng khoảng trắng, thay đổi viết hoa, viết thường để công 42 Hình 3.5 Cấu trúc bảng Anomaly 3.3 Mơ thực nghiệm giải thuật đề xuất Giải thuật đề xuất xây dựng dựa SDriver nên môi trường mô tương tự sau: Ứng dụng web xây dựng dựa tảng JSP Servlet Sử dụng Eclipse làm môi trường chạy ứng dụng web Trình điều khiển kết nối JBDC CSDL cho ứng dụng web SDriver MySQL CSDL ứng dụng web mytestdb, CSDL cho SDriver ssql Các bước chạy mô thực nghiệm: Đặt chế độ hoạt động huấn luyện – training mode Tiến hành huấn luyện truy vấn hợp lệ Theo dõi trình huấn luyện kết thúc ứng dụng web kiểm tra khuôn mẫu hợp lệ lưu bảng signatures CSDL ssql Chuyển sang chế độ thực thi – production mode Lần lượt thử nghiệm câu truy vấn hợp lệ theo dõi kết Thử nghiệm với mẫu hợp lệ bị nhầm công SDriver cải tiến Lần lượt thử nghiệm với truy vấn độc hại, theo dõi trình phát hiện, ngăn chặn, thêm chuỗi ký tự độc hại vào bảng anomaly CSDL ssql Thử nghiệm với truy vấn chứa chuỗi ký tự độc hại lưu bảng anomaly CSDL ssql Theo dõi kết phát hệ thống Sau chi tiết q trình mơ giải thuật đề xuất 43 Tại chế độ huấn luyện, tiến hành thực thi truy vấn hợp lệ Hình 3.6 Tiến hành huấn luyện cho hệ thống Tại chế độ thực thi, tiến hành thử nghiệm sau: Kiểm tra câu truy vấn hợp lệ huấn luyện: hệ thống kiểm tra xác nhận khn mẫu ( khóa MD5) có bảng signatures CSDL ssql, cho phép qua, kết nối CSDL người dùng Kết hình 3.7 Hình 3.7 Hệ thống khơng phát bất thường Kiểm tra câu truy vấn hợp lệ bị nhận công SDriver: Hệ thống hoạt động rút gọn chuỗi thích câu truy vấn, không ảnh hưởng đặc trưng cấu trúc câu Sau xác nhận, truy vấn kết nối đến CSDL người dùng 44 Hình 3.8 Hệ thống nhận định câu truy vấn hợp lệ Truy vấn kiểm tra là: “Select * from USER_ACCOUNT where USER_NAME = 'admin'/*login*/ and PASSWORD = 'abc123'” Đây truy vấn hợp lệ, “ /*login*/” bỏ trình rút gọn truy vấn Chuỗi truy vấn sau rút gọn kết hợp với Stack Trace sinh khuôn mẫu hợp lệ, khớp với liệu bảng signatures CSDL ssql Kiểm tra tương tự với mẫu bên dưới, hệ thống xác nhận hợp lệ “Select * from USER_ACCOUNT where USER_NAME = 'admin'/*login*//*login*/ and PASSWORD = 'abc123'” Như vậy, mô phỏng, hệ thống huấn luyện cho mẫu truy vấn – khơng có thành phần thích với việc rút gọn chuỗi thích, hệ thống phát câu truy vấn hợp lệ mà không cần phải huấn luyện thêm Kiểm tra với truy vấn độc hại: để đảm bảo giải thuật đề xuất rút gọn số lượng chuỗi cặp nháy đơn lấy chuỗi ký tự độc hại lưu vào CSDL ssql – bảng anomaly Trường hợp với kỹ thuật tautologies : nhập “/*admin' or 1=1 -*/” vào trường Username, Password tùy chọn 45 Hình 3.9 Hệ thống phát tautologies sử dụng thích Hình 3.9 cho thấy, hệ thống phát chuỗi công dùng tautologies kết hợp lồng dấu thích /* */ Việc loại bỏ thành phần thích câu truy vấn hợp lý Ngoài ra, hệ thống phát chuỗi ký tự công trường Username Sau chuẩn hóa, hệ thống tiến hành lưu chuỗi “or1=1 */” vào bảng anomaly CSDL ssql Hình 3.10 Hệ thống phát Union sử dụng thích Kỹ thuật sử dụng truy vấn Union: nhập “/*' union select * from USER_ACCOUNT */” vào trường Username, Password tùy chọn 46 Tương tự với trường hợp tautologies, với Union kết hợp với thích, hệ thống phát lấy đc chuỗi độc hại lưu vào bảng anomaly CSDL ssql Chuỗi ký tự công xác định chuẩn hóa lại thành “unionselect*fromuser_account */” Kết chi tiết hình 3.10 Kỹ thuật truy vấn Piggy-Backed: nhập “admin/*'; shutdown -*/” vào trường Username, Password tùy chọn Hình 3.11 Hệ thống phát Piggy-Backed sử dụng thích Hệ thống phát cống sử dụng Piggy-Backed kết hợp với thích Chuỗi ký tự độc hại “;shutdown */” lưu vào bảng anomaly CSDL ssql Chi tiết hình 3.11 Kiểm tra kẻ công tiêm nhiễm trường password: Nhập “admin” vào trường Username, Password nhập “dd’ or ‘1’=’1” Hệ thống phát chuỗi ký tự cống “or1=1” lưu vào bảng anomaly CSDL ssql Kết chi tiết hình 3.12 Kết cho thấy giải thuật đề xuất hoàn thành việc phát chuỗi ký tự công tiêm nhiễm SQL chuỗi liệu người dùng nhập vào Ở hai trường liệu Username Password Bên cạnh đó, chuỗi ký tự cơng lưu vào vào bảng anomaly CSDL ssql – Hình 3.13 Dữ liệu bảng anomaly 47 Hình 3.12 Hệ thống phát chuỗi công trường Password Dữ liệu bảng anomaly CSDL ssql Hình 3.13 Dữ liệu bảng anomaly Tiếp theo, hệ thống có chức phát hiện, ngăn chặn truy vấn công có chứa chuỗi ký tự lưu bảng anomaly CSDL ssql Kiểm tra với ví dụ tautologies sử dụng thích, nhập “/*admin' or 1=1 */” vào trường Username, Password tùy chọn Do chuỗi “or1=1 */” có bảng anomaly, hệ thống phát khớp chuỗi ký tự công, ngăn chặn thông báo công - Như vậy, qua loạt mơ phỏng, giải thuật đề xuất có hiểu việc ngăn chặn công tiêm nhiễm SQL Các dạng cơng tautologies, Union, 48 Hình 3.14 Phát công dựa vào liệu bảng anomaly Piggy-Backed kết hợp với thích bị ngăn chặn Ngồi ra, hệ thống giải thuật đề xuất lọc chuỗi ký tự độc hại câu truy vấn công, thêm vào tập chuỗi độc hại bảng anomaly Hệ thống phát công tiêm nhiễm SQL dựa vào liệu bảng 3.4 Đánh giá hoạt động giải thuật đề xuất 3.4.1 Đánh giá chi phí Chi phí hoạt động giải thuật đề xuất đánh giá dựa đánh giá chi phí triển khai, cài đặt hiệu hệ thống Giải thuật đề xuất xây dựng dựa SDriver nên có số đặc điểm tương tự Giải thuật đề xuất cần thực thêm đoạn code để chuyển kết nối ứng dụng qua lọc trung gian Ngoài ra, mã nguồn ứng dụng khơng cần thay đổi thêm Giải thuật đề xuất mã nguồn mở giống SDriver Vì mà khơng có phát sinh chi phí cài đặt Về chi phí triển khai, phần nhiều thời gian quan trọng phần huấn luyện Tập liệu khuôn mẫu hợp lệ cần huấn luyện với số lượng lớn tốt Vì mà dẫn đến việc tiêu tốn chi phí huấn luyện chi phí mua, sử dụng phần mềm hỗ trợ huấn luyện, chi phí nhân cơng Về hiệu năng, hiệu giải thuật đề xuất SDRiver cải tiến kiểm thử hệ thống sau so sánh với Cấu hình máy tính sử dụng để thử nghiệm là: 49 Cấu hình máy tính: Bộ vi xử lý Intel® Core i5-7200U 2.50 – 2.70 Ghz, Ram 4GB, SSD Kingston 240 GB Môi trường: Java SE Develop Kit 8, Windows 10 Pro 64bit CSDL: MySQL version 5.7 Kết thu thể bảng 3.1 Chế độ Huấn luyện Thực thi Bảng 3.1 thể thời gian thực thi câu truy vấn, đơn vị mili giây (ms), Tỷ lệ tính % thời gian sử dụng hai giải pháp Về bản, giải thuật đề xuất tiến hành thêm bước loại bỏ chuỗi thích không cần thiết nên thời gian tạo khuôn mẫu không thay đổi nhiều Tiếp theo liệu bảng signatures bảng anomaly đánh giá không lớn nên thời gian tìm kiếm CSDL ssql khơng đáng kể Vì vậy, thời gian thực thi hai bên tương đương 3.4.2 Đánh giá độ xác Đánh giá độ xác giải thuật đề xuất SDriver cải tiến thực thông qua việc sử dụng công cụ Burp Suite Pro V 2.1.04 Hình 3.15 Giao diện Burp Suite 50 Muốn thực kiểm tra công tiêm nhiễm SQL với Burp Suite, trước hết cần phải thực cấu hình để Burp Suite bắt thơng tin GET POST web Trên cơng cụ, cấu hình proxy 127.0.0.1 port 6666 tương tự cấu hình trình duyệt Sau thực đăng nhập web, cơng cụ bắt thông tin sử dụng cho công tiêm nhiễm SQL Hình 3.16 Ví dụ lấy thơng tin POST Burp Suite Pro có tập hợp payload, mẫu dùng cho công tiêm nhiễm SQL Dựa thơng tin POST thu được, thực công tiêm nhiễm vào trường userName trường password với 268 trường hợp khác Kết giải thuật đề xuất SDriver cải tiến phát 268 trường hợp công Tỷ lệ phát công tiêm nhiễm SQL 100% với hai phương pháp Chi tiết bảng 3.2 Với kiểm thử phát nhầm truy vấn hợp lệ thành công, tập hợp mẫu khách quan chưa xây dựng nên thực với trường hợp tương tự phần 3.1 Giải thuật đề xuất khắc phục lỗi phát nhầm SDriver cải tiến Bảng 3-2 Kết ngăn chặn công tiêm nhiễm SQL Ứng dụng web SimpleWebApp 51 3.4.3 Một số hạn chế Giải thuật đề xuất thực lọc bỏ chuỗi ký tự độc hại câu truy vấn SQL Như kết mô phỏng, hệ thống lấy xác chuỗi ký tự độc hại Tuy nhiên, việc xử lý, giới hạn hay lọc bỏ chuỗi nhập người dùng thường thực mức ứng dụng web level mang lại hiệu nhiều mức Vì mà chế tìm, lọc chuỗi ký tự độc hại giải thuật đề xuất có hạn chế Trước hết ,câu truy vấn thực áp dụng chế lọc phải có dạng sau: “… WHERE USER_NAME = AND PASSWORD =” Với truy vấn có nhiều hai phần nhập liệu người dùng vào xảy lỗi Ngoài ra, phương thức lấy chuỗi sử dụng dấu “=” chữ “AND” làm cố định Nếu trường hợp kẻ công thêm “‘AND” vào trường USER_NAME khiến cho chương trình chạy không 3.5 Kết chương Nội dung chương làm rõ SDriver cải tiến có khả phát nhầm câu truy vấn hợp lệ thành công trình rút gọn, thành phần thích khơng xử lý Chuỗi rút gọn thu chưa đạt độ tổng quát định Giải thuật đề xuất thay đổi chế rút gọn nhằm tiến hành loại bỏ thành phần thích Ngồi ra, giải thuật tiến hành lọc chuỗi ký tự độc hại chuỗi ký tự người dùng nhập vào Một bảng gọi anomaly chứa chuỗi ký tự thêm vào CSDL ssql Dữ liệu anomaly sử dụng để phát hiện, ngăn chặn công tiêm nhiễm SQL bên cạnh khớp mẫu hợp lệ Mô giải thuật đề xuất đánh giá kết Giải thuật đề xuất đánh giá qua so sánh với SDriver cải tiến Về hiệu năng, thời gian huấn luyện với truy vấn hợp lệ, thời gian phát truy vấn công hai phương pháp tương đương Chi phí triển khai khơng nhiều dùng mã nguồn mở Mã nguồn ứng dụng không cần thay đổi nhiều Về độ xác, hai phương pháp phát xác truy vấn cơng Giải thuật đề xuất khắc phục lỗi phát nhầm truy vấn hợp lệ thành truy vấn công SDriver cải tiến 52 KẾT LUẬN Sau thời gian tìm hiểu thực đề tài: “Chống cơng SQL injection sử dụng khuôn mẫu tổng quát”, luận văn trình bày hai phương pháp phát hiện, ngăn chặn công tiêm nhiễm SQL SDriver SDriver cải tiến Trong đó, luận văn trường hợp nhận nhầm liệu hợp lệ thành liệu công, phương thức lấy chuỗi để hỗ trợ SDriver cải tiến không mang nhiều ý nghĩa Luận văn đưa giải thuật mới, khắc phục lỗi phát nhầm truy vấn hợp lệ thành công mà không làm giảm tỷ lệ phát xác cơng tiêm nhiễm hiệu chương trình Ngồi ra, giải thuật đề xuất lọc chuỗi công độc hại liệu người dùng nhập vào thêm vào tập liệu mẫu độc hại Nhìn chung, luận văn đưa khuyến nghị để tăng khả xác việc phát hiện, ngăn chặn công tiêm nhiễm SQL lọc SDriver Tuy nhiên luận văn hạn chế nêu phần 3.4.3 chưa đưa đánh giá có tính thuyết phục hơn, mở rộng ứng dụng web thực tế, mở rộng số lượng câu truy vấn, áp dụng với truy vấn có độ phức tạp cao Hướng phát triển tiếp theo: Nội dung luận văn phát triển theo hướng sau: Tiếp tục nghiên cứu khắc phục điểm hạn chế Nghiên cứu để cải thiện tính xác hệ thống 53 TÀI LIỆU THAM KHẢO Tiếng Việt Nguyễn Thanh Liêm, “Chống công tiêm nhiễm SQL sử dụng khuôn mẫu hợp lệ theo bối cảnh”, Luận văn thạc sỹ chuyên ngành Truyền liệu Mạng máy tính, Đại học Cơng nghệ - Đại học Quốc Gia Hà Nội, 2017 [1] Tiếng Anh Dimitris Mitropoulos and Diomidis Spinellis (2009), “SDriver: LocationSpecific Signatures Prevent SQL Injection Attacks”, Computer & Security, Volume 28, pp 121-129 [2] Open Web Application Security Project (2017), OWASP Top 10 - 2017 The Ten Most Critical Web Application Security Risks, [3] SQL Injection Tutorial: https://www.w3resource.com/sql/sql-injection/sqlinjection.php [4] Khaleel Ahmad*, Jayant Shekhar and K.P Yadav, “Classification of SQL Injection Attacks”, VSRD-TNTJ, Vol I (4), 2010, 235-242 [5] Inyong Lee, Sangsoo Yeo, Soonki Jeong, Jongsub Moon (2012), “A novel method for SQL injection attack detection based on removing SQL query attribute values”, Mathematical and Computer Modelling, Volume 55, pp 5868 [6] ... tích mã 23 CHƯƠNG 2: MỘT SỐ PHƯƠNG PHÁP CHỐNG TẤN CÔNG TIÊM NHIỄM SQL SỬ DỤNG KHUÔN MẪU TỔNG QUÁT 2.1 Phương pháp chống công tiêm nhiễm SQL sử dụng khuôn mẫu hợp lệ theo bối cảnh, SDriver 2.1.1... 1: Tổng quan công tiêm nhiễm SQL Chương đề cập tổng quan công tiêm nhiễm SQL, cách thức cơng, phương pháp phịng chống cách tổng quát Chương 2: Một số phương pháp chống công tiêm nhiễm SQL sử dụng. .. 16 1.3 Các phương pháp ngăn chặn công tiêm nhiễm SQL 18 1.4 Kết chương 21 CHƯƠNG 2: MỘT SỐ PHƯƠNG PHÁP CHỐNG TẤN CÔNG TIÊM NHIỄM SQL SỬ DỤNG KHUÔN MẪU TỔNG QUÁT 23