Sourcecodeanalyse

Die Sourcecodeanalyse deckt Fehlprogrammierungen, die Auswirkungen auf die Sicherheit haben, direkt im Quellcode auf. Sie kann während der Entwicklung durchgeführt werden und führt den Entwickler an die Wurzel des Problems.

 

 

Manuelle Sourcecodeanalyse

Dort, wo eine manuelle Sourcecodeanalyse auf Sicherheitsprobleme gewünscht oder erforderlich ist, bieten wir mit unserem Verfahren SCA-Quick-Wins einen schlanken und leistungsfähigen Ansatz.

Für Sicherheitslücken verantwortliche Programmierfehler treten in modernen Webanwendungen häufig an typischen, systematisch identifizierbaren Stellen im Code und der Konfiguration auf. Mit unserem Verfahren SCA-Quick-Wins lassen diese sich mit überschaubarem Aufwand prüfen und die Sicherheit einer Webanwendung beträchtlich erhöhen. Das Verfahren ist auch bestens als vorbereitende Ergänzung für einen Penetrationstest geeignet.

Untersucht werden u.a.

  • Fehlerhafte Server-Konfiguration (web.xml, web.config, machine.config, config.php, usw.)
  • Fehlerhafte Logging-Konfiguration (log4j, log4net, log4php, usw.)
  • Fehlerhafte Framework-Konfiguration (Struts, Spring, Hibernate, NHibernate, usw.)
  • Fehlerhafte Nutzung von Validatoren
  • Cross Site Scripting (XSS) durch fehlerhafte Response-Datenvalidierung im erzeugten HTML
  • SQL-Injection, LDAP-Injection, XPATH-Injection, sonstige Command-Injection
  • Verwendung ungenügender Kryptographie
  • Unsichere Shell-Aufrufe
  • Unsichere API-Aufrufe
  • Unsicheres Session-Management inkl. Cookie-Definition
  • Verwendung von Passwörtern im Klartext
  • Informationspreisgabe über die Konsole
  • Mangelhafte Fehlerbehandlung
  • Existenz von „FixMes“ und „To-dos“ im Source Code
  • Existenz verdächtiger Keywords („bypass“, „backdoor“ usw.)

Ergebnis-Report
Als Resultat unsere Analyse erhalten Sie einen umfassenden Report, der jedes geprüfte Problemfeld beschreibt und die dazu korrespondierenden Stellen im Source Code aufzeigt. Hierbei geben wir allgemeine Hinweise oder Best Practices zur Lösung des Problems. Dies sollte einem Entwickler leicht ermöglichen, die entsprechenden Probleme zu finden, nachzuvollziehen und zu beheben.

Zusatzoptionen

  • Workshops in denen die Ergebnisse diskutiert und die optimalen Lösungsansätze erarbeitet werden.
  • Erstellung von aus den Ergebnissen abgeleiteten Programmierregeln und -vorgaben („Secure Coding Guidelines„).

icons_sourcecodeanalyse_auto

Automatische statische Codeanalyse

Abgestimmt auf Ihre Anforderungen setzen wir eines der am Markt verfügbaren Tools zur statischen Codeanalyse ein auch Static Application Security Testing (SAST)-Tool genannt und bereiten die Ergebnisse in einer für Verantwortliche und Entwickler leicht verstehbaren Form auf.

Die Automatische Sourcecodeanalyse als Methode zur Prüfung der Sicherheit stellt eine – häufig bessere – Alternative zum Penetrationstest dar, oder liefert in Kombination mit diesem maximale Sicherheit. Die Möglichkeiten des Einsatzes dieses Mittels sind sehr breit und reichen vom schnellen Scan mit hoher Aussagekraft bis hin zur Integration in den gesamten Software Development Lifecycle (SDLC). Lassen Sie sich von uns beraten, wie Sie dieses leistungsfähige Mittel für sich nutzen, um Ihre Webanwendungen nachhaltig sicher zu machen und den besten Tradeoff zwischen Kosten und Sicherheit zu erzielen. Wir bieten diese Tests an:

Quicktest SCA
Dieser Test hat das Ziel, mit minimalem Aufwand einen Grundschutz für die jeweils betrachtete Webanwendung herzustellen.

  • Sie übermitteln uns den Sourcecode (buildfähiger Zustand) oder wir kommen zu Ihnen ins Haus.
  • In einem Vorgespräch klären wir den Schutzbedarf und ermitteln Ihre Anforderungen und Ihre Zielsetzung.
  • Wir analysieren die Anwendung mit leistungsfähigen Tools.
  • Wir bewerten die Findings entsprechend den vorab festgestellten Vorgaben und
  • übergeben Ihnen den Ergebnisbericht.

Integrierte Analyse SCA/Pentest
Bei diesem Test verbinden wir die Leistungsfähigkeit der Automatischen Sourcecodeanalyse (siehe Quicktest SCA) mit den Vorteilen eines Penetrationstests und erreichen so ein Analyseergebnis, welches ein Maximum an Sicherheit liefert.

Umfassende codebasierte Web Application Security
Wir beraten Sie umfassend, wie Sie den mächtigsten Ansatz zur Herstellung von sicheren Webanwendungen, die codebasierte und toolgestützte Sourcecodeanalyse, für sich nutzbar machen. Dabei betrachten wir u.a.

  • Abgrenzung zu bzw. Einbindung von anderen Maßnahmen der Web Application Security
  • Integrationsmöglichkeiten in den Software Development Lifecycle (SDLC)
  • Auswirkungen auf Releaseprozesse
  • Verbesserung anderer Merkmale der Softwarequalität
  • Verbesserung des Skill-Levels der Entwickler in Sachen Entwicklung sicherer Webanwendungen

Sourcecodeanalyse vs. Penetrationstest

Automatische Sourcecodeanalyse und Penetrationstests haben beide ihre Stärken – auf den richtigen Einsatz kommt es an! Hier einige Merkmale dieser Ansätze:

Automatische Sourcecodeanalyse

  • Systematischer, umfassender Ansatz
  • Die Beschreibung der gefundenen Schwachstellen und die Maßnahmenempfehlungen sind in der Sprache des Entwicklers
  • Abdeckung der Analyse ist nachvollziehbar, zumeist Vollabdeckung
  • Liefert Aussagen bereits während der Entwicklung
  • Komponententests sind möglich
  • Leistet einen effektiven Beitrag zur Schulung der Entwickler
  • Sicherheitswissen wird Teil des Projektes bzw. der ganzen Organisation, nicht einzelner Personen
  • Findet Schwachstellen, die ein Penetrationstest nicht auffinden kann

Penetrationstest/Externe Analyse

  • Bezieht das Gesamtsystem (Webserver etc.) in die Untersuchung mit ein
  • Leichte Durchführbarkeit
  • Findet Schwachstellen, die eine Sourcecodeanalyse nicht oder nicht sicher auffinden kann