Luận văn ThS: Phân tích tự động các Website để phát hiện lỗ hổng tiêm nhiễm SQL và XSS

Luận văn Phân tích tự động các Website để phát hiện lỗ hổng tiêm nhiễm SQL và XSS giới thiệu tổng quan về các lỗ hổng an ninh ứng dựng web, các hình thức tấn công lỗ hổng SQLi, XSS; giải pháp quét lỗ hổng và một số công cụ dò quét lỗ hổng an ninh ứng dụng web phổ biến hiện nay; trình bày cách thức xây dựng phần mềm phát hiện và khai thác lỗ hổng SQLi và XSS; xây dựng sơ đồ phân rã chức năng, thuật toán, mô-đun chức năng; thử nghiệm các chức năng của phần mềm và đánh giá hiệu quả hoạt động, so sánh kết quả với một số phần mềm khác.

Luận văn ThS: Phân tích tự động các Website để phát hiện lỗ hổng tiêm nhiễm SQL và XSS

1. Mở đầu

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 của Việt Nam. Thời gian gần đây liên tục xảy ra nhiều vụ tấn công mạng vào cơ quan chính phủ, cơ sở hạ tầng trọng yếu, tổ chức tài chính gây tổn thất về tài chính, bất ổn chính trị và làm ảnh hưởng cuộc sống của người dân. Trong các cuộc tấn công đó, lỗ hổng bị khai thác nhiều nhất là tiêm nhiễm SQL (SQLi, chiếm 15% các cuộc tấn công lỗ hổng an ninh web) và Cross-site scripting (XSS, chiếm 18%). Với các lỗ hổng này, tin tặc có thể dễ dàng tấn công, chiếm quyền điều khiển, truy cập vào các nguồn thông tin nhạy cảm, gồm cả thông tin cá nhân người dùng. Trên thế giới, nhiều tổ chức, cá nhân đã phát triển các phần mềm để phát hiện và khai thác lỗ hổng an ninh web như: Acunetix, SQLMap, Havij, BurpSuite, ZAP, XSSer, Nmap… Tuy nhiên, đa số các phần mềm này là sản phẩm thương mại, nếu là phiên bản miễn phí sẽ bị giới hạn nhiều tính năng, khó nâng cấp, bảo trì. Ngoài ra, các phần mềm chỉ thực hiện khai thác một lỗ hổng an ninh chuyên biệt hoặc chỉ chú trọng phát hiện lỗ hổng an ninh, chưa tập trung phần khai thác.

2. Nội dung

2.1 Tổng quan về lỗ hổng bảo mật SQLI, XSS

Lỗ hổng an ninh ứng dụng web

Lỗ hổng an ninh SQLi

  • Giới thiệu lỗ hổng SQLi
  • Phương pháp phát hiện lỗ hổng SQLi
  • Phương pháp khai thác SQLi
  • Phương pháp phòng chống SQLi.

Lỗ hổng an ninh XSS

  • Giới thiệu lỗ hổng an ninh XSS
  • Phân loại XSS
  • Quá trình phát hiện lỗ hổng XSS
  • Cách thức phòng chống lỗ hổng XSS

2.2 Các giải pháp quét lỗ hổng ứng dụng web

Tổng quan công cụ quét lỗ hổng ứng dụng Web.

  • Giới thiệu công cụ quét lỗ hổng ứng dụng Web
  • Phƣơng thức hoạt động của công cụ quét lỗ hổng an ninh

Giới thiệu một số công cụ quét phổ biến hiện nay

  • Secubat
  • Acunetix Web Vulnerability Scanner
  • SQLMap
  • Burpsuite
  • Havij
  • Nessus

2.3 Xây dựng phần mềm phân tích tự động website 

Mô hình kiến trúc hệ thống

Sơ đồ phân rã chức năng

Sơ đồ hoạt động

Các thuật toán chính

  • Thuật toán dum URL 
  • Thuật toán phát hiện lỗ hổng SQLi 
  • Thuật toán phát hiện lỗ hổng XSS
  • Thuật toán khai thác lỗ hổng SQLi
  • Thuật toán khai thác Blind SQLi
  • Thuật toán khai thác lỗ hổng XSS
  • Thuật toán quét cổng
  • Thuật toán bruteforce tài khoản FTP

Xây dựng các mô-đun chức năng

  • Mô-đun dump URL 
  • Mô-đun phát hiện lỗ hổng SQLi
  • Mô-đun khai thác lỗ hổng SQLi
  • Mô-đun phát hiện lỗ hổng XSS 
  • Mô-đun khai thác lỗ hổng XSS 
  • Mô-đun dò quét lỗ hổng nhiều website
  • Mô-đun dò quét lỗ hổng nhiều URL
  • Mô-đun phát hiện file nhạy cảm
  • Mô-đun quét cổng
  • Mô-đun brute force tài khoản đăng nhập dịch vụ FTP
  • Mô-đun brute force tài khoản đăng nhập dịch vụ RDP
  • Mô-đun thiết lập Proxy
  • Mô-đun lập lịch

2.4 Thử nghiệm và đánh giá kết quả

Thử nghiệm phần mềm TH-Scanner

  • Thử nghiệm phát hiện và khai thác lỗ hổng SQLi
  • Thử nghiệm phát hiện và khai thác lỗ hổng XSS
  • Thử nghiệm khai thác các lỗ hổng an ninh khác 
  • Nhận xét

So sánh với các phần mềm quét khác

  • So sánh tính năng
  • So sánh hiệu quả
  • Nhận xét

3. Kết luận

Qua một thời gian nghiên cứu, đƣợc sự giúp đỡ tận tình của giáo viên hƣớng dẫn, các đồng nghiệp, gia đình, đến nay luận văn “Phân tích tự động các Website để phát hiện lỗ hổng tiêm nhiễm SQL và XSS ” cơ bản đã đạt đƣợc các mục tiêu đề ra:

  • Nghiên cứu các lỗ hổng an ninh ứng dụng web, phƣơng pháp khai thác lỗ hổng an ninh SQLi, XSS với từng loại cơ sở dữ liệu, cách thức bypass việc lọc các ký tự đầu vào do người lập trình thiết lập.
  • Xây dựng phần mềm có các chức năng: crawler, phát hiện và khai thác lỗ hổng an ninh SQLi và XSS, dò quét các file nhạy cảm, đƣờng dẫn đăng nhập, brute force tài khoản đăng nhập FTP và RDP.
  • Tiến hành xử lý song song, lập lịch có thể thực hiện dò quét nhiều mục tiêu đồng thời trên cả 05 chức năng là: crawler, dò quét SQLi, XSS, tìm file nhạy cảm, đường dẫn đăng nhập.
  • Phần mềm này có khả năng phát hiện và khai thác tốt một số mục tiêu mà các phần mềm quét hiện tại không thực hiện được.

4. Tài liệu tham khảo

Lê Đình Duy (2013), Tấn công kiểu SQL injection-Tác hại và phòng tránh, Khoa CNTT-Trƣờng ĐH Khoa Học Tự Nhiên TP.HCM.

Võ Đỗ Thắng (2013), Tấn công và phòng thủ cho ứng dụng Web, Trung tâm An ninh mạng

Lwin Khin Shar, Hee Beng Kuan Tan (2012), Mining Input Sanitization Patterns for Predicting SQL Injection and Cross Site Scripting Vulnerabilities.

Dennis Appelt, Cu Duy Nguyen, Lionel C. Briand, Nadia Alshahwan (2014), Automated Testing for SQL Injection Vulnerabilities: An Input Mutation Approach.

Hossain Shahriar, Mohammad Zulkernine (2008), MUSIC: Mutationbased SQL Injection Vulnerability Checking...

--- Nhấn nút TẢI VỀ hoặc XEM ONLINE để tham khảo đầy đủ nội dung Luận văn Thạc sĩ trên ---

Ngày:27/08/2020 Chia sẻ bởi:Minh Ngoan

CÓ THỂ BẠN QUAN TÂM