martes, 27 de diciembre de 2016

BARF: Análisis binario y un marco de ingeniería inversa




Una de código abierto multiplataforma binario y Análisis Marco de la ingeniería inversa.


El análisis de código binario es una actividad crucial en muchas áreas de las ciencias de la computación y disciplinas de ingeniería de software que van desde la seguridad del software y análisis de programas de ingeniería inversa. 

Análisis binario Manual es una tarea difícil y consume mucho tiempo y hay herramientas de software que buscan automatizar o ayudar a los analistas humanos. Sin embargo, la mayoría de estas herramientas tienen varias restricciones técnicas y comerciales que limitan el acceso y el uso de una gran parte de la comunidad académica y practicante. 

BARF es un marco de análisis binario de código abierto que tiene como objetivo apoyar una amplia gama de tareas de análisis de código binario que son comunes en la disciplina de seguridad de la información. Es una plataforma de secuencias de comandos que apoya el levantamiento de instrucciones de múltiples arquitecturas, traducción binaria a una representación intermedia, un marco extensible para los plugins de análisis de código y entre el funcionamiento con herramientas externas tales como depuradores, solucionadores SMT y herramientas de instrumentación. El marco está diseñado principalmente para el análisis asistida humana pero puede ser totalmente automatizado. 

El proyecto incluye BARF BARF y herramientas y paquetes relacionados. Hasta ahora el proyecto se compone de los siguientes elementos: 

: BARF Una de código abierto multiplataforma Análisis binario y retroceso Marco de la ingeniería 
PyAsmJIT: Un JIT para el x86_64 Intel y arquitectura ARM.

Herramientas construidas sobre BARF:

BARFgadgets: Le permite buscar, clasificar y verificar aparatos ROP dentro de un programa binario.

BARFcfg: le permite recuperar el gráfico de flujo de control de las funciones de un programa binario. 
BARFcg: le permite recuperar el gráfico de llamadas de las funciones de un programa binario.

BARF

BARF es un paquete de Python para el análisis binario y la ingeniería inversa. Puede:

Carga de programas binarios en diferentes formatos (ELF, PE, etc.), 
que es compatible con la arquitectura Intel x86 de 32 y 64 bits, 
que es compatible con la arquitectura ARM de 32 bits, 
que opera en un lenguaje intermedio (REIL) por lo tanto todos los análisis algoritmo son la arquitectura agnóstica, 
tiene integración con Z3 y solucionadores de SMT CVC4 lo que significa que se puede expresar fragmentos de código como fórmulas y comprobar las restricciones sobre ellos. 
En la actualidad está en fase de desarrollo.

Instalación


BARF depende de los siguientes solucionadores de SMT:

Z3: Un demostrador de teoremas de alto rendimiento siendo desarrollado en Microsoft Research. 
CVC4: Una de código abierto automática demostrador de teoremas eficiente para teorías de satisfacibilidad módulo (SMT) problemas. 

El siguiente comando instala BARF en su sistema: 

$ sudo python setup.py install 

También puede instalar de forma local: 

$ sudo python setup.py install --user

notas

Sólo se necesita un solucionador SMT con el fin de trabajar. Usted puede elegir entre Z3 y CVC4 o instalar ambos. Usted puede utilizar el script barf-install-solver.sh que descarga e instalar tanto solucionador. 
Para ejecutar algunas pruebas que necesita para instalar PyAsmJIT primero.

No hay comentarios:

Publicar un comentario

Disqus Shortname

Comments system