Bis vor kurzem haben wir in unseren Artikeln PVS-Studio als Werkzeug zur Erkennung von Codefehlern positioniert. Gleichzeitig haben wir PVS-Studio im Sicherheitskontext fast nicht berücksichtigt. Lassen Sie uns versuchen, diese Situation ein wenig zu beheben und das Tool im Hinblick auf das Testen der Anwendungssicherheit und der DevSecOps-Praktiken zu betrachten.
PVS-Studio ist ein Tool für statische Anwendungssicherheitstests (Static Application Security Testing, SAST). Mit anderen Worten, der PVS-Studio-Analysator erkennt nicht nur Tippfehler, toten Code und andere Fehler, sondern auch potenzielle Schwachstellen.
Das Tool läuft unter Windows, Linux, macOS und analysiert den Programmcode in C, C ++ und C #. Bis Ende 2018 ist die Unterstützung der Java-Sprache geplant.
Für Spezialisten, die PVS-Studio als SAST-Tool verwenden, zeigt der Analysator seine Warnungen zu
Common Weakness Enumeration und
SEI CERT Coding Standards an und unterstützt auch den
MISRA- Standard (derzeit in Implementierung).
Konformitätstabellen der PVS-Studio-
Diagnose zu verschiedenen Standards:
- CWE-Konformität
- Compliance SEI CERT
- MISRA-Unterstützung (wir planen, sie vor Ende 2018 umzusetzen)
Die häufigste Klassifizierung von SAST-Tool-Warnungen ist Common Weakness Enumeration (CWE). Mal sehen, ich verwende die CWE-Sprache, da der PVS-Studio-Analysator dabei hilft, Schwachstellen zu vermeiden.
Wenn wir uns der Datenbank bekannter Sicherheitslücken in Bezug auf Informationssicherheit (
CVE ) zuwenden, stellt sich heraus, dass die Ursache für Sicherheitslücken in Programmen häufig nicht einige Sicherheitslücken sind, sondern gewöhnliche Softwarefehler. Das Nationale Institut für Standards und Technologie (NIST) bestätigt dies mit der Feststellung, dass 64% der Software-Schwachstellen auf Codefehler zurückzuführen sind.
Es sind solche Fehler, die möglicherweise zu Schwachstellen führen können, die in CWE beschrieben werden. Wenn der Fehler als CWE klassifiziert werden kann, besteht daher die Möglichkeit, dass er als Sicherheitsanfälligkeit ausgenutzt wird und schließlich die CVE-Liste ausfüllt. Zur Verdeutlichung können Sie das Bild des Trichters verwenden:
Es gibt viele Fehler. Einige von ihnen sind aus Sicherheitsgründen gefährlich und werden daher nach CWE eingestuft. Einige CWE-Fehler können ausgenutzt werden und sind Schwachstellen.
Ja, in der Praxis ist nur ein sehr kleiner Teil der gefundenen CWE-Fehler gefährlich und anfällig. Wenn Sie jedoch sicherheitskritische Anwendungen entwickeln und sich um die Sicherheit der Benutzer kümmern, sollten Sie diese Fehler sehr ernst nehmen. Durch die Beseitigung von CWE-Fehlern schützen Sie Ihre Anwendung vor vielen Sicherheitslücken.
Nun wird der Zusammenhang zwischen Fehlern, PVS-Studio und Schwachstellen deutlich. PVS-Studio Analyzer findet Fehler und klassifiziert viele von ihnen als CWE. Indem Sie diese Fehler korrigieren, machen Sie Ihre Anwendung zuverlässiger. Das Auffinden einer Sicherheitsanfälligkeit in einem Produkt kann dessen Ruf ernsthaft beeinträchtigen. Durch die Korrektur von Analysatorfehlern reduzieren Sie dieses Risiko in der frühesten Entwicklungsphase erheblich - beim Schreiben von Code.
PVS-Studio Analyzer garantiert wie jedes andere Tool nicht, dass der Code keine Schwachstellen enthält. Wenn PVS-Studio jedoch beispielsweise 50% der potenziellen Sicherheitslücken verhindert, ist dies bereits wunderbar.
Darüber hinaus empfehlen wir Ihnen, den Artikel „
Wie kann PVS-Studio beim Auffinden von Schwachstellen helfen? “ Zu lesen, in dem Fehler aufgeführt sind, die zu Schwachstellen geführt haben, die hätten vermieden werden können, wenn das PVS-Studio-Tool im Entwicklungsprozess verwendet worden wäre.
Starten Sie die Verwendung von PVS-Studio als SAST-Lösung:
Laden Sie PVS-Studio herunter .