Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
DECAF — DECAF (kurz für Dynamic Executable Code Analysis Framework) ist eine auf QEMU basierende binäre Analyseplattform. Dies ist auch die Heimat der DroidScope dynamischen Android-Malware-Analyseplattform. DroidScope ist jetzt eine Erweiterung von DECAF. | Kitploit
Tools/GitHubGitHub/decaf-project/decaf
Android-SicherheitDynamische Analyse (Sandboxing)Reverse EngineeringMalware-AnalyseBinäranalyse
GitHubdecaf-project/decaf

DECAF

DECAF (kurz für Dynamic Executable Code Analysis Framework) ist eine auf QEMU basierende binäre Analyseplattform. Dies ist auch die Heimat der DroidScope dynamischen Android-Malware-Analyseplattform. DroidScope ist jetzt eine Erweiterung von DECAF.

Repository anzeigen
8371677vor 5 JahrenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

Build Status

DECAF

DECAF (kurz für Dynamic Executable Code Analysis Framework) ist eine Binäranalyseplattform basierend auf QEMU.

DECAF++

DECAF++, die neue Version von DECAF, ist mit einer Taint-Analyse, die etwa 2x schneller ist, nach bestem Wissen das schnellste dynamische Taint-Analyse-Framework für das gesamte System. Dies führt zu einer viel besseren Benutzerfreundlichkeit mit nur 4% Overhead (SPEC CPU2006), wenn kein verdächtiger (getainteter) Input vorhanden ist. Selbst bei hohen Taint-Analyse-Workloads bietet DECAF++ aufgrund seiner Elastizität eine viel bessere Leistung, etwa 25% schneller bei nbench. Die Elastizität von DECAF++ macht es zu einem sehr geeigneten Fall für Sicherheitsanalyseaufgaben, die den Input selektiv analysieren würden, z. B. Intrusion Detection Systems (IDS), die benignen Datenverkehr herausfiltern können. Für weitere technische Details siehe unser RAID 2019 Paper. Um die Optimierungen zu aktivieren, siehe unsere DECAF++ Wiki Seite.

PUBLIKATIONEN

  1. Ali Davanian, Zhenxiao Qi, Yu Qu, and Heng Yin, DECAF++: Elastic Whole-System Dynamic Taint Analysis, In the 22nd International Symposium on Research in Attacks, Intrusions and Defenses (RAID), September 2019. (Wenn Sie die neue optimierte Version von DECAF zitieren möchten, zitieren Sie bitte dieses Paper)

  2. "Make it work, make it right, make it fast: building a platform-neutral whole-system dynamic binary analysis platform", Andrew Henderson, Aravind Prakash, Lok Kwong Yan, Xunchao Hu, Xujiewen Wang, Rundong Zhou, and Heng Yin, to appear in the International Symposium on Software Testing and Analysis (ISSTA'14), San Jose, CA, July 2014.(Wenn Sie DECAF zitieren möchten, zitieren Sie bitte dieses Paper)

  3. Lok Kwong Yan, Andrew Henderson, Xunchao Hu, Heng Yin, and Stephen McCamant?.On soundness and precision of dynamic taint analysis. Technical Report SYR-EECS-2014-04, Syracuse University, January 2014.

  4. DroidScope: Seamlessly Reconstructing OS and Dalvik Semantic Views for Dynamic Android Malware Analysis", Lok-Kwong Yan and Heng Yin, in the 21st USENIX Security Symposium, Bellevue, WA, August 8-10, 2012.

Ausgewählte akademische Systeme, die DECAF verwenden

  1. Luo, L., Fu, Y., Wu, D., Zhu, S., & Liu, P. (2016, June). Repackage-proofing android apps. In 2016 46th Annual IEEE/IFIP International Conference on Dependable Systems and Networks (DSN) (pp. 550-561). IEEE.

  2. Wei, J., Yan, L. K., & Hakim, M. A. (2015, December). Mose: Live migration based on-the-fly software emulation. In Proceedings of the 31st Annual Computer Security Applications Conference (ACSAC) (pp. 221-230).

  3. Carmony, C., Hu, X., Yin, H., Bhaskar, A.V., & Zhang, M. (2016). Extract Me If You Can: Abusing PDF Parsers in Malware Detectors. In Proceedings of 2016 Network and Distributed System Security Symposium (NDSS).

  4. Feng, Q., Prakash, A., Yin, H., & Lin, Z. (2014, December). Mace: High-coverage and robust memory analysis for commodity operating systems. In Proceedings of the 30th annual computer security applications conference (pp. 196-205)

  5. Alwabel, A., Shi, H., Bartlett, G., & Mirkovic, J. (2014). Safe and automated live malware experimentation on public testbeds. In 7th Workshop on Cyber Security Experimentation and Test (CSET'14).

Einführung

DECAF (Dynamic Executable Code Analysis Framework) ist der Nachfolger der Binäranalysetechniken, die für TEMU (dynamische Analysekomponente von BitBlaze) im Rahmen von Heng Yin's Arbeit am BitBlaze Projekt unter der Leitung von Dawn Song entwickelt wurden. DECAF baut auf TEMU auf. Wir schätzen alle, die mit uns an diesem Projekt gearbeitet haben.

Abb. 1 Die Gesamtarchitektur von DECAF

Abb. 1 veranschaulicht die Gesamtarchitektur von DECAF. DECAF ist ein plattformunabhängiges dynamisches Binäranalyse-Framework für das gesamte System. Es bietet die folgenden Schlüsselfunktionen.

Right-on-Time Virtual Machine Introspection

Im Gegensatz zu TEMU verwendet DECAF keinen Guest-Treiber, um OS-Level-Semantiken abzurufen. Die VMI-Komponente von DECAF ist in der Lage, eine frische OS-Level-Ansicht der virtuellen Maschine zu rekonstruieren, einschließlich Prozessen, Threads, Code-Modulen und Symbolen zur Unterstützung der Binäranalyse. Weiterhin folgt sie einem plattformunabhängigen Design, um mehrere Architekturen und Betriebssysteme zu unterstützen. Der Arbeitsablauf zur Extraktion von OS-Level-Semantikinformationen ist über mehrere Architekturen und Betriebssysteme hinweg gemeinsam. Die einzige plattformspezifische Behandlung liegt darin, aus welchen Kernel-Datenstrukturen und welchen Feldern Informationen extrahiert werden.

Unterstützung für mehrere Plattformen

Idealerweise möchten wir denselben Analysecode (mit minimalem plattformspezifischem Code) für verschiedene CPU-Architekturen (z. B. x86 und ARM) und verschiedene Betriebssysteme (z. B. Windows und Linux) nutzen. Dies erfordert, dass das Analyseframework die architektur- und betriebssystemspezifischen Details vor den Analyse-Plugins verbirgt. Weiterhin sollte der plattformspezifische Code innerhalb des Frameworks minimiert werden, um das Analyseframework selbst wartbar und erweiterbar auf neue Architekturen und Betriebssysteme zu machen. DECAF kann sowohl mehrere Architekturen als auch mehrere Betriebssysteme unterstützen. Derzeit unterstützt DECAF 32-Bit Windows XP/Windows 7/Linux und X86/ARM.

Präzises und verlustfreies Tainting

DECAF gewährleistet präzises Tainting, indem es Bit-genaue Präzision für CPU-Register und Speicher beibehält und präzise Tainting-Regeln in die übersetzten Codeblöcke einbettet. Dadurch wird der Taint-Status für jedes CPU-Register und jede Speicherstelle synchron während der Codeausführung der virtuellen Maschine verarbeitet und aktualisiert. Die Propagation von Taint-Labels erfolgt asynchron. Durch die Implementierung einer solchen Tainting-Logik hauptsächlich auf der Ebene der Zwischendarstellung (konkreter: TCG-IR-Ebene) wird es einfach, die Tainting-Unterstützung auf eine neue CPU-Architektur auszudehnen.

Ereignisgesteuerte Programmierschnittstellen

DECAF bietet eine ereignisgesteuerte Programmierschnittstelle. Das bedeutet, dass das Paradigma „Instrumentieren in der Übersetzungsphase und dann Analysieren in der Ausführungsphase“ für die Analyse-Plugins unsichtbar ist. Die Analyse-Plugins müssen sich lediglich für interessierende Ereignisse registrieren und entsprechende Ereignisbehandlungsfunktionen implementieren. Die Details der Code-Instrumentierung werden vom Framework übernommen.

Dynamisches Instrumentierungsmanagement

Um den Laufzeit-Overhead zu reduzieren, wird der Instrumentierungscode nur dann in den übersetzten Code eingefügt, wenn er benötigt wird. Wenn beispielsweise ein Plugin einen Funktions-Hook am Einstiegspunkt einer Funktion registriert, wird der Instrumentierungscode für diesen Hook nur am Funktionseinstiegspunkt platziert. Wenn das Plugin diesen Funktions-Hook deregistriert, wird der Instrumentierungscode entsprechend aus dem übersetzten Code entfernt. Um die Entwicklung von Plugins zu erleichtern, wird das Management der dynamischen Code-Instrumentierung vollständig vom Framework übernommen und ist somit für die Plugins unsichtbar.

Hilfedokumente

Bitte beziehen Sie sich auf unsere Wiki-Seite für Hilfedokumente.

Tool herunterladen