Das Ziel von Confinement (‘Isolation’) ist zu verhindern, dass unentdeckte Schwachstellen einen Fehler in der Ausführung einer Anwendung auslösen. Techniken zum Auffinden und Vermeiden spezieller Arten von Schwachstellen existieren bis zu einem gewissen Maß schon, aber sie münden oft in einem Programmabsturz – der wiederum zu einem Denial-of-Service führt. Auch wenn ein Angriff verhindert werden könnte, sind diese Konsequenzen in kritischen Systemen inakzeptabel. GrammaTech hat hochentwickelte Confinement-Techniken erforscht, mit denen Anwendungen dieselben Angriffsarten erkennen, aber weiterlaufen und dabei die Anfälligkeit einschränken. Durch die Kombination aus Binäranalyse zum Auffinden der potenziellen Schwachstelle und Static Rewriting zur Eingrenzung des Exploits ist es möglich, die Auswirkung deutlich zu verringern und sogar zu beheben.
Techniken zur Diversifizierung kommen zum Einsatz, um Fehlercode und Speicherlayout zu verändern und somit mögliche Angriffe zu verhindern. Durch das Neuanordnen der Aufrufkette des Unterprogramms, von Stack, Heap und generellem Layout der Daten ist es möglich, Schwachstellen so zu schützen, dass sie nicht ausgenutzt werden können. Beispielsweise können Stack Overflow Fehler, die zu Code-Injektions-Exploits führen, mit diesen Techniken verhindert werden.
Schutz heute und in Zukunft
Binäranalysen und Rewriting benötigen von Natur aus keine Source und sind unabhängig von der Version. Als solches können Hersteller von IoT-Geräten die Hardening-Techniken von GrammaTech auf jeder ihrer Anwendungen laufen lassen, so dass Software-Hardening zum Standardvorgehen im Software-Freigabeprozess wird. Dadurch können Unternehmen auch für kleine Upgrades größere Robustheit und Sicherheit gewährleisten, ohne hohe Kosten für erneutes Testen.