Nghiên Cứu Giải Pháp Phòng Chống Tấn Công Cross-Site Scripting (XSS)

Tài liệu nghiên cứu Nghiên cứu giải pháp chống dạng tấn công cross site scripting xss, tổng hợp lý thuyết và thực hành, cung cấp kiến thức chuyên sâu về .

Trường đại học

Đại học Mở Hà Nội

Chuyên ngành

Công nghệ thông tin

Người đăng

Ẩn danh

Thể loại

Đồ án tốt nghiệp

2022

95
2
0

Phí lưu trữ

35 Point

Mục lục chi tiết

LỜI NÓI ĐẦU

1. CHƯƠNG 1: TỔNG QUAN VỀ AN NINH MẠNG, ỨNG DỤNG WEB

1.1. Tổng quan về An ninh mạng

1.2. An ninh mạng là gì?

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

1.4. Lỗ hổng bảo mật

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

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

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

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

1.8.1. Session

1.8.2. HTTP – Hypertext Transfer Protocol

1.8.3. Cookie

1.8.4. Proxy server

1.8.5. Firewall

1.9. Kết chương

2. CHƯƠNG 2: TỔNG QUAN VỀ KỸ THUẬT TẤN CÔNG XSS

2.1. Tổng quan về XSS

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

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

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

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

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

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

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

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

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

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

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

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

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

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

2.9. Kết chương

3. 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

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

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

3.4. Sử dụng phương pháp học máy có giám sát (Supervised Machine Learning)

3.5. Kết chương

TÀI LIỆU THAM KHẢO

Tóm tắt

I. Tổng quan về tấn công Cross Site Scripting XSS

Tấn công Cross-Site Scripting (XSS) là một trong những mối đe dọa lớn nhất đối với bảo mật web hiện nay. XSS cho phép kẻ tấn công chèn mã độc vào các trang web mà người dùng tin tưởng. Khi người dùng truy cập vào trang web đó, mã độc sẽ được thực thi trong trình duyệt của họ, dẫn đến việc đánh cắp thông tin nhạy cảm như cookies và session tokens. Việc hiểu rõ về XSS là rất quan trọng để có thể triển khai các biện pháp phòng chống hiệu quả.

1.1. Khái niệm và cách thức hoạt động của XSS

XSS là một kỹ thuật tấn công mà kẻ tấn công chèn mã JavaScript độc hại vào trang web. Khi người dùng truy cập trang web, mã độc sẽ được thực thi trong trình duyệt của họ. Điều này có thể dẫn đến việc đánh cắp thông tin cá nhân hoặc thực hiện các hành động không mong muốn trên tài khoản của người dùng.

1.2. Các loại tấn công XSS phổ biến

Có ba loại tấn công XSS chính: Stored XSS, Reflected XSS và DOM-based XSS. Mỗi loại có cách thức hoạt động và mức độ nguy hiểm khác nhau. Stored XSS lưu trữ mã độc trên máy chủ, trong khi Reflected XSS gửi mã độc qua URL. DOM-based XSS thực thi mã độc trực tiếp trong trình duyệt mà không cần tương tác với máy chủ.

II. Vấn đề và thách thức trong việc phòng chống XSS

Mặc dù có nhiều biện pháp phòng chống, nhưng việc ngăn chặn tấn công XSS vẫn gặp nhiều khó khăn. Các lỗ hổng bảo mật trong ứng dụng web thường bị bỏ qua, và người dùng thường không nhận thức được các mối đe dọa này. Hơn nữa, các kẻ tấn công ngày càng tinh vi hơn, sử dụng nhiều kỹ thuật để vượt qua các biện pháp bảo vệ.

2.1. Những lỗ hổng bảo mật phổ biến trong ứng dụng web

Nhiều ứng dụng web không thực hiện kiểm tra và xác thực dữ liệu đầu vào một cách nghiêm ngặt. Điều này tạo ra cơ hội cho kẻ tấn công chèn mã độc vào hệ thống. Các lỗ hổng như không mã hóa dữ liệu nhạy cảm cũng làm tăng nguy cơ bị tấn công.

2.2. Tác động của tấn công XSS đến người dùng và doanh nghiệp

Tấn công XSS không chỉ gây thiệt hại cho người dùng mà còn ảnh hưởng nghiêm trọng đến uy tín của doanh nghiệp. Dữ liệu bị đánh cắp có thể dẫn đến mất mát tài chính và sự tin tưởng của khách hàng. Do đó, việc phòng chống XSS là rất cần thiết.

III. Phương pháp phòng chống tấn công XSS hiệu quả

Để bảo vệ ứng dụng web khỏi tấn công XSS, cần áp dụng nhiều phương pháp khác nhau. Các biện pháp này bao gồm xác thực dữ liệu đầu vào, mã hóa và sử dụng các chính sách bảo mật nội dung. Việc kết hợp nhiều phương pháp sẽ giúp tăng cường khả năng bảo vệ.

3.1. Xác thực và làm sạch dữ liệu đầu vào

Xác thực dữ liệu đầu vào là bước quan trọng để ngăn chặn XSS. Các dữ liệu không hợp lệ cần được loại bỏ hoặc mã hóa trước khi được xử lý. Việc này giúp giảm thiểu nguy cơ kẻ tấn công chèn mã độc vào hệ thống.

3.2. Sử dụng Content Security Policy CSP

CSP là một công cụ mạnh mẽ giúp ngăn chặn XSS bằng cách chỉ định các nguồn tài nguyên mà trình duyệt có thể tải. Bằng cách thiết lập CSP, các nhà phát triển có thể kiểm soát chặt chẽ các script được phép chạy trên trang web của họ.

3.3. Tích hợp Web Application Firewall WAF

WAF giúp bảo vệ ứng dụng web khỏi các tấn công bằng cách phân tích và lọc lưu lượng truy cập. Việc tích hợp WAF có thể giúp phát hiện và ngăn chặn các cuộc tấn công XSS trước khi chúng gây hại.

IV. Ứng dụng thực tiễn và kết quả nghiên cứu về XSS

Nghiên cứu về tấn công XSS đã chỉ ra rằng việc áp dụng các biện pháp phòng chống có thể giảm thiểu đáng kể nguy cơ bị tấn công. Các ứng dụng thực tiễn cho thấy rằng việc kết hợp nhiều phương pháp bảo vệ sẽ mang lại hiệu quả cao hơn trong việc bảo vệ thông tin người dùng.

4.1. Các nghiên cứu điển hình về tấn công XSS

Nhiều nghiên cứu đã chỉ ra rằng các ứng dụng lớn như Facebook và Twitter đã từng bị tấn công XSS. Những vụ việc này đã dẫn đến việc cải thiện các biện pháp bảo mật và nâng cao nhận thức về an ninh mạng.

4.2. Kết quả từ các ứng dụng phòng chống XSS

Các ứng dụng đã áp dụng các biện pháp phòng chống XSS cho thấy tỷ lệ tấn công giảm đáng kể. Việc sử dụng WAF và CSP đã giúp bảo vệ thông tin người dùng và tăng cường độ tin cậy của hệ thống.

V. Kết luận và tương lai của phòng chống XSS

Phòng chống tấn công XSS là một nhiệm vụ không thể thiếu trong việc bảo vệ an ninh mạng. Với sự phát triển không ngừng của công nghệ, các phương pháp phòng chống cũng cần được cập nhật và cải tiến. Tương lai của bảo mật web sẽ phụ thuộc vào khả năng phát hiện và ngăn chặn các mối đe dọa mới.

5.1. Xu hướng phát triển trong bảo mật web

Các công nghệ mới như trí tuệ nhân tạo và học máy đang được áp dụng để phát hiện và ngăn chặn XSS. Những công nghệ này hứa hẹn sẽ mang lại những giải pháp bảo mật hiệu quả hơn trong tương lai.

5.2. Tầm quan trọng của giáo dục và nâng cao nhận thức

Giáo dục người dùng về các mối đe dọa từ XSS là rất quan trọng. Việc nâng cao nhận thức sẽ giúp người dùng tự bảo vệ mình và giảm thiểu nguy cơ bị tấn công.

10/07/2025

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

CHƯƠNG 1: TỔNG QUAN VỀ AN NINH MẠNG, ỨNG DỤNG WEB 1.Tổng quan về An ninh mạng 1. 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à Downloaded by NHIM NHIM (nhimbien2@gmail.com) lOMoARcPSD|39459588 2 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 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 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 Downloaded by NHIM NHIM (nhimbien2@gmail.com) lOMoARcPSD|39459588 3 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 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. Downloaded by NHIM NHIM (nhimbien2@gmail.com) lOMoARcPSD|39459588 4 - Lỗ hổng loại C: Đây là một lỗ hổng có độ nguy hiểm thấp, gây ngưng trệ, làm gián đoạn hệ thống, được quyền truy cập bất hợp pháp và không gây ra việc làm hỏng dữ liệu 1.

Tổng quan về ứng dụng web 1. 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.

Downloaded by NHIM NHIM (nhimbien2@gmail.com) lOMoARcPSD|39459588 5 - 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 - Session Session là khoảng thời gian mà người sử dụng thực hiện giao tiếp với một ứng dụng.Trong hệ thống máy tính, Session bắt đầu khi người dùng đăng nhập hoặc truy cập vào một máy tính, mạng hoặc dịch vụ cụ thể. Nó kếtthúc khi người dùngđăng xuất khỏi dịch vụ hoặc tắt máy tính. Session có thể tạm thời lưu trữ thông tin liên quan đến các hoạt động của người dùng khi được kết nối. Trong lập trình máy tính, các biến Session lưu trữ thông tin tạm thời, đôi khi được sử dụng để truy xuất và xem dữ liệu trên nhiều trang web.

Các trang web yêu cầu tên người dùng và mật khẩu sử dụng các biến Session để giúp chuyển dữ liệu giữa các trang web, nhưng chỉ khi người dùng đăng nhập vào máy tính.Mỗi session sẽ có một định danh(ID), mỗi session khác nhau sẽ có ID khác nhau. - HTTP – Hypertext Transfer Protocol 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à Downloaded by NHIM NHIM (nhimbien2@gmail.com) lOMoARcPSD|39459588 6 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 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.

- Proxy server 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.

- Firewall Downloaded by NHIM NHIM (nhimbien2@gmail.

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

Tài liệu "Giải Pháp Phòng Chống Tấn Công Cross-Site Scripting (XSS)" cung cấp cái nhìn sâu sắc về các phương pháp hiệu quả để bảo vệ ứng dụng web khỏi các cuộc tấn công XSS, một trong những mối đe dọa phổ biến nhất trong lĩnh vực an ninh mạng. Tài liệu này không chỉ giải thích nguyên lý hoạt động của các cuộc tấn công XSS mà còn đưa ra các giải pháp cụ thể như kiểm tra đầu vào, mã hóa dữ liệu và sử dụng các công cụ bảo mật. Những lợi ích mà tài liệu mang lại cho người đọc bao gồm việc nâng cao nhận thức về an ninh mạng và trang bị kiến thức cần thiết để bảo vệ hệ thống của mình.

Nếu bạn muốn mở rộng thêm kiến thức về các phương pháp bảo mật khác, hãy tham khảo tài liệu Luận văn thạc sĩ chống tấn công sql injection sử dụng các khuôn mẫu tổng quát, nơi bạn sẽ tìm thấy các giải pháp chống lại một loại tấn công khác cũng nguy hiểm không kém. Bên cạnh đó, tài liệu Luận văn thạc sĩ nghiên cứu tìm hiểu những vấn đề an ninh của hệ điều hành mạng 04 sẽ giúp bạn hiểu rõ hơn về các vấn đề an ninh trong hệ điều hành mạng, từ đó có thể áp dụng vào việc bảo vệ ứng dụng của mình. Cuối cùng, tài liệu Nghiên cứu ứng dụng trí tuệ nhân tạo trong phát hiện hình thức tấn công từ chối dịch vụ đó sẽ mở ra một góc nhìn mới về việc sử dụng công nghệ hiện đại trong việc phát hiện và ngăn chặn các cuộc tấn công mạng. Những tài liệu này sẽ giúp bạn có cái nhìn toàn diện hơn về an ninh mạng và các biện pháp bảo vệ hiệu quả.