1 COPYRIGHT © 2015 ALCATEL-LUCENT. ALL RIGHTS RESERVED. Jose Javier Garcia Aranda email: [email protected][email protected] Francisco Abril Buceroemail: [email protected] 18 marzo 2015 Solución efectiva para las amenazas de fuga de datos DLP (data leaks protection)”
2 COPYRIGHT © 2012 ALCATEL-LUCENT. ALL RIGHTS RESERVED. 2 Agenda 3| Idea fundamental de la patente 1| Introducción y conceptos DLP 2| Mercado DLP y soluciones existentes 4| Challenge y cifrado 5| hooking 6| arquitectura 7| casos de uso y challenges avanzados
3 COPYRIGHT © 2015 ALCATEL-LUCENT. ALL RIGHTS RESERVED. 3 Introducción y conceptos Que significa DLP? Digital light Processing Data Loss Prevention Data Leaks Protection
4 COPYRIGHT © 2015 ALCATEL-LUCENT. ALL RIGHTS RESERVED. 4 Según el octavo informe global anual del Instituto Ponemon y Symantec http://bit.ly/10FjDik Un tercio de las fugas son debidas al factor humano, lo cual se cuantifica en 117 dolares por empleado de media mundial. Esta medida del coste depende mucho de cada país, sector, empresa, caso concreto,etchttp://bit.ly/10FjDik Introducción y conceptos
5 COPYRIGHT © 2015 ALCATEL-LUCENT. ALL RIGHTS RESERVED. 5 Agenda 3| Idea fundamental de la patente 1| Introducción y conceptos DLP 2| Mercado DLP y soluciones existentes 4| Challenge y cifrado 5| hooking 7| arquitectura 6| cifrado 8| casos de uso y challenges avanzados
6 COPYRIGHT © 2015 ALCATEL-LUCENT. ALL RIGHTS RESERVED. 6 soluciones existentes basadas en DPI Mcafee: DLP prevent Soluciones hardware: escanean el trafico entrante y saliente de la empresa (emails, HTTP, etc) y lo bloquea. Es un tipo de solución conocida como DPI (deep packet inspection) Symantec enforce platform Se compone de dos piezas. un servidor central y agentes en cada pc de empleado. EL gestor necesita ser instalado en un servidor central, al que reportan agentes instalados en todos los ordenadores de los empleados de la empresa. Toda la actividad es monitorizada y se bloquean acciones de copia en USB, o envío de email Problemas: costes de gestión de la herramienta por parte de IT, no aplicable en mercado residencial. EL gestor necesita saber cuáles son los documentos confidenciales para impedir su copia, lo cual solo es aplicable a documentos que obviamente se den de alta en ese sistema. Si un documento no se da de alta, se puede violar la seguridad de la copia. Además no es aplicable a ofertas ni información confidencial enviadas a clientes y/o socios Cisco: “iron port security appliance” Es una solución DPI, similar a la de Mcafee. Por dar mas detalles de DPI, un software DLP podría bloquear la impresión de un documento si en él aparecen más de un número determinado de CIFs. La monitorización de datos que se transmiten se realiza interponiendo un dispositivo o un software que inspecciona los paquetes en la red en busca de patrones y determina si la comunicación está autorizada o no. Algunos protocolos habitualmente soportados son SMTP,HTTP, HTTPS, FTP y Telnet Fortigate Solucion DLP, basada en un elemento de red que intercepta ficheros
7 COPYRIGHT © 2015 ALCATEL-LUCENT. ALL RIGHTS RESERVED. 7 soluciones existentes basadas en DPI El empleado descontento (la amenaza interna) supone un tercio de las amenazas de fuga de datos. Estos empleados se llevan consigo la información a otras empresas o la comparten desde fuera de la empresa mediante dispositivos USB, mails enviados desde fuera de la empresa usando cuentas personales, etc No existe una solución realmente eficaz de DLP, ya que muchos documentos que deben ser protegidos no se dan de alta en el gestor documental y por otro lado en cuanto un documento sale de la empresa queda desprotegido. Las soluciones DPI dejan de ser efectivas en cuanto salimos de la intranet de la empresa. Las soluciones existentes no son aptas para pymes y residencial. Implican instalar software o equipos de red en elementos diferentes del PC de usuario y ello además supone un coste de adquisición de hardware y costes operativos Las perdidas por DLP son muy elevadas y las sufren todas las empresas. Su importancia depende de cada caso. A veces es solo imagen, a veces supone perder un contrato o un cliente porque nuestro competidor conoce la información de nuestras ofertas. Según el octavo informe global anual del Instituto Ponemon y Symantec el coste medio de fuga de datos por empleado es de 117 dolares. No obstante cada caso concreto es muy diferente. Las soluciones comerciales DLP pueden costar a una empresa más de 10.000€ anuales y NO poseen la efectividad perseguida, pero es lo que el mercado proporciona actualmente. Estos costes solo son accesibles para grandes empresas. La pyme no adquiere estos productos. Sin embargo, con la solución que vamos a proponer podemos ampliar enormemente el mercado potencial de DLP, haciéndolo extensible a pymes y residencial y lo mas importante: es la primera solución efectiva al problema DLP En el mercado falta una solución efectiva y de coste asequible para pymes y residencial
8 COPYRIGHT © 2015 ALCATEL-LUCENT. ALL RIGHTS RESERVED. 8 soluciones existentes basadas en software Watchdox: almacenamiento en la nube (a las empresas esto no les gusta nada), de ese modo solo accede aquel al que le das permisos/credenciales. No soluciona la amenaza interna. Una vez descargado el fichero, queda desprotegido sealpath: no almacena en la nube, permite elegir distintos tipos de permisos para proteger un fichero. Se conecta a un servicio web cuando tratas de abrir un archivo y comprueba si tienes permisos de acceso vigentes Basado en credenciales. Hay que instalar un cliente para usar estos ficheros protegidos. No protege de la amenaza interna pues se basa en credenciales drmsoft: DRMSoft es una multi-herramienta, es decir, consta de varios ejecutables para convertir distintos tipos de documentos, como.doc,.pdf,.ppt… El resultado de utilizar un ejecutable con uno de los documentos genera otro ejecutable.exe que es el documento original encriptado pero con todo tipo de restricciones y con un visor distinto al del sistema Se basa en credenciales y no protege de la amenaza interna. Ademas, el uso de ejecutables lo hace inviable para enviar por email y en algunas empresas la ejecucion de programas supone un problema Ninguna protege de la amenaza interna!
9 COPYRIGHT © 2015 ALCATEL-LUCENT. ALL RIGHTS RESERVED. 9 Agenda 3| Idea fundamental de la patente 1| Introducción y conceptos DLP 2| Mercado DLP y soluciones existentes 4| Challenge y cifrado 5| hooking 7| arquitectura 6| cifrado 8| casos de uso y challenges avanzados
10 COPYRIGHT © 2015 ALCATEL-LUCENT. ALL RIGHTS RESERVED. 10 Idea fundamental los sistemas de seguridad perimetral se hacen inútiles cuando es el usuario autorizado quien comparte la información o se la lleva a la competencia cuando cambia de trabajo
11 COPYRIGHT © 2015 ALCATEL-LUCENT. ALL RIGHTS RESERVED. 11 Agenda 3| Idea fundamental de la patente 1| Introducción y conceptos DLP 2| Mercado DLP y soluciones existentes 4| Challenge 5| hooking 6| arquitectura 7| casos de uso y challenges avanzados
12 COPYRIGHT © 2015 ALCATEL-LUCENT. ALL RIGHTS RESERVED. 12 challenges Sustituimos los métodos convencionales de validación de credenciales por el concepto de challenge Una vez establecida ese nivel de protección es el documento el que se defiende a sí mismo mediante una multiplicidad de verificaciones. El documento creado de esta manera no podrá ser abierto si no se cumplen condiciones tales como: Estar conectado a la intranet de una empresa u organización Tener un usuario de un dominio concreto Tener un ordenador con las características de la empresa Impedir impresiones (incluidas las de pantalla), ser con otro nombre y formato desprotegido, ser copiado en dispositivo externo conservando la seguridad, … Estar en un periodo de fechas definido o permitir sólo un número limitado de aperturas Estar ubicado en unas coordenadas GPS concretas (específico para drones) No salirse de una ruta concreta (en el caso de un drone)
13 COPYRIGHT © 2015 ALCATEL-LUCENT. ALL RIGHTS RESERVED. 13 challenges El challenge no se valida. Se ejecuta. Su resultado se usa para descifrar Challenge 1 Result 1 Challenge 2 Result 2 Challenge 3 Result 3 Result 1Result 2Result 3 RC4 Semilla para generación de clave Clave de descifrado Fichero cifrado XOR Fichero en claro
14 COPYRIGHT © 2015 ALCATEL-LUCENT. ALL RIGHTS RESERVED. 14 challenges Una vez descifrado, el fichero no debe volcarse a disco, debe permanecer en RAM “Save as”, copy&paste, print…estas funciones de compartición se deben bloquear hooking
15 COPYRIGHT © 2015 ALCATEL-LUCENT. ALL RIGHTS RESERVED. 15 Agenda 3| Idea fundamental de la patente 1| Introducción y conceptos DLP 2| Mercado DLP y soluciones existentes 4| Challenge y cifrado 5| hooking 6| arquitectura 7| casos de uso y challenges avanzados
16 COPYRIGHT © 2015 ALCATEL-LUCENT. ALL RIGHTS RESERVED. 16 Hooking Conjunto de técnicas utilizadas para alterar el comportamiento del sistema operativo o de una aplicación, interceptando llamadas, mensajes, eventos, etc. INICIANDO WINDOWS....... más o menos
17 COPYRIGHT © 2015 ALCATEL-LUCENT. ALL RIGHTS RESERVED. 17 Hooking – Premisas
18 COPYRIGHT © 2015 ALCATEL-LUCENT. ALL RIGHTS RESERVED. 18 Hooking - Métodos Técnicas Hooking en Modo Usuario Inyección DLL Import Address Table IAT Hooking Inline Hooking Técnicas Hooking en Modo Kernel SSDT Hooking IRP HookingIDT HookingGDT Hooking Sysenter Hooking
19 COPYRIGHT © 2015 ALCATEL-LUCENT. ALL RIGHTS RESERVED. 19 Hooking – Modo Usuario, DLL Injection
20 COPYRIGHT © 2015 ALCATEL-LUCENT. ALL RIGHTS RESERVED. 20 Hooking – Modo Usuario – IAT Hooking
21 COPYRIGHT © 2015 ALCATEL-LUCENT. ALL RIGHTS RESERVED. 21 Hooking – Modo Usuario – Inline (Detours) http://www.codeproject.com/Articles/30140/API-Hooking-with-MS-Detours#Detours
22 COPYRIGHT © 2015 ALCATEL-LUCENT. ALL RIGHTS RESERVED. 22 Hooking – Modo Kernel SSDT - System Service Dispatch Table is an array located in Kerneland that basically stores the function pointers to kernel routines. Ejemplo: http://www.rohitab.com/discuss/topic/40064-my-first-ssdt-hook-driver/ IRP Hooking - I/O Request Packet (IRP) IDT Hooking - Interrupt Descriptor Table (IDT) Ejemplo: www.codeproject.com/Articles/13677/Hooking-the- kernel-directl SYSENTER Hooking – Código operación acceso a RING 0 Ejemplo: https://www.fireeye.com/blog/threat-research/2012/11/a-blast-from- the-past-how-to-protect-yourself-against-sysentersyscall-hooks.htmlhttps://www.fireeye.com/blog/threat-research/2012/11/a-blast-from- the-past-how-to-protect-yourself-against-sysentersyscall-hooks.html 64 Bits - PatchGuard
23 COPYRIGHT © 2015 ALCATEL-LUCENT. ALL RIGHTS RESERVED. 23 Hooking – El Lado Del Mal Navegador + ROOTKIT SERVIDOR LEGITIMO
24 COPYRIGHT © 2015 ALCATEL-LUCENT. ALL RIGHTS RESERVED. 24 Hooking – Anti Rootkits RootkitRevealer v1.71 TDSKILLER v2.4.7.0
25 COPYRIGHT © 2015 ALCATEL-LUCENT. ALL RIGHTS RESERVED. 25 Hooking – Primeros Pasos Win API Override IDA PRO Olly Dbg
26 COPYRIGHT © 2015 ALCATEL-LUCENT. ALL RIGHTS RESERVED. 26 También en la propia pagina de msdn tendremos la documentación de cada una de las funciones que usa Windows, esto nos proporciona información muy útil para saber como y con que se comunica cada función. http://msdn.microsoft.com/en- us/library/windows/desktop/aa364232(v=vs.85).aspx Podemos buscar por ejemplo “CreateFileW”, así podremos ver que parámetros usa y la correlación con lo que nos dice pinvoke. Hooking – Windows API
27 COPYRIGHT © 2015 ALCATEL-LUCENT. ALL RIGHTS RESERVED. 27 Hooking – Win API Override
28 COPYRIGHT © 2015 ALCATEL-LUCENT. ALL RIGHTS RESERVED. 28 Hooking – Win API Override Vamos a detenernos un poco para ver cómo se usa esta Herramienta más en detalle. Como hemos comentado es una herramienta muy potente y con muchas funcionalidades, nosotros nos vamos a detener en una de sus opciones, enganchar un proceso o programa y ver que hace dicho programa cuando se realizan acciones.
29 COPYRIGHT © 2015 ALCATEL-LUCENT. ALL RIGHTS RESERVED. 29 Para enganchar un programa, este debe estar abierto, arrastramos la opción con una especie de mira y lo ponemos encima del programa, con esto ya lo tenemos enganchado. Tras esto nos pone el Id del proceso que estamos monitoreando. Le damos al botón play para empezar con el monitoreo del programa. Hooking – Win API Override
30 COPYRIGHT © 2015 ALCATEL-LUCENT. ALL RIGHTS RESERVED. 30 Hooking – Win API Override Aquí cambiara de pantalla para escoger que dll y funciones queremos ver. Le damos al icono de la pantalla, saldrá una lista con las dlls y dentro de estas estarán los métodos a monitorear. Se escogen los deseados o todos, cuidado porque si coges todos se puede congelar la aplicación dado que haría muchas comprobaciones, la idea es ir cogiendo hasta dar con la que se desea cuando se realiza una acción.
31 COPYRIGHT © 2015 ALCATEL-LUCENT. ALL RIGHTS RESERVED. 31 Una vez hecho esto el programa se pondrá a soltar trazas de las acciones que realiza el programa enganchado, a partir de aquí es armarse de paciencia e ir viendo que hace, quitando funciones repetitivas que veamos que no hacen falta enganchar e ir filtrando poco a poco. La información que se visualiza son los métodos a los que se llaman, los parámetros que usa, los punteros que se usan en la llamada, información que se pasa, todo a muy bajo nivel, pero esta información puede ser muy útil para saber qué hacer en tu hook. Hooking – Win API Override
32 COPYRIGHT © 2015 ALCATEL-LUCENT. ALL RIGHTS RESERVED. 32 Hooking – EasyHook Codificación EasyHook es una aplicación para la inyección de hooks, esta en c#, esto nos proporcionada una manera sencilla de conectar los hooks en el sistema.Tenemos documentación e información de EasyHook en su pagina http://easyhook.codeplex.com/, aquí se puede encontrar también documentación sobre la librería:http://easyhook.codeplex.com/ Se pueden escribir hooks gestionados por el programador.Los hooks se instalar y desinstalan automáticamente.Se permite la inyección de código en procesos de 32 y 64 bits. Requisitos mínimos de software: Windows 2000 Service Pack 4 o posterior Microsoft NET Framework 2.0 Redistributable
33 COPYRIGHT © 2015 ALCATEL-LUCENT. ALL RIGHTS RESERVED. 33 Hooking – EasyHook Codificación
34 COPYRIGHT © 2015 ALCATEL-LUCENT. ALL RIGHTS RESERVED. 34 Hooking – Demo HOOKING - NO TE FIES DE LO QUE VES!!
35 COPYRIGHT © 2015 ALCATEL-LUCENT. ALL RIGHTS RESERVED. 35 Hooking – Antivirus
36 COPYRIGHT © 2015 ALCATEL-LUCENT. ALL RIGHTS RESERVED. 36 Hooking – Referencias Prácticas http://www.elladodelmal.com/2014/03/uso-de-api-hooking-en-windows-para.html http://nagareshwar.securityxploded.com/2014/03/20/code-injection-and-api-hooking-techniques/ http://www.codeproject.com/Articles/2082/API-hooking-revealed http://easyhook.codeplex.com/ http://jacquelin.potier.free.fr/winapioverride32/ http://www.codeproject.com/Articles/30140/API-Hooking-with-MS-Detours
37 COPYRIGHT © 2015 ALCATEL-LUCENT. ALL RIGHTS RESERVED. 37 Agenda 3| Idea fundamental de la patente 1| Introducción y conceptos DLP 2| Mercado DLP y soluciones existentes 4| Challenge y cifrado 5| hooking 6| Arquitectura 7| casos de uso y challenges avanzados
38 COPYRIGHT © 2015 ALCATEL-LUCENT. ALL RIGHTS RESERVED. 38 Arquitectura: tool y agente
39 COPYRIGHT © 2015 ALCATEL-LUCENT. ALL RIGHTS RESERVED. 39 Arquitectura: selección de challenges
40 COPYRIGHT © 2015 ALCATEL-LUCENT. ALL RIGHTS RESERVED. 40 Arquitectura: creación de ficheros
41 COPYRIGHT © 2015 ALCATEL-LUCENT. ALL RIGHTS RESERVED. 41 Arquitectura: creación del agente
42 COPYRIGHT © 2015 ALCATEL-LUCENT. ALL RIGHTS RESERVED. 42 Agenda 3| Idea fundamental de la patente 1| Introducción y conceptos DLP 2| Mercado DLP y soluciones existentes 4| Challenge y cifrado 5| hooking 6| Arquitectura 7| casos de uso y challenges avanzados
43 COPYRIGHT © 2015 ALCATEL-LUCENT. ALL RIGHTS RESERVED. 43 Casos de uso y challenges avanzados
44 All Rights Reserved © Alcatel-Lucent 2015