Wednesday, February 17, 2010

2010 CWE/SANS Top 25 Most Dangerous Programming Errors

25 อันดับข้อผิดพลาดร้ายแรงในการพัฒนาโปรแกรมประจำปี 2010 ของ CWE/SANS
บทความโดย: Thai Windows Administrator Blog

25 อันดับข้อผิดพลาดร้ายแรงในการพัฒนาโปรแกรมของ CWE/SANS ประจำปี 2010 (2010 CWE/SANS Top 25 Most Dangerous Programming Errors) เป็นสรุปความผิดพลาดที่มีความร้ายแรงและพบได้บ่อยที่เกิดขึ้นในการพัฒนาโปรแกรมซึ่งจะนำไปสู่ช่องโหว่ความปลอดภัย (Vulnerability) ร้ายแรงในซอฟต์แวร์ โดยช่องโหว่เหล่านี้มักจะถูกค้นพบได้ง่ายและสะดวกในการใช้เพื่อโจมตีระบบ ซึ่งสาเหตุที่ทำให้ช่องโหว่ความปลอดภัยเหล่านี้เป็นอันตรายเนื่องจาก ผู้โจมตี (Attacker) สามารถใช้เป็นช่องทางในการเข้าควบคุมซอฟต์แวร์ได้อย่างสมบูรณ์ หรือใช้เป็นช่องทางในการขโมยข้อมูล หรือแม้แต่ทำการป้องกันไม่ให้ซอฟต์แวร์ทำงาน

โดยการจัดอันดับดังกล่าวนี้ เป็นการร่วมมือกันระหว่างสถาบัน SANS, MITRE และผู้เชี่ยวชาญด้านความปลอดภัยซอฟต์แวร์ (Software security) ในประเทศสหรัฐอเมริกาและยุโรป ซึ่งมีวัตถุประสงค์เพื่อใช้เป็นแนวทางสำหรับผู้ใช้ในกลุ่มต่างๆ ดังต่อไปนี้
• Programmers new to security
• Programmers who are experienced in security
• Software project managers
• Software Testers
• Software customers
• Educators
• Users of the 2009 Top 25

โดย 25 อันดับข้อผิดพลาดร้ายแรงในการพัฒนาโปรแกรมของ CWE/SANS ประจำปี 2010 มีดังต่อไปนี้
1. [Score = 346] CWE-79 Failure to Preserve Web Page Structure ('Cross-site Scripting')
2. [Score = 330] CWE-89 Improper Sanitization of Special Elements used in an SQL Command ('SQL Injection')
3. [Score = 273] CWE-120 Buffer Copy without Checking Size of Input ('Classic Buffer Overflow')
4. [Score = 261] CWE-352 ] Cross-Site Request Forgery (CSRF)
5. [Score = 219] CWE-285 Improper Access Control (Authorization)
6. [Score = 202] CWE-807 Reliance on Untrusted Inputs in a Security Decision
7. [Score = 197] CWE-22 Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')
8. [Score = 194] CWE-434 Unrestricted Upload of File with Dangerous Type
9. [Score = 188] CWE-78 Improper Sanitization of Special Elements used in an OS Command ('OS Command Injection')
10. [Score = 188] CWE-311 Missing Encryption of Sensitive Data
11. [Score = 176] CWE-798 Use of Hard-coded Credentials
12. [Score = 158] CWE-805 Buffer Access with Incorrect Length Value
13. [Score = 157] CWE-98 Improper Control of Filename for Include/Require Statement in PHP Program ('PHP File Inclusion')
14. [Score = 156] CWE-129 Improper Validation of Array Index
15. [Score = 155] CWE-754 Improper Check for Unusual or Exceptional Conditions
16. [Score = 154] CWE-209 Information Exposure Through an Error Message
17. [Score = 154] CWE-190 Integer Overflow or Wraparound
18. [Score = 153] CWE-131 Incorrect Calculation of Buffer Size
19. [Score = 147] CWE-306 Missing Authentication for Critical Function
20. [Score = 146] CWE-494 Download of Code Without Integrity Check
21. [Score = 145] CWE-732 Incorrect Permission Assignment for Critical Resource
22. [Score = 145] CWE-770 Allocation of Resources Without Limits or Throttling
23. [Score = 142] CWE-601 URL Redirection to Untrusted Site ('Open Redirect')
24. [Score = 141] CWE-327 Use of a Broken or Risky Cryptographic Algorithm
25. [Score = 138] CWE-362 Race Condition

อนึ่ง ข้อแตกต่างที่สำคัญระหว่าง 25 อันดับข้อผิดพลาดร้ายแรงในการพัฒนาโปรแกรมปี 2009 และปี 2010 มีรายละเอียดดังนี้
• CWE-20 high-level root cause; now covered in Monster Mitigations
• CWE-116 high-level root cause; now covered in Monster Mitigations
• CWE-602 high-level root cause; now covered in Monster Mitigations
• CWE-250 high-level root cause; now covered in Monster Mitigations
• CWE-119 high-level class; replaced with lower-level CWE-120, CWE-129, CWE-131, and CWE-805
• CWE-259 Replaced with higher-level CWE-798
• CWE-73 high-level root cause; now covered in Monster Mitigations
• CWE-642 high-level root cause; now covered in Monster Mitigations
• CWE-94 high-level; CWE name and description also caused improper interpretation of the types of issues it intended to cover.
• CWE-404 high-level; replaced by children CWE-772 and CWE-672
• CWE-682 high-level; replaced by children CWE-131 and CWE-190
• CWE-319 replaced with its parent, CWE-311

แหล่งข้อมูลอ้างอิง
CWE-Common Weakness Enumeration

© 2010 TWA Blog. All Rights Reserved.

0 Comment: