ผลกระทบ
API ที่ถูกบุกรุกทำให้ผู้โจมตีสามารถเลี่ยงผ่านอินเทอร์เฟซผู้ใช้และโต้ตอบโดยตรงกับฐานข้อมูลและบริการแบ็กเอนด์ [S1] ซึ่งอาจนำไปสู่การขโมยข้อมูลที่ไม่ได้รับอนุญาต การยึดบัญชีโดยใช้กำลังเดรัจฉาน หรือบริการไม่พร้อมใช้งานเนื่องจากทรัพยากรหมด ZXCVFIXVIBTOKEN1ZXCV[S5]
ต้นเหตุ
สาเหตุหลักคือการเปิดเผยตรรกะภายในผ่านจุดสิ้นสุดที่ขาดการตรวจสอบและการป้องกันที่เพียงพอ [S1] นักพัฒนามักสันนิษฐานว่าหากไม่สามารถมองเห็นคุณสมบัติใน UI ได้ คุณลักษณะนั้นจะปลอดภัย ส่งผลให้การควบคุมการเข้าถึง [S2] ใช้งานไม่ได้ และนโยบาย ZXCVFIXVIBTOKEN3ZXCV ที่อนุญาตซึ่งเชื่อถือต้นกำเนิด [S4] มากเกินไป
รายการตรวจสอบความปลอดภัยที่จำเป็น API
- บังคับใช้การควบคุมการเข้าถึงอย่างเข้มงวด: ทุกจุดสิ้นสุดจะต้องตรวจสอบว่าผู้ร้องขอมีสิทธิ์ที่เหมาะสมสำหรับทรัพยากรเฉพาะที่กำลังเข้าถึง [S2]
- การจำกัดอัตราการใช้งาน: ป้องกันการละเมิดอัตโนมัติและการโจมตี DoS โดยการจำกัดจำนวนคำขอที่ไคลเอ็นต์สามารถทำได้ภายในกรอบเวลาที่กำหนด [S3]
- กำหนดค่า CORS อย่างถูกต้อง: หลีกเลี่ยงการใช้ต้นกำเนิดไวด์การ์ด (ZXCVFIXVIBTOKEN0ZXCV) สำหรับจุดสิ้นสุดที่มีการตรวจสอบสิทธิ์ กำหนดต้นทางที่ได้รับอนุญาตอย่างชัดเจนเพื่อป้องกันการรั่วไหลของข้อมูลข้ามไซต์ [S4]
- การมองเห็นจุดสิ้นสุดการตรวจสอบ: สแกนหาจุดสิ้นสุดที่ "ซ่อน" หรือไม่มีเอกสารเป็นประจำซึ่งอาจเปิดเผยฟังก์ชันการทำงานที่ละเอียดอ่อน [S1]
วิธีทดสอบ FixVibe
ตอนนี้ FixVibe ครอบคลุมรายการตรวจสอบนี้ผ่านการตรวจสอบสดหลายรายการ โพรบที่มีรั้วรอบขอบชิดแบบแอ็คทีฟจะทดสอบการจำกัดอัตราจุดสิ้นสุดการรับรองความถูกต้อง, CORS, CSRF, การแทรก SQL, จุดอ่อนของกระแสการรับรองความถูกต้อง และปัญหาอื่นๆ ที่ต้องเผชิญของ API หลังจากการตรวจสอบแล้วเท่านั้น การตรวจสอบแบบพาสซีฟจะตรวจสอบส่วนหัวด้านความปลอดภัย เอกสาร API สาธารณะ และการเปิดเผย OpenAPI และความลับในชุดไคลเอนต์ การสแกน Repo เพิ่มการตรวจสอบความเสี่ยงระดับโค้ดสำหรับ CORS ที่ไม่ปลอดภัย, การแก้ไข SQL แบบดิบ, ความลับ JWT ที่อ่อนแอ, การใช้งาน JWT แบบถอดรหัสเท่านั้น, ช่องว่างลายเซ็นของเว็บฮุค และปัญหาการขึ้นต่อกัน
