Table of Contents
Hiểu văn lệnh chữ thập phân (XSS) — Hơn cả văn lệnh inpater
Chữ viết chữ viết bằng chữ vẫn còn là một trong những điểm yếu phổ biến nhất của mạng, xuất hiện thường xuyên trong [FLT] [FLT: 1]. Ở trung tâm, XSS cho phép một người tấn công khách hàng tấn công để tiêm các tập lệnh độc hại bên cạnh mạng được xem bởi người khác xem. Tập lệnh tiêm vào trong bối cảnh trình duyệt của nạn nhân, cho phép trộm cắp dữ liệu (cookie, bảng điều khiển phiên chạy), bị cướp, bị mất chức năng hoặc chuyển hướng. Để hiểu cách họ phải phân biệt lửa lửa và rơi trước tiên — chúng ta phải phân biệt ba loại:
- [FLT: 0] Đã được cài đặt (Persistent) XSS ) – Văn lệnh độc hại được lưu trữ vĩnh viễn trên máy phục vụ đích (v. d., trong một cơ sở dữ liệu, trường chú thích, hoặc trạm chú thích). Mỗi người dùng xem trang bị ảnh hưởng thực hiện việc tải.
- Đã bỏ qua (NonSistent) XSS ) – Văn lệnh tiêm được phản ánh ra khỏi máy phục vụ Mạng, thường qua một địa chỉ Mạng hoặc đơn. Trọng tải không được cất giữ; nó chỉ thực hiện khi nạn nhân nhấn vào liên kết độc hại.
- [FLT: 0] Tuỳ theo XSS ) – Sự dễ bị tổn thương hoàn toàn nằm trong mã bên cạnh khách hàng của trình duyệt. Trọng tải không bao giờ được gửi đến máy phục vụ; thay vào đó, nó chỉnh sửa môi trường dùng để phòng thủ và thực hiện từ đó. Những cuộc tấn công này có thể vô hình đối với phòng thủ bên máy chủ.
Mỗi loại có những thách thức đặc biệt cho việc kiểm soát an ninh. Tường lửa — đặc biệt là tường lửa ứng dụng Web (WAFs) — có thể bảo vệ mạnh mẽ chống lại sự phản ánh và một số hệ thống XSS được lưu trữ, nhưng theo hệ thống XSS thì yêu cầu thêm các biện pháp khách hàng bên cạnh.
Tường lửa trong hệ thống mạng hiện đại là gì?
Lúc đầu, tường lửa là những thiết bị có cấp độ mạng lưới lọc giao thông dựa trên địa chỉ IP, cổng và giao thức.
- Tường lửa Webwork – Operate tại các lớp 3–4 (IP/UDP). Chúng có thể chặn các cổng IP hiểm độc [FLT: 1] – kiểm tra dữ liệu nhỏ ứng dụng TCP/UDP.
- Tường lửa Ứng dụng Web (WAFs) ) – Lớp mục được thiết kế để kiểm tra giao thông HTTP/HTTPS, phân tích nội dung (đầu, cơ thể, tham số) cho các mẫu độc hại. WAF là công cụ tường lửa chính chống lại XSS.
- Các tường lửa dựa trên WAFAS (bao gồm cả các cổng Cửa Cửa Cửa Cửa Cửa Cửa Cửa Cửa Cửa Cửa Cửa Cửa Cửa Cửa Cửa Cửa Cửa Cửa Cửa Cửa Cửa Cửa Cửa Cửa Cửa Cửa Cửa Cửa Cửa Cửa Cửa Cửa Cửa Cửa Cửa Cửa Mở, [FLT: 1) – Ví dụ gồm AWS WAF, Cloudfare WAF, và Azure. Chúng thường kết hợp với CDN.
Tất cả các bức tường lửa hoạt động trên một bộ luật, nhưng chỉ có những bức tường lửa (WAF) mới có thể chống lại được XSS một cách đầy ý nghĩa.
Làm thế nào để phát hiện và chặn XSS
Phát hiện chữ ký
Hầu hết các tàu WAFs với các dấu hiệu đã xác định trước khớp với các kiện hàng XSS – e.g., các mẫu như , , , hoặc các biến thể đã mã hóa đã mã hóa. Tường lửa cản mọi yêu cầu có kích hoạt ký hiệu. Cơ sở dữ liệu cấu hình ký hiệu thường được cập nhật bởi các nhà cung cấp để che đậy các biến thể tấn công véc- tơ mới lạ.
Tuy nhiên, phát hiện có chữ ký dựa trên phương pháp phát hiện có thể tránh được bởi sự ngu ngốc đơn giản: dùng những bộ mã khác nhau, chia từ khoá hoặc tiêm các kí tự rác. Những kẻ tấn công thường đột biến các vật nặng cho đến khi nó không còn khớp với chữ ký trong khi vẫn còn chức năng trong trình duyệt.
Phát hiện bất thường và có khả năng phát hiện bệnh tự phát hiện
Máy WAF nâng cao sử dụng máy học hoặc mô hình thống kê để phát hiện các mẫu bất thường. Họ học cấu trúc điển hình của yêu cầu hợp lệ cho mỗi điểm kết thúc và cờ lệch – e.g., một tham số thông thường đột nhiên chứa thẻ HTML. Các quy tắc tự nhiên có thể bắt 0 véc tơ XSS ngày thứ hai mà thiếu chữ ký, nhưng chúng cũng mạo hiểm khả năng dương tính sai.
Khả năng giới hạn và phân tích hành vi
Một số Máy Quay Về theo dõi yêu cầu. Một người tấn công dò nhanh có thể bị chặn tạm thời. Trong khi điều này không phát hiện trực tiếp XSS, nó làm chậm việc quét tự động và có thể ép buộc người tấn công phải chậm lại, kiểm tra bằng tay.
Các cơ khí bảo vệ từng chi tiết ở mức độ lửa
- [FLT: 0] Bộ lọc và thẩm tra ) – Máy vi tính WAF thanh tra mọi tham số, cookie và phần đầu. Các ký tự nguy hiểm ([FLT: 3) đã được mã hóa hay bị chặn trước khi chúng đến máy phục vụ ứng dụng.
- Bộ mã hoá ra – iD WAF có thể tương quan với nơi người dùng kết thúc vào (v. d., bên trong một thẻ văn lệnh tương ứng với một thuộc tính HTML) và áp dụng các quy tắc đặc trưng ngữ cảnh. Cấp trí thông minh này là hiếm, nhưng những người cung cấp hàng đầu như F5 và Imperva cung cấp nó.
- Việc đắp vá vi tính ) – Khi máy phục vụ bên XSS bị phát hiện, không thể được sửa chữa ngay lập tức, Máy chủ có thể tạo một bảng điều khiển ảo: một quy tắc tự chọn cản đường dẫn khai thác mà không thay đổi mã ứng dụng.
- Phục hồi lại bình thường ) – WAFs thường giải mã nhiều lớp mã hóa (URLLSen code, Uni code, double icode) trước khi kiểm tra chữ ký, ngăn chặn sự imfusation cơ bản.
Những giới hạn của tường lửa chống lại XSS — khi chúng thất bại
Bằng cách bỏ qua Máy Quay Về
Những kẻ tấn công thường xuyên lập ra những đường vòng qua đường thông thường.
- Dùng các sự kiện JavaScript khác ngoài / đặt – e.g., với .
- Levering SVG, , , hoặc các yếu tố HTML khác có thể thực hiện các văn lệnh.
- Tìm kiếm ký tự đặt không đúng giữa WAF và trình duyệt (v. d., UTF- 7 tấn công qua bộ lọc chỉ BAR ).
- Phá hủy các tải về qua nhiều yêu cầu hoặc sử dụng mã chuyển giao được nén HTTP để chuyển nội dung qua cơ chế kiểm tra.
XSS có lớp vỏ — Vô hình đối với hầu hết các bức tường lửa
Trình khách JavaScript dễ bị tổn thương đọc dữ liệu từ , , hoặc lưu trữ địa phương và viết nó không an toàn vào hệ thống điện thoại. Một máy phục vụ bên cạnh máy ảnh lửa chỉ thấy một yêu cầu hợp pháp; việc thực hiện độc hại xảy ra hoàn toàn trong trình duyệt. Các biện pháp bảo mật bên cạnh khách hàng như là một thư viện bảo mật nội dung nghiêm ngặt (CP) và các thư viện riêng của khách hàng.
Giao thông được mã hóa (HTTPS) Thử thách
Trong khi Máy Quay Phong hiện đại có thể giải mã các máy định vị để kiểm tra các chứng nhận giả, điều này làm tăng độ trễ và cần có sự quản lý chứng nhận thích hợp.
Cách tốt nhất: Tường lửa là một phần của phòng thủ lớp
Chỉ dựa vào Máy Quay Về là nguy hiểm. Chiến lược phòng chống XSS hiệu quả nhất kết hợp bốn dòng phòng thủ:
1. Phát triển & phẳng bảo mật; máy phục vụSide Santiation
Mọi dữ liệu ứng dụng phải được xác nhận, làm sạch, hoặc thoát trước khi được đưa vào các ứng dụng HTML. OWAP cung cấp [FLT: 0] Dự án [FLT: 1] và hướng dẫn mã hóa xuất trong nhiều bối cảnh (cơ thể HTML, thuộc tính, URL, JavaScript, CASS). Không bức tường lửa nào có thể sửa chữa dữ liệu nhập yếu ở lớp ứng dụng.
2. Chính sách bảo mật nội dung (CP)
CNP là một cơ chế bảo mật cấp cao của trình duyệt có thể cho trình duyệt biết nguồn nào của các tập lệnh được cho phép và cho phép có các tập lệnh trực tiếp. Một hệ thống âm thanh đặc biệt có thể chặn tất cả, ngoại trừ hệ thống XSS dựa trên mã nguồn gốc bền bỉ nhất. Máy WAF có thể giúp thực hiện CNP bằng cách tiêm hoặc sửa đổi đầu đề, nhưng chính hệ thống này cũng là một lớp bảo vệ mà WAF không thể thay thế.
3. Lần đắp vá đều đặn
Các cơ sở dữ liệu lửa phải được cập nhật khi biến thể XSS mới xuất. Tương tự, phần mềm máy phục vụ ( hại, khung ứng dụng) cần phải được vá để loại bỏ nguyên nhân gốc của sự yếu đuối XSS vulerara. Việc vá ảo sẽ kéo dài thời gian, nhưng nó không phải là một thay thế cho việc sửa chữa mã.
4 Sự giáo dục và thử thách an ninh
Các nhà phát triển và kỹ sư an ninh nên hiểu làm thế nào XSS hoạt động ngoài các cuộc kiểm tra đều đặn (bao gồm cả việc kiểm tra bằng tay) và đánh giá mã sẽ phát hiện các mẫu bỏ qua mà WAF đã bỏ qua. Công cụ như OWAP ZAP hoặc ợ có thể bổ sung các bản ghi tường lửa.
Chọn bức tường lửa thích hợp để bảo vệ XSS
Không phải tường lửa nào cũng như nhau.
- Sự phân biệt – nó có dùng cả chữ ký lẫn cách thức tìm tòi không?
- Có thể dễ dàng thêm các quy tắc tùy chỉnh để ngăn chặn một CVE mới được khám phá không?
- Tác động ) – A WAF thêm > 5 ms độ trễ trên mỗi yêu cầu có lẽ không thích hợp cho các trang cao cổ.
- Phụ đề tự điều khiển ) – Cloud WAFs (Culfare, AWS WAF) thường có chức năng thấp hơn và cập nhật các quy tắc tự động. On Otrepremise WAFs (F5, Imperva) cung cấp thêm các hạt nhưng cần các kỹ sư tận tụy.
Ví dụ thế giới thật: Vụ kiện về XSS năm 2022
Vào năm 2022, một thông tin mật về sự dễ bị tổn thương XSS trong bảng điều khiển thư điện tử Twilio cho phép những người tấn công có khả năng tiêm các thông tin đăng nhập giả vào các thiết bị đánh cắp thông tin từ người dùng nội bộ. Trọng tải được lệnh không được phép gửi đi các ký hiệu WAF của Máy chủ WAF. Sự cố bật lên cho thấy ngay cả những công ty lớn với các thiết bị phát triển WAF thành thục cũng có thể bị XSS khi người tấn công tùy chỉnh các thiết bị tải và máy tính xách tay không có mã JavaScript tối mật kiểm tra.
Kết luận
Tường lửa — cụ thể tường lửa ứng dụng Web — là một thành phần thiết yếu của một chiến lược phòng thủ không được phép. Những người tấn công tiếp tục tìm những cách sáng tạo để vượt qua các quy tắc dựa trên văn bản kiểu mật mã. Họ xuất sắc tự động lọc các dữ liệu XSS đã biết và có thể cung cấp các trang mạng nhanh cho mã không cần giấy phép. Tuy nhiên, chúng không phải là một viên đạn bạc. Những người tấn công tiếp tục tìm cách vượt qua các quy tắc dựa trên mã gốc mã gốc của hệ thống tập tin mật, và các thiết lập hệ thống phòng vệ dựa trên XSS phần lớn khả năng kiểm tra bên ngoài. Cách tiếp cận kiên cố nhất kết hợp một hệ thống tính năng cấu hình máy chủ với tính năng bảo mật, một cách thức bảo mật nhất, cập nhật phần mềm bảo mật, và an toàn thường xuyên, và kiểm tra nghiêm ngặt. Bằng cách xử lý tường lửa mạnh hơn là một lớp bảo mật duy nhất có thể giảm nguy cơ sở dữ liệu có khả năng gây ra các dữ liệu có thể gây ra sự tác động cơ sở dữ liệu của người dùng và giảm thiểu các dữ liệu của XSS.