Examinando por Autor "Grieco, Gustavo"
Mostrando 1 - 3 de 3
Resultados por página
Opciones de ordenación
Ítem Acceso Abierto Detección de ataques maliciosos con aprendizaje automatizado(2018-07) Perrone, Gustavo Andrés; Grieco, Gustavo; Grinblat, GuillermoAño a año nuestras vidas dependen cada vez más de la tecnología, y de estar conectados a través de Internet. Progresivamente más y más objetos se conectan a Internet para facilitarnos diferentes funcionalidades. Celulares, autos, heladeras, cuentas bancarias, luces, casas, cámaras, televisores, etc. Estas conexiones nos brindan muchas ventajas y facilidades, pero a su vez aumentan la vulnerabilidad frente a ataques cibernéticos maliciosos. Estos pueden hacer caer sistemas, causar perdidas de datos, robar información privada, mover dinero, y muchos otros problemas. En los últimos años han surgido nuevos ataques sofisticado, persistentes y con objetivos concretos. Estas nuevas amenazas son denominadas Advanced Persistent Threats (Amenazas Persistentes y Avanzadas), también llamados APT. Estos ataques pueden perseguir objetivos económicos (espionaje), militares (búsquedas de debilidades, revelación de información), técnicos (credenciales, código fuente) o políticos (provocar desestabilización o desorganización, debilitar misiones diplomáticas). En vista de esta situación, y con el propósito de detectar y protegerse de estos ataques, ya no alcanza con programas tales como sistemas de detección de intrusos o antivirus que utilizan sistemas de reglas para detectar amenazas conocidas, si no que es necesario intentar prever lo desconocido. Día a día se investigan nuevas formas de detectar y prevenir amenazas en la red, generalmente utilizando técnicas de Aprendizaje Automatizado. Desgraciadamente, la detección de estos ataques altamente dirigidos requiere de grandes cantidades de datos que no están disponibles públicamente. Es por eso que esta tesina se centra en la detección de tráfico malicioso más general. Pero ¿qué técnicas son realmente efectivas en la práctica?, ¿son realmente implementables?, ¿qué se necesita para utilizarlas con éxito? En este trabajo muestro los resultados de investigar, probar y analizar varios de los algoritmos publicados, comprobando si son realmente aptos para utilizarse en situaciones reales.Ítem Acceso Abierto Detección de vulnerabilidades y análisis de fallos con técnicas de aprendizaje automatizado.(2018-03) Grieco, Gustavo; Grimblat, Guillermo L.; Mounier, LaurentLa gran mayoría de los programas que utilizamos diariamente contienen numerosos errores, los cuales causan desde dificultades menores de uso hasta su terminación anormal y pérdida de información. Desafortunadamente, algunos fallos pueden ser aprovechados para atacar la integridad, confidencialidad o disponibilidad de un sistema. Debido a que ciertos sistemas informáticos cumplen un rol central en la vida moderna, es muy importante no sólo encontrar errores en los programas sino también identificar cuáles pueden resultar en vulnerabilidades que afectan a la seguridad de los mismos. La presente tesis comienza introduciendo conceptos básicos sobre aprendizaje automatizado y seguridad en programas para ser utilizados extensivamente durante la misma. Luego, se presentan varias herramientas y técnicas novedosas para la detección de vulnerabilidades de manera automática. La primera de ellas es QuickFuzz, una herramienta de fuzzing que utiliza la generación de entradas malformadas para producir fallos en programas que procesan varios formatos de archivos complejos. La segunda es XCraft, una herramienta utilizada para la evaluación de fallos de seguridad a gran escala mediante técnicas de caja negra. También se presenta VDiscover, una novedosa herramienta para la identificación de vulnerabilidades a partir de fallos suministrados por el usuario. La misma utiliza varias técnicas de aprendizaje automatizado para estimar la probabilidad de que un fallo pueda esconder una vulnerabilidad que un atacante podría aprovechar fácilmente. Finalmente, se exponen las conclusiones y las ideas futuras para continuar con la investigación y el desarrollo de nuevas técnicas de detección de fallos y vulnerabilidades en programasÍtem Acceso Abierto Tipógrafo: Infiriendo el grafo de tipos de un programa binario(2012-08-15) Grieco, Gustavo; Caballero, JuanLa información sobre los tipos y las estructuras que un programa utiliza son fundamentales en multitud de aplicaciones. Por ejemplo en el análisis de vulnerabilidades y fallos de programa, el depurador utiliza la información de tipos y estructuras contenidas en los símbolos del programa para proporcionar al analista información contextual sobre los contenidos de memoria que el programa accede. Sin embargo existen clases de programas como los programas propietarios y los programas malignos donde ni el código fuente ni los símbolos del programa están disponibles para un analista externo. Para abordar dichos casos se intentaron diversos enfoques para tratar de inferir "tipos" en la memoria de los programas simplemente utilizando las instrucciones que ejecuta la CPU. Estos enfoques van desde definiciones ad-hoc sobre los que intenta razonar sobre las operaciones primitivas que realizan las instrucciones ensamblador hasta sistemas de tipos formales (entendidas según la teoría de tipos) sobre una versión del programa lifteada. En la presente tesinade grado, se definió una formalismo general para realizar el tipado de la memoria utilizada por un programa de dinámicamente y recuperar su grafo de tipos a partir de la memoria reservada. También se realizó la evaluación de una implementación con x86 utilizando el formalismo de análisis binario BitBlaze sobre varios diversos programas binarios.