Este documento describe una herramienta llamada OPTOS que recolecta información de forma inteligente y permite realizar un seguimiento de la información. Explica cómo OPTOS funciona rastreando entidades a través de transformaciones y usando módulos de asociación. También discute los desafíos de cumplir con los límites de las API de sitios como Google, Twitter y Bing, y propone formas de superar estos desafíos.
1. Informationtracking with siguiendo la pista por la red @blueliv #optos #rooted2011 #blueliv 3 de marzo de 2011 Daniel Solís Agea Jose Antonio Lancharro Seguridad de la Información eficiente e inteligente- info@blueliv.com
2. “Eres aquello que proyectas”, por lo que es necesario: Detectar nuestro nivel de visibilidad en Internet: Activos tecnológicos (mapa tecnológico) Información de la Organización (qué hay de nosotros) Imagen y reputación (qué opinan de nosotros) Personas vinculadas a nuestra Organización (qué hacemos nosotros) Determinar nuevos vectores de ataques y abuso Excesiva visibilidad en Internet g0t r00t3d Detección proactiva de acciones maliciosas: phishing, DDoS, etc. Fugas de información(documentos, emails, comentarios en foros…) ¿Qué está pasando?
3. Es herramienta que recolecta información de forma “inteligente” y permite hacer un tracking de la información. ¿Por qué funciona OPTOS? Gracias al pecado preferido del diablo…. ¿Qué es OPTOS?
4. Es herramienta que recolecta información de forma “inteligente” y permite hacer un tracking de la información. ¿Por qué funciona OPTOS? Gracias al pecado preferido del diablo…. ¿Qué es OPTOS?
5. Es herramienta que recolecta información de forma “inteligente” y permite hacer un tracking de la información. ¿Por qué funciona OPTOS? Gracias al pecado preferido del diablo…. Gracias a que la mayoría de la población votaría a… ¿Qué es OPTOS?
6. Es herramienta que recolecta información de forma “inteligente” y permite hacer un tracking de la información. ¿Por qué funciona OPTOS? Gracias al pecado preferido del diablo…. Gracias a que la mayoría de la población votaría a… ¿Qué es OPTOS?
7. ¿Por qué OPTOS? Necesitábamos una herramienta que: Pudiésemos manejar y modificar a nuestro antojo Nos ayudara a mapear activos tecnológicos Visibilidad (pentest) Nos apoyase en la investigación de fraudes y fugas de información (!) Por las limitaciones de las herramientas actuales: Funcionalidades (explotación de los resultados) Privacidad Compartir el conocimiento con la comunidad (es de bien nacido…) Costes (de 0,8k euros a 900k euros)
8. ¿Por qué OPTOS? Necesitábamos una herramienta que: Pudiésemos manejar y modificar a nuestro antojo Nos ayudara a mapear activos tecnológicos Visibilidad (pentest) Nos apoyase en la investigación de fraudes y fugas de información (!) Por las limitaciones de las herramientas actuales: Funcionalidades (explotación de los resultados) Privacidad Compartir el conocimiento con la comunidad (es de bien nacido…) Costes (de 0,8k euros a 900k euros)
9. ¿Por qué OPTOS? Necesitábamos una herramienta que: Pudiésemos manejar y modificar a nuestro antojo Nos ayudara a mapear activos tecnológicos Visibilidad (pentest) Nos apoyase en la investigación de fraudes y fugas de información (!) Por las limitaciones de las herramientas actuales: Funcionalidades (explotación de los resultados) Privacidad Compartir el conocimiento con la comunidad (es de bien nacido…) Costes (de 0,8k euros a 900k euros)
10. Tracking downbyanEntity El algo que buscar… La entidad Los rastredores… La inteligencia… Módulos de Asociación Entidad {dominio, ip, email, nickname, persona, marca, organización, palabra/s…} E_id = {tipo, valor} Crawler {google, linkedin, fb, twitter, yahoo, bing, pgp server, p2p…} Transformadas Si E_idorigen≅E_idtransformada existe relación Excepción si se encuentra a si misma
11. Tracking downbyanEntity El algo que buscar… La entidad Los rastredores… La inteligencia… Entidad {dominio, ip, email, nickname, persona, marca, organización, palabra/s…} E_id = {tipo, valor} Crawler {google, linkedin, fb, twitter, yahoo, bing, pgp server, p2p…} Transformadas
12. Tracking downbyanEntity El algo que buscar… La entidad Los rastredores… La inteligencia… Entidad {dominio, ip, email, nickname, persona, marca, organización, palabra/s…} E_id = {tipo, valor} Crawler {google, linkedin, fb, twitter, yahoo, bing, pgp server, p2p…} Transformadas
13. Tracking downbyanEntity El algo que buscar… La entidad Los rastredores… La inteligencia… Módulos de Asociación Entidad {dominio, ip, email, nickname, persona, marca, organización, palabra/s…} E_id = {tipo, valor} Crawler {google, linkedin, fb, twitter, yahoo, bing, pgp server, p2p…} Transformadas
14. Tracking downbyanEntity El algo que buscar… La entidad Los rastredores… La inteligencia… Módulos de Asociación Entidad {dominio, ip, email, nickname, persona, marca, organización, palabra/s…} E_id = {tipo, valor} Crawler {google, linkedin, fb, twitter, yahoo, bing, pgp server, p2p…} Transformadas
15. Tracking downbyanEntity El algo que buscar… La entidad Los rastredores… La inteligencia… Módulos de Asociación Entidad {dominio, ip, email, nickname, persona, marca, organización, palabra/s…} E_id = {tipo, valor} Crawler {google, linkedin, fb, twitter, yahoo, bing, pgp server, p2p…} Transformadas Si E_idorigen≅E_idtransformada existe relación Excepción si se encuentra a si misma
16. ¿Cómo funciona OPTOS? T C E T = Transformada E = Entidad C = Conjunto de condiciones
17. ¿Cómo funciona OPTOS? T C E T = Transformada E = Entidad C = Conjunto de condiciones
18. ¿Cómo funciona OPTOS? T T C C E E T = Transformada E = Entidad C = Conjunto de condiciones | | = |info|
20. ¿Qué utilizamos para ello? Servidor Java EE 6 (p.e. Glassfish v3) Java 6 MySQL>= 5. Jython 2.5.2 RC4 Cytoscapeweb0.7.2 Lo usan otras herramientas del mercado (modo cliente) No tienes que enviar los datos a nadie (gephi/ open platformgraphviz)
21. El desafío Prohibición legal del scrapping… La velocidad del crawling… ¿Cómo superar los cuellos de botella? En los crawlers: Limitados por las compañías Restricciones del acceso Restricciones de la API, si existe… Asociar información de diferentes fuentes, normalizarla, asociarla y realizar nuevas búsquedas GRAN RETO Análisissemánticode contenidos… o eso dicen…
22. El desafío Prohibición legal del scrapping… La velocidad del crawling… ¿Cómo superar los cuellos de botella? En los crawlers: Limitados por las compañías Restricciones del acceso Restricciones de la API, si existe… Asociar información de diferentes fuentes, normalizarla, asociarla y realizar nuevas búsquedas GRAN RETO Análisissemánticode contenidos… o eso dicen…
23. El desafío Prohibición legal del scrapping… La velocidad del crawling… ¿Cómo superar los cuellos de botella? En los crawlers: Limitados por las compañías Restricciones del acceso Restricciones de la API, si existe… Asociar información de diferentes fuentes, normalizarla, asociarla y realizar nuevas búsquedas GRAN RETO Análisissemánticode contenidos… o eso dicen…
24. El desafío Yahoo Query Language Ratelimits in YQL are basedonyourauthentication. Ifyou use IP basedauthenticationthenyou are limitedto 1000 calls/day/IP. Ifyouuse OAuthbasedauthenticationthenyou are limitedto 100,000 calls/day/key*. However, in ordertomakesuretheserviceisavailableforeveryoneweaskthatyoudon'tcall YQL more than 0.2 times/secondor 1,000 times/hourfor IP authenticatedusers and 2.7 times/secondor 10,000 times/hour. *Pleasedon'tcreatemultiplekeysto 'avoid' ratelimits.Ifyouwouldlikeustoincreaseyourlimitpleasecontact us withdetails of yourproject and we'll do ourbesttoaccommodateyou.
25. El desafío Yahoo Query Language Ratelimits in YQL are basedonyourauthentication. Ifyou use IP basedauthenticationthenyou are limitedto 1000 calls/day/IP. Ifyouuse OAuthbasedauthenticationthenyou are limitedto 100,000 calls/day/key*. However, in ordertomakesuretheserviceisavailableforeveryoneweaskthatyoudon'tcall YQL more than 0.2 times/secondor 1,000 times/hourfor IP authenticatedusers and 2.7 times/secondor 10,000 times/hour. *Pleasedon'tcreatemultiplekeysto 'avoid' ratelimits.Ifyouwouldlikeustoincreaseyourlimitpleasecontact us withdetails of yourproject and we'll do ourbesttoaccommodateyou.
26. El desafío Twitter Anonymous calls are based on the IP of the host and are permitted 150 requests per hour. This classification includes unauthenticated requests (such as RSS feeds), and authenticated requests to resources that do not require authentication. OAuth calls are permitted 350 requests per hour.
27. El desafío Bing Restrict your usage to less than 7 queries per second (QPS) per IP address. You may be permitted to exceed this limit under some conditions, but this must be approved through discussion with api_tou@microsoft.com
28. El desafío Google 4.5 You acknowledge and agree that while Google may not currently have set a fixed upper limit on the number of transmissions you may send or receive through the Services or on the amount of storage space used for the provision of any Service, such fixed upper limits may be set by Google at any time, at Google’s discretion. 5.3 You agree not to access (or attempt to access) any of the Services by any means other than through the interface that is provided by Google, unless you have been specifically allowed to do so in a separate agreement with Google. You specifically agree not to access (or attempt to access) any of the Services through any automated means (including use of scripts or web crawlers) and shall ensure that you comply with the instructions set out in any robots.txt file present on the Services.
29. El desafío Google 4.5 You acknowledge and agree that while Google may not currently have set a fixed upper limit on the number of transmissions you may send or receive through the Services or on the amount of storage space used for the provision of any Service, such fixed upper limits may be set by Google at any time, at Google’s discretion. 5.3 You agree not to access (or attempt to access) any of the Services by any means other than through the interface that is provided by Google, unless you have been specifically allowed to do so in a separate agreement with Google. You specifically agree not to access (or attempt to access) any of the Services through any automated means (including use of scripts or web crawlers) and shall ensure that you comply with the instructions set out in any robots.txt file present on the Services.
30. El desafío Google 4.5 You acknowledge and agree that while Google may not currently have set a fixed upper limit on the number of transmissions you may send or receive through the Services or on the amount of storage space used for the provision of any Service, such fixed upper limits may be set by Google at any time, at Google’s discretion. 5.3 You agree not to access (or attempt to access) any of the Services by any means other than through the interface that is provided by Google, unless you have been specifically allowed to do so in a separate agreement with Google. You specifically agree not to access (or attempt to access) any of the Services through any automated means (including use of scripts or web crawlers) and shall ensure that you comply with the instructions set out in any robots.txt file present on the Services.
31. Nextsteps Versión libre Septiembre 2011 ( twitter:blueliv) Abriremos la tool previamente a algunos betatesters Nuevos crawlersy transformadas Shodan Duck, duckgo! Malware … Apertura de transformadas a la comunidad transformers :P
32. Informationtracking with siguiendo la pista por la red Casos de uso y DEMO Seguridad de la Información eficiente e inteligente- info@blueliv.com
33. DEMO Caso 1: Mapeo de activos Caso 2: Detección de sistemas comprometidos, y potencial detección de malware Caso 3: Detección de información sensible y anticipación a incidentes Wacththeavi at: http://www.youtube.com/watch?v=xYIJyoA2-Tw