Linux System Activity Monitoring

Bachelor Studiengang IT Security

Stefan Machherndl, BSc

Betreuer: Dipl.-Ing. Dr. Martin Pirker, Bakk. 

Ausgangslage

Moderne Computersysteme werden immer komplexer. Viele der ausgeführten Aktivitäten geschehen im Hintergrund, oft ohne das Wissen des Benutzers. Heutige Programme bieten immer mehr an Funktionen, so dass nur mehr sehr wenige AnwenderInnen den ganzen Umfang ihrer Funktionalität kennen. Wenn ein Programm durch einen Angreifer manipuliert wird, fällt das mitunter nicht auf. In Zukunft könnte das Programmverhalten von Antivirenprogrammen analysiert, und so veränderte Software oder Software mit schädlichem Verhalten frühzeitig identifiziert werden. Doch um das Verhalten analysieren zu können, müssen zuerst detaillierte Daten über die Aktivitäten von Programmen vorliegen.

Ziel

Diese Arbeit befasst sich damit, ob, wie und mit welchen Einschränkungen es möglich ist, in einem unter Linux laufendem System sicherheitsrelevante Programmaktivitäten zu protokollieren. Es werden verschiedenste Werkzeuge, die eine solche Protokollierung ermöglichen, betrachtet. Auch soll ein Prototyp entwickelt werden, der die verfügbaren Möglichkeiten und auch Probleme veranschaulicht.

Ergebnis

Im Zuge der Arbeit wurde eine Übersicht zu verfügbaren Werkzeugen erstellt, die die verschiedensten Aktivitäten von Programmen protokollieren. Diese Werkzeuge wurden analysiert und das Toolkit „bcc“ wurde zur Entwicklung eines Prototyps ausgewählt. Das „bcc“ Toolkit wird bis dato primär von Performance-Analysten verwendet, deshalb ist es darauf spezialisiert Aktivitätsdaten schnell und ohne merkbaren Performanceverlust aus laufenden Programmen auszuleiten.

Mithilfe des Prototyps können Aktivitäten an Dateien (lesen, schreiben, …), von Netzwerkprotokollen (Verbindungsaufbau, Pakete senden/empfangen, …) und von Prozessen (neuer Prozess, Prozess beendet, …) erfasst werden. Weiters werden die getroffenen Einschränkungen und Verbesserungsvorschläge zum Prototyp in der Arbeit reflektiert.

Ausblick

Der entwickelte Prototyp zeigt die Möglichkeiten und den Aufwand um das Verhalten von allen laufenden Programmen in einem Linux System zu protokollieren. Einem Einsatz in der Forschung zur verhaltensbasierten Erkennung von Malware steht nichts im Weg, weitere Arbeiten können die bestehenden Funktionen einfach erweitern.