Source Code Scanning

Source Code Scanning (oder auch SAST genannt), erlaubt die Identifizierung von Sicherheitslücken und Qualitätsmängeln schon frühzeitig, während der Entwicklung, indem der Quellcode gescannt wird. Dies spart enorm viel Zeit und Kosten, da die Fehler direkt behoben werden können und schafft Awareness bei den Entwicklern, um neue Issues zu verhindern.

Source Code Scanning, oder auch Static Application Security Testing (SAST) genannt, scannt den Quellcode einer Applikation nach Schwachstellen und weiteren Qualitätsmängeln. Da dies im frühen Stadium eingesetzt werden kann (die Applikation muss dabei nicht lauffähig sein), können aufgedeckte Fehler sofort durch die Entwickler behoben und muss nicht erst am Ende eines Releases durch einen Penetrationtest identifiziert werden. Dies spart viel Zeit und Kosten, gemäss NIST kann dies bis zu 30 mal eine Ersparnis einbringen, als wenn es später in der Produktion behoben werden muss.

 

Zudem werden Entwickler automatisch geschult und dies verhindert, dass sie nicht immer wieder dieselben Fehler machen (z.B. durch copy-paste von  Code Stellen). Gewisse Source Code Scanning Lösungen erkennen auch Schwachstellen von eingesetzten 3rd Party Komponenten, Frameworks oder Libraries. Somit werden Entwickler aufgezeigt, wenn sie diese falsch anwenden oder aber eine Version mit bereits behobenen Sicherheitslücken verwenden. 

Features

Was sollte beachtet werden wenn Sie eine solche Lösung anschaffen möchten? Welches sind die wichtigsten Features die ein solcher Scanner aufweisen sollte?

Supported Languages

3rd Party Libraries

Coverage & Knowledgebase

SDLC Integration

On-Premise / Cloud

Mobile Testing

Lifecycle Management

Remediation Advices

Workflow Support

Vuln Management


Die wichtigsten Punkte sind die Anzahl der unterstützen Programmiersprachen, die Anzahl der erkennbaren Vulnerabilities (Knowledgebase) und die Anzahl der bekannten 3rd Party Libraries. Dies insgesamt erlaubt eine Aussage wie gut die mögliche Abdeckung (Coverage) ist. Gewisse Hersteller von solchen Scan-Lösungen sind gut dokumentiert (z.B. Microfocus Fortify Vulncat) und aktualisieren ihre Knowledgebase und Detektierungs-Regeln recht häufig. In der Regel sind die gängigen Programmiersprachen und ihre Frameworks gut abgedeckt (C/C++, Java, Spring, Hibernate, .NET, AngularJS, Python ...) und können die gängigsten OWASP Probleme  erkennen z.B.

  • SQL Injection
  • LDAP Injection
  • XSS
  • CSRF
  • Information Leakage
  • 3rd Party Weaknesses
  • Command Injection
  • XML Entity Injection
  • Header injection
  • Privacy Violations
  • Session Fixation
  • Configuration Issues

Betreffend der Abdeckung ist ein wichtiger Punkt die Unterstützung von Sprachen und Frameworks für Mobile Apps (z.B. Java, Android, XCode, iOS, Objective C, XCode etc.), oft hinken hierbei die Hersteller mit den neusten Versionen nach.

Ein weiterer Aspekt ist die SDLC Integration, gewisse Lösungen lassen sich direkt in die IDE aber auch in die Continuous Integration Build Umgebung integrieren. Das kann soweit gehen, dass wenn der Entwickler eine Code Zeile schreibt, gerade die Schwachstelle signalisiert wird. Ebenfalls sieht der Entwickler innerhalb seiner IDE den aktuellen Stand der Issues und kann bequem zu der jeweiligen Code Stelle springen. Des weiteren bieten die Lösungen oft auch Anleitungen (Remediation Advices) wie die einzelnen Issues gelöst werden können oder gar zugeschnittene Online Tutorials, um diese Sicherheitslücken besser nachvollziehen zu können.

Ein grosse Hilfe ist, wenn die Lösung ein Workflow Support (z.B. Approval von False-Positives) sowie ein Lifecycle Management anbietet. Somit kann ein 4 Augen Prinzip eingeführt werden, um sicherzustellen z.B. warum entschieden worden ist gewisse Probleme nicht anzugehen. Die Lösungen sind dabei so Intelligent, dass sie die History bei einem erneuten Scan und Code-Änderungen beibehalten werden, so dass man die Entscheidungen für bereits bekannte Probleme nicht erneut vornehmen muss. Ebenfalls ist ein wichtiges Kriterium die Anbindung an ein zentrales Vulnerability Management System oder aber mit einem Bug-Tracker Tool um die Remedierung vorantreiben und überwachen zu können. Für das Reporting bieten die Hersteller oft entsprechende Plugins und APIs für die Integration in die Build-Server bereit oder aber bieten auch die Möglichkeit es in "Sonar" zu integrieren.

Lösungsansatz und Angebot von SwissConomy

SwissConomy bietet verschiedene Varianten für das Source Code Scanning an. So empfehlen wir kommerzielle Produkte oder aber auch den Ansatz mit Opensource Lösungen zu verfolgen. Ebenfalls lässt sich beides als On-Premise wie auch als Cloud Variante nutzen. Beides hat seine Vor- und Nachteile und wird entsprechend der Situation beim Kunden konzipiert und implementiert werden.

Wer viel Entwicklung betreibt, für den schlagen wir als SwissConomy vor die Lösung in ein Continuous Integration Build Umgebung zu integrieren. Hierbei übernehmen wir gerne die Integrations- & Anpassungsarbeiten und schulen auch die Entwickler mit der Bedienung und Möglichkeiten, die sich dann neu bieten.

Falls Sie wenig Entwicklung betreiben, bietet SwissConomy das Scanning als Managed Service an. Dabei würden wir z.B. vor Ort Ihren fertigen Release Scannen, erstellen einen Report und besprechen die Resultate mit den Entwicklern. Der Vorteil als Service, sie müssen keine Lizenz kaufen und wir können Ihnen je nach Bedarf Pay-as-you-go Variante oder aber auch als eine Recurring-Fee anbieten.

Unser gesamtes Leistungsangebot im Bereich Security Scanning umfasst:

  • Allgemeine Beratung um das Thema Security Scanning
  • POC, um sicherzustellen, dass der Scanner die Erwartungen erfüllt
  • Installation, Konfiguration oder Migration von neuen Versionen
  • Anpassungen an die Bedürfnisse (z.B. Reporting & Workflows)
  • Integration in SDLC (z.B. Build Server & Sonar)
  • Integration in DevOps (z.B. mit Docker)
  • Schreiben von eigenen Detektierungs-Regeln
  • Risk Reviews und Impact Analysen
  • Review der Remedierungen
  • Schulung der Entwickler
  • Scanning als Managed Service

Haben wir Ihr Interesse geweckt? So zögern Sie nicht mit unseren Experten einen Termin zu vereinbaren, wo wir Ihnen unsere Ansätze und Lösungen bzgl. Security Testing genauer vorstellen können.

Mehr Informationen?

Kontaktieren Sie uns, wir beraten Sie gerne.