In unserem Azubi-Blog erklären wir jede Woche einen Begriff aus dem ABC der IT-Security. Heute: Q wie Quellcode.
Der Quellcode oder auch Befehlstext genannt, ist die Grundlage von einem Programm oder einer Internetseite. Computer lesen diesen Quelltext aus und setzen diesen in Text, Bild oder Funktion um. Bei einem Quellcode handelt es sich um einen für den Menschen lesbaren Test, der in bestimmten Programmiersprachen verfasst ist. Das Ziel dabei ist es, dem Computer genaue Regeln und Vorgaben zu machen, die dieser in Maschinensprache übersetzen kann. Nach der Übersetzung in die Maschinensprache kann der Computer bzw. die Maschine diese Befehle ausführen. Dafür benötigt man aber zusätzliche Software: den Compiler und den Interpreter.
Man unterscheidet zwischen proprietären Quellcode und Programmen, die über eine Open Source Lizenz verfügen. Proprietäre Software wird meistens ohne Quellcode ausgeliefert. Programme mit einer Open Source Lizenz werden in der Regel direkt mit ihrem Quellcode ausgeliefert, dessen Änderung und Weitergabe durch Lizenz gestattet ist. Dadurch ist es möglich, die Anwendung für spezifische Bedürfnisse anzupassen. Die Rechte des Nutzers beziehen sich dabei lediglich auf den Maschinen- oder Objektcode. Ein Quellcode kann auch Schwachstellen haben, die unbeabsichtigt oder beabsichtigt in ein Programm eingebaut wurden.
Beabsichtigt eingebaut? Ja sowas nennt man Backdoor. Aber so eine gewollte Backdoor kann schnell zum Risiko werden, wenn sie von Hackern gefunden wird. Daher ist es wichtig, wie schnell sich Schwachstellen im Wettlauf mit kriminellen Angreifern auffinden und eliminieren lassen.
Schwachpunkte lassen sich durch Penetrationstests oder dynamische Analysen Methoden aufdecken. Mithilfe von statischen und dynamischen Code-Analysen sowie einer Untersuchung des Datenflusses, der kryptografischen Algorithmen und Kryptografie Parameter können IT-Sicherheitsexperten gezielt Fehler aufspüren und schließen. Es ist wichtig, schnell Schwachstellen im Wettlauf mit kriminellen Angreifern aufspüren und eliminieren zu lassen. Bei einer Open-Source-Software kann dies aufgrund des offenen Konzepts für Unternehmen deutlich besser möglich sein als bei geschlossenem Code.