Freigeben über


Logotest-Übersicht für CodeQL und statische Analysetools

Wie CodeQL hilft, die Angriffsfläche für Windows zu reduzieren, indem Sie sicherstellen, dass Treiber von Drittanbietern starke Sicherheitsstandards erfüllen. In diesem Artikel werden die Vorteile der Verwendung von CodeQL für die WHCP-Compliance erläutert.

Ein Schritt beim Festlegen dieser Sicherheitsleiste ist die Anforderung an das Windows-Hardwarekompatibilitätsprogramm (WHCP), das angibt, dass alle Treiberübermittlungen das CodeQL-Modul im Treiberquellcode verwenden und alle Verstöße beheben müssen, die als "Must-Fix" gelten.

Grundlegendes zu CodeQL-Konzepten

CodeQL ist ein statisches Analysemodul, das von Entwicklern verwendet wird, um Sicherheitsanalysen für Code außerhalb einer Liveumgebung durchzuführen.

CodeQL nimmt Code während der Kompilierung ein und erstellt eine Datenbank daraus. Die Datenbank wird zu einem Verzeichnis, das abfragbare Daten, einen Quellverweis und Protokolldateien enthält. Sobald die Datenbank erstellt wurde, kann eine Analyse darauf ausgeführt werden, indem CodeQL-Abfragen (auch als Überprüfungen oder Regeln bezeichnet) verwendet werden, die bestimmen, ob der Quellcode Verstöße oder Sicherheitsrisiken enthält.

CodeQL stellt eine Bibliothek mit Standardabfragen bereit, die auf die Korrektheit und Semantik der Sprache überprüft und Entwicklern großen Nutzen bietet, die sicherstellen möchten, dass ihr Code frei von Fehlern und Sicherheitsrisiken ist.

CodeQL bietet auch die Möglichkeit, benutzerdefinierte Abfragen zu erstellen.

Weitere Informationen zum Schreiben von benutzerdefinierten Abfragen finden Sie in der CodeQL-Dokumentation zum Schreiben von Abfragen .

CodeQL stellt außerdem ein CodeQL-Befehlszeilentool (CLI) bereit, um CodeQL-Aktionen oder umfangreiche Analysen auszuführen.

Weitere CodeQL CLI-Dokumentation finden Sie unter CodeQL Getting Started.

So verbessert CodeQL die Treibersicherheit

CodeQL, von GitHub, ist ein leistungsstarkes Semantikcodeanalysemodul und die Kombination einer umfangreichen Suite von hochwertigen Sicherheitsabfragen zusammen mit einer robusten Plattform macht es zu einem unschätzbaren Tool zum Sichern von Treibercode.

Die Verwendung von CodeQL für WHCP-Tests ist im Rahmen des Hardware Lab Kit (HLK) -Lizenzvertrags zulässig.

Für WHCP-Teilnehmer überschreibt die EULA des HLK die CodeQL-Geschäftsbedingungen von GitHub, indem angegeben wird, dass CodeQL während der automatisierten Analyse, CI oder CD als Teil normaler Engineering-Prozesse verwendet werden kann , um Treiber zu analysieren, die als Teil des WHCP übermittelt und zertifiziert werden.

Der Logotest für statische Tools erzwingt diese Anforderung, um den Treiberquellcode zu analysieren und alle *Must-Fix-Verletzungen zu beheben.

Von Bedeutung

Das Windows-Hardwarekompatibilitätsprogramm erfordert CodeQL für STL-Tests (Static Tool Logo) auf unseren Client- und Serverbetriebssystemen. Wir werden die Unterstützung für SDV und CA bei älteren Produkten weiterhin aufrechterhalten. Wir empfehlen Partnern dringend, die CodeQL-Anforderungen für den Logotest für statische Tools zu überprüfen.

HLK EULA und CodeQL

Die Verwendung von CodeQL für den Zweck der Zertifizierung für das Windows-Hardwarekompatibilitätsprogramm ist im Rahmen des Hardware Lab Kit (HLK) -Lizenzvertrags zulässig.

Für WHCP-Teilnehmer überschreibt die EULA des HLK die CodeQL-Geschäftsbedingungen von GitHub, sodass CodeQL während der automatisierten Analyse, CI oder CD als Teil normaler Engineering-Prozesse verwendet werden kann, um treiber zu analysieren, die für die WHCP-Zertifizierung übermittelt wurden.

Für diejenigen, die für die allgemeine Verwendung folgen, lesen Sie die GitHub CodeQL-Geschäftsbedingungen und/oder wenden Sie sich an CodeQL.