Pufferüberlaufverwundbarkeiten haben es schon seit Jahrzehnten , und sie werden häufig von böswilligen Eindringlingen verwendet . Intruders beeinträchtigen können und sogar die Kontrolle Remote-Computern durch Pufferüberlauf-Attacken . Verhinderungen und Workarounds werden erstellt, um Pufferüberlauf Intrusion einschließlich Hard-und Software -basierte Systeme für die Vorbeugung und Methoden zu vereiteln. Zunächst einmal sollten die Entwickler arbeiten an der Verbesserung ihrer Programmierkenntnisse sollten , um einen Pufferüberlauf Fehler in den Anwendungen zu vermeiden . Entwicklungsumgebung
Coding Mechanismen verhindern kann Pufferüberlauf-Schwachstellen ausnutzt . Schlechte systematische Ansätze zu Fragen der Sicherheit oder unsachgemäße Verwendung von unsicheren Programmierwerkzeuge und Sprachen sind die Ursachen der Schwachstellen. Programmierer sollten aufhören mit unsicheren Programmiersprachen wie C , Speicherzuordnung behandeln , statt mit neuen Sprache wie C # und Java.
Kanarischen Werte und Pointer Schutz
Kanarischen Werte auch als Stapel von Cookies, die ein weiteres Mittel verhindern von Pufferüberlauf- Attacken ist . Diese schützen die Stack-Frames Steuerdaten wie Absenderadresse und Rahmen auf , indem Sie einen Wert bei der Kompilierung . Sie dienen als Kontrolle der Integrität für die Steuerdaten . Stapel Cookies wird das Programm sofort zu stoppen, wenn die Steuerdaten manipuliert wird .
Heap Implementierung Härten
Heap Overflow-Attacken sind auch ausnutzbar. Ebenso können Entwickler Kanarienvogel Variationen zu Heap Overflows zu stoppen. Die Kanarischen Werte sind in jedem Chunk Informationen Struktur enthalten . Programmierer können den Kanarischen Werte , indem sie beide am Anfang und am Ende des Chunk Informationen nicht gelten. Anwendungen vergleichen die Kanarienvögel am Anfang jeden Chunk Rahmen auf den Wert am Ende , um sicherzustellen, nichts geändert wird.
Nicht ausführbare Stack und Heap
Sie können verhindern, von bösartigem Code , die auf Speicher , indem man einfach Speicherseiten nicht ausführbar ausgeführt. Dies kann durch Hardware oder Software- Verfahren erreicht werden. Die Mehrheit der neuen Betriebssysteme kommen mit vorinstallierten , nicht ausführbaren Speicherbereichen Seite Techniken . Microsofts neuestes Betriebssysteme, einschließlich Vista , XP SP2 und Server SP1 verfügen wie Pufferüberlauf Vorsichtsmaßnahmen .