OWASP หรือ Open Web Application Security Project คือ มาตราฐานความปลอดภัยของเว็บแอปพลิเคชัน ที่ร่วมกันจัดทำโดยองค์กรไม่แสวงหาผลกำไรที่เน้นวิจัยทางด้าน Web Application Security โดยจะมี community เกี่ยวกับ เอกสาร เครื่องมือและเทคโนโลยีความปลอดภัยของเว็บแอปพลิเคชัน
OWASP Top 10 คือ 10 ข้อที่สำคัญที่สุดตามมาตราฐานความปลอดภัยของเว็บแอปพลิเคชัน โดยจะมีข้อมูลหลักๆที่แสดง ดังนี้
- แสดงเกี่ยวกับความเสี่ยงของช่องโหว่ ที่เกิดขึ้น
- ผลกระทบที่เกิดขึ้นตามช่องโหว่นั้นๆ
- การป้องกันช่องโหว่นั้นๆ
OWAP Top 10 ปี 2020 มีรายละเอียดดังนี้
OWASP ลำดับที่1: การใช้ Injection คือ การโจมตีโดยแทรกคำสั่ง (Code) เข้าไปที่แอปพลิเคชั่นเป้าหมาย มีได้ทั้งแบบ SQL หรือ NoSQL หรือแทรกผ่านคำสั่งระดับ OS และ การแทรกคำสั่งผ่าน LDAP
OWASP ลำดับที่2: การใช้ Broken Authentication คือการโจมตีที่เกี่ยวกับฟังก์ชั่นการ login โดยใช้ username และ password หรือ การใช้ Login Keys หรือ การใช้ session token
OWASP ลำดับที่3: การใช้ Sensitive Data Exposure คือ การโจมตีแบบเจาะจงมาที่การส่งชุดข้อมูลส่วนตัว หรือ บัตรประชาชน หรือ บัตรเครดิต แล้วปลอมแปลงข้อมูลนั้นๆไปยังเป้าหมายที่ต้องการ โดยการโจมตีนี้ทำได้ทั้งทาง web applications และ APIs (Application Programming Interface คือ ช่องทางการเชื่อมต่อระหว่างเว็บไซต์หนึ่งไปยังอีกเว็บไซต์หนึ่ง)
OWASP ลำดับที่4: การใช้ XML External Entities (XXE) คือ การโจมตีผ่าน SOAP Web Services โดยการส่งคำสั่งเข้าไปใน XML document ของเครื่องเป้าหมาย เพื่อให้ฝั่ง server ประมาณผล การโจมตีทาง XXE ยกตัวอย่างเช่น
- การส่ง HTTP Request ทาง URL เข้าไปโจมตี
- การส่ง XML เข้าไปเพื่อให้อ่าน File ในเครื่องเป้าหมายว่ามี file ใหน share อยู่บ้าง และ file นั้นเปิดให้ read หรือ write หรือ execute ได้หรือไม่
- การส่ง XML เข้าไปเพื่อ scan หา port ของเป้าหมายที่เปิดไว้
- การส่ง code ผ่านทาง XXE เพื่อให้เกิดการ run หรือ execute คำสั่งตามที่เราต้องการ
- การส่ง denial-of-service (DoS) เข้าไปโจมตีทาง XXE เป้าหมายคือทำให้เครื่อง server ประมวลผลสูงๆ กิน resource พวก CPU และ Memory เยอะๆ จนไม่สามารถให้บริการอื่นๆได้ ไม่ถึงขนาดต้องให้ระบบ Down เพียงขอแค่ขัดขวางหรือชะลอ ไม่ให้บริการ (service) ของเป้าหมายทำงานได้ปกติ อาจจะอย่างชั่วคราวหรือถาวร ก็ได้
OWASP ลำดับที่5: Broken Access control คือ โจมตีผ่านทางสิทธิ์ ของบัญชีผู้ใช้ในระบบ เช่นการให้สิทธิ์ บางอย่างกับบาง user มากเกินไป จนสามารถเจาะได้ทั้งระบบ หรือ user ตัวเองไม่มีสิทธิ์ในการแก้ไขบางอย่างที่ตัวเองต้องการ แอบใช้ user ของคนอื่นที่มีสิทธิ์มากกว่ามาทำโดยที่เจ้าของ user สิทธิ์นั้นไม่รู้ จนทำให้เกิดช่องโหว่ในการโจมตีจาก Hacker
OWASP ลำดับที่6: Security misconfigurations คือ โจมตีผ่านช่องโหว่การตั้งค่าระบบ แบบใช้ค่าเริ่มต้น (Default configuration) ทำให้สามารถคาดเดาการตั้งค่าของระบบได้ หรือ การตั้งค่าระบบไม่ปลอดภัย ใส่ผิดตำแหน่ง (path) กำหนดสิทธิ์ไม่ถูกต้อง หรือ การใส่ค่า configuration เพิ่มเติมจากที่มีอยู่เพื่อทำงานบางอย่างโดยไม่คำนึงถึงปลอดภัย หรือ การไม่ใส่ HTTP Headers รวมถึงการส่ง output app log ที่มีรายละเอียดส่วนบุคคลมากเกินไป เช่น ชื่อ นามสกุล บัตรประชาชน หรือ อื่นๆ ไม่เพียง แต่ต้องกำหนดค่าระบบปฏิบัติการเฟรมเวิร์กและแอพพลิเคชั่นทั้งหมดอย่างปลอดภัย แต่จะต้องได้รับการติดตั้ง / อัพเกรดในเวลาที่เหมาะสมด้วย
OWASP ลำดับที่7: Cross Site Scripting (XSS) คือ ช่องโหว่เกิดจากฝั่งหน้า Web browser ของ Application ที่ยอมรับให้ Hacker สามารถส่ง data หรือ script (JavaScript) ไป run หรือ execute ที่ web browser ได้
OWASP ลำดับที่8: Insecure Deserialization คือ การโจมตีโดยการส่ง remote code เข้ามา เมื่อระบบมีช่องโหว่ที่เกิดการการแปลงข้อมูลหรือถอดหรัสข้อมูลใน application ที่ผิดพลาด
OWASP ลำดับที่9: Using Components with known vulnerabilities คือ โจมตีผ่านช่องโหว่ของการใช้ Software (libraries และ frameworks) และ Hardware ที่ถูกรายงานและถูกเปิดเผยไว้เป็นสาธารณะแล้ว โดยมาตราฐานจะอ้างอิงตาม ช่องโหว่ที่ประกาศที่ CVE ที่เป็นหน่วยงานหลัก ที่ทำหน้าที่รวบรวมช่องโหว่ต่างๆ ไว้เพื่ออ้างอิงอย่างเป็นทางการ จัดลำดับเวลาในการเกิดเหตุ และความร้ายแรงของช่องโหว่นั้นๆด้วย สามารถตรวจสอบได้ที่ cve.mitre.org
OWASP ลำดับที่10: Insufficient logging and monitoring คือ โจมตีจากช่องการบันทึก และแสดงผล log ของการโจมตี ที่ไม่เพียงพอสำหรับการวิเคราะห์หาความเสี่ยง และการตรวจสอบ (Monitoring) ที่ไม่ครอบคลุม ถึงเส้นทางการโจมตีจากกลุ่ม Hacker
cr. 1