Chống tấn công tiêm nhiễm SQL sử dụng các khuôn mẫu hợp lệ theo bối cảnh (tt)

15 169 0
Chống tấn công tiêm nhiễm SQL sử dụng các khuôn mẫu hợp lệ theo bối cảnh (tt)

Đ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

Chống tấn công tiêm nhiễm SQL sử dụng các khuôn mẫu hợp lệ theo bối cảnhChống tấn công tiêm nhiễm SQL sử dụng các khuôn mẫu hợp lệ theo bối cảnhChống tấn công tiêm nhiễm SQL sử dụng các khuôn mẫu hợp lệ theo bối cảnhChống tấn công tiêm nhiễm SQL sử dụng các khuôn mẫu hợp lệ theo bối cảnhChống tấn công tiêm nhiễm SQL sử dụng các khuôn mẫu hợp lệ theo bối cảnhChống tấn công tiêm nhiễm SQL sử dụng các khuôn mẫu hợp lệ theo bối cảnhChống tấn công tiêm nhiễm SQL sử dụng các khuôn mẫu hợp lệ theo bối cảnhChống tấn công tiêm nhiễm SQL sử dụng các khuôn mẫu hợp lệ theo bối cảnhChống tấn công tiêm nhiễm SQL sử dụng các khuôn mẫu hợp lệ theo bối cảnhChống tấn công tiêm nhiễm SQL sử dụng các khuôn mẫu hợp lệ theo bối cảnh

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ NGUYỄN THANH LIÊM CHỐNG TẤN CÔNG TIÊM NHIỄM SQL SỬ DỤNG CÁC KHUÔN MẪU HỢP LỆ THEO BỐI CẢNH Ngành: Công nghệ Thông tin Chuyên ngành: Truyền liệu Mạng máy tính Mã số: Chuyên ngành đào tạo thí điểm TĨM TẮT LUẬN VĂN THẠC SĨ CƠNG NGHỆ THƠNG TIN Hà Nội - Năm 2017 TĨM TẮT LUẬN VĂN THẠC SĨ Đề tài: Chống công tiêm nhiễm SQL sử dụng khuôn mẫu hợp lệ theo bối cảnh Tác giả luận văn: Nguyễn Thanh Liêm Khóa 21 Người hướng dẫn: TS Nguyễn Đại Thọ Từ khóa: SQL injection, SDriver, Chống công tiêm nhiễm SQL Tóm tắt: Luận văn giới thiệu tổng quan công tiêm nhiễm SQL, cách thức công phương pháp ngăn chặn Nghiên cứu kỹ thuật 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 Chỉ vấn đề tồn SDriver đưa đề xuất cải tiến 1 Lý chọn đề tài Tiêm nhiễm SQL kĩ thuật cho phép kẻ công lợi dụng lỗ hổng việc kiểm tra liệu nhập ứng dụng web thông báo lỗi hệ quản trị sở liệu để tiêm nhiễm (inject) thi hành câu lệnh SQL trái phép (không người phát triển ứng dụng lường trước) Hậu tai hại cho phép kẻ cơng thực thao tác xóa, hiệu chỉnh, … có tồn quyền sở liệu ứng dụng, chí server mà ứng dụng chạy Đã có nhiều kỹ thuật ngăn chặn công tiêm nhiễm SQL giới thiệu Trong đó, kỹ thuật 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, kỹ thuật ngăn chặn đơn giản, hiệu chi phí triển khai thấp Tuy vậy, SDriver tồn vấn đề cần khắc phục Tuy phương pháp tồn vấn đề khiến kẻ cơng tiêm nhiễm thành cơng Xuất phát từ thực tế đó, luận văn tập trung nghiên cứu: “Chống công tiêm nhiễm SQL sử dụng khuôn mẫu hợp lệ theo bối cảnh” Mục tiêu nghiên cứu đề tài Tìm hiểu cơng tiêm nhiễm SQL, cách thức công phương pháp ngăn chặn Tìm hiểu kỹ thuật 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 Phân tích hoạt động SDriver vấn đề tồn SDriver Đưa đề xuất cải tiến Chạy mô đề xuất đánh giá Đối tượng phạm vi nghiên cứu Đối tượng nghiên cứu: Kỹ thuật 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 Phạm vi nghiên cứu: Cách thức công tiêm nhiễm SQL phương pháp ngăn chặn Nội dung CHƯƠNG TỔNG QUAN VỀ TẤN CÔNG TIÊM NHIỄM SQLCÁC PHƯƠNG PHÁP PHỊNG CHỐNG Nội dung tồn chương nêu lên kiến thức Tấn công tiêm nhiễm SQL, khái niệm Tấn công tiêm nhiễm SQL, cách thức Tấn công tiêm nhiễm SQL phương pháp ngăn chặn Tấn công tiêm nhiễm SQL 1.1 Khái niệm công tiêm nhiễm SQL Tấn công tiêm nhiễm SQL dạng công tiêm nhiễm mã độc mà kẻ công cố gắng khai thác lỗ hổng ứng dụng web để tiến hành tiêm nhiễm mã độc vào câu truy vấn SQL ứng dụng web nhằm truy cập trái phép vào sở liệu đằng sau ứng dụng web Tấn công tiêm nhiễm SQL vô nguy hiểm kẻ cơng khơng ăn cắp liệu chứa thông tin nhạy cảm mà chúng thay đổi liệu, chí kiểm soát máy chủ mà CSDL chạy Tấn công tiêm nhiễm SQL xảy hệ quản trị CSDL quan hệ MySQL, MS SQL, DB2, Oracle… 1.2 Phân loại công tiêm nhiễm SQL Tấn cơng tiêm nhiễm SQL phân loại theo tiêu chí chế tiêm nhiễm, mục đích công kỹ thuật công Cơ chế tiêm nhiễm gồm: tiêm nhiễm thông qua nhập liệu người dùng, tiêm nhiễm thơng qua cookies, tiêm nhiễm second-order Mục đích cơng kẻ cơng xác định tham số tiêm nhiễm, thực tìm vết CSDL, xác định lược đồ CSDL, trích xuất liệu, thêm thay đổi liệu, thực từ chối dịch vụ, Tránh né phát hiện, vượt qua xác thực, thực thi câu lệnh từ xa, thực leo thang đặc quyền Kỹ thuật công phổ biến gồm: tautologies, thích cuối dòng, truy vấn Union, truy vấn Piggy-Backed, suy luận 1.3 Các phương pháp ngăn chặn công tiêm nhiễm SQL Các phương pháp ngăn chặn chủ yếu gồm mã phòng thủ phát ngăn chặn Phương pháp mã thủ có số kỹ thuật điển hình sau: thực hành mã phòng thủ, tham số hóa truy vấn, SQL DOM Phương pháp phát ngăn chặn phân thành loại sau: signature based, anomaly based, code analysis CHƯƠNG PHƯƠNG PHÁP SDRIVER TRONG CHỐNG TẤN CÔNG TIÊM NHIỄM SQL 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 SDriver trình điều khiển chèn vào ứng dụng web trình điều khiển kết nối Bản thân SDriver khơng phải trình điều khiển kết nối mà đóng vai trò lọc Kiến trúc SDriver: Hình 2.1 – Kiến trúc đề xuất SDriver 2.2 Cách thức hoạt động SDriver SDriver có hai chế độ hoạt động chế độ huấn luyện chế độ thực thi Trong chế độ huấn luyện, SDriver xây dựng CSDL khuôn mẫu hợp lệ Trong chế độ thực thi, SDriver đóng vai trò phát ngăn chặn cơng tiêm nhiễm SQL Chế độ huấn luyện: Hình 2.2 – Chế độ huấn luyện SDriver Chế độ thực thi: Hình 2.3 – Chế độ thực thi SDriver SDriver rút bỏ liệu câu truy vấn thu thập thông tin stack strace câu truy vấn Kết hợp hai đặc trưng thu khuôn mẫu hợp lệ tương ứng câu truy vấn 2.3 Stack trace Stack trace gồm thông tin chi tiết tất phương thức vị trí gọi (vị trí dòng lệnh), từ phương thức ứng dụng nơi câu truy vấn thực thi phương thức mục tiêu trình điều khiển kết nối Mỗi câu truy vấn có thơng tin stack trace riêng biệt Stack trace khiến việc giả mạo câu truy vấn hợp lệ trở nên khó khăn 2.4 Mơ hoạt động SDriver Môi trường mô phỏng: ứng dụng web sử dụng để mô xây dựng tản JSP & Servlet Sử dụng Eclipse để biên dịch chạy ứng dụng web, máy chủ web tomcat 8.0, CSDL MySQL 5.7 Hình 2.5 – Kiến trúc thực tế SDriver Chế độ huấn luyện: SDriver tiếp nhận câu truy vấn từ ứng dụng web, thu thập thông tin stack trace rút bỏ liệu câu truy vấn Kết hợp hai đặc trưng câu truy vấn sử dụng hàm băm MD5 để tạo khuôn mẫu hợp lệ tương ứng Nếu CSDL ssql chưa có khn mẫu hợp lệ tương ứng với câu truy vấn tiến hành chèn vào ssql, có khơng thực Chế độ thực thi: Tương tự chế độ huấn luyện, khác biệt chỗ khơng tìm thấy khuôn mẫu hợp lệ tương ứng với câu truy vấn SDriver coi câu truy vấn độc hại ngăn chặn, tìm thấy khn mẫu hợp lệ tương ứng SDriver chuyển tiếp câu truy vấn cho trình điều khiển kết nối Thử nghiệm số kỹ thuật công tiêm nhiễm SQL để quan sát Các công bị phát ngăn chặn CHƯƠNG ĐỀ XUẤT CẢI TIẾN CHỐNG TẤN CÔNG TIÊM NHIỄM SQL SỬ DỤNG KHUÔN MẪU HỢP LỆ THEO BỐI CẢNH 3.1 Phân tích hoạt động SDriver Cũng giống kỹ thuật chống công tiêm nhiễm SQL sử dụng khuôn mẫu hợp lệ khác, SDriver cần phải trích xuất đặc trưng câu truy vấn Trong SDriver đặc trưng câu truy vấn gồm có thơng tin stack trace câu truy vấn rút bỏ liệu Trong trình rút bỏ liệu câu truy vấn, SDriver để lọt mã độc Kẻ cơng lợi dụng lỗ hổng tiêm nhiễm SQL Một vài ví dụ kỹ thuật cơng tiêm nhiễm SQL lợi dụng lỗ hổng SDriver Các công vượt qua SDriver 3.2 Đề xuất cải tiến Các ký tự thơng thường hay chuỗi thích coi đặc trưng riêng câu truy vấn, thân chúng mang phong cách lập trình riêng nhà phát triển Khi loại bỏ chuỗi đầu vào nằm cặp ngoặc đơn thay ký tự đặc biệt Tác dụng điều xác định vị trí số lượng chuỗi bị xóa bỏ Bất kỳ khác biệt vị trí, số lượng chuỗi bị xóa bỏ câu truy vấn gửi từ ứng dụng web với khuôn mẫu hợp lệ coi câu truy vấn độc hại, chế độ thực thi SDriver Chuỗi đầu vào sau bị loại bỏ phải trải qua lần kiểm tra mã độc để đảm bảo không bỏ lọt mã độc CHƯƠNG KẾT QUẢ THỰC NGHIỆM ĐÁNH GIÁ 4.1 Mô thực nghiệm SDriver với chế rút bỏ liệu Môi trường thử nghiệm hoạt động SDriver đề xuất sau: Các bước chạy mô thực nghiệm: Đặt chế độ hoạt động SDriver huấn luyện Chuyển dòng file mode.txt thành “training mode” Lần lượt thực thi câu truy vấn cách chạy chức ứng dụng web Tiến hành quan sát câu truy vấn rút bỏ liệu Khi toàn câu truy vấn có khn mẫu hợp lệ tương ứng CSDL ssql dừng chế độ huấn luyện Chuyển chế độ hoạt động SDriver sang thực thi Chuyển dòng file mode.txt thành “production mode” 10 Lần lượt thực thi câu truy vấn đầu vào hợp lệ Tiến hành quan sát kết Lần lượt thử nghiệm kỹ thuật công vượt qua SDriver Quan sát kết 4.2 Đánh giá hoạt động SDriver đề xuất Đánh giá SDriver đề xuất theo hai tiêu chí hiệu độ xác Đánh giá hiệu hệ thống: Bảng 4.1 Thời gian thực thi truy vấn phiên SDriver Chế độ SDriver cũ SDriver đề xuất Tỷ lệ (ms) (ms) mới/cũ (%) Huấn 15.9375 15.5625 97.64706 3.8125 4.3125 113.1148 luyện Thực thi Bảng 4.1 thể thời gian thực thi câu truy vấn, đơn vị mili giây (ms), SDriver cũ SDriver đề xuất hai chế độ huấn luyện thực thi Cột “Tỷ lệ mới/cũ” thể so sánh tỷ lệ thời gian thực thi câu truy vấn SDriver đề xuất với SDriver cũ Đánh giá độ xác: Sử dụng hai cách thức đánh giá đánh giá công cụ sqlmap đánh giá qua trang web thực tế 11 Công cụ sqlmap: SDriver cũ SDriver đề xuất phát ngăn chặn thành công công tiêm nhiễm SQL Bảng 4.2 Kết ngăn chặn công tiêm nhiễm SQL Ứng dụng Tấn SDriver cũ SDriver đề xuất web công Ngăn Tỷ lệ Ngăn tiêm chặn (%) chặn 101 91,8 110 100% 130 100% 151 100% Tỷ lệ (%) nhiễm SQL EMusic 110 % Book 130 124 store Document 151 95,4 % 145 96% Manager System Bảng 4.2 thể kết phát ngăn chặn công tiêm nhiễm SQL SDriver cũ SDriver đề xuất Cột “tấn công tiêm nhiễm SQL” thể số công thực Cột “ngăn chặn” thể số công mà SDriver ngăn chặn thành công, cột “tỷ lệ” tỷ lệ % ngăn chặn thành công Phương pháp nghiên cứu 12 Nghiên cứu lý thuyết, tiến hành mô thực nghiệm để tìm kiếm vấn đề, cách giải vấn đề, từ đưa đề xuất cải tiến Kết luận hướng phát triển Sau thời gian tìm hiểu thực đề tài: “Chống cơng tiêm nhiễm SQL sử dụng khuôn mẫu hợp lệ theo bối cảnh” Nội dung luận văn đạt kết sau:  Hiểu tổng quan công tiêm nhiễm SQL, cách thức công phương pháp ngăn chặn  Hiểu chế hoạt động kỹ thuật 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, áp dụng thực mô hoạt động SDriver  Phân tích hoạt động SDriver tìm vấn đề tồn SDriver  Đưa đề xuất cải tiến  Chạy mô SDriver với đề xuất cải tiến đưa đánh giá Nhìn chung, luân văn đạt mục tiêu nghiên cứu đề Tuy nhiên luận văn cần phải đưa đánh giá có tính thuyết phục hơn, mở rộng ứng dụng web, mở rộng số lượng câu truy vấn, thực thi câu 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: 13  Tiếp tục nghiên cứu cải tiến hiệu kỹ thuật  Nghiên cứu để triển khai nhiều tảng khác 14 ... thuật 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 Phạm vi nghiên cứu: Cách thức công tiêm nhiễm SQL phương pháp ngăn chặn Nội dung CHƯƠNG TỔNG QUAN VỀ TẤN CƠNG TIÊM NHIỄM... PHÁP SDRIVER TRONG CHỐNG TẤN CÔNG TIÊM NHIỄM SQL 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 SDriver trình điều khiển chèn vào ứng dụng web trình điều... Hiểu tổng quan công tiêm nhiễm SQL, cách thức công phương pháp ngăn chặn  Hiểu chế hoạt động kỹ thuật 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, áp dụng thực mô

Ngày đăng: 18/01/2018, 17:21

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan