Code-Review-Service
Bei einem Code-Review überprüft ein neutraler, unabhängiger Experte systematisch die Code-Basis Ihrer Bestandsanwendungen auf Schwachstellen und Sicherheitsrisiken. Wir evaluieren den Code mittels verschiedener Security-Verfahren (z. B. Vulnerability Scans und Threat-Modeling) und können ihn basierend auf den Ergebnissen ausbessern (z. B. Security-Fixes und Code Refactoring).
Quellcode analysieren, Gefährdungslage aufdecken
Gerade Legacy-Code, also Code, der historisch gewachsen ist und im Laufe der Zeit von vielen Entwicklern weiterentwickelt wurde, enthält in der Regel viele verdeckte Bugs und komplexe, kaum zu überblickende Code-Strukturen. Das führt dazu, dass der Code nicht mehr gewartet, gepflegt und weiterentwickelt werden kann. Es ist nur noch schwer nachvollziehbar, wo sich der Code an welchen Stellen wie auswirkt: eine Brutstätte für Performance-Probleme und Sicherheitslücken.
Durch unseren Code-Review-Service identifizieren wir Sicherheitsrisiken und Sie erhalten einen Überblick über die aktuelle Gefährdungslage ausgehend von Ihrem bestehenden Code – der erste Schritt zu langfristig sicheren Anwendungen.
Warum sind unabhängige Experten beim Code-Review so wichtig?
Durch automatisierte Tests kann der Code auf Schwachstellen getestet werden. Häufig fehlt es unserer Erfahrung nach in Unternehmen aber an entsprechendem Know-how, um die Ergebnisse zu interpretieren und nachhaltige Handlungsempfehlungen abzuleiten.
Zudem sind automatisierte Tests oft nicht in der Lage, Sicherheitslücken miteinander zu kombinieren und so große, gefährliche Schwachstellen zu identifizieren (Threat-Modeling). Nichts kann hier den geschulten Blick eines unabhängigen Security-Experten mit langjähriger Erfahrung ersetzen, der auch kleine Unstimmigkeiten an unterschiedlichen Stellen im Code in Zusammenhang bringen kann.
Vorteile des Code-Review-Services
- Überblick über die aktuelle Gefährdungslage ausgehend von Ihrem Bestandscode
- Prüfung durch ein unabhängiges Expertenteam
- Aufdeckung von Optimierungspotenzialen
- Identifikation möglicher Schwachstellen und Sicherheitslücken
- Auflistung klarer Handlungsempfehlungen
- Einsparung von Lizenzkosten für Security-Prüfungstools
Best-Practices: Code-Reviews als erster Schritt
- Vor-Ort-Termin mit relevanten Stakeholdern
- Austausch über aktuelle Problemstellen
- Befragung der Entwickler und User
- Anfragen der kritischen Code-Stellen (Passwortabfragen, Nutzerdaten-Verarbeitung)
- Rückschlüsse auf Sicherheitslücken
- Prüfung durch Vulnerability-Scans mittels SAST-Tools
- Analyse und Bewertung der Ergebnisse
- Ableitung eines priorisierten Maßnahmenkataloges mit Handlungsempfehlungen
- Sammlung der gefundenen Schwachstellen und Sicherheitslücken
- Aufbau eines Threat-Models auf basierend auf In- und Outflow von Daten, Datenverarbeitungen und fehlenden Validierungen
- Verknüpfung aller Punkte zur möglichen Angriffssimulation
- Vorstellung des individuellen Threat-Models
- Ansätze und Empfehlungen zur Behebung der Schwachstellen und Eliminierung der Threat-Models
- Priorisierung der Handlungsempfehlungen und Gewichtung der Schwachstellen als Basis für die nächsten Schritte
- Vorstellung eines ganzheitlichen Sicherheitskonzepts für den unternehmensspezifischen Anwendungsfall ( Sicherheits- und Compliance-Richtlinien, Architekturkonzeption, DevSecOps-Prozess etc.)
- Ansätze für die Umsetzung der Handlungsempfehlungen, bei denen wir im Rahmen eines Folgeprojekts unterstützen können
Vulnerability-Scans mit SAST-Tools
Mittels Vulnerability-Scans, auch Static Application Security Tests (SAST) genannt, prüfen wir den Code mithilfe verschiedener Tools und analysieren und bewerten im Anschluss die Ergebnisse. Daraus leiten wir einen priorisierten Maßnahmenkatalog mit Handlungsempfehlungen ab.
Threat-Modeling
Das Threat-Modeling ist ein bewährtes Konzept mit einer hohen Kosten-Nutzen-Ratio. Dabei analysieren wir den Code auf potenzielle Angriffsflächen mit dem Ziel, Sicherheitsmaßnahmen abzuleiten. Das von uns erstellte Bedrohungsmodell kann im Anschluss von den Entwicklerteams mitigiert werden.
Sicherheitsrisiken in Anwendungen minimieren
Fast jeder ist betroffen: Bei einer in 2021 durchgeführten Studie der Non-Profit-Organisation Open Worldwide Application Security Project (OWASP) wurde in 94% der getesteten Webapplikationen entweder eine Form von Broken-Access-Control oder eine Anfälligkeit für Injection festgestellt.
Die „Top 10 der größten Sicherheitsrisiken“ von OWASP stellt eine umfassende Übersicht über die kritischsten Sicherheitsrisiken für Webanwendungen dar. Die Berücksichtigung dieser Top 10 kann als wirksamer erster Schritt angesehen werden, um eine Kultur für Software-Entwicklung zu schaffen, die sicheren Code produziert und die Risiken von Webanwendungen so weit wie möglich minimiert.
Ihr Partner für ein erfolgreiches Code-Review
Wir implementieren seit vielen Jahren Individualsoftware auf Basis von DevSecOps mit Fokus auf eine langfristig sichere Bereitstellung der Anwendungen.
Was unterscheidet uns hier von anderen? Bei uns profitieren Sie von Entwicklern vor Ort in Deutschland mit langjähriger Erfahrung, die sich nicht blind auf Security-Tools verlassen und das erkennen, was diese Tools oft übersehen. Bei Objektkultur erhalten Sie eine ausführliche Analyse Ihres Codes sowie eine erste Priorisierung der Handlungsempfehlungen.
Die 10 größten Sicherheitsrisiken für Webanwendungen
gemäß der OWASP-Top-10, die in einem Code-Review analysiert werden:
- Broken access control: Unkontrollierte Zugänge zu Anwendungen, lückenhaftes Zugriffs- und Identitätsmanagement
- Cryptographic failures: Fehlende HTTP-Sicherheitsheader, Zertifikatsprobleme oder der Einsatz schwacher kryptografischer Algorithmen
- Injection: SQL-, XML- oder Code-Injection, Cross-site Scripting (XSS), ungeprüfte Datenverarbeitung
- Insecure design: Fehlende Implementierung von Sicherheitsmechanismen, keine oder unzureichende Passwortrichtlinien
- Security misconfiguration: Falsch konfigurierte Berechtigungen für Cloud-Dienste, Verwendung falscher Sicherheitsparameter oder Aktivierung unnötiger Funktionen
- Vulnerable and outdated components: Nicht-aktualisierte Anwendungen und Komponenten und Abhängigkeiten zu veralteten oder unsicheren Programmbibliotheken
- Identification and authentication failures: Nicht-authentifizierte Benutzeridentitäten, Speicherung von schwach gehashten oder Klartext-Passwörtern
- Software and data integrity failures: Automatisiertes Einspielen von Software-Updates ohne vorherige Prüfung, unentdeckte Veränderung und fehlende Integritätsprüfung von Daten
- Security logging and monitoring failures: keine Nachverfolgung von fehlgeschlagenen Anmeldeversuchen oder keine Überwachung von API-Schnittstellen auf verdächtige Aktivitäten
- Server-side request forgery (SSRF): Abrufen von Remote-Quellen ohne Zielüberprüfung
Projektvorgehen mit Changemanagement
Operation- & Changemanagement
Trust
Durch unsere transparente, verantwortungsbewusste und proaktive Arbeitsweise schaffen wir Vertrauen bei unseren Kunden.
Digitalize
Wir entwickeln und implementieren gemeinsam mit unseren Kunden moderne und nachhaltige Software-Lösungen.
Succeed
Gemeinsam mit unseren Kunden erarbeiten wir Visionen, die zu Erfolgsgeschichten werden.
Learn
Informieren Sie sich zu aktuellen Technologien und Projekt-Insights auf unserem Blog oder in unseren Experten-Webcasts.