OWASP ย่อมาจาก
(The Open Web Application Security Project) ซึ่งถูกพัฒนาขึ้นโดยองค์กรที่ไม่แสวงหาผลประโยชน์เพื่อปกป้องส่งเสริมและพัฒนาการรักษาความปลอดภัยของโปรแกรมประยุกต์
(Application) ให้ดียิ่งขึ้นโดยเน้นในเรื่องเว็บแอพพลิเคชันด้วยการระบุความเสี่ยงร้ายแรง
10 อันดับที่เกิดขึ้นในการพัฒนาเว็บแอพพลิเคชันเพื่อลดความเสี่ยงในการถูกโจมตี
OWASP ได้จัดอันดับความเสี่ยงร้ายแรง
10 อันดับในด้านเว็บแอพพลิเคชันประจำปี 2013 ดังรูปที่ 1
รูปที่ 1 |
คำอธิบาย
1.
Injection
คือ ช่องโหว่ที่ผู้บุกรุกสามารถแทรกคำสั่งอันตรายเข้าสู่ระบบเว็บแอพพลิเคชั่น
เพื่อให้ระบบทำงานตามที่ผู้บุกรุกต้องการ เช่น คำสั่งของระบบปฏิบัติการ หรือคำสั่ง
SQL (Structured Query Language) เพื่อสั่งการบนระบบฐานข้อมูล
ทำให้ผู้บุกรุกสามารถเรียกดูหรือแก้ไขข้อมูลสำคัญในฐานข้อมูลได้ ซึ่งชนิดของการ Injection
สามารถแบ่งได้ดังนี้
o
SQL
Injection
o
XML
Injection
o
LDAP
Injection
o
Code
Injection
o
OS
Injection
o
XPath
Injection
o
SSI
Injection
o
IMAP/SMTP
Injection
2.
Broken
Authentication and Session Management คือ ช่องโหว่เกิดขึ้นจากฟังกชั่นระบบการพิสูจน์ตัวตน
(Authentication) ไม่ปลอดภัยเพียงพอ เช่น
การตั้งชื่อผู้ใช้งานและรหัสผ่านที่ง่ายต่อการคาดเดา, การจัดการสิทธิในการเข้าถึงที่อ่อนแอ
(Session Management) ทำให้ผู้บุกรุกสามารถเข้าสู่ระบบภายในได้สำเร็จ
3.
Cross
Site Scripting (XXS) คือ ช่องโหว่ที่ผู้บุกรุกสามารถแทรกคำสั่งอันตรายเข้าสู่ระบบเว็บแอพพลิเคชั่นได้
เช่น คำสั่งของ Javascript หรือ HTML ทำให้ผู้บุกรุกสามารถแก้ไขข้อมูลบนเว็บไซต์ได้
รวมถึงสามารถฝังโปรแกรมอันตรายลงบนเว็บไซต์ และหลอกล่อให้เหยื่อเปิดเว็บไซต์ดังกล่าวเพื่อใช้โจมตีเหยื่อได้
ซึ่งชนิดของการทำ Cross Site Scripting (XXS) สามารถแบ่งได้ดังนี้
o
Reflected
XSS
o
Stored
XSS
o
DOM
Based XSS
4.
Insecure
Direct Object References คือ ช่องโหว่ที่เกิดขึ้นจากระบบขาดการกำหนดสิทธิ์อย่างเหมาะสม
เช่น File, Directory Database key เป็นต้น ทำให้ผู้บุกรุกสามารถเข้าถึงข้อมูลภายในระบบได้โดยที่ไม่ต้องผ่านการพิสูจน์ตัวตน
หรือสามารถเข้าถึงได้ด้วยสิทธิ์ที่ไม่เหมาะสม
5.
Security
Misconfiguration คือ ช่องโหว่ที่เกิดขึ้นจากระบบขาดการติดตั้งและการตั้งค่าอย่างเหมาะสม
เช่น การใช้ชื่อผู้ใช้งานและรหัสผ่านแบบดีฟอลต์ , การตั้งค่าพาธการเข้าถึงแบบดีฟลอต์,
การคงอยู่ของไฟล์สำคัญในระบบที่มาพร้อมกับการติดตั้งและตั้งค่า เป็นต้น
ทำให้ผู้บุกรุกสามารถเข้าถึงข้อมูลภายในระบบ หรือรวบรวมข้อมูลสำคัญภายในระบบได้
6.
Sensitive
Data Exposure คือ ช่องโหว่ที่เกิดขึ้นจากระบบขาดการเข้ารหัสลับข้อมูลสำคัญระหว่างการรับส่งข้อมูลหรือมีการเข้ารหัสด้วยวิธีการที่สามารถถอดรหัสได้ง่าย
ทำให้ผู้บุกรุกสามารถเข้าถึงข้อมูลสำคัญในระบบได้
7.
Missing
Function Level Access Control คือ ช่องโหว่ที่เกิดขึ้นจากระบบขาดการตรวจสอบฟังก์ชัน
หรือสิทธิ์ต่าง ๆ ในการเชื่อมต่อเข้าสู่ระบบ ทำให้ผู้บุกรุกสามารถทำการ
เชื่อมต่อเข้าสู่ระบบ โดยการข้ามขั้นตอนการพิสูจน์ตัวตนได้
8.
Cross-Site
Request Forgery (CSRF) คือ ช่องโหว่ที่เกิดขึ้นจากการผู้ไม่หวังดีบังคับให้เว็บบราวเซอร์ของเหยื่อส่ง
HTTP request ที่ปรับเปลี่ยนแก้ไข รวมถึง session
cookie และ ข้อมูลเกี่ยวกับการระบุตัวตน (Authentication) ไปยังเว็บแอพพลิเคชั่นที่มีช่องโหว่ เพื่อทำกิจกรรมบางอย่าง เช่น การโอนเงิน,
ทำลายข้อมูล, ลบการตั้งค่าความปลอดภัย เป็นต้น
ที่แอพพลิเคชั่นคิดว่ามาจากผู้ใช้ที่ถูกต้องได้ (สวมรอยสิทธิ์การใช้งานของผู้อื่น)
9.
Using
Know Vulnerable Components คือ
ช่องโหว่ที่เกิดขึ้นจากตัวระบบหรือแอพพลิเคชั่น ที่มีการใช้งานไลบรารี่และส่วนประกอบ
หรือคำสั่งที่ไม่มีความปลอดภัยอยู่ในระบบ เช่น Heartbleed และ
Shellshock จึงทำให้ระบบมีความเสี่ยงในการถูกโจมตี
10. Unvalidated
Redirects and Forwards คือ
ช่องโหว่ที่เกิดขึ้นจากระบบขาดการป้องกันการรับค่าอินพุตอย่างเหมาะสม
ทำให้ผู้บุกรุกสามารถโจมตีด้วยเทคนิค Phishing (การสร้างเว็บไซต์หลอกลวง)
เพื่อหลอกลวงเหยื่อให้ป้อนข้อมูลสำคัญของระบบ เช่น ชื่อผู้ใช้งานและรหัสผ่าน,
ข้อมูลบัตรเครดิต, ข้อมูลส่วนบุคคล เป็นต้น
อ้างอิง
https://www.owasp.org/index.php/Top_10_2013-Top_10
http://foh9.blogspot.com/2012/01/10-owasp-2010.html
https://blog.wisered.com