Site icon PlusMagi's Blog By Pitt Phunsanit

OWASP Top 10

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

นี่คือสรุปเนื้อหาสำคัญของ OWASP Top 10 เวอร์ชันล่าสุดครับ


Broken Access Control ( การควบคุมการเข้าถึงที่ผิดพลาด )

ขึ้นมาเป็นอันดับ 1 แทนที่ Injection โดยเป็นปัญหาที่ผู้ใช้งานสามารถเข้าถึงข้อมูลหรือฟังก์ชันที่ไม่มีสิทธิ์ได้ เช่น ผู้ใช้ทั่วไปสามารถเข้าถึงหน้า Admin หรืออ่านข้อมูลส่วนตัวของผู้อื่นได้เพียงแค่เปลี่ยน ID ใน URL


Cryptographic Failures ( ความล้มเหลวในการเข้ารหัสลับ )

มุ่งเน้นไปที่ความผิดพลาดในการปกป้องข้อมูลที่ละเอียดอ่อน เช่น การใช้ Algorithm การเข้ารหัสที่ล้าสมัย, การส่งข้อมูลผ่านโปรโตคอลที่ไม่ปลอดภัย ( เช่น HTTP แทน HTTPS ) หรือการเก็บรหัสผ่านเป็นข้อความธรรมดา ( Plaintext )


Injection ( การฉีดคำสั่งอันตราย )

ช่องโหว่คลาสสิกที่แฮกเกอร์ส่งคำสั่งอันตรายผ่านช่องกรอกข้อมูลเพื่อให้ระบบประมวลผลผิดพลาด ตัวอย่างที่พบบ่อยคือ SQL Injection ที่คนร้ายสามารถสั่งลบหรือขโมยข้อมูลจาก Database ทั้งหมดได้


Insecure Design ( การออกแบบที่ไม่ปลอดภัย )

ป็นหมวดที่เน้นเรื่อง “ความปลอดภัยตั้งแต่ขั้นตอนออกแบบ” ( Security by Design ) หากตัวแอปพลิเคชันมีตรรกะทางธุรกิจที่ผิดพลาดตั้งแต่แรก ต่อให้เขียน Code ดีแค่ไหนก็ยังมีความเสี่ยง เช่น การไม่มีระบบตรวจสอบการทำรายการซ้ำซ้อน


Security Misconfiguration ( การตั้งค่าความปลอดภัยที่ผิดพลาด )

เกิดจากการตั้งค่าระบบที่หละหลวม เช่น การลืมเปลี่ยนรหัสผ่านเริ่มต้น ( Default password ), การเปิดหน้า Error ที่บอกรายละเอียดระบบมากเกินไป หรือการเปิดพอร์ตที่ไม่ได้ใช้งานทิ้งไว้


Vulnerable and Outdated Components ( ส่วนประกอบที่มีช่องโหว่และล้าสมัย )

การใช้ Library, Framework หรือ Module ที่มีช่องโหว่ซึ่งถูกประกาศไปแล้วแต่ไม่ได้ทำการอัปเดต แอปพลิเคชันในปัจจุบันมักประกอบด้วย Library ภายนอกจำนวนมาก หากตัวใดตัวหนึ่งไม่ปลอดภัย ทั้งระบบก็จะเสี่ยงไปด้วย


Identification and Authentication Failures ( ความล้มเหลวในการระบุตัวตน )

ปัญหาที่เกิดขึ้นกับระบบ Login เช่น การปล่อยให้คนร้ายสุ่มรหัสผ่านได้ไม่จำกัด ( Brute Force ), การใช้ Session ID ที่เดาง่าย หรือระบบลืมรหัสผ่านที่ไม่รัดกุมพอ


Software and Data Integrity Failures ( ความล้มเหลวในความสมบูรณ์ของซอฟต์แวร์และข้อมูล )

เกี่ยวข้องกับ Code หรือโครงสร้างพื้นฐานที่ไม่มีการตรวจสอบความถูกต้อง เช่น การอัปเดตซอฟต์แวร์โดยไม่มีการตรวจสอบ Digital Signature หรือการดึงข้อมูลจากแหล่งที่ไม่น่าเชื่อถือมาใช้งานโดยตรง


Security Logging and Monitoring Failures ( ความล้มเหลวในการบันทึกเหตุการณ์และการเฝ้าระวัง )

หากระบบถูกโจมตีแต่ไม่มีการเก็บ Log หรือไม่มีระบบแจ้งเตือน จะทำให้ผู้ดูแลระบบไม่รู้ตัวและไม่สามารถแก้ไขสถานการณ์ได้ทันท่วงที สถิติพบว่าโดยเฉลี่ยแล้วแฮกเกอร์จะอยู่ในระบบนานกว่า 200 วันก่อนจะถูกตรวจพบ


Server-Side Request Forgery – SSRF ( การปลอมแปลงคำขอจากฝั่งเซิร์ฟเวอร์ )

เกิดขึ้นเมื่อแอปพลิเคชันดึงข้อมูลจาก URL ภายนอกตามที่ผู้ใช้กำหนด โดยไม่มีการตรวจสอบที่ดีพอ ทำให้แฮกเกอร์สามารถสั่งให้เซิร์ฟเวอร์ส่งคำขอไปยังระบบภายในที่ปกติต้องเข้าถึงผ่าน Firewall เท่านั้น


วิธีรับมือเบื้องต้น


อ่านเพิ่มเติม

Exit mobile version