So gut schläft man mit Open Source

So gut schläft man mit Open Source

Artikel erschienen in IT Magazine 2014/01

Schwierige Code-Prüfung


Es ist bekannt, dass Linux und andere Open Source Software heute omnipräsent ist und auch, dass gemäss der Lizenz-Bestimmungen, unter denen sie steht (z.B. GPL), bei jedem Produkt, das sie enthält, der Source Code mitgeliefert werden muss. Die Programmiersprachen, in denen der Linux-Kernel und die vielen zugehörigen Programme geschrieben wurden, sind Standard-Technologien, die jeder Informatik-Absolvent beherrscht. Und doch: Wer hat sich schon einmal die Mühe gemacht, den Source Code tatsächlich zu betrachten? Er würde alles offenbaren: die Qualität der eingebauten Verschlüsselungsalgorithmen, die Zugriffe auf Dateisysteme und Netzwerkknoten, die Effizienz der Speichernutzung, oder die Verfahren, mit denen die Echtheit von Benutzern oder anfragenden Kommunikationspartnern geprüft wird.
Die weitaus meisten Benutzer nehmen einfach blind an, dass das alles schon seine Richtigkeit habe, und nur in Ausnahmefällen – insbesondere in besonders sicherheitskritischen Bereichen – wird der Aufwand getrieben, die Qualität durch Analyse des Source Codes zu evaluieren. Dabei steht ein ernsthafter Prüfer aber gleich vor mehreren Hürden. Die erste ist, dass für viele heute eingesetzte Programme, vor allem auch für die omnipräsenten Produkte der grossen Hersteller Microsoft, Apple, Oracle oder Cisco, der Source Code gar nicht, oder nur unter strengen Auflagen verfügbar ist.
Viele Hersteller proprietärer Produkte sind überzeugt, dass eine Source-Code-Freigabe nur ihrer Konkurrenz nutzen würde, um die enthaltenen Algorithmen abzukupfern und ihrerseits in geschlossenen Produkten wieder auf den Markt zu bringen. Zudem unterliegt Software dem Copyright, und viele Komponenten proprietärer Produkte werden eingekauft und wiederverkauft, so dass die Einholung einer Erlaubnis zur Publikation des Source Codes eines solchen Teilsystems aufwendig sein und immer noch abgelehnt werden kann – oder die Quelle des Codes gar nicht einmal mehr eruiert werden kann.
Doch auch wenn der Source Code für eine Prüfung zur Verfügung steht, kann jede einzelne prüfende Person immer nur einen Bruchteil eines komplexen Systems in genügendem Detail betrachten. Zudem muss ihr das Know-how für alle im Source Code verwendeten Technologien und Algorithmen während der Prüfung verfügbar sein. Schon bei kleinen zu prüfenden Systemen müssen also viele Fachleute im Verbund arbeiten. Schliesslich muss auch sichergestellt werden, dass der geprüfte Source Code auch tatsächlich zu dem kompiliert wird, was später als Binärobjekt durch den Computer ausgeführt wird. Hier kommen Compiler ins Spiel, die zwar selbst Open Source sein können (und entsprechend geprüft werden müssten), aber oft aus sich selbst heraus gewachsen sind und durchaus versteckten Binärcode enthalten können, der wiederum Sicherheitslöcher in jedes von ihm übersetzte Programm einbaut.

Neuen Kommentar erfassen

Anti-Spam-Frage Aus welcher Stadt stammten die Bremer Stadtmusikanten?
Antwort
Name
E-Mail
SPONSOREN & PARTNER