Ga naar de inhoud

CyberStop

Cybersecurity | Hackers | Maatregelen

Menu
  • Nieuws
  • Kennis
    • Proefexamen ITIL-4
    • CISSP Certified Information Systems Security Professional
  • Privacybeleid
  • Disclaimer
Menu

Laat integer overflow je code niet breken

Geplaatst op 12 november 2026

Wat is een Integer overflow

Een Integer overflow is een programmeerfout waarbij een geheel getal (integer) groter wordt dan de maximale waarde die door het gegevenstype ondersteund wordt. Wanneer dit gebeurt, kan de waarde “wrappen” naar een onverwachte kleine of negatieve waarde. Integer overflow is een veelvoorkomend probleem in talen met vaste bitbreedtes zoals C en C++. Voor meer achtergrondinformatie zie de algemene uitleg op https://en.wikipedia.org/wiki/Integer_overflow en de beschrijving op het CWE portaal https://cwe.mitre.org/data/definitions/190.html.

Hoe ontstaat een overflow in de praktijk

Overflows ontstaan typisch door rekenkundige operaties zonder correcte controle, zoals optelling, vermenigvuldiging of conversies tussen types. Als een programma bijvoorbeeld een buffer wil alloceren op basis van de uitkomst van een vermenigvuldiging, kan een overflow leiden tot een te kleine allocatie. Dit opent de deur naar geheugenbeschadiging en beveiligingslekken. Veel bugs zijn het gevolg van aannames over invoer en onjuiste grenzencontrole bij variabelen met beperkte grootte.

Voorbeeldsituaties die risico geven

Typische voorbeelden zijn: het berekenen van een arraygrootte op basis van gebruikersinvoer, het maken van een offset voor geheugencopie, of het samenvoegen van waarden zonder overflowcontrole. In C kan het gedrag zelfs ongedefinieerd zijn voor signed overflow, wat het moeilijker maakt om fouten te reproduceren. Unsigned integers wrappen volgens de standaard, maar dat kan net onverwachte gedragspaden creëren en beveiligingscontroles omzeilen.

Gevolgen voor beveiliging en exploitatie

Een integer overflow kan leiden tot ernstige kwetsbaarheden zoals buffer overflows, integer truncation en het omzeilen van beveiligingscontroles. Aanvallers kunnen deze zwakte misbruiken om geheugenmanipulatie te veroorzaken, toegang tot gevoelige data te verkrijgen of remote code execution te realiseren. Veel exploits combineren integer overflows met andere zwaktes om volledige systeemcompromittering te bereiken.

Detectie met tools en technieken

Ontwikkelaars gebruiken statische analysetools en fuzzing om integer overflows op te sporen. Statische scanners zoals SonarQube en Coverity signaleren mogelijk gevaarlijke patronen, terwijl fuzzers onvoorziene invoer kunnen produceren die overflows uitlokken. Daarnaast bestaan er runtime sanitizers; voorbeelden zijn de Undefined Behavior Sanitizer en AddressSanitizer van Clang/LLVM, waarvan documentatie te vinden is op https://clang.llvm.org/docs/UndefinedBehaviorSanitizer.html.

Effectieve mitigaties in code

Preventie begint bij veilige programmeerpraktijken: valideer alle invoer, controleer grenzen expliciet en vermijd onnodige conversies tussen integer types. Gebruik veilige bibliotheken en helperfuncties die overflow detecteren, en kies waar mogelijk hoger niveau talen met ingebouwde checks. In C en C++ kunnen compileropties en sanitizers helpen, en het opnemen van expliciete runtime checks voor overflows is aan te raden.

Organisatorische maatregelen tegen integer overflows

Organisaties moeten integer overflows adresseren binnen een secure development lifecycle. Dit omvat threat modeling, code reviews, automatische regressietests en integratie van statische analyse en fuzzing in CI-pijplijnen. Training voor ontwikkelaars over integerveiligheid en een beleid voor het updaten van bibliotheken verkleinen het risico op introductie van bekende kwetsbaarheden.

Belangrijke bronnen en verdere leesstof

Voor wie dieper wil duiken zijn er gezaghebbende bronnen beschikbaar. Raadpleeg de CWE beschrijving voor classificatie en voorbeelden op https://cwe.mitre.org/data/definitions/190.html en de community pagina van OWASP voor praktische richtlijnen op https://owasp.org/www-community/vulnerabilities/Integer_Overflow. Wikipedia biedt een goed vertrekpunt voor achtergrondinformatie op https://en.wikipedia.org/wiki/Integer_overflow.

Praktische stappen om vandaag te nemen

Begin met het scannen van bestaande codebases op gevaarlijke patronen en voeg sanitizers toe aan ontwikkel- en testomgevingen. Introduceer automatische tests die grensgevallen en grote invoerwaarden afdwingen, en train teams in veilige integerverwerking. Door deze maatregelen structureel toe te passen verklein je het risico op exploits en verhoog je de weerbaarheid van software tegen integer overflow kwetsbaarheden.

Recente berichten

  • Race conditions ontmaskerd bescherm je app tegen exploits
  • Laat integer overflow je code niet breken
  • Datalek bij AllUnited treft honderden sportverenigingen en leden
  • Datalek legt 128000 emailadressen van De Vrienden van Amstel bloot
  • Leer heap overflows herkennen en voorkomen
  • Buffer overflow voorkomen en begrijpen
  • Wat elke ontwikkelaar moet weten over willekeurige code uitvoering
  • Bescherm je organisatie tegen remote code execution aanvallen
  • Ontmasker directory traversal en bescherm je systemen
  • Herken en stop path traversal voor je bedrijf
  • Onzichtbare xml gevaren blootgelegd en voorkomen
  • Bescherm je cloud tegen server side request forgery
  • Bescherm je website tegen csrf aanvallen en dataverlies
  • Bescherm je site tegen xss en datadiefstal
  • Stop code injection voordat het uw organisatie schaadt
  • Bescherm je site tegen sluipende command injection aanvallen
  • Bescherm je organisatie tegen sql injection
  • Stop ldap injection voor veilige identiteiten
  • Ontmasker ntlm relay en bescherm je netwerk
  • Ontdek dcshadow de stille replicatiebom in uw netwerk
  • Stop dcsync en voorkom volledige domeinovername
  • Silver ticket ontdek en stop sluipende serviceaanvallen
  • Golden ticket ontmaskerd hoe u uw domein beschermt
  • Ontmasker as-rep roasting en bescherm je netwerk vandaag
  • Kerberoasting begrijpen en je active directory beschermen
  • Bescherm je organisatie tegen pass the ticket aanvallen
  • Stop pass the hash en bescherm kritische netwerkaccounts vandaag
  • Bescherm uw organisatie tegen tokendiefstal en datalekken
  • Voorkom cookie diefstal en red gebruikersaccounts
  • Bescherm je sessies voorkom kaping en dataverlies
  • Bescherm wachtwoorden tegen rainbow table aanvallen vandaag
  • Bescherm je accounts tegen woordenboekaanvallen met eenvoudige stappen
©J CyberStop | Ontwerp: Krant WordPress thema