image

Top 25 gevaarlijkste programmeerfouten

dinsdag 13 januari 2009, 10:15 door Redactie, 2 reacties

Slordig programmeren is één van de voornaamste redenen dat hackers op websites weten in te breken, reden genoeg voor 35 bekende instanties om een Top 25 van gevaarlijkste programmeerfouten op te stellen. Symantec, Microsoft, NSA, het Amerikaanse Ministerie van Homeland Security en tal van anderen namen alle deel aan het initiatief, dat door MITRE en het SANS Institute gecoördineerd werd. Ondanks de grootte van de groep, kwamen alle betrokken snel tot een gemeenschappelijke lijst. "Er is een algemene consensus als het gaat om programmeerfouten", zegt SANS directeur Mason Brown.

Het onderstaande overzicht is vooral bedoeld om preventief problemen op te lossen. "Met de Top 25 hoeven we minder tijd met de politie door te brengen nadat het huis is beroofd en kunnen we onze aandacht richten op het plaatsen van de sloten voordat het gebeurt", gaat Paul Kurtz verder, de man achter het Amerikaanse National Strategy to Secure Cyberspace.

Gereedschap
De lijst moet voor verbeteringen binnen de gehele industrie zorgen. Bedrijven en personen die software aanschaffen krijgen veiligere producten, programmeurs kunnen de veiligheid van hun software controleren en voor bedrijven kan de lijst als een graadmeter van vaardigheden dienen. "Programmeerfouten zijn een plaag in ons beroep en slecht voor zaken", merkt Paul Anderson van Grammatech op. Ook tal van andere beveiligingsexperts zien de lijst als een grote stap voorwaarts naar veiligere software.

Overzicht
De lijst bestaat uit drie categorieën, "Insecure Interaction Between Components", "Risky Resource Management" en "Porous Defenses", en is daarnaast voorzien van een CWE nummer. Common Weakness Enumeration is een Software Assurance strategische initiatief van het Amerikaanse Ministerie van Homeland Security en beschrijft tal van beveiligingsproblemen in architectuur, ontwerp of code.

Insecure Interaction Between Components
Improper Input Validation - CWE-20
Improper Encoding or Escaping of Output - CWE-116
Failure to Preserve SQL Query Structure (aka 'SQL Injection') - CWE-89
Failure to Preserve Web Page Structure (aka 'Cross-site Scripting') - CWE-79
Failure to Preserve OS Command Structure (aka 'OS Command Injection') - CWE-78
Cleartext Transmission of Sensitive Information - CWE-319
Cross-Site Request Forgery (CSRF) - CWE-352
Race Condition - CWE-362
Error Message Information Leak - CWE-209

Risky Resource Management
Failure to Constrain Operations within the Bounds of a Memory Buffer - CWE-119
External Control of Critical State Data - CWE-642
External Control of File Name or Path - CWE-73
Untrusted Search Path - CWE-426
Failure to Control Generation of Code (aka 'Code Injection') - CWE-94
Download of Code Without Integrity Check - CWE-494
Improper Resource Shutdown or Release - CWE-404
Improper Initialization - CWE-665
Incorrect Calculation - CWE-682

Porous Defenses
Improper Access Control (Authorization) - CWE-285
Use of a Broken or Risky Cryptographic Algorithm - CWE-327
Hard-Coded Password - CWE-259
Insecure Permission Assignment for Critical Resource - CWE-732
Use of Insufficiently Random Values - CWE-330
Execution with Unnecessary Privileges - CWE-250
Client-Side Enforcement of Server-Side Security - CWE-602

Reacties (2)
13-01-2009, 11:29 door [Account Verwijderd]
http://www.owasp.org/index.php/Main_Page
13-01-2009, 13:27 door Anoniem
http://cwe.mitre.org/top25/
Reageren

Deze posting is gelocked. Reageren is niet meer mogelijk.