Computersysteme können um beliebige Programme ergänzt werden. Es ist heute selbstverständlich die Software des Betriebssystems zu erweitern. Dafür entwickeln Hersteller Programme, die sie in Form von Softwarepaketen für die Benutzer bereitstellen.
Die jüngste Entwicklung zeigt eine stetige Zunahme der Komplexität von Betriebssystemen1) und Programmen, bei zugleich sinkendem Technikverständnis der Anwendergemeinde . Diese Tatsache ist begründet durch den nachweisbaren Einzug des Computers in die Privathaushalte2). Durch diese Divergenz beeinflusst, gerät der Aspekt Benutzerfreundlichkeit weiter in den Fokus der Softwareentwicklung. Dazu zählt neben der Bedienbarkeit des eigentlichen Programms, auch dessen Installation in einem Anwendersystem.
Eine mögliche Durchführung der Installation ist die Verwendung einer, bereits im Softwarepaket integrierten, Installationsroutine. Sie ist wiederum selbst ein Programm, das dem Anwender die Last einer manuell durchgeführten Installation abnimmt und wird vom Hersteller entwickelt. Eine andere Art ist die Verwendung von Paketmanagern, die auf Softwareverwaltung spezialisiert sind. Hierbei führt der Paketmanager die vom Hersteller zum Softwarepaket hinzugefügten Installationsanweisungen aus.
Beide Arten der Software-Installation haben gemeinsam, dass sie gewöhnlich nur autorisierte Benutzer des Systems ausführen können. Diese als „Administrator“,“Systemverwalter“ oder „Superuser“ referenzierten Benutzer, entscheiden zugleich über das Hinzufügen eines Softwareprodukts und den vollständigen Zugriff auf das Betriebssystem. Sie tragen auch die Verantwortung für mögliche Folgeschäden.
Betrachtet man die zur Verfügung stehende Entscheidungsgrundlage, auf die sich diese Benutzer berufen können, so ist diese als unzureichend zu bewerten. Wegen fehlender Transparenz können die durch eine Software-Installation stattfindenden Veränderungen am Betriebssystem nicht vorhergesagt werden. Auch nach Fertigstellung ist ein Nachvollziehen der tatsächlichen Modifikationen nicht möglich. Unter diesem Umstand erfolgt die Zustimmung zu einer Software-Installation auf Basis des Vertrauens, welches der Benutzer in den Software-Entwickler setzen muss. Der Benutzer wird zum Vertrauen jedoch genötigt. Es fehlen ihm die Werkzeuge zur eigenständigen Überprüfung der potentiellen Gefahr. Ist die Zustimmung einmal erteilt, wird der Anwender zum passiven Bestandteil der ablaufenden Installationsroutine. Er muss hoffen, dass sein Vertrauen sich bestätigt.
Dem in unser Ausarbeitung entwickelte Ansatz einer kontrollierten Software-Installation liegt dieser Missstand zu Grunde. Ziel ist es ein Werkzeug zu schaffen, das den Benutzer eines Linux-Systems bei der beschriebenen Vertrauensentscheidung unterstützt. Es liefert eine neue Entscheidungsgrundlage, die auf Analyse des jeweiligen Softwarepaketes beruht. Unser entwickeltes Verfahren soll sicherstellen, dass durch die Untersuchung von schädlichen Paketen keine Gefährdung für die Integrität des Betriebssystems entsteht. Damit schaffen wir einen Beitrag für weitere Bestrebungen, die sich der vernachlässigten Kontrolle von Software-Installationen widmen. Derzeit genutzte Entwicklungen wie Echtzeitvirenscanner stellen sich der Bedrohung zur Ausführungszeit von Programmen, vernachlässigen jedoch den Bereich der Software-Installation. Als Resultat raten Softwarehersteller in ihren Handbüchern oft dazu, mögliche AV-Programme temporär zu deaktivieren. Damit wollen sie eine negative Auswirkung auf den Installationsprozess verhindern. Eine derartige Lösung erachten wir als nicht zufriedenstellend und für die Zukunft verbesserungswürdig.
Im Folgenden vergleichen wir zunächst in Kapitel 2 kontextbezogene Beiträge. In Kapitel 3 präsentieren wir dienliches Hintergrundwissen zum Verständnis der kontrollierten Software-Installation. Darauf folgt in Kapitel 4 eine Erläuterung unseres Beitrags zur kontrollierten Software-Installation auf Linux-Systemen. Dabei analysieren wir im ersten Abschnitt zunächst die gegebene Problemstellung. Der zweite Abschnitt veranschaulicht unsere Lösung. Der Evaluierung unseres Konzeptes stellen wir uns im dritten Abschnitt. Wir führen eine kritische Diskussion über das entwickelte Verfahren im letzten Abschnitt. Im abschließende Kapitel 5 zeigen wir weitere Entwicklungsmöglichkeiten und Ansätze auf.