Di algo inteligente o van a pensar que eres un tonto! - Homero Simpson

Man-in-the-Middle general

Ahora que han hablado de como vulnerar TLS con un MitM para lograr “ver” la conversación cifrada entre un navegador y un servidor web (entre otras cosas), recuerdo que hace años, cuando entendí como se hace el ARP poison, etc, pensé que debe ser relativamente sencillo crear un MitM que capture las primeras comunicaciones entre dos “hosts” para engañarlos y mandar hacia cada lado la llave pública propia, haciendolos creer que tienen la llave pública del host real.

Voy a ponerme a revisar el protocolo de SSH, pero sospecho que no hay una manera realmente efectiva de evitar esto, y podría convertirse en un problema bastante serio en los lugares en los que no se auditan las MAC Address, que es prácticamente en todas partes, aun después de los años, y de muchas implementaciones para intentar asegurar la red interna, la mayoría de los sitios siguen confiando ciegamente en su red interna, y no lo digo nomas así, lugares que invierten muchísimo, y que se supone que están a la vanguardia en seguridad hacen eso exactamente.

En fin, me pondré a revisar el “handshake” inicial de SSH para ver si realmente se podría o no meter un MitM, pero segun yo no hay manera de evitarlo mas que agregando las llaves manualmente por fuera (como se haría con el protocolo más estricto de comunicacion con PGP).

Cuando empezaremos a usar protocolos más estrictos de aseguramiento ?? jeje, pronto posiblemente :)

Tags: , , , ,

Filed under:Uncategorized

(Dear lazy web) Alternativas para crear codigo PHP para web de manera segura

Todos los que hacen algún tipo de desarrollo para web saben que los problemas que conlleva están en varios niveles: (in)compatibilidad de los navegadores a nivel de HTML, JavaScript y CSS, problemas de seguridad como XSS (cross site scripting) e inyecciones SQL.

Para todo hay trucos, y por ejemplo la incompatibilidad de los navegadores en cualquiera de los niveles se puede corregir tal vez a un 90% en la mayoría de los navegadores (los 4 mas populares :) , sin embargo, los problemas de seguridad pueden ser incluso mas importantes, o mas preocupantes.

En los últimos días he estado pensando en como podría lograrse un método o conjunto de herramientas (funciones y clases) que permitan escribir código PHP para web sin que sea posible un ataque SQLi o XSS, y sin tener que hacer a mano las validaciones.

Una alternativa es NO USAR PHP, con python/django es posible hacer todo eso y más, pero estoy intentando reescribir una aplicación ya hecha en PHP, que va a seguir siendo mantenida por programadores de PHP (en teoría) y que además tiene un esquema de base de datos ya definido (no es un problema para usar django realmente).

He estado dándole vueltas al asunto durante los últimos días, como es usual perdiendo el tiempo en vez de actuar :) , pero si sería chido conocer una alternativa robusta para hacer las cosas de la “manera correcta™”.

Por lo pronto creo que voy a darle un poco por el lado de django, pero si alguien llega a leer esta nota, y además sabe de una alternativa interesante para PHP (2 requisitos complicados de cumplir) por favor comunícamelo con señales de humo, email, respuesta aquí, o como se pueda.

Tags: , ,

Filed under:Uncategorized, debian