(Luận văn thạc sĩ) 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ĩ) 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ĩ) 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ĩ) 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ĩ) 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ĩ) 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ĩ) 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ĩ) 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ĩ) 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ĩ) 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ĩ) 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ĩ) 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ĩ) 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ĩ) 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ĩ) 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ĩ) 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ĩ) 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ĩ) 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ĩ) 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ĩ) 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ĩ) 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ĩ) Chống tấn công SQL Injection sử dụng các khuôn mẫu tổng quát
ĐẠ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 tơi để đến thành cuối Tuy cố gắng để hồn thiện luận văn này, khơng thể 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 DANH MỤC CÁC KÝ HIỆU VIẾT TẮT STT Ký hiệu Ý nghĩa CSDL Cơ sở liệu DBMS Database Management System – Hệ quản trị sở liệu SQL Ngơn ngữ truy vấn có cấu trúc (Structured Query Language) DANH MỤC CÁC HÌNH VẼ Hình 1.1 Qui trình thực cơng tiêm nhiễm SQL 13 Hình 1.2 Phân loại công tiêm nhiễm SQL 14 Hình 2.1 Kiến trúc đề xuất SDriver [2, tr.5] 23 Hình 2.2 Kiến trúc thực tế Sdriver [2, tr.8] 24 Hình 2.3 Chế độ huấn luyện SDriver 25 Hình 2.4 Chế độ thực thi SDriver 27 Hình 2.5 Ví dụ vai trị stack trace.[1,tr.25] 28 Hình 2.6 Ví dụ cơng tautologies thành cơng 32 Hình 2.7 Ví dụ công UNION thành công 33 Hình 2.8 Ví dụ cơng Piggy-Backed thành cơng 34 Hình 2.9 Cơ chế rút gọn câu truy vấn SDriver cải tiến 36 Hình 3.1 Truy vấn hợp lệ bị nhận nhầm SDriver cải tiến 38 Hình 3.2 Mẫu SQL rút gọn CSDL anomaly – SDriver cải tiến 39 Hình 3.3 Chế độ huấn luyện giải thuật đề xuất 40 Hình 3.4 Chế độ thực thi giải thuật đề xuất 41 Hình 3.5 Cấu trúc bảng Anomaly 42 Hình 3.6 Tiến hành huấn luyện cho hệ thống 43 Hình 3.7 Hệ thống khơng phát bất thường 43 Hình 3.8 Hệ thống nhận định câu truy vấn hợp lệ 44 Hình 3.9 Hệ thống phát tautologies sử dụng thích 45 Hình 3.10 Hệ thống phát Union sử dụng thích 45 Hình 3.11 Hệ thống phát Piggy-Backed sử dụng thích 46 Hình 3.12 Hệ thống phát chuỗi công trường Password 47 Hình 3.13 Dữ liệu bảng anomaly 47 Hình 3.14 Phát công dựa vào liệu bảng anomaly 48 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 BIỂU Bảng 3-1 Thời gian thực thi truy vấn 49 Bảng 3-2 Kết ngăn chặn công tiêm nhiễm SQL 50 39 Hình 3.2 Mẫu SQL rút gọn CSDL anomaly – SDriver cải tiến nháy đơn ‘ ’ Mặc dù việc xử lý chuỗi nhập đầu vào người dùng hợp lý, thuận tiện mức ứng dụng web “vị trí” với SDriver, trung gian ứng dụng web CSDL ứng dụng, việc xử lý, kiểm tra chuỗi đem lại hiệu định Nó hiệu việc kiểm tra, đánh giá chưa thực “vị trí” ứng dụng web 3.2.1 Cơ chế hoạt động Giải thuật tập trung vào xử lý chuỗi cặp nháy đơn chuỗi thích Giải thuật mơ tả sau: Bước 1: Khi câu truy vấn đến, hệ thống xác định chuỗi liệu nhập vào người dùng, lọc chuỗi ký tự nghi ngờ cơng Bước 2: So sánh chuỗi nghi ngờ công với bảng liệu độc hại anomaly Nếu khớp mẫu độc hại, ngăn chặn truy vấn, thông báo công dừng lại Nếu không khớp, chuyển tiếp sang bước Bước 3: Xử lý chuỗi ký tự cặp nháy đơn ‘’, thay chúng thành ‘a’ Như đảm bảo xác định xác số lượng chuỗi, vị trí chuỗi mà ko làm tính tổng quát cấu trúc câu truy vấn Bước 4: Thực rút gọn câu truy vấn kết hợp Stack Trace tạo khuôn mẫu Thứ tự bên đây: - Xóa bỏ ký tự cho thông thường: “+”, “-” “.” - Xóa bỏ chữ số đằng sau phép tốn “< , = , >” 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 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ý Ngồ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ế độ SDriver cải tiến (ms) Giải thuật đề xuất (ms) Tỷ lệ (%) Huấn luyện 4/3 4/3 100% Thực thi 3 100% Bảng 3-1 Thời gian thực thi truy vấn 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 SDriver cải tiến Tấn công tiêm nhiễm SQL Ngăn chặn 268 268 Tỷ lệ (%) 100% Giải thuật đề xuất Ngăn chặn 268 Tỷ lệ (%) 100% 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 q 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 [1] 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 Tiếng Anh [2] Dimitris Mitropoulos and Diomidis Spinellis (2009), “SDriver: LocationSpecific Signatures Prevent SQL Injection Attacks”, Computer & Security, Volume 28, pp 121-129 [3] Open Web Application Security Project (2017), OWASP Top 10 - 2017 The Ten Most Critical Web Application Security Risks, [4] SQL Injection Tutorial: https://www.w3resource.com/sql/sql-injection/sqlinjection.php [5] Khaleel Ahmad*, Jayant Shekhar and K.P Yadav, “Classification of SQL Injection Attacks”, VSRD-TNTJ, Vol I (4), 2010, 235-242 [6] 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 ... 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. .. 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 KHN MẪU TỔNG QT 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 Kiến... 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