แนวคิดการพัฒนาระบบให้ปลอดภัยจากการโจมตีควรทำอย่างไรดี?

สวัสดีท่านผู้อ่านทุกๆท่าน เนื่องจากสถานการณ์ที่ผ่านมานั้นจากข่าวต่าง ๆ จะเห็นได้ว่ามีการโจมตีทาง Cybersecurity ต่าง ๆ มากขึ้น ในหน่วยงานต่าง ๆ ซึ่งถ้าหากถูกโจมตีและสามารถเข้าถึงระบบได้ จะเกิดความเสียหายต่าง ๆ ตามมาอย่างมาก ฉะนั้นวันนี้ผมก็จะมาพูดถึงมาตรฐานของทาง OWASP หมวดหมู่ต่าง ๆ ไม่ได้เพียงไว้สำหรับการอ้างอิงในการทดสอบเจาะระบบ (Pentesting) เท่านั้น ซึ่งนักพัฒนาระบบ หรือ Developer (DEV) ก็สามารถนำแนวทางนี้ ไปทำการศึกษาเพื่อเพิ่มความปลอดภัยการในการพัฒนาระบบ และ ป้องกันการโจมตีระบบต่าง ๆ จากภายนอก และ ภายในได้
What is OWASP?
เกริ่นคร่าว ๆ ในส่วนของ OWASP สำหรับบางท่านที่พึ่งเคยได้ยินชื่อนะครับ OWASP คือ องค์กรที่ไม่แสวงหาผลกำไร ที่จะมีการจัดอันดับหมวดหมู่การโจมตีต่าง ๆ ที่เกิดขึ้น โดยใช้ชื่อที่เรียกว่า OWASP Top 10 ซึ่งในปัจจุบันที่ทำการทดสอบและใช้อ้างอิงบ่อย ๆ จะมีอยู่ 3 ชนิด หลัก ๆ คือ OWASP Top 10 Web Application, OWASP Top 10 API และ OWASP TOP 10 Mobile Application โดยแบ่งเป็นรายละเอียดคร่าว ๆ ดังนี้
OWASP Top 10 Web Application

Ref: https://owasp.org/www-project-top-ten/
เป็นมาตรฐานการอ้างอิงสำหรับการทดสอบในหมวดหมู่ของ Web Application ต่าง ๆ บนระบบ ซึ่งมีการจัดหมวดหมู่ทั้งหมด 10 ข้อ โดยจะแบ่งเป็นหมวดหมู่เรื่องต่าง ๆ ตั้งแต่ช่องโหว่เกี่ยวกับการทำ Authorization, Authentication, SQL Injection หรือ Server-side Request Forgery ไปจนถึงหมวดหมู่เกี่ยวกับ Business Logic ต่าง ๆ เช่น การ Bypass เพื่อข้าม Flow หรือจะเป็นช่องโหว่ Race Condition ที่พบเจอกันอยู่บ่อยครั้ง
OWASP Top 10 API

Ref: https://owasp.org/API-Security/editions/2023/en/0x11-t10/
เป็นมาตรฐานการอ้างอิงสำหรับการทดสอบในหมวดหมู่ของ API ต่าง ๆ บนระบบ ซึ่งมีการจัดหมวดหมู่ทั้ง 10 ข้อเช่นเดียวกัน โดยช่องโหว่ต่าง ๆ จะมีลักษณะคล้ายคลึงกับ OWASP Top 10 Web Application
OWASP Top 10 Mobile Application

Ref: https://owasp.org/www-project-mobile-top-10/
เป็นมาตรฐานการอ้างอิงสำหรับการทดสอบในหมวดหมู่ของ Mobile ต่าง ๆ โดยจะแบ่งเป็น 2 ส่วน คือ Dynamic กับ Static โดยหมวดหมู่จะมีตั้งแต่ที่คล้ายกับ Web และ API ไปจนถึงหมวดหมู่ช่องโหว่ Static ต่าง ๆ เช่น การตรวจสอบ Obfuscation Code, Root/Jailbreak Detection, Anti-Tampering, Anti-Hooking และ Local Storage
จากที่ได้เกริ่นมาจะเห็นได้ว่าทั้ง 3 ส่วนจะครอบคลุมกับการพัฒนาระบบ Web Application, API และ Mobile Application โดยสามารถติดตามรายละเอียดเพิ่มเติมของ OWASP Top 10 ทั้ง 3 ส่วนได้ในเพจหรือ medium ของ Datafarm ได้เลยครับ แล้วยังมีนอกเหนือจากนี้อีกหรือไม่ที่ไม่ใช่ทั้ง 3 อย่างนี้ ?
คำตอบ … มีครับ!
ซึ่งในปัจจุบันนั้นทาง OWASP ได้มีการจัดหมวดหมู่ช่องโหว่ต่าง ๆ มากมายสำหรับนักพัฒนาระบบ (Developer) จากระบบที่ผมเคยเจอมาจะเป็นเกี่ยวกับการทดสอบ Window Application โดยมาตรฐานที่ใช้งานจะเป็น OWASP Top 10 Desktop Application Security นั่นเองครับ ในส่วนของ OWASP Top 10 Desktop Application Security นั้นจะเน้นไปทาง Windows Application ซะส่วนใหญ่ โดยจะแบ่งเป็น 10 ข้อ ดังรูปด้านล่างนี้ครับ

Ref: https://owasp.org/www-project-desktop-app-security-top-10/
โดยรายละเอียดช่องโหว่นั้นจะมีตั้งแต่ SQL Injection ที่เราพบทั่วไปถ้าหากมีการส่งข้อมูลผ่าน API หรือการ Query จาก DB โดยตรง ต่อมาก็จะเป็นเรื่องการ Authentication, Authorization การใช้งาน Cryptography ที่ไม่ปลอดภัย รวมถึงการเขียน Code ต่าง ๆ ที่ไม่ปลอดภัยเช่น การ Hardcode Sensitive Information ไว้ใน Source Code เป็นต้น
แล้วถ้าหากนอกเหนือจากนี้ยังมีอีกหรือไม่ ?
คำตอบ มีครับ!
โดยเราสามารถเข้าไปทำการตรวจสอบได้ที่เว็บของ OWASP ได้เลยครับ

Ref: https://owasp.org/search/
จากนั้นทำการ Search ว่า OWASP Top 10 หลังจากนั้นจะพบข้อมูลต่าง ๆ หรือหมวดต่าง ๆ ที่ OWASP จัดอันดับไว้ได้เลยครับ ดังรูปด้านล่างครับ

Ref: https://owasp.org/search/
เราจะเห็นได้ว่า OWASP นั้นได้มีการจัดอันดับช่องโหว่ไว้เยอะมาก ๆ ครับ ที่เราสามารถค้นหาได้ โดย OWASP Top 10 ที่ผมสนใจอีกหัวข้อคือ OWASP Top 10 for Large Language Model Applications (LLM) นั่นเอง

Ref: https://owasp.org/search/
เนื่องจากในปัจจุบันนั้นจะเห็นได้ว่า AI ต่าง ๆ นั้น เป็นที่ยอดฮิตอย่างมากสำหรับบุคคลที่ใช้งานทั่วไป ซึ่งถ้าหากต้องการพัฒนาระบบที่มีการใช้งานเกี่ยวกับ AI นั้น จำเป็นต้องมีความรู้ในส่วนนี้ด้วยเช่นกันครับ เพื่อป้องกัน Hacker มาทำการโจมตีนั่นเอง ในส่วนของช่องโหว่จะมีทั้ง Prompt Injection, Sensitive Information Disclosure ไปจนถึง Unbounded Consumption เลยครับ โดยสามารถติดตามเนื้อหาได้ที่ลิงก์ได้เลยครับ
นอกเหนือจากนี้ยังมี OWASP Top 10 Infrastructure Security สำหรับฝั่ง Infrastructure ด้วยเช่นเดียวกันครับ

Ref: https://owasp.org/www-project-top-10-infrastructure-security-risks/
โดยรายละเอียดจะเป็นดังรูปซึ่งมีช่องโหว่ต่าง ๆ ที่เกี่ยวกับ Infrastructure ด้วยครับ เช่น Outdated Software, Insecure Configuration, Network Access Management รวมไปถึง Information Leakage อีกด้วยครับ
นอกเหนือจากที่กล่าวมาทั้งหมดยังมีอีกหลายหมวดหมู่ที่ผู้อ่านสามารถไปศึกษาเพิ่มเติมเลยได้ครับเช่น
- OWASP Top 10 CI/CD

Ref: https://owasp.org/www-project-top-10-ci-cd-security-risks/
- OWASP Top 10 Kubernetes

Ref: https://owasp.org/www-project-kubernetes-top-ten/
เป็นอย่างไรกันบ้างครับสำหรับบทความในวันนี้ซึ่งผมมองว่าช่องโหว่ต่าง ๆ ที่ OWASP ได้ Public ออกมานั้นได้เปิดมุมมองต่าง ๆ ในการพัฒนาระบบให้มีความปลอดภัย รวมถึงทำให้ทราบถึงภัยคุกคามต่าง ๆ ที่มีบนโลกอินเตอร์เน็ตมากขึ้นอีกด้วย สำหรับการป้องกันการโจมตีจาก Hacker และเปิดมุมมองของช่องโหว่ให้เราได้รู้ว่า OWASP Top 10 Vulnerabilities นั้น ไม่ได้มีแค่ Web, Mobile และ API อีกด้วยครับ ซึ่งบทความหน้าจะเป็นบทความเกี่ยวกับอะไรโปรดติดตามได้ในเพจ Datafarm และ Personar ได้เลยครับ สำหรับวันนี้ขอบคุณผู้อ่านทุกท่าน
Enjoy Coding and Hacking! ครับ
References:
OWASP: https://owasp.org/
OWASP Top 10 Web Application: https://owasp.org/www-project-top-ten/
OWASP Top 10 API: https://owasp.org/API-Security/editions/2023/en/0x11-t10/
OWASP Top 10 Mobile Application: https://owasp.org/www-project-mobile-top-10/
OWASP Top 10 Desktop Application Security: https://owasp.org/www-project-desktop-app-security-top-10/
OWASP Top 10 Large Language Model Application: https://owasp.org/www-project-top-10-for-large-language-model-applications/assets/PDF/OWASP-Top-10-for-LLMs-v2025.pdf
OWASP Top 10 Infrastructure Security: https://owasp.org/www-project-top-10-infrastructure-security-risks/