Monografias.com > Computación > Programación
Descargar Imprimir Comentar Ver trabajos relacionados

Seguridad en desarrollo de aplicaciones Web




Enviado por Sebastian Lopez



Partes: 1, 2

    1. Riesgos
      inherentes al entorno Web
    2. Mitos
      sobre la seguridad web
    3. Amenazas
      comunes
    4. SQL
      Injection
    5. Puntos
      importantes en una auditoria de aplicaciones Web
    6. Conclusiones
    7. Bibliografía

    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

    Partes: 1, 2

    Página siguiente 

    Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

    Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

    Categorias
    Newsletter