Tổng quan nghiên cứu

Trong bối cảnh phát triển nhanh chóng của công nghệ và ứng dụng web, an ninh web trở thành vấn đề cấp thiết nhằm bảo vệ thông tin người dùng và hệ thống. Theo thống kê trên Zone-h.org, trung bình mỗi ngày có hơn một triệu website bị tấn công, trong đó có hàng trăm website tại Việt Nam. Các cuộc tấn công mạng vào cơ quan chính phủ, tổ chức tài chính và cơ sở hạ tầng trọng yếu đã gây ra tổn thất nghiêm trọng về tài chính và an ninh xã hội. Trong số các lỗ hổng an ninh phổ biến, tiêm nhiễm SQL (SQLi) chiếm khoảng 15% và Cross-site scripting (XSS) chiếm 18% các cuộc tấn công lỗ hổng ứng dụng web. Những lỗ hổng này cho phép tin tặc chiếm quyền điều khiển, truy cập thông tin nhạy cảm như dữ liệu cá nhân người dùng.

Mục tiêu nghiên cứu của luận văn là xây dựng một phần mềm phân tích tự động các website để phát hiện và khai thác lỗ hổng SQLi và XSS, đồng thời bổ sung các tính năng hỗ trợ như quét cổng, brute force tài khoản FTP và RDP, dò quét file nhạy cảm và đường dẫn đăng nhập. Phạm vi nghiên cứu tập trung vào các website có lỗ hổng an ninh phổ biến trong giai đoạn hiện tại, với dữ liệu thử nghiệm gồm hơn 3.200 URL. Ý nghĩa nghiên cứu thể hiện qua việc nâng cao hiệu quả phát hiện và khai thác lỗ hổng, giúp các tổ chức, cá nhân chủ động phòng chống tấn công mạng, giảm thiểu rủi ro mất an toàn thông tin.

Cơ sở lý thuyết và phương pháp nghiên cứu

Khung lý thuyết áp dụng

Luận văn dựa trên các lý thuyết và mô hình về an ninh ứng dụng web, tập trung vào hai lỗ hổng chính: SQL Injection (SQLi) và Cross-site scripting (XSS).

  • Lỗ hổng SQLi: Là lỗi do kiểm tra dữ liệu đầu vào không đầy đủ, cho phép kẻ tấn công tiêm mã SQL độc hại để truy cập hoặc thao tác trái phép trên cơ sở dữ liệu. Các kỹ thuật khai thác gồm Union query based, Boolean based, Error based, Time based và Blind SQLi.
  • Lỗ hổng XSS: Cho phép chèn và thực thi mã script độc hại trên trình duyệt người dùng, đánh cắp cookie, thực hiện keylogging hoặc phishing. XSS được phân loại thành XSS lưu trữ, XSS phản xạ và DOM-based XSS.
  • Mô hình quét lỗ hổng ứng dụng web: Bao gồm ba giai đoạn chính là Crawling (thu thập cấu trúc website), Scanning (phân tích và phát hiện lỗ hổng), và Attack (khai thác lỗ hổng).
  • Thuật toán phát hiện và khai thác: Sử dụng các toán tử đặc biệt để tiêm vào URL, phân tích phản hồi máy chủ để xác định lỗi, đồng thời áp dụng các kỹ thuật bypass để vượt qua bộ lọc bảo mật.

Phương pháp nghiên cứu

Nguồn dữ liệu chính là các URL có khả năng tồn tại lỗ hổng SQLi và XSS, với bộ dữ liệu thử nghiệm gồm 3.289 URL. Phương pháp nghiên cứu bao gồm:

  • Thu thập dữ liệu: Sử dụng thuật toán dump URL để thu thập các đường dẫn con từ URL gốc, lọc các URL tiềm năng có thể bị lỗi.
  • Phát hiện lỗ hổng: Áp dụng thuật toán tiêm các ký tự đặc biệt và payload XSS vào URL, phân tích phản hồi để xác định lỗi SQLi và XSS.
  • Khai thác lỗ hổng: Thực hiện các bước khai thác chi tiết như xác định loại cơ sở dữ liệu, số cột, tên bảng, cột và dữ liệu trong bảng đối với SQLi; chạy payload để khai thác XSS.
  • Xử lý song song và lập lịch: Phần mềm được thiết kế để thực hiện quét và khai thác đồng thời nhiều website và URL, tối ưu hóa thời gian và tài nguyên.
  • Thử nghiệm và đánh giá: So sánh hiệu quả phát hiện và khai thác với các phần mềm quét lỗ hổng phổ biến như Acunetix, SQLMap, Havij, Burp Suite.

Thời gian nghiên cứu tập trung trong năm 2017, tại Đại học Công nghệ - Đại học Quốc gia Hà Nội.

Kết quả nghiên cứu và thảo luận

Những phát hiện chính

  1. Hiệu quả phát hiện lỗ hổng SQLi: Trong bộ dữ liệu 549 URL có khả năng lỗi SQLi, phần mềm TH-Scanner phát hiện thành công 439 URL, đạt tỷ lệ 79,96% trong thời gian 18 phút 21 giây.
  2. Hiệu quả phát hiện lỗ hổng XSS: Với 17 URL thử nghiệm, phần mềm phát hiện 12 URL có lỗi XSS, đạt tỷ lệ 70,6% trong 6 phút 19 giây.
  3. Khả năng khai thác vượt trội: TH-Scanner có thể khai thác thành công các lỗ hổng SQLi và XSS mà một số phần mềm mạnh như Havij và SQLMap không thực hiện được, nhờ áp dụng các kỹ thuật bypass nâng cao và bộ payload phong phú (433 payload XSS).
  4. Tính năng bổ sung: Phần mềm tích hợp thêm các chức năng quét cổng, dò tìm file nhạy cảm, brute force tài khoản FTP và RDP, đồng thời hỗ trợ lập lịch quét và xử lý song song nhiều mục tiêu, giúp tăng hiệu quả và tiện lợi cho người dùng.

Thảo luận kết quả

Kết quả thử nghiệm cho thấy phần mềm TH-Scanner có hiệu quả phát hiện và khai thác lỗ hổng SQLi và XSS cao hơn so với các phần mềm hiện có, đồng thời thực hiện nhanh hơn đáng kể (ví dụ, 27 giây so với 6 phút của Acunetix trong một số bộ test). Nguyên nhân chính là do phần mềm sử dụng cơ sở dữ liệu các thông báo lỗi phản hồi từ máy chủ để phân tích, thay vì chỉ dựa vào bộ từ khóa cứng nhắc như một số công cụ cũ. Ngoài ra, việc bổ sung nhiều payload và kỹ thuật bypass giúp phần mềm vượt qua các bộ lọc nâng cao của website.

So sánh với các phần mềm như Burp Suite, Havij, SQLMap, TH-Scanner có lợi thế về tính năng tích hợp đa dạng và khả năng tự động hóa cao, phù hợp với cả người dùng không chuyên về an ninh mạng. Tuy nhiên, phần mềm vẫn còn hạn chế trong việc khai thác các dạng lọc ký tự metadata nâng cao và chưa hỗ trợ một số tính năng như tự động nhập thông tin vào webform, giải mã mật khẩu, hoặc cài mã độc.

Dữ liệu có thể được trình bày qua biểu đồ so sánh tỷ lệ phát hiện và thời gian thực hiện giữa các phần mềm, bảng tổng hợp tính năng và hiệu quả khai thác, giúp minh họa rõ ràng ưu điểm của TH-Scanner.

Đề xuất và khuyến nghị

  1. Hoàn thiện kỹ thuật bypass nâng cao: Nghiên cứu và tích hợp thêm các giải pháp bypass ký tự metadata và các bộ lọc nâng cao để tăng khả năng phát hiện và khai thác lỗ hổng, đặc biệt với các website có bảo mật cao.
  2. Mở rộng bộ từ điển brute force: Phát triển bộ từ điển tài khoản và mật khẩu phong phú hơn cho các dịch vụ FTP và RDP, nhằm nâng cao tỷ lệ thành công trong việc brute force tài khoản đăng nhập.
  3. Tích hợp tự động nhập thông tin webform: Xây dựng chức năng tự động nhận diện và nhập dữ liệu vào các form đăng nhập hoặc tìm kiếm, giúp phần mềm có thể quét và khai thác hiệu quả hơn trên các website phức tạp.
  4. Phát triển các tính năng bổ sung: Bổ sung khả năng giải mã mật khẩu, truy cập file hệ thống, cài mã độc và gửi dữ liệu về email để tăng tính ứng dụng trong kiểm thử an ninh toàn diện.
  5. Lập kế hoạch thử nghiệm mở rộng: Thực hiện thử nghiệm trên nhiều loại website với các hệ quản trị cơ sở dữ liệu khác nhau và các cấu hình bảo mật đa dạng để đánh giá toàn diện hiệu quả phần mềm.

Các giải pháp trên nên được thực hiện trong vòng 1-2 năm tới, phối hợp giữa nhóm phát triển phần mềm và chuyên gia an ninh mạng nhằm đảm bảo tính khả thi và hiệu quả.

Đối tượng nên tham khảo luận văn

  1. Chuyên viên an ninh mạng và kiểm thử bảo mật: Luận văn cung cấp kiến thức chuyên sâu về phát hiện và khai thác lỗ hổng SQLi, XSS, đồng thời giới thiệu phần mềm tự động hỗ trợ kiểm thử, giúp nâng cao hiệu quả công việc.
  2. Nhà phát triển phần mềm và quản trị hệ thống: Hiểu rõ các kỹ thuật tấn công phổ biến và biện pháp phòng chống, từ đó cải thiện chất lượng và bảo mật ứng dụng web.
  3. Sinh viên và nghiên cứu sinh ngành Công nghệ Thông tin: Tài liệu tham khảo quý giá về lý thuyết, thuật toán và thực tiễn xây dựng phần mềm an ninh mạng, hỗ trợ nghiên cứu và học tập.
  4. Doanh nghiệp và tổ chức sử dụng dịch vụ web: Có thể áp dụng phần mềm để tự động kiểm tra lỗ hổng, giảm thiểu rủi ro bị tấn công, bảo vệ tài sản số và thông tin khách hàng.

Câu hỏi thường gặp

  1. Phần mềm TH-Scanner có dễ sử dụng cho người không chuyên không?
    Phần mềm được thiết kế theo hình thức hộp đen, không yêu cầu kiến thức sâu về an ninh mạng, người dùng chỉ cần cung cấp URL và các tham số cơ bản để thực hiện quét và khai thác tự động.

  2. TH-Scanner có thể phát hiện được những loại lỗ hổng nào?
    Phần mềm tập trung phát hiện và khai thác lỗ hổng SQL Injection (SQLi) và Cross-site scripting (XSS), đồng thời hỗ trợ quét cổng, dò tìm file nhạy cảm, brute force tài khoản FTP và RDP.

  3. Phần mềm có thể xử lý đồng thời nhiều website không?
    Có, TH-Scanner hỗ trợ xử lý song song và lập lịch quét nhiều website cùng lúc, tối ưu hóa thời gian và tài nguyên hệ thống.

  4. So với các phần mềm thương mại, TH-Scanner có ưu điểm gì?
    TH-Scanner tích hợp nhiều tính năng trong một công cụ, có khả năng khai thác nâng cao với các kỹ thuật bypass mới, đồng thời là phần mềm phát triển nội bộ nên dễ dàng tùy biến và nâng cấp.

  5. Phần mềm có hỗ trợ các hệ quản trị cơ sở dữ liệu nào?
    TH-Scanner hỗ trợ phát hiện và khai thác lỗ hổng trên các hệ quản trị phổ biến như MySQL, Microsoft SQL Server, với các kỹ thuật Error based, Blind SQLi và các dạng bypass cơ bản.

Kết luận

  • Luận văn đã nghiên cứu và xây dựng thành công phần mềm TH-Scanner, có khả năng phát hiện và khai thác hiệu quả lỗ hổng SQLi và XSS trên các website.
  • Phần mềm tích hợp nhiều tính năng bổ sung như quét cổng, dò tìm file nhạy cảm, brute force tài khoản FTP và RDP, xử lý song song nhiều mục tiêu và lập lịch quét tự động.
  • Kết quả thử nghiệm với hơn 3.200 URL cho thấy tỷ lệ phát hiện lỗi SQLi đạt gần 80%, lỗi XSS đạt trên 70%, vượt trội so với nhiều phần mềm hiện có.
  • Hướng phát triển tiếp theo tập trung vào nâng cao kỹ thuật bypass, mở rộng bộ từ điển brute force, tích hợp tự động nhập webform và bổ sung các tính năng kiểm thử nâng cao.
  • Khuyến nghị các tổ chức, cá nhân quan tâm đến an ninh ứng dụng web nên áp dụng phần mềm và nghiên cứu tiếp tục để nâng cao khả năng phòng chống tấn công mạng.

Luận văn mở ra hướng đi mới trong việc phát triển công cụ kiểm thử an ninh ứng dụng web tự động, góp phần bảo vệ hệ thống thông tin trong kỷ nguyên số.