Multidesk.be » Woordenboek » format string vulnerability

format string vulnerability
Trefwoorden: format string vulnerability, beveiligingslek, bug, aanval, geheugen, crash, programma, kwetsbaarheid, format string Een format string vulnerability is een kwetsbaarheid in een bepaalde broncode (en/of dus programma) die veroorzaakt wordt doordat de input voor bepaalde formatteringsfuncties (format function in het Engels) in C niet gecontroleerd wordt. Een format function is in feite niets meer dan een speciale functie die een aantal argumenten nodig heeft, waarbij één van die argumenten een formatteringsstring (format string) is. Dit argument bepaalt hoe de gegevens weergeven (geformatteerd) moeten worden. Format string vulnerabilities ontstaan omdat de manier waarop argumenten in C worden doorgeven niet type-safe zijn. Dit betekent dat een bepaald argument niet strikt van een bepaald type moet zijn, waardoor mogelijke beveiligingsgaten kunnen ontstaan bij ondoordacht gebruik.

Zo kan een programmeur volgende code (laten) uitvoeren:

CODE
  1. printf (string);


terwijl het de bedoeling is om

CODE
  1. printf ("%s", string);


te laten uitvoeren. Het verschil tussen beiden is dat in het eerste geval de te printen string als format string wordt gebruikt. Wanneer de programmeur een gebruiker die string laat bepalen (wat niet ondenkbaar is, bijvoorbeeld bij de presentatie van financiële gegevens), kan er misbruikt gemaakt worden van de functie.

Format string vulnerabilities werden voor het eerst ontdekt halfweg 1999 en ongeveer een jaar later begon men het potentieel gevaar er van in te zien. Format string aanvallen (format string attacks) kunnen programma's doen crashen of (erger) toelaten om schadelijke code uit te voeren. In september 1999 werd er voor de eerste keer melding gemaakt van een format string vulnerability op de BugTraq mailing list.

Omdat format string vulnerabilities veroorzaakt worden door interpretaties van de programmeur's code, worden deze eerder gezien als bugs dan als een beveiligingslek. Format string attacks kunnen doorgaans vermeden worden als de programmeur geen steken laat vallen bij de ontwikkeling en bijvoorbeeld de doorgegeven argumenten controleert of deze daadwerkelijk van het verwachte type zijn of variabelen op de correcte manier worden doorgegeven aan functies.
Deze verklaring werd opgesteld door Martijn op zondag 18 maart 2007 om 15:53 en werd in tussentijd reeds 1348 keer opgevraagd.
  • Pagina
  • 1 van 1

Geen reacties gevonden
Er werden nog geen reacties bij deze verklaring geplaatst. Indien je denkt iets te kunnen toevoegen aan deze verklaring, kan je zelf een reactie schrijven via de koppeling Plaats een reactie bij deze verklaring hieronder.