SlideShare a Scribd company logo
1 of 16
Download to read offline
Binary Diffing I
● Código   fuente
 OpenSSL Debian fiasco




                Unidad Principal: Byte
Binary Diffing II
● Ficheros   en crudo, binarios, imágenes...




                Unidad Principal: Byte
Executable Binary Diffing I
● Basic   Blocks como unidad principal.
Executable Binary Diffing II
● Heurísticas    en base a funciones. Flow Graph.
    Antes del parche         Después del parche
                                 A


             A

                             B        C'


        B          C


                                                  E
             D


                                      D
Executable Binary Diffing III
● Heurísticas   en base a funciones. Basic Blocks.
    Antes del parche        Después del parche




          C                      C'
● Se   añaden o modifican instrucciones
Executable Binary Diffing IV




      A               A'



  B       C      B'        C'


      D               D
Executable Binary Diffing V
● Herramientas


     ● BinDiff   – Comercial
     ● DarumGrim     – Open Source
     ● TurboDiff   – Open Source
     ● PatchDiff   – Open Source


● Todas   basadas en IDA
¿Quién y por qué ?
● Empresas        como
        ● Secunia
        ● Vupen
        ● Tenable


● Los   “malos”
        ● 1-day   exploits
        ● Targeted   attacks..
Analizando Parches
● Microsoft
          saca boletines de seguridad el 2º
 Martes de mes aka “Black Tuesday”
     ● No están todas las que son, ni son todas las
         que están.
     ● Evaluación   de impacto.
● Cualquier   tipo de información es altamente util.
     ● PoCs   públicas -Kostya
     ● Mensajes   en Blogs – Elia Florio
     ● Información   del boletín
● KBXXXXXX      – GDR – QFE
“Pilladas”
● Optimización   de “CVEs”
● Deliberadas
● Windows   SMTP Service DNS query Id vulnerabiliti
Casos Reales

● MS08-25   WIN32K!NTUSERFNOUTSTRING




    ● 0x7FFFFFFF   - signed
Demo
¡¡ El Paint !! respecto!
 MS010-005




       ● Integer   Overflow
             ●   MAX+1 = FAIL
       ● JPGs,BMPs...
Demo
CBmpStream::Write(void const *, unsigned long, unsigned long *)




                   Después del parche
Demo
   Empíricamente: W*H*BPP

   Resolver inecuacion (x^2)*n > MAX_ULONG

   x > 37837

           Gracias por venir

   “Y sin embargo se mueve”. Galileo Galilei.


    Rubén Santamarta
                  - contact (at) reversemode (dot) com
                  - www.reversemode.com
                  - www.wintercore.com
                  - blog.48bits.com

More Related Content

Viewers also liked

Viewers also liked (20)

DUST: Sistemas RSS a prueba de balas
DUST: Sistemas RSS a prueba de balasDUST: Sistemas RSS a prueba de balas
DUST: Sistemas RSS a prueba de balas
 
¿Son seguras las soluciones en la nube?
¿Son seguras las soluciones en la nube?¿Son seguras las soluciones en la nube?
¿Son seguras las soluciones en la nube?
 
El Malware de hoy en día, pero a día de hoy
El Malware de hoy en día, pero a día de hoyEl Malware de hoy en día, pero a día de hoy
El Malware de hoy en día, pero a día de hoy
 
Evolución del malware
Evolución del malwareEvolución del malware
Evolución del malware
 
Rooted2010 Otp
Rooted2010 OtpRooted2010 Otp
Rooted2010 Otp
 
El Malware en Mac Os X no es un juego de niños
El Malware en Mac Os X no es un juego de niñosEl Malware en Mac Os X no es un juego de niños
El Malware en Mac Os X no es un juego de niños
 
Nuevas amenazas en dispositivos móviles
Nuevas amenazas en dispositivos móvilesNuevas amenazas en dispositivos móviles
Nuevas amenazas en dispositivos móviles
 
Nuevas amenazas en dispositivos móviles
Nuevas amenazas en dispositivos móvilesNuevas amenazas en dispositivos móviles
Nuevas amenazas en dispositivos móviles
 
Viviendo En La Jungla
Viviendo En La JunglaViviendo En La Jungla
Viviendo En La Jungla
 
Asegúr@IT 7: Serialized SQL Injection
Asegúr@IT 7: Serialized SQL InjectionAsegúr@IT 7: Serialized SQL Injection
Asegúr@IT 7: Serialized SQL Injection
 
Protege tus backups: Ten un plan B
Protege tus backups: Ten un plan BProtege tus backups: Ten un plan B
Protege tus backups: Ten un plan B
 
Hacking Scada
Hacking ScadaHacking Scada
Hacking Scada
 
Seguridad y auditoría en entorno microsoft
Seguridad y auditoría en entorno microsoftSeguridad y auditoría en entorno microsoft
Seguridad y auditoría en entorno microsoft
 
Terminal Hackplications
Terminal HackplicationsTerminal Hackplications
Terminal Hackplications
 
Client side attacks in web applications
Client side attacks in web applicationsClient side attacks in web applications
Client side attacks in web applications
 
Csi: siempre quisiste ser forense
Csi: siempre quisiste ser forenseCsi: siempre quisiste ser forense
Csi: siempre quisiste ser forense
 
Ataques Man in the Middle en iPv6
Ataques Man in the Middle en iPv6Ataques Man in the Middle en iPv6
Ataques Man in the Middle en iPv6
 
Frenando el malware
Frenando el malwareFrenando el malware
Frenando el malware
 
Windows Server 2008 & Windows 7
Windows Server 2008 & Windows 7Windows Server 2008 & Windows 7
Windows Server 2008 & Windows 7
 
El e-dni como herramienta de seguridad
El e-dni como herramienta de seguridadEl e-dni como herramienta de seguridad
El e-dni como herramienta de seguridad
 

Similar to Bindiffing patches

Introducción a Mesa. Caso específico dos dispositivos Raspberry Pi por Igalia
Introducción a Mesa. Caso específico dos dispositivos Raspberry Pi por IgaliaIntroducción a Mesa. Caso específico dos dispositivos Raspberry Pi por Igalia
Introducción a Mesa. Caso específico dos dispositivos Raspberry Pi por Igalia
Igalia
 
Gráficos 3D en Linux con Mesa (GPUL Labs Meetup)
Gráficos 3D en Linux con Mesa (GPUL Labs Meetup)Gráficos 3D en Linux con Mesa (GPUL Labs Meetup)
Gráficos 3D en Linux con Mesa (GPUL Labs Meetup)
Igalia
 
Integrando mis librerías C++ con Python
Integrando mis librerías C++ con PythonIntegrando mis librerías C++ con Python
Integrando mis librerías C++ con Python
Carlos Gustavo Ruiz
 

Similar to Bindiffing patches (20)

SIMUNROBOT
SIMUNROBOTSIMUNROBOT
SIMUNROBOT
 
Earthly, Dockerfile con esteroides
Earthly, Dockerfile con esteroidesEarthly, Dockerfile con esteroides
Earthly, Dockerfile con esteroides
 
Programación de videojuegos con Godot Engine
Programación de videojuegos con Godot EngineProgramación de videojuegos con Godot Engine
Programación de videojuegos con Godot Engine
 
Network.Penetration.CGSOL
Network.Penetration.CGSOLNetwork.Penetration.CGSOL
Network.Penetration.CGSOL
 
Charla C++
Charla C++Charla C++
Charla C++
 
Introducción a Mesa. Caso específico dos dispositivos Raspberry Pi por Igalia
Introducción a Mesa. Caso específico dos dispositivos Raspberry Pi por IgaliaIntroducción a Mesa. Caso específico dos dispositivos Raspberry Pi por Igalia
Introducción a Mesa. Caso específico dos dispositivos Raspberry Pi por Igalia
 
Decompiladores
DecompiladoresDecompiladores
Decompiladores
 
Programacion RPG: Conceptos ILE
Programacion RPG: Conceptos ILEProgramacion RPG: Conceptos ILE
Programacion RPG: Conceptos ILE
 
Perder el miedo a git en 90 minutos
Perder el miedo a git en 90 minutosPerder el miedo a git en 90 minutos
Perder el miedo a git en 90 minutos
 
Gráficos 3D en Linux con Mesa (GPUL Labs Meetup)
Gráficos 3D en Linux con Mesa (GPUL Labs Meetup)Gráficos 3D en Linux con Mesa (GPUL Labs Meetup)
Gráficos 3D en Linux con Mesa (GPUL Labs Meetup)
 
Nerdear.la 2018 | Journey to Stability - Cómo reducimos costos y aumentamos l...
Nerdear.la 2018 | Journey to Stability - Cómo reducimos costos y aumentamos l...Nerdear.la 2018 | Journey to Stability - Cómo reducimos costos y aumentamos l...
Nerdear.la 2018 | Journey to Stability - Cómo reducimos costos y aumentamos l...
 
Betabeers BCN
Betabeers BCNBetabeers BCN
Betabeers BCN
 
202204-Modernizando aplicaciones legacy
202204-Modernizando aplicaciones legacy202204-Modernizando aplicaciones legacy
202204-Modernizando aplicaciones legacy
 
Servidor de mapas en HA con Jboss, Geoserver y PostGIS.
Servidor de mapas en HA con Jboss, Geoserver y PostGIS.Servidor de mapas en HA con Jboss, Geoserver y PostGIS.
Servidor de mapas en HA con Jboss, Geoserver y PostGIS.
 
Servidores de mapas en alta disponibilidad
Servidores de mapas en alta disponibilidadServidores de mapas en alta disponibilidad
Servidores de mapas en alta disponibilidad
 
ATICA DevOps
ATICA DevOpsATICA DevOps
ATICA DevOps
 
Introducción a CoffeeScript
Introducción a CoffeeScriptIntroducción a CoffeeScript
Introducción a CoffeeScript
 
CLASE 5 INTRODUCCION A FIGMA
CLASE 5 INTRODUCCION A FIGMACLASE 5 INTRODUCCION A FIGMA
CLASE 5 INTRODUCCION A FIGMA
 
Integrando mis librerías C++ con Python
Integrando mis librerías C++ con PythonIntegrando mis librerías C++ con Python
Integrando mis librerías C++ con Python
 
Spain AI 2022 - ¡Oh, un modelo de ML, vamos a desplegarlo! - Machine Learning...
Spain AI 2022 - ¡Oh, un modelo de ML, vamos a desplegarlo! - Machine Learning...Spain AI 2022 - ¡Oh, un modelo de ML, vamos a desplegarlo! - Machine Learning...
Spain AI 2022 - ¡Oh, un modelo de ML, vamos a desplegarlo! - Machine Learning...
 

More from Eventos Creativos

Análisis forense de dispositivos android 03
Análisis forense de dispositivos android 03Análisis forense de dispositivos android 03
Análisis forense de dispositivos android 03
Eventos Creativos
 

More from Eventos Creativos (20)

La informática se creó en las calles: Microhistorias de Apple y Microsoft
La informática se creó en las calles: Microhistorias de Apple y MicrosoftLa informática se creó en las calles: Microhistorias de Apple y Microsoft
La informática se creó en las calles: Microhistorias de Apple y Microsoft
 
Windows server 2012 para it
Windows server 2012 para itWindows server 2012 para it
Windows server 2012 para it
 
Pentesting con metasploit framework
Pentesting con metasploit frameworkPentesting con metasploit framework
Pentesting con metasploit framework
 
Malware en android
Malware en androidMalware en android
Malware en android
 
Despliegue empresarial de smartphones mdm
Despliegue empresarial de smartphones   mdmDespliegue empresarial de smartphones   mdm
Despliegue empresarial de smartphones mdm
 
Atacando iphone a través de wireless y javascript botnet
Atacando iphone a través de wireless y javascript botnetAtacando iphone a través de wireless y javascript botnet
Atacando iphone a través de wireless y javascript botnet
 
Ataque a redes de datos IPv6 con Evil Foca
Ataque a redes de datos IPv6 con Evil FocaAtaque a redes de datos IPv6 con Evil Foca
Ataque a redes de datos IPv6 con Evil Foca
 
Windows 8
Windows 8Windows 8
Windows 8
 
Análisis forense de dispositivos android 03
Análisis forense de dispositivos android 03Análisis forense de dispositivos android 03
Análisis forense de dispositivos android 03
 
Análisis forense de dispositivos android 02
Análisis forense de dispositivos android 02Análisis forense de dispositivos android 02
Análisis forense de dispositivos android 02
 
Análisis forense de dispositivos android 01
Análisis forense de dispositivos android 01Análisis forense de dispositivos android 01
Análisis forense de dispositivos android 01
 
Análisis forense de dispositivos ios
Análisis forense de dispositivos iosAnálisis forense de dispositivos ios
Análisis forense de dispositivos ios
 
Arquitectura, aplicaciones y seguridad en ios
Arquitectura, aplicaciones y seguridad en iosArquitectura, aplicaciones y seguridad en ios
Arquitectura, aplicaciones y seguridad en ios
 
Jailbreak y rooting más allá de los límites del dispositivo
Jailbreak y rooting más allá de los límites del dispositivoJailbreak y rooting más allá de los límites del dispositivo
Jailbreak y rooting más allá de los límites del dispositivo
 
I os en el entorno corporativo
I os en el entorno corporativoI os en el entorno corporativo
I os en el entorno corporativo
 
Análisis forense de tarjetas sim, smartcards, etc
Análisis forense de tarjetas sim, smartcards, etcAnálisis forense de tarjetas sim, smartcards, etc
Análisis forense de tarjetas sim, smartcards, etc
 
Lo que las apps esconden
Lo que las apps escondenLo que las apps esconden
Lo que las apps esconden
 
Firma digital y biométrica en dispositivos móviles
Firma digital y biométrica en dispositivos móvilesFirma digital y biométrica en dispositivos móviles
Firma digital y biométrica en dispositivos móviles
 
Nfc en móviles
Nfc en móvilesNfc en móviles
Nfc en móviles
 
Fraude en tecnológias móviles
Fraude en tecnológias móvilesFraude en tecnológias móviles
Fraude en tecnológias móviles
 

Recently uploaded

editorial de informática de los sueños.docx
editorial de informática de los sueños.docxeditorial de informática de los sueños.docx
editorial de informática de los sueños.docx
ssusere34b451
 

Recently uploaded (20)

NIVEL DE MADUREZ TECNOLÓGICA (TRL).pptx
NIVEL DE  MADUREZ TECNOLÓGICA (TRL).pptxNIVEL DE  MADUREZ TECNOLÓGICA (TRL).pptx
NIVEL DE MADUREZ TECNOLÓGICA (TRL).pptx
 
manual-de-oleohidraulica-industrial-vickers.pdf
manual-de-oleohidraulica-industrial-vickers.pdfmanual-de-oleohidraulica-industrial-vickers.pdf
manual-de-oleohidraulica-industrial-vickers.pdf
 
Pons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdf
Pons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdfPons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdf
Pons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdf
 
TELECOMUNICACIONES- CAPITULO2: Modelo Osi ccna
TELECOMUNICACIONES- CAPITULO2: Modelo Osi ccnaTELECOMUNICACIONES- CAPITULO2: Modelo Osi ccna
TELECOMUNICACIONES- CAPITULO2: Modelo Osi ccna
 
VelderrainPerez_Paola_M1C1G63-097.pptx. LAS TiC
VelderrainPerez_Paola_M1C1G63-097.pptx. LAS TiCVelderrainPerez_Paola_M1C1G63-097.pptx. LAS TiC
VelderrainPerez_Paola_M1C1G63-097.pptx. LAS TiC
 
Unidad 1- Historia y Evolucion de las computadoras.pdf
Unidad 1- Historia y Evolucion de las computadoras.pdfUnidad 1- Historia y Evolucion de las computadoras.pdf
Unidad 1- Historia y Evolucion de las computadoras.pdf
 
editorial de informática de los sueños.docx
editorial de informática de los sueños.docxeditorial de informática de los sueños.docx
editorial de informática de los sueños.docx
 
Licencias para el Uso y el Desarrollo de Software
Licencias para el Uso y el Desarrollo de SoftwareLicencias para el Uso y el Desarrollo de Software
Licencias para el Uso y el Desarrollo de Software
 
lenguaje algebraico.pptx álgebra, trigonometria
lenguaje algebraico.pptx álgebra, trigonometrialenguaje algebraico.pptx álgebra, trigonometria
lenguaje algebraico.pptx álgebra, trigonometria
 
BUSCADORES DE INTERNET (Universidad de Sonora).
BUSCADORES DE INTERNET (Universidad de Sonora).BUSCADORES DE INTERNET (Universidad de Sonora).
BUSCADORES DE INTERNET (Universidad de Sonora).
 
De Olmos Santiago_Dolores _ M1S3AI6.pptx
De Olmos Santiago_Dolores _ M1S3AI6.pptxDe Olmos Santiago_Dolores _ M1S3AI6.pptx
De Olmos Santiago_Dolores _ M1S3AI6.pptx
 
Inteligencia Artificial para usuarios nivel inicial
Inteligencia Artificial para usuarios nivel inicialInteligencia Artificial para usuarios nivel inicial
Inteligencia Artificial para usuarios nivel inicial
 
Presentacion y Extension de tema para Blogger.pptx
Presentacion y Extension de tema para Blogger.pptxPresentacion y Extension de tema para Blogger.pptx
Presentacion y Extension de tema para Blogger.pptx
 
proyectos_social_y_socioproductivos _mapas_conceptuales
proyectos_social_y_socioproductivos _mapas_conceptualesproyectos_social_y_socioproductivos _mapas_conceptuales
proyectos_social_y_socioproductivos _mapas_conceptuales
 
Gestión de concurrencia y bloqueos en SQL Server
Gestión de concurrencia y bloqueos en SQL ServerGestión de concurrencia y bloqueos en SQL Server
Gestión de concurrencia y bloqueos en SQL Server
 
JORNADA INTELIGENCIA ARTIFICIAL Y REALIDAD VIRTUAL
JORNADA INTELIGENCIA ARTIFICIAL Y REALIDAD VIRTUALJORNADA INTELIGENCIA ARTIFICIAL Y REALIDAD VIRTUAL
JORNADA INTELIGENCIA ARTIFICIAL Y REALIDAD VIRTUAL
 
Uso de las TIC en la vida cotidiana .
Uso de las TIC en la vida cotidiana       .Uso de las TIC en la vida cotidiana       .
Uso de las TIC en la vida cotidiana .
 
Sistemas distribuidos de redes de computadores en un entorno virtual de apren...
Sistemas distribuidos de redes de computadores en un entorno virtual de apren...Sistemas distribuidos de redes de computadores en un entorno virtual de apren...
Sistemas distribuidos de redes de computadores en un entorno virtual de apren...
 
¡Mira mi nuevo diseño hecho en Canva!.pdf
¡Mira mi nuevo diseño hecho en Canva!.pdf¡Mira mi nuevo diseño hecho en Canva!.pdf
¡Mira mi nuevo diseño hecho en Canva!.pdf
 
CIBERSEGURIDAD Y SEGURIDAD INFORMATICA .
CIBERSEGURIDAD Y SEGURIDAD INFORMATICA .CIBERSEGURIDAD Y SEGURIDAD INFORMATICA .
CIBERSEGURIDAD Y SEGURIDAD INFORMATICA .
 

Bindiffing patches

  • 1.
  • 2. Binary Diffing I ● Código fuente OpenSSL Debian fiasco Unidad Principal: Byte
  • 3. Binary Diffing II ● Ficheros en crudo, binarios, imágenes... Unidad Principal: Byte
  • 4. Executable Binary Diffing I ● Basic Blocks como unidad principal.
  • 5. Executable Binary Diffing II ● Heurísticas en base a funciones. Flow Graph. Antes del parche Después del parche A A B C' B C E D D
  • 6. Executable Binary Diffing III ● Heurísticas en base a funciones. Basic Blocks. Antes del parche Después del parche C C' ● Se añaden o modifican instrucciones
  • 7. Executable Binary Diffing IV A A' B C B' C' D D
  • 8. Executable Binary Diffing V ● Herramientas ● BinDiff – Comercial ● DarumGrim – Open Source ● TurboDiff – Open Source ● PatchDiff – Open Source ● Todas basadas en IDA
  • 9. ¿Quién y por qué ? ● Empresas como ● Secunia ● Vupen ● Tenable ● Los “malos” ● 1-day exploits ● Targeted attacks..
  • 10. Analizando Parches ● Microsoft saca boletines de seguridad el 2º Martes de mes aka “Black Tuesday” ● No están todas las que son, ni son todas las que están. ● Evaluación de impacto. ● Cualquier tipo de información es altamente util. ● PoCs públicas -Kostya ● Mensajes en Blogs – Elia Florio ● Información del boletín ● KBXXXXXX – GDR – QFE
  • 11. “Pilladas” ● Optimización de “CVEs” ● Deliberadas ● Windows SMTP Service DNS query Id vulnerabiliti
  • 12. Casos Reales ● MS08-25 WIN32K!NTUSERFNOUTSTRING ● 0x7FFFFFFF - signed
  • 13. Demo ¡¡ El Paint !! respecto! MS010-005 ● Integer Overflow ● MAX+1 = FAIL ● JPGs,BMPs...
  • 14. Demo CBmpStream::Write(void const *, unsigned long, unsigned long *) Después del parche
  • 15. Demo  Empíricamente: W*H*BPP  Resolver inecuacion (x^2)*n > MAX_ULONG  x > 37837
  • 16. Gracias por venir  “Y sin embargo se mueve”. Galileo Galilei. Rubén Santamarta - contact (at) reversemode (dot) com - www.reversemode.com - www.wintercore.com - blog.48bits.com