In Zeiten zunehmender Überwachung und Massendatensammlung ist KIVU ein außergewöhnliches Vorzeigebeispiel: Mit ausgeklügelter Software werden hier von bekannten Knotenpunkten ausgehend (nicht nur soziale) Netzwerke analysiert. Damit lassen sich Untersuchungen und Analysen auf die relevanten Teilnehmer in Netzwerken eingrenzen, was auch wesentlich schneller zu entsprechenden Erfolgen führt. Jan van Oort, Chief Engineer von KIVU: „Als ehemaliger Enterprise Architect Trainer habe ich gleich zu Beginn unseres Projekts das Potential der modellbasierten Entwicklung erkannt. Enterprise Architect unterstützt mich vor allem in drei zentralen Bereichen: Bei der Festlegung der Anforderungen, bei der Kommunikation mit Investoren und Kunden sowie bei der Vorstellung unseres Projekts auf Veranstaltungen.“
So schloss KIVU kürzlich eine Seed-Finanzierungsrunde über 1,8 Mio. Euro ab und kann so seine Entwicklung vorantreiben. Hans Bartmann, Geschäftsführer von SparxSystems CE: „Wir gratulieren KIVU sehr herzlich zu erfolgreichen Finanzierungsrunde. Gleichzeitig freuen wir uns, dass einer unserer ehemaligen Trainer nun das Potential der modellbasierten Entwicklung für die Erstellung einer datenschutzfreundlichen Netzwerkanalyse-Plattform nutzt. Dieser Ansatz vereint viele positive Aspekte und hat beste Voraussetzungen, um von Österreich aus einen internationalen Siegeszug anzutreten!“
Anforderungen lassen sich im Modell einfach definieren
Die KIVU-Plattform besteht aus zwei Teilen: einer grafischen Benutzeroberfläche (GUI) und einer Datenbank (Backend-Server) namens TARIM. „Gleich beim Start der Entwicklung von TARIM war mir klar, dass die hier definierten Anforderungen für jeden Entwickler klar verständlich sein müssen. Dafür bietet sich ein Modell ideal an, denn dort können Anforderungen grafisch festgeschrieben werden, unabhängig von der darauf aufbauenden Programmierung“, erläutert van Oort. Auf Basis dieser im Modell abgebildeten Anforderung erstellt ein Programmierer Quellcode, der dann wieder in einem Versionskontrollsystem (Github) abgelegt wird. Damit behält van Oort jederzeit die Übersicht, ob eine Anforderung bereits erfolgreich erledigt wurde oder noch Nachbesserungen notwendig sind.
Obwohl der Chief Engineer die Programmierer ganz bewusst nicht dazu verpflichtet, mit dem modellbasierten Ansatz zu arbeiten, sehen diese dann doch die Vorteile. „Da unser GUI seit einem Jahr immer weiter wächst, haben mich die Entwickler kürzlich gefragt, ob sie auch mit Enterprise Architect arbeiten können. Bei über 40.000 Zeilen Code ist es nämlich praktisch nur mehr in einem Modell möglich, den Überblick zu bewahren.“ Deswegen wurde nun damit begonnen, das erste Modell (Datenbank) mit dem zweiten Modell (GUI) zusammenzuführen. Die GUI wird in JavaScript erstellt, muss in jedem gängigen Browser laufen und ermöglicht die Darstellung verschiedener Ansichten. Sie hat jederzeit Verbindung mit der Datenbank, um Veränderungen sofort anzeigen zu können.
Da die Plattform für den Durchsatz großer Datenmengen (Soziale Netzwerke, Telefon-, Zeit- oder Bankdaten etc.) konzipiert ist, werden alle Analysen in der Datenbank durchgeführt. Das entlastet die GUI und sorgt dafür, dass die Anzeigen immer aktuell sind. Durch den Einsatz spezieller Filter werden nur die Daten analysiert, die eine hohe Relevanz haben. „Unsere Datenbearbeitung und -filterung muss sehr transparent sein, um sie auf behördliche Aufforderung jederzeit offenlegen zu können. Wir müssen einerseits den geforderten Datenschutz gewährleisten und anderseits ein leistungsfähiges Netzwerk-Analyse-Tool bereitstellen“, erklärt van Oort.
Due dilligence mit Modell gemeistert
Auf dem Weg zur Start-Up Finanzierung wird heute üblicherweise eine „technical due dilligence“ Prüfung gefordert. Dabei beurteilt ein externer Gutachter, ob das Start-Up auch wirklich die Leistung erbringen kann, die es behauptet. Auch KIVU musste diesen Schritt tun, wollte dabei aber nicht den eigenen Quellcode offenlegen. „Ich kann nur jedem Software Start-Up empfehlen, dafür ein Modell zu benutzen. Da unser bulgarischer Prüfer selbst mit Enterprise Architect arbeitet, konnten wir mittels geteilten Modell-Ansichten die Prüfung per Internet erfolgreich und rasch abwickeln“, unterstreicht van Oort. Und nicht zuletzt verwendet das KIVU-Team bei Vorträgen die Ansichten aus dem Modell, kürzlich etwa beim ersten VÖSI (Verband Österreichischer Software Industrie) Software Day in Wien. „Wir zeigen unseren Ansatz meist auf Sicherheitskonferenzen vor Entwicklern. Die wollen natürlich etwas sehen und die Zusammenhänge nachvollziehen, was mittels Modellansichten hervorragend funktioniert.“ Dabei lassen sich je nach Zielgruppe die Ansichten variieren, was die Verständlichkeit und Treffsicherheit der Vorträge deutlich erhöht.
Über KIVU Technologies
KIVU Technologies ist Anbieter von skalierbarer Software für Netzwerkanalysen nicht nur in der Sicherheitsbranche. Das Unternehmen wurde 2016 in Wien von Robert Wesley, Jan van Oort und Christian Weichselbaum gegründet und erhielt kürzlich eine Seed-Finanzierung von 1,8 Mio. Euro. Der österreichische aws Gründerfonds und btov Partners führten die Finanzierungsrunde unter Beteiligung von APEX Ventures an. Darüber hinaus unterstützen Ewald Hesse und Louis Curran als Angel Investoren das Start-up. Das KIVU Team besteht aus Ingenieuren, Entwicklern, Datenwissenschaftlern, Analysten und Sicherheitsexperten.
http://kivu.tech/
Bild 3: Die Grafik stellt die oberste Ebene der KIVU API in Form von UML / Java Schnittstellen dar, sowie die "Spitze des Eisbergs" in Bezug auf die eigentliche Implementierung der API. Konkrete Klassen erscheinen oft in einem oder mehreren Sequenzdiagrammen. Diese Diagramme, d. h. der zugehörige Code, sind das, womit Entwickler bei KIVU arbeiten können. Die Schnittstellen sind mit dem Quellcode verbunden: eine Modifikation durch den Chief Engineer auf der einen Seite (Code oder Modell) führt zu einem Update auf der anderen Seite und zwingt die Entwickler dazu, die Modifikation zu implementieren. Der Chief Engineer braucht sich dabei nicht um die Details der Implementierung zu kümmern, obwohl er jederzeit den Quellcode der Implementierung in das Modell übertragen kann. Ähnliche Diagramme existieren von Protokollschichten, spezifischen Parsing Utilities etc.