Actitud ante vulnerabilidades


Este sábado probablemente tenga la oportunidad de dar una plática o taller en el flisol acerca de XSS y SLQi, la cual de hecho debí haber dado con el Roa el mes pasado en Tlaxcala, pero no pude asistir al congreso 🙁

Espero que los que asistan a la plática aprendan con cierto detalle las técnicas utilizadas para detectar y atacar manualmente estos dos tipos de vulnerabilidades, pero algo que me interesa mucho también es intentar dejarles la semillita a los asistentes de que se debe ser responsable en cuanto a la programación de software (especialmente aplicaciones para web) y aún más responsable con la respuesta a las vulnerabilidades en estas.

Es muy común en la actualidad, y de hecho creo que siempre fue común :), que las compañías se dediquen a vender aplicaciones y de repente se olviden de que tenían que hacerlas con un mínimo de calidad, por lo que no es nada complicado encontrar sitios que tienen alguna de estas dos vulnerabilidades, y algunas otras que no voy a comentar.

El problema no acaba ahí, hay un problema que considero aún mas grave, es bastante común encontrar que las compañías no tienen la más mínima consiencia de cómo manejar los reportes de seguridad, y con cierta frecuencia ignoran por completo los avisos, de repente la burocracia no les permite responder en menos de unos meses, y algunas otras variantes.

Otro detalle es el de cómo reportar, los que no tienen nada mejor que hacer, y buscan vulnerabilidades para pasar el rato, tienen la responsabilidad primero de no alterar dramáticamente los sitios, eso es algo de mal gusto (a menos que tengas algun mensaje interesante que dar), y deben de reportar por los medios acostumbrados (eso sería un email), si hay una respuesta entonces al menos debe esperarse un mes para hacer público el hallazgo, o de plano nunca hacerlo público, depende de qué te interese :), y la compañia debe ser responsable de avisar un mínimo plan de trabajo, y la fecha de corrección del problema, para que evitar descontentos no solo para los clientes, sino también para el cuate que se dió el tiempo de reportar en buena onda.

Mas o menos eser sería el esquema que a mi me agrada, claro que debe haber varios detalles que no tomo en cuenta, y hay que ser flexibles en ambos lados de la linea, a veces no se puede corregir algo en 1 mes (sería muy raro, pero pue pasar), y a veces es más importante avisar que esperar a que se corrija, cosas así.

Lo más importante sería que lograramos enseñar a la gente a que debe ser detallista en cuanto al aprendizaje, si vas a hacer aplicaciones web por favor revisa también como hacerlas seguras, aprende a atacarlas, y aprende a corregir vulnerabilidades, no toma más de unos días aprender lo necesario, y puede evitar problemas muy serios.



Vulnerabilidad de Firefox (no grave?)


En la navegación acostumbrada de todos los días me encontré con una página muy interesante, desde su url http://0x000000.com, y casualmente hoy tiene en su portada un artículo sobre como esconder extensiones en firefox, que si no suena suficientemente malo, puedes pasar a ver un ejemplo práctico de esto.

No soy un experto en la materia como para ponerme a hablar al respecto, pero cada vez estamos adentrandonos más a un terreno en el que con el fin de avanzar y hacer las aplicaciones amigables, abrimos una gran puerta de acceso para ser usada en ataques (maliciosos) contra nuestros datos y lo que esté disponible al navegador (y algunas otras aplicaciones, virtualización viene a la mente).

Como le comenté a gnuget hace unos días, soy totalmente web 2.0, pero en general trato de dejarle el menor número de variables de mi vida al internet, es algo muy recomendable para todos, entre más tengas más puedes llegar a peder.

En otras palabras, si me roban mi información, no se llevan nada de valor :), prácticamente todo es transparente.



La enseñanza del día !!


Adivina donde la leí !!!!! en slashdot !!!

El artículo de Mark Down sobre como atacar la máquina virtual de flash para ejecutar código arbitrariamente está causando más que sensación, está “way out of my league”, pero nunca está demás tratar de por lo menos enteder superficialmente este tipo de técnicas, a lo mejor no voy a lograr hacer un exploit con ese método, pero algún día podré entender como proteger el código que salga de mis manos (si se diera el caso :).

Pues en el hilo de la plática sobre el artículo y su espectacularidad hay un comentario muy instructivo !! que culmina con una frase por demás informativa, que escondas un problema, no significa que no sucede !!

In your hypothetical “safe” language (C#, for example), I can’t count how many times I’ve seen system calls wrapped in a try/catch to hide the exception, then carry on pretending the call worked just fine. Guess what? SAME DAMNED PROBLEM!

Ouch !!!