Schon seit einigen Jahren arbeitet Facebook nach eigenen Angaben an dem Werkzeug Zoncolan, welches das Soziale Netzwerk für die statischen Code-Analyse benutzt. Das Entwickerteam hat jetzt öffentlich Details des Projekts im Engineering-Blog von Facebook vorgestellt. Dabei beeindruckt ist vor allem die Leistungsfähigkeit von Zoncolan.
Das Tool schafft es, den gesamten Code von Facebook, der etwa 100 Millionen Codezeilen umfasst, in nur 30 Minuten komplett durchzuchecken.
Bei der Vorstellung hebt das Team diese massive Skalierbarkeit besonders hervor, unterstreicht aber auch, dass mit diesem Vorgehen natürlich nicht alle Fehler gefunden werden könnten, sondern nur bestimmte Klassen von Fehlern. Trotzdem habe der Einsatz von Zoncolan schon Tausende potenzieller Sicherheitslücken aufgespürt.
Wie Zoncolan funktioniert
Die Zoncolan-Software arbeitet als Parser für den Code und erstellt dabei eine Repräsentation des Control-Flow-Graphs des Codes und dazu einen Call Graph, also eine Aufzeichnung des Verhaltens der Funktionen und deren Interaktionen untereinander.
Zoncolan nutzt dann diese Abstraktion, um darüber den Verlauf von Eingabedaten nachzuverfolgen, wobei der Ablauf mit einem großen Regelwerk verglichen wird. Wenn Zoncolan auf eine der hinterlegten Regeln anschlägt, überprüfen Entwickler aus dem Security-Team den Teil des Codes.
Facebook bezeichnet das Tool als einen inzwischen integralen Bestandteil seiner Entwicklungsarbeit.