In diesem Eintrag möchte ich Euch wieder einen anderen Einblick in meine Tätigkeit als Werksstudent bei der KPMG AG WPG geben. Viele Unternehmen haben eine eigene Entwicklungsabteilung oder auch ausgelagerte Development- oder Programmierzentren. Somit geht es in diesen Unternehmen häufig nicht nur darum, den korrekten und sicheren Einsatz von Standardsoftware zu prüfen, vielmehr müssen auch die selbst entwickelten Lösungen und deren Programmierung geprüft werden. Eine derartige Prüfung wird in der Regel als Code-Review bezeichnet.
Bei einem Code-Review werden sehr verschiedene Komponenten untersucht. Ein zentraler Punkt sind die vorhandenen Richtlinien, die in der Regel durch das Unternehmen selbst definiert werden. Diese müssen auf ihre Angemessenheit hin untersucht werden (test of design). Hierbei vergleicht man oft mit Best-Practice-Ansätzen und branchenüblichen Vorgaben. Daneben muss verifiziert werden, ob diese Richtlinien allen beteiligten Mitarbeitern bekannt sind und ob sie tatsächlich angewendet werden (test of effectiveness). Anschließend geht es im eigentlichen Code-Review darum, den produzierten Quellcode zu analysieren. Hierbei wird darauf geachtet, dass die Unternehmenseigenen Vorgaben konsequent berücksichtigt werden, aber auch gängige Maßnahmen zur Erhöhung der Sicherheit angewendet werden. (Die Softwareengineering- und Programmieren-Vorlesungen im Wirtschaftsinformatik-Studium helfen ungemein sich schnell in einer neuen Programmiersprache zurecht zu finden, aber je mehr man tatsächlich selbst programmiert, desto schneller fallen einem Schwachstellen auf.)
Am Ende eines Code Reviews wird typischerweise nach Rücksprache mit dem Mandanten ein Bericht erstellt, indem alle Ergebnisse zusammengefasst sind. Dies sind sowohl die Prozesse und deren Einhaltungsgrad selbst, als auch die Ergebnisse der Code-Analyse. Im Allgemeinen treten Schwachstellen wie SQL-Injection, vertrauliche Informationen in Debugging-Logs oder ein direkt im Code implementiertes, nebenläufiges Berechtigungskonzept auf. Für diese Art von Schwachstellen entwickelt man im Laufe der Zeit einen gezielten Blick, oft gerade weil man diese Schwachstellen in den ersten eigenen Projekten noch selbst versehentlich implementiert hat.
Zusammenfassend möchte ich die Arbeit im IT-Security Consulting als sehr abwechslungsreiche und spannende, aber auch lernintensive Tätigkeit beschreiben. Es ist für jedes Projekt erforderlich, sich in einen neuen Sachverhalt einzuarbeiten und es gilt neue Kenntnisse zu erwerben. Mir persönlich macht diese Arbeit sehr viel Spaß.
Michael Bier