ไปเจอว่า OWASP นั้นเพิ่มเรื่องของ API Security มาด้วย
(ตามจริงมานานละ แต่เพิ่งเห็น) กับมีงานที่ต้องนำไปใช้นิดหน่อย
เนื่องจากทุกระบบงานก็มีการใช้งาน API (Application Programming Interface) อยู่แล้ว
ไม่ว่าจะอยู่ในรูปแบบไหนทั้ง REST, Web API และ WebService เป็นต้น
ยิ่งเปิดให้ใช้งานแบบ public ด้วยแล้ว (ไม่ว่าทางตรงหรือทางอ้อม)
สิ่งที่สำคัญมาก ๆ คือ เรื่องของความปลอดภัยนั่นเอง
โดยจาก OWASP API Security Top 10 ปี 2019
ทำการสรุปว่า เรื่องที่ API โดนโจมตีหรือหลุดบ่อย ๆ มีดังนี้
- Broken Object Level Authorization
- Broken User Authentication
- Excessive Data Exposure
- Lack of Resources & Rate Limiting
- Broken Function Level Authorization
- Mass Assignment
- Security Misconfiguration
- Injection
- Improper Assets Management
- Insufficient Logging & Monitoring
จากที่อ่านดูนั้น พบว่าเรื่องของ Authorization นั้นมักจะหลุดบ่อยมาก ๆ
ทำให้สามารถดึงข้อมูลไปใช้งานได้โดยตรง จากผู้ที่เราไม่ต้องการให้เข้าถึง
หรือบ่อยครั้งจะทำการ authentication และ authorization เรียบร้อยแล้ว
แต่ดันไม่ส่งข้อมูลการทำการหรือตรวจสอบใน API อื่น ๆ หลังจากนั้น (Lack มาก ๆ)
รวมทั้งเรื่องของการ expose หรือส่ง response ออกมาเยอะจนเกินไป
หนักกว่านั้น เอาข้อมูลทุก ๆ field ที่เก็บไว้ใน data store ออกไปเลยซะงั้น
อีกเรื่องที่ทำน้อยมาก ๆ คือ เรื่องของ Rate limit ในการเข้าถึง API
ซึ่งทำให้โดนระดมยิงหรือพวก DoS หรือ D-DOS แล้ว
ทำให้ประสิทธิภาพการทำงานของระบบแย่ลง หรือล่มไปง่าย ๆ
ส่วนของ Injection ประเภทต่าง ๆ ทั้ง SQL, NoSQL และ Command Injection
จากการไม่กรองข้อมูลขาเข้าให้ดี ก็ยังเกิดขึ้นเยอะ
ในเรื่องของการ configuration ที่ผิดพลาดในฝั่ง Server ก็ยังคงเกิดขึ้น
ซึ่งต้องระวังให้มาก ๆ ทั้งเรื่องของ CORS, HTTP Header
และ HTTP method ที่ไม่จำเป็น
รวมทั้ง error message ที่แสดงข้อมูล sensitive data มากจนเกินไป
จำนวน API ที่เปิดให้ใช้งานนั้น จะมีจำนวนมากขึ้น
ดังนั้นเรื่องของเอกสารอธิบายต่าง ๆ ต้องชัดเจน
ทั้งอธิบายการทำงาน รวมไปถึงการใช้งานในเชิงการพัฒนาที่ชัดเจน
ตลอดจนเรื่องของ การจัดการ versioning และ deprecated API ด้วย
เรื่องสุดท้ายคือ การ moniotring และ logging ของ API ที่ไม่เพียงพอ
ส่งผลให้กว่าจะรู้ปัญหา หรือ รู้ว่ามีใครกำลังโจมตีระบบช้ามาก ๆ
ทำให้เกิดความสูญเสียมากมายตามมา
ดังนั้นจำเป็นต้องวางระบบ moniotoring และ logging ให้ดี
ส่วนการเข้ารหัสข้อมูลและ HTTPS ถือว่าเป็นก้าวแรกของการเริ่มต้นที่ดี
และต้องมีก้าวต่อไปด้วยเสมอ
รายละเอียดอ่านได้จาก PDF เลยครับ
ส่วนเรื่องอื่น ๆ ก็มี
[slideshare id=202365953&doc=owaspapisecuritytop10-theneedofenterprisesolutionsformanagingapisecurity-191206164347&w=600]