อย่างที่ทราบกันดีว่า OWASP (Open Web Application Security Project) จะออก report อันดับของการโจมตีทางด้านเว็บแอพพลิเคชั่นมากที่สุดทุกๆ 3 ปี โดยเอกสาร Final ล่าสุดคือ OWASP Top 10 2013 ซึ่งจริงๆแล้ว report ฉบับใหม่ที่ควรจะออกคือเมื่อปี 2016 ที่ผ่านมา แต่ด้วยปัญหาต่างๆนาๆ ทำให้ Report ล่าช้ามาถึงปี 2017 และในที่สุด OWASP Top 10 2017 RC1 version ก็ได้ออกมาซักที โดย version ดังกล่าวเป็น version ก่อน Final ซึ่ง version Final จะออกมาหลังจากนี้ประมาณ 2-3 เดือน แต่โดยปกติจะไม่มีอะไรเปลี่ยนแปลงซักเท่าไหร่ครับ
โดย OWASP Top 10 2017 จะประกอบไปด้วย
A1 – Injection
A2 – Broken Authentication and Session Management
A3 – Cross-Site Scripting (XSS)
A4 – Broken Access Control (Original category in 2003/2004) (เป็นการรวมกันระหว่าง A4 และ A7 ของ OWASP Top 10 2013)
A5 – Security Misconfiguration
A6 – Sensitive Data Exposure
A7 – Insufficient Attack Protection (NEW)
A8 – Cross-Site Request Forgery (CSRF)
A9 – Using Components with known vulnerabilities
A10 – Underprotected APIs (NEW)
จากภาพจะเห็นว่า Top 10 – 2013 กับ Top 10 – 2017 นั้นแตกต่างกันไม่มากครับ ส่วนใหญ่จะเหมือนกัน ที่แตกต่างกันคือ A4 และ A7 และ A10
A4 – Broken Access Control คือช่องโหว่ที่เกิดจากการควบคุม user ว่าทำอะไรได้และไม่ได้อย่างไรได้ไม่ดีพอ ทำให้ Hacker สามารถเข้าถึงการทำงานและข้อมูลต่างๆที่ไม่ได้รับอนุญาต เช่น การเข้าถึงข้อมูลของ user ผู้อื่น, การเข้าถึงไฟล์สำคัญของระบบ, การแก้ไขข้อมูลของ user อื่นๆ, การกระทำคำสั่งของผู้ดูแลระบบโดยใช้สิทธิ์ของ user ธรรมดา เป็นต้น
A7 – Insufficient Attack Protection คือการที่ระบบ application และ APIs ไม่มีส่วนการตรวจจับ, ป้องกันและการตอบสนองเมื่อถูกโจมตีในลักษณะที่เป็น manual หรือการใช้ autmated tool ในการโจมตีก็ตามที สิ่งเหล่านี้ทำให้ Attacker สามารถโจมตีไปได้เรื่อยๆตราบเท่าที่ระบบยังสามารถให้บริการอยู่ สิ่งที่ครอบคลุมในหัวข้อนี้คือ ทีมงานผู้ดูแลมีความสามารถในการตรวจจับการโจมตีได้ดีแค่ไหน ระบบมีการป้องกันการโจมตีได้อย่างไร รวมถึงการตอบสนองเมื่อเหตุการโจมตีเกิดขึ้นแล้วได้รวดเร็วเพียงใด เช่น การถูก scan website ผู้ดูแลมีระบบแจ้งเตือนแบบ auto หรือไม่ หรือ หากโดนโจมตีช่องโหว่ที่ยังไม่ได้ patch จะรับมือกับการโจมตีที่เกิดขึ้นได้อย่างไร จะทำ virtual patching ได้หรือไม่ เป็นต้น
A10 – Underprotected APIs คือเนื่องด้วยเว็บไซด์ในปัจจุบันรวมถึง Application มือถือต่างๆ ต่างติดต่อไปยัง Server ในลักษณะที่เป็น Web Service ซะส่วนใหญ่ แต่ผู้พัฒนากลับลืมตรวจสอบและป้องกันช่องทางการติดต่อดังกล่าว ส่งผลให้ Attacker สามารถจะเจาะเข้าสู่ระบบผ่านช่องทางของ Web Service เหล่านั้นได้ โดยช่องโหว่ที่เกิดขึ้นในส่วน APIs เป็นไปได้ทั้ง SOAP/XML, REST/JSON, RPC, GWT, และอื่นๆ
ทั้งหมดทั้งมวลผู้ดูแลและ Developer ควรอ่านเอกสารฉบับนี้เพื่อเรียนรู้ถึง Best Practice ของการป้องกันระบบให้สามารถรับมือกับภัยคุกคามต่างๆได้อย่างดีและมีประสิทธิภาพมากขึ้นครับ
Source:: Github ของ OWASP