@xpato megustaria mencionar que las preguntas deben hacerlas en #qc
@MJesus_ a ver, comienzano
@xpato riel definio bien el punto de cryptomarkm hemos creado un modulo del kernel que reforzara las firmas del criptograficas del kernel en los ejecutables ELF
@xpato hay muchas razones del porque uno querria esto
@xpato la primera es para prevenir trojanos
@xpato un troyanos en un programa que parece util, o bonito
@xpato pero en realidad es malvado
@xpato en segundo lugar es para prevenir la intalacion de programas 'rootkit'
@xpato tipicamente, cuando un atacante ha creackeado una maquina, el o ella instala un rotkit, el cual
@xpato falseara su status en la maquina a administrador de sistemas
@xpato estos rootkirs son tipicamente programas binarios, o compilados en la maquina hackeada, asi que prevenir su utilizacion hara mas dificil la tarea del atacante
@xpato puede haber escuchado sobre "tripwire", el cual realiza un trabajo similar a cryptomark;
@xpato sin embargo, tripwire no trabaja en tiempo real, encuentra algun cambio en archivo despues de que estos se han hechos
@xpato cryptomark trrar de llenar esa perdida de tiempo, al proveer chequeos instantaneos en los ejecutables -- cuando estos estan corriendos, su firma es chequeada
@xpato si la firma ni funciona, el ejecutable no corre
@xpato asi que, entrado en las firmas
@xpato los que hemos hecho es usa un hash criptografico para proveer un "huella-digital" unica del ejecutable
@xpato luego firmamos el hash usando un algoritmo de clave publica
@xpato y guardamos la firma en la seccion ELF del ejecutable
@xpato hemos escogifo usa md5 para la funcion del hash
@xpato md5 ha estado en uso, y ha sido estudiado por la comunidad, durante muchos años
@xpato md6 produce un hash de 128bits de largom si importar el tamaño del documento introducido
@xpato el hash se parece a esto, cuando se imprime en hex:  8e783ec353dcef2db142433465c57ba6
@xpato no podemos usar la herramienta md5sum que viene con la mayoria de los linux, sin embargo
@xpato como nosotros incrustamos la firma en el ejecutable, como una nueva seccion ELF, la incrustando la firma cambiamos la md5sum del archivo
@xpato asi que, nosotros hemos escritos una nueva herramienta para computar el valor del hash en ciertas secciones del ELF, no importando la firma que añadimos
@xpato tambien incluimos el encabezado ELF en el hash, porque eso especifica la direccion donde empieza el ejecutable
@xpato (para aquellos que no estan familiarizados con ELF, es simplemente la estructura de archivos ejecutables en sistemas linux modernosm y muchos sistemas unix)
@xpato nosotros firmamos  el hash con un algoritmo de clave publica
@xpato el algortimo de clave pubilca se divide en dos llaves "publica" y "privada"
@xpato sabiendo la clave de un sistema criptografico se puede encriptar o desencriptar algo
@xpato los sistemas de clave publica permiten que las firmas sean computadas. La firma es computada con: el hash, y la clave privada
@xpato -cualquiera- en posesion de la parte publica de la llave puede verificar  que la firma fue hecha con la parte privada de la llave
@xpato en teoria, cual sistema cryptografico de llave publica puede ser usado, hasta ahora
@horacio jose_x pregunta si las secciones que hemos pasado en el computo del hash pueden "escribirse"
@horacio el que lo sean o no recae en la performance del sistema tradicional de control de accesos unix
@horacio marcar una sección ELF para escritura requiere un buen comportamiento de quien quiera que vaya a modificar el ejecutable
@horacio cryptomark trabaja con la presunción de que el control del root se ha perdido en la máquina, tratamos de proveer tanta cordura en el sistema como nos sea posible
@xpato entonce, nosotros chequeamos la firma en los que es escencialmente el ejecutable completo
@xpato hemos escogifo usar rsa para la llave publica del criptosistema
@xpato implementaciones previas usaron "el gamal", como el gpg, para el mecanismo de firma
@xpato esta fue un mala elecion, la verificacion de la firma con el gamal es 20 veces mas lenta que con rsa
@xpato sin embargo, RSA estaba aun patentado en USA, asi que la desicion tenia un gran sentido
@xpato ahora podemos libremente usar RSA, hemos cambiado la implementacion usando OpenSSL, los resultados son bastantes mas rapidos que la antigua gpg el gamal
@xpato hecho estos, pusimos el tamaño de las claves a 1024 bits
@xpato y hay un chequeo en solo una llave
@xpato añadiendo soporte para llaves multiples(para permitir que los ejecutables se firmen
@xpato va a tomar un trabajo extra, no esta hecho aun, pero solo es algo de software
@xpato hay muchas razones para agregar soporte al tamaño de clave
@xpato sin embargo, eso provee una potencia falla que puede usar un atacante, no estoy seguro la ganancia de esto
@xpato y, 1024 bit de seguridad es casi suficiente, ganando grandes avance en teoria de numeros
@xpato en eso casom 2048 0 4089 no son sanos tambin
@xpato en este punto, estas pensado "gee, no son costosas las multiplicaciones de 1024 bits?
@xpato si
@xpato por suerte, la implementacion rsa de openssl ha sido bien optimizada al pasar los años
@xpato ennla practica, hemos bajado entre 0.2 a 0.3 %
@xpato ijuz dice: por eso necesitamos una arquitectura de 64 bit (para chequeos mas rapidos"
@xpato ijus: bueno los x86-64 de amd tienen un desempeño mas rapido, pero eso es por el resultado de nuevas instrucciones optimizadas
@xpato ijuz: talves itanium no esta bien optimizado
@xpato mientras no tengamos un total implementacion disponible, los detalles sobre una antigua implementacion, y noticias sobre la nueva estan en:http://www.immunix.org/cryptomark.html
@xpato mas preguntas?
@xpato jose_n pregunta: si cryptomark usa algun cache? si, lo usamos, pero no es perfecto aun
@xpato y riel pregunta una mas dificil, si cyptomark cheque las librerias compartidas?
@xpato la cual lleva a, cryptomark revisa los sripts?
@xpato actualmente no revisa las librerias compartidas
@xpato pero lo haremos en algun momento
@xpato de todas formas, a) estas librerias no tienen garantias atomicas del kernel b) pueden ser cargadas directamente con mmap()!
@xpato por lo tantom hay muchas formas por las cuales pueden ser cargadas que no son obvias para el kernel
@xpato los scripts tienen el mismo problema, hay muchas formas que un interprete puede cargar codigo, y revisandolos del kernel es dificil
@xpato ijuz pregunta sobre si la licencia de openssl es compatible con gpl; no estamos seguros
@xpato F3nix ha preguntado: los requerimientos minimos de cryptomark?
@xpato como ocupa paging en demanda, ayuda mas RAM
@xpato y, como realiza operaciones dificeles, ayuda una CPU rapida
@xpato sin embargi, mi maquina de pruebas es un celeron 400 con 32 MB en Ram, y me gusta de esa forma, me fuerza a encontrar mejore soluciones
@sarnold xpato: did I address F3nix's question? :)
@xpato yes
@xpato jose_n sugiere que manteniendo setuid root y compilando staticamente puede ayudar ... lo haria
@xpato pero, hemos aprendido del fiasco zlib que linkear staticamente (y peor, copy&paste) codigo es un problema a largo plazo tremendo para mantener
@xpato cthulhu_ pregunta: "que pasa cuando cambias codigo al correr, con ptrace por ejemplo?"
@xpato ayuda recordad que esta tratando de resolver cryptomark, quiere elevar un barrera para infecciones de troyanos, y eleminar root-kits
@xpato ya que ptrace puede modificar procesos mientras corren, y eso no es persistenete, ptrace no tiene mucho impacto
@xpato lo segundo, no estoy seguro... pienso que la no persistencia va a ayudar
@xpato pero, cthulhu_ tiene un buen punto, que cryptomark no resolvera todo tus problemas
@xpato :)
@xpato ultima llama por preguntas? :)
@xpato quiero agradecer todas sus preguntas
@xpato y recordar que la proxima charla es en cuatro horas
@xpato Gracias
@xpato aplausos
@MJesus_ aplasusos para sarnold en #infosec y para xpato aqui
@MJesus_ clap clap clap clap clap clap clap clap clap clap
@MJesus_ clap clap clap clap clap clap clap clap clap clap
@MJesus_ clap clap clap clap clap clap clap clap clap clap
@xpato plas plass
@xpato clap clap clap clap clap clap clap
@xpato clap clap clap clap clap clap clap
@xpato clap clap clap clap clap clap clap
@xpato clap clap clap clap clap clap clap
@xpato clap clap clap clap clap clap clap
@xpato clap clap clap clap clap clap clap
@xpato clap clap clap clap clap clap clap
@xpato clap clap clap clap clap clap clap
@MJesus_ clap clap clap clap clap clap clap clap clap clap
@MJesus_ clap clap clap clap clap clap clap clap clap clap
@MJesus_ clap clap clap clap clap clap clap clap clap clap
@MJesus_ clap clap clap clap clap clap clap clap clap clap
@MJesus_ clap clap clap clap clap clap clap clap clap clap

Generated by irclog2html.pl 2.1 by Jeff Waugh - find it at freshmeat.net!