گزارشی از پرخطرترین خطاهای برنامهنویسی را مطالعه کردم. فوقالعاده بود. برای معماران نرمافزار، طراحان، برنامهنویسان، خریداران و صد البته هکرها! منبع و مرجع بسیار غنیای است. علاوه بر رتبهبندی و ارائه توضیحات کامل در مورد هر خطا، روشهای پیشگیری و کاهش اثرات نامطلوب آن نیز در حوزههای مختلفی مانند طراحی و معماری، پیادهسازی، نیازمندیها، آزمون و عملیاتی کردن نیز ذکر شده است.
میتوانید اصل گزارش را در اینجا پیدا کنید.
(January 12, 2009) Today in Washington, DC, experts from more than 30 US and international cyber security organizations jointly released the consensus list of the 25 most dangerous programming errors that lead to security bugs and that enable cyber espionage and cyber crime.
The Top 25 Errors are listed below in three categories:
Category: Insecure Interaction Between Components (9 errors)
Category: Risky Resource Management (9 errors)
Category: Porous Defenses (7 errors)
CATEGORY: Insecure Interaction Between Components
CWE-20: Improper Input Validation
CWE-116: Improper Encoding or Escaping of Output
CWE-89: Failure to Preserve SQL Query Structure (aka ‘SQL Injection’)
CWE-79: Failure to Preserve Web Page Structure (aka ‘Cross-site Scripting’)
CWE-78: Failure to Preserve OS Command Structure (aka ‘OS Command Injection’)
CWE-319: Cleartext Transmission of Sensitive Information
CWE-352: Cross-Site Request Forgery (CSRF)
CWE-362: Race Condition
CWE-209: Error Message Information Leak
CATEGORY: Risky Resource Management
CWE-119: Failure to Constrain Operations within the Bounds of a Memory Buffer
CWE-642: External Control of Critical State Data
CWE-73: External Control of File Name or Path
CWE-426: Untrusted Search Path
CWE-94: Failure to Control Generation of Code (aka ‘Code Injection’)
CWE-494: Download of Code Without Integrity Check
CWE-404: Improper Resource Shutdown or Release
CWE-665: Improper Initialization
CWE-682: Incorrect Calculation
CATEGORY: Porous Defenses
CWE-285: Improper Access Control (Authorization)
CWE-327: Use of a Broken or Risky Cryptographic Algorithm
CWE-259: Hard-Coded Password
CWE-732: Insecure Permission Assignment for Critical Resource
CWE-330: Use of Insufficiently Random Values
CWE-250: Execution with Unnecessary Privileges
CWE-602: Client-Side Enforcement of Server-Side Security
Organization of the Top 25
CWE ID and name
Supporting data fields
Discussion
Prevention and Mitigations
Related CWEs
Related Attack Patterns
Attack Frequency
Ease of Detection
Remediation Cost
Attacker Awareness
پسنوشت: خانم زهرا، اهم مطالب سایت مرجع را به فارسی ترجمه نمودهاند. میتوانید مطالب را در اینجا مطالعه نمایید. از خانم زهرا بابت تقبل این زحمت، سپاسگزارم.
Quote:
We are satisfied by doing real work. Software is like a plant that grows: You can’t predict its exact shape, or how big it will grow;you can control its growth only to a limited degree. There are no rules for this kind of thing—it’s never been done before.
– Charlie Anderson, Architect, Borland Quattro Pro for Windows.
علی نوبر
۲۶ دی ۱۳۸۷ در ۰۰:۰۰آقای مهندس مهرداد
مطلب بسیار جالبی بود. با اجازه شما با ذکر سایت سماموس و همچنین منبع اصلی این مطلب را در وبلاگم قرار دادم.
باز هم ممنون از مطالب پرمحتوای ارسالی.
علی نوبر