Security-Startups im Blickpunkt: Bitinspect Sourcecode unter der Security-Lupe

Autor / Redakteur: Ralph Dombach / Peter Schmitz |

Immer mehr Unternehmen wollen ihre Dienstleistungen und Angebote Online oder per App ihren Kunden näher bringen. Spätestens wenn dabei personenbezogene Daten gespeichert oder Zahlungstransaktionen abgewickelt werden sollen, ist die Sicherheit der Anwendung ein wichtiger Faktor. Das Darmstädter Security-Startup Bitinspect hilft Unternehmen, die Sicherheit ihrer Webanwendungen und Apps genau unter die Lupe zu nehmen.

Anbieter zum Thema

Den Sourcecode einer Anwendung auf Sicherheits-Fehler zu analysieren ist zwar ein Kostenfaktor, aber ein Security-Fehler der erst beim Anwender entdeckt wird kann teurer werden.
Den Sourcecode einer Anwendung auf Sicherheits-Fehler zu analysieren ist zwar ein Kostenfaktor, aber ein Security-Fehler der erst beim Anwender entdeckt wird kann teurer werden.
(© REDPIXEL - stock.adobe.com)

Security-Insider präsentiert innovative, junge Startup-Unternehmen aus dem deutschsprachigen Raum, die mit neuen Ideen die IT-Sicherheit nach vorn bringen wollen. Eines dieser Startups ist das Darmstädter Security-Startup Bitinspect, das ganz in der Tradition großer Detektive wie Philip Marlow und Sherlock Holmes eine Dienstleistung anbietet, bei der Security-Programmierfehler mit akribischer Detektivarbeit entdeckt werden.

Das junge Unternehmen bietet Analysen von Web-Anwendungen, Mobilen Apps und dem Review von Sicherheitskonzepten in seinem Portfolio an. Ein Service, der mit der zunehmenden Anzahl an Anwendungen und Applikationen, bei denen personenbezogene, vertrauliche oder finanzielle Daten verarbeitet werden, immer wichtiger wird. Denn wer kann sicher sein, dass die eigene Anwendung korrekt, vertrauenswürdig und fehlerfrei programmiert ist?

Bildergalerie
Bildergalerie mit 6 Bildern

Ein besonders interessanter Teil der Startup-Dienstleistungen ist die codebasierte Analyse von Web- und Mobile-Apps, bei der die Experten von Bitinspect den Code der Anwendung analysieren und Fehler in der Programmierung aufdecken. Abhängig vom Projekt, erhält das Team von Bitinspect dazu nur die App (ohne weitere Daten und Hinweise) oder den Sourcecode der Anwendung. Bei mobilen Apps werden derzeit bevorzugt Applikationen für Android oder iOS verifiziert, die auch im deutschsprachigen Markt dominieren. App-Prüfungen für andere mobile Betriebssysteme, wie Windows Mobil oder Blackberry OS, werden vom Kunden nicht nachgefragt.

Je nach Komplexität der App erfolgt eine Überprüfung des Programmcodes auf Security-Fehler in zwei bis 5 Tagen. Bei komplexen Apps nimmt der Aufwand zu.

Zu der eigentlichen Code-Analyse führt Bitinspect im Rahmen eines Projekts noch weitere Tätigkeiten durch:

  • Code-Analyse
  • + Ermitteln der Risiken durch die Schwachstellen-Ausnutzung
  • + Bewerten des Risikos (u.a. via nach OWASP)
  • + Handlungsempfehlung zur Härtung bzw. Vermeidung des Risikos (Codekorrektur)
  • + Projekt-Bericht

Bei Bedarf bietet Bitinspect auch Schulungen für die Programmier-Teams des Kunden an, um typische Schwachstellen bei der Programmierung von mobilen Apps von vornherein zu vermeiden. Welche Services abgerufen werden, wird im Rahmen eines Projektmeetings festgelegt. Der einheitliche Satz beträgt 1500 Euro pro Manntag.

Ergänzendes zum Thema
Im Gespräch mit Wladimir Paulsen, Mitgründer Bitinspect

Security-Insider: Hr. Paulsen, wie ist Bitinspect entstanden und was brachte Sie darauf, dass ein Code-Validierungsservice am Markt einfach fehlt?

Wladimir Paulsen: Kennengelernt habe wir uns bei einem früheren Arbeitgeber, der ebenfalls im Bereich IT-Security tätig ist. Im Laufe der Zeit haben sich Sicherheitsbedarfe der Kunden und auch unsere eigenen Interessen erweitert. Vor etwa 2,5 Jahren reifte die Entscheidung die Bitinspect GmbH zu gründen, um die neuen Interessen in Form eigener Dienstleistungen an den Markt zu bringen. Zwar sind wir nur ein kleines Team, aber gerade das ermöglicht es uns schnell aktuelle Vorgehensweisen und neuste Standards zu adaptieren oder gar noch um eigene Aspekte zu erweitern. Im Gegensatz zu anderen die mit Pentests beweisen, dass mindestens „EINE“ Lücke im System existiert, zeigen wir mit unserem Ansatz die gesamte denkbare Angriffsfläche auf. Gerade Code-Validierung bietet hier eine sehr genaue und tiefgehende Untersuchungsmöglichkeit um das Gesamtsystem beurteilen zu können. Dadurch sind die Ergebnisberichte durch Detail- und Faktenwissen untermauert und bieten eine objektive und realistische Beurteilung des Ist-Zustand. Für die Auftraggeber sind so Verbesserungen im Detail aber auch im Gesamtsystem leicht möglich (und begründbar).

Security Insider: Wo liegt derzeit Ihr Schwerpunkt – werden mehr Apps oder mehr Web-Applikationen zur Verifizierung eingereicht und wie sehen sie den Markt in zwei Jahren?

Paulsen: Momentan werden definitiv mehr Web als Mobile Applikationen auf Sicherheitsschwachstellen untersucht. Wobei immer mehr Anbieter zusätzlich zur Web-Anwendung auch Mobile Apps anbieten, die die gleichen Backend-Systeme benutzen. Dadurch rücken die Mobilen Applikationen auch immer mehr in Fokus von den Angreifern. Wir erwarten, dass die Mobilen Apps in 2 Jahren in etwa gleichauf mit den Web-Anwendungen liegen werden.

Security Insider: Können Sie eine Tendenz feststellen, aus welcher Branche und aus welchem Land die meisten Aufträge kommen und haben Sie eine Erklärung dafür?

Paulsen: Bei den Branchen haben das gesamte Spektrum, angefangen von mittleren Web-Shops bis zu großen Versicherungen. Die meisten Aufträge bei uns kommen aus dem deutschsprachigen Raum, weil die meisten Kunden unsere persönliche Beratung und Kundennähe schätzen.

Security-Insider: Es gibt viele Zertifikate und Zertifizierungen in der IT – brauchen wir so etwas auch für „Sichere Software“?

Paulsen: Dadurch, dass die Sicherheit ein Prozess ist, kann eine Zertifizierung oder eine Sicherheitsanalyse immer nur den untersuchten Zustand erfassen. Es ist wahrscheinlich, dass nach der Zertifizierung eine neue Schwachstelle oder neue Methode zum Ausnutzen von Schwachstellen gefunden werden. Deswegen wird man mit einem gewissen Grad an Unsicherheit leben müssen. Nichts desto trotz macht eine Zertifizierung dann Sinn, wenn sie regelmäßig wiederholt wird und keine Momentaufnahme ist. Da es in diesem Bereich meist nur unverbindliche Empfehlungen gibt, würde eine Standardisierung/Zertifizierung aus unserer Sicht durchaus Sinn machen. Dies wird unter anderem mit Mobile/Web Application Verification Standard von OWASP vorangetrieben.

Schwachstelle Programmierung

Sicherheit ist heute durchaus ein Aspekt bei der Programmierung, der immer öfter in den Anforderungskatalogen auftauchen. Aber trotz semi-intelligenter Compiler, Sourcecode-Verwaltung und Tools, zur Überprüfung der Typsicherheit, für die Erkennung von Speicherkonflikten, der Verifizierung von Eingaben (Magic Quotes bei PHP etc.) sind Programmierfehler unvermeidbar.

Bei „normalen Programmierfehlern“ – etwa eine zu geringe Loop-Angabe für eine Programmschleife oder eine falsche Entscheidungsverzweigung sind drei Fehler je 1000 Programmzeilen ein akzeptabler Wert. Angestrebt wird aber ein Fehlerwert von < 0,5 Fehler/1000 Programmzeilen, was eine recht hohe Messlatte ist!

Security-Fehler sollten hingegen gar nicht auftreten, denn diese können desaströse Auswirkungen haben. Aber seit Programmierer aus Zeitgründen immer öfter auf vorgefertigte Open-Source-Codeelemente zurückgreifen und Ausbildungsplänen für Programmierer gekürzt werden, während der starke Druck durch preiswerte Programmierer aus dem Ausland wächst, ist die Software-Entwicklung nicht einfacher geworden! Es gibt mehrere Normen, die sich mit der sicheren Programmierung beschäftigen (siehe auch ISO 27034), aber im täglichen „Business First“, hat Security oft einen zweitrangigen Charakter. Das dies zu normalen Fehlern und leider auch zu Security-Fehlern führen kann ist tägliche Realität. Wenn eine Kochrezepte-App, bei Abruf der Zutaten für einen „Apfelkuchen“ hängen bleibt, ist dies ärgerlich, aber nicht weiter tragisch. Werden aber Gebühren für das Kochrezept abgebucht und ein Hänger oder Security-Fehler tritt auf, kann dies teuer werden - für den Kunden und/oder den Anbieter! Bei derartigen Apps – egal ob im Web oder Mobil, macht daher eine Security-Analyse durchaus Sinn.

Ergänzendes zum Thema
Security-Startups gesucht!

Security-Insider präsentiert innovative, junge Startups, aus Deutschland, Österreich und der Schweiz, die es sich zur Aufgabe gemacht haben, die IT-Sicherheit mit einfallsreichen, neuen Ansätzen und einem kreativen Blick auf die Security-Landschaft zu verbessern.

Wir stehen bei der Suche nach den interessantesten IT-Security-Startups aus dem deutschsprachigen Raum bereits mit vielen Verbänden, Inkubatoren, Acceleratoren und Universitäten in Kontakt. Aber wenn Sie ein Startup aus dem Bereich der IT-Sicherheit kennen, oder selbst Gründer eines solchen jungen Unternehmens sind, das nicht älter als drei Jahre ist und das wir unbedingt kennenlernen sollten, dann schreiben Sie uns!

So arbeitet Bitinspect

Bestimmt wird dies durch die Art der App, dem genutzten OS, den Software-Komponenten der Programmiersprache, dem Backend-System(en) und anderen Einflussfaktoren.

Nach einer Aufnahme der Basisdaten, werden die weiteren Schritte mit dem Auftraggeber abgeklärt und den Umfang der „bit-Schnüffelei“ zu definieren. Danach beginnt Bitinspect mit der eigentlichen Analyse.

Zunächst wird dabei die App selbst analysiert (beispielsweise bezüglich der Annahme von Userdaten) und dann die Kommunikation mit dem Backend (z.B. Transfer von Login-Informationen). Diese Analyse basiert primär auf der Expertise des Testers und seinen Fähigkeiten, Code zu interpretieren und typische Schwachstellen in Programmiersprachen und Bibliotheken zu kennen. Aber auch der „OWASP Testing Guide“ wird als Framework miteinbezogen. Auf der Webseite des „The Open Web Application Security Project (OWASP)“ sind die identifizierten Problemstellungen aufgelistet die man zur Security-Kontrolle nutzen kann. Typische Elemente, die geprüft werden, sind beispielsweise:

  • Programmierung: Werden die vorhandenen Sicherheitsmechanismen der mobilen Plattform genutzt?
  • Serverinfrastruktur: Aktualität die Versionen der eingesetzten Komponenten
  • Authentifizierung: Wie wird die Benutzer-ID übertragen?
  • Sitzungsverhalten: Wird eine Sitzung sauber beendet?
  • Informationsabfluss: Welche Informationen enthalten die Fehlerlogs?
  • Eingabevalidierung: Ist es möglich mit Benutzereingaben eigenen Code auszuführen?
  • Transport: Werden u.a. veraltete Protokolle eingesetzt?

Auch wenn viele Security-Features durch Compiler, genormte Code-Fragmente und Bibliotheken als sicher gelten, betritt man doch mit jeder Programmierung immer wieder Neuland und geht damit das Risiko ein, Schwachstellen zu implementieren.

Bei der Entwicklung von komplexen Anwendungen muss man von vornherein davon ausgehen, dass immer irgendwo Security-Probleme versteckt sind und wie ein U-Boot überraschend auftauchen können. Kritisch sind hierbei „Security-Fehler“, die über die Zeit entstehen. Klassisches Beispiel dafür TLS-Verschlüsselung zwischen Applikation und Web-Server. Ehemals sichere Verschlüsselungen wie RC4 sind inzwischen als unsicher, werden aber immer noch von Produkten unterstützt und akzeptiert.

Die Identifikation von „normalen“ Programmierfehlern obliegt dem Kunden, denn Bitinspect führt keinen UAT (User-Acceptance Test) durch und auch keine forensischen Analysen falls eine App in einem definierten Umfeld nicht funktioniert. Bitinspect sucht nach Security-Fehlern im Sourcecode, welche die App oder die Interaktion mit dem Backend betreffen. Am Ende der Tests erstellt Bitinspect einen entsprechenden Report für den Auftraggeber und bespricht die gefundenen Security-Fehler im Code. Wie ein solcher Ergebnisreport für eine einfache mobile App gestaltet ist, zeigt der am Ende des Artikels verlinkte Beispiel-Report im PDF-Format.

Bildergalerie
Bildergalerie mit 6 Bildern

Geschäftsnutzen

Der Geschäftsnutzen eines solchen Service liegt auf der Hand. Jeder Fehler im täglichen Betrieb, kann zu Umsatzeinbußen, Kundenärger oder auch Schlagzeilen in der Presse führen wie „App XYZ erlaubt Einsichtnahme in fremde Bestellvorgänge“. Alles Themen, die man vermeiden möchte. Ein UAT deckt in der Regel grobe Fehler auf, aber eine Code-Verifikation auf Security-Verstöße und -Probleme sorgt für eine sichere Nutzung der Anwendung.

Firmen gehen heute vermehrt dazu über, ihre IT gegen Hacker- und Malware-Attacken zu versichern. Die Bitinspect-Dienstleistung ist ebenso eine Versicherung. Eine Versicherung, gegen Security-Programmierfehler.

Sicherlich gibt es Tools, die den Sourcecode einer Anwendung auf (Security-)Fehler analysieren, aber diese Tools agieren meist statisch und weitestgehend ohne Einfühlungsvermögen und der Erfahrung eines menschlichen Experten!

Empfehlung

Wer bereits Security-Probleme mit seinen Anwendungen hatte oder plant, eine neue Applikation auf dem Markt zu etablieren, sollte in Erwägung ziehen, einmal ein Gespräch mit Bitinspect zu führen. Denn ein vorab beseitigter Security-Fehler ist preisgünstiger, als jeder der erst beim Anwender entdeckt wird.

Bitinspect ist auch im 2. Halbjahr auf verschiedenen Veranstaltungen in Darmstadt vertreten. Wer Gelegenheit hat, kann sich dort selbst einen Eindruck von der der Arbeitsweise und dem Serviceangebot verschaffen. Beispielsweise beim 17. Cyber-Sicherheits-Tag mit dem Leitthema "Cyber-Sicherheit in der mobilen Kommunikation" am 1. September im Darmstadt und bei "Handel trifft IT" am 25. September bei der IHK Darmstadt.

Bitinspect auf einen Blick
Name Bitinspect
Webseite https://bitinspect.de
Geschäftsform GmbH
Standort Darmstadt
Gründungszeitpunkt 01.07.2015
Geschäftsführer Jens Liebau, Wladimir Paulsen
Anzahl Mitarbeiter 4
Security-Sparte Pentests/Sicherheitsanalyse von Web und Mobile Apps
Produkt Netzwerk-/Web-/App-Sicherheitsanalyse mit standardisierter Verifizierung, Security-Beratung
Innovation Sicherheitsanalyse für mobile Apps durch erfahrene Experten bzgl. Security-Fehlern
Unternehmens-Blog https://bitinspect.de/blog/
Investitionen möglich Nein
Startfinanzierung / Umsatz letztes Jahr keine / 70.000 Euro

Artikelfiles und Artikellinks

(ID:44808376)