Michael hat im Rahmen seines Praktikums im Bereich Information Security ein Projekt bei uns umgesetzt. Im Interview gibt er spannende Einblicke, wie er gearbeitet hat und was dabei herausgekommen ist.
Um intern die Integrität unserer Systeme zu überprüfen bzw. um der Ausnutzung von Schwachstellen entgegenzuwirken, scannen wir regelmäßig alle Geräte mit einem Tool namens Nessus. Die Reports, die das Tool generiert, können allerdings überwältigend sein, außerdem ist es mühsam, die gescannten Geräte einzelnen Mitarbeitern zuzuordnen.
Ziel meines Praktikumsprojekts war es also, eine Anwendung zu entwickeln, die dem Benutzer die mühsame Analyse der Scan Reports abnimmt. Sie liest die Nessus Reports ein, findet die zugehörigen Nutzer zu den einzelnen Maschinen und generiert automatisch Vorschläge für E-Mails, die die entsprechenden Mitarbeiter auf die Schwachstellen hinweisen sollen.
Zunächst habe ich ein Prototyp als Konsolenanwendung mit Python entwickelt. Das war vor allem als Proof of Concept gedacht, um bereits vorab unerwartete Hürden zu finden, die bei der finalen Umsetzung mit bedacht werden müssten.
Mit dem fertigen POC bin ich dann an die Planung für die eigentliche Anwendung gegangen. Sie sollte vor allem graphisch und einfach zu bedienen sein. Da ich von Webentwicklung deutlich mehr Ahnung habe als von nativen Windows Anwendungen fiel meine Wahl für das Framework auf Electron. Im Grunde genommen laufen die Programme dabei als Chromium Instanz mit NodeJS-Integration. Somit kann man das User Interface als Webanwendung entwickeln, muss sich aber trotzdem nicht auf die Browser-APIs beschränken, sondern hat vollen Zugriff auf alle Betriebssystem-APIs, die man benötigen könnte.
Als UI Framework habe ich React benutzt, aus dem einfachen Grund, dass ich damit die meiste Erfahrung habe und es allgemein sehr gute Ressourcen dazu gibt. Was ich hier besonders erwähnen möchte ist, dass ich die Gelegenheit genutzt habe, für die Entwicklung der UI ein neues Tool auszuprobieren. Storybook heißt es, und es erlaubt jede Komponente in Isolation zu testen, und somit jeden erdenklichen Zustand ausprobieren zu können, ohne diesen mühsam in der App herbeiführen zu müssen. Storybook unterstützt zahlreiche Webframeworks, ich kann es also auch für zukünftige Entwicklungen empfehlen.
Es war schön eine leere Leinwand vor sich zu haben, also von Grund auf die Anwendung neu bauen zu können. So konnte ich vieles ausprobieren und war durch keine vorangegangenen Entwicklungen eingeschränkt. Ich denke am meisten Spaß hat es mir gemacht, die ganze Magie zu schreiben, die das Programm für den Benutzer intuitiv macht.
Ich habe vieles zum ersten Mal erlebt, wie Performance Probleme in React bzw. Probleme mit einigen Javascript-Paketen in Electron. Besonders das Build-System Webpack hat hin und wieder gestreikt, bzw. sich gänzlich anders verhalten als ich es erwartet hätte. Das war teilweise schon sehr mühsam, da ich oft quasi gegen eine Blackbox debuggen musste. Letztendlich habe ich aber immer einen Weg gefunden, dass der Build klappt.
Ich möchte mich bei meinen Kollegen in der IT-S bedanken für die schöne Zeit. Ich habe mich dort wirklich gut aufgehoben gefühlt!
7 Thesen: Was Developer:innen glücklich macht
Softwareentwickler:innen sind auch 2024 heiß begehrt. Die Unternehmen überbieten sich im Recruiting. Sandra ...
Rene: Tipps für den Einstieg als Junior Developer
„Einfach mal machen!“, lautet Rene’s Tipp für Anfänger:innen. „Es gibt unglaublich viele gute Tutori...
Karrieremessen 2024: Wo kannst du RUBICON kennenlernen?
Dieses Jahr sind wir wieder bei zahlreichen Recruiting-Veranstaltungen an HTLs und Fachhochschulen vertreten. ...