Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Seguridad en desarrollo de aplicaciones Web
#1
Introducción

La seguridad, en informática como en otras áreas, se basa en la protección de activos. Estos activos pueden ser elementos tan tangibles como un servidor o una base de datos, o pueden ser la reputación de una empresa. Generalmente podemos evaluar la seguridad de un activo en base a tres aspectos principales que no necesitan explicación: integridad, disponibilidad, confidencialidad.

Estos tres aspectos a su vez dependen de otros tres elementos principales que engloban prácticamente todos los distintos controles que se pueden establecer en un sistema informático:

Autenticación: los clientes de nuestras aplicaciones o servicios deben ser identificados de forma única, sean usuarios finales, otros servicios o computadoras externas.

Autorización: no solo es necesario saber quienes acceden a nuestros activos, también es necesario establecer que es lo que pueden hacer con ellos. Un nivel de autorización dado determina que tipo de operaciones o transacciones puede efectuar un cliente dado sobre un recurso dado.

Registro y Auditoria: luego de efectuada una operación, es importante que esta sea registrada adecuadamente, en particular es esencial si queremos evitar el repudio de transacciones efectuada por un cliente.

Todos estos conceptos son especialmente válidos en el entorno de Internet, y particularmente importantes dado el crecimiento explosivo de los servicios y aplicaciones accesibles a través de Internet. Si bien cuando se habla de la seguridad de aplicaciones web se deben considerar no sólo las amenazas externas a la compañía sino también las internas (administradores malintencionados, usuarios que provocan accidentes, etc), en el presente trabajo nos enfocaremos principalmente en las externas, por ser (generalmente) las más peligrosas e impredecibles. Es sabido por otro lado que las aplicaciones más robustas y resistentes a ataques son aquellas en las cuales las cuestiones de seguridad fueron consideradas desde las primeras etapas del desarrollo.

En las próximas secciones exploraremos los problemas particulares de seguridad que presentan las aplicaciones web, y enumeraremos los distintos tipos de ataques o amenazas externas a las que se puede enfrentar.

Desarrollaremos algunos de ellos, en particular concentrándonos en aquellos ataques que burlan lo que la aplicación espera recibir por entrada del usuario; mostraremos cómo se los puede evitar o mitigar, especialmente desde la perspectiva del desarrollo.

Finalmente, a partir de los elementos vistos y otros adicionales elaboraremos una lista de elementos de seguridad que deben ser tenidos en cuenta tanto por desarrolladores, diseñadores y administradores de la aplicación, como por una eventual auditoría de sistemas.
Riesgos inherentes al entorno Web

Se ha comprobado que en los últimos años, 75% o más de los ataques electrónicos fueron a nivel de aplicación (y no a nivel de host o de red).

Blancos atractivos.

Todo tipo de transacciones se realizan actualmente en la web, y cada vez en mayor proporción. Detalles de cuentas bancarias, tarjetas de crédito y todo tipo de información confidencial y de valor circulan en enormes cantidades y continuamente. Es por ende lógico que la mayoría de los esfuerzos de hackers y demás atacantes se centre en vulnerar estas aplicaciones.

Presiones de negocio

La variedad y complejidad de los requerimientos de usuarios finales continúa creciendo, y con ellos aumenta la complejidad de las aplicaciones, la cantidad de funcionalidades y fases de testeo. Esto sumado al incremento en la competencia y en la necesidad de superarla en el time-to-market, implican sacrificios importantes en los aspectos no-funcionales de la aplicación y específicamente en los aspectos de seguridad. Especialmente cuando no existe una conciencia de seguridad a nivel corporativo, se tiende a generar una alta presión para terminar el trabajo sin considerar suficientemente las posibles vulnerabilidades.

Debilidades de HTTP.

Las aplicaciones web están en parte definidas por su uso del protocolo HTTP como medio de comunicación entre cliente y servidor. Este protocolo:

Es simple y basado en ASCII - no se requiere gran esfuerzo para generar pedidos y descifrar el contenido de las respuestas.

Utiliza un puerto TCP bien conocido – de poco sirve un firewall para proteger una aplicación si tiene que admitir el tráfico a través del puerto 80
#2
Buena imformacion muy util
WWW
#3
Gracias por la informacion muy completa amigo...
Sonrojado
WWW


Posibles temas similares...
Tema Autor Respuestas Vistas Último mensaje
Dedo arriba [Aporte] Avance del desarrollo de software inicial airfreshbaq 9 428 26-10-2017, 08:17 PM
Último mensaje: labcorpec
Bug [Duda] Mira este excelente IDE de desarrollo yuma2009 0 223 20-08-2017, 07:37 AM
Último mensaje: yuma2009
  [Aporte] Libros de programación y desarrollo web gratuitos habacuc78 22 1,391 09-05-2016, 02:10 AM
Último mensaje: juanjj
  7 Mejores Tutoriales de Desarrollo Web para principiantes CarlosAlberto 14 1,112 19-02-2016, 11:06 PM
Último mensaje: zeuz
  Desarrollo de Videojuegos. dormio 11 741 30-10-2015, 05:19 AM
Último mensaje: Lob3zNo
  [Duda] COPIA DE SEGURIDAD PÁGINA WEB pedrovillarraga 8 592 02-08-2015, 04:12 PM
Último mensaje: YamaT
Bombilla copia de seguridad paginas web pedrovillarraga 1 288 02-05-2015, 09:42 AM
Último mensaje: Vicen
  Comprobar seguridad de la web con php TOMMYNRH 8 1,280 29-04-2015, 04:38 PM
Último mensaje: bseca
  seguridad en .httacess truzst23 16 1,779 27-08-2014, 06:32 PM
Último mensaje: TheBomberbe
Arcoiris Enseñe a los niños los fundamentos de la seguridad en línea R0bert0 2 538 10-08-2014, 05:09 AM
Último mensaje: habacuc78



Usuarios navegando en este tema: 1 invitado(s)