AironWorks: Neuentwicklung einer SaaS-Plattform zur Simulation von Phishing-Angriffen

Hilfe bei der Wiederaufbau einer Plattform, die das schwächste Element der Cybersicherheitsstrategie eines Unternehmens – seine Mitarbeiter – stärkt

Über den Auftraggeber

AironWorks ist ein israelisch-japanisches Startup für Cybersicherheitsbewusstsein, das eine auf SaaS-Technologie basierende KI-fähige Plattform zur Simulation von Phishing-Angriffen vertreibt. AironWorks ist ein vielversprechender Pionier in diesem Bereich und war die einzige Firma, die bei TechCrunch Tokyo 2021 zwei Platin-Auszeichnungen gewann.

Über uns Produkt

  • AironWorks simuliert Phishing-Angriffe, die Mitarbeiter ansprechen. Diese Angriffe können sich entweder auf die Mitarbeiter selbst oder auf das Unternehmen als Ganzes konzentrieren und können per E-Mail, SMS, Social-Media-Nachrichten und Website-URLs ausgeführt werden.

  • UNTERNEHMUNGSCHWERKE DER KUNDEN ERLEBTE NACH EINER GLÜCKLICHER ANFÜHRUNG

    Kurz nach dem Produktstart erkannte das AironWorks-Team, dass es mehr Kunden als erwartet gewonnen hatte, was die Notwendigkeit unterstrich, die folgenden Punkte zu berücksichtigen:

    • Um das Produkt technologisch zu verbessern, sodass es mehr Kunden bedienen und ihnen eine bessere Leistung und Stabilität bieten kann
    • Neue, kritische Funktionen hinzufügen, die laut dem Feedback der Kunden auf der Plattform fehlten
    • Mit der Version 2 neu starten sie ihre bestehende Kunden-App mit einer verbesserten und benutzerfreundlicheren Benutzeroberfläche/Benutzeroberfläche (UI/UX) – mit dem Ziel, das Interesse größerer Unternehmen aus verschiedenen Branchen zu wecken und das Produkt zu einem branchenunabhängigen Schulungstool für Cybersicherheit zu machen.

    AironWorks wurde von erfahrenen Entwicklern entwickelt, die zuvor im israelischen Geheimdienst der israelischen Streitkräfte tätig waren. Um sicherzustellen, dass alle Teammitglieder das gleiche professionelle Niveau aufweisen, beschlossen sie, statt die Größe des Teams zu erweitern, eine Partnerschaft mit einem Outsourcing-Software-Engineering-Unternehmen einzugehen, das Folgendes leisten würde:

    • Schnell die notwendigen Spezialisten finden, das Team mit ihnen verstärken und sie in das Projekt einbeziehen
    • Besitzen Sie gute Projektmanagementfähigkeiten und sind Sie verantwortlich für die Leitung der Arbeit des externen Teams, die Erstellung von Berichten und die Kommunikation zwischen den Beteiligten
    • eine eingehende Produktuntersuchung durchführen und die Geschäftslogik, die technologischen Anforderungen und die Nachteile der Lösung identifizieren, um diese weiter zu verbessern
    • In der Lage sein, innerhalb kurzer Zeit eine neue Kundenanwendung zu entwickeln und zu implementieren, um diese entsprechend der genehmigten Pläne einer neuen Zielgruppe vorzustellen

    Wir waren sehr erfreut, als AironWorks unsere Professionalität und unser Geschäftsetuches anerkannten und uns auf der Grundlage der Kundenrezensionen und der bisherigen Projekte, an denen wir gearbeitet haben, als Partner mit Yalantis zusammenarbeitete.

Ergebnisse Erreicht mit Yalantis

    • Eine neue Kundenanwendung mit verbesserter Geschäftslogik, Benutzererfahrung und Leistung
    • Eine für den US-Markt optimierte Schnittstelle
    • Neue Dokumentations- und Entwicklungsmethoden, die eine effektive und effiziente Produktentwicklung sowie den Unternehmenswachstum ermöglichen


    Hier ist, was wir getan haben, um AironWorks dabei zu helfen, diese Ergebnisse zu erzielen:


  • Yalantis half dem Kunden dabei, eine neue Kundenanwendung zu entwickeln, die einfach zu bedienen und für neue Märkte geeignet ist. Folgende Schritte wurden dabei durchgeführt.

     

    Weiter geht es mit der Kunden-App

    In den ersten Phasen der Entwicklung der Lösung stellte unser Team fest, dass die gewünschte Funktionserweiterung nicht allein durch die Entwicklung einer neuen Kundenanwendung erreicht werden konnte.

    Das Team von Yalantis musste:

    • Verfeinern Sie die Geschäftslogik der Anwendung, um Ungenauigkeiten zu beseitigen
    • Denkt über die Entwicklung einer neuen Anwendung und die Implementierung neuer Funktionalitäten nach, wobei dies so erfolgen soll, dass die Arbeit der bestehenden Anwendung nicht beeinträchtigt wird.
    • Sorgen Sie dafür, dass die neue Funktionalität in der aktuellen Kundenanwendung ordnungsgemäß und stabil funktioniert.
    • Das Backend wurde optimiert, um eine reibungslose Funktion beider Versionen der Kundenanwendung zu gewährleisten.

     

    Die Untersuchung und Behebung von Lücken in der Geschäftslogik

    Bevor mit der Entwicklung begonnen wurde, führte unser Business Analyst eine Reverse-Engineering-Arbeit durch, um:

    • Erfahren Sie, wie das Produkt funktioniert
    • Erfahren Sie, welche Ziele jede Funktion erfüllte und wie jede Funktion umgesetzt wurde
    • Identifizierung von Lücken und Ungenauigkeiten in der Geschäftslogik und Angebot von Lösungen in Zusammenarbeit mit Entwicklern
    • Entwerfen Sie die Feature-Map, beschreiben Sie die Geschäftslogik und präsentieren Sie gemeinsam mit dem Entwicklungsteam eine Strategie zur Implementierung neuer Funktionalitäten.

    Anschließend begannen wir mit der Umsetzung des ursprünglichen Anliegens des Kunden – der Entwicklung einer neuen, kundenorientierten Webanwendung.

     

    Verbesserung der Technologie-Stack-Architektur, um moderne UI-Standards zu berücksichtigen

    Die neue Version der Kundenanwendung musste moderne Benutzeroberflächenstandards und Trends berücksichtigen, um mehr Kunden anzuziehen. Deshalb haben wir uns für eine Änderung des Technologiestacks entschieden:

    Wir haben auf die neue Technologieplattform umgestiegen, weil:

    • TypeScript hat uns geholfen, viel altes Code, das in JavaScript geschrieben war, zu vereinfachen und die Leistung der Anwendung zu verbessern, sodass die App selbst bei einer zunehmenden Anzahl von Nutzern reibungslos funktioniert.
    • Die Erstellung der neuen Codebasis in TypeScript hat uns geholfen, eine schnelle und stabile Plattformleistung zu gewährleisten und die Lösung für die Implementierung weiterer Funktionen vorzubereiten.
    • Material UI bietet die entscheidenden Eigenschaften, die wir in diesem Projekt benötigten – hohe Geschwindigkeit und Anpassungsmöglichkeiten –, und ist die beste Wahl für React. Wir haben unsere eigenen Stile nach Material UI erstellt, da diese Applikation visuell dem aktuellen Design ähnelt. Dank dieser Anpassungskompetenz werden Kunden den Funktionsablauf intuitiv verstehen können, wenn sie auf die neue Version migrieren.
    • Mit React Query können Sie API-Verwaltung vereinfachen, die Abwicklung von Edge-Cases optimieren und Daten in Form von Caches speichern, ohne dass dafür State-Management-Tools erforderlich sind. Außerdem ermöglicht diese Bibliothek eine flexible Kommunikation zwischen Server und Client.

    Darüber hinaus haben wir den Szenario-Editor und den Ablauf beim Starten von Szenarien überarbeitet. Wir haben die Inbetriebnahme von Szenarien vereinfacht, indem wir neue Attribute hinzugefügt haben, Schritte getrennt dargestellt haben und den Benutzern die Möglichkeit gegeben haben, jeden Schritt zu überprüfen, bevor sie das Szenario abschließen.

    Auf Wunsch des Kunden haben wir auch an der Teilrefactoring von Legacy-Code im Backend gearbeitet.

     

    Stabilität der App durch Refactoring des Legacy-Codes gewährleisten

    Ursprünglich wurde der Backend in Python mit dem Flask-Framework geschrieben. Wir haben uns entschieden, es mit dem asynchronen FastAPI-Framework zu ergänzen. Dadurch konnten wir Anfragen asynchron verarbeiten und die Server entlasten. Außerdem haben wir einige Teile des Codes neu geschrieben, um sie zu vereinfachen und ihre Größe zu reduzieren.

    Die umgesetzten Änderungen haben es ermöglicht, dass:

    • Bessere Plattformstabilität bei hohen Belastungen
    • Einfachere Einschulung neuer Spezialisten, da wir alles in Module unterteilt haben und die Beziehungen zwischen diesen und der Arbeitsweise dokumentiert haben
    • Einfachere Fehlererkennung

    Wir arbeiten nun an der vollständigen Neugestaltung des Legacy-Codes.

  • Wir haben die Lösung in Vorbereitung auf den Eintritt auf den US-Markt lokalisiert:

    • die Prozesse der Erstellung von Szenarien, Einstellungen und Konfigurationen innerhalb der Anwendung verständlich und für Muttersprachler natürlich zu gestalten
    • Implementierung der Möglichkeit, dass jeder Mitarbeiter eine Sprache auswählen kann
    • Anpassung der Sprache der Benachrichtigungen an die Präferenzen eines Mitarbeiters
  • Hierfür hat das Team von Yalantis:

    • Implementierte und konfigurierten CI/CD-Prozesse. Die Implementierung von CI/CD-Prozessen ermöglichte uns Folgendes:
       – Kontrolle der Produktbereitstellung
       – Vermeiden Sie die Verwendung von minderwertigem oder fehlerhafter Code
       – verkürzen Sie die Markteinführungszeit, da die kontinuierliche Bereitstellung es uns ermöglicht, neue Funktionen einzuführen und Fehler schnell zu beheben.
    • Durch Tests wurde eine hohe Codequalität gewährleistet. Alle Produkttests werden von unserer Seite durchgeführt. Nach den Arbeitsprinzipien von Yalantis haben unsere Entwickler jedoch Einzelsitzungs- und Integrationstests durchgeführt.

  • Wir haben es erschaffen Dokumentation Um die Integration neuer Spezialisten zu erleichtern. Da das Produkt wächst, mussten wir sicherstellen, dass neue Entwickler es schnell anfangen können zu arbeiten. Um den Einsteigerprozess zu erleichtern, haben wir:

    • Erstellte in der Dokumentation einen Abschnitt “Anfangen”, um neu eingestellten Entwicklern zu helfen, das Projekt lokal auf ihren Geräten zu starten und sich schnell mit den Projektdetails zu beschäftigen.
    • beschrieb die Gründe für die getroffenen Entscheidungen und die verwendeten UI-Komponenten
    • gegebenen Empfehlungen zu zukünftigen Entscheidungen und Konventionen, die befolgt werden müssen, um neue Funktionen konsequent zu entwickeln

Zukunft Pläne

  • Wir arbeiten weiterhin an dem Projekt mit dem Team des Kunden und planen, Folgendes zu erreichen:

    • Neue Funktionen implementieren; insbesondere die Erstellung von Szenarien für neue E-Mail-Phishing-Angriffe mithilfe von gefälschten Anmeldeformularen und Anhängen
    • Eine neue Kundenversion der Anwendung mit einem aktualisierten Dashboard und erweiterten Statistiken veröffentlichen
    • Verfügen Sie mit Terraform über eine Infrastruktur von Grund auf neu, um eine reibungslose und stabile Skalierung der Lösung zu gewährleisten.

Haben Sie eine Menge an veraltetem Code, der die Leistung Ihres Produkts behindert?

Erfahren Sie, wie unsere Entwickler das Beste aus Ihrem Code herausholen können.

Kontaktieren Sie uns