Bitte benutzen Sie diese Referenz, um auf diese Ressource zu verweisen:
doi:10.22028/D291-27390
Titel: | Mining Sandboxes |
VerfasserIn: | Jamrozik, Konrad |
Sprache: | Englisch |
Erscheinungsjahr: | 2018 |
DDC-Sachgruppe: | 004 Informatik |
Dokumenttyp: | Dissertation |
Abstract: | Modern software is ubiquitous, yet insecure. It has the potential to expose billions of humans to serious harm, up to and including losing fortunes and taking lives. Existing approaches for securing programs are either exceedingly hard and costly to apply, significantly decrease usability, or just don’t work well enough against a determined attacker. In this thesis we propose a new solution that significantly increases application security yet it is cheap, easy to deploy, and has minimal usability impact. We combine in a novel way the best of what existing techniques of test generation, dynamic program analysis and runtime enforcement have to offer: We introduce the concept of sandbox mining. First, in a phase called mining, we use automatic test generation to discover application behavior. Second, we apply a sandbox to limit any behavior during normal usage to the one discovered during mining. Users of an application running in a mined sandbox are thus protected from the application suddenly changing its behavior, as compared to the one observed during automatic test generation. As a consequence, backdoors, advanced persistent threats and other kinds of attacks based on the passage of time become exceedingly hard to conduct covertly. They are either discovered in the secure mining phase, where they can do no damage, or are blocked altogether. Mining is cheap because we leverage fully automated test generation to provide baseline behavior. Usability is not degraded: the sandbox runtime enforcement impact is negligible; the mined behavior is comprehensive and presented in a human readable format, thus any unexpected behavior changes are rare and easy to reason about. Our BOXMATE prototype for Android applications shows the approach is technically feasible, has an easy setup process, and is widely applicable to existing apps. Experiments conducted with BOXMATE show less than one hour is required to mine Android applications sandboxes, requiring few to no confirmations for frequently used functionality. Moderne Software ist allgegenwärtig und zeitgleich unsicher. Dies stellt ein Risiko dar, welches Milliarden Menschen verwundbar gegenüber Schadsoftware macht und dessen Folgen sich bis hin zu Vermögensverlust und Lebensgefahr ausweiten können. Gegenwärtige Ansätze zur Gewährleistung der Sicherheit in Computerprogrammen gestalten sich entweder höchst kompliziert und aufwendig, beeinflussen massiv die Benutzbarkeit oder aber stellen sich als nicht effektiv genug gegen resolute Angreifer heraus. In dieser Arbeit präsentieren wir einen neuen Lösungsansatz, welcher die Sicherheit einer Applikation drastisch erhöht, zeitgleich sowohl kostengünstig als auch einfach einzusetzen ist und ferner nur minimalen Einfluss auf die Benutzbarkeit des Programmes nimmt. In einem neuartigen Verfahren kombinieren wir die Vorteile von etablierten Methoden der Testgenerierung, dynamischer Programmanalyse und kontrolliert restriktiver Laufzeitumgebung und stellen das Konzept des Sandbox Mining vor. Im ersten Schritt verwenden wir automatische Testgenerierung in der Mining Phase, um das Verhalten der Applikation zu erkunden und zu beobachten. In einer weiteren Phase verwenden wir eine sogenannte Sandbox, um jegliches bisher nicht beobachtete Verhalten der Applikation während des normalen Betriebes zu unterbinden. Bei Nutzung einer Applikation in solch einer Sandbox sind Nutzer somit geschützt vor plötzlicher Änderung des Verhaltens der Applikation im Vergleich zu dem bereits beobachteten Verhalten während der Testgenerierung. Folglich sind Hintertüren, komplexe, persistente Bedrohungen sowie andere Angriffe, welche auf der Verzögerung ihrer Durchführung beruhen außerordentlich schwer umzusetzen, ohne dass diese dabei entdeckt werden. Diese Bedrohungen werden entweder während der abgesicherten Mining Phase, in welcher sie keinen Schaden anrichten können, entdeckt oder werden während der Ausführung in der Sandbox verhindert. Der Mining-Prozess ist günstig in seiner Umsetzung, da das normale Verhalten des Programmes vollkommen automatisch erlernt wird. Zur gleichen Zeit bleibt die Benutzbarkeit des Programmes unbeeinflusst und der Mehraufwand der Laufzeitabsicherung durch die Sandbox vernachlässigbar gering. Ferner ist das erlernte Verhalten verständlich und in einem von Menschen lesbaren Format aufbereitet; daher sind jegliche unvorhergesehenen Änderungen im Verhalten des Programmes selten und einfach zu erklären. Unser BOXMATE Prototyp für Android Applikationen zeigt, dass das Verfahren technisch realisierbar ist, einen einfachen Einrichtungsprozess bietet und weitflächig anwendbar auf bestehende Applikation ist. Bei der Durchführung von Versuchen mit BOXMATE hat sich gezeigt, dass es weniger als eine Stunde bedarf um Sandboxes für Android Applikation zu generieren und es derweil nur wenige oder gar keine Konfirmation der Regeln für die häufig genutzten Funktionen erfordert. |
Link zu diesem Datensatz: | urn:nbn:de:bsz:291-scidok-ds-273901 hdl:20.500.11880/27191 http://dx.doi.org/10.22028/D291-27390 |
Erstgutachter: | Zeller, Andreas |
Tag der mündlichen Prüfung: | 22-Okt-2018 |
Datum des Eintrags: | 6-Nov-2018 |
Fakultät: | MI - Fakultät für Mathematik und Informatik |
Fachrichtung: | MI - Informatik |
Sammlung: | SciDok - Der Wissenschaftsserver der Universität des Saarlandes |
Dateien zu diesem Datensatz:
Datei | Beschreibung | Größe | Format | |
---|---|---|---|---|
KJamrozik_PhD_thesis_10_22_2018.pdf | The doctoral thesis. | 5,12 MB | Adobe PDF | Öffnen/Anzeigen |
Alle Ressourcen in diesem Repository sind urheberrechtlich geschützt.