Buffertspill sårbarheter orsakas av programmeringsfel som tillåter en angripare att orsaka programmet att skriva bortom gränserna för en tilldelad minnesblock för att korrumpera andra datastrukturer. Det vanliga sättet att utnyttja en buffertspill sårbarhet innebär en begäran som är för stor för den buffert som är avsedd att hålla den. Buffertspill felet orsakar programmet att skriva en del av begäran bortom gränserna för bufferten, korrumpera adressutrymmet för programmet och orsaka programmet att köra injicerad kod som finns i begäran. Vi har implementerat en kompilator som infogar dynamiska kontroller i den genererade koden för att upptäcka alla utanför gränserna minnesåtkomst. När den upptäcker en utanför gränser skriva, lagrar den värdet bort i en hash tabell för att återvända som värdet för motsvarande utanför gränser läser. Nettoeffekten är att (konceptuellt) ge varje tilldelad minnesblock obegränsad storlek och att eliminera utanför gränser åtkomst som ett programmeringsfel. Vi har förvärvat flera allmänt använda öppna källkodsservrar (Apache, Sendmail, Pine, Mutt, och Midnight Commander). Med standard kompilatorer, alla dessa servrar är sårbara för buffertspill attacker som dokumenteras på säkerhetsspårning webbplatser. Vår kompilator eliminerar dessa säkerhetssårbarheter (liksom andra minnesfel). Våra resultat visar att vår kompilator gör det möjligt för servrarna att utföra framgångsrikt genom buffertspillattacker för att fortsätta att korrekt betjäna användarens önskemål utan säkerhetsproblem.
Gränslösa minnesblock lagrar utanför gränserna skriver i en hash tabell för att återvända för motsvarande utanför gränserna läser REF.
A dynamic technique for eliminating buffer overflow vulnerabilities (and other memory errors)
{'venue': '20th Annual Computer Security Applications Conference', 'journal': '20th Annual Computer Security Applications Conference', 'mag_field_of_study': ['Computer Science']}