| Application Security
Audit / Review
Positionierung: Ganzheitliche
Sicherheitsüberprüfung einer Applikation unter
Berücksichtigung technischer und/oder organisatorischer Aspekte.
Der grösste Teil der heute ausnutzbaren Sicherheitslücken
basiert auf Fehlern oder Schwachstellen von Programmen. Eine Software
kann nur dann als (relativ) sicher gelten, wenn bereits in der Designphase, während der Entwicklung und während des Betriebs die avisierten Sicherheitsaspekte
berücksichtigt wurden/werden.
Typische Applikationsbeispiele, welche mittels Application Security Audits überprüft werden
- Datenbanken
- Web-Applikationen (eCommerce-Lösungen wie Online-Shops oder Online-Banking-Plattformen)
- verteilte Applikationen (Multi Tier Applikationen mit verteiltem Presentation-, Business- und Database-Layer)
- etc.
Empfehlung
Bei einem Application Security Audit überprüfen
unsere Sicherheitsexperten das Sicherheitsniveau einer Applikation
aus ganzheitlicher Sicht. Dabei kann eine Applikation grundsätzlich
höchstens so sicher sein, wie das Umfeld, in welchem sie betrieben
wird. Aus diesem Grund empfehlen wir die vorgängige Durchführung
eines Penetration Tests
mit Untersuchungsobjekt der eng mit der eigentlichen Applikation
interagierenden Systemkomponenten wie:
- Betriebssysteme (Client, Server und zwischen
den Komponenten geschaltete Netzwerkkomponenten)
- Webserver
- Datenbanken
- etc.
Ablauf
Abhängig vom Auftrag kann der Ablauf beispielsweise
wie folgt aussehen:
- Review der Dokumentation und der Kontrollprozesse
- Vergleich der laut Dokumentation definierten
und der tatsächlich implementierten Funktionalität
- automatisierter und manueller Review des
Quellcodes
- Angriffe auf Client- und Server-Komponenten
mit der Absicht, Vertraulichkeit, Verfügbarkeit, Integrität
und Verbindlichkeit der Daten und Dienste zu tangieren
Unsere Sicherheitsexperten kennen
das Vorgehen versierter und weniger versierter potentieller Angreifer
und wenden die selben Angriffsmethoden und Tools an, um die Sicherheit
der Systeme des Kunden zu testen, z.B.:
- Stack- und Heap Corruption
- Input- und Logfile Poisoning
- Network Sniffing / Man in the middle
- API Monitoring
- Reverse Engineering / Debugging / Decompilation
- Client Bypassing
- Social Engineering
- Profiling Detection Evasion
- Session Analysis/Manipulation
- Hijacking
- Phishing / DNS Hijacking
- Input Validation/Manipulation
- SQL/Script Injection
- Spoofing
- Identity Stealing
- Iframe
- XSS Cross Side Scripting
- Webbugs
Es ist nicht immer möglich, sämtliche detektierten
Sicherheitslücken zu schliessen. Dies gilt insbesondere dann,
wenn ihr Ursprung im Design liegt oder auf verwundbaren Systemaufrufen
oder -diensten basiert.
Kundennutzen
- Detektierte Sicherheitslücken und
potentielle Schwachstellen werden dem Ansprechpartner (falls gewünscht)
umgehend mit einem Lösungsvorschlag gemeldet. Dieses Vorgehen
eignet sich zur iterativen Applikationshärtung.
- Wir werden dem Produkt keinen «diese
Applikation ist sicher» - Stempel aufdrücken, da grundsätzlich
keine 100% sichere Software existiert. Es ist aber möglich,
ein Softwareprodukt so zu gestalten, dass für einen potentiellen
Angreifer das Verhältnis von Aufwand und Ertrag nicht mehr
stimmt – ein Ansatz wie er beispielsweise auch in der Kryptographie
praktiziert wird.
- Der Auftraggeber erhält einen umfassenden
und umfangreichen Schlussbericht inkl. Auflistung und Bewertung
der verbleibenden Risiken und passender Gegenmassnahmenvorschläge.
Somit kann proaktives Risk Management betrieben werden.
Haben wir Ihr Interesse geweckt? Gerne beantworten
wir Ihre Fragen in einem unverbindlichen Gespräch oder senden
Ihnen weitere Informationen. Wie Sie uns erreichen können,
erfahren Sie hier. Unsere Mitarbeiter referieren und schreiben
regelmässig über Application Security.
Die zugehörigen Präsentationen und die in der Fachpresse
publizierten Artikel finden sich hier.
Weiterführende Informationen
|