Mô phỏng thực nghiệm giải thuật đề xuất

Một phần của tài liệu Chống tấn công SQL injection sử dụng các khuôn mẫu tổng quát (Trang 44 - 50)

CHƯƠNG 3: ĐỀ XUẤT CỦA CHÚNG TÔI

3.3. Mô phỏng thực nghiệm giải thuật đề xuất

Giải thuật đề xuất được xây dựng dựa trên SDriver nên về môi trường mô phỏng cũng tương tự như sau:

Ứng dụng web được xây dựng dựa trên nền tảng JSP và 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 là JBDC

CSDL cho ứng dụng web và SDriver là MySQL. CSDL ứng dụng web là mytestdb, CSDL cho SDriver là ssql.

Các bước chạy mô phỏng thực nghiệm:

1. Đặt chế độ hoạt động là huấn luyện – training mode.

2. Tiến hành huấn luyện các truy vấn hợp lệ.

3. Theo dõi quá trình huấn luyện kết thúc trên ứng dụng web và kiểm tra khuôn mẫu hợp lệ lưu trong bảng signatures của CSDL ssql.

4. Chuyển sang chế độ thực thi – production mode.

5. Lần lượt thử nghiệm các câu truy vấn hợp lệ và theo dõi kết quả.

6. Thử nghiệm với những mẫu hợp lệ nhưng bị nhầm là tấn công trong SDriver cải tiến.

7. Lần lượt thử nghiệm với các truy vấn độc hại, theo dõi quá trình phát hiện, ngăn chặn, thêm chuỗi ký tự độc hại vào bảng anomaly trong CSDL ssql.

8. Thử nghiệm với truy vấn chứa chuỗi ký tự độc hại đã được lưu trong bảng anomaly trong CSDL ssql. Theo dõi kết quả phát hiện của hệ thống.

Sau đây là chi tiết quá trình mô phỏng giải thuật đề xuất.

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, lần lượt tiến hành thử nghiệm như sau:

Kiểm tra câu truy vấn hợp lệ đã được huấn luyện: hệ thống kiểm tra xác nhận khuôn mẫu ( khóa MD5) đã có trong bảng signatures của CSDL ssql, cho phép đi qua, kết nối CSDL người dùng. Kết quả như hình 3.7.

Hình 3.7 Hệ thống không phát hiện ra bất thường

Kiểm tra câu truy vấn hợp lệ nhưng bị nhận là tấn công ở SDriver: Hệ thống hoạt động rút gọn chuỗi chú thích trong câu truy vấn, không ảnh hưởng đặc trưng cấu trúc câu. Sau khi xác nhận, truy vấn đã kết nối đến CSDL người dùng.

Hình 3.8 Hệ thống nhận định đúng câu truy vấn hợp lệ Truy vấn được kiểm tra ở đây là:

“Select * from USER_ACCOUNT where USER_NAME = 'admin'/*login*/ and PASSWORD = 'abc123'”

Đây là một truy vấn hợp lệ, “ /*login*/” đã được bỏ đi trong quá 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 ra khuôn mẫu hợp lệ, khớp với dữ liệu trong bảng signatures của CSDL ssql.

Kiểm tra tương tự với mẫu bên dưới, hệ thống cũng xác nhận hợp lệ

“Select * from USER_ACCOUNT where USER_NAME = 'admin'/*login*//*login*/ and PASSWORD = 'abc123'”

Như vậy, trong mô phỏng, mặc dù hệ thống chỉ được huấn luyện cho mẫu truy vấn đầu tiên – không có thành phần chú thích nhưng với việc rút gọn chuỗi chú thích, hệ thống đã phát hiện đúng 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 những truy vấn độc hại: để đảm bảo giải thuật đề xuất rút gọn đúng số lượng chuỗi trong cặp nháy đơn và lấy được 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.

Hình 3.9 Hệ thống phát hiện tautologies sử dụng cùng chú thích

Hình 3.9 đã cho thấy, hệ thống đã phát hiện được chuỗi tấn công dùng tautologies kết hợp lồng trong dấu chú thích /* */. Việc loại bỏ thành phần chú thích trong câu truy vấn là hợp lý. Ngoài ra, hệ thống cũng đã phát hiện ra được chuỗi ký tự tấn công ở trường Username. Sau khi chuẩn hóa, hệ thống đã tiến hành lưu chuỗi “or1=1--*/” vào trong bảng anomaly của CSDL ssql.

Hình 3.10 Hệ thống phát hiện Union sử dụng cùng chú 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.

Tương tự với trường hợp tautologies, với Union kết hợp với chú thích, hệ thống cũng phát hiện ra và lấy đc chuỗi độc hại lưu vào trong bảng anomaly của CSDL ssql. Chuỗi ký tự tấn công được xác định và chuẩn hóa lại thành

“unionselect*fromuser_account--*/”. Kết quả chi tiết như trong 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 hiện Piggy-Backed sử dụng cùng chú thích

Hệ thống phát hiện ra tấn cống sử dụng Piggy-Backed kết hợp với chú thích.

Chuỗi ký tự độc hại “;shutdown--*/” được lưu vào trong bảng anomaly của CSDL ssql. Chi tiết như hình 3.11.

Kiểm tra khi kẻ tấn công tiêm nhiễm tại trường password: Nhập “admin”

vào trường Username, Password nhập “dd’ or ‘1’=’1”. Hệ thống phát hiện được chuỗi ký tự tấn cống “or1=1” và lưu vào trong bảng anomaly của CSDL ssql. Kết quả chi tiết như hình 3.12.

Kết quả cho thấy giải thuật đề xuất đã hoàn thành việc phát hiện được chuỗi ký tự tấn công tiêm nhiễm SQL ở trong chuỗi dữ liệu do người dùng nhập vào. Ở đây là tại hai trường dữ liệu Username và Password. Bên cạnh đó, những chuỗi ký tự tấn công này cũng được lưu vào vào trong bảng anomaly của CSDL ssql – Hình 3.13 Dữ liệu bảng anomaly.

Hình 3.12 Hệ thống phát hiện chuỗi tấn công tại trường Password Dữ liệu trong bảng anomaly của CSDL ssql.

Hình 3.13 Dữ liệu bảng anomaly

Tiếp theo, hệ thống có chức năng phát hiện, ngăn chặn truy vấn tấn công có chứa chuỗi ký tự được lưu trong bảng anomaly của CSDL ssql. Kiểm tra với ví dụ về tautologies sử dụng cùng chú thích, nhập “/*admin' or 1=1 - */” vào trường Username, Password tùy chọn. Do chuỗi “or1=1--*/”

đã có trong bảng anomaly, hệ thống phát hiện khớp chuỗi ký tự tấn công, ngay lập tức ngăn chặn và thông báo tấn công.

Như vậy, qua một loạt mô phỏng, giải thuật đề xuất đã có hiểu quả trong việc ngăn chặn tấn công tiêm nhiễm SQL. Các dạng tấn công tautologies, Union,

Hình 3.14 Phát hiện tấn công dựa vào dữ liệu bảng anomaly

Piggy-Backed kết hợp với chú thích đều bị ngăn chặn. Ngoài ra, hệ thống của giải thuật đề xuất có thể lọc chuỗi ký tự độc hại trong các câu truy vấn tấn công, thêm vào tập các chuỗi độc hại trong bảng anomaly. Hệ thống có thể phát hiện tấn công tiêm nhiễm SQL dựa vào dữ liệu trong bảng này.

Một phần của tài liệu Chống tấn công SQL injection sử dụng các khuôn mẫu tổng quát (Trang 44 - 50)

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

(55 trang)
w