Máster Universitario en Software y Sistemas

Ofuscación de código - una vista de Hacking en análisis y comprensión de programas

Resumen de Contenido

El curso presentará la teoría y práctica de las tecnologías de protección de código con especial énfasis en la relación entre el análisis del programa y la ofuscación del código. El primero se dedica a entender los programas, mientras que el segundo se dedica a hacer esta comprensión difícil si no incluso imposible.

Programa

      
  1. Ofuscación: definición informal, el campo de batalla en las grandes tecnologías de protección de código, ejemplos de malware y protección IP/key. El mercado: impacto económico y sociológico
  2.   
  3. Teoría de los compiladores: estructuras ordenadas, redes completas, puntos de fijación, semántica, intérpretes, especialistas. Proyecciones Futamura. Ejemplos en Scheme
  4.   
  5. Teoría de la ofuscación de código: PTM, funciones unidireccionales, funciones de puntos, VBB, posibilidad e imposibilidad de resultados
  6.   
  7. Análisis abstracto basado en el análisis de los programas. Solidez e integridad
  8.   
  9. Limitar a los atacantes en un intérprete abstracto. Ejemplos: seguimiento y recopilación, datos/control-flujo, perfiles, monitorización, intervalos, octógonos, restricciones lineales de Karr
  10.   
  11. Código oscuro: hackear un intérprete abstracto. Algunas teorías y prácticas: Imp vs Interproc
  12.   
  13. Código oscurecido: transformar un intérprete concreto para hackear un intérprete abstracto: aplanamiento de código, anti-programa cortado y anti-monitorización
  14.   
  15. Práctica: Scheme / C-Tigress
  16.   
  17. Retos y problemas abiertos

Método de Evaluación

El examen se realizará en un concurso final en el que los estudiantes tendrán que producir código obscurecido de algún código simple.

Prerrequisitos

Créditos

2 ECTS

Observaciones

Los estudiantes necesitarán tener un portátil/ordenador para instalar las herramientas y realizar los ejercicios prácticos.

Bibliografía

Días de Impartición y Horario

Aula

A-6205

Idioma

Inglés.



Inscripción a este seminario: Para inscribirse a este seminario, por favor, rellena estos campos (solo son válidos correos de la UPM):