@Oroz | Hola a todo el mundo |
@Oroz | nuestra conferencia de hoy corre a cargo de Polkan Garc韆 |
@Oroz | candidato a maestria en Inteligencia Artificial en el MIT |
@Oroz | y usuario y desarrollador de software libre durante m醩 de 10 a駉s |
ASCIIGirl | hola ChanGux :) |
@Oroz | Ya ha colaborado otros a駉s con umeet, por lo cual le estamos muy agradecidos |
@Oroz | y hoy nos va a hablar de "agentes intelignetes embebidos en el kernel como medida de detecci髇 de intrusos" |
@Oroz | como siempre las preguntas en #qc |
@Oroz | Polkan, cuando quieras |
@ChanGux | muchas gracias Oroz, MJesus |
@ChanGux | buenas tardes/noches a todos |
@ChanGux | primero que todo deseo agradecer a quienes me han permitido colaborar de nuevo en este evento |
@ChanGux | MJesus, Oroz, xtingray :) |
@xtingray | :) |
@MJesus_ | buenas tardes :) |
@ChanGux | el tema del que quiero hablarles el dia de hoy es agentes inteligentes embebidos en el kernel como medida de deteccion de intrusos |
@ChanGux | es un proyecto que se esta desarrollando en el Massachussets Institute of Tecnology en el despartamento de Inteligencia Artificial y Ciencias de la Computacion |
@ChanGux | y el cual anhelo se convierta en mi proyecto de grado de Msc |
@ChanGux | La agenda: |
@ChanGux | 1.) Introduccion a Sistemas detectores de Intrusos |
@ChanGux | 2.) Los IDS basados en host (hids) y su evolucion |
@ChanGux | 3.) el Signature Recognition como metodo de IDS |
@ChanGux | 4.) Algo de los mecanismos de trabajo dentro del kernel de linux y el de openbsd |
@ChanGux | 5.) Conclusiones |
@ChanGux | Un IDS (Intrusion Detection System) es un software que monitorea el tr谩fico de una red, intentando detectar intrusiones en equipos y redes. |
@ChanGux | Muchos confunden su funcionamiento con el de un Firewall, pero hay marcadas diferencias entre ambos, lo cual hace que los dos sean necesarios y que se complementen mutuamente. |
@ChanGux | Los sistemas de detecci贸n de intrusos (IDS) aportan una capacidad de reacci贸n anticipada a sus defensas, alertando acerca de toda actividad sospechosa que ocurra antes y durante un ataque. |
@ChanGux | Los sistemas de detecci贸n de intrusiones deben tratarse como una herramienta adicional a las medidas cl谩sicas de protecci贸n perimetral, ya que por si solos no pueden detener un ataque. |
@ChanGux | Sin embargo cabe destacar que existen IDS reactivos que en caso de encontrarse con una evidencia de intrusi贸n interaccionan con el sistema de protecci贸n para bloquear dicho tr谩fico. |
@ChanGux | Es preciso ser conscientes que este tipo de IDS pueden generar denegaciones de servicio contra nuestros propios sistemas. |
@ChanGux | Actualmente existe una gran variedad de sistemas de detecci贸n de intrusiones que se adaptan a cada entorno. Existen Sistemas de Detecci贸n dise帽ados para monitorizar redes completas mientras otros se implementan a nivel de host. |
@ChanGux | Antes de centrarnos en lo que ser铆a el sistema en s铆, es conveniente aclarar el concepto de intrusi贸n ya que el mecanismo que explicaremos posteriormente tiene como funcionalidad b谩sica detectar estas situaciones dentro de nuestros sistemas o redes |
@ChanGux | entonces, que es una intrusion? |
@ChanGux | Una intrusi贸n es un conjunto de acciones que intentan comprometer (poner en peligro) la integridad, la confidencialidad o la disponibilidad de un sistema inform谩tico. |
@ChanGux | Las intrusiones tienen distintos or铆genes: atacantes que acceden a los sistemas desde Internet, usuarios autorizados del sistema que intentan ganar privilegios adicionales para los cuales no est谩n autorizados, usuarios autorizados que hacen un mal uso de los privilegios o recursos que se les han asignado, 鈥 |
@ChanGux | En ocasiones se distingue entre lo que se denomina actividad an贸mala y actividad intrusiva. Existen actividades Intrusivas pero no an贸malas (falsos negativos) que por el hecho de no escaparse de unos patrones de comportamiento normal, el IDS no las detecta. |
@ChanGux | Por otro lado existen actividades an贸malas que no son realmente intrusivas (falsos positivos), 茅stas las detecta el IDS pero despu茅s de un an谩lisis exhaustivo de la alerta se llega a la conclusi贸n de que no se trata de ning煤n intento de intrusi贸n. |
@ChanGux | Estas 煤ltimas son las m谩s comunes en estos entornos y para ello se estima un per铆odo de ajuste hasta eliminar un porcentaje elevado de estos falsos positivos. Con ello se consigue una optimizaci贸n del sistema. |
@ChanGux | Un sistema de Detecci贸n de Intrusos o IDS (Intrusion Detection System) es una herramienta de seguridad que se utiliza para monitorizar los eventos que ocurren en un sistema inform谩tico con el objetivo de localizar posibles intentos de intrusi贸n. |
@ChanGux | Estos sistemas basan su funcionamiento en la recolecci贸n y el an谩lisis de informaci贸n de diferentes tipos de ataque para posteriormente determinar la posible existencia de un ataque. |
@ChanGux | Los IDS son los 鈥渙jos鈥 del equipo de seguridad. No hay que olvidar que son herramientas de monitorizaci贸n y detecci贸n complementarias a los mecanismos de protecci贸n tradicionales. Primero implantaremos mecanismos de protecci贸n (Firewalls, Antivirus, VPN, etc.) y posteriormente procederemos a implantar el sistema de detecci贸n de intrusiones. |
@ChanGux | Pese a la automatizaci贸n de los sistemas de detecci贸n, los costes de mantenimiento son extremadamente elevados ya que es necesario destinar muchos recursos humanos para visualizar y gestionar las alertas, as铆 como para distinguir entre los ataques reales y los denominados falsos positivos (detecci贸n de intrusiones que realmente no lo son). |
@ChanGux | El IDS debe ejecutarse continuamente sin que nadie est茅 obligado a supervisarlo. Su funcionamiento habitual no debe implicar interacci贸n con un humano, sin embargo para obtener resultados realmente positivos, es necesario que una persona monitorice las alertas que muestra el dispositivo de detecci贸n de intrusiones. |
@ChanGux | Es importante que el IDS no debe generar una cantidad elevada de falsos positivos o de logs ya que llegar铆a un momento en que nadie se preocupar铆a de comprobar las alertas emitidas por el detector. |
@ChanGux | Ning煤n sistema inform谩tico puede considerarse est谩tico: desde la aplicaci贸n m谩s peque帽a hasta el propio kernel de Linux, pasando por supuesto por la forma de trabajar de los usuarios (adaptabilidad). En el mundo de la seguridad de sistemas de informaci贸n todo cambia a gran velocidad y si nuestros mecanismos de detecci贸n de intrusos no son capaces de adaptarse r谩pidamente a esos cambios est谩n condenados al fracaso. |
@ChanGux | Funcionalidad del IDS |
@ChanGux | Una de las funciones m谩s importantes de los IDS es la de prevenir problemas ya que se incrementa la posibilidad de descubrir y demostrar que una intrusi贸n ha tenido lugar |
@ChanGux | Hay situaciones de alto riesgo, entre la publicaci贸n de una vulnerabilidad y la publicaci贸n del parche que la corrige, en las cuales est谩 claramente justificado el uso de los IDS para monitorizar la red durante el tiempo que es vulnerable. Los intentos de acceso en este per铆odo ser谩n especialmente cr铆ticos. |
@ChanGux | Los IDS tienen la capacidad de detectar las fases previas a un ataque, es decir, aquellas en que el posible atacante est谩 analizando el sistema. |
@ChanGux | pero, que tal si fuera posible concentrar estas alertas de seguridad en una gran BASE DE DATOS que alguna entidad computacional indistinta (no dependiente de la distribucion/sabor) pudiese consultar (como un rdf) y alli saber que fallas de seguridad le competen y pueda tomar medidas por si misma para aislar la probabilidad de exito del ataque? |
@ChanGux | Esta "entidad computacional" quiza puede ser la combinacion de tecnicas particulares de deteccion de intrusos y tecnologias y conceptos recientemente involucrados en el panorama tecnologico |
@ChanGux | si, las instancias previas al ataque (tipificacion de escenarios) pueden ser "anunciadas", el sistema no puede evitar que 茅sta se produzca y en su defecto procede a enviar una alerta al administrador (IDS pasivo) o bloquear el origen de dicho escaneo (IDS reactivo). |
@ChanGux | Un IDS nos puede ayudar a conocer la amenaza existente fuera y dentro de la organizaci贸n. Esto hace que podamos tomar decisiones sobre que mecanismos de seguridad deber铆amos implantar en nuestra empresa. |
@ChanGux | Podemos entonces, realizar una breve clasificacion de los IDS de acuerdo a la fuente que nos proporciona la informacion |
@ChanGux | * HIDS (Host Intrusion Detection System) |
@ChanGux | * NIDS (Network Intrusion Detection System) |
@ChanGux | * Seg煤n el tipo de an谩lisis. |
@ChanGux | * Detecci贸n de firmas Signature Recognition |
@ChanGux | * Detecci贸n de anomal铆as |
@ChanGux | Para este caso, el presente trabajo trata de aunar esfuerzos entre los HIDS y los mecanismos de Detecci贸n de firmas Signature Recognition |
@ChanGux | asi que vamos a centrar lo que queda de esta charla en ellos |
@ChanGux | Los HIDS fueron el primer tipo de IDSs desarrollados e implementados. Su funci贸n es analizar los cambios a nivel de S.O., es decir, controlar todos aquellos par谩metros y archivos que est谩n disponibles a nivel del sistema operativo, y que suelen ser modificados cuando tiene lugar un ataque. |
@ChanGux | Como todo sistema de detecci贸n de intrusos estos tambi茅n reportan m煤ltiples falsos positivos. Una vez ajustado el sistema la reducci贸n de los falsos positivos es notable y es cuando este tipo de IDSs deja pasar por alto muy pocos compromisos del sistema |
@ChanGux | Existen varios productos: Tripwire, Aide, Dragon Squire (Network Sec. Wizards), Intruder Alert (Axent Tech.), RealSecure (ISS) |
@ChanGux | Estos sistemas act煤an monitorizando cambios del sistema a nivel local por tanto llegan a un nivel m谩s bajo que otros sistemas de detecci贸n de intrusos y pueden detectar intentos de intrusi贸n que otros sistemas no pueden detectar. Sin embargo estos sistemas act煤an a nivel de host y requieren m谩s tiempo de gesti贸n y configuraci贸n, ya que cada host donde lo implantemos deber谩 tener una configuraci贸n espec铆fica. El hecho de instalarse en el mismo ser |
@ChanGux | vidor hace que influya en el rendimiento del sistema monitorizado. |
@ChanGux | La detecci贸n de firmas (Signature Recognition) es actualmente la t茅cnica m谩s usada por los detectores de intrusos. Estos recogen el tr谩fico de red y luego proceden a analizar dicho tr谩fico. La forma de an谩lisis se basa en la comparaci贸n de patrones (pattern matching). El sistema contiene una base de datos con patrones de ataque e ir谩 buscando coincidencias con dichos patrones y cuando se detecte una coincidencia saltar谩 la alerta. |
@ChanGux | El buen funcionamiento de un sistema de estas caracter铆sticas no s贸lo depende de una buena instalaci贸n y configuraci贸n sino de que la base de datos en la que tenemos los patrones de ataque este actualizada. |
@ChanGux | entonces, de nuevo, evidenciamos la necesidad de una base de datos que permita "inferir" consecuencias... |
@ChanGux | la tecnica de deteccion de intrusos en la que mas de investiga en la actualidad es la detecci贸n de anomal铆as (Anomaly Detection) |
@ChanGux | La detecci贸n de anomal铆as (Anomaly Detection) es la t茅cnica en la que el sistema busca patrones anormales de actividad. Esta t茅cnica ha sido y contin煤a siendo objeto de investigaci贸n. |
@ChanGux | La detecci贸n de anomal铆as se centra en identificar comportamientos inusuales en un host o una red y para ello utilizan t茅cnicas de Inteligencia Artificial |
@ChanGux | Para su funcionamiento se necesita definir un comportamiento 鈥渘ormal鈥 que permita analizar desviaciones de dicho comportamiento ya que funcionan asumiendo que los ataques son diferentes a la actividad normal lo que hace que estos sistemas generen muchos falsos positivos. |
@ChanGux | entonces, existe algo capaz de entregar estos "comportamientos normales" tipificados? algo que puede ser analizado de forma dinamica y que a su vez, incluya nuevas practicas que "aprenda" usando por ejemplos algoritmos bayesianos? |
@ChanGux | pues la respuesta a todas estas inquietudes, podria venir tambien del MIT |
@ChanGux | ConceptNet (http://web.media.mit.edu/~hugo/conceptnet/) |
@ChanGux | Este sistema, el ConceptNet, est谩 pensado para mantener de una forma sencilla las complejas redes sem谩nticas multiling眉es, tanto con nuevos significados, como con nuevas palabras o relaciones. Adem谩s permite almacenar significados por el usuario sin que 茅ste sea experto en cuestiones sem谩nticas. |
@ChanGux | Es asi, que podriamos construir una "base de datos" con alertas, buenas practicas y otras sanas constumbres de administracion y embeberlas de alguna forma dentro de la entidad mas importante de los sistemas operativos tales como linux y openbsd |
@ChanGux | recordemos que la seguridad de estos sistemas operativos parte basicamente de su arquitectura de construccion en el mismo kernel (linux, match) |
@ChanGux | Los detectores de anomal铆as construyen perfiles representando el comportamiento normal de los usuarios, hosts o conexiones de red. Estos perfiles son construidos de datos hist贸ricos (data mining) recogidos durante el periodo normal de operaci贸n. |
@ChanGux | Los IDSs basados en detecci贸n de anomal铆as detectan comportamientos inusuales. De esta forma tienen la capacidad de detectar ataques para los cuales no tienen un conocimiento espec铆fico. Estos sistemas pueden producir informaci贸n que puede ser utilizada para definir firmas en la detecci贸n de abusos. |
@ChanGux | Por el contrario, la detecci贸n de anomal铆as produce un gran n煤mero de falsas alarmas debido a los comportamientos no predecibles de usuarios y redes y requieren conjuntos de entrenamiento muy grandes para caracterizar los patrones de comportamiento normal. |
@ChanGux | De esta forma, se han vienen desarrollando mecanismos para enlazar el kernel de linux y openbsd con depachadores de agentes de inteligencia artificial |
@ChanGux | que se encargen de recorrer el sistema auditanto las practicas regulares y consultandolas contra algunos releases previos de conceptnets de seguridad que venimos desarrollando a modo de prueba |
@ChanGux | estos agentes, se incluyen dentro del kernel de los sistemas operativos a modo de kernel modules y basicamente ofrecen un "shell" que permite interactuar y auditar el comportamiento de los mismos |
@ChanGux | todos ellos desarrollados basicamente en dos lenguajes de progamacion: chicken scheme y common lisp |
@ChanGux | el proyecto ya tiene a la fecha versiones "alpha" de al menos 10 agentes distintos que se encargan de auditar y recorrer los sistemas operativos en modo "monosistema" esperando encontrar conductas que requieran intervencion del administrador |
@ChanGux | concretamente, en openbsd se viene desarrollando una extension para pf que permita tratar estos agentes directamente, algo que espero llamar pfctlAI |
@ChanGux | que permita entregar caracteristicas de IDS activo a openbsd (o dicho en otros terminos a su implementacion de packet filter "pf") |
@ChanGux | ahora mismo tambien, dentro del departamento de ciencias de la computacion se esta trabajando junto con Hugo Liu (uno de los autores de conceptnet) en la construccion de "corpus" de seguridad informatica y mecanismos de lectura de rdf directamente desde los agentes para de este modo proveer soluciones integrales |
@ChanGux | que permitan a muy corto plazo salir a produccion oficialmente |
@ChanGux | solo despues de esto, podremos formalizar recursos de investigacion del CSAIL MIT para extender el desarrollo |
@ChanGux | y formalmente presentar a la comunidad los logros |
@ChanGux | se estima que por condiciones del departamento de ciencias de la computacion e inteligencia artificial, todo el software estara sujeto naturalmente a las licencias del kernel de linux y de openbsd |
@ChanGux | y el codigo restante, a la MIT o a la licencia que estimen los directivos |
@ChanGux | creo que esto es todo, muchas gracias por estar aqui |
@Oroz | gracias a ti ChanGux |
@ChanGux | mi mail para dudas es pagarcia@mycrossoff.com |
@Oroz | te copia una pregunta de alejandro en #qc |
@Oroz | 195844< alejandro> ChanGux: cual es el trabajo actual en labores de heuristica |
@Oroz | para conseguir evitar falsos positivos? |
@Oroz | 195919< alejandro> ChanGux: Por ejemplo, actualmente el uso de IDS como IPS |
@Oroz | puede ser un gran problema si se hace un uso de an肅隆lisis |
@Oroz | de firmas y hay un gran alto n肅潞mero de falsos positivos. |
@ChanGux | alejandro, los falsos positivos ahora mismo son casi imposibles de evitar.... |
@ChanGux | sin embargo, de la capacidad de profundizar las rutinas propias de "sana administracion" que reposen en el conceptnet |
@ChanGux | dependera gran parte del exito |
@alejandro | ChanGux: si, de eso soy consciente, pero hay situaciones en los que se quiere implantar un IPS, la soluci脙鲁n que acabo dando es que el an脙隆lisis de firmas sea muy concreto y a casos muy particulares para intentar evitarlos. |
@alejandro | ChanGux: quer脙颅a saber como el an脙隆lisis mediante anomal脙颅as o usando IA, puede ayudar a que existan menos. |
@ChanGux | sencillamente construyendo mejores agentes alejandro |
@ChanGux | agentes capaces de "entender" y "aprender" |
@ChanGux | estamos en procesos fuertes de entrenamiento que esperamos |
@MJesus_ | menos intruciones ? |
@ChanGux | nos den frutos que limiten la cantidad de falsos positivos |
@alejandro | ChanGux: actualmente no existe ninguna soluci脙鲁n que tenga en cuenta el uso de agentes, no? |
@ChanGux | alejandro, existe algo de mcaffe, pero vale muchisimo |
@alejandro | ChanGux: porque implementaciones como Snort, ModSecurity, etc, usan an脙隆lisis mediante firmas |
@alejandro | ChanGux: ah ok, interesante, espero que no sea Intrushield, porque es bastante malilla. :-) |
@ChanGux | si alejandro....a la fecha no hay soluciones fuertes distinta a la de NAI en el aspecto de AI |
@ChanGux | si, lo se...he sido victima de ella |
@alejandro | ChanGux: y como gente de fuera puede colaborar al proyecto? est脙隆 abierto? |
@ChanGux | pues alejandro, por ahora espero formalizen el proyecto y de ese modo obtener los recuros de maquina y demas, puedes enviarme tu mail y bueno, seras de los primeros en enterarte de las novedades |
@alejandro | ChanGux: ok, muchas gracias. ;-) |
@ChanGux | <^ogro^>ChanGux: de los 10 agentes de las pruebas, hay una interaccion/reparto de responsabilidades entre ellos? o todos hacen lo mismo? |
@ChanGux | si ^ogro^, los 10 agentes auditan cosas distintas |
@ChanGux | :o) |
@ChanGux | son 10 puntos criticos que parecen ser facilmente auditables de forma permanente |
ChitleshG | can I register my nick over here (in this server)? |
@ChanGux | pero claro, es un juicio inicial designar 10 agentes |
@ChanGux | deseamos construir mega-agentes que obren por conductas |
^ogro^ | y parten de un conocimiento inicial que se van "retroalimentando " y aportando conocimiento a todo el sistema? |
@ChanGux | y bueno, asi tener un producto mas robuzto |
@alejandro | ChanGux: toda la implementaci脙鲁n est脙隆 en kernelspace? o solo los agentes? |
@ChanGux | si ogro, parten del conceptnet y luego de acuerdo a las medidas que se toman, se aprenden |
@ChanGux | solo los accesos a kernel alejandro, lo demas esta en userspace |
@ChanGux | <genesis>ChanGux cuanto tiempo pasara para que estos agentes vengan por defecto en los sistemas ? |
@ChanGux | genesis, es dificil de contestar....tenemos que madurar el proyecto lo suficiente, seguir los ciclos normales de desarrollo y de las distribuciones |
@ChanGux | pero nuestra meta es ser una solucion "por omision" |
@ChanGux | algo mas? |
ASCIIGirl | parece que no... :) |
^ogro^ | alguna web informativa del proyecto? |
@ChanGux | ah, pueden estar revisando http://csail.mit.edu/~pagarcia/ alli en breve aparecera la informacion existente (por fin me han aprobado la cuenta en el server) |
^ogro^ | :) |
jean_cull | :) |
@ChanGux | por lo pronto, mi mail y bueno, alli los podre tener informados |
genesis | felicitaciones...buena charla clap clap xD |
^ogro^ | ok, gracias |
@Oroz | gracias ChanGux |
@alejandro | ok, muchas gracias y excelente charla. :-) |
^ogro^ | si, interesantisima |
@ChanGux | muchas gracias a ustedes |
usuari | gr醕ias |
NeoCool | heh |
ernierv | thks |
genesis | clap clap |
@MJesus_ | [20:08] <genesis> ChanGux cuanto tiempo pasara para que estos agentes vengan por defecto en los sistemas ? |
@MJesus_ | sorry |
@Oroz | jeje |
@ChanGux | pero nuestra meta es ser una solucion "por omision" |
@ChanGux | por omision, como lo mencione antes aun falta madurar...pero es nuestra meta |
@ChanGux | bueno eso, y generar masa critica |
@ChanGux | por ahora soy el lider del proyecto, el autor de todo el codigo, etc, etc.... (por tratarse de mi trabajo de grado) |
@MJesus_ | va camin de tenerlo desde luego |
@MJesus_ | enhorabuena !! |
SauDick | de acuerdo a las espectativas, cuales serian los puntos a cubrir? |
@MJesus_ | para cuando crees culminar el proyecto ? |
@ChanGux | pues SauDick .... |
@ChanGux | primero el conceptnet debe ser formalizado y alimentado |
@ChanGux | programadores den kernel space y despachadores de agentes |
@ChanGux | incluso un framework de desarrollo de agentes |
@ChanGux | y millll pruebas |
@ChanGux | :) |
@ChanGux | culminarlo? tengo hasta Junio o me rechazan el trabajo |
@ChanGux | asi que la pelea es contra el tiempo |