2. SEGURIDAD EN LAS WEB 2.0
«70% de los 100 sitios más populares, han hospedado contenido malicioso o han
contenido re direccionamientos para víctimas de sitios legítimos a sitios maliciosos»
(Websense, 2009)
3. Reglas Básicas
-Nunca confíe en el usuario; a menos que se tratase de alguien a quien conoce bien y
sabe que la comunicación entre ambos no tendrá conflictos.
-Limpie todo lo que sube a internet para que no tenga contenidos dañinos y haga lo
mismo con lo que baja de internet para verificar que no tenga contenidos maliciosos que
lo afecten de varias maneras.
-Busque información acerca de la página en la que quiere consultar para que se cerciore
de que es una página fiable.
-Es necesario que tenga algunos conocimientos sobre como manejar bien el internet para
que no lo afecte cosas sencillas de las que no se dio cuenta antes.
-Siempre busque en internet lo que desea con cautela, ya que así es más probable que no
tenga problemas y que la seguridad le sea muy útil.
4. La web y la seguridad
Lo que se a dado en llamar la Web 2.0 es sin duda el camino a una experiencia más
rica para los usuarios de aplicaciones web, pero según Shreeraj Shah en su artículo
'Top 10 Web 2.0 Attack Vectors' , también es un nuevo caldo de cultivo para nuevas
vulnerabilidades y vectores de transmisión de virus y ataques.
Vectores de ataque en aplicaciones Web 2.0:
-Cross-site scripting en AJAX: Las vulnerabilidades basadas en XSS son ya unas
viejas conocidas de todos los desarrolladores web, pero sin duda el amplio uso de
JavaScrip que hace AJAX hace que estas tomen una nueva dimensión.
-Envenenamiento XML: Muchas aplicaciones Web 2.0 mueven datos entre el servidor
y el cliente en forma de XML. Es relativamente fácil crear XML malformado, que
unido a un parseo poco cuidadoso del mismo en el servidor, puede degenerar en
una denegación de servicio. Debemos validar en cualquier caso todo XML recibido
en el servidor.
-Ejecución maliciosa de código AJAX: Las llamadas AJAX se ejecutan en segundo
plano sin la interacción directa del usuario. Esto hace que el usuario no siempre
sea consciente de las actividades que esta realizando un determinada web, lo que
una web maliciosa puede aprovechar para, por ejemplo, hacerse con cookies de
autentificación.
5. -Injección RSS / Atom: Esta técnica consiste en inyectar código JavaScript en el RSS o Atom
para que el navegador lo ejecute. Casi todos los navegadores son capaces de mostrar feeds
RSS o Atom. Si nuestra aplicación produce un RSS o un Atom deberíamos validar su contenido
antes de enviarlo al cliente.
-Enumeración y escaneo WSDL: Básicamente los posibles atacantes pueden encontrar un
motón de información sobre simplemente viendo la información que nosotros publicamos
sobre nuestros servicios web. Debemos proporcionar el acceso más limitado posible a
nuestros WSDLs.
-Validación (únicamente) de cliente en rutinas AJAX: La validación en cliente en la
aplicaciones Web 2.0 es muy rica, esto ha hecho que algunos desarrolladores no hagan
estas misma validaciones en el servidor. Esto es un error porque es fácil crear una
petición y enviarla al servidor saltándose la validaciones de cliente. Por ello las
validaciones de cliente siempre deben ser respaldadas en el servidor.
-Cuestiones relacionadas con el enrutado servicios web: WS-Routing permite enviar un
mensaje SOAP debidamente encriptado por un camino de servidores, pero si un solo
servidor de ese camino se ve comprometido, nuestro mensaje SOAP puede ser
comprometido.
-Manipulación de parámetros con SOAP: Es posible crear mensajes SOAP malformados que
intenten realizar inyecciones clásica tipo SQL, XPATH, LDAP o de comandos.
-Injección XPATH en mensajes SOAP: Es un proceso similar a las inyecciones de SQL sobre
bases de datos, solo que utilizando XPATH como lenguaje de consulta y documentos XML
como destino del ataque.
-Manipulación binaria del cliente rico ligero: La aplicaciones utilizan componentes
ActiveX, Flash o Applets, que ya han demostrado historicamente que son caldo de cultivo
para virus y otros tipos de malware.
6. La seguridad en las web es lo más importante que se tiene que tener
para saber usar el internet.