1. Trang chủ
  2. » Luận Văn - Báo Cáo

Nghiên Cứu Giải Pháp Chống Dạng Tấn Công Cross-Site Scripting (Xss).Pdf

95 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Nghiên cứu giải pháp phòng chống dạng tấn công cross-site scripting (XSS)
Tác giả Dương Tuấn Anh
Người hướng dẫn Ths. Vũ Xuân Hạnh
Trường học Đại Học Mở Hà Nội
Chuyên ngành Công nghệ thông tin
Thể loại Đồ án tốt nghiệp đại học
Năm xuất bản 2022
Thành phố Hà Nội
Định dạng
Số trang 95
Dung lượng 0,94 MB

Cấu trúc

  • 1.1. Tổng quan về An ninh mạng (14)
    • 1.1.1. An ninh mạng là gì? (14)
    • 1.1.2. Kẻ tấn công là ai? (15)
    • 1.1.3. Lỗ hổng bảo mật (16)
  • 1.2. Tổng quan về ứng dụng web (17)
    • 1.2.1. Khái niệm về ứng dụng web (17)
    • 1.2.2. Ứng dụng web hoạt động ra sao? (17)
    • 1.2.3. Một số thuật ngữ trong ứng dụng Web (18)
  • 1.3. Kết chương (20)
  • CHƯƠNG 2: TỔNG QUAN VỀ KỸ THUẬT TẤN CÔNG XSS................. 2.1. Tổng quan về XSS (21)
    • 2.1.1. Tấn công XSS là gì? (21)
    • 2.1.2. Các bước khai thác lỗ hổng XSS (22)
    • 2.1.3. Tỷ lệ tấn công XSS gần đây (24)
    • 2.1.4. Tác hại của tấn công XSS (27)
    • 2.1.5. Phân loại các dạng tấn công XSS (29)
    • 2.2. Các kỹ thuật phát hiện và phòng chống (34)
      • 2.2.1. Escaping input – Thoát dữ liệu đầu vào (34)
      • 2.2.2. Input validation – Xác thực dữ liệu đầu vào (34)
      • 2.2.3. Sanitizing input – Làm sạch dữ liệu đầu vào (35)
      • 2.2.4. Whitelisting values – Các giá trị thuộc danh sách trắng (35)
      • 2.2.5. Content-security policy – Chính sách bảo mật nội dung (35)
    • 2.3. Các nghiên cứu trước đây (36)
      • 2.3.1. Tổng quan tình hình nghiên cứu (36)
      • 2.3.2. Ưu điểm và hạn chế (40)
    • 2.4. Kết chương (41)
  • CHƯƠNG 3: TRIỂN KHAI ỨNG DỤNG VÀ XÂY DỰNG PHƯƠNG ÁN PHÒNG CHỐNG DẠNG TẤN CÔNG XSS............................................ 3.1. Công cụ sử dụng (43)
    • 3.1.1. Xampp (43)
    • 3.1.2. WAF (Web Application Firewall – Tường lửa ứng dụng mạng) (43)
    • 3.1.3. Python (48)
    • 3.1.4. Weka (49)
    • 3.2. Mô hình phòng chống đề xuất (49)
      • 3.2.1. Tích hợp module ModSecurity của OWASP (49)
      • 3.2.2. Sử dụng phương pháp học máy có giám sát (Supervised Machine Learning) (75)
    • 3.3. Kết chương (92)
  • KẾT LUẬN (94)
  • TÀI LIỆU THAM KHẢO (95)

Nội dung

Tổng quan về An ninh mạng

An ninh mạng là gì?

An ninh mạng là hoạt động bảo vệ các hệ thống quan trọng và thông tin nhạy cảm khỏi các cuộc tấn công kỹ thuật số Còn được gọi là bảo mật công nghệ thông tin, các biện pháp an ninh mạng được thiết kế để chống lại các mối đe dọa gây hại cho các hệ thống và ứng dụng được nối mạng, cho dù những mối đe dọa đó xuất phát từ bên trong hay bên ngoài một tổ chức.

Trong phân tích an ninh mạng, bước đầu tiên là xem xét bộ ba CIAđây là một mô hình nổi tiếng cho sự phát triển của an ninh mạng Bộ ba CIA bao gồm: tính sẵn sàng (Availability), tính toàn vẹn (Integrity) và tính bảo mật (Confidentiality), là mô hình được thiết kế để hướng dẫn chính sách và bảo mật thông tin của một tổ chức Mục tiêu của bộ ba CIA là đảm bảo rằng thông tin được lưu trữ chính xác và nhất quán cho đến khi thực hiện các thay đổi có thẩm quyền.

- Tính bảo mật là khả năng không tiết lộ thông tin cho những người, chương trình hoặc quy trình không được phép Nó liên quan đến bảo mật thông tin vì nó yêu cầu kiểm soát quyền truy cập vào thông tin được bảo vệ Nếu tính bảo mật bị xâm phạm, điều này có thể dẫn đến mất quyền riêng tư và tiết lộ thông tin bí mật cho công chúng hoặc những người khác.

- Tính toàn vẹn có nghĩa là bảo vệ chống lại việc xóa bỏ và sửa đổi thông tin không đúng cách, đảm bảo rằng thông tin không thể bị thay đổi mà không bị phát hiện và đảm bảo tính toàn vẹn của thông tin Điều này có nghĩa là một mối đe dọa mạng hoặc lỗ hổng đối với tấn công mạng có thể được đo lường bằng cách xâm phạm một hoặc nhiều nguyên tắc của nó Tính toàn vẹn dựa trên mã hóa và băm để đảm bảo việc bảo vệ tốt nhất có thể chống lại các cuộc tấn công mạng và các mối đe dọa mạng như gián điệp mạng.

- Tính sẵn sàng đảm bảo rằng thông tin luôn sẵn sàng cho những ai có nhu cầu, bao gồm truy cập kịp thời và đáng tin cậy, bất kể thời gian trong ngày, nơi ở, vị trí hoặc các yếu tố khác.

Kẻ tấn công là ai?

Có 3 dạng hacker nổi tiếng trong thế giới bảo mật thông tin: hacker mũ đen, hacker mũ trắng và hacker mũ xám Màu sắc của mũ được sinh ra khi các hacker cố gắng phân biệt bản thân và tách hacker tốt ra khỏi các hacker xấu.

Hacker mũ đen còn được gọi là Hacker phi đạo đức hoặc kẻ phá hoại bảo mật Những người này hack hệ thống một cách bất hợp pháp để ăn cắp tiền hoặc để đạt được các mục tiêu bất hợp pháp nào đó của bản thân Họ tìm kiếm các ngân hàng hoặc các công ty có bảo mật yếu và ăn cắp tiền hoặc thông tin thẻ tín dụng Họ cũng có thể sửa đổi hoặc phá hủy dữ liệu mà họ tìm thấy.

Hacker mũ trắng hay còn gọi là Hacker có đạo đức Những người này sử dụng cùng một kỹ thuật được sử dụng bởi các hacker mũ đen Họ cũng hack hệ thống, nhưng họ chỉ có thể hack hệ thống mà họ có quyền hack để kiểm tra tính bảo mật của hệ thống Họ tập trung vào bảo mật và bảo vệ hệ thống công nghệ thông tin.

Hacker mũ xám là sự kết hợp giữa Hacker mũ trắng và Hacker mũ đen.

Họ có thể hack bất kỳ hệ thống nào ngay cả khi họ không được phép kiểm tra tính bảo mật của hệ thống nhưng họ sẽ không bao giờ ăn cắp tiền hoặc làm hỏng hệ thống đó.Trong hầu hết các trường hợp, họ thông báo lỗi bảo mật cho quản trị viên của hệ thống đó Nhưng điều đó cũng là bất hợp pháp vì họ tự tiện kiểm tra tính bảo mật của hệ thống mà chưa được cho phép.

Lỗ hổng bảo mật

Lỗ hổng bảo mật là các yếu điểm tồn tại trong các hệ thống thông tin cho phép kẻ tấn công truy cập bất hợp pháp vào hệ thống thông tin, gây ngưng trệ dịch vụ mạng hay đánh cắp dữ liệu Các lỗ hổng bảo mật liên tục được phát hiện trong tất cả các loại phần mềm chống vi-rút và được các nhà cung cấp phần mềm phát hành các bản vá - còn được gọi là "bản sửa lỗi" hoặc chỉ đơn giản là "bản cập nhật bảo mật" - để đưa ra giải pháp sửa chữa nhanh chóng ngay lập tức cho sự cố Các lỗ hổng bảo mật được chia như sau:

- Lỗ hổng loại A: Đây là một lỗ hổng vô cùng nguy hiểm, cho phép người ngoài có thể truy cập một cách bất hợp pháp vào hệ thống để đánh cắp thông tin hay phá hủy toàn bộ hệ thống.

- Lỗ hổng loại B: Đây là một lỗ hổng có độ nguy hiểm tầm trung, cho phép người dùng thêm cácquyền trên hệ thống mà không cần thực hiện việc kiểm tra tính hợp lệ của quyền đó Những lỗ hổng này thường xuất hiện trong các ứng dụng trênhệ thống, có thể dẫn đến việc mất hoặc lộ thông tin dữ liệu.

Lỗ hổng loại C là lỗ hổng mức độ thấp, không gây hư hỏng dữ liệu mà chỉ có thể gây ngưng trệ hoặc gián đoạn hệ thống, đồng thời cho phép truy cập bất hợp pháp.

Tổng quan về ứng dụng web

Khái niệm về ứng dụng web

Ứng dụng web là một chương trình ứng dụng thường được lưu trữ trên máy chủ từ xa, và người dùng có thể truy cập thông qua việc sử dụng phần mềm được gọi là trình duyệt web. Đây là một dạng chương trình máy tính thường chạy với sự hỗ trợ của trình duyệt web và cũng sử dụng nhiều công nghệ web để thực hiện đa nhiệm vụ trên Internet Một ứng dụng web có thể được phát triển cho nhiều người dùng, được sử dụng bởi bất kỳ ai như cá nhân hay tổ chức nào đó.

Nói chung, một ứng dụng web có thể chứa nhiều cửa hàng trực tuyến,webmail, máy tính, nền tảng mạng xã hội, Có một số loại ứng dụng mạng thường yêu cầu một loại trình duyệt web đặc biệt để thực hiện truy cập.Chúng ta không thể sử dụng các trình duyệt thông thường để truy cập các ứng dụng đó Tuy nhiên, hầu hết ứng dụng mạng trên Internet đều có thể được truy cập bằng một trình duyệt tiêu chuẩn.

Ứng dụng web hoạt động ra sao?

Tất cả những gì chúng ta cần để truy cập một ứng dụng web là có kết nối Internet Người dùng truy cập một ứng dụng web bằng cách nhập một mã URL vào thanh địa chỉ của trình duyệt Sau khi kích hoạt ứng dụng:

- Người dùng gửi một yêu cầu tới máy chủ web sử dụng các trình duyệt như Chrome, Firefox thông qua Internet.

- Yêu cầu ngay lập tức được gửi thẳng tới máy chủ ứng dụng web bởi máy chủ web.

- Máy chủ ứng dụng web thực hiện các nhiệm vụ được yêu cầu như xử lý cơ sở dữ liệu, truy vấn cơ sở dữ liệu; tạo ra kết quả của dữ liệu đã yêu cầu.

- Kết quả thu được sẽ được gửi về cho máy chủ web với thông tin/dữ liệu được yêu cầu hay dữ liệu đã qua xử lý.

- Máy chủ web phản hồi lại dữ liệu cho người dùng và hiển thị nó lên màn hình.

Một số thuật ngữ trong ứng dụng Web

Phiên là khoảng thời gian người dùng tương tác với ứng dụng Trong hệ thống máy tính, phiên bắt đầu khi người dùng đăng nhập hoặc truy cập máy tính, mạng hoặc dịch vụ cụ thể Phiên kết thúc khi người dùng đăng xuất khỏi dịch vụ hoặc tắt máy tính Phiên có thể lưu trữ tạm thời dữ liệu liên quan đến hoạt động của người dùng trong khi kết nối.

Giao thức truyền siêu văn bản (HTTP) là nền tảng của World Wide Web và được sử dụng để tải các trang web bằng các liên kết siêu văn bản HTTP là một giao thức lớp ứng dụng được thiết kế để truyền thông tin giữa các thiết bị được nối mạng và chạy trên các lớp khác của ngăn xếp giao thức mạng.

Cookie là các tệp văn bản với các phần dữ liệu nhỏ - như tên người dùng và mật khẩu - được sử dụng để xác định máy tính khi ta sử dụng mạng máy tính Các cookie cụ thể được gọi là cookie HTTP được sử dụng để xác định người dùng cụ thể và cải thiện trải nghiệm duyệt web Dữ liệu được lưu trữ trong cookie được tạo bởi máy chủ dựa trên kết nối Dữ liệu này được gắn nhãn ID duy nhất cho người dùng và máy tính của họ Khi cookie được trao đổi giữa máy tính của người dùng và máy chủ mạng, máy chủ sẽ đọc ID và biết thông tin nào cần cung cấp cụ thể cho người dùng.

Máy chủ proxy là một hệ thống hoặc bộ định tuyến cung cấp cổng kết nối giữa người dùng và internet Do đó, nó giúp ngăn chặn những kẻ tấn công mạng xâm nhập vào mạng riêng Nó là một máy chủ, được gọi là "trung gian" vì nó đi giữa người dùng cuối và các trang web họ truy cập trực tuyến Khi một máy tính kết nối với Internet, nó sẽ sử dụng địa chỉ IP Địa chỉ này tương tự như địa chỉ đường phố của nhà, cho dữ liệu đến nơi cần đến và đánh dấu dữ liệu đi bằng địa chỉ trả lại để các thiết bị khác xác thực Máy chủ proxy về cơ bản là một máy tính trên internet có địa chỉ IP của riêng nó Proxy cung cấp một lớp bảo mật có giá trị cho máy tính người dùng Chúng có thể được thiết lập làm bộ lọc web hoặc tường lửa, bảo vệ máy tính của họ khỏi các mối đe dọa từ internet như phần mềm độc hại.

Tường lửa là một thiết bị bảo mật mạng giám sát lưu lượng mạng đến và đi và cho phép hoặc chặn các gói dữ liệu dựa trên một tập hợp các quy tắc bảo mật Mục đích của nó là thiết lập một rào cản giữa mạng nội bộ và lưu lượng đến từ các nguồn bên ngoài (chẳng hạn như internet) để chặn lưu lượng độc hại như vi rút và tin tặc Tường lửa phân tích cẩn thận lưu lượng đến dựa trên các quy tắc được thiết lập trước và lọc lưu lượng đến từ các nguồn không an toàn hoặc đáng ngờ để ngăn chặn các cuộc tấn công Tường lửa bảo vệ lưu lượng truy cập tại điểm vào của máy tính, được gọi là cổng, nơi thông tin được trao đổi với các thiết bị bên ngoài

Kết chương

Mạng internet là không gian rộng lớn chứa đựng nguồn dữ liệu vô tận, đóng vai trò to lớn trong phát triển nền kinh tế, tư duy và văn hóa của con người Tuy nhiên, bên cạnh các lợi ích, nguy cơ tiềm ẩn cũng tồn tại song song, đặc biệt khi an ninh mạng xuất hiện lỗ hổng Kẻ xấu lợi dụng những lỗ hổng này để thực hiện các hành vi bất hợp pháp, gây thiệt hại cho người dùng, tổ chức và cả chính phủ Trong bối cảnh nhu cầu sử dụng không gian mạng tăng cao, đặc biệt trong thời kỳ dịch bệnh COVID-19, tỷ lệ tấn công trực tuyến cũng gia tăng đáng kể Vì vậy, các công ty công nghệ và nhà phát triển mạng cần gấp rút đưa ra các giải pháp phòng thủ hiệu quả để bảo vệ thông tin, quyền lợi người dùng và hạn chế tác động do lỗ hổng bảo mật gây ra.

TỔNG QUAN VỀ KỸ THUẬT TẤN CÔNG XSS 2.1 Tổng quan về XSS

Tấn công XSS là gì?

Tấn công XSS (Cross-site scripting) xảy ra từ những năm 1990 Vào tháng 1 năm 2000, thuật ngữ “Cross-site scripting” lần đầu được giới thiệu bởi kỹ sư bảo mật của Microsoft Thậm chí ngày nay, XSS vẫn được xem như một mối đe dọa với các ứng dụng web Hầu hết tất cả các trang mạng xã hội phổ biến như Facebook, Twitter, Youtube đều bị ảnh hưởng bởi dạng tấn công XSS này

Tấn công XSS chính là một dạng tấn công xâm nhập [1].Nó là một trong những lỗ hổng bảo mật nghiêm trọng xuất hiện trên các ứng dụng mạng.Trong dạng tấn công này, kẻ tấn công tiêm nhiễm mã JavaScript độc hại đã được tạo ra một cách chỉn chu thông qua các tham số đầu vào bên phía người dùng Nó được thực hiện để tạo nên các hoạt động gây hại thông qua các ứng dụng mạng và thực hiện mục đích như lấy trộm cookie và trộm mã thông báo phiên hay thực thi các dạng tấn công khác Nguồn gốc của dạng tấn công XSS là do bộ lọc không phù hợp của văn bản đầu vào bên phía người dùng, khiến cho kẻ tấn công dễ dàng đưa đoạn mã độc vào trang mạng trên nền tảng OSN. Các mã script độc hại này chạy trên trình duyệt bên phía người dùng.

Tấn công XSS xảy ra khi một kẻ thâm nhập sử dụng ứng dụng mạng để gửi mã tấn công cho phần lớn các nội dung bên phía chương trình Thật không hoàn hảo khi những cuộc tấn công này thành công là rất lớn và xảy ra ở bất kỳ nơi nào mà một ứng dụng mạng sử dụng đóng góp từ một người dùng bên trong mà không phê duyệt hay mã hóa.

Tấn công XSS là một dạng tấn công phổ biến nhất từ khi họ khai thác được rất nhiều lỗ hổng Các lỗ hổng này có thể được tìm thấy bằng cách sử dụng các công cụ google dev và các phương pháp đặc biệt khác Cách đơn giản nhất để ngăn chặn bất kỳ lỗ hổng nào là thoát các ký tự mà một người dùng có thể nhập vào và loại bỏ bất kỳ thẻ HTML nào xuất hiện ở đầu vào trang mạng Các bước kiểm tra thủ công của một ứng dụng mạng cũng có thể tìm kiếm các mã stored XSS và mirrored XSS thông thường thông qua việc gửi các thông tin nhập đơn giản (như một chuỗi ký tự ngắn như số hay chữ) tới từng đầu vào trên ứng dụng; định danh từng vị trí nơi dữ liệu đầu vào đã được gửi đi được trả lại trong phản hổi HTTP, và kiểm tra từng vị trí riêng lẻ để xác định liệu các dữ liệu được nhập đúng cách có thể được sử dụng để thực thi mã JavaScript bất kỳ không.

Các bước khai thác lỗ hổng XSS

Có rất nhiều nghiên cứu tập trung vào việc xác định các cách tấn côngXSS được sử dụng để kiểm soát và điều chỉnh cách trang web vận hành Các nền tảng khác nhau yêu cầu các cách thử nghiệm và khai thác lỗ hổng tấn công XSS khác nhau.

XSS xuất hiện do các khuyết điểm về bảo mật trong HTML, JavaScript, flash, Ajax, Khi mã độc đến từ một nguồn tin cậy, nó được thực thi giống mã JavaScript chính thống để có thể truy cập các thông tin nhạy cảm của nạn nhân.

Về cơ bản rất khó để dự đoán được các lỗ hổng XSS khi có nhiều véc tơ mà kẻ tấn công XSS có thể sử dụng trong các ứng dụng Trái ngược với các lỗ hổng như SQL injection hay OS command injection, XSS lại gây ảnh hưởng bên phía người dùng làm cho việc nắm bắt và giải quyết càng thêm khó khăn. Hơn nữa, không hề có một tiêu chuẩn hay kỹ thuật nào để ngăn chặn tấn công XSS giống như SQL injection Có rất nhiều nghiên cứu tập trung vào việc xác định các cách tấn công XSS được sử dụng để kiểm soát và điều chỉnh cách trang web vận hành Các nền tảng khác nhau yêu cầu các cách thử nghiệm và khai thác lỗ hổng tấn công XSS khác nhau Việc sử dụng các lớp bảo mật như đã nói ở trên là một cách tuyệt vời để phòng tránh tấn công XSS, đây là một điều cơ bản cần lưu ý nhưng trái lại các chiến lược phòng tránh này sẽ hỗ trợ phần lớn các vecto tấn công XSS chứ không phải tất cả Điểm then chốt là sử dụng sự kết hợp việc thử nghiệm tĩnh được lập trình, kiểm tra mã, và thử nghiệm động với việc áp dụng kỹ thuật mã hóa bảo mật Nếu biện pháp này không được triển khai và chạy thường xuyên với các biện pháp bảo mật khác như hệ thống phát hiện xâm nhập (Intrusion Detection Systems) thì kẻ tấn công vẫn có thể chiếm quyền kiểm soát các dịch vụ quan trọng và dữ liệu nhạy cảm.

Các bước để kiểm tra xem trang mạng có lỗ hổng XSS hay không:

- Bước 1: Tìm kiếm trường đầu vào khả dụng trên trang mạng.

- Bước 2: Nhập bất kỳ đoạn chuỗi nào vào trường định danh và gửi nó đi Tìm kiếm đoạn chuỗi này trong phần mã nguồn của trang mạng.

Bước 3: Kiểm tra xem chuỗi đã nhập có hiển thị trên trang hay không Nếu hiển thị thì trang web có lỗ hổng XSS, còn không thì không Nên thử nhiều đầu vào khác nhau.

- Bước 4: Nhập vào một đoạn mã độc “alert(“XSS”);” và gửi.

- Bước 5: Nếu trang mạng không sửdụng bất kì kĩ thuật bảo vệ nào, thì mã script độc hại sẽ được thực thi trong trình duyệt Sau khi thực thi thành công, một ô hộp thoại sẽ xuất hiện, phản hồi lại đoạn mã XSS. Điều này biểu thị rằng trang mạng đã bị tấn công XSS Bằng cách chèn mã, kẻ tấn công có thể trộm mã phiên và thông tin cookie của người dùng và thực hiện truy cập tài khoản để thực hiện các dạng tấn công khác.

Tỷ lệ tấn công XSS gần đây

Đây là một công việc khó khăn để phát hiện tấn công XSS dựa vào hành vi không thay đổi tương đối của trình duyệt và phân biệt giữa đoạn JavaScript độc hại từ nội dung mạng thông thường Hầu hết hệ thống ứng dụng trực tuyến lớn bị tấn công bởi mã độc XSS Các trang web như Twitter, Facebook, Youtube và Drupal đều bị tấn công nặng nề bởi XSS.

Bảng 2.1 Tỷ lệ tấn công XSS gần đây[7] Ứng dụng mạng Năm Ảnh hưởng

Evernote in Windows 2018 Máy tính nạn nhận bị truy cập từ xa. Trend Micro

OfficeScan 2017 Thông tin nhạy cảm bị rò rỉ.

Tạo truy cập đến thông tin bảo mật trên trình duyệt dẫn đến chiếm đoạt tài khoản.

Tấn công XSS ảnh hưởng đến cổng VPN của Cisco và hậu quả là lấy trộm các chứng chỉ của người dùng.

Drupal 2016 Chiếm đoạt tài khoản.

Các hacker sử dụng mã ký sinh trên trang đăng nhập để trộm thông tin đăng nhập người dùng.

Kẻ tấn công tiêm nhiễm các mã độc thông qua cổng đăng nhập dẫn đến tiếp quản ứng dụng.

Các véc tơ tấn công XSS được phát hiện trong đơn yêu cầu thông tin kỹ thuật và khoa học NASA gây nên việc sai lệch thông tin cho người dùng.

Lỗi XSS được nhận diện trong mạng trung chuyển nội dung của Facebook cho phép các hacker chiếm đoạt tài khoản người dùng.

WordPress 2015 Thông tin bị tiết lộ.

Lỗ hổng XSS dạng lưu trữ được tìm thấy trong các dịch vụ giao dịch điện tử tạo điều kiện cho tin tặc chèn mã độc, mở đường cho nhiều hình thức tấn công khác.

Site 2014 Sai lệch thông tin

RadEditor 2014 Dữ liệu người dùng được bảo vệ không đúng cách dẫn đến bị trộm thông tin cá

HTML Editor nhân và bị tấn công drive-by-download

Yahoo Mail 2013 Hacker tận dụng tấn công DOM-based

XSS để chiếm đoạt tài khoản người dùng

Hacker vượt qua bộ lộc XSS được thuê trong IE 8 và phiên bản cao hơn thông qua việc tiêm nhiễm các mã độc JavaScript vào thuộc tính được tạo ra bởi kẻ tấn công.

Kẻ tấn công tiêm nhiễm mã độc vào danh sách sản phẩm và gây nên sai lệch thông tin cho người dùng.

McAfee 2012 Lỗ hổng XSS cho phép kẻ tấn công thực thi tấn công drive-by-download.

Lỗ hổng bảo mật trong Hotmail cho phép kẻ tấn công trộm tài khoản và cookie người dùng chiếm phiên làm việc của họ.

Lỗ hổng XSS cho phép kẻ tấn công trộm

ID session để chiếm quyền qua tài khoản người dùng khi họ nhấn vào đường dẫn chứa mã độc.

Lỗi XSS cho phép hacker chiếm đoạt tài khoản bằng cách đăng các bình luận hay bài đăng độc hại.

Orkut 2010 Hình thành nhóm các mã độc.

Tác hại của tấn công XSS

Kẻ tấn công có thể sử dụng XSS để gửi một nội dung không lành mạnh đến người dùng Chương trình của người dùng cuối không có cách nào để nhận ra rằng nội dung trên là không đáng tin cậy và sẽ thực thi nội dung đó. Khi nó nghĩ rằng nội dung này có nguồn gốc từ một nguồn đáng tin, thì nội dung độc hại này có thể lấy được bất kỳ mã thông báo hay dữ liệu nào được lưu trữ bởi chương trình và sử dụng nó với trang đó Những nội dung này có thể thay đổi các thành phần của trang HTML.

XSS không chỉ cho phép những kẻ tấn công chạm vào các thông tin nhạy cảm của người dùng mà còn cho phép thực hiện nhiều dạng tấn công nâng cao khi sử dụng máy nạn nhân Bảng 2.2 nêu lên các ảnh hưởng và tác động của tấn công XSS trên máy nạn nhân.

Bảng 2.2 Ảnh hưởng của tấn công XSS[7]

Các vi phạm Diễn giải

Không có gì là bất khả thi để kẻ tấn công trộm cookie được gửi bởi máy chủ để duy trì ID session và chiếm quyền kiểm soát tài khoản để thực hiện các hành vi độc hại như gửi các tin nhắn spam tới bạn bè của họ.

Những kẻ tấn công thường nhắm mục tiêu đánh cắp các thông tin nhạy cảm như thông tin tài khoản tài chính hoặc thông tin đăng nhập tài khoản ngân hàng vì mục đích trục lợi cá nhân Khi chiếm được quyền truy cập vào tài khoản, chúng có thể tiếp cận máy chủ hệ điều hành mạng xã hội (OSN) và hệ thống cơ sở dữ liệu, từ đó nắm quyền kiểm soát hoàn toàn các ứng dụng mạng xã hội trên hệ thống.

Sai lệch thông tin Đây là một lỗ hổng về sai lệch thông tin Nó có thể

(Misinformation) bao gồm các mã độc dùng để theo dõi các thống kê về luồng dữ liệu của người dùng, dẫn đến mất quyền riêng tư Lớn hơn, nó có thể thay đổi nội dung trang, dẫn đến mất tính toàn vẹn

Tấn công từ chối dịch vụ (Denial of

Giao diện lập trình ứng dụng (API) dữ liệu được cung cấp là chức năng rất quan trọng của tổ chức Tuy nhiên, các cuộc tấn công Cross-Site Scripting (XSS) đe dọa đến sự bảo mật này, lừa người dùng truy cập các trang web giả mạo khiến họ không thể truy cập trang web thực, tạo cơ hội cho kẻ tấn công thực hiện thành công các cuộc tấn công Tấn công từ chối dịch vụ (DDoS) Các mã lệnh độc hại chặn dịch vụ ứng dụng web có thể làm gián đoạn trình duyệt của người dùng, thậm chí vô hiệu hóa hoàn toàn dịch vụ bằng cách tạo ra các cửa sổ bật lên liên tục.

Các mã độc script có thể điều hướng trình duyệt người dùng tới trang của kẻ tấn công để chiếm toàn quyền kiểm soát máy tính người dùng và sử dụng nó để cài đặt các chương trình độc hại như virus, trojan horse, và có thể đạt quyền truy cập các thông tin nhạy cảm. Điều khiển hệ thống từ xa (Remote

Một khi vecto tấn công XSS được thực thi trên máy nạn nhân, nó sẽ mở ra một con đường cho kẻ tấn công tiêm nhiễm các mã độc khác nhau giúp đạt được quyền truy cập từ xa đến máy nạn nhân Sau đó, hệ thống có thể thực hiện các hoạt động gây hại trên Internet hay trở thành một phần của mạng lưới mạng cho việc khởi chạy các dạng tấn công khác như botnet army

Khi người dùng nhấp vào đường dẫn độc hại được gửi bởi kẻ tấn công thì sẽ điều hướng người dùng đến trang mạng giả mạo do kẻ tấn công thiết kế để tạo truy cập vào thông tin nhạy cảm như các thông tin đăng nhập của người dùng

Phân loại các dạng tấn công XSS

Rất nhiều các trang web hay các ứng dụng ngày nay thu nhập và hiển thị dữ liệu từ mỗi khách truy cập như những bình luận trên blog hay những đánh giá trên trang thương mại điện tử Nếu nhà phát triển ứng dụng web không thêm một số biểu mẫu chắt lọc đầu vào của người dùng trước khi hiển thị nó lên thì bất kỳ ai cũng có thể chèn thêm các nội dung không chỉ là văn bản thuần túy đơn thuần Một người dùng xấu có thể lạm dụng cơ chế đầu vào này để chèn và khởi chạy các mã JavaScript độc hại được ẩn đi với người dùng, và hiện diện như một phần của của trang hay ứng dụng hợp pháp với trình duyệt. Điều này cho phép kẻ xấu truy cập bất kỳ trang web hay ứng dụng nào mà người dùng có thể Ví dụ, nếu kẻ tấn công tìm thấy một lỗ hổng XSS trên trang Amazon.com thì chúng có thể tận dụng nó để truy cập vào tất cá dữ liệu cá nhân của Amazon bao gồm những thứ như dữ liệu của người dùng, thậm chí cả thông tin xác thực cookie, session của họ để sử dụng đăng nhập với tư cách là chính họ Về bản chất, kẻ tấn công có thể làm hay truy cập bất cứ thứ gì trên Amazon khi họ sử dụng tài khoản người dùng.

Có các cách khác nhau để thực hiện tấn công XSS Nó có thể được thực hiện theo ba cách khác nhau và do đó được phân loại thành ba loại [10] persistent XSS attack, non-persistent XSS attack, DOM-based XSS attack.

Nó được biết đến với cái tên tấn công Stored XSS bởi mã script độc hại được lưu trữ vĩnh viễn tại phần cuối máy chủ Trong dạng tấn công này, kẻ tấn công tiêm nhiễm mã độc được tạo bởi các dòng mã vào trong máy chủ một cách vĩnh viễn Sau đó, bất kỳ người dùng nào ghé thăm trang mạng chứa mã script này sẽ bị nhiễm dạng tấn công này Nó là dạng tấn công XSS nguy hiểm nhất trong các loại tấn công do kẻ tấn công chỉ cần tiêm nhiễm mã độc vào trong máy chủ một lần duy nhất và gây ảnh hưởng đến một lượng lớn người dùng nhẹ dạ cả tin với các cơ chế bảo vệ không phù hợp Hình 2.1 miêu tả kịch bản tấn công XSS liên tục.

Hình 2.1 Dạng tấn công Stored XSS [7]

Nó được biết đến là dạng tấn công reflected XSS do mã độc script được phản hồi lại trong phần phản hồi của máy chủ Ở dạng tấn công này, kẻ tấn công tạo ra các đường dẫn URL độc hại và sử dụng email gửi nó cho nạn nhân hay gửi một tin nhắn độc đáo lên phương tiện truyền thông đại chúng. Khi người dùng nhấp vào đường dẫn, một yêu cầu sẽ được gửi đến máy chủ nhưng do yêu cầu đó chứa mã script nên nó không được lưu trữ trên máy chủ mà nó phản hồi lại mã script độc hại cho người dùng Và rồi, mã script sẽ được thực thi bên phía trình duyệt và người dùng sẽ chịu ảnh hưởng bởi dạng tấn công XSS này Mặc dù tấn công Reflected XSS có tác động tương tự với

3 Gửi tin nhắn độc hại

8 Đọc tin nhắn độc hại

9 Phản hồi bằng tin nhắn

7 Yêu cầu truy cập ứng dụng mạng

Thực thi mã Script Ứng dụng mạng

Kẻ tấn công tấn công Stored XSS nhưng ít dữ dội hơn do script không được nhúng trong ứng dụng web và phải yêu cầu người dùng tương tác để thành công Hình 2.2 miêu tả toàn bộ kịch bản của dạng tấn công này.

Hình 2.2 Non-Persistent XSS attack [7]

Tấn công XSS dựa trên mô hình đối tượng tài liệu – DOM (Document Object Model) là dạng tấn công XSS bên phía người dùng DOM cho phép trình duyệt xử lý nội dung web được trình bày bởi trang web Ở đây, mã script độc có thể thay đổi cấu trúc DOM Nếu DOM không được lọc đúng cách thì nó dẫn đến việc bị rò rỉ thông tin nhạy cảm Các thuộc tính của DOM như document.location, document.write, và document.anchors có thể bị sử dụng

Thực thi mã Script Ứng dụng mạng

Tên miền phía hacker Tên miền tin cậy

5 Tin nhắn lỗi kèm mã script độc

2 Người dùng nhấn vào đường dẫn

3 Tìm kiếmđối tượng yêu cầu

1.TạoURL độc hại để thực thi dạng tấn công XSS do các thuộc tính này được sử dụng để truy cập và thay đổi các đối tượng HTML của trang web Dạng tấn công này rất ít bị tìm thấy bởi các nhà nghiên cứu do nó rất khó để phát hiện và hạn chế dạng tấn công này Nó yêu cầu một phân tích tỉ mỉ của cây DOM trong khi phải phiên dịch trang web hay phản hồi hiển thị bởi máy chủ.

Phản hồi sau khi thao tác innerhtml

Var word = location.search.substring(6);

Documnet.querySelector(‘em’).innerhtml = word;

Máy chủ web phản hồi lại nạn nhân

Người dùng tìm kiếm:

Var word = location.search.substring(6);

Documnet.querySelector(‘em’).innerhtml = word;

2 Người dùng nhấp vào đường dẫn và gửi yêu cầu

3 Tin nhắn lỗi kèm mã script độc hại

Hình 2.3 Dạng tấn công DOM-Based XSS [7]

Các kỹ thuật phát hiện và phòng chống

Có một số ít phương pháp phòng chống được cho là hiệu quả với dạng tấn công XSS.

2.2.1 Escaping input – Thoát dữ liệu đầu vào

Kỹ thuật đầu tiên là Escaping input, là khái niệm về việc bảo đảm dữ liệu ứng dụng được gửi đi một cách bảo mật trước khi kiết xuất cho các quy trình sau này Kỹ thuật này cũng được sử dụng để mã hóa các ký tự đặc biệt Như đã thể hiện trong bảng 2.3, escaping thay đổi các ký tự cụ thể có thể được giải mã thành mã gây hại bằng cách thay đổi hay thay thế chúng bằng các ký tự khác.Nó hỗ trợ kiểm soát thông tin được đưa vào trang web để hạn chế nguy cơ tấn công XSS Nếu người dùng không được phép thêm dòng lệnh hay thông tin vào một trang web, thì một nguyên tắc nhỏ là thoát tất cả HTML, URL và JavaScript Nếu trang web cho phép người dùng nhập những thông tin trên thì tốt nhất nên sử dụng một cách tiếp cận tương tựđể thoát khỏi tất cả đầu vào HTML.

Bảng 2.3 Các cách thoát khỏi tấn công bằng ký tự đặc biệt

2.2.2 Input validation–Xác thực dữ liệu đầu vào

Một kỹ thuật khác được biết đến với tên gọi Input validation Kỹ thuật này dựa vào quy trình đảm bảo dữ liệu đầu vào là lành tính và không chứa các ký tự không mong muốn hay các giá trị không tốt có thể tấn công cơ sở dữ liệu, trang web hay người dùng Xác thực giá trị đầu vào là một kỹ thuật phòng chống hiệu quả đối với dạng tấn công XSS bởi nó ngăn chặn người dùng nhập các ký tự đặc biệt vào các trường thay vì cố gắng chặn hay từ chối các yêu cầu kết quả.

2.2.3 Sanitizing input – Làm sạch dữ liệu đầu vào

Quá trình vệ sinh dữ liệu đầu vào là một biện pháp quan trọng ngăn chặn tấn công XSS, gồm nhiều kỹ thuật như thoát ký tự và chứng thực Những giá trị đầu vào từ người dùng sẽ được phân tích, loại bỏ các ký tự khả nghi và đưa về định dạng chấp nhận được Quá trình này đặc biệt hiệu quả đối với các trang web cho phép chỉnh sửa theo chuẩn HTML.

2.2.4 Whitelisting values – Các giá trị thuộc danh sách trắng

Một cách khác để ngăn chặn tấn công XSS là whitelisting values Nếu một dữ liệu cụ thể động chỉ nên chấp nhận một số giá trị hợp lệ, tốt nhất là luyện tập cho logic kết xuất chỉ cho phép các giá trị được phép đã biết Ví dụ, một trang web yêu cầu một tham số “màu mắt” để đảm bảo chỉ có các ký tự của bảng chữ cái – hay một danh sách giới hạn các giá trị quy định- được chấp nhận thay vì các chữ số hay các ký tự đặc biệt khác Trong khi whitelisting và input validation thường liên quan đến các cuộc tấn công SQL injection,nhưng nó cũng có thể được sử dụng để ngăn chặn tấn công XSS.

2.2.5 Content-security policy – Chính sách bảo mật nội dung

Tấn công XSS dựa vào việc kẻ tấn công có thể chạy các mã script độc hại trên trang web người dùng bằng cách chèn các thẻ nội tuyến ở đâu đó vào trong thẻ của trang, hay đánh lừa trình duyệt tải JavaScript từ một tên miền độc hại thứ ba Do vậy, phương pháp cuối cùng để ngăn chặn tấn công XSS là thực thi một chính sách bảo mật nội dung (content-security policy) Một chính sách bảo mật nội dung cho phép nhà sáng tạo trang web chỉ định nơi JavaScript và các phương pháp gây hại tiềm tàng khác có thể khởi chạy và thực thi Theo cách này, content-security policy có thể đảm bảoJavaScript nội tuyến không được thực thi, ngăn chặn được một số dạn tấn công XSS.

Các nghiên cứu trước đây

2.3.1 Tổng quan tình hình nghiên cứu

- Ensemble Methods to Detect XSS Attacks - Nagarjun, Shaik Shakeel Ahamad [2]

Nagarjun, Shaik Shakeel Ahamad đã nghiên cứu về một phương pháp phát hiện các cuộc tấn công XSS dựa trên các thuật toán học máy, có tên là phương pháp tổng hợp Đây là cách kết hợp các mô hình cơ sở khác nhau và các mô hình học tổng hợp có thể đưa ra các kết quả tối ưu so với các mô hình cơ sở Tác giả cho rằng một vấn đề phổ biến trong các kỹ thuật ngăn chặn XSS hiện hành là do không có khả năng phát hiện các cuộc tấn công XSS mới và không xác định Các mô hình phát hiện XSS có mức hiệu quả cao có thể được xây dựng bằng cách sử dụng kỹ thuật học tổng hợp Các mô hình tổng hợp sử dụng các thuật toán khác nhau để đạt được tỷ lệ dự đoán tốt hơn. Trong học tổng hợp các mô hình cơ sở được kết hợp theo 3 cách

Bagging (Bootstrap Aggregation) là phương pháp sử dụng nhiều thuật toán học yếu trên các tập dữ liệu mẫu nhỏ và lấy trung bình các dự đoán của các thuật toán này Quá trình này giúp giảm độ xung đột giữa các thuật toán và cải thiện hiệu suất của mô hình học máy.

 Boosting: Đây là một phương pháp lặp, trong boosting trọng lượng mẫu dựa trên phân loại trước đó Boosting sẽ làm giảm lỗi chênh lệch.

 Stacking: Trong đầu ra này của một mô hình được đưa ra làm đầu vào đối với một mô hình khác Stacking sẽ làm giảm sự xung khắc hay độ chênh lệch dựa trên mô hình được sử dụng.

Trong nghiên cứu này, các véc tơ XSS được thu thập bằng cách sử dụng các công cụ XSS phổ biến như XSStrike, XSSER và từ các nguồn khác nhau đã thu thập được hàng ngàn vecto tấn công Tập dữ liệu chứa 154626 mẫu độc nhất với các nhãn Một nửa tập dữ liệu này là các vecto tấn công XSS và nửa còn lại là các vecto an toàn Các vecto tấn công XSS và các vecto an toàn được duy trì ở 128 ký tự và các chuỗi dài hơn được phân tách thành 128 khối ký tự Các vecto an toàn được tạo ra ngẫu nhiên này có 3 loại với độ dài nằm trong khoảng từ 40 đến 126, chúng là: chuỗi chỉ có các ký tự bảng chữ cái viết hoa hoặc viết thường, chuỗi có cả các ký tự bảng chữ cái và số, và chuỗi có cả ký tự bảng chữ cái, số và ký tự đặc biệt Số lượng các véc tơ an toàn được tạo ra phụ thuộc vào các véc tơ tấn công XSS, nhằm duy trì sự cân bằng giữa các mẫu XSS và các mẫu an toàn của tập dữ liệu Tập dữ liệu đã được cân bằng này sử dụng để huấn luyện và thử nghiệm các mô hình.

Trong nghiên cứu này, các phương pháp học tổng hợp được sử dụng là phân loại rừng ngẫu nhiên, AdaBoost, bagging với SVM, Extra-Trees, gradient boosting, và histogram-based gradient boosting Để tính toán chỉ số hiệu suất của mô hình, tác giả sử dụng ma trận hỗn độn tính toán các giá trị độ thu hồi, độ đúng đắn, F-measure, và độ chính xác.

- Cross-Site Scripting Attacks Classification, Attacks andCountermeasures – B B Gupta và Pooja Chaudhary [7]

Tác giả đưa ra cái nhìn toàn cảnh và chi tiết về tấn công XSS, những ảnh hưởng của nó trong những năm gần đây Do đó trong nghiên cứu này, họ đã kiến nghị một phương pháp hỗ trợ trong việc phòng thủ tấn công XSS. Phương pháp được đề nghị này là một kỹ thuật lọc văn bản nhạy cảm dựa trên việc phân cụm và tách khung hình Thêm vào đó, nó là kỹ thuật client-server nhằm cung cấp sự bảo vệ tới từng khung hình của ứng dụng khỏi tấn công XSS Nó được thực hiện thông qua việc xác định việc chèn một phần JavaScript cùng với toàn bộJavaScript đang kết nối Phương thức phòng chống kẻ tấn công thực hiện truy cập đến bất kỳ khung hình nào Phương pháp có 2 giai đoạn: công đoạn đào tạo và công đoạn nhận biết Trong giai đoạn cũ, ứng dụng mạng được chia thành tất cả khung hình khả dụng và ACL được huấn luyện để kiểm tra tất cả các đặc quyền/quyền mà một khung hình cụ thể có thể bảo mật Giai đoạn sau xác định tất cả các điểm xâm nhập trong khung hình được tạo tương ứng với mỗi yêu cầu HTTP giải nén bên phía máy chủ Sau đó, bên phía người dùng, công đoạn nhận biết thực hiện một hành động xác thực để chứng nhận khung hình tương thích có sở hữu khả năng thực hiện được hành động đó hay không Nếu hành động đó được xác thức thì yêu cầu được cho phép và nó sẽ phát hiện dạng tấn công XSS độc hại tại mỗi điểm trích xuất xâm nhập của ứng dụng mạng Sau đó nó thực thi thuật toán so sánh chuỗi tương đối để xác định việc chèn script thành phần với nhau theo cụm để tạo mẫu nén trên cuộc tấn công XSS Cuối cùng, các mẫu theo cụm được lọc theo quy trình lọc với bối cảnh phù hợp và kết quả được hiển thị cho người dùng.

Tác giả đã thực hiện thử nghiệm của mình trên năm nền tảng mạng xã hội thực: Elgg, Humnub, WordPress, Drupal, Joomlavới 127 vecto tấn công XSS và thu được các kết quả khá khả quan.

- Preventing Cross-Site Scripting Attacks with CodeSanitization Techniques – Annu Choudhary, Rajendra Kachhwaha, Arjun Choudhary Assistant [3]

Tác giả đã chứng minh thành công việc vượt qua lỗ hổng XSS phản ánh và XSS lưu trữ ở mọi mức độ bảo mật bằng cách sử dụng ứng dụng web dễ bị tấn công Nghiên cứu này đã đề xuất một giải pháp có thể loại bỏ hạn chế của các giải pháp hiện có, có thể tích hợp vào bất kỳ ứng dụng nào.

- Detecting Cross-Site Scripting Vulnerabilities through Automated Unit Testing – Mahmoud Mohammadi, Bill Chu, Heather Richter Lipford [4]

Hướng tiếp cận của tác giả là thêm thử nghiệm cho lỗ hổng XSS vào thử nghiệm đơn vị, một hoạt động phát triển phần mềm phổ biến Cách tiếp cận này gồm 3 yếu tố Đầu tiên, để củng cố phạm vi thử nghiệm lỗ hổng XSS, tác giả xây dựng nhiều tệp thử nghiệm đơn vị dựa trên một JSP cho trước trong ứng dụng Thứ 2, tác giả xác nhận từng lỗ hổng bằng cách kết xuất các trang web bị tấn công sử dụng JwebUnit Thứ 3, tác giả có một cách tạo chuỗi tấn công có cấu trúc cho đầu vào thử nghiệm.

Họ hạn chế dương tính giả bằng cách xác nhận các lỗ hổng thông qua thực thi Dương tính giả là một trở ngại cho việc áp dụng rỗng rãi các công cụ bảo mật phần mềm Cách tiếp cận thử nghiệm này có thể xác định chính xác vị trí các lỗ hổng, khiến việc sửa chữa dễ dàng hơn Tác giả cũng hạn chế tối đa âm tính giả bằng việc củng cố phạm vi bao phủ đường dẫn cho các thử nghiệm đơn vị cũng như tạo chuỗi tấn công có cấu trúc sử dụng ngữ pháp

BNF dựa trên xây dựng mô hình cách trình duyệt thông dịch các chương trình JavaScript.

2.3.2 Ưu điểm và hạn chế

- Ensemble Methods to Detect XSS Attacks - Nagarjun, Shaik Shakeel Ahamad Ưu điểm Hạn chế

- Nêu ra được giải pháp có thể phát hiện tất cả các dạng tấn công XSS.

- Đưa ra được bảng so sánh điểm xác thực chéo về độ thu hồi, độ đúng đắn, F-measure, và độ chính xác của từng mô hình

- Có độ chính xác lên đến 0.9989 trong mô hình phân loại HGBC

- Cách thức thực hiện chưa chi tiết

- Yêu cầu nhiều sự tính toán hơn so với một mô hình riêng lẻ

- Cross-Site Scripting Attacks Classification, Attacks and Countermeasures – B B Gupta và Pooja Chaudhary Ưu điểm Hạn chế

- Có tỷ lệ phát hiện tấn công cao khi thử nghiệm trên nền tảng mạng xã hội thực

- Có mức dương tính giả và âm tính giả ở mức thấp.

- Mức hiệu suất trên các nền tảng lớn hơn 0.9 qua phương pháp phân tích F-measure

- Số lượng vecto tấn công được sử dụng để thử nghiệm không nhiều.

- Preventing Cross-Site Scripting Attacks with CodeSanitization Techniques – Annu Choudhary, Rajendra Kachhwaha, Arjun Choudhary Assistant Ưu điểm Hạn chế

- Đưa ra thử nghiệm về cách vượt qua hai loại lỗ hổng XSS (stored và reflected) trong cả 3 mức độ bảo mật.

- Chưa đưa ra cơ chế hoạt động và các bước thực hiện của phương pháp đề xuất

- Chưa có hoạt động thử nghiệm kiểm tra hiệu suất của phương pháp

- Detecting Cross-Site Scripting Vulnerabilities through Automated Unit Testing – Mahmoud Mohammadi, Bill Chu, Heather Richter Lipford Ưu điểm Hạn chế

- Phương pháp có tỷ lệ dương tính giả thấp và phát hiện được các lỗ hổng mà đến ZAP cũng không phát hiện được.

- Hiệu suất tính toán hợp lý với môi trường thử nghiệm và có thể mở rộng ra môi trường thế giới thực.

Kết chương

Khi Internet ngày càng phát triển vượt bậc, nó đan xen với cuộc sống thường ngày của người dùng như một vùng ảo nơi họ có được các dịch vụ nhanh hơn tại bất kỳ đâu, bất kỳ thời điểm nào Nó được các tổ chức trên thế giới thông qua với mục tiêu mở rộng kinh doanh Do sự gia tăng và khả năng sử dụng đã đem lại một số vấn đề về bảo mật Một trong những mối bận tâm chính là XSS Do đó, chương này tập trung vào xây dựng các dạng tấn côngXSS cơ bản trong cách thức khai thác và tóm lược Chúng ta đã đưa ra các loại XSS cùng với tác hại của nó và cũng cung cấp thông tin liên quan đến các phương pháp phòng chống được phát triển bởi nhà nghiên cứu Cuối cùng nhưng không kém phần quan trọng, XSS không thể ngăn chặn hoàn toàn trừ khi người dùng internet tự cảnh giác về việc bảo mật và quyền riêng tư của bản thân mình và các nhà phát triển phần mềm phát triển phần mềm bảo mật.

TRIỂN KHAI ỨNG DỤNG VÀ XÂY DỰNG PHƯƠNG ÁN PHÒNG CHỐNG DẠNG TẤN CÔNG XSS 3.1 Công cụ sử dụng

Xampp

XAMPP là từ viết tắt trong đó X là viết tắt của Cross-Platform, A là viết tắt của Apache, M là viết tắt của MYSQL và Ps là viết tắt của PHP và Perl,tương ứng XAMPP là một phần mềm mã nguồn mở được phát triển bởiApache Friends Gói phần mềm XAMPP chứa các bản phân phối Apache cho máy chủ Apache, MariaDB, PHP và Perl Và về cơ bản nó là máy chủ cục bộ.Máy chủ cục bộ này hoạt động trên máy tính để bàn hoặc máy tính xách tay.Việc sử dụng XAMPP là để kiểm tra các máy khách hoặc trang web trước khi tải nó lên máy chủ web từ xa Phần mềm máy chủ XAMPP này cung cấp cho người dùng một môi trường thích hợp để thử nghiệm các dự án MYSQL,PHP, Apache và Perl trên máy tính cục bộ.

WAF (Web Application Firewall – Tường lửa ứng dụng mạng)

Tường lửa ứng dụng web (WAF) bảo vệ ứng dụng web bằng cách kiểm soát luồng HTTP giữa ứng dụng với Internet WAF hoạt động ở lớp 7 trong mô hình OSI và tập trung vào bảo vệ chống lại các cuộc tấn công như XSS và SQL injection Tuy nhiên, WAF không thể ngăn chặn mọi loại tấn công và hiệu quả nhất khi được kết hợp với các biện pháp bảo vệ khác để tạo nên một hệ thống phòng thủ toàn diện.

Bằng cách thực thi WAF trước một ứng dụng web, một tấm khiên sẽ được đặt giữa ứng dụng web và Internet Trong khi một máy chủ proxy bảo vệ danh tính máy khách bằng cách sử dụng trung gian, thì WAF lại là một dạng proxy ngược, bảo vệ máy chủ khỏi bị lộ bằng cách cho máy khách đi qua WAF trước khi đến máy chủ.

WAF vận hành theo một tập hợp các quy tắc thường được gọi là các chính sách Các chính sách này nhằm chống lại các lỗ hổng trong ứng dụng bằng cách lọc ra các lưu lượng độc hại Giá trị của WAF một phần đến từ tốc độ và việc một chính sách có thể được sửa đổi dễ dàng, cho phép phản hồi nhanh hơn với các véc tơ tấn công; trong tấn công DdoS, việc giới hạn tỷ lệ có thể được thực hiện nhanh chóng bằng cách chỉnh sửa chính sách WAF. 3.1.2.2 WAF hoạt động ra sao?

WAF bảo vệ ứng dụng web bằng cách lọc, kiểm soát, và chặn lưu lượng HTTP/HTTPS độc hại truyền đến ứng dụng web, và ngăn chặn mọi dữ liệu trái phép rời khỏi ứng dụng Nó thực hiện việc này bằng cách tuân thủ một tập hợp các chính sách hỗ trợ xác định lưu lượng độc hại và lưu lượng an toàn Giống như máy chủ proxy đóng vai trò trung gian để bảo vệ danh tính khách hàng, WAF hoạt động theo cách tương tự nhưng ngược lại – được gọi là proxy ngược – hoạt động như một trung gian bảo vệ máy chủ ứng dụng web khỏi một máy khách độc hại tiềm ẩn.

Dựa trên các chính sách, WAF sẽ tiếp tục quét các ứng dụng mạng và các yêu cầu POST/GET mà nó nhận được để xác định và lọc các hoạt động và các yêu cầu độc hại Điều quan trọng cần chú ý là các WAF phân tích không chỉ các header mà còn cả nội dung của tất cả các gói tin để chặn các yêu cầu bất hợp pháp và những tường lửa WAF thông minh thậm chí còn thử thách các yêu cầu để yêu cầu người dùng chứng minh rằng họ là người chứ không phải là con bot.

Hình 3.1 Mô hình hoạt động của WAF

Khi nó tìm thấy sơ hở trong chính ứng dụng, WAF ngay lập tức vá chúng để chặn tự động những kẻ tấn công và các tác nhân độc hại (bots, các địa chỉ

IP tấn công, đầu vào dựa trên tấn công, ) khỏi việc phát hiện ra những sơ hở đó Bằng cách này, nhà phát triển có thời gian để sửa các lỗ hổng/ sơ hở trong ứng dụng.

WAF có thể được triển khai dưới dạng phần mềm, thiết bị hoặc dịch vụ cung cấp Chính sách của WAF có thể được điều chỉnh để đáp ứng các yêu cầu cụ thể của ứng dụng web hoặc hệ thống các ứng dụng web Mặc dù nhiều WAF yêu cầu cập nhật chính sách thường xuyên để vá các lỗ hổng mới, những tiến bộ trong học máy đã cho phép một số WAF cập nhật chính sách của chúng tự động.

3.1.2.3 Mô hình bảo mật của WAF

Tường lửa ứng dụng web có thể sử dụng mô hình bảo mật positive hay negative, hoặc kết hợp cả hai.

- Mô hình bảo mật positive: chứa một danh sách trắng để lọc lưu lượng truy cập theo danh sách các phần tử và hành động được phép – bất kỳ dữ liệu gì không có trong danh sách đều sẽ bị chặn Ưu điểm của mô hình này là nó có thể chặn được các cuộc tấn công mới hay chưa biết mà nhà phát triển không lường trước được.

- Mô hình bảo mật negative: chứa một danh sách đen (hay danh sách từ chối) chỉ chặn các mục cụ thể - bất kỳ dữ liệu gì không có trong danh sách đều được phép Mô hình này dễ thực hiện hơn nhưng nó không thể đảm bảo rằng tất cả các mối đe dọa đều được giải quyết Nó cũng yêu cầu duy trì một danh sách dài các dấu hiệu độc hại Mức độ bảo mật phụ thuộc vào số lượng các hạn chế được thực hiện.

3.1.2.4 Các tính năng của WAF

Các tường lửa ứng dụng web thường cung cấp các tính năng sau:

Bảng 3.1 Các tính năng của WAF [6]

Các cơ sở dữ liệu chứa đặc trưng tấn công

Các đặc điểm tấn công là những mẫu có thể biểu thị lưu lượng truy cập độc hại, bao gồm các loại yêu cầu, phản hồi bất thường từ máy chủ và địa chỉ IP độc hại WAF chủ yếu dựa vào cơ sở dữ liệu mẫu tấn công tĩnh, dẫn đến hiệu quả thấp trong việc ngăn chặn các cuộc tấn công mới hoặc chưa biết Do đó, phân tích mô hình lưu lượng truy cập bằng AI là phương pháp cần thiết để bảo vệ tốt hơn trước các mối đe dọa mới nổi.

Các thuật toán trí tuệ nhân tạo cho phép phân tích hành vi của các mẫu lưu lượng, sử dụng đường cơ hỗ trợ sở hành vi cho các loại lưu lượng khác nhau để phát hiện các điểm bất thường biểu thị một cuộc tấn công Điều này cho phép người dùng phát hiện các cuộc tấn công không khớp với các mẫu độc hại đã biết.

Lập hồ sơ ứng dụng Việc này liên quan đến việc phân tích cấu trúc của một ứng dụng, bao gồm các yêu cầu điển hình, URL, giá trị và kiểu dữ liệu được phép Điều này cho phép WAF xác định và chặn các yêu cầu độc hại tiềm ẩn.

Tinh chỉnh Người vận hành có thể xác định các quy tắc bảo mật được áp dụng cho lưu lượng ứng dụng Điều này cho phép các tổ chức tùy chỉnh hành vi WAF theo nhu cầu của họ và ngăn chặn việc chặn lưu lượng truy cập hợp pháp.

Công cụ tương quan Chúng phân tích lưu lượng truy cập đến và phân loại nó với các đặc trưng tấn công đã biết, lập hồ sơ ứng dụng, phân tích AI và các quy tắc tùy chỉnh để xác định xem có nên chặn nó hay không. Nền tảng bảo vệ

Python

Python là ngôn ngữ lập trình hướng đối tượng, cấp cao, mạnh mẽ, được tạo ra bởi Guido van Rossum Python là một ngôn ngữ lập trình máy tính thường được sử dụng để xây dựng các trang web và phần mềm, tự động hóa các tác vụ và tiến hành phân tích dữ liệu Python là một ngôn ngữ dành cho mục đích chung, có nghĩa là nó có thể được sử dụng để tạo nhiều chương trình khác nhau và không chuyên cho bất kỳ vấn đề cụ thể nào Tính linh hoạt này cùng với sự thân thiện với người mới bắt đầu đã khiến nó trở thành một trong những ngôn ngữ lập trình được sử dụng nhiều nhất hiện nay Một cuộc khảo sát được thực hiện bởi công ty phân tích ngành RedMonk cho thấy rằng đây là ngôn ngữ lập trình phổ biến nhất trong số các nhà phát triển vào năm 2020.

Các tính năng của Python bao gồm:

- Là một mã nguồn mở và miễn phí

- Hỗ trợ giao diện người dùng

- Phương pháp tiếp cận hướng đối tượng

- Ngôn ngữ lập trình bậc cao

- Được tích hợp tự nhiên

Weka

Weka – Waikato Environment for Knowledge Analysis, là một phần mềm mã nguồn mở cung cấp các công cụ để xử lý trước dữ liệu, triển khai một số thuật toán học máy và các công cụ trực quan để người dùng có thể phát triển các kỹ thuật máy học và áp dụng chúng vào các vấn đề khai thác dữ liệu trong thế giới thực.

Những tính năng vượt trội trong Weka có thể kể đến là:

- Giao diện người dùng: cho phép người dùng hoàn thành các dự án học máy của mình mà không cần lập trình.

- Có giao diện dòng lệnh: tất cả các tính năng của phần mềm có thể được sử dụng từ dòng lện

Java API được viết bằng Java, cho phép tích hợp dễ dàng vào ứng dụng của người dùng nhờ API được ghi chép đầy đủ.

- Tài liệu: Có sách, hướng dẫn sử dụng, wiki và các khóa học MOOC có thể đào tạo cách sử dụng nền tảng này một cách hiệu quả.

Mô hình phòng chống đề xuất

3.2.1 Tích hợp module ModSecurity của OWASP

ModSecurity là một sản phẩm thuộc dự án OWASP Đây là ứng dụng tường lửa dựa trên web mã nguồn mở (hoặc WAF) được hỗ trợ bởi các máy chủ web khác nhau: Apache, Nginx và IIS ModSecurity là một tường lửa ứng dụng web có thể hoạt động cũng hay nhúng như một proxy ngược Tường lửa ứng dụng web được triển khai để thiết lập một lớp bảo mật bên ngoài giúp tăng mức độ bảo vệ, phát hiện và ngăn chặn các cuộc tấn công trước khi chúng đến các chương trình phần mềm trên nền web Nó cung cấp khả năng bảo vệ khỏi một loạt các cuộc tấn công chống lại các ứng dụng web và cho phép giám sát lưu lượng HTTP, ghi nhật ký và phân tích thời gian thực

3.2.1.2 ModSecurity có thể làm gì?

ModSecurity là một bộ công cụ dành cho việc giám sát, nhật ký và kiểm soát truy cập ứng dụng web thời gian thực Với toàn quyền truy cập vào mã nguồn, chúng ta có thể tự do chọn lựa mở rộng tính năng để tinh chỉnh và mở rộng công cụ của chính nó để phù hợp với yêu cầu của chúng ta.

- Giám sát, nhật ký và kiểm soát truy cập ứng dụng web thời gian thực

ModSecurity cho người dùng quyền truy cập vào luồng lưu lượng HTTP, trong thời gian thực cùng với tính năng kiểm tra chúng Đó là quá đủ cho việc giám sát bảo mật thời gian thực Một khía cạnh đã được thêm vào tính khả thi thông qua cơ chế lưu trữ liên tục của ModSecurity cho phép người dùng theo dõi các phần tử hệ thống theo thời gian và thực hiện tương quan sự kiện Người dùng có thể chặn một cách chắc chắn nếu họ muốn vì ModSecurity sử dụng bộ đệm phản hồi và yêu cầu đầy đủ.

- Bản vá ảo (Virtual patching)

Bản vá ảo cô lập lỗ hổng bảo mật trong một lớp riêng biệt để khắc phục sự cố ứng dụng mà không làm gián đoạn ứng dụng ModSecurity bù đắp lỗ hổng ảo hiệu quả thông qua tính năng chặn đáng tin cậy và ngôn ngữ quy tắc linh hoạt, thích ứng với mọi nhu cầu Đây là giải pháp dễ triển khai và hiệu quả nhất, mang lại lợi ích tức thì cho các tổ chức.

Các máy chủ web truyền thống thực hiện rất ít việc ghi lại nhật ký cho mục đích bảo mật Mặc định, chúng ghi lại rất ít, và ngay cả khi chỉnh sửa nhiều thì người dùng cũng không có được mọi thứ mình cần ModSecurity cung cấp cho người dùng khả năng ghi lại mọi thứ họ cần bao gồm cả dữ liệu giao dịch thô Ngoài ra, họ có thể chọn giao dịch nào sẽ được ghi lại, phần nào của giao dịch được ghi lại và phần nào được làm sạch.

Đánh giá bảo mật thụ động liên tục là một dạng giám sát thời gian thực, tập trung vào hành vi của hệ thống chứ không phải hành vi của các bên ngoài Đây là một hệ thống cảnh báo sớm, có thể phát hiện ra các dấu hiệu của lỗ hổng bảo mật và hoạt động bất thường trước khi chúng bị khai thác Trong khi đánh giá bảo mật thụ động được xem là một sự kiện được lên lịch thực hiện bởi một nhóm độc lập nhằm mô phỏng một cuộc tấn công, thì đánh giá bảo mật thụ động liên tục lại tập trung vào việc giám sát hành vi của chính hệ thống để phát hiện các dấu hiệu của lỗ hổng bảo mật và các hoạt động bất thường.

Một trong những cách được ưu chuộng với ModSecurity là giảm bề mặt tấn công, trong đó người dùng thu hẹp một cách có chọn lọc các tính năng HTTP mà họ sẵn sàng chấp nhận ModSecurity có thể hỗ trợ người dùng thực thi nhiều hạn chế tương tự một cách trực tiếp hoặc thông qua việc cộng tác với các mô đun Apache khác

ModSecurity hoạt động với chương trình web server (ví dụ: Apache) sẽ thực hiện các tác vụ như sau:

- Parsing: ModSecurity cố gắng hiểu nhiều dữ liệu nhất có thể Các định dạng dữ liệu hỗ trợ được trợ giúp với trình phân tích cú pháp để trích xuất các bit dữ liệu và lưu trữ chúng để sử dụng trong quy tắc.

Tại thiết lập thông thường, bộ đệm đóng vai trò quan trọng để lưu trữ cả yêu cầu và phản hồi nội dung Bộ đệm đảm bảo tính năng chặn đáng tin cậy Tuy nhiên, nhược điểm của bộ đệm là phải có thêm RAM để lưu dữ liệu nội dung yêu cầu và phản hồi.

- Logging: là một phần quan trọng của những gì ModSecurity thực hiện. Tính năng này cho phép người dùng ghi lại lưu lượng HTTP hoàn chỉnh, thay vì chỉ thông tin nhật ký truy cập thô sơ Tiêu đề yêu cầu, nội dung yêu cầu, tiêu đề phản hồi, nội dung phản hồi — tất cả những bit đó sẽ có sẵn cho người dùng Chỉ với khả năng nhìn thấy những gì đang xảy ra, người dùng sẽ có khả năng giữ vững được quyền kiểm soát.

- Rule Engine: Công cụ quy tắc xây dựng dựa trên hoạt động được thực hiện bởi tất cả các thành phần khác Vào thời điểm công cụ quy tắc bắt đầu hoạt động, tất cả các bit và phần dữ liệu khác nhau mà nó yêu cầu sẽ được chuẩn bị và sẵn sàng để kiểm tra Tại thời điểm đó, các quy tắc sẽ tiếp nhận để đánh giá giao dịch và thực hiện các hành động khi cần thiết.

3.2.1.4 Khái niệm cơ bản về Rules và CRS (Core Rule Set)

ModSecurity cần các quy tắc để vận hành Trong ModSecurity, mỗi quy tắc đó được gọi là SecRule SecRule có nhiều tính năng và chức năng Cú pháp cơ bản của rule trong ModSecurity:

A ModSecurity rule consists of four components, with the last two components of the syntax being optional If TRANSFORMATION_FUNCTIONS and ACTIONS aren't used in a rule, ModSecurity will use the default values set in SecDefaultAction.

Trong ModSecurity, biến được sử dụng cho việc trích xuất các thành phần khác nhau của gói tin HTTP.

Trong phiên bản hiện tại, ModSecurity đã hỗ trợ 77 loại biến khác nhau để tăng tính linh động chống lại các kiểu khai thác nâng cao

Có 77 loại biến trong phiên bản ModSecurity hiện tại và chúng được phân loại như sau:

- Scalar variables: Chứa một phần thông tin dữ liệu, có thể là chuỗi hoặc số Ví dụ, REMOTE_ADDR luôn chứa địa chỉ IP người dùng.

- Collection: Nhóm các biến lại với nhau thành một nhóm

- Read-only collection: Nhóm các biến không thể thay đổi trong quá trình thực hiện tương tác giữa ModSecurity và Apache

- Read/write collection: Nhóm này được sử dụng trong trường hợp người dùng cần triển khai các rule có sự thay đổi trong dữ liệu đầu vào.

- Special collections: Nhóm các biến đặc biệt được dùng trong việc trích xuất dữ liệu đầu vào dưới dạng XML

- Persistent collection: Khi các rule sử dụng các thành phần trong nhóm này, thì dữ liệu sẽ được lưu trữ trong cơ sở dữ liệu nội bộ của ModSecurity Trong các tác vụ như theo dõi IP, phiên làm việc hoặc theo dõi người dùng đăng nhập thì việc lưu trữ sẽ được sử dụng.

- Request variables: Các biến trong nhóm này chịu trách nhiệm trích xuất các giá trị HTTP request header để đưa vào phần phân tích Các trường giá trị ModSecurity hỗ trợ trong các biến được thu nhập từ các URL, method (GET HEAD POST PUT ), protocol information (HTTP 1.1, HTTP 1.0).Bảng 3.2 liệt kê các giá trị biến (Request variable) mà ModSecurity hỗ trợ.

Bảng 3.2 Giá trị biến Request variable

Kết chương

Hai phương án phòng chống được đề cập bên trên là hai phương án tôi đề xuất để phát hiện và ngăn chặn dạng tấn công XSS ModSecurity là một module dễ sử dụng và cài đặt với độ hiệu quả cao, giúp bảo vệ ứng dụng mạng trước những dữ liệu đầu vào độc hại Module của ModSecurity sẽ kiểm tra mọi dữ liệu mà người dùng gửi đến máy chủ mạng cũng như mọi dữ liệu mà máy chủ mạng trả về cho người dùng Dữ liệu sẽ được so trùng theo các quy tắc mà người quản trị xây dựng trong module của ModSecurity Độ chính xác của phương án này phụ thuộc rất nhiều vào các quy tắc, do đó đòi hỏi người dùng phải phân tích được cấu trúc của các câu lệnh XSS độc hại, từ đó tìm được các đặc điểm để viết được nên các quy tắc chính xác Trong khi đó phương pháp học máy có giám sát sử dụng thuật toán RandomForest cho ta hiệu suất cao trong việc phát hiện các dữ liệu không lành tính từ phía người dùng dựa trên module huấn luyện được xây dựng từ các đặc trưng mà người dùng kết xuất được Phương pháp này phụ thuộc nhiều vào bộ dữ liệu dataset có đa dạng hay không, dữ liệu có tốt hay không và các đặc trưng được kết xuất có độ chính xác cao hay không Từ các thử nghiệm phía trên, có thể nói hai phương pháp này cho ta độ tin cậy cao trong việc phát hiện cũng như ngăn chặn tấn công XSS Tuy vậy đồ án vẫn còntồn tại một số hạn chế như bộ dữ liệu chưa được đa dạng, chưa giải quyết cũng như phòng tránh được loại tấn công DOM-based XSS và phương pháp đòi hỏi việc cập nhật dữ liệu liên tục từ phía người sử dụng nhưng tôi sẽ cố gắng nghiên cứu và phát triển thêm để hoàn thiện ứng dụng này trong tương lai.

Ngày đăng: 16/07/2024, 17:09

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1]Gupta, B. B., & Sheng, Q. Z, Machine   Learning   forComputer   and   Cyber Security: Principle, Algorithms, and Practices. Boca Raton:CRC Press, 2019 Sách, tạp chí
Tiêu đề: Machine   Learning   forComputer   and   Cyber"Security: Principle, Algorithms, and Practices
[3] Annu Choudhary,Rajendra Kachhwaha, Arjun Choudhary và trợ lý, “Preventing Cross-Site Scripting Attacks with CodeSanitization Techniques,” 2018. [Trực Tuyến]. Địa chỉ:https://www.academia.edu/43520502/Preventing_Cross_Site_Scripting_Attacks_with_Code_Sanitization_Techniques. [Truy cập 08/01/2022] Sách, tạp chí
Tiêu đề: PreventingCross-Site Scripting Attacks with CodeSanitization Techniques
[4] Mahmoud Mohammadi, Bill Chu và H.R. Lipford,“Detecting Cross-Site Scripting Vulnerabilities through Automated Unit Testing,” 2017 . [Trực Tuyến].Địa chỉ: https://ieeexplore.ieee.org/abstract/document/8009940. [Truy cập 08/01/2022] Sách, tạp chí
Tiêu đề: Detecting Cross-Site Scripting Vulnerabilities through Automated Unit Testing
[5] Tiep V. H,“Machine Learning cơ bản” 2020. [Trực Tuyến]. Địa chỉ: https://github.com/tiepvupsu/ebookMLCB . [Truy cập 18/01/2022] Sách, tạp chí
Tiêu đề: Machine Learning cơ bản
[6] “What Is WAF” [Trực Tuyến]. Địa chỉ: https://www.imperva.com/learn/application-security/what-is-web-application-firewall-waf/. [Truy cập 02/02/2022] Sách, tạp chí
Tiêu đề: What Is WAF

HÌNH ẢNH LIÊN QUAN

Hình 2.1. Dạng tấn công Stored XSS [7] - Nghiên Cứu Giải Pháp Chống Dạng Tấn Công Cross-Site Scripting (Xss).Pdf
Hình 2.1. Dạng tấn công Stored XSS [7] (Trang 31)
Hình 2.2. Non-Persistent XSS attack [7] - Nghiên Cứu Giải Pháp Chống Dạng Tấn Công Cross-Site Scripting (Xss).Pdf
Hình 2.2. Non-Persistent XSS attack [7] (Trang 32)
Hình 2.3. Dạng tấn công DOM-Based XSS [7] - Nghiên Cứu Giải Pháp Chống Dạng Tấn Công Cross-Site Scripting (Xss).Pdf
Hình 2.3. Dạng tấn công DOM-Based XSS [7] (Trang 33)
Bảng 2.3. Các cách thoát khỏi tấn công bằng ký tự đặc biệt - Nghiên Cứu Giải Pháp Chống Dạng Tấn Công Cross-Site Scripting (Xss).Pdf
Bảng 2.3. Các cách thoát khỏi tấn công bằng ký tự đặc biệt (Trang 34)
Hình 3.1. Mô hình hoạt động của WAF - Nghiên Cứu Giải Pháp Chống Dạng Tấn Công Cross-Site Scripting (Xss).Pdf
Hình 3.1. Mô hình hoạt động của WAF (Trang 45)
Bảng 3.2. Giá trị biến Request variable - Nghiên Cứu Giải Pháp Chống Dạng Tấn Công Cross-Site Scripting (Xss).Pdf
Bảng 3.2. Giá trị biến Request variable (Trang 54)
Bảng 3.3.Giá trị biến Server variable - Nghiên Cứu Giải Pháp Chống Dạng Tấn Công Cross-Site Scripting (Xss).Pdf
Bảng 3.3. Giá trị biến Server variable (Trang 56)
Bảng 3.5. Giá trị biến Miscellaneouse variable - Nghiên Cứu Giải Pháp Chống Dạng Tấn Công Cross-Site Scripting (Xss).Pdf
Bảng 3.5. Giá trị biến Miscellaneouse variable (Trang 57)
Bảng 3.6. Giá trị biến Parsing flags - Nghiên Cứu Giải Pháp Chống Dạng Tấn Công Cross-Site Scripting (Xss).Pdf
Bảng 3.6. Giá trị biến Parsing flags (Trang 58)
Bảng 3.8. Giá trị biến Time variables - Nghiên Cứu Giải Pháp Chống Dạng Tấn Công Cross-Site Scripting (Xss).Pdf
Bảng 3.8. Giá trị biến Time variables (Trang 60)
Bảng 3.7. Giá trị biến Collection variable - Nghiên Cứu Giải Pháp Chống Dạng Tấn Công Cross-Site Scripting (Xss).Pdf
Bảng 3.7. Giá trị biến Collection variable (Trang 60)
Bảng 3.10. Các toán tử số - Nghiên Cứu Giải Pháp Chống Dạng Tấn Công Cross-Site Scripting (Xss).Pdf
Bảng 3.10. Các toán tử số (Trang 62)
Bảng 3.9. Các toán tử so trùng chuỗi - Nghiên Cứu Giải Pháp Chống Dạng Tấn Công Cross-Site Scripting (Xss).Pdf
Bảng 3.9. Các toán tử so trùng chuỗi (Trang 62)
Bảng 3.12. Các toán tử kết hợp - Nghiên Cứu Giải Pháp Chống Dạng Tấn Công Cross-Site Scripting (Xss).Pdf
Bảng 3.12. Các toán tử kết hợp (Trang 63)
Bảng 3.14. Các hành động trong Flow actions - Nghiên Cứu Giải Pháp Chống Dạng Tấn Công Cross-Site Scripting (Xss).Pdf
Bảng 3.14. Các hành động trong Flow actions (Trang 65)
Bảng 3.13. Các hành động trong Disruptive actions - Nghiên Cứu Giải Pháp Chống Dạng Tấn Công Cross-Site Scripting (Xss).Pdf
Bảng 3.13. Các hành động trong Disruptive actions (Trang 65)
Bảng 3.16. Các hành động trong Variable actions - Nghiên Cứu Giải Pháp Chống Dạng Tấn Công Cross-Site Scripting (Xss).Pdf
Bảng 3.16. Các hành động trong Variable actions (Trang 66)
Bảng 3.17. Các hành động trong Logging actions - Nghiên Cứu Giải Pháp Chống Dạng Tấn Công Cross-Site Scripting (Xss).Pdf
Bảng 3.17. Các hành động trong Logging actions (Trang 67)
Hình 3.5. Mô hình học máy có giám sát - Nghiên Cứu Giải Pháp Chống Dạng Tấn Công Cross-Site Scripting (Xss).Pdf
Hình 3.5. Mô hình học máy có giám sát (Trang 77)
Hình 3.6. Mô hình phát hiện đề xuất 3.2.2.3. Phương pháp đánh giá - Nghiên Cứu Giải Pháp Chống Dạng Tấn Công Cross-Site Scripting (Xss).Pdf
Hình 3.6. Mô hình phát hiện đề xuất 3.2.2.3. Phương pháp đánh giá (Trang 79)
Bảng 3.22. Các đặc trưng được trích chọn - Nghiên Cứu Giải Pháp Chống Dạng Tấn Công Cross-Site Scripting (Xss).Pdf
Bảng 3.22. Các đặc trưng được trích chọn (Trang 83)
Bảng 3.24. Hiệu suất của một số kỹ thuật học máy - Nghiên Cứu Giải Pháp Chống Dạng Tấn Công Cross-Site Scripting (Xss).Pdf
Bảng 3.24. Hiệu suất của một số kỹ thuật học máy (Trang 87)
Bảng 3.25. Bảng so sánh sáu độ đo vời từng số lượng cây quyết định - Nghiên Cứu Giải Pháp Chống Dạng Tấn Công Cross-Site Scripting (Xss).Pdf
Bảng 3.25. Bảng so sánh sáu độ đo vời từng số lượng cây quyết định (Trang 88)
Hình 3.7. Mô hình trích chọn đặc trưng - Nghiên Cứu Giải Pháp Chống Dạng Tấn Công Cross-Site Scripting (Xss).Pdf
Hình 3.7. Mô hình trích chọn đặc trưng (Trang 89)
Hình 3.8. Xây dựng module huấn luyện sử dụng thuật toán RandomForest - Nghiên Cứu Giải Pháp Chống Dạng Tấn Công Cross-Site Scripting (Xss).Pdf
Hình 3.8. Xây dựng module huấn luyện sử dụng thuật toán RandomForest (Trang 90)
Hình 3.9. Xây dựng ứng dụng dựa trên module huấn luyện. - Nghiên Cứu Giải Pháp Chống Dạng Tấn Công Cross-Site Scripting (Xss).Pdf
Hình 3.9. Xây dựng ứng dụng dựa trên module huấn luyện (Trang 90)
Hình 3.10. Ứng dụng phát hiện XSS Việc phát hiện tấn công XSS được thể hiện như sau: - Nghiên Cứu Giải Pháp Chống Dạng Tấn Công Cross-Site Scripting (Xss).Pdf
Hình 3.10. Ứng dụng phát hiện XSS Việc phát hiện tấn công XSS được thể hiện như sau: (Trang 91)
Hình 3.11. Kết quả đưa ra sau khi nhập dữ liệu lành tính - Nghiên Cứu Giải Pháp Chống Dạng Tấn Công Cross-Site Scripting (Xss).Pdf
Hình 3.11. Kết quả đưa ra sau khi nhập dữ liệu lành tính (Trang 91)
Hình 3.12. Kết quả đưa ra sau khi nhập dữ liệu chứa mã độc XSS - Nghiên Cứu Giải Pháp Chống Dạng Tấn Công Cross-Site Scripting (Xss).Pdf
Hình 3.12. Kết quả đưa ra sau khi nhập dữ liệu chứa mã độc XSS (Trang 92)

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w