NGHIÊN CỨU VÀ XÂY DỰNG CÁC BIỆN PHÁP BẢO MẬT TRƯỚC TẤN CÔNG SQL INJECTION Sinh viên thực hiện: Nghiêm Đức Hải – AT160516 Vũ Huy Đoàn – AT160512 Nguyễn Văn Điệp – AT160511 Nhóm 98 Giảng viên hướng dẫn: TS. Nguyễn Đào Trường Khoa Công nghệ thông tin – Học viện Kỹ thuật mật mã SQL INJECTION +, đầy đủ chi tiết +, có phần demo+,được làm một cách chuyên nghiệp +, được dánh giá tốt từ giáo viên
HỌC VIỆN KỸ THUẬT MẬT MÃ KHOA AN TỒN THƠNG TIN NGHIÊN CỨU VÀ XÂY DỰNG CÁC BIỆN PHÁP BẢO MẬT TRƯỚC TẤN CÔNG SQL INJECTION Sinh viên thực hiện: Giảng viên hướng dẫn: Nghiêm Đức Hải – AT160516 Vũ Huy Đồn – AT160512 Nguyễn Văn Điệp – AT160511 Nhóm 98 TS Nguyễn Đào Trường Khoa Công nghệ thông tin – Học viện Kỹ thuật mật mã Thực tập sở GVHD:TS.Nguyễn Đào Trường MỤC LỤC NHẬN XÉT VÀ CHO ĐIỂM CỦA GIÁO VIÊN Thực tập sở GVHD:TS.Nguyễn Đào Trường Thực tập sở Trường GVHD:TS.Nguyễn Đào LỜI MỞ ĐẦU Tính cấp thiết đề tài Sự phát triển vượt bậc công nghệ web đem lại nhiều thuận lợi cho người sử dụng nhà phát triển Nhưng với phát triển ứng dụng web trở thành mục tiêu ưu thích kể cơng 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 khơng thể thực khó thực hiện, chiếm quyền điều khiển trang web Mục tiêu hacker khác nhau, cơng xuất phát từ thiện chí, nhằm tìm điểm yếu thông báo cho nhà quản trị hệ thống Nghiêm trọng công để phục vụ cho mục đích xấu tống tiền trang web, lấy cắp liệu nhạy cảm thông tin thẻ tín dụng, mua hàng thơng qua tài khoản người khác Trong hình thức cơng công cách chèn mã lệnh (injection) phổ biến Tấn công website kỹ thuật SQL injection từ lâu mối quan tâm bảo mật hàng đầu nhà phát triển web chủ sở hữu website Giờ đây, công ngày trở nên khó phát ngăn chặn Số lượng vụ công nhằm vào sở liệu (CSDL) web lên tới số kỷ lục Tháng năm 2006, theo số liệu thống kê hãng bảo mật SecureWorks cho biết phát tới 8.000 vụ công lên sở liệu ngày Như vậy, số tăng thêm trung bình từ 100 đến 200 vụ cơng ngày so với số tháng đầu năm 2006 Con số SecureWorks thống kê từ hệ thống sở liệu 1.300 khách hàng sử dụng giải pháp dịch vụ bảo mật hãng -6- Thực tập sở Trường GVHD:TS.Nguyễn Đào SecureWorks cho biết tin tặc - chủ yếu sử dụng máy tính Nga, Trung Quốc, Brazill, Hungary Hàn Quốc dùng chung phương pháp có tên SQL Injection vụ công vào sở liệu Một vụ cơng SQL Injection tiếng vụ công vào CardSystems Solutions-một hãng chuyên lưu trữ sở liệu tốn thẻ tín dụng Tin tặc sử dụng giải pháp công SQL Injection để chiếm quyền điều khiển hệ thống sở liệu CardSystems chuyển toàn sở liệu ngồi Đã có khoảng 40 triệu thẻ tín dụng rơi vào tay chúng gây thiệt hại hàng triệu USD SQL Injection kiểu cơng có mục tiêu cụ thể thường mục tiêu đơn lẻ cho vụ cơng Chính mà vụ công thường không gây ý rộng rãi virus hay sâu máy tính Âm thầm thiệt hại vụ công lại lớn Nếu máy chủ sở liệu bị tin tặc chiếm quyền kiểm sốt có khối lượng lớn thơng tin cá nhân tài người dùng rơi vào tay chúng Và thành cơng nói nguồn thơng tin mà tin tặc thu nhiều nhiều so với công phishing Tin tặc công giả mạo để lừa người sử dụng cung cấp thông tin cá nhân tài Tỉ lệ thành cơng vụ công SQL Injection thường cao Vào tháng năm 2011, Công ty bảo mật web Armorize thông báo phát kiểu công với cách thức SQL injection hàng loạt Kiểu công lợi sử dụng hình thức đơn giản mạng ngang hàng (peer-topeer) để làm cho mạng bị tổn hại khó gỡ xuống Về mặt lịch sử, công web hàng loạt đơn giản: Mã viết ngơn ngữ truy vấn có cấu trúc (SQL) gửi đến sở liệu web phụ trợ (back-end) nhờ sử dụng lỗ hổng mã website Khi lỗ hổng bảo mật nằm ứng -7- Thực tập sở Trường GVHD:TS.Nguyễn Đào dụng thơng thường, cơng làm hại hàng ngàn website lúc Trong phiên kiểu cơng, thay chèn vào website đoạn mã lệnh tĩnh đơn trỏ trình duyệt truy cập đến số website tải mã độc hại, kẻ công tạo đoạn mã lệnh động dẫn khách truy cập tới máy chủ web bị xâm nhập từ trước Kỹ thuật làm cho việc lập danh sách đen (blacklisting) khó khăn nhiều Trên thực tế phát triển mạnh mẽ giờ, ngày công nghệ thông tin kiểu công hacker ngày tỉnh vi, phức tạp khó ngăn chặn Xuất phát từ lý trên, nhóm em chọn đề tài “ công kiểu SQL injection tác hại phòng chống” làm đề tài nghiên cứu Mục tiêu đề tài Giúp hiểu ứng dụng website, mối đe dọa vấn đề an tồn thơng tin làm việc ứng dụng web hàng ngày, hiểu rõ kỹ thuật công bảo mật web Xác định nguyên nhân,nhận diện xác đối tượng động cơ,cách thức kể công xâm nhập vào sở liệu.Xác định mục tiêu,mối nguy hiểm thường trực an ninh ứng dụng web tổ chức Hiểu rõ khái niệm sql injection phương thức hoạt động hacker thông qua lỗ hổng Biết sử dụng phương pháp công cụ để kiểm tra an ninh bảo mật ứng dụng web nhằm có cách phịng chống hiệu Đối tượng nghiên cứu Tìm hiểu kỹ thuật cơng sql injection Cách bảo mật phịng thủ kiểu cơng cách tổng quan Phương pháp nghiên cứu Tiếp cận ngôn ngữ truy vấn SQL -8- Thực tập sở Trường GVHD:TS.Nguyễn Đào Nghiên cứu kiểu công sql injection cách phòng chống chúng Ý nghĩa khoa học thực tiễn đề tài Theo tài liệu Hacking Exposed Web đánh giá mức độ phổ biến phương pháp công sql injection cao(8/10), đơn giản để thực hiện, lỗ hổng bảo mật phổ biến nhất, xác suất gặp lỗi cao tác động SQL injection tới hệ thống nguy hiểm(9/10) Chính thế, nên tổng nguy đánh giá 9/10.Dễ công, phổ biến, gây hậu nghiêm trọng, lý inject nằm vị trí đầu bảng top 10 lỗ hổng bảo mật OWASP Đây thật lỗ hổng bảo mật đáng quan tâm Dựa vào lỗi SQL injection, hacker làm việc sau: - Có thể thêm, sử, xóa sở liệu đối tượng bị công theo ý muốn - Có thể tạo backdoor cho lần cơng sau - Có thể đánh sập hồn tồn hệ thống - Có thể sử dụng phương pháp công DoS Các công SQL injection thường nhắm đến sở liệu mang tính thương mại, website thành phố chí website phủ, hầu hết website bị công thuộc loại đáng tin cậy, hợp pháp an toàn tuyệt đối mắt người dùng Xuất phát từ thực tế việc nghiên cứu đề tài hoàn toàn cấp thiết Bố cục nội dung Lời mở đầu Chương 1: Cơ sở lý thuyết -9- Thực tập sở Trường GVHD:TS.Nguyễn Đào Chương 2: Các cách công phổ biến cách phòng chống sql injection Chương 3: Kết thực nghiệm Tài liệu tham khảo -10- Thực tập sở Trường GVHD:TS.Nguyễn Đào CHƯƠNG CƠ SỞ LÝ THUYẾT 1.1 Tổng quan web an ninh web 1.1.1 Khái niệm ứng dụng web Ứng dụng Web ứng dụng máy chủ/máy khách sử dụng giao thức HTTP để tương tác với người dùng hay hệ thống khác Trình duyệt Web dành cho người dùng Internet Explorer Firefox hay Chrome, người dùng gửi nhận thông tin từ máy chủ Web thông qua việc tác động vào trang Web Các ứng dụng Web trang trao đổi mua bán, diễn đàn, gửi nhận email, games online, Với công nghệ nay, website không đơn giản trang tin cung cấp tin đơn giản Những ứng dụng web viết web không gọi phần website nữa, chúng gọi phần mềm viết web Có nhiều phần mềm chạy web Google Word (xử lý file văn bản), Google spreadsheets (xử lý tính bảng tính), Google Translate (từ điển, dịch văn bản), Ngày nay, ứng dụng web phát triển cao, gần người ta sử dụng ứng dụng web xem phim online, nghe nhạc online, chia sẻ mạng xã hội (facebook, zing), chơi games online, ngân hàng trực tuyến, bắt đầu xuất Hacker muốn thu lợi ích phần từ ứng dụng web -11- Thực tập sở Trường GVHD:TS.Nguyễn Đào Hình 1.1 Cấu trúc hệ thống ứng dụng web Hình 1.1 đưa kiến trúc hệ thống cho ứng dụng web ngày Kiến trúc bao gồm ba tầng: Web Browser (trình duyệt web), đóng vai trị giao diện người dùng; Web Application Server (máy chủ ứng dụng web) có chức quản lý logic nghiệp vụ (business logic); Database Server quản lý liệu lưu trữ Web Application Server nhận đầu vào dạng chuỗi từ hai tầng lại: đầu vào người dùng cung cấp từ trình duyệt tập kết từ sở liệu Nó chuyển đầu vào thành đầu dạng chuỗi cho tầng khác: câu truy vấn cho Database Server văn HTML cho trình duyệt máy khách Web Application Server xây dựng mã “động”, mà mã cho tồn ứng dụng web không tồn nơi thời điểm cho thực thể điều chỉnh Luồng liệu tầng làm nảy sinh vấn đề kiểm tra đầu vào (input validation) cho Web Application Server: phải kiểm tra và/hoặc chỉnh sửa chuỗi đầu vào trước tiếp tục xử lý chúng hay biến đổi chúng thành đầu để đưa đến tầng khác thực thi Lỗi kiểm tra hay đầu vào chưa xử lý gây vấn đề bảo mật ứng dụng web -12- Thực tập sở Trường GVHD:TS.Nguyễn Đào Hình 3.16: Sqlmap cơng lấy user password Trường password mã hố MD5 Sqlmap hỗ trợ tìm mã từ điển để check pass ta thu bảng sau: Hình 3.17: Sqlmap giải mã password có từ điển 3.3 Demo phịng chống cơng 3.3.1 Phịng chống từ mức xây dựng mã nguồn ứng dụng Điểm yếu SQL Injection bắt nguồn từ việc xử lý liệu từ người dùng không tốt, vấn đề xây dựng mã nguồn đảm bảo an ninh cốt lõi việc phòng chống SQL Injection a) Làm liệu đầu vào Mơ hình danh sách cho phép – Whitelist -53- Thực tập sở Trường GVHD:TS.Nguyễn Đào Phương pháp đơn giản hiệu để xây dựng mẫu (pattern) hợp lệ sử dụng biểu thức quy (regular expression) Xét số mẫu biểu thức quy áp dụng cho username, password, email sau đây: Username: chứa ký tự chữ cái, chữ số dấu gạch dưới, độ dài tối đa 30 ký tự, tối thiểu ký tự: “^([a-zA-Z0-9]|_){3,30}$” Password: chứa ký tự chữ cái, chữ số, dấu gạch dưới, độ dài tối thiểu 8, tối đa 50: “^([a-zA-Z0-9]|_){8,50}$” Email: chứa ký tự chữ cái, chữ số, dấu gạch dưới, dấu chấm ký tự @ tên, có dạng sau: “^([a-zA-Z0-9]+)([\_\.{1}])?([a-zA-Z0-9]+)\@([a-zAZ0-9]+)([\.])([a-zA-Z\.]+)$” Mơ hình danh sách cấm – blacklist Mơ hình xây dựng nên mẫu input cho nguy hiểm không chấp nhận mẫu Mô hình blacklist hiệu mơ hình whitelist vài lý sau: Số lượng khả xảy input xấu lớn, xét đủ Khó cập nhật mẫu Xét ví dụ mẫu lọc ký tự nguy hiểm thường có truy vấn Mysql: “'|%|#| |;|/*|*/|_|\[|@|sp_” b) Xây dựng truy vấn theo mơ hình tham số hóa -54- Thực tập sở Trường GVHD:TS.Nguyễn Đào Mơ hình xây dựng truy vấn động (dynamic query) thường sử dụng tiềm ẩn nguy SQL Injection, mơ hình xây dựng truy vấn khác sử dụng thay thế, mơ hình có tên gọi truy vấn tham số hóa (parameterized query), đơi cịn gọi truy vấn chuẩn bị sẵn (prepared query) Các truy vấn tham số hóa xây dựng với mục đích xây dựng lần, dùng nhiều lần (mỗi lần sử dụng cần thay đổi tham số, tham số truyền vào lúc thực thi) Khi xây dựng truy vấn tham số hóa, database thực việc tối ưu hóa lần, thực thi, giá trị tham số truyền vào vị trí biến giữ chỗ (placeholder) hay gọi biến ràng buộc (bind variable), truy vấn sau dùng lại khơng cần tối ưu • Ví dụ sử dụng truy vấn động Java "select * from khach_hang" + "where email = '" + email +"'"+ " and matkhau = '" +password +"'" Khi người dùng nhập email = abc password = 1’ or 1=1# câu truy vấn trở thành select * from khach_hang where email = 'abc' and matkhau = '1' or 1=1#' câu truy vấn thực thi lấy tồn thơng tin khách hàng Vậy khí prepared query giúp ta phòng tránh -55- Thực tập sở Trường GVHD:TS.Nguyễn Đào • Ví dụ sử dụng Prepared query Java Sql = "select * from khach_hang where email = ? and matkhau = ?" PreparedStatement ps = conn.prepareStatement(sql); ps.setString(1, email); ps.setString(2, password); Nếu người dùng nhập email = abc password = 1’ or 1=1# câu truy vấn xử lý để tránh gây SQL Injection: select * from khach_hang where email = 'abc' and matkhau = '1'' or 1=1#' c) Không hiển thị exception lỗi, message lỗi Hacker dựa vào message lỗi để phát lỗ hổng từ tìm cấu trúc database Khi có lỗi, ta thơng báo lỗi không hiển thị đầy đủ thông tin lỗi, tránh hacker lợi dụng Hình 3.18: Hiển thị message lỗi Thay vào bắt lỗi hiển thị thông báo kiểm tra lại đầu vào cho người dùng d) Chuẩn hoá liệu Chúng ta đề cập đến số thao tác qua mặt lọc, phương thức phổ biến mã hóa input định dạng gửi cho ứng dụng mà sau -56- Thực tập sở Trường GVHD:TS.Nguyễn Đào input giải mã theo định dạng hacker mong muốn Ví dụ, ta có số cách mã hóa dấu nháy đơn sau: Biểu diễn Hình thức mã hóa %27 Mã hóa URL (URL encoding) %2527 Mã hóa kép URL (double URL encoding), trường hợp dấu % %27 mã hóa %u0027 Biểu diễn dạng ký tự Unicode %u02b9 Biểu diễn dạng ký tự Unicode %ca%b9 Biểu diễn dạng ký tự Unicode ' Thuộc tính HTML ' Thuộc tính HTML dạng hexa ' Thuộc tính HTML dạng decimal 3.3.2 Các biện pháp bảo vệ từ mức tảng hệ thống Các biện pháp phòng chống từ mức tảng hệ thống (platform-level) biện pháp cải tiến thời gian hoạt động (runtime) thay đổi cấu hình cho nâng cao mức độ an ninh tổng thể ứng dụng Một điều cần ghi nhớ, giải pháp mức tảng hệ thống thay cho việc xây dựng mã nguồn ứng dụng an tồn, chúng có tác dụng hỗ trợ Một database cấu hình tốt khơng ngăn chặn SQL Injection khiến chúng gặp khó khăn lợi dụng điểm yếu ứng dụng để khai thác database, lọc an ninh sử dụng tạm thời vá ảo (virtual patch) từ phát lỗ hổng đến đội phát triển ứng dụng khắc -57- Thực tập sở Trường GVHD:TS.Nguyễn Đào phục lỗ hổng Các lọc xây dựng nhanh chóng phòng tránh lỗ hổng giai đoạn zero-day cơng Và khẳng định rằng, an ninh mức tảng thành phần quan trọng chiến lược an ninh tổng thể ứng dụng Các biện pháp bảo vệ database nhằm đề phịng trường hợp xấu, kẻ cơng khai thác điểm yếu, từ điều khiển hoạt động database nhằm ăn cắp liệu làm bàn đạp thâm nhập vào hệ thống bên trong, đằng sau database a) Giới hạn phạm vi ảnh hưởng ứng dụng Các biện pháp chuẩn bị, đề phịng cho tình xấu kẻ cơng thâm nhập vào database: - Cấp quyền ưu tiên tối thiểu cho tài khoản đăng nhập vào database Hủy bỏ quyền PUBLIC: database thường cung cấp số chế độ mặc định cho tất đăng nhập, chế độ có tập mặc định quyền, bao gồm việc truy cập tới số đối tượng thuộc hệ thống Các chế độ công khai cung cấp quyền truy cập tới stored procedure có sẵn, số gói, hàm sử dụng cho mục đích quản trị Vì cần hủy quyền dạng tới mức tối đa - Sử dụng Stored procedure: trường hợp này, stored procedure có vai trị đóng gói quyền ứng dụng cần vừa đủ để thực công việc - Sử dụng thuật tốn mã hóa mạnh để mã hóa lưu trữ liệu nhạy cảm b) Giới hạn phạm vi ảnh hưởng database Các biện pháp mức chuẩn bị, đề phịng cho tình kẻ cơng chiếm quyền điều khiển database: -58- Thực tập sở Trường - GVHD:TS.Nguyễn Đào Khóa quyền truy cập tới đối tượng có đặc quyền, ví dụ tiện ích quản trị, tiện ích thực thi gián tiếp lệnh phía hệ điều hành, tiện ích sinh kết nối tới đối tượng, database khác - Hạn chế truy vấn đặc biệt (ad query): câu lệnh OPENQUERY Mysql ví dụ Việc sử dụng câu lệnh giúp kẻ cơng cướp quyền truy vấn, thực kết nối tới database khác chế độ xác thực lỏng lẻo SELECT *FROM OPENQUERY(OtherServer, 'EXEC db.dbo.MyStoredProcedure ''test'', 100') - Luôn cập nhật vá ứng dụng quản trị database (DBMS) Đây nguyên tắc mà cần tuân thủ, vá khơng cập nhật nhanh có tính đảm bảo cho điểm yếu phát • Ví dụ cấp phân quyền DB cho user dvwa Hình 3.19: Bảng phân quyền cho user dvwa -59- Thực tập sở Trường GVHD:TS.Nguyễn Đào c) Backup liệu thường xuyên Dữ liệu tài sản quý giá cá nhân doanh nghiệp Nếu bạn không muốn hơm tồn liệu lưu máy tính cá nhân, máy tính bảng hay chí điện thoại di động bốc máy bị hỏng hay trộm bạn cần phải back-up liệu Đặc biệt, hệ thống máy chủ ngày cơng ty doanh nghiệp ví dụ điển hình cho câu trả lời cần backup liệu Trong trình thực vận hành lưu trữ cho toàn hệ thống kinh doanh đồ sộ cho doanh nghiệp Các loại máy chủ nơi tổng hợp vô số loại liệu bảo mật quan trọng Chỉ cần cố xảy ổ cứng máy chủ bị hư, sập nguồn gây lỗi liệu, virus mã hóa tồn liệu có nguy bị trắng Lúc này, biện pháp để cứu vãn tình phải phục hồi lại liệu từ nguồn backup (sao lưu) trước - Cách backup database MySQL: Cách 1: Sử dụng phpMyAdmin để lưu khôi phục MySQL Tạo lưu sở liệu MySQL: Bước 1: Mở phpMyAdmin Trên mục bên trái, nhấp vào sở liệu bạn muốn lưu Thao tác mở cấu trúc thư mục cửa sổ bên phải Bạn thấy rằng, thư mục bên trái, tất nội dung sở liệu đánh dấu Bước 2: Nhấp vào Export menu đầu hình Bạn thấy phần có tên “Export Method” Sử dụng Quick để lưu toàn sở liệu Chọn Custom để chọn bảng riêng lẻ tùy chọn đặc biệt khác Đặt trường Format thành SQL -60- Thực tập sở Trường GVHD:TS.Nguyễn Đào Bước 3: Nhấp vào Go Nếu bạn chọn Quick, trình duyệt web bạn tải xuống sở liệu vào thư mục tải xuống định bạn Bạn chép vào vị trí an tồn Khơi phục sở liệu MySQL lưu: Trong phpMyAdmin, công cụ Import sử dụng để khôi phục sở liệu Bước 1: Trên menu phía cùng, nhấp vào Import Bước 2: Phần có nhãn File to import Dưới vài dòng, có dịng bắt đầu “Duyệt máy tính bạn”, với nút có nhãn Choose File Bấm vào nút Bước 3: Sử dụng hộp thoại để điều hướng đến vị trí bạn lưu tệp xuất mà bạn muốn khôi phục Để tất tùy chọn đặt thành mặc định (Nếu bạn tạo lưu với tùy chọn khác nhau, bạn chọn tùy chọn phần mở rộng menu Import.) Bước 4: Nhấp vào Go Cách 2: Sử dụng mysqldump để lưu khôi phục MySQL database Tạo lưu sở liệu MySQL: Bước 1: Để backup sở liệu MySQL cú pháp chung lệnh sau: mysqldump [options] > file.sql Trong đó: • option tùy chọn câu lệnh • File sql tệp sở liệu xuất trình lưu -61- Thực tập sở Trường GVHD:TS.Nguyễn Đào Trong trình lệnh thực thi, bạn nhận yêu cầu nhập username password Ví dụ: dump database dvwa mysqldump -u root -p dvwa > dvwa.sql Bước 2: Tạo file nén lưu database Dùng phần mềm nén file Winrar để nén file định dạng file.sql.zip Khôi phục sở liệu MySQL lưu: Bước 1: Chúng ta sử dụng câu lệnh mysql để khôi phục lại lưu: mysql -u root -p -e "create database database_name"; mysql -u root -p database_name < database_name.sql Dòng lệnh bạn tạo sở liệu có tên database_name Ở dòng lệnh thứ hai bạn thực gán file backup tạo trước vào sở liệu Kết luận: - Như lưu khơi phục liệu MySQL sử dụng phpMyAdmin mysqldump -62- Thực tập sở Trường GVHD:TS.Nguyễn Đào KẾT LUẬN NHỮNG VẤN ĐỀ ĐẠT ĐƯỢC Theo yêu cầu ban đầu là: “Nghiên cứu xây dựng biện pháp bảo mật trước công SQL injection”, thời điểm khóa luận đạt nội dung sau: Tìm hiểu cơng phổ biến SQL injection bao gồm: • Tấn cơng vượt qua kiểm tra đăng nhập • Tấn cơng sử dụng câu lệnh SELECT • Tấn công sử dụng câu lệnh INSERT • Tấn cơng sử dụng Stored-procedures • Tấn cơng sử dụng Blind SQLi Các biện pháp bảo mật SQL injection như: Kiểm soát chặt chẽ liệu đầu vào, sử dụng lớp giao tiếp trừu tượng, thiết lập đối tượng mồi nhử, quản lý liệu nhạy cảm, v v Thực nghiệm số công phịng thủ trước SQLi: • Tấn cơng vượt qua kiểm tra đăng nhập • Tấn cơng sử dụng câu lệnh SELECT UNION • Tấn cơng sử dung INSERT • Tấn cơng Blind SQL injection • Phịng chống từ mức xây dụng mã nguồn ứng dụng • Các biện pháp bảo vệ từ mức tảng hệ thống HƯỚNG PHÁT TRIỂN Trong phạm vi khóa luận tốt nghiệp, khóa luận đạt yêu cầu đề Tuy nhiên, kết khiêm tốn hạn chế tài liệu thời gian Trong thời gian tới, có điều kiện, khóa luận cố gắng phát triển thêm nội dung sau: • Tìm hiểu thêm cách cơng SQL injection mức sau để tìm giải pháp bảo mật phịng chống • Tìm hiểu vấn đề bảo mật trước công SQL injection chi tiết sâu không dừng mức độ bản, nhỏ mà phát triển trước công lớn -63- Thực tập sở Trường GVHD:TS.Nguyễn Đào • Triển khai nhiều thử nghiệm cơng phịng chống -64- Thực tập sở Trường GVHD:TS.Nguyễn Đào TÀI LIỆU THAM KHẢO TIẾNG VIỆT [1] Lê Duy Bình, khoa Cơng Nghệ thơng tin Đại Học Khoa Học Tự Nhiên Tp.HCM “Báo cáo cơng injection – tác hại phịng tránh”: https://tailieu.vn/doc/tan-cong-kieu-sql-injection-tac-hai-va-phong-tranh519852.html [2] https://quantrimang.com/tim-hieu-ve-cac-ung-dung-web-35586 [3] Thực trạng an ninh mạng: - “ Tạp chí ngân hàng “: https://tapchinganhang.gov.vn/nhung-xuhuong-ve-an-ninh-mang-nam-2022.htm - “Trường đại học an ninh nhân dân “: http://dhannd.edu.vn/dam-baoan-ninh-mang-trong-tinh-hinh-hien-nay-a-898 NƯỚC NGOÀI [4] Information Security The Complete Reference 2ND Edition (Part V, chapter 26) [5] https://viblo.asia/p/blind-sql-injection-la-gi-blind-injection-khac-voi-cac- loai-sql-injection-khac-nhu-the-nao-3Q75wX0DKWb [6] https://owasp.org/www-community/attacks/Blind_SQL_Injection [7] https://portswigger.net/web-security/sql-injection [8] https://www.hackingarticles.in/exploiting-sql-injection-nmap-sqlmap/ -65- Thực tập sở Trường GVHD:TS.Nguyễn Đào -66- Thực tập sở Trường GVHD:TS.Nguyễn Đào Hà nội, ngày…tháng… năm 2022 XÁC NHẬN CỦA GIẢNG VIÊN HƯỚNG DẪN TS NGUYỄN ĐÀO TRƯỜNG -67- ... cơng sql injection Cách bảo mật phịng thủ kiểu công cách tổng quan Phương pháp nghiên cứu Tiếp cận ngôn ngữ truy vấn SQL -8- Thực tập sở Trường GVHD:TS.Nguyễn Đào Nghiên cứu kiểu cơng sql injection. .. cơng thực công sâu vào mạng lưới CHƯƠNG CÁC CÁCH TẤN CƠNG PHỔ BIẾN VÀ CÁCH PHỊNG CHỐNG SQL INJECTION -23- Thực tập sở Trường GVHD:TS.Nguyễn Đào 2.1 Các cách công phổ biến Các dạng công phổ biến... có cách công tương ứng vào lỗ hổng gây nhiều tổn thất Vì việc nghiên cứu kỹ thuật công tool nhu cầu tất yếu việc nghiên cứu bảo mật ứng dụng web 1.1.4 Thực trạng an ninh mạng - Gia tăng công vào