Textual description of firstImageUrl

Acerca de los logs y las trazas de vulnerabilidad

Mecanismos de Defensa

Uno de los metodos defensivos mas utilizados para contraatacar los exploit se basa en identificar y obtener signaturas o trazas. Estos sistemas de defensa necesitan obtener nuevas signaturas a medida que se descubren nuevas vulnerabilidades. Evidentemente, esta base de signaturas necesita de actualizacion constante.

Se denomina "signatura de vulnerabilidad" al propio modelo o representacion de la signatura de la vulnerabilidad. Una signatura de vulnerabilidad reconoce las entradas que explotan la vulnerabilidad.


Cualquier aplicacion de seguridad enfrenta un enemigo muy astuto. Consideremos que con el fin de evitar ser descubierto por una herramienta de analisis de logs, el intrusivo atacante trata de comportarse de tal forma que los logs generados durante el ataque luzcan exactamente igual que en una operacion normal del sistema.

Veamos a continuacion los siguientes aspectos del problema:
  • Logs
  • Generacion de Signaturas de Vulnerabilidad
  • Analisis de Signaturas de Vulnerabilidad 

LOGS

Que son los LOGS?

Un LOG es un archivo que registra ya sea eventos que ocurren en un sistema operativo o en otro tipo de software cuando está en ejecución, o mensajes entre diferentes usuarios de un software de comunicación. 

Que es LOGGING?
Logging es el acto de mantener un log o bitácora y escribir los eventos en este archivo de log o bitácora. 

Tomemos por ejemplo un sistema de busqueda web cuyo log de transacciones sería un registro electrónico de interacciones que han ocurrido durante un episodio de búsqueda entre una máquina y los usuarios que buscan información en la máquina de búsqueda.

El estándar de logging mas ampliamente utilizado se denomina syslog. En general, los eventos registrados en un log syslog pueden ser compartidos y usados para diagnosticar fallas en los sistemas, pero su naturaleza adhoc es insuficiente para diagnosticar una falla en un sistema de software complejo. Si bien es cierto que existen herramientas especializadas denominadas "log Enhancers" que permiten ampliar la información de diagnóstico que se almacena en los logs para ayudar en el diagnóstico post fallas, estas no seran mencionadas en este artículo.

Generación de Signaturas de Vulnerabilidad

PATCH

Un patch (parche) es un software diseñado para actualizar un programa de computación o sus datos de soporte para corregirlo o mejorarlo. Esto incluye corregir errores que suponen vulnerabilidades de seguridad. Generalmente, la gente no se inclina a aplicar inmediatamente un parche en contra de un ataque porque considera que los parches no son confiables.

Propuestas de Generacion de Signatura de vulnerabilidad

Vamos a clasificar los diferentes enfoques de generación de la siguiente manera:
  1. A partir de un modelo de protocolos de red: a partir del modelo de protocolo de red se produce un analisis que garantiza que la signatura producida es fiel representación de la vulnerabilidad del programa cuando aparece.
  2. A partir de un exploit de muestra: Dado un exploit de muestra, la técnica genera automaticamente una signatura cuya formulacion funciona para vulenerabilidades que pueden ser explotadas por multiples vias.
  3. A partir de una formalizacion de las signaturas: en esta técnica se necesita desarrollar un analizador para localizar vulnerabilidades especificas, la signatura de vulnerabilidad formal se describe usando OCL (object constraint languange). Con esta signatura formal se realizan analisis de programas en el sistema objetivo para localizar coincidencias de signatura. Una nueva vulnerabilidad recien descubiertapuede ser identificada facilmente en un programa objetivo si existe una signatura formal para ella.
  4. A partir del analisis de apuntadores de memoria: Un metodo automatizado para generacion de signaturas para contrarrestar ataques repetitivos a gran escala. Se aporovecha el hecho de que todos los exploits de error de memoria invlucran la corrupcion de valores de punteros y este valor debe ser incluido en la entrada del error. Utiliza analisis forense de la memoria de servidor de la victima para correlacionar ataques recibidos por las entradas de red. Este enfoque genera signaturas que rastrean caracterisiticas de vulnerabilidad. 

Análisis de Signaturas de Vulnerabilidad 
  1. Detección de intrusiones post mortem: el problema de la detección de intrusiones post mortem consiste en la identificación de la ejecución de un exploit, si la hubo, dentro de un archivo de log dado. Este enfoque es my valioso porque en los análisis post mortem ayuda a acelerar el proceso de acopiar evidnecia de detección de intrusiones y también acelera el proceso de construcción de una signatura de ataque. Una signatura de ataque es útil para la construccion de IDS (intrusion detection systems). Este enfoque reduce la carga de analizar un archivo de logs de llamadas de sistema al factorizar las repeticiones. Central para el mecanismo de deteccion de intrusiones es el clasificador que separa el comportamiento normal del anormal. Este clasificador se construye a partir de  un metodo que combina un modelo oculto de Markov con tecnicas de K-means
  2. Compresion Gramatical: Al comparar el incremento de la longitud de datos comprimidos usando compresion gramatical, este metodo mide la extrañeza de secuencias en deteccion de anomalias. Este metodo utiliza el conocimiento total de la estructura del conjunto de datos. Puede ser usado para encontrar anomalias de alto nivel asi com intrusiones de bajo nivel. 
Frecuentemente el analisis de logs para deteccion de intrusiones se considera como una actividad reactiva que se ejecuta despues de que se ha detectado una anomalía y no como una acitividad proactiva. Además, existe una base de vulnerabilidades descubiertas pero que no dice nada de la forma como la aplicacion reacciona cuando está siendo atacada así que hay un largo camino por recorrer en cuanto a correlaconar la base de vulnerabilidades y el comportamiento.

Referencias

[1] DavidBrumley,JamesNewsome,DawnSong,HaoWang,andSomeshJha,―Theory and Techniques for Automate Generation of
VulnerabilityBasedSignatures‖IEEETRANSACTIONSONDEPENDABLEANDSECURECOMPUTING,VOL.5,NO.4,OCTOBERDECEMBER2008
[2] H.J. Wang, C .Guo, D. Simon, and A. Zugenmaier, ‖ Shield : Vulnerability-Driven Network Filters for preventing KnownVulnerability
Exploits, ‖Proc.ACMSIGCOMM ’04,Aug.2004
[3] KarenA.García, RaúlMonroy, LuisA.Trejo, Carlos Mex-Perera, and Eduardo Aguirre ―Analyzing log files for postmortem intrusion
detection‖ IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS—PART C: APPLICATIONS AND REVIEWS, VOL. 42,
NO. 6, NOVEMBER 2012
[4] MohamedAlmorsy,John Grundy,andAmani S. Ibrahim, ‖supporting automated vulnerability analysis using formalized vulnerability signatures‖,
ASE, September 2012, Essen, Germany.
[5] DingYuan JingZheng SoyeonPark YuanyuanZhou Stefan Savage, ―Improving Software Diagnosability via Log Enhancement‖, ASPLOS’
11 March2011,NewportBeach,California,USA.
[6] L-R Rabiner, a tutorial on hidden Markov models and selected applications in speech recognition, Proc,IEEE,vol 77,no.2,pp.257-286,feb 1989
[7] Poornima .M1, Ramakrishna M.V2 - Vulnerability Signatures and Log Analysis: A Survey - International Journal of Advanced Research in Computer and Communication Engineering ISO 3297:2007 Certified Vol. 6, Issue 5, May 2017

No hay comentarios.:

Publicar un comentario