Noc ONName Descubriendo Comunicaciones Ocultas Jordi SerraRuiz 30
Noc. ONName Descubriendo Comunicaciones Ocultas Jordi Serra-Ruiz 30 Octubre 2014
Jordi Serra-Ruiz: • Profesor Universitat Oberta de Catalunya • Director del Máster Interuniversitario de seguridad en las TIC • Miembro del grupo de investigación KISON, K-riptography and Information Security for Open Networks. • Ponente en congresos internacionales sobre seguridad • Organizador de Congresos: RECSI, UOC-Con, Information Hiding
Esteganografia: Del griego “stego” (esconder) y “grapho” (escribir) Esconder un mensaje dentro de un contenido inocuo, de manera que no sea percibido.
Historia
Rejilla de Cardado
La Celestina, o Comedia de Calisto y Melibea El bachiller Fernando de Royas acabó la comedia de Calisto y Melibea y fue nacido en la Puebla de Montalván
El responsable definitivo es el EMAD
Microfiltros en la guerra fría
http: //0 xword. com/es/libros/
Propiedades
TRANSPARENCY Provides a measure of the perceptible distortion between original and marked object. ROBUSTNESS The ability of the watermark detector to extract the embedded watermark after common manipulations. CAPACITY Amount of information that is embedded into the cover object. SECURITY The scheme must be secure, an adversary must not be able to detect data embedded. BLIND/INFORMED EXTRACTION/DETECTION The detection scheme may not have access to the original object.
L S east ignificant B Replacement it
Imagen escala de grises 112 01110000 113 01110001 Imagen Color RGB R 50 00110010 50 G 101 01100100 B 73 01001000 01001001 72
EJEMPLO OCULTACIÓN Letra ASCII A 65 Binario 01000001 Real Binario+LSB mensaje 110 01101110 108 01101100 01101101 109 100 01100100 95 01011111 01011110 94 101 01100101 01100100 100 102 01100110 102 109 01101101 109
Herramientas: Stepic: $ stepic -e -i mandril_color. tif -o mandril_stepic. tif -t message. txt Open. Stego:
Stegoanalisis LSB
Análisis Visual import sys from PIL import Image # Leemos la imagen pasada como parametro i = Image. open(sys. argv[1]) pixels = i. load() width, height = i. size # Establecemos valores para LSB=1 y LSB=0 for y in range(height): for x in range(width): r=g=b=0 if pixels[x, y][0]%2==1: r=0 else: r=255 if pixels[x, y][1]%2==1: g=0 else: g=255 if pixels[x, y][2]%2==1: b=0 else: b=255 pixels[x, y] = (r, g, b) i. show() i. save(sys. argv[2])
Análisis Visual
Valor Píxel Binario Bit inserción 1100100 0 100 = 1100100 1 101 ↑ 1100101 0 100 ↓ 1100101 1 101 = Resultado 100 101
Histograma imagen Original Intercambio de Pixeles
Histograma imagen con mensaje
import sys from PIL import Image # Leemos la imagen pasada como parametro i = Image. open(sys. argv[1]) pixels = i. load() width, height = i. size # Recorremos la imagen calculando el histograma histogram = [0]*255 for y in range(height): for x in range(width): cur_pixel = pixels[x, y] histogram[cur_pixel]+=1 # Restamos las parejas de barras total=0 for y in xrange(1, len(histogram), 2): dif=abs(histogram[y-1]-histogram[y]) total+=dif print total
CLASE DE MATEMATICAS SISTEMAS LINEALES
L S east ignificant B Matching it
Reemplazar el LSB por ± 1 Valor píxel A Resta Suma 110 01101110 108 01101100 1 01101011 107 01101101 109 100 01100100 95 01011111 0 01011110 94 01100000 96 101 01100101 0 01100100 100 01100110 102 102 0110 0 01100110 102 109 01101101 109
AUDIO
UPC - Procesamiento Digital de la Señal UAB - Señales y sistemas Transformadas matemáticas • Fourier • Wavelet
Tranformada de Fourier
Espectro Frecuencial
Discrete Wavelet Transform
Propuesta app
Modificación del espectro frecuencial para insertar los bits del mensaje
DEMO Envío de mensaje oculto a un dispositivo móvil
- Slides: 40