บทบาทของส่วนหัวการรักษาความปลอดภัย
ส่วนหัวความปลอดภัย HTTP จัดเตรียมกลไกที่เป็นมาตรฐานสำหรับเว็บแอปพลิเคชันเพื่อสั่งให้เบราว์เซอร์บังคับใช้นโยบายความปลอดภัยเฉพาะในระหว่างเซสชัน [S1] [S2] ส่วนหัวเหล่านี้ทำหน้าที่เป็นชั้นสำคัญของการป้องกันในเชิงลึก ซึ่งช่วยลดความเสี่ยงที่อาจยังไม่ได้รับการแก้ไขอย่างสมบูรณ์ด้วยตรรกะของแอปพลิเคชันเพียงอย่างเดียว
นโยบายความปลอดภัยของเนื้อหา (CSP)
นโยบายความปลอดภัยของเนื้อหา (CSP) เป็นชั้นความปลอดภัยที่ช่วยตรวจจับและลดการโจมตีบางประเภท รวมถึง Cross-Site Scripting (XSS) และการโจมตีแบบฉีดข้อมูล [S1] ด้วยการกำหนดนโยบายที่ระบุทรัพยากรแบบไดนามิกที่ได้รับอนุญาตให้โหลด CSP จะป้องกันไม่ให้เบราว์เซอร์เรียกใช้สคริปต์ที่เป็นอันตรายซึ่งถูกแทรกโดยผู้โจมตี [S1] สิ่งนี้จะจำกัดการดำเนินการโค้ดที่ไม่ได้รับอนุญาตอย่างมีประสิทธิภาพแม้ว่าจะมีช่องโหว่ในการแทรกอยู่ในแอปพลิเคชันก็ตาม
การรักษาความปลอดภัยการขนส่ง HTTP อย่างเข้มงวด (HSTS)
HTTP Strict Transport Security (HSTS) เป็นกลไกที่ช่วยให้เว็บไซต์แจ้งเบราว์เซอร์ว่าควรเข้าถึงได้โดยใช้ HTTPS เท่านั้น แทนที่จะเป็น HTTP [S2] วิธีนี้จะป้องกันการโจมตีดาวน์เกรดโปรโตคอลและการแย่งชิงคุกกี้โดยทำให้แน่ใจว่าการสื่อสารทั้งหมดระหว่างไคลเอนต์และเซิร์ฟเวอร์ได้รับการเข้ารหัส [S2] เมื่อเบราว์เซอร์ได้รับส่วนหัวนี้ เบราว์เซอร์จะแปลงความพยายามในการเข้าถึงไซต์ในภายหลังผ่าน HTTP ไปเป็นคำขอ HTTPS โดยอัตโนมัติ
ผลกระทบด้านความปลอดภัยของส่วนหัวที่หายไป
แอปพลิเคชันที่ล้มเหลวในการใช้ส่วนหัวเหล่านี้มีความเสี่ยงสูงที่จะเกิดการประนีประนอมฝั่งไคลเอ็นต์ การไม่มีนโยบายการรักษาความปลอดภัยของเนื้อหาทำให้สามารถเรียกใช้สคริปต์ที่ไม่ได้รับอนุญาต ซึ่งอาจนำไปสู่การไฮแจ็กเซสชัน การขโมยข้อมูลที่ไม่ได้รับอนุญาต หรือการทำให้ [S1] เสียหาย ในทำนองเดียวกัน การไม่มีส่วนหัว HSTS ทำให้ผู้ใช้เสี่ยงต่อการโจมตีแบบแมนอินเดอะมิดเดิล (MITM) โดยเฉพาะในระหว่างขั้นตอนการเชื่อมต่อเริ่มแรก ซึ่งผู้โจมตีสามารถสกัดกั้นการรับส่งข้อมูลและเปลี่ยนเส้นทางผู้ใช้ไปยังเวอร์ชันที่เป็นอันตรายหรือไม่ได้เข้ารหัสของไซต์ [S2]
วิธีทดสอบ FixVibe
FixVibe ได้รวมสิ่งนี้ไว้ในการตรวจสอบการสแกนแบบพาสซีฟแล้ว headers.security-headers ตรวจสอบข้อมูลเมตาการตอบสนอง HTTP สาธารณะเพื่อดูการมีอยู่และความแข็งแกร่งของ Content-Security-Policy, Strict-Transport-Security, ZXCVFIXVIBTOKEN3ZXCV หรือ frame-ancestors, X-Content-Type-Options, Referrer-Policy และ Permissions-Policy รายงานค่าที่หายไปหรือค่าที่อ่อนแอโดยไม่มีการตรวจสอบช่องโหว่ และพร้อมท์การแก้ไขจะให้ตัวอย่างส่วนหัวที่พร้อมใช้งานสำหรับแอปทั่วไปและการตั้งค่า CDN
คำแนะนำในการแก้ไข
เพื่อปรับปรุงมาตรการรักษาความปลอดภัย เว็บเซิร์ฟเวอร์ต้องได้รับการกำหนดค่าให้ส่งคืนส่วนหัวเหล่านี้บนเส้นทางการผลิตทั้งหมด CSP ที่แข็งแกร่งควรได้รับการปรับแต่งให้เหมาะกับความต้องการทรัพยากรเฉพาะของแอปพลิเคชัน โดยใช้คำสั่งเช่น script-src และ ZXCVFIXVIBTOKEN1ZXCV เพื่อจำกัดสภาพแวดล้อมการเรียกใช้สคริปต์ [S1] เพื่อความปลอดภัยในการขนส่ง ส่วนหัว Strict-Transport-Security ควรเปิดใช้งานด้วยคำสั่ง max-age ที่เหมาะสมเพื่อให้แน่ใจว่ามีการป้องกันอย่างต่อเนื่องในเซสชันผู้ใช้ ZXCVFIXVIBTOKEN5ZXCV
