วันพุธที่ 7 มีนาคม พ.ศ. 2561

OWASP Top 10 ปี 2017 การจัดอันดับ 10 ช่องโหว่ร้ายแรงที่เกิดขึ้นบนเว็บแอพพลิเคชัน



ทำความรู้จัก OWASP
OWASP ย่อมาจาก (The Open Web Application Security Project) ซึ่งถูกพัฒนาขึ้นโดยองค์กรที่ไม่แสวงหาผลประโยชน์เพื่อปกป้องส่งเสริมและพัฒนาการรักษาความปลอดภัยของโปรแกรมประยุกต์(Application) ให้ดียิ่งขึ้นโดยเน้นในเรื่องเว็บแอพพลิเคชันด้วยการระบุความเสี่ยงร้ายแรง 10 อันดับที่เกิดขึ้นในการพัฒนาเว็บแอพพลิเคชันเพื่อลดความเสี่ยงในการถูกโจมตี


ทำความรู้จัก OWASP Top 10 - 2017
OWASP Top 10 เป็นเอกสารงานวิจัยที่ถูกสร้างขึ้นเพื่อสร้างความตระหนักด้านความมั่นคงปลอดภัยบนเว็บแอพพลิเคชัน ที่มีความเสี่ยงร้ายแรงที่สุด 10 อันดับที่เกิดขึ้นจริงในปัจจุบัน โดยผู้เชี่ยวชาญทางด้านความมั่นคงปลอดภัยจากหลากหลายสาขาอาชีพทั่วโลก ซึ่งบริษัท องค์กร หรือหน่วยงานภาครัฐ สามารถใช้เอกสารฉบับนี้เป็นเป็นแนวนโยบายในการพัฒนาซอฟต์แวร์ เพื่อลดความเสี่ยงหรือภัยคุกคามจากผู้ไม่ประสงค์ดี (Hacker)
 

https://www.owasp.org/images/7/72/OWASP_Top_10-2017_(en).pdf.pdf
  


แสดงตารางการเปรียบเทียบ 10 อันดับช่องโหว่ร้ายแรงระหว่างปี 2013 และปี 2017



จากตารางในข้างต้นสามารถสรุปความแตกต่าง10 อันดับช่องโหว่ร้ายแรงระหว่างปี 2013 และปี 2017 ได้ดังนี้
1. ภายในปี 2017 หัวข้อ A4-Insecure Direct Object References และ A7-Missing Function Level Access Control ถูกยุบรวมเข้ากับหัวข้อ A5-Broken Access Centrol
2. ภายในปี 2017 มีหัวข้อเกิดขึ้นใหม่ 3 หัวข้อดังนี้
2.1 A4-XML External Entities (XXE)
2.2 A8-Insecure Deserialization
2.3 A10-Insufficient Logging&Monitoring


แนวทางการหรือกระบวนการพัฒนาซอฟต์แวร์ให้มีความมั่นคงปลอดภัย
1.       Application Security Requirements ผู้ที่สนใจรายละเอียดเพิ่มเติมสามารถศึกษาได้ที่
https://www.owasp.org/index.php/Category:OWASP_Application_Security_Requirements_Project
2.       Application Security Architecture ผู้ที่สนใจรายละเอียดเพิ่มเติมสามารถศึกษาได้ที่
https://www.owasp.org/index.php/Application_Security_Architecture_Cheat_Sheet
3.       Security Standard Controls ผู้ที่สนใจรายละเอียดเพิ่มเติมสามารถศึกษาได้ที่
https://www.owasp.org/index.php/Category:OWASP_Application_Security_Verification_Standard_Project
4.       Secure Development Lifecycle ผู้ที่สนใจรายละเอียดเพิ่มเติมสามารถศึกษาได้ที่
https://www.owasp.org/index.php/OWASP_SAMM_Project
5.       Application Security Education ผู้ที่สนใจรายละเอียดเพิ่มเติมสามารถศึกษาได้ที่
https://www.owasp.org/index.php/Category:OWASP_WebGoat_Project
https://www.owasp.org/index.php/Category:OWASP_WebGoat.NET
https://www.owasp.org/index.php/OWASP_Node_js_Goat_Project
https://www.owasp.org/index.php/OWASP_Juice_Shop_Project
https://www.owasp.org/index.php/OWASP_Broken_Web_Applications_Project
 

 
คำอธิบาย OWASP Top 10 ปี 2017 ที่มี 10 อันดับช่องโหว่ร้ายแรง ดังนี้
A1-Injection
คือ ช่องโหว่ที่ผู้ไม่ประสงค์ดีสามารถแทรกคำสั่งอันตรายเข้าสู่เว็บแอพพลิเคชัน เพื่อให้ระบบทำงานตามคำสั่งที่
ผู้ไม่ประสงค์ดีต้องการ เช่น คำสั่งของระบบปฏิบัติการ หรือ คำสั่ง
SQL (Structured Query Language) ทำให้
ผู้ไม่ประสงค์ดีสามารถเรียกดูข้อมูลหรือแก้ไขข้อมูลสำคัญได้สำเร็จ

A2-Broken Authentication
คือ ช่องโหว่เกิดขึ้นจากฟังกชั่นระบบการพิสูจน์ตัวตน (Authentication) ไม่ปลอดภัยเพียงพอ เช่น การตั้งชื่อผู้ใช้งานและรหัสผ่านที่ง่ายต่อการคาดเดา, การจัดการสิทธิในการเข้าถึงที่อ่อนแอ (Session Management) ทำให้ผู้ไม่ประสงค์ดีสามารถเข้าสู่ระบบได้สำเร็จ


A3-Sensitive Data Exposure
คือ ช่องโหว่ที่เกิดขึ้นจากระบบขาดการเข้ารหัสลับข้อมูลสำคัญระหว่างการรับส่งข้อมูลหรือมีการเข้ารหัสด้วยวิธีการที่สามารถถอดรหัสได้ง่าย ทำให้ผู้ไม่ประสงค์ดีสามารถเข้าถึงข้อมูลสำคัญในระบบได้
 

A4-XML External Entities (XXE)
คือ การใช้งานภาษา XML เวอร์ชันเก่าหรือการตั้งค่า XML Parsers ที่ไม่มีการกำหนดค่าที่ปลอดภัยเพียงพอ
ในการรับข้อมูลเอนทิตีจากภายนอก ผ่านมาตรฐานการอ้างอิงรูปแบบ URI บนโพรโทคอล HTTP
ทำให้เกิดช่องโหว่ได้หลากหลายรูปแบบ เช่น ไฟล์ข้อมูลภายในถูกเปิดเผย การสแกนพอร์ต การรันคำสั่งแปลกปลอมจากระยะไกล (RCE)  เป็นต้น
หรือ DoS เป็นต้น


A5-Broken Access Control
คือ ช่องโหว่ที่เกิดขึ้นจากระบบขาดการตรวจสอบฟังก์ชัน หรือสิทธิ์ต่าง ๆ อย่างเหมาะสม ทำให้การเชื่อมต่อเข้าสู่ระบบ ผู้ไม่ประสงค์ดีสามารถทำการ เชื่อมต่อเข้าสู่ระบบ โดยการข้ามขั้นตอนการพิสูจน์ตัวตนได้สำเร็จ
 

A6-Security Misconfiguration
คือ ช่องโหว่ที่เกิดขึ้นจากระบบขาดการติดตั้งหรือการตั้งค่าที่ไม่เหมาะสม เช่น การใช้ชื่อผู้ใช้งานและรหัสผ่านแบบดีฟอลต์ , การตั้งค่าพาธการเข้าถึงแบบดีฟลอต์, การคงอยู่ของไฟล์สำคัญในระบบที่มาพร้อมกับการติดตั้งและตั้งค่า เป็นต้น ทำให้ผู้ไม่ประสงค์ดีสามารถเข้าถึงข้อมูลภายในระบบหรือรวบรวมข้อมูลสำคัญภายในระบบได้

A7-Cross-Site Scripting (XSS)
คือ ช่องโหว่ที่ผู้ไม่ประสงค์ดีสามารถแทรกหรือฝังคำสั่งอันตรายเข้าสู่ระบบเว็บแอพพลิเคชันได้ เช่น คำสั่งของ JavaScript หรือ HTML ทำให้ผู้ไม่ประสงค์ดีสามารถขโมยเซสชั่น (session) หรือ เปลี่ยนหน้าเว็บไซต์ไปยังเว็บไซต์ของผู้ไม่ประสงค์ดีได้สำเร็จ



A8-Insecure Deserialization
คือ การใช้งานฟังก์ชัน Deserialization ที่อนุญาตให้ผู้ไม่ประสงค์ดีสามารถแก้ไขโครงสร้างข้อมูลจากระยะไกล ทำให้เกิดช่องโหว่ได้หลากหลายรูปแบบ เช่น Replay Attacks, Injection Attacks และ Privilege Escalation Attacks เป็นต้น



A9-Using Components with Known Vulnerabilities
คือ ช่องโหว่ที่เกิดขึ้นจากตัวระบบหรือแอพพลิเคชัน ที่มีการใช้งาน libraries หรือ frameworks หรือ software modules ต่างๆ ที่มี่ช่องโหว่ทำให้ผู้ไม่ประสงค์ดีสามารถเข้าถึงข้อมูลสำคัญหรือยึดครองเครื่องเซิร์ฟเวอร์ได้สำเร็จ



A10-Insufficient Logging and Monitoring
คือ การเฝ้าระวัง Log ที่ไม่ดีเพียงพอต่อการตอบสนองภัยคุกคามจากผู้ไม่ประสงค์ดี (Incident Response)
ทำให้ผู้ไม่ประสงค์ดีสามารถขยายผลการโจมตีและเข้าสู่ระบบได้สำเร็จ

อ้างอิง
https://www.owasp.org