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
yarasafe — SAFE-Einbettungen zum Abgleichen von Funktionen in yara | Kitploit
Tools/GitHubGitHub/lucamassarelli/yarasafe
SchwachstellenanalyseReverse EngineeringMalware-AnalyseBinäranalyseMaschinelles Lernen
GitHublucamassarelli/yarasafe

yarasafe

SAFE-Einbettungen zum Abgleichen von Funktionen in yara

Repository anzeigen
10014vor 6 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

YARASAFE - Automatische Binärfunktions-Ähnlichkeitsprüfungen mit Yara

SAFE ist ein Werkzeug, das entwickelt wurde, um Binary Functions Embeddings zu erstellen, entwickelt von Massarelli L., Di Luna G.A., Petroni F., Querzoni L. und Baldoni R. Sie können SAFE verwenden, um Ihre Funktions-Embeddings zu erstellen, die Sie in Yara-Regeln einsetzen können.

Wenn Sie interessiert sind, werfen Sie einen Blick auf unser Forschungspapier: https://arxiv.org/abs/1811.05296

Wenn Sie dies für Ihre Forschung verwenden, zitieren Sie bitte:

root@kitploit:~
@inproceedings{massarelli2018safe,
  title={SAFE: Self-Attentive Function Embeddings for Binary Similarity},
  author={Massarelli, Luca and Di Luna, Giuseppe Antonio and Petroni, Fabio and Querzoni, Leonardo and Baldoni, Roberto},
  booktitle={Proceedings of 16th Conference on Detection of Intrusions and Malware & Vulnerability Assessment (DIMVA)},
  year={2019}
}

Dies ist nicht der Code zur Reproduktion der Experimente im Papier. Wenn Sie daran interessiert sind, sehen Sie sich an: https://github.com/gadiluna/SAFE

Wenn Sie PyTorch bevorzugen, sehen Sie sich SAFEtorch an: https://github.com/facebookresearch/SAFEtorch

Einführung

Mit yarasafe können Sie einfach Signaturen für binäre Funktionen erstellen, ohne sich den Assembler-Code ansehen zu müssen! Sie müssen nur die IDA-Pro-Plugins installieren, die Sie im Ordner 'IDA Pro Plugin' dieses Repositorys finden.

Sobald Sie das Plugin installiert haben, können Sie Embeddings für die Funktionen erstellen, die Sie abgleichen möchten. Diese Embeddings können in Yara-Regeln eingefügt werden, um Funktionen mit Yara zu finden. Um leistungsstarke Regeln zu erstellen, können Sie mehrere Funktions-Embeddings mit standardmäßigen Yara-Regeln kombinieren.

In diesem Repository finden Sie das Plugin für IDA Pro und das yarasafe-Modul.

Yarasafe kann Funktionen mit mehr als 50 Anweisungen und weniger als 150 abgleichen.

Voraussetzungen

  • python3
  • radare2
  • jansson

Schnellstart

Installieren Sie zuerst das IDA-Pro-Plugin. Die Anleitung dazu finden Sie im Ordner 'ida-pro-plugin' dieses Repositorys. Anschließend können Sie unseren Docker-Container verwenden oder Yara mit dem yarasafe-Modul bauen.

Docker

Der schnellste Weg, yarasafe zu verwenden, ist die Nutzung unseres Docker-Containers.

Holen Sie sich das Image:

  • docker pull massarelli/yarasafe

Starten Sie den Docker und mounten Sie den Ordner, der die Regel und die zu analysierende Datei enthält:

  • docker run -v {FOLDER_TO_MOUNT}:/home/yarasafe/test -it massarelli/yarasafe bash

Starten Sie Yara im Docker mit Ihrer Regel!

Ubuntu

  • Klonen Sie das Repository:
root@kitploit:~
git clone https://github.com/lucamassarelli/yarasafe.git
  • Installieren Sie die Yara-Abhängigkeiten:
root@kitploit:~
sudo apt-get install automake libtool make gcc flex bison 
sudo apt-get install libjansson-dev
  • Installieren Sie radare2 auf Ihrem System:
root@kitploit:~
git clone https://github.com/radare/radare2.git
cd radare2
./sys/install.sh
  • Installieren Sie die yarasafe-Abhängigkeiten:
root@kitploit:~
cd yarasafe/python_script
pip3 install -r requirements.txt
  • Kompilieren:
root@kitploit:~
./bootstrap.sh
./configure
make
  • Exportieren Sie die Umgebungsvariable:
root@kitploit:~
export YARAPYSCRIPT={PATH_TO_YARASAFE_REPO}/python_script

MacOS

  • Klonen Sie das Repository:
root@kitploit:~
git clone https://github.com/lucamassarelli/yarasafe.git
  • Installieren Sie die Yara-Abhängigkeiten:
root@kitploit:~
brew install automake libtool flex bison 
brew install jansson
  • Installieren Sie radare2 auf Ihrem System:
root@kitploit:~
git clone https://github.com/radare/radare2.git
cd radare2
./sys/install.sh

Installieren Sie die yarasafe-Abhängigkeiten:

root@kitploit:~
cd yarasafe/python_script
pip3 install -r requirements.txt
  • Kompilieren:
root@kitploit:~
./bootstrap.sh
./configure.sh
make
  • Exportieren Sie die Umgebungsvariable:
root@kitploit:~
export YARAPYSCRIPT={PATH_TO_YARASAFE_REPO}/python_script

Testen

Im Ordner 'rules' finden Sie die Regel 'sample_safe_rule.yar'. Diese Regel sollte bei jeder PE-Datei auslösen:

root@kitploit:~
yara {PATH_TO_YARASAFE_REPO}/rules/sample_safe_rule.yar {FILES}

So schreiben Sie Ihre Regel

Um Ihre Safe-Yara-Regel zu erstellen, müssen Sie zunächst die Embeddings für Ihre Funktion erstellen. Dazu können Sie das mitgelieferte IDA-Pro-Plugin verwenden. Im Ordner 'ida-pro-plugin' finden Sie alle Informationen zur Ausführung des Plugins!

Sobald Sie die Embeddings für Ihre Funktionen haben, müssen Sie nur noch die Regel erstellen. Ein Beispiel für eine Safe-Yara-Regel ist:

root@kitploit:~
import "safe"

rule example
{
    meta:
        description = "This is just an example"
        threat_level = 3
        in_the_wild = true

    condition:
        safe.similarity("[-0.02724416,0.00640265,0.01138294,-0.07013566,0.00306808,-0.09757628,0.10414989,-0.13555837,-0.07873314,-0.00725415,-0.01418876,-0.05907412,-0.12452127,0.06237456,0.02260636,-0.06013175,0.11689295,-0.00200026,-0.03594812,0.07857288,-0.00288544,0.01148411,0.00891006,0.04702956,0.1205316,0.0079077,-0.07449158,0.00653283,0.15414064,0.13021031,0.01325423,-0.35491243,-0.00992016,-0.21460094,0.0558461,-0.07761839,-0.10909985,-0.05616508,0.01800609,0.06736821,0.00308393,0.04241242,-0.08351246,0.13501632,-0.10729794,-0.10229874,0.00066896,-0.01963937,0.05516102,-0.01612499,-0.09743191,-0.0314435,-0.01470971,-0.00125769,-0.01774654,0.2332938,0.14166495,0.16998142,-0.04843156,-0.08931472,0.13102795,0.14147657,0.02275739,-0.04335862,0.05724025,0.03936686,-0.10526938,-0.11637416,-0.0112917,0.05484914,-0.06934103,0.2543144,-0.17833991,-0.00828893,0.00174531,-0.03048271,-0.04773486,0.095866,-0.14434388,0.11433239,-0.10749247,0.03952292,0.03988512,-0.11541581,-0.07812429,-0.04978319,0.32052052,-0.0497911,-0.13022986,0.02477266,-0.05968329,0.01724695,0.01577485,-0.0497415,0.24494685,0.00361651,-0.08172874,-0.07473877,-0.01046288,0.02298573]") > 0.95
}

Die Regel wird erfüllt, wenn in der Probe mindestens eine Funktion vorhanden ist, deren Ähnlichkeit mit dem Ziel mehr als 0,95 beträgt.

Hinzufügen von safe zu Ihrer Version von Yara

Wenn Sie safe zu Ihrem Yara-Repository hinzufügen möchten:

  • Installieren Sie alle Abhängigkeiten

  • Kopieren Sie die Datei libyara/modules/safe.c in your_rep/libyara/modules/safe.c

  • Kopieren Sie den Ordner libyara/include/python in your_rep/libyara/include

  • Am Ende von libyara/modules/module_list fügen Sie ``` MODULE(safe) hinzu

  • Ändern Sie libyara/Makefile.am:

    • nach der Zeile:
    root@kitploit:~
    libyara_la_LDFLAGS = -version-number 3:8:1
    
    • fügen Sie hinzu:
    root@kitploit:~
    libyara_la_LDFLAGS += -LPATH_TO_PYTHON3.*_LIB -lpython3.*m -ljansson 
    
  • Kompilieren!

Tool herunterladen