[Back]


Diploma and Master Theses (authored and supervised):

A. Ülkühan:
"Transparentes Monitoring von Java Applikationen f ür Sicherheitstests";
Supervisor: T. Grechenig, C. Schanes; E183/1, 2012.



English abstract:
Due to the continuously increasing networking of computer technology, the threat of attacks against individual computer systems and the software that they run is growing likewise. In numerous cases, software faults are responsible for security vulnerabilities which are being exploited by hackers.
Therefore, security is becoming more and more important in software engineering. In order to evaluate a program's security, security tests are used by the software industry. The overall goal of security testing is to _nd and eliminate vulnerabilities within a software system. A particular technique for such security tests is so-called "fuzzing", in which invalid, unexpected, or random data is used as input for the software being tested. In order to recognize anomalies and errors that are caused by the fuzzer,the target object is monitored.
This thesis deals with the monitoring of Java applications for the purpose of discovering security problems. It describes a proof-of-concept implementation based on the Java virtual machine. In order to accomplish this, data access on a test object is investigated and logged. The results can then be used for automatic detection of security vulnerabilities.

German abstract:
Durch die zunehmend starke Vernetzung von Computertechnologie nimmt auch die Bedrohung durch Angriffe auf einzelne Computersysteme und den darauf ablaufenden Programmen stark zu. In vielen Fällen sind Softwarefehler für Sicherheitslücken verantwortlich, die von Angreifern ausgenutzt werden. Somit gewinnt Sicherheit bei der Softwareentwicklung immer mehr an Bedeutung. Um die Sicherheit eines Computerprogrammes zu testen, werden Sicherheitstests in der Softwareindustrie eingesetzt. Das Ziel von Sicherheitstests ist das Auffinden von sicherheitskritischen Schwachstellen in Programmen. Eine spezielle Technik für Sicherheitstest ist Fuzzing, bei dem ungültige, unerwartete oder zufällige Daten als Eingangsparameter an die zu testenden Programme übergeben werden. Für die Erkennung von Anomalien (Fehlern), die durch Fuzzer ausgelöst werden, wird das Zielobjekt überwacht. Im Rahmen dieser Arbeit erfolgt für die Überwachung (Monitoring) von Java Applikationen auf Sicherheitsprobleme eine Proof of Concept Implementierung anhand der Java Virtual Machine. Dazu werden die Datenzugriffe eines Testobjekts ermittelt und protokolliert, die später zur automatischen Erkennung von Sicherheitsfehler eingesetzt werden können.

Created from the Publication Database of the Vienna University of Technology.