Chống Tấn Công Tiêm Nhiễm SQL Sử Dụng Các Khuôn Mẫu Hợp Lệ Tại Đại Học Quốc Gia Hà Nội

Luận văn thạc sĩ nghiên cứu phương pháp chống tấn công tiêm nhiễm SQL bằng các khuôn mẫu hợp lệ theo bối cảnh, nâng cao bảo mật hệ thống.

Trường đại học

Đại học Quốc gia Hà Nội

Chuyên ngành

Công nghệ thông tin

Người đăng

Ẩn danh

Thể loại

luận văn thạc sĩ

2017

54
2
0

Phí lưu trữ

30 Point

Tóm tắt

I. Tổng Quan Về Phương Pháp Chống Tấn Công Tiêm Nhiễm SQL

Tấn công tiêm nhiễm SQL là một trong những mối đe dọa lớn nhất đối với an ninh mạng hiện nay. Tại Đại Học Quốc Gia Hà Nội, việc nghiên cứu và áp dụng các phương pháp bảo vệ là rất cần thiết. Các phương pháp này không chỉ giúp bảo vệ dữ liệu mà còn nâng cao độ tin cậy của hệ thống. Việc hiểu rõ về tấn công tiêm nhiễm SQL và các phương pháp phòng chống sẽ giúp các nhà phát triển ứng dụng web có những biện pháp bảo vệ hiệu quả hơn.

1.1. Khái Niệm Tấn Công Tiêm Nhiễm SQL

Tấn công tiêm nhiễm SQL là một kỹ thuật mà kẻ tấn công lợi dụng lỗ hổng trong ứng dụng web để thực hiện các câu lệnh SQL trái phép. Điều này có thể dẫn đến việc truy cập trái phép vào cơ sở dữ liệu và lấy cắp thông tin nhạy cảm.

1.2. Tầm Quan Trọng Của Bảo Mật Cơ Sở Dữ Liệu

Bảo mật cơ sở dữ liệu là yếu tố quan trọng trong việc bảo vệ thông tin của người dùng. Việc áp dụng các phương pháp bảo vệ hiệu quả sẽ giúp giảm thiểu rủi ro và bảo vệ dữ liệu khỏi các cuộc tấn công tiêm nhiễm SQL.

II. Vấn Đề Và Thách Thức Trong Chống Tấn Công Tiêm Nhiễm SQL

Mặc dù có nhiều phương pháp bảo vệ, nhưng việc chống lại tấn công tiêm nhiễm SQL vẫn gặp nhiều thách thức. Các kẻ tấn công ngày càng tinh vi hơn, và các lỗ hổng trong mã nguồn có thể dễ dàng bị khai thác. Điều này đòi hỏi các nhà phát triển phải liên tục cập nhật và cải tiến các biện pháp bảo vệ.

2.1. Các Lỗ Hổng Thường Gặp Trong Ứng Dụng Web

Nhiều ứng dụng web không kiểm soát đầu vào một cách chặt chẽ, dẫn đến việc kẻ tấn công có thể dễ dàng tiêm nhiễm mã độc vào câu lệnh SQL. Việc này thường xảy ra do thiếu kinh nghiệm trong lập trình hoặc không tuân thủ các quy tắc bảo mật.

2.2. Tính Tinh Vi Của Các Cuộc Tấn Công

Các cuộc tấn công tiêm nhiễm SQL ngày càng trở nên tinh vi hơn, với nhiều kỹ thuật khác nhau được áp dụng. Điều này khiến cho việc phát hiện và ngăn chặn trở nên khó khăn hơn, đòi hỏi các giải pháp bảo mật phải được cải tiến liên tục.

III. Phương Pháp Bảo Vệ SQL Hiệu Quả Tại Đại Học Quốc Gia Hà Nội

Đại Học Quốc Gia Hà Nội đã áp dụng nhiều phương pháp bảo vệ để chống lại tấn công tiêm nhiễm SQL. Các phương pháp này bao gồm mã phòng thủ và phát hiện tấn công. Việc kết hợp các phương pháp này sẽ tạo ra một lớp bảo vệ vững chắc cho hệ thống.

3.1. Mã Phòng Thủ Trong Phát Triển Ứng Dụng

Mã phòng thủ là một trong những phương pháp hiệu quả nhất để ngăn chặn tấn công tiêm nhiễm SQL. Việc kiểm soát đầu vào và mã hóa dữ liệu là những kỹ thuật quan trọng trong việc bảo vệ ứng dụng.

3.2. Phát Hiện Và Ngăn Chặn Tấn Công

Các hệ thống phát hiện tấn công có thể giúp nhận diện và ngăn chặn các cuộc tấn công tiêm nhiễm SQL ngay từ đầu. Việc sử dụng các công cụ phát hiện tự động sẽ giúp giảm thiểu rủi ro cho hệ thống.

IV. Ứng Dụng Thực Tiễn Của Phương Pháp Chống Tấn Công SQL

Việc áp dụng các phương pháp chống tấn công tiêm nhiễm SQL tại Đại Học Quốc Gia Hà Nội đã mang lại nhiều kết quả tích cực. Các nghiên cứu cho thấy rằng việc sử dụng các khuôn mẫu hợp lệ theo bối cảnh đã giúp giảm thiểu đáng kể các cuộc tấn công thành công.

4.1. Kết Quả Nghiên Cứu Về Hiệu Quả Bảo Mật

Nghiên cứu cho thấy rằng việc áp dụng các phương pháp bảo vệ đã giúp giảm thiểu số lượng cuộc tấn công tiêm nhiễm SQL thành công. Điều này chứng tỏ rằng các biện pháp bảo vệ là cần thiết và hiệu quả.

4.2. Các Kinh Nghiệm Rút Ra Từ Thực Tiễn

Các kinh nghiệm từ việc triển khai các phương pháp bảo vệ cho thấy rằng việc đào tạo nhân viên và nâng cao nhận thức về an ninh mạng là rất quan trọng. Điều này giúp tạo ra một môi trường an toàn hơn cho hệ thống.

V. Kết Luận Và Tương Lai Của Phương Pháp Chống Tấn Công SQL

Tương lai của phương pháp chống tấn công tiêm nhiễm SQL tại Đại Học Quốc Gia Hà Nội sẽ tiếp tục được cải tiến và phát triển. Việc nghiên cứu và áp dụng các công nghệ mới sẽ giúp nâng cao hiệu quả bảo vệ và giảm thiểu rủi ro cho hệ thống.

5.1. Định Hướng Nghiên Cứu Trong Tương Lai

Các nghiên cứu trong tương lai sẽ tập trung vào việc phát triển các phương pháp bảo vệ mới, sử dụng trí tuệ nhân tạo và học máy để phát hiện và ngăn chặn các cuộc tấn công tiêm nhiễm SQL.

5.2. Tầm Quan Trọng Của Đào Tạo An Ninh Mạng

Đào tạo an ninh mạng cho sinh viên và nhân viên là rất quan trọng. Việc nâng cao nhận thức về an ninh mạng sẽ giúp tạo ra một môi trường an toàn hơn cho các ứng dụng web.

30/06/2025
Luận văn thạc sĩ 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

Trích đoạn nội dung tài liệu

CHƯƠNG 1 TỔNG QUAN VỀ TẤN CÔNG TIÊM NHIỄM SQL VÀ CÁC PHƯƠNG PHÁP PHÒNG CHỐNG 1. Khái niệm tấn công tiêm nhiễm SQL. Tấn công tiêm nhiễm SQL là một dạng tấn công tiêm nhiễm mã độc mà kẻ tấn công sẽ cố gắng khai thác lỗ hổng của chính ứng dụng web để tiến hành tiêm nhiễm mã độc vào câu truy vấn SQL của ứng dụng web nhằm truy cập trái phép vào cơ sở dữ liệu đằng sau ứng dụng web. Khi đó kẻ tấn công có thể lấy cắp được thông tin của khách hàng, người dùng, trong đó có không ít thông tin nhạy cảm như tên, tuổi, địa chỉ, số tài khoản… Tùy vào môi trường, kẻ tấn công thậm chí còn có thể thực hiện các thao tác sửa, xóa dữ liệu, thực thi các câu lệnh của hệ điều hành hay thực hiện một cuộc tấn công từ chối dịch vụ.

Tấn công tiêm nhiễm SQL thường được sử dụng để khai thác lỗ hổng của các ứng dụng web có hệ quản trị cơ sở dữ liệu quan hệ như MySQL, MS SQL, DB2, Oracle… Hình 1. 164] dưới đây là một ví dụ điển hình cho một cuộc Tấn công tiêm nhiễm SQL. Các bước thực hiện như sau: Hình 1. 1 Một cuộc Tấn công tiêm nhiễm SQL điển hình.

10 Bước 1: Kẻ tấn công sẽ dò quét lỗ hổng của ứng dụng web. Khi phát hiện lỗ hổng, hắn sẽ tiêm nhiễm câu lệnh SQL vào cơ sở dữ liệu (CSDL) bằng cách gửi câu lệnh đến máy chủ web (Web server). Câu lệnh trái phép này sẽ được tiêm nhiễm vào luồng thông tin của ứng dụng web và nó sẽ vượt qua được tường lửa (Firewall). Bước 2: Máy chủ web tiếp nhận mã độc và gửi nó đến máy chủ ứng dụng web (Web application server).

Bước 3: Tại máy chủ ứng dụng web, vì kẻ tấn công khai thác lỗ hổng của chính ứng dụng web nên mã độc sẽ tiếp tục được chấp nhận và gửi đến máy chủ CSDL (database). Bước 4: Máy chủ CSDL sẽ thực thi đoạn mã độc và trả về dữ liệu chứa thông tin nhạy cảm như thông tin thẻ tín dụng. Bước 5: Máy chủ ứng dụng web sẽ tạo ra các nội dung động bao gồm thông tin nhạy cảm về thẻ tín dụng. Bước 6: Máy chủ web sẽ gửi toàn bộ thông tin trên cho kẻ tấn công.

Trên đây là các bước tấn công của một cuộc Tấn công tiêm nhiễm SQL điển hình, kẻ tấn công chỉ nhằm mục đích ăn cắp thông tin nhạy cảm của khách hàng, người dùng. Thay vì chỉ ăn cắp thông tin, kẻ tấn công có thể phá hủy CSDL, hay đánh sập cả ứng dụng web bằng cách tiêm nhiễm các đoạn mã độc nguy hiểm. Phân loại tấn công tiêm nhiễm SQL. Có nhiều loại Tấn công tiêm nhiễm SQL khác nhau, Tấn công tiêm nhiễm SQL có thể phân loại theo các tiêu chí như cơ chế tiêm nhiễm, mục đích tấn công và kỹ thuật tấn công [5].

Cơ chế tiêm nhiễm. Câu lệnh SQL độc hại có thể được tiêm nhiễm theo nhiều cơ chế khác nhau, sau đây là một số cơ chế thông dụng nhất: Tiêm nhiễm thông qua nhập liệu của người dùng: Kẻ tấn công tiêm nhiễm mã độc vào trường nhập liệu của người dùng. Ứng dụng web có thể đọc nhập liệu người dùng bằng nhiều cách khác nhau dựa trên môi trường mà nó được triển khai. Trong hầu hết các cuộc Tấn công tiêm nhiễm SQL có mục tiêu là ứng dụng web, mã độc tiêm nhiễm vào nhập liệu người dùng qua form xác nhận (form submissions) và được gửi về ứng dụng web qua yêu cầu HTTP GET và HTTP POST.

11 Tiêm nhiễm thông qua cookies: Khi một máy khách trả về ứng dụng web, cookies có thể được sử dụng để lưu trữ thông tin trạng thái của máy khách. Vì máy khách có thể kiểm soát được hoàn toàn cookies, kẻ tấn công có thể thay đổi được cookies. Khi ứng dụng web sử dụng nội dung của cookies trên máy khách để xây dựng câu truy vấn thì với cookies đã bị thay đổi, câu truy vấn cũng có thể bị thay đổi theo. Tiêm nhiễm Second-order: Cơ chế tiêm nhiễm này hết sức tinh vi.

Với tiêm nhiễm Second-order, kẻ tấn công sẽ dựa vào dữ liệu đã có trong hệ thống hoặc CSDL để kích hoạt Tấn công tiêm nhiễm SQL. Nên khi cuộc tấn công xảy ra, câu truy vấn bị thay đổi không phải từ người dùng mà từ chính bản thân hệ thống. Mục đích tấn công. Một cuộc Tấn công tiêm nhiễm SQL có thể có nhiều mục đích tấn công cùng lúc.

Nhìn chung, mục đích của Tấn công tiêm nhiễm SQL có thể phân loại như sau: Xác định các tham số có thể tiêm nhiễm: Kẻ tấn công sẽ thăm dò ứng dụng web nhằm khám phá ra các tham số hay trường nhập liệu người dùng có thể là lỗ hổng cho Tấn công tiêm nhiễm SQL. Thực hiện tìm vết CSDL: Kẻ tấn công muốn tìm kiếm thông tin về kiểu và phiên bản CSDL mà ứng dụng web đang sử dụng. Tùy theo kiểu CSDL sẽ có phản ứng khác nhau đối với các dạng câu truy vấn và tấn công khác nhau. Và từ những thông tin phản hồi trên, kẻ tấn công có thể tìm ra được kiểu và phiên bản của CSDL.

Kiểu và phiên bản của CSDL có thể cho phép kẻ tấn công tìm ra được cách tấn công cụ thể chuyển nhằm vào CSDL. Xác định lược đồ CSDL: Để trích xuất dữ liệu chính xác từ CSDL, kẻ tấn công cần biết được thông tin về lược đồ CSDL như tên bảng, tên cột và kiểu dữ liệu. Kẻ tấn công có thể thu thập hoặc suy luận những thông tin về lược đồ CSDL. Trích xuất dữ liệu: Với mục đích tấn công này, kẻ tấn công mong muốn đánh cắp được dữ liệu từ CSDL.

Tùy vào loại ứng dụng web mà dữ liệu có thể chứa những thông tin nhạy cảm, bí mật của khách hàng, người dùng hay của tổ chức. Phần lớn kẻ tấn công vào ứng dụng web có mục đích này. Thêm hoặc thay đổi dữ liệu: Mục tiêu của kẻ tấn công là chèn thêm thông tin hoặc thay đổi thông tin của CSDL. 12 Thực hiện từ chối dịch vụ: Những kẻ tấn công với mục đích phá hoại bằng cách thực hiện dừng CSDL của ứng dụng web, khiến người dùng không thể sử dụng được.

Ngoài ra, kẻ tấn công thực hiện xóa bảng dữ liệu, khóa bảng trong CSDL, làm tê liệt khả năng hoạt động của CSDL cũng thuộc loại này. Tránh né phát hiện: Kẻ tấn công sử dụng các kỹ thuật tấn công nhằm tránh né sự phát hiện của cơ chế bảo vệ hệ thống. Vượt qua xác thực: Mục tiêu của dạng tấn công này là cho phép kẻ tấn công có thể vượt qua được cơ chế xác thực của CSDL và ứng dụng. Khi thực hiện thành công, kẻ tấn công sẽ được hưởng các quyền mà được gắn với người dùng khác.

Thực thi câu lệnh từ xa: Kẻ tấn công sẽ cố gắng thực thi các câu lệnh tùy ý trên CSDL. Những câu lệnh này có thể được lưu trữ các thủ tục hay các hàm cho CSDL người dùng. Thực hiện leo thang đặc quyền: Kẻ tấn công lợi dụng những sai sót logic trong khi thực thi của CSDL để tiến hành chiếm những đặc quyền. Trái với tấn công vượt qua xác thực, kiểu tấn công này tập trung vào việc khai thác những đặc quyền của CSDL người dùng.

Kỹ thuật tấn công. Có rất nhiều kỹ thuật Tấn công tiêm nhiễm SQL khác nhau nhưng chúng ít khi được sử dụng một cách đơn độc mà thường được sử dụng kết hợp hay tuần tự, tùy theo mục tiêu cụ thể của kẻ tấn công. Dưới đây là các kỹ thuật Tấn công tiêm nhiễm SQL tiêu biểu: Tautologies: Với kỹ thuật này, kẻ tấn công sẽ tiêm nhiễm mã độc vào câu truy vấn có điều kiện và khiến điều kiện của câu truy vấn trở thành luôn đúng. Sau đây là một câu truy vấn hợp lệ, chức năng của nó là xác thực người dùng: “SELECT accounts FROM users WHERE login=’ + $login + ‘ AND pass=’ + $pass + ‘”; Kẻ tấn công có thể nhập “‘ or 1=1--“ vào trường login, khiến câu truy vấn hợp lệ trên trở thành: “SELECT accounts FROM users WHERE login=’’ or 1=1-- AND pass=’’”; Khi thực thi câu truy vấn đã bị thay đổi trên, CSDL sẽ bỏ qua chuỗi ký tự đằng sau dấu chú thích “--”, và với điều kiện “or 1=1” thì điều kiện của câu truy 13 vấn sẽ luôn đúng.

Tức là CSDL dữ liệu sẽ luôn trả về kết quả đối với điều kiện luôn đúng như vậy, từ đó kẻ tấn công có thể vượt qua xác thực của CSDL. Chú thích cuối dòng (End-of-Line Comment): Kẻ tấn công lợi dụng việc CSDL sẽ bỏ qua chuỗi đằng sau dấu chú thích dòng, ví dụ như “--”, khi thực thi truy vấn. Bằng cách chèn dấu chú thích vào vị trí thích hợp của câu truy vấn, kẻ tấn công sẽ lừa được CSDL thực thi câu truy vấn đã bị thay đổi. Ví dụ trên cũng là một ví dụ điển hình cho kỹ thuật tấn công này khi kẻ tấn công đã thêm vào dấu chú thích “--”, làm CSDL bỏ qua phần “AND pass=’’” khi thực thi câu truy vấn.

Truy vấn Union (Union query): Với kỹ thuật này, kẻ tấn công lợi dụng lỗ hổng tham số để thay đổi bộ dữ liệu trả về cho một câu truy vấn. Với câu truy vấn hợp lệ bên trên, kẻ tấn công có thể tiêm nhiễm vào trường login là “’ UNION SELECT cardNo FROM CreditCards WHERE accNo=20301--”. Lúc này câu truy vấn sẽ trở thành: “SELECT accounts FROM users WHERE login=’’ UNION SELECT cardNo FROM CreditCards WHERE accNo=20301-- AND pass=’’”; Với câu truy vấn đã bị thay đổi trên, CSDL dù không tìm thấy bản ghi login nào phù hợp với “” nhưng vẫn sẽ tìm thấy bản ghi cardNo phù hợp với “accNo=20301”. CSDL sẽ tiến hành hợp 2 bộ kết quả, và cardNo vẫn sẽ được trả về cho ứng dụng.

Truy vấn Piggy-Backed (Piggy-Backed queries): Kỹ thuật tấn công này dựa vào máy chủ CSDL được cấu hình để thực thi nhiều câu truy vấn khác nhau trên cùng 1 dòng mã và được ngăn cách bởi dấu “;”. Kẻ tấn công sẽ chèn thêm các câu truy vấn trái phép vào câu truy vấn ban đầu với mục đích trích xuất dữ liệu, thay đổi dữ liệu, thực hiện từ chối dịch vụ hay thực thi lệnh từ xa. Ví dụ, kẻ tấn công có thể nhập mã độc “’; DROP table users --” vào trường password của câu truy vấn hợp lệ trên. Câu truy vấn lúc này sẽ là “SELECT accounts FROM users WHERE login=’’ AND pass=’’; DROP table users --‘”; Khi thực thi câu truy vấn trên, CSDL sẽ thực thi luôn câu lệnh “DROP table users”, bảng users sẽ bị xóa.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ

Tài liệu "Phương Pháp Chống Tấn Công Tiêm Nhiễm SQL Hiệu Quả Tại Đại Học Quốc Gia Hà Nội" cung cấp những phương pháp và chiến lược hiệu quả để bảo vệ hệ thống cơ sở dữ liệu khỏi các cuộc tấn công tiêm nhiễm SQL. Tài liệu này không chỉ giúp người đọc hiểu rõ về các lỗ hổng bảo mật mà còn hướng dẫn cách thức triển khai các biện pháp phòng ngừa, từ đó nâng cao an ninh thông tin cho các tổ chức giáo dục.

Để mở rộng kiến thức về an ninh mạng, bạn có thể tham khảo thêm tài liệu Giải pháp chống tấn công trong mạng nội bộ trường đại học hà nội, nơi cung cấp các giải pháp bảo vệ mạng nội bộ. Ngoài ra, tài liệu Nghiên cứu và xây dựng giải pháp bảo mật và xác thực thư điện tử dựa trên công nghệ mở sẽ giúp bạn hiểu thêm về bảo mật thông tin trong môi trường mở. Cuối cùng, tài liệu Nghiên cứu phương pháp phòng chống tấn công DDoS cũng là một nguồn tài liệu quý giá để tìm hiểu về các biện pháp bảo vệ hệ thống trước các cuộc tấn công mạng phức tạp.

Những tài liệu này sẽ giúp bạn có cái nhìn sâu sắc hơn về các vấn đề an ninh mạng và các giải pháp bảo vệ hiệu quả.