Nghiên cứu về phát hiện tấn công chèn mã SQL dựa trên phân tích cú pháp câu lệnh

25 6 0
  • Loading ...
1/25 trang

Thông tin tài liệu

Ngày đăng: 02/12/2016, 04:09

Nghiên cứu về phát hiện tấn công chèn mã SQL dựa trên phân tích cú pháp câu lệnhNghiên cứu về phát hiện tấn công chèn mã SQL dựa trên phân tích cú pháp câu lệnhNghiên cứu về phát hiện tấn công chèn mã SQL dựa trên phân tích cú pháp câu lệnhNghiên cứu về phát hiện tấn công chèn mã SQL dựa trên phân tích cú pháp câu lệnhNghiên cứu về phát hiện tấn công chèn mã SQL dựa trên phân tích cú pháp câu lệnhNghiên cứu về phát hiện tấn công chèn mã SQL dựa trên phân tích cú pháp câu lệnhNghiên cứu về phát hiện tấn công chèn mã SQL dựa trên phân tích cú pháp câu lệnh 1 MỤC LỤC DANH MỤC CHỮ VIẾT TẮT DANH MỤC HÌNH VẼ MỞ ĐẦU CHƯƠNG I TỔNG QUAN VỀ TẤN CÔNG CHÈN MÃ SQL VÀ CÁC BIỆN PHÁP PHÒNG CHỐNG 1.1 Khái quát công chèn mã SQL 1.1.1 Giới thiệu công chèn mã SQL 1.1.2 Cơ chế công chèn mã SQL 1.1.3 Các dạng công chèn mã SQL 1.2 Các biện pháp phòng chống công chèn mã SQL 1.2.1 Các biện pháp phòng chống mức lập trình 1.2.2 Các biện pháp phòng chống mức độ tảng 1.3 Kết chương CHƯƠNG II PHÁT HIỆN TẤN CÔNG CHÈN MÃ SQL DỰA TRÊN PHÂN TÍCH CÚ PHÁP CÂU LỆNH 2.1 Khái quát ngôn ngữ SQL cú pháp câu lệnh SQL 2.1.1 Giới thiệu ngôn ngữ SQL 2.1.2 Cú pháp câu lệnh SQL 2.2 Phát công chèn mã SQL dựa phân tích cú pháp câu lệnh 10 2.2.1 Xây dựng đặc tả câu lệnh SQL hợp lệ 10 2.2.2 Bắt câu lệnh SQL từ ứng dụng 11 2.2.3 Phân tích cú pháp câu lệnh 12 2.3 Kết chương 15 CHƯƠNG III THỬ NGHIỆM VÀ ĐÁNH GIÁ 16 3.1 Xây dựng mô hình thử nghiệm 16 3.1.1 Kiến trúc lọc câu lệnh SQL - Database Filter 16 3.1.2 Cài đặt lọc sở liệu 17 3.1.3 Giới thiệu số mô đun chương trình 17 3.2 Một số kết 17 3.2.1 Khởi tạo hệ thống 17 3.2.2 Kịch thử nghiệm công chèn mã 18 3.3 Nhận xét đề xuất 21 3.3.1 Nhận xét 21 3.3.2 Đề xuất 21 3.4 Kết chương 22 KẾT LUẬN 23 TÀI LIỆU THAM KHẢO 25 DANH MỤC CHỮ VIẾT TẮT STT 10 11 12 Từ viết tắt SQL OWASP OS LDAP HTTP JDBC PDO API WAF IDS DML DDL Từ đầy đủ Structured Query Language The Open Web Application Security Project Operation System The Lightweight Directory Access Protocol The Hypertext Transfer Protocol Java Database Connectivity PHP Data Objects Application Program Interface Web Application Firewall Intrusion Detection System Data Manipulation Language Data Definition Language DANH MỤC HÌNH VẼ Hình 2.1: Minh họa đặc tả câu lệnh 10 Hình 2.2: Sơ đồ bố trí lọc CSDL 11 Hình 2.3: Ví dụ phân tích câu truy vấn 12 Hình 2.4: Mô hình hoạt động phân tích cấu trúc truy vấn 12 Hình 2.5: Mô hình phát công chèn mã SQL dựa phân tích cú pháp câu lệnh 14 Hình 3.1: Mô hình lọc sở liệu 16 Hình 3.2: Dòng lệnh thực chạy ứng dụng lọc sở liệu 17 Hình 3.3: Kết phân tích tệp liệu câu truy vấn đầu vào 18 Hình 3.4: Thông tin lọc sở liệu thu 18 Hình 3.5: Thông tin thu lại công chèn mã 19 Hình 3.6: Thông báo lỗi cho người dùng 19 MỞ ĐẦU Tấn công chèn mã nói chung công chèn mã SQL (SQL injection attacks) nói riêng dạng công phổ biến lên máy chủ ứng dụng, gây nhiều hậu nghiêm trọng Tấn công chèn mã SQL dạng công chủ yếu thực website, tin tặc nhúng mã độc SQL vào liệu người dùng, gửi đến máy chủ web thực máy chủ sở liệu (CSDL) ứng dụng web Tùy theo mức độ tinh vi mã độc SQL, công chèn mã SQL cho phép tin tặc vượt qua khâu xác thực người dùng, chèn, sửa, xóa liệu bảng liệu CSDL, đánh cắp thông tin CSDL, chí chiếm quyền điều khiển hệ thống chạy máy chủ CSDL Có hai nguyên nhân công chèn mã SQL: (1) liệu từ người dùng nguồn khác không người lập trình kiểm tra, kiểm tra không đầy đủ, (2) trang web sử dụng câu truy vấn động, đó, mã lệnh SQL gốc ghép với liệu từ người dùng để tạo câu truy vấn gửi đến thực máy chủ CSDL Do tính chất nghiêm trọng công chèn mã SQL, nhiều biện pháp phòng chống dạng công nghiên cứu, đề xuất Có thể chia biện pháp phòng chống công chèn mã SQL thành hướng chính: (1) hướng thực mức lập trình (2) hướng mức tảng Các hướng mức lập trình yêu cầu trực tiếp thực sửa mã website, mã SQL ứng dụng để lọc liệu, để loại bỏ mã độc SQL Các hướng mức tảng thường không yêu cầu trực tiếp sửa mã website, mã SQL ứng dụng, mà thường sử dụng công cụ hệ thống, cài đặt công cụ bổ sung để lọc, phát nguy công chèn mã câu lệnh SQL gửi từ máy chủ web đến máy chủ CSDL Đề tài nghiên cứu thực luận văn theo hướng thứ 2, hướng độc lập với ứng dụng web – không đòi hỏi sửa mã trang web CSDL Luận văn gồm chương sau: Chương – Tổng quan công chèn mã SQL biện pháp phòng chống: giới thiệu khái quát mục đích, chế mô tả chi tiết kiểu công chèn mã SQL Bên cạnh nêu nguy cơ, hậu cho máy chủ web bị công chèn mã SQL Cuối chương trình bày biện pháp phòng chống công chèn mã SQL theo hai hướng cụ thể nhằm giải toán ngăn chặn công SQL Injection Chương – Phát công chèn mã SQL dựa phân tích cú pháp câu lệnh: Nội dung chương giới thiệu khái quát ngôn ngữ SQL nghiên cứu chi tiết cú pháp câu lệnh SQL Từ xây dựng đặc tả câu lệnh SQL hợp lệ nhằm phục vụ việc phân tích cú pháp câu lệnh SQL Bên cạnh chương đưa giải pháp xây dựng lọc có nhiệm vụ bắt câu lệnh SQL vào máy chủ web Chương – Thử nghiệm đánh giá: Chương tập trung vào việc áp dụng giải pháp đề xuất chương hai để xây dựng ứng dụng database filter nhằm chống lại công chèn mã Dựa kết thử nghiệm để đưa đánh giá, nhận xét 7 CHƯƠNG I TỔNG QUAN VỀ TẤN CÔNG CHÈN MÃ SQL VÀ CÁC BIỆN PHÁP PHÒNG CHỐNG 1.1 Khái quát công chèn mã SQL 1.1.1 Giới thiệu công chèn mã SQL 1.1.1.1 SQL Injection SQL injection 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 vào" (inject) thi hành câu lệnh SQL bất hợp 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: vượt qua khâu xác thực, đánh cắp thông tin sở liệu, chèn, xóa, sửa đổi liệu bên sở liệu, chiếm quyền điều khiển hệ thống 1.1.1.2 Mục đích công SQL Injection 1.1.1.3 Hậu công SQL Injection 1.1.2 Cơ chế công chèn mã SQL 1.1.3 Các dạng công chèn mã SQL 1.1.3.1 Tấn công vượt qua kiểm tra đăng nhập 1.1.3.2 Tấn công sử dụng câu lệnh SELECT 1.1.3.3 Tấn công khai thác liệu thông qua toán tử UNION 1.1.3.4 Tấn công truy vấn ngược 1.1.3.5 Tấn công suy diễn thông tin 1.1.3.6 Tấn công mã hóa thay 1.2 Các biện pháp phòng chống công chèn mã SQL 1.2.1 Các biện pháp phòng chống mức lập trình 1.2.1.1 Làm liệu đầu vào 1.2.1.2 Xây dựng truy vấn theo mô hình tham số hóa 1.2.1.3 Chuẩn hóa liệu 1.2.1.4 Mô hình thiết kế mã nguồn tổng quát 1.2.2 Các biện pháp phòng chống mức độ tảng 1.3 Kết chương Chương I giới thiệu tổng quan mục đích, chế mô tả chi tiết kiểu công chèn mã SQL vào máy chủ ứng dụng web Chỉ hậu nghiêm trọng phải gánh chịu công SQL thành công Bên cạnh chương trình bày khái quát kỹ thuật phát ngăn chặn công chèn mã SQL từ mức lập trình đến mức tảng làm sở xây dựng phương án phù hợp để giải toán ngăn chặn công SQL Injection 9 CHƯƠNG II PHÁT HIỆN TẤN CÔNG CHÈN MÃ SQL DỰA TRÊN PHÂN TÍCH CÚ PHÁP CÂU LỆNH 2.1 Khái quát ngôn ngữ SQL cú pháp câu lệnh SQL 2.1.1 Giới thiệu ngôn ngữ SQL SQL (Structured Query Language) ngôn ngữ sử dụng để tổ chức, quản lý truy xuất liệu lưu trữ sở liệu SQL ngôn ngữ lập trình bao gồm tập câu lệnh sử dụng để tương tác với sở liệu quan hệ Các đơn vị điển hình thực SQL 'truy vấn', câu lệnh SQL sửa đổi cấu trúc sở liệu thao tác nội dung sở liệu cách sử dụng DDL (Data Manipulation Language) khác nhau, DML (Data Definition Language) lệnh tương ứng 2.1.2 Cú pháp câu lệnh SQL 2.1.2.1 Cú pháp câu lệnh SELECT 2.1.2.2 Cú pháp câu lệnh INSERT 2.1.2.3 Cú pháp câu lệnh UPDATE 2.1.2.4 Cú pháp câu lệnh DELETE 2.1.2.5 Cú pháp câu lệnh CREATE 2.1.2.6 Cú pháp câu lệnh ALTER 2.1.2.7 Cú pháp câu lệnh DROP 2.1.2.8 Khung nhìn VIEW 10 2.2 Phát công chèn mã SQL dựa phân tích cú pháp câu lệnh 2.2.1 Xây dựng đặc tả câu lệnh SQL hợp lệ Đặc tả câu lệnh SQL hợp lệ thành phần quan trọng việc đánh giá câu lệnh gửi từ ứng dụng web đến sở liệu hợp lệ hay không Trên sở đặc tả, luật định nghĩa để mô tả cấu trúc cú pháp mà câu lệnh SQL hợp lệ phải tuân theo Một yêu cầu đặc tả tính hoàn thiện, tức chúng phải bao gồm luật cho lệnh gửi ứng dụng web Nếu đặc tả không bao phủ hết câu lệnh có ứng dụng web, lỗi phát (cảnh báo sai dương, sai âm) xảy Các đặc tả xây dựng dựa ký hiệu Extended Backus-Naur Form (EBNF).Xem xét ví dụ xây dựng đặc tả câu lệnh: SELECT user_id, full_name, email FROM tbl_users WHERE username = ‘cuong’ AND password = ‘abc12345’ Hình 2.1 minh họa đặc tả tạo cho câu lệnh Các luật đặc tả trình tự hợp lệ thành phần câu lệnh hông có công Hình 2.1: Minh họa đặc tả câu lệnh 11 2.2.2 Bắt câu lệnh SQL từ ứng dụng Thông thường, ứng dụng web cấu hình để gửi thẳng câu lệnh SQL sang máy chủ sở liệu để thực Với máy chủ sở liệu Microsoft SQL Server, ứng dụng web cấu hình để kết nối với máy chủ sở liệu sử dụng chuỗi kết nối (connection string) thông qua cổng TCP 1433 Cổng TCP 1433 cổng chuẩn máy chủ sở liệu Microsoft SQL Server Để lọc sở liệu hoạt động, ứng dụng web cần cấu hình để kết nối gửi câu lệnh SQL đến lọc sở liệu, lọc tiến hành đánh giá câu lệnh nhận Nếu câu lệnh SQL đánh giá hợp lệ chuyển tiếp đến máy chủ sở liệu để thực Ngược lại, câu lệnh SQL đánh giá không hợp lệ ghi log thông báo lỗi thực gửi lại cho ứng dụng web Hình 2.2 minh họa giao tiếp Ứng dụng web, Proxy Máy chủ CSDL, Proxy thành phần trung gian có nhiệm vụ bắt gói tin TCP gửi từ máy chủ web, chuyển thành câu lệnh SQL, so chuyển cho Bộ lọc CSDL kiểm tra, đánh giá câu lệnh SQL Hình 2.2: Sơ đồ bố trí lọc CSDL 12 2.2.3 Phân tích cú pháp câu lệnh 2.2.3.1 Phân tích cú pháp câu truy vấn Phân tích cú pháp câu truy vấn việc phân tích thành phần đại diện ngôn ngữ SQL sử dụng câu truy vấn cấu trúc ngữ pháp từ vựng ngôn ngữ ( ví dụ như: MS-SQL, MySQL ) Hình 2.3: Ví dụ phân tích câu truy vấn Hình 2.4: Mô hình hoạt động phân tích cấu trúc truy vấn 2.2.3.2 Các bước tiến hành phân tích cấu trúc cú pháp câu lệnh Câu truy vấn đầu vào: 13 SELECT * FROM users WHERE username='admin' AND password='123abc' Bước 1: Tách câu truy vấn Tách câu truy vấn thành phần: cấu trúc, danh sách thành phần truy vấn, liệu đầu vào từ người dùng Dữ liệu bao gồm cấu trúc câu truy vấn liệu nhạy cảm câu truy vấn Dữ liệu từ bước thành phần đầu vào bước kiểm tra phát công chèn mã SQL Bước 2: Kiểm tra cấu trúc liệu Kiểm tra cấu trúc: Hỗ trợ lựa chọn thực - Lựa chọn 1: Danh sách cấu trúc câu truy vấn SQL sử dụng trình so sánh cấu trúc câu truy vấn tạo chủ quan theo hiểu biết tham khảo câu truy vấn thông dụng ứng dụng web Với lựa chọn trình kiểm tra cấu trúc chuẩn xác mức tương đối tính chất đa dạng câu truy vấn - Lựa chọn 2: Danh sách cấu trúc câu truy vấn sử dụng ứng dụng nhà phát triển ứng dụng web cung cấp mô đun phân tích cấu trúc bước phân tích thành cấu trúc chuẩn vào lưu vào file sử dụng trình kiểm tra dạng đặc tả trình bày mục 2.2.1 Ở lựa chọn việc kiểm tra cấu trúc phát huy hiệu quả, đảm bảo tính an toàn gần hoàn toàn cho sở liệu 14 Hình 2.5: Mô hình phát công chèn mã SQL dựa phân tích cú pháp câu lệnh Kiểm tra thành phần câu truy vấn: Danh sách cột, bảng câu truy vấn gửi đến máy chủ sở liệu tách bước so sánh với danh sách cột, bảng liệu nhạy cảm không phép truy cập Kiểm tra liệu đầu vào: Dữ liệu đầu vào người dùng bình thường chứa đoạn mã nguy hiểm cần kiểm tra, lọc dựa thư viện lọc liệu chuẩn cung cấp dự án OWASP Bước 3: Kiểm tra kết thúc 15 Nếu trình kiểm tra phát công chèn mã SQL thông tin câu truy vấn, thời gian thực hiện, địa IP ứng dụng web lưu trữ lại để phục vụ trình điều tra, nghiên cứu sau Đồng thời câu truy vấn bị loại bỏ Ngược lại câu truy vấn hợp lệ chuyển đến máy chủ sở liệu để thực 2.3 Kết chương Trong Chương II, luận văn trình bày tổng quan ngôn ngữ SQL với cấu trúc, lệnh sử dụng hệ quản trị sở liệu phương pháp phân tích cấu trúc chúng; đặc tả câu lệnh SQL chuẩn phương pháp để bắt câu truy vấn từ ứng dụng web Trên sở luận văn giới thiệu mô hình phân tích cấu trúc câu truy vấn SQL phương pháp phát công chèn mã SQL dựa phân tích cấu trúc câu truy vấn Trên sở này, Chương III tập trung xây dựng lọc giúp phát công chèn mã SQL dựa phân tích cấu trúc câu truy vấn 16 CHƯƠNG III THỬ NGHIỆM VÀ ĐÁNH GIÁ 3.1 Xây dựng mô hình thử nghiệm 3.1.1 Kiến trúc lọc câu lệnh SQL - Database Filter Mô hình lọc sở liệu thực theo giai đoạn xử lý Giai đoạn 1: Xử lý liệu đầu vào Dữ liệu đầu vào danh sách câu truy vấn chuẩn (Query Template) câu truy vấn ứng dụng web cần bảo vệ sử dụng Giai đoạn 2: Lọc câu truy vấn từ máy chủ ứng dụng web gửi tới máy chủ sở liệu Mỗi gói tin gửi máy tính khác mạng gán địa IP kết nối đến dịch vụ định Các dịch vụ thường định nghĩa theo port đích gán vào trường header gói tin Hình 3.1: Mô hình lọc sở liệu 17 Giai đoạn 3: Đây trình kiểm tra tính đắn câu truy vấn gửi đến máy chủ sở liệu Nếu câu truy vấn đắn gửi đến máy chủ sở liệu để thực ngược lại bị loại bỏ gây lỗi máy chủ không hồi đáp phía máy chủ ứng dụng web 3.1.2 Cài đặt lọc sở liệu 3.1.3 Giới thiệu số mô đun chương trình 3.1.3.1 Mô đun proxy 3.1.3.2 Mô đun phân tích cú pháp 3.2 Một số kết 3.2.1 Khởi tạo hệ thống Hình 3.2: Dòng lệnh thực chạy ứng dụng lọc sở liệu 18 Hình 3.3: Kết phân tích tệp liệu câu truy vấn đầu vào Hình 3.4: Thông tin lọc sở liệu thu 3.2.2 Kịch thử nghiệm công chèn mã 3.2.2.1 Công thức Nhập giá trị vào trường đầu vào: 19 Kết lọc sở liệu: Hình 3.5: Thông tin thu lại công chèn mã Trả thông tin cho người dùng: Hình 3.6: Thông báo lỗi cho người dùng 3.2.2.2 Truy vấn không hợp lệ Nhập giá trị đầu vào: Kết lọc sở liệu: 20 Trả thông tin cho người dùng: 3.2.2.3 Truy vấn phép hợp Nhập giá trị đầu vào: Thông tin trả phía lọc sở liệu: 21 3.3 Nhận xét đề xuất 3.3.1 Nhận xét Với danh sách câu truy vấn cung cấp trước nhà phát triển ứng dụng web, lọc hoạt động tốt hiệu đảm bảo câu truy vấn gửi đến phù hợp với cấu trúc ngữ pháp xây dựng Kết kiểm tra liệu nhạy cảm phụ thuộc vào định nghĩa liệu nhạy cảm Do tính chất phụ thuộc vào đầu vào cung cấp nhà phát triển ứng dụng web nên tính phụ thuộc lọc cao Bù lại, kết phát ngăn chặn hình thức đạt độ an toàn mức cao Trong trường hợp danh sách câu truy vấn không cung cấp trước ứng dụng hoạt động hiệu Mô hình phát chủ yếu dựa vào việc kiểm tra tính sai cấu trúc ngữ pháp dựa vào danh sách liệu nhạy cảm từ khóa nguy hiểm Vấn đề xử lý câu truy vấn có độ trễ cao 3.3.2 Đề xuất Đưa hệ thống lọc câu truy vấn từ ứng dụng web cách thực trình học truy vấn Quá trình ứng dụng web nhà phát triển ứng dụng web chạy môi trường tách biệt (không có công), chức ứng dụng web kiểm tra hoạt động Trong trình kiểm tra câu truy vấn SQL từ ứng dụng web gửi sang máy chủ sở liệu thu thập lại tạo thành mẫu đầu vào cho lọc sở liệu Điều đảm bảo tính tiện lợi cho nhà phát triển ứng dụng web 22 Nên cài đặt ứng dụng lọc sở liệu phần mở rộng hệ thống phát ngăn chặn xâm nhập tường lửa Bổ sung hỗ trợ xử lý đa luồng cho hệ thống nhằm giảm độ trễ lọc 3.4 Kết chương Chương III trình bày chi tiết trình cài đặt thử nghiệm lọc sở liệu dựa phân tích cấu trúc cú pháp câu truy vấn để phát công chèn mã SQL Một số kịch công chèn mã đơn giản thử nghiệm Từ kết thực nghiệm, ta thấy phương pháp có triển vọng, có hiệu để phát công chèn mã SQL Mô hình tiếp tục nghiên cứu, cải thiện, tối ưu ứng dụng hiệu thực tế 23 KẾT LUẬN Kết đạt - Luận văn trình bày khái quát khái quát công chèn mã SQL, chi tiết chế dạng công chèn mã SQL Trong phân tích chi tiết mục đích, phương thức mức độ nghiêm trọng số kiểu công chèn mã SQL gây cho ứng dụng web - Luận văn đưa biện pháp phát ngăn chặn công chèn mã SQL từ mức lập trình đến mức tảng Đặc biệt, luận văn tập trung nghiên cứu sâu phương pháp mô hình phát công chèn mã SQL dựa câu trúc ngữ pháp câu truy vấn - Xây dựng thử nghiệm thành công lọc sở liệu sử dụng phát công chèn mã Từ kết thử nghiệm thu được, đồ án rút ưu điểm, nhược điểm mô hình có hướng phát triển, cải thiện lọc tương lai Hướng phát triển Đề tài luận văn phát triển theo hướng: - Tiếp tục thử nghiệm lọc với nhiều ứng dụng web kết nối đến máy chủ sở liệu Từ đó, ta tinh chỉnh, cài đặt lại ứng dụng cho đạt hiệu cao Chương trình cần tối ưu hóa để tận dụng tối đa hiệu hệ thống phần cứng máy tính mạng Điều có ý nghĩa quan trọng việc đảm bảo tốc độ truy vấn liệu ứng dụng web trải nghiệm người dùng truy cập vào ứng dụng web 24 - Sử dụng phương pháp học truy vấn cho ứng dụng để khả phát công chèn mã ứng dụng đạt hiệu cao - Nghiên cứu kết hợp ứng dụng với phương pháp phát công khác nhằm nâng cao khả phòng thủ cho ứng dụng web 25 TÀI LIỆU THAM KHẢO Kuldeep Kumar, Debasish Jena, and Ravi Kumar, A Novel Approach to detect SQL injection in web applications, International Journal of Application or Innovation in Engineering & Management (IJAIEM), ISSN 2319-4847, Volume 2, Issue 6, June 2013 [2] V Nithya, R Regan and J Vijayaraghavan, A Survey on SQL Injection attacks, their Detection and Prevention Techniques, International Journal Of Engineering And Computer Science, ISSN:2319-7242, Volume 2, Issue 4, April 2013 [1] [3] IndraniBalasundaram and E Ramaraj, An Approach to Detect and Prevent SQL Injection Attacks in Database Using Web Service, International Journal of Computer Science and Network Security, VOL.11 No.1, January 2011 [4] Konstantinos Kemalis and Theodoros Tzouramanis, SQL-IDS: A Specification-based Approach for SQL-Injection Detection, ACM SAC 08, March 16-20, 2008, Fortaleza, Ceara, Brazil [5] Atefeh Tajpour, Suhaimi Ibrahim and Maslin Masrom, SQL Injection Detection and Prevention Techniques, International Journal of Advancements in Computing Technology Volume 3, Number 7, August 2011 [6] M Howard D LeBlanc, Writing Secure Code, tập 2, Microsoft Press,Redmond, Washington, 2003 [7] M F Estiban, “Advanced SQL Injection in Oracle Databases,” Black Hat Briefings, pp 1-30, 2005 [8] C Anley, Advanced SQL Injection In SQL Server Applications, Next Generation Security Software, 2002 [9] J Clarke, SQL attack and Defense, Syngress Publishing, Inc., 2009 [...]... quát về khái quát về tấn công chèn mã SQL, chi tiết về cơ chế và các dạng tấn công chèn mã SQL Trong đó đã phân tích chi tiết về mục đích, phương thức và mức độ nghiêm trọng của một số kiểu tấn công chèn mã SQL gây ra cho ứng dụng web - Luận văn đưa ra các biện pháp phát hiện và ngăn chặn tấn công chèn mã SQL từ mức lập trình đến mức nền tảng Đặc biệt, luận văn tập trung nghiên cứu sâu phương pháp. .. các câu lệnh SQL, so đó chuyển cho Bộ lọc CSDL kiểm tra, đánh giá các câu lệnh SQL Hình 2.2: Sơ đồ bố trí bộ lọc CSDL 12 2.2.3 Phân tích cú pháp câu lệnh 2.2.3.1 Phân tích cú pháp câu truy vấn Phân tích cú pháp câu truy vấn là việc phân tích các thành phần đại diện của ngôn ngữ SQL được sử dụng trong câu truy vấn như cấu trúc ngữ pháp từ vựng của ngôn ngữ ( ví dụ như: MS -SQL, MySQL ) Hình 2.3: Ví dụ phân. .. đặt và thử nghiệm bộ lọc cơ sở dữ liệu dựa trên phân tích cấu trúc cú pháp câu truy vấn để phát hiện tấn công chèn mã SQL Một số kịch bản tấn công chèn mã đơn giản đã được thử nghiệm Từ kết quả thực nghiệm, ta có thể thấy đây là một phương pháp có triển vọng, có hiệu quả để phát hiện ra các cuộc tấn công chèn mã SQL Mô hình này có thể tiếp tục nghiên cứu, cải thiện, tối ưu và ứng dụng hiệu quả hơn trong... phương pháp phát hiện tấn công chèn mã SQL dựa trên phân tích cấu trúc câu truy vấn Trên cơ sở này, Chương III tập trung xây dựng bộ lọc giúp phát hiện tấn công chèn mã SQL dựa trên phân tích cấu trúc câu truy vấn 16 CHƯƠNG III THỬ NGHIỆM VÀ ĐÁNH GIÁ 3.1 Xây dựng mô hình thử nghiệm 3.1.1 Kiến trúc bộ lọc câu lệnh SQL - Database Filter Mô hình bộ lọc cơ sở dữ liệu được thực hiện theo 3 giai đoạn xử... pháp và mô hình phát hiện tấn công chèn mã SQL dựa trên câu trúc ngữ pháp câu truy vấn - Xây dựng và thử nghiệm thành công bộ lọc cơ sở dữ liệu sử dụng trong phát hiện tấn công chèn mã Từ kết quả thử nghiệm thu được, đồ án đã rút ra được ưu điểm, nhược điểm của mô hình và có được những hướng phát triển, cải thiện bộ lọc trong tương lai Hướng phát triển Đề tài của luận văn có thể được phát triển theo... thực hiện 2.3 Kết chương Trong Chương II, luận văn đã trình bày tổng quan về ngôn ngữ SQL với cấu trúc, các lệnh được sử dụng trên hệ quản trị cơ sở dữ liệu và phương pháp phân tích cấu trúc của chúng; các đặc tả của một câu lệnh SQL chuẩn và phương pháp để bắt một câu truy vấn từ ứng dụng web Trên cơ sở đó luận văn giới thiệu mô hình phân tích cấu trúc của câu truy vấn SQL và phương pháp phát hiện tấn. .. Hình 2.5: Mô hình phát hiện tấn công chèn mã SQL dựa trên phân tích cú pháp câu lệnh 2 Kiểm tra thành phần câu truy vấn: Danh sách các cột, bảng trong câu truy vấn gửi đến máy chủ cơ sở dữ liệu tách ra ở bước 1 được so sánh với bộ danh sách các cột, bảng dữ liệu nhạy cảm không được phép truy cập 3 Kiểm tra dữ liệu đầu vào: Dữ liệu đầu vào của người dùng bình thường có thể chứa các đoạn mã nguy hiểm cần... hiểm cần kiểm tra, lọc dựa trên các thư viện lọc dữ liệu chuẩn cung cấp bởi dự án OWASP Bước 3: Kiểm tra kết thúc 15 Nếu trong quá trình kiểm tra phát hiện ra tấn công chèn mã SQL thì mọi thông tin về câu truy vấn, thời gian thực hiện, địa chỉ IP của ứng dụng web đều được lưu trữ lại để phục vụ quá trình điều tra, nghiên cứu về sau Đồng thời câu truy vấn bị loại bỏ Ngược lại nếu câu truy vấn là hợp lệ... thống Hình 3.2: Dòng lệnh thực hiện chạy ứng dụng bộ lọc cơ sở dữ liệu 18 Hình 3.3: Kết quả phân tích tệp dữ liệu câu truy vấn đầu vào Hình 3.4: Thông tin bộ lọc cơ sở dữ liệu thu được 3.2.2 Kịch bản thử nghiệm tấn công chèn mã 3.2.2.1 Công thức hằng đúng Nhập giá trị vào trường đầu vào: 19 Kết quả trên bộ lọc cơ sở dữ liệu: Hình 3.5: Thông tin thu lại khi tấn công chèn mã Trả thông tin về cho người dùng:... vào ứng dụng web 24 - Sử dụng phương pháp học truy vấn cho ứng dụng để khả năng phát hiện tấn công chèn mã của ứng dụng đạt hiệu quả cao nhất - Nghiên cứu kết hợp ứng dụng với các phương pháp phát hiện tấn công khác nhằm nâng cao khả năng phòng thủ cho ứng dụng web 25 TÀI LIỆU THAM KHẢO Kuldeep Kumar, Debasish Jena, and Ravi Kumar, A Novel Approach to detect SQL injection in web applications, International
- Xem thêm -

Xem thêm: Nghiên cứu về phát hiện tấn công chèn mã SQL dựa trên phân tích cú pháp câu lệnh, Nghiên cứu về phát hiện tấn công chèn mã SQL dựa trên phân tích cú pháp câu lệnh, Nghiên cứu về phát hiện tấn công chèn mã SQL dựa trên phân tích cú pháp câu lệnh

Gợi ý tài liệu liên quan cho bạn

Nạp tiền Tải lên
Đăng ký
Đăng nhập