Sichere Web-Apps

Zehn Tipps für den Code Review

15.02.2013
Von Dr. Bruce Sams

Code Review - Tipp 6 bis 10

6. Reviews besser in Intervallen oder kontinuierlich?

Ob ein Code Review kontinuierlich, zum Beispiel im Rahmen eines Nightly Build, oder nur zu bestimmten Zeitpunkten (monatlich oder zu bestimmten Meilensteinen) vorgenommen werden soll, ist eine grundlegende strategische Entscheidung. Der Großteil der Herstellerliteratur bevorzugt eine kontinuierliche Strategie, aber dies muss nicht unbedingt besser sein. Praktische Erfahrung zeigt, dass es oft effektiver ist, Code Reviews in bestimmten Intervallen zu planen, die Ergebnisse dann zu sortieren und auf False Positives zu untersuchen, bevor die Entwickler mit Korrekturmaßnahmen beauftragt werden. Dies hat viele Vorteile, nicht zuletzt eine geringere Belastung der Entwickler. Das passende Intervall hängt von der Größe und Komplexität des jeweiligen Projekts ab. Es sollte jedoch mindestens zwei Reviews geben, je eines im ersten und im letzten Drittel der Entwicklung.

7. Code Review oder Penetrationstest?

Was ist besser - ein Code Review oder ein Penetrationstest? Diese Frage lässt sich nicht pauschal beantworten, denn beide Techniken sind komplementär und überschneiden sich. Es gibt Probleme, die nur im Penetrationstest oder nur im Code Review ans Licht kommen. Um die höchste Anwendungssicherheit zu gewährleisten, sollte man im Idealfall beide Verfahren nutzen.

8. Versteckte Kosten

Die Lizenzkosten für viele Code-Review-Tools können schnell die Hunderttausend-Euro-Grenze überschreiten. Dazu kommen die Kosten für Training, Wartung und die Aufstellung eines Teams, das in der Lage ist, einen Code Review schnell und effektiv zu unterstützen.

9. Setzen Sie auf ein unabhängiges Review-Team

Obwohl ein Tool theoretisch neutral ist, profitiert der Code Review erheblich von der Ausführung durch unabhängige Auditoren, die den Code nicht geschrieben haben. Dies gehört im Allgemeinen zur Best Practice. Es gibt einen weiteren Beweggrund für ein unabhängiges Team: Wenn Sie einen Code Review einsetzen, um PCI-DSS-Compliance zu erlangen, dann muss das Review-Team unabhängig sein. Die eigene Entwicklungsmannschaft und andere interne Experten sind das kaum.

10. Inhouse oder extern?

Kosten und Aufwand für ein komplettes internes Programm können beträchtlich sein. Deshalb ist oft die Einbindung eines externen Anbieters, der über Fachwissen, Tools und Personal verfügt, der effektivere und günstigere Weg zum Code Review. Ein externer Anbieter ist auch neutral und kann die Feinheiten komplexer Tools gut ausnutzen, um die relevanten Punkte in einer möglicherweise enormen Menge an entdeckten "Fehlern" zu finden und zu präsentieren. (ph)