image

Top 25 gevaarlijkste programmeerfouten

woensdag 17 februari 2010, 15:17 door Redactie, 12 reacties

Programmeerfouten zijn een voorname reden waardoor hackers websites en applicaties kunnen kraken, reden voor MITRE en SANS een lijst van de 25 meest gemaakte fouten samen te stellen. Door programmeurs te onderwijzen hoopt men het aantal beveiligingslekken voor dat software uitkomt te verminderen. "De lijst is een tool voor onderwijs en bewustzijn en zal programmeurs helpen om het soort lekken te voorkomen die de softwareindustrie plagen", aldus not-for-profit organisatie MITRE.

Consumenten kunnen de lijst gebruiken om naar veiligere software te vragen, terwijl het overzicht voor managers en CIOs als een graadmeter van de eigen voorgang om software te beveiligen kan dienen. In totaal hebben meer dan twintig verschillende organisaties en tal van beveiligingsexperts aan de lijst meegewerkt.

Cross-site scripting
De gevaarlijkste fout op de lijst is cross-site scripting, gevolgd door SQL Injection, buffer overflows, Cross-Site Request Forgery en onvoldoende autorisatie. Per beveiligingsprobleem wordt ook gekeken wat de consequenties zijn, hoe eenvoudig het te detecteren en verhelpen is, hoe vaak misbruik voorkomt en in hoeverre aanvallers met het probleem bekend zijn. In het kort geeft de lijst vervolgens tips om het probleem op te lossen.

  1. Failure to Preserve Web Page Structure ('Cross-site Scripting')
  2. Improper Sanitization of Special Elements used in an SQL Command ('SQL Injection')
  3. Buffer Copy without Checking Size of Input ('Classic Buffer Overflow')
  4. Cross-Site Request Forgery (CSRF)
  5. Improper Access Control (Authorization)
  6. Reliance on Untrusted Inputs in a Security Decision
  7. Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')
  8. Unrestricted Upload of File with Dangerous Type
  9. Improper Sanitization of Special Elements used in an OS Command ('OS Command Injection')
  10. Missing Encryption of Sensitive Data
  11. Use of Hard-coded Credentials
  12. Buffer Access with Incorrect Length Value
  13. Improper Control of Filename for Include/Require Statement in PHP Program ('PHP File Inclusion')
  14. Improper Validation of Array Index
  15. Improper Check for Unusual or Exceptional Conditions
  16. Information Exposure Through an Error Message
  17. Integer Overflow or Wraparound
  18. Incorrect Calculation of Buffer Size
  19. Missing Authentication for Critical Function
  20. Download of Code Without Integrity Check
  21. Incorrect Permission Assignment for Critical Resource
  22. Allocation of Resources Without Limits or Throttling
  23. URL Redirection to Untrusted Site ('Open Redirect')
  24. Use of a Broken or Risky Cryptographic Algorithm
  25. Race Condition
Reacties (12)
17-02-2010, 16:34 door [Account Verwijderd]
Consumenten kunnen de lijst gebruiken om naar veiligere software te vragen

Euhm ja, 99% van de consumenten begrijpen dan ook volledig waar dit over gaat ;-)
17-02-2010, 17:21 door SirDice
Volgens mij is 90% van dat lijstje samen te vatten als: Input Validatie!!
17-02-2010, 17:54 door [Account Verwijderd]
[Verwijderd]
17-02-2010, 17:58 door Anoniem
Door eloow: Mijn gevoel zegt eigenlijk dat het geen 'hacken' meer is, maar 'mis'ge&bruik maken van andermans fouten.

Is dat niet altijd het geval? vulnerabilities zijn fouten ofwel in design, programmatie of integratie. een "hacker" moet ze
idd gewoon misbruiken om aan zen doel te geraken.
17-02-2010, 18:35 door Anoniem
Door eloow:

@Deej
## iemand die dit begrijpt zou dus geen consument meer. :P
zou wat?
17-02-2010, 21:55 door Anoniem
Uhh, hacken is misbruik maken van de fouten van een ander. Dankzij slordig werk ben ik meestal 24/7 op touw op het weer op te lossen. Maar we zijn mensen en computers zijn al niet veel beter als geld niet de factor is geweest van haastig en slordig werk.
18-02-2010, 09:42 door s.stok
Ik mis null pointer dereference in deze lijst.
18-02-2010, 11:06 door Anoniem
Door Anoniem: Uhh, hacken is misbruik maken van de fouten van een ander. Dankzij slordig werk ben ik meestal 24/7 op touw op het weer op te lossen. Maar we zijn mensen en computers zijn al niet veel beter als geld niet de factor is geweest van haastig en slordig werk.
Niet alleen computers... Een simpel cylinderslot is ook vrij kwetsbaar.

Dat heeft niet zo zeer met implementatie-fouten te maken, maar meer met 'faulty by design'.
18-02-2010, 11:46 door Anoniem
Door s.stok: Ik mis null pointer dereference in deze lijst.

misschien nr 26 op de lijst?
27-02-2010, 08:50 door Anoniem
Ik mis kwetsbare bestanden zoals Backup-files..?
27-02-2010, 11:19 door s.stok
Dat is zeker nr 27 op de lijst :)

Dit is de top 25. er zijn er zat meer die ook voor problemen kunnen zorgen, maar die zijn minder erg dan deze 25.
Maar persoonlijk vind ik NULL pointer derefence wel gevaarlijker dan 'Missing Encryption of Sensitive Data', gevoelige data moet alleen worden bescherm omdat andere maatregelen kunnen falen.
11-03-2010, 14:24 door [Account Verwijderd]
[Verwijderd]
Reageren

Deze posting is gelocked. Reageren is niet meer mogelijk.