Het stoppen van buffer overflows helpt voorkomen dat programma crasht en hackers van het vrijgeven van kwaadaardige code die een computer systeem in gevaar kunnen brengen . Een buffer overflow is wanneer een programma wordt het schrijven van gegevens naar een buffer , meestal een string of een array , en overschrijdt lengte van de buffer , het schrijven van code in de aangrenzende geheugen . Het voorkomen van buffer overflows wordt bereikt door gebruik te programmeerbibliotheken die ondersteuning buffer bescherming , met uitvoerbare ruimte bescherming en het kiezen van programmeertalen die bounds checking hebben . Instructies 1 Kies een programmeertaal die ingebouwde controles om gegevens te schrijven buiten de grenzen van een buffer te voorkomen heeft . Talen zoals C en C + + gebrek ingebouwde grens controle . Het . NET Framework -en Java -omgevingen kracht bounds checking . Geïnterpreteerde talen hebben bescherming tegen buffer overflows . Select bibliotheken en functies 2 die buffer beheer en bounds checking hebben . De meest gebruikte functies van C " strcpy " , " scanf " en " krijgt " zijn bijzonder kwetsbaar voor overstromingen bufferen . Veiligere alternatieven behoren het " strncpy " en " strncat " functies, die de gegevens van meer dan de opgegeven lengte weggooien . Er moet nog worden genomen om de juiste buffer opgeven . Een voorbeeld van een veiliger alternatief voor de C snaar bibliotheek is het gratis te downloaden ' The Better String Library . " 3 Install uitvoerbare ruimte bescherming add -ons te helpen voorkomen buffer overflows . Code probeert uit te voeren van de stapel of hoop veroorzaken een uitzondering . Uitvoerbare ruimte bescherming maakt gebruik van de " No eXecute " ( NX bit ) naar gebieden van het geheugen als niet-uitvoerbare markeren . Voorbeelden van uitvoerbare ruimte bescherming pakketten voor Unix zijn OpenWall , Exec Shield en Pax . Add-ons voor Windows bevatten StackDefender en BufferShield . Sinds Windows XP Service Pack 2 , Windows biedt Data Execution Prevention ( DEP ) , verstrekken van een aantal buffer overflow bescherming .
|