Over Buffer overflows
Buffer overflows zijn misschien wel de meest beruchte en op grote schaal bekendheid aanvallen. Dit zijn complexe aanvallen die gebruik maken van de fundamentele hardware en software mogelijkheden van een systeem. Voor degenen die geen software-ontwikkelaars, een paar concepten nodig uitleg. Ten eerste is het nuttig om te begrijpen wat een buffer is. De computer systeem heeft een pool van Random Access Memory (RAM) georganiseerd in kleine stukjes door het besturingssysteem dat draait toepassingen. Om dit geheugen te delen onder vele processen van het besturingssysteem en toepassingen, een bijzondere herinnering manager coördinaten die brokken van het RAM zwembad in gebruik zijn en die beschikbaar zijn om een toepassing uit te voeren. Wanneer een aanvraag wordt eerste run, is het geheugen toegewezen voor de toepassing en al zijn functies en variabelen. Als de applicatie draait, kan meer geheugen worden toegewezen voor nieuwe variabelen en de-toegewezen wanneer ze niet langer in gebruik is. Een buffer is een stuk (of meerdere stukken) van het geheugen gebruikt om een variabele op te slaan. Verschillende buffers kunnen vaak niet bestaan side-by-side in het geheugen. Een buffer die een variabele heeft kan naast een stukje van het geheugen dat een functie of een andere toepassing heeft bestaan. Bijvoorbeeld, wanneer u uw gebruikersnaam op een prompt of een venster, heeft het programma verklaarde een buffer, waarin de tekens van de naam zijn opgeslagen. Een buffer overflow treedt op wanneer een buffer te klein is om het bedrag van de verstrekte gegevens te vangen. De gegevens die past niet in de buffer overschrijft de volgende stukken van het geheugen. Hierin ligt het gevaar van buffer overflows. Het geheugen dat wordt overschreven met de extra gegevens kunnen worden een andere variabele in de applicatie, een variabele voor een andere toepassing, of de toepassing van stapel. De stapel bevat applicatie-specifieke informatie, zoals de fysieke locaties van de functies van de toepassing en variabelen. Dit verandert het pad dat de aanvraag normaal zou volgen, waardoor het aan slechte data, crash, of uitvoeren nieuwe functionaliteit te gebruiken. De uitvoering van nieuwe functionaliteit is meestal het doel van een buffer overflow lek-of om de toegang tot het systeem te bieden of om de instellingen te wijzigen. Wanneer de eigenaar toegang tot de volgende overschreven geheugen, de nieuwe gegevens kunnen worden ongeldig, en de toepassing kan crashen of functie niet juist. Buffer overflows worden uitgebuit door de overflow bewerken van gegevens in iets nuttigs dat de machine kan begrijpen. Dit kan betekenen dat het uitvoeren van een ander programma, waardoor schade aan het systeem of het stelen van informatie. Om beter te tonen dit concept, beschouwen de post machine die brieven scant voor hun plaats van bestemming. Veronderstel dat A-budget is bestemd voor New York, NY, en B-budget is bestemd voor Boston, MA. De postcode van de envelop B heeft speciale natte inkt dat 'overloopt', het overschrijven van het ZIP-code van New York op een enveloppe met die van Boston, wanneer de enveloppen automatisch worden gestapeld op de post-faciliteit. De posterijen machine scant Een envelop en leest de postcode overschreven. De brief wordt vervolgens doorgestuurd naar Boston. Buffer overflows zijn vaak meer dan alleen kwaadaardige ongevallen, dus laten we aannemen dat een waardevolle som van contant geld is bestemd voor een postbus in New York. De dief, of aanvaller, weet de exacte locatie van de brief en creëert een envelop met vloeibare inkt dat de postcode op de envelop met de ZIP-code voor Boston als ze worden gestapeld overschrijft. De aanvaller huurt de Boston postbus met hetzelfde nummer als de oorspronkelijke bestemming in New York en opbrengsten om het geld te stelen. Een post-machine is alleen in staat te herkennen ZIP-codes, geen kwestie van waar ze komen. Een computer is in staat het uitvoeren van instructies, geen kwestie van waar ze komen. Daarom is een buffer overflow aanval die de oorspronkelijke gebruiksaanwijzing van een applicatie met nieuwe instructies overschrijft kan de computer om iets te voeren een aanvaller wenst. een artikel afkomstig van Tamas Querolin
|
|||||
|