OWASP TOP 10 edition 2021 มีอะไรอัพเดทบ้าง

Ploy Thanasornsawan
2 min readSep 14, 2021

--

OWASP หรือ Open Web Application Security Project เป็นมาตรฐานความปลอดภัยของเว็บแอปพลิเคชัน ที่ร่วมกันจัดทำโดยองค์กรไม่แสวงหากำไร ถือเป็นช่องโหว่หลักที่สาย developer และ IT security ไม่ควรพลาด และในปีนี้ 2021 ทาง OWASP ได้มีการรวบรวมความเสี่ยงที่พบเจอมากสุดในช่วงปี 2017–2021 ออกมาใหม่ดังรูปด้านล่าง แต่ยังเป็นเวอร์ชั่น Draft for peer review

https://owasp.org/Top10/

A01–2021: Broken Access Control การอนุญาตให้เข้าถึงข้อมูลโดยที่ไม่มีการจำกัดสิทธิ์การเข้าถึง เช่น directory indexing ทำให้คนที่ไม่มีสิทธิ์สามารถเห็นไฟล์ต่างๆบนแอพพลิเคชั่น อย่างไฟล์ backup database, การให้สิทธิ์กับบาง user มากเกินไปทำให้สามารถแก้ไขข้อมูลของ user คนอื่นได้โดยที่เจ้าของไม่ทราบ ซึ่งผู้ไม่หวังดีอาจใช้ประโยชน์จากข้อบกพร่องในการควบคุมการเข้าถึงของแอพพลิเคชั่นที่เรียกว่า “forced browsing” เมื่อผู้ไม่หวังดีทราบ URL ที่เฉพาะคนที่มีสิทธิ์เท่านั้นหรือ Admin สามารถเข้าได้และกระทำการ browse หน้า URL นั้นตรงๆจากสิทธิ์ทั่วไป เป็นต้น

A02–2021: Cryptographic Failure ช่องโหว่ที่เกี่ยวข้องกับการเข้ารหัสข้อมูล ซึ่งเดิมมาจากข้อ Sensitive Data Exposure แต่ในปี 2021 มาโฟกัสในเรื่องความปลอดภัยของข้อมูล การส่งผ่านข้อมูลบนเว็บแอพพลิเคชั่นแบบ plaintext ด้วย HTTP, SMTP และ FTP และมีการใช้การเข้ารหัสคีย์ด้วยวิธีที่ไม่ปลอดภัยและใช้ซ้ำ

A03–2021: Injection คือการโจมตีโดยแทรกคำสั่ง (code) เข้าไปที่แอพลิเคชันเป้าหมายด้วยเทคนิคต่างๆ เช่น SQL injection, NoSQL injection, LDAP injection, OS Command injection และอื่นๆ ทั้งนี้ได้มีการนำ Cross-site Scripting (XSS) จาก 2017 มาเป็นส่วนหนึ่งของข้อนี้ด้วย

A04–2021: Insecure Design เป็นช่องโหว่ที่ถูกเพิ่มเข้ามาใหม่ในปีนี้ โดยโฟกัสที่ความเสี่ยงที่จะเกิดขึ้นหากไม่ออกแบบความปลอดภัยในขั้นตอนการใช้งานแต่ละส่วนบนเว็บแอพลิเคชั่น ด้วยการทำ Threat modeling และ secure pattern เช่น เว็บจองที่นั่งซื้อตั๋วหนังอนุญาตให้ลูกค้าสามารถใช้โค้ดส่วนลดได้ไม่เกิน 15 คนแต่ผู้ไม่หวังดีสามารถจำลองการโจมตีในส่วนขั้นตอนการใช้ส่วนลดได้โดยพยายามจองที่นั่งทั้งหมด 6 พันที่นั่งหรือทั้งโรงหนังด้วยส่วนลดนี้ ในเวลาเดียวกันจากไม่กี่ requests

A05–2021 Security Misconfiguration คือการโจมตีผ่านการตั้งค่าระบบ เช่น กดส่งข้อมูลที่มีตัวอักษรไม่ถูกต้องไปแต่แอพพลิเคชันโชว์ชื่อ table database ออกมา ไม่มีการทำ Error handling ไว้, account สำหรับเข้าใช้งานใช้ default username, password ทั้งนี้ได้มีการนำ XML External Entities (XXE) จาก 2017 มาเป็นส่วนหนึ่งของข้อนี้ด้วย

A06–2021 Vulnerable and Outdate Components เป็นการใช้แอพพลิเคชั่นที่มีการใช้งาน library หรือ components ที่มีช่องโหว่แบบ well-known ไม่ได้มีการอัพเกรดเวอร์ชั่น เช่น ใช้ geth EVM เวอร์ชั่นเก่าของ Ethereum client ทำให้เกิดความเสียหายที่เรียกว่า “Double Spending attack” ได้ ทั้งนี้สามารถสามารถตรวจสอบช่องโหว่ได้ที่ cve.mitre.org

A07–2021 Identification and Authentication Failure เป็นช่องโหว่ที่เกิดจากการ authentication ที่ไม่ปลอดภัย เช่น อนุญาตให้ตั้ง password ที่คาดเดาง่ายอย่าง password หรือ Password1, ไม่มีการทำการยืนยันตัวตัน 2 ชั้น (2FA) ด้วย factor อื่นๆเช่น code จาก Microsoft authenticator, biometric, OTP ไม่มีการป้องกันการ brute force attack ไม่มีการเปลี่ยนค่า SESSION IDs หลังจากทำการล็อคอินเข้าสู่ระบบสำเร็จ เป็นต้น

A08–2021 Software and data integrity failures เป็นช่องโหว่ที่ถูกเพิ่มเข้ามาใหม่ในปีนี้ โดยจะโฟกัสไปที่ CI/CD pipelines ที่สามารถใส่คำสั่ง (code) เพื่อทำการควบคุมทั้ง systemได้ ซึ่งในหลายๆแอพพลิเคชั่นได้ทำ auto update function ไว้แต่ไม่มีการตรวจสอบความถูกต้องของฟังก์ชั่น ทำให้ผู้ไม่หวังดีสามารถอัพโหลดโค้ดสำหรับอัพเดทขึ้นไปเพื่อรันทั้งแอพพลิเคชันได้ ทั้งนี้ได้มีการนำ Insecure Deserialization จาก 2017 มาเป็นส่วนหนึ่งของข้อนี้ด้วย

A09–2021 Security Logging and Monitoring Failures เป็นช่องโหว่ที่เกิดจากการ monitor logs ที่ไม่เหมาะสม ไม่มีการเก็บ log ของ API ข้อมูล Log ถูกจัดเก็บไว้ในที่จัดเก็บข้อมูลของเครื่องเท่านั้นและตัวแอพพลิเคชั่นไม่มีการ log แบบ real time ทำให้ไม่สามารถตรวจสอบและแจ้งเตือนการโจมตีได้ในขณะที่ใช้งาน

A10–2021 Server-Side Request Forgery (SSRF) เป็นช่องโหว่ที่ถูกเพิ่มเข้ามาใหม่ในปีนี้ ว่าด้วยเรื่องการเข้าควบคุม server โดยผู้ไม่หวังดีสามารถทำให้ server ไป request services อื่นๆในเครื่องนั้นหรือเครื่องอื่นๆที่ network สามารถ route ถึงกันได้โดยการเปลี่ยน protocol scheme, URL, port ในช่องทางที่อนุญาตให้ใส่เฉพาะ URL แต่แอพพลิเคชั่นไม่ได้ทำ Blacklist filtering input ไว้

--

--

Ploy Thanasornsawan
Ploy Thanasornsawan

Written by Ploy Thanasornsawan

Sharing knowledge about security and automation techniques.

No responses yet