¿Saltarse heuristicas y sandbox modeando?

Iniciado por Tr0Y4N0, 9 Diciembre 2012, 01:29 AM

0 Miembros y 5 Visitantes están viendo este tema.

0xDani

@Buster_BSA, puedes explicar un poco como funciona el analisis por comportamiento? Quiza eso ayude a esclarecer la cuestion.

Saludos.
I keep searching for something that I never seem to find, but maybe I won't, because I left it all behind!

I code for $$$
Hago trabajos en C/C++
Contactar por PM

ameise_1987

#21
Cita de: Buster_BSA en 13 Enero 2013, 01:45 AM
Aquí la imaginación no vale de nada. Los agujeros son los que son y hay que saber encontrarlos.

De hecho el VirtualBox es de código abierto, con lo cual el código fuente está disponible y no hace falta hacer ingeniería inversa. Que a pesar de contar con el código fuente no salgan nuevas vulnerabilidades, ¿es que no te dice nada?

estás totalmente equivocado y hablando desde la ignorancia pura y dura, una cosa es el
ANÁLISIS DE CÓDIGO ESTÁTICO Y OTRO ES EL ANÁLISIS EN TIEMPO REAL, son dos cosas
totalmente diferentes, decir que al tener el código fuente no es necesario realizar ingeniería inversa
es una ignorancia del porte de un buque 2 COMPILADORES EN EL MISMO SISTEMA OPERATIVO
NO GENERAN EL MISMO BINARIO
, por algo existen vulnerabilidades que dependen TANTO DE LA
ARQUITECTURA DEL PROCESADOR , S.O y un ambiente X , PUEDE HABER UN EXPLOIT PARA UN S.O XXXXXXX CON LA ARQUITECTURA 64bits Y NO ASÍ PARA EL MISMO S.O en diferente arquitectura Y/O S.O, hay vulnerabilidades que necesitan generar un ambiente propicio para se explotados, veamos cuántos años pasaron para que alguien descubriera la vulnerabilidad de MYSQL que realizando varias peticiones te daba acceso como root, este mismo bug sirve en una versión X de MYSQL y un ambiente propicio te lo digo por experiencia  pero  ¿ MYSQL NO ES DE CÓDIGO ABIERTO?, ¿POR QUÉ DEMORARON TANTO EN DESCUBRIRLO?.
¿por qué demoraron 7 años en descubrir un NULL POINTER en el KERNEL DE LINUX?.

LO que te limita realmente es la imaginación, NADA MAS QUE ESO!!, decir que existe finitas maneras
de saltarte X sistema, solo habla de una persona limitada, ya que esa es la gracia  cada día
tener un nuevo reto y que la cosa vaya avanzando.

por cierto una acotación, los invito a revisar en algún changelog cuántas vulnerabilidades solucionan
y luego cuántos exploit públicos hay ?? , se olvidan que existe un mercado negro de exploit ??.
firma retirada por insultar/cachondearse de (anelkaos) del staff.

Buster_BSA

Cita de: 0xDani en 13 Enero 2013, 02:49 AM
@Buster_BSA, puedes explicar un poco como funciona el analisis por comportamiento? Quiza eso ayude a esclarecer la cuestion.

El análisis por comportamiento es la ejecución de un programa dentro de un entorno controlado donde las acciones del programa están siendo monitorizadas. Cualquier modificación del registro, del sistema de ficheros, apertura o conexión a puertos, etc será traceada para al finalizar el análisis revisar toda la información y generar un informe con aquellas acciones que son consideradas como maliciosas.

Por ejemplo: un malware cuando se ejecuta realiza las siguientes acciones:

* Se copia a sí mismo en otra localización del disco duro y luego se borra de la carpeta desde donde se ejecutó.

* Añade una entrada en el registro para que cuando se inicie el sistema operativo se cargue

* Se conecta a una página web, descarga un fichero y luego lo ejecuta.

Todo eso será registrado y en el informe será resaltado porque son todas acciones maliciosas.

Así funciona el análisis por comportamiento.

Buster_BSA

Cita de: ameise_1987 en 13 Enero 2013, 03:44 AM
estás totalmente equivocado y hablando desde la ignorancia pura y dura

Vaya, entonces debo haber perdido el tiempo durante los últimos tres años mientras realizaba mi herramienta y no debería sentirme tan orgulloso de que sea una referencia en el análisis por comportamiento a nivel mundial. En fin, ¡qué se le va a hacer!

Y bien, ¿tú qué has hecho para que cuando hables no lo hagas desde la ignorancia pura y dura?

Cita de: ameise_1987 en 13 Enero 2013, 03:44 AMuna cosa es el
ANÁLISIS DE CÓDIGO ESTÁTICO Y OTRO ES EL ANÁLISIS EN TIEMPO REAL, son dos cosas totalmente diferentes,

¿Y yo he dicho que sean dos cosas iguales? ¿Dónde si se puede saber?

Cita de: ameise_1987 en 13 Enero 2013, 03:44 AMdecir que al tener el código fuente no es necesario realizar ingeniería inversa es una ignorancia del porte de un buque 2

http://es.wikipedia.org/wiki/Ingenier%C3%ADa_inversa

"El objetivo de la ingeniería inversa es obtener información o un diseño a partir de un producto accesible al público, con el fin de determinar de qué está hecho, qué lo hace funcionar y cómo fue fabricado."

Precisamente se llama inversa porque partiendo del código binario has de conseguir el código ejecutable.

¿Y eres tú el que me acusa de hablar desde la ignorancia?

;-)


0xDani

@ameise_1987, te has pasado un huevo, si simplemente hubieras puesto Buster_BSA en Google te habrias encontrado con una herramienta como el Buster Sandbox Analizer, que cuando menos impone cuando lees las features y esas cosas, y no hubieras dicho que habla desde la ignorancia con tanta rapidez.

@Buster_BSA, y no se podria usar algun tipo de ofuscacion extrema o conseguir lo que quieras sin hacer acciones consideradas maliciosas? O hacerte pasar por una aplicacion normal y corriente? Porque digo yo que las aplicaciones legitimas tambien podran añadir una entrada al registro o descargar un fichero de una web. En fin, esta claro que es otro nivel de analisis, parece mucho mejor que el estatico clasico, pero tampoco creo que sea imposible saltarselo.

No se trata solo de que la aplicacion tenga un bug, en parte estoy de acuerdo con Karcrack en que el limite lo pone tu imaginacion.

Saludos.
I keep searching for something that I never seem to find, but maybe I won't, because I left it all behind!

I code for $$$
Hago trabajos en C/C++
Contactar por PM

r32

Buster "nunca digas nunca", ni en informatica ni en la vida real son aplicables.
No te quito tu parte de razón, ni a Karcrack, son puntos de vista diferentes de dos programadores.
Un ejemplo de malware que me llamó la atención fue el bootkit de Stoned, no es nuevo lo se, pero a lo que me refiero es que aprovecha una falla de arquitectura, no se puede remediar (palabras de Kumar "TheHackerNews").
No es una comparación, son completamente distintos, yo lo tomo como un ejemplo y que "sin imaginación" puedes saber malabares sobre programación y no llegar nunca a conseguirlo.
Si no tubieses imaginación, jamás hubieses hecho tu herramienta ¿me equivoco?
Esperemos no se llegue nunca a descubrir una falla de este tipo, a más de uno nos iban a dar una lección de humildad, me incluyo el primero no va por nadie.

Saludos.


ameise_1987

Cita de: Buster_BSA en 13 Enero 2013, 13:08 PM
Vaya, entonces debo haber perdido el tiempo durante los últimos tres años mientras realizaba mi herramienta y no debería sentirme tan orgulloso de que sea una referencia en el análisis por comportamiento a nivel mundial. En fin, ¡qué se le va a hacer!

Y bien, ¿tú qué has hecho para que cuando hables no lo hagas desde la ignorancia pura y dura?

¿Y yo he dicho que sean dos cosas iguales? ¿Dónde si se puede saber?

http://es.wikipedia.org/wiki/Ingenier%C3%ADa_inversa

"El objetivo de la ingeniería inversa es obtener información o un diseño a partir de un producto accesible al público, con el fin de determinar de qué está hecho, qué lo hace funcionar y cómo fue fabricado."

Precisamente se llama inversa porque partiendo del código binario has de conseguir el código ejecutable.

¿Y eres tú el que me acusa de hablar desde la ignorancia?

;-)



@Buster_BSA: tu comentario a mi me dio a entender que hablabas del código fuente como única manera de analizar y conseguir un bug, si no es así sorry quizás te expresaste mal o yo entendí mall.

@0xDani: si supieras que me importa una verdadera verga lo que ha echo o no, yo critico lo que leo y no porque sea el creador de una herramienta lo dejaré de hacer.

aún así sigo pensando que la imaginación es lo que te impone las cosas, nada mas !!

saluos!!.
firma retirada por insultar/cachondearse de (anelkaos) del staff.

Buster_BSA

Cita de: 0xDani en 13 Enero 2013, 14:24 PM@Buster_BSA, y no se podria usar algun tipo de ofuscacion extrema o conseguir lo que quieras sin hacer acciones consideradas maliciosas? O hacerte pasar por una aplicacion normal y corriente? Porque digo yo que las aplicaciones legitimas tambien podran añadir una entrada al registro o descargar un fichero de una web. En fin, esta claro que es otro nivel de analisis, parece mucho mejor que el estatico clasico, pero tampoco creo que sea imposible saltarselo.

En el análisis por comportamiento la ofuscación no vale para nada. Ya puedes usar toda la ofuscación del mundo que si al final droppeas un fichero a disco va a quedar constancia de tal acción. Y lo mismo si alteras una clave del registro o si te conectas a una página web y descargas un archivo.

Es cierto que las aplicaciones legítimas también escriben en el registro, se conectan a internet y descargan ficheros o crean ficheros en el disco duro.

En el análisis por comportamiento no solo se evalúan las acciones, también se tiene que tener en cuenta si se supone que la aplicación analizada debería realizar esas acciones o no.

Pongo un ejemplo para que se vea más claro:

Descargas un keygen y cuando lo ejecutas escribe en la clave del registro "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run" y el fichero se copia a "C:\WINDOWS\System32\Scvhost.exe".

¿Qué debes pensar de que un keygen haga tal cosa? Pues que contiene un malware obviamente.

Otro ejemplo:

Descargas una versión del navegador FireFox y añade claves en el registro y crea ficheros dentro de "\Archivos de programa\FireFox".

¿Qué debes pensar de que un instalador del FireFox haga tal cosa? Pues que aparentemente es normal.

Evidentemente la herramienta de detección 100% efectiva no existe y solo con un análisis manual y exhaustivo de una aplicación se puede estar seguro de que no contiene código malicioso.

Cita de: 0xDani en 13 Enero 2013, 14:24 PMNo se trata solo de que la aplicacion tenga un bug, en parte estoy de acuerdo con Karcrack en que el limite lo pone tu imaginacion.

Pues yo no estoy de acuerdo. La imaginación te sirve para crear una idea, por ejemplo saltar desde una máquina virtual e infectar el host. Luego son la experiencia y los conocimientos los que te permiten llevar esa idea a la práctica.

Y como ya he dicho, no todas las ideas se pueden llevar a la práctica porque los que fabrican software también tienen imaginación, y ellos también tienen ideas, como la de evitar que sea posible que una aplicación desde la máquina virtual se pueda hacer con el control del host.

Pregunta para todos:

¿Por qué dais por supuesto que la imaginación del que intenta evadir la protección en un software es mayor o mejor que la imaginación del que creó el software?

Seguro que nunca os habías hecho tal pregunta, ¿verdad?

Buster_BSA

Cita de: ameise_1987 en 13 Enero 2013, 16:51 PM
@Buster_BSA: tu comentario a mi me dio a entender que hablabas del código fuente como única manera de analizar y conseguir un bug, si no es así sorry quizás te expresaste mal o yo entendí mall.

Obviamente la ingeniería inversa suele ser la forma más empleada para buscar vulnerabilidades y exploits porque, sobre todo en software de seguridad, el código fuente no está disponible.

Lo que también es obvio es que es muchísimo más fácil encontrar defectos en el software si tienes el código fuente porque te ahorras toda la parte de la ingeniería inversa y te puedes centrar completamente en buscar los fallos de seguridad.

Cita de: ameise_1987 en 13 Enero 2013, 16:51 PM
aún así sigo pensando que la imaginación es lo que te impone las cosas, nada mas !!

Si eres capaz de darme un argumento por el cual puedas concluir de forma lógica y razonada que la imaginación del que busca un fallo de seguridad en concreto en un software es mayor o mejor o como lo quieras llamar que la de la persona o personas que diseñaron y programaron el software para evitar que ese fallo exista, entonces te daré la razón.

¿Te parece justo?

Buster_BSA

Cita de: r32 en 13 Enero 2013, 15:07 PM
Buster "nunca digas nunca", ni en informatica ni en la vida real son aplicables.
No te quito tu parte de razón, ni a Karcrack, son puntos de vista diferentes de dos programadores.

Visto desde un punto de vista lógico y racional el número de vulnerabilidades que permitan realizar una determinada acción es un número finito. En cuanto el que diseña el software corrige las vulnerabilidades ese número llega a 0 y en este momento es imposible realizar esa determinada acción.

Cuando un software llega al número 0 en vulnerabilidades por mucha imaginación que le intentes echar (y repito que la imaginación sirve para crear ideas) será imposible lograr tal acción.

Eso es lógica pura y dura y no es discutible como tampoco es discutible que el todo es mayor que cualquiera de las partes.