Microsoft Application Inspector-Quellcodeanalyse

Bild

Microsoft hat den Microsoft Application Inspector veröffentlicht, ein plattformübergreifendes Open Source (!) Tool zur Analyse von Quellcode.


Application Inspector unterscheidet sich von herkömmlichen statischen Analysetools dadurch, dass es nicht versucht, „gute“ oder „schlechte“ Muster zu identifizieren. Er wird mitteilen, dass er basierend auf dem ursprünglichen Satz von mehr als 500 Regelvorlagen zum Erkennen von Funktionen, einschließlich sicherheitsrelevanter Funktionen wie der Verwendung von Kryptografie usw., erkennt.


Das Hauptziel von Application Inspector ist die systematische und skalierbare Identifizierung von Quellcodefunktionen, die in anderen typischen statischen Analysegeräten nicht vorhanden sind. Auf diese Weise können Entwickler und Sicherheitsexperten die beabsichtigten Ziele der Komponenten überprüfen, beispielsweise, dass die verwendete Bibliothek nur das tut, was darin deklariert ist.


Moderne Anwendungen sind in hohem Maße auf Software angewiesen, die außerhalb Ihres Unternehmens geschrieben wurde und Risiken birgt. Application Inspector kann Ihnen helfen, interessante Merkmale der Anwendung zu ermitteln, indem Sie den Quellcode untersuchen. Dies spart im Vergleich zur "manuellen" Analyse erheblich Zeit.


Die Anwendung ist ein Client-Tool, das auf .NET Core basiert. Sie funktioniert unter Windows, Linux oder MacOS und erfordert keine erhöhten Berechtigungen sowie eine lokale Datenbank, Netzwerkkommunikation oder Telemetrie. Verwenden Sie zum Starten einfach die Standardbefehlszeile von dotnet, um beispielsweise dotnet ApplicationInspector.dll aufzurufen, wenn Sie Linux oder macOS oder Windows AppInspector.exe ausführen.


> dotnet AppInspector.dll or on *Windows* simply AppInspector.exe <command> <options> Microsoft Application Inspector 1.0.17 ApplicationInspector 1.0.17 (c) Microsoft Corporation. All rights reserved ERROR(S): No verb selected. analyze Inspect source directory/file/compressed file (.tgz|zip) against defined characteristics tagdiff Compares unique tag values between two source paths tagtest Test presence of smaller set or custom tags in source (compare or verify modes) exporttags Export default unique rule tags to view what features may be detected verifyrules Verify rules syntax is valid help Display more information on a specific command version Display version information 

Sie können nach Bedarf Standardregeln oder -muster hinzufügen, bearbeiten oder löschen. Sie können auch eigene Regeln zu einem separaten Pfad zum Standardsatz hinzufügen und den Standardsatz speichern oder mithilfe von Befehlszeilenoptionen ausschließen.


Prüf- und Anwendungsgebiete:


  • Kontrollfluss: Dynamische Codeausführung, Prozessmanagement.
  • Kryptographie: Verschlüsselung, Hashing, Geheimnisse, Randomisierung.
  • Betriebssystemvorgänge: Dateisystem, Umgebungsvariablen, Netzwerkvorgänge, Benutzerkonten, Windows-Registrierung.
  • Daten: JSON / XML, Geheimnisse / Zugriffsschlüssel, vertrauliche personenbezogene Daten, SQL / ORM.
  • Datenverarbeitung: Objekt-Serialisierung (XML / JSON), Flash, PDF, Silverlight, Verwendung oder Analyse von Audio- / Videomedien, Bluetooth, Mobilfunk, RPC.
  • Frameworks: Entwicklung, Testen, Abhängigkeiten.

Standardmäßig generiert der Anwendungsinspektor einen HTML-basierten Bericht, um die gefundenen Funktionen, eine Projektzusammenfassung und Metadaten zu veranschaulichen. JSON- und TEXT-Ausgabeformatoptionen werden ebenfalls unterstützt.


Bild


GitHub-Projektseite .

Source: https://habr.com/ru/post/de484800/


All Articles