martes, 29 de mayo de 2012

UNIDAD 6. SEGURIDAD EN APLICACIONES


6.1 seguridad en la web


La seguridad es un tema de vital importancia en muchos aspectos de la vida cotidiana. Muchas veces creemos tomar las medidas básicas de seguridad necesarias, pero aún así nos roban en el banco, tenemos accidentes de tráfico, cometemos errores que se manifiestan plenamente luego de nueve meses, entre otros aspectos que revelan descuido respecto a nuestra protección. En el ámbito web, los descuidos están referidos a la poca seguridad que tienen los usuarios con la principal línea de defensa de sus cuentas: la contraseña






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 quiénes 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

Mitos sobre la seguridad web

El usuario solamente enviará entradas esperadas - HTML admite el uso de tags que manipulan la entradas a la aplicación, por ejemplo si la aplicación utiliza campos ocultos para enviar información sensible estos pueden ser fácilmente manipulados desde el cliente.
La validación se puede realizarse únicamente del lado del cliente con Java Script - si no se efectúa ninguna validación del lado del servidor, cualquier atacante que evite esta validación (para nada difícil de lograr) tendrá acceso total a toda la aplicación.
El uso de firewalls es suficiente - como explicamos anteriormente, si el firewall tiene que habilitar los puertos 80 y/o 443 para que la aplicación sea accesible al exterior, no podrá hacer nada para detectar entradas maliciosas del cliente, y por supuesto no es protección contra ataques internos.
El uso de SSL es una solución suficiente - SSL simplemente cubre el request/response HTTP dificultando la intercepción del tráfico entre cliente y servidor, pero no agrega seguridad al servidor ni evita el envío de código malicioso desde el cliente.

Amenazas comunes

Los múltiples ataques externos a los que puede estar expuesto un sitio web son usualmente clasificados en 6 categorías principales. Indicaremos cada una y los tipos de ataques más típicos que incluyen, y a continuación describiremos en mayor detalle cuatro de ellos.

Autenticación: son las que explotan el método de validación de la identidad de un usuario, servicio o aplicación.

  • Fuerza Bruta
  • Autenticación insuficiente
  • Débil validación de recuperación de Password
Autorización: explotan el mecanismo de un sitio web de determinar si un usuario o servicio tiene los permisos necesarios para ejecutar una acción.

  • Predicción de Credenciales o Sesión
  • Autorización insuficiente
  • Expiración de Sesión insuficiente
  • Fijado de Sesión
Ataques Lógicos: explotan la lógica de la aplicación (el flujo procedural utilizado por la aplicación para efectuar cierta acción.

  • Abuso de funcionalidad
  • Denial of Service
  • Insuficiente Anti-Automatismo
  • Insuficiente validación de procesos
  • Manipulación de entradas (URL, campos).
Ataques al cliente: atacan al usuario de la aplicación.

  • Content Spoofing
  • Cross-Site Scripting

Ejecución de comandos: ataques diseñados para ejecutar comandos remotos en el servidor.

  • Buffer Overflow
  • Format String
  • LDAP Injection
  • Ejecucuón de Comandos (OS Commanding)
  • SQL Injection
  • SSI Injection
  • XPath Injection
  • Robo de Información: ataques que apuntan a adquirir información específica sobre el sitio web.
  • Indexado de directorio
  • Caminos transversales
  • Predicción de ubicación de recursos
  • Escape de información
  • Los ataques que vamos a describir son SQL Injection, Manipulación de entradas, Ejecución de Comandos, y Cross Site Scripting


Selección de contraseña


Nunca uses la misma contraseña para diferentes servicios

Aún cuando resulta difícil recordar varias contraseñas, no utilices nunca la misma clave en diferentes servicios. Si lo hicieras serías más vulnerable ante los ataques y pondrías en riesgo todas tus cuentas, pues sólo se necesitará hackear una cuenta para que pierdas tu privacidad.

Preguntas de seguridad


Nunca respondas con la verdad las preguntas de seguridad por cuanto la respuesta a dichas preguntas puede estar incluso en tu perfil de facebook sin que lo recuerdes, y si resulta que eres una personalidad famosa las respuestas pueden encontrarse en una búsqueda en la web. Esta fue la vía mediante la cual hackearon la cuenta de Yahoo! mail de la candidata a la vicepresidencia de Estados Unidos, Sarah Palin.

De ser posible crea tu propia pregunta de seguridad o simplemente olvídate de esas preguntas y concéntrate en recordar tus contraseñas.

Elevando el nivel de seguridad en el correo

Gmail representa uno de los servicios gratuitos de correo con mayor seguridad. Te permite Encriptar todo tu correo mediante el uso de un estándar llamado Protocolo Seguro para Transferencia de Hipertexto (HTTPS), que garantizar la seguridad de las comunicaciones entre el usuario y el servidor web al que éste se conecta. Esto dificulta que los espías digitales intercepten tus mensajes en hotspots Wi- Fi abiertos. No obstante la referida encriptación está de seleccionada por omisión, para seleccionarla revisa la sección settings en la parte superior de tu cuenta de Gmail. En la pestaña general, baja hasta donde dice Browser connection y selecciona Always use https. De manera alternativa, también puedes acceder a una versión segura del sitio tecleando https://www.gmail.com (nota la S) en la barra de dirección de tu navegador. La encriptación puede ocasionar que la página de Gmail cargue un poco más lento pero la seguridad lo vale, más aún si utilizas un nodo de acceso público para conectarte.

Hotmail y Yahoo! también ofrecen encriptación HTTPS pero únicamente para tu nombre y contraseña en la página de acceso, lo cual implica que tus mensajes pueden ser interceptados por alguna mente maliciosa y creativa. En Yahoo! mail esta opción siempre está activada y en Hotmail debes presionar el botón que dice Use enhaced security, abajo de donde introduces la contraseña.

Seguridad Básica

Ø  Nunca dejes tu máquina desbloqueada (nunca se sabe lo que puede ocurrir). Siempre cierren la sesión de su cuenta, principalmente si utilizas una computadora pública o compartida.
Ø  Asegúrate de que los espacios para el nombre y la contraseña no hayan sido guardados de forma automática por el navegador, incluso si eres la única persona que utiliza la computadora no es recomendable. Recuerda que las computadoras (sobre todo las laptops) son susceptibles a robos, intromisiones o pérdidas y si esto ocurre tus cuentas estarían en riesgo.
Ø  No hagan público el número de caracteres de su contraseña.

Ø  No copien sus contraseñas en papeles que luego dejen descuidados en alguna parte insegura.
Ø  Al igual que tu cepillo de dientes, cambia cada cierto tiempo las contraseñas de todas tus cuentas y nunca las compartas con tus amigos.

Los servidores web

Los servidores web son una de las muchas caras públicas de una organización y por lo tanto son potencialmente un blanco fácil. Como recurso público, un servidor web es como un “cebo de tiburón” para algunos. Pero no tiene que ser así. Aprenda como un servidor web puede ser público y estar blindado al mismo tiempo.
Los servidores web representan una paradoja interesante, ¿Cómo compartir la información de su organización sin sacrificar el -así llamado- almacenamiento? Solucionar este dilema es un trabajo arduo y poco agradecido; pero es también uno de los más importantes.
Antes de avanzar en el tema, veamos algunas de las amenazas que su servidor puede enfrentar en virtud de estar en el "frente de batalla".

Amenazas contra los servidores web

Hoy día, hay un enorme número de amenazas a las que hace frente a un servidor web, muchas de ellas dependen del uso, el sistema operativo y el ambiente que se haya configurado en el sistema mismo. Estos son algunos de los ataques más genéricos que su "pobre" servidor puede enfrentar.

v  Negación del servicio

Un ataque por negación del servicio (DOS) es uno de los ataques de la “viejo-escuela” que el servidor puede enfrentar. El ataque es muy simple, y hoy en día es realizado por aquellos individuos conocidos comúnmente como script kiddies, con un perfil de habilidades técnicas bajo. En resumen, un ataque DOS es un ataque en el cual un sistema ataca otro con la intención de consumir todos los recursos del sistema (tales como ancho de banda o ciclos del procesador), no dejando nada libre para peticiones legítimas. Generalmente, estos ataques se han relegado a la categoría de molestias, pero no por ello hay razón para bajar la guardia ante ellos, aunque hay un montón de cosas más para mantenerse despierto.

v  Negación del servicio distribuida

El ataque por negación del servicio distribuido (DDoS) es el hermano mayor del ataque DOS y como tal es más malo y más sucio. La meta del ataque DDoS es hacer la misma cosa que el DOS, pero a una escala mucho más grande y compleja. En un ataque de DDoS, en vez de un sistema ataque a otro, un atacante utiliza sistemas múltiples para apuntar un servidor (su servidor), y sistemas múltiples significa (en algunos casos) no centenares o millares, sino hasta cientos de millares. Donde el ataque DOS es tan solo una molestia, un ataque de DDoS puede ser mortal, ya que puede llevar a un servidor fuera de línea rápidamente. La buena noticia es que el nivel de habilidad requerido para contrarrestar un ataque DDoS apagado no es tan alto.

v  Algunos de los ataques más comunes de DDoS incluyen:

Ataques FTP.

Un ataque FTP (File Transfer Protocol) se decreta cuando un atacante carga en un servidor ftp un archivo construido especialmente para hacerlo vulnerable, el efecto es que alternadamente lo remite a otra localización, que es generalmente otro servidor ftp dentro de la organización. El archivo enviado típicamente contiene una cierta clase de carga diseñada para hacer que el servidor final haga lo que el atacante desea.

Ataque de exploración de puertos.

Un ataque de exploración de puertos se realiza a través la exploración estructurada y sistemática de un Host. Por ejemplo, alguien puede explorar su servidor web con la intención de encontrar servicios expuestos u otras vulnerabilidades que puedan ser explotadas. Este ataque puede ser realizado de una manera fácil con cualquier número de programas exploradores de puertos disponibles gratuitamente en Internet. También es uno de los tipos de ataque más comunes, pues es tan simple que los pequeños hackers (script kiddies) los realizan apenas consiguen el nombre de un Host o la dirección IP de un servidor (sin embargo, típicamente ellos no saben interpretar los resultados). Tenga esto presente, pues un atacante con más habilidades utilizará la exploración de puertos para descubrir información que usará en un esfuerzo posterior.

Ataque de inundación por ping (Pingflood).

Es un ataque simple DDoS en cuál una computadora envía un paquete (ping) a otro sistema con la intención de descubrir información sobre servicios o sistemas de arriba a abajo. En el extremo inferior, una inundación por Ping se puede utilizar para descubrir información encubierta, pero en la parte alta los paquetes que son enviados a una blanco o víctima pueden provocar que el sistema quede fuera de línea o sufra retardos. Este es un ataque a la “vieja escuela”, pero es aún muy eficaz, ya que cierto número de sistemas operativos modernos siguen siendo susceptibles a este.

Ataque "Smurf".

 Este ataque es similar al ataque de inundación por ping pero con una astuta modificación al proceso. En un ataque Smurf, el comando "ping" se envía a una red intermedia, donde el efecto se amplifica y se remite a la víctima. Así, lo que antes era una sola “gota” ahora se convierta en un "tsunami" virtual de tráfico. Afortunadamente, este tipo de ataques es raro.

Ataque por inundación SYN (Synflood).

 Este ataque requiere un cierto conocimiento del protocolo TCP/IP -es decir cómo trabaja el proceso de comunicación IP-. La manera más fácil de explicar este ataque es con una analogía. Este ataque es el equivalente en una red a enviar a alguien una carta que requiere una respuesta, solamente que la carta utiliza un falso remitente. Así cuando el objetivo envía de vuelta la carta espera una respuesta, pero la respuesta nunca llega porque de alguna manera entra en un hoyo negro en algún lugar. Suficientes peticiones SYN al sistema y el atacante puede provocar que se utilicen todas las conexiones disponibles en el sistema, de modo que nada mas pueda fluir a través de este.

Ataque de fragmentación.

En este caso, un atacante utiliza conocimientos avanzados del protocolo del TCP/IP para romper los paquetes en pedazos o “fragmentos” más pequeños, que puentean la mayoría de los sistemas de intrusión-detección. En casos extremos, este tipo de ataque puede causar caídas, bloqueos, reboots, pantallas azules y otro tipo de travesuras. Afortunadamente, este ataque es difícil de lograr.

Ataque SNMP.

 Estos ataques se diseñan específicamente para explotar el servicio SNMP, el cual maneja la red y los dispositivos en ella. Ya que el servicio SNMP se usa para manejar los dispositivos de la red, al explotar este servicio se puede conseguir inteligencia detallada sobre la estructura de la red que puede utilizarse más adelante para otros ataques.

Desconfiguración de la página web

La des configuración de la página web ocurre de vez en cuando. Como su nombre lo indica, este ataque resulta de una des configuración del sitio, cuando un servidor está incorrectamente configurado, y un atacante utiliza esta debilidad para modificar páginas bajo cualquier cantidad de razones, por ejemplo la diversión o promover una causa política. 




Referencias Consultadas:

http://www.monografias.com/trabajos75/seguridad-desarrollo-aplicaciones-web/seguridad-desarrollo-aplicaciones-web.shtml


Elaborado Por:

Martinez Hernandez Jose Alejandro


6.1.1    Asignación Segura de Nombres de Dominio








Que es un nombre de dominio

Un Nombre de Dominio es, básicamente, una dirección de Internet (ej.: www.midominio.com). Si adquieres un Nombre de Dominio, obtienes la exclusiva para usar dicha dirección en todo el mundo. 

Un dominio o nombre de dominio es el nombre que identifica un sitio web. Cada dominio tiene que ser único en internet. Por ejemplo, "www.masadelante.com" es el nombre de dominio de la pagina web  de Mas adelante. Un solo servidor web puede servir múltiples páginas web de múltiples dominios, pero un dominio sólo puede apuntar a un servidor.
Un dominio se compone normalmente de tres partes: en www.masadelante.com, las tres uves dobles (www), el nombre de la organización (más adelante) y el tipo de organización (com).
Los tipos de organización más comunes son .COM, .NET, .MIL, y .ORG, que se refieren a comercial, network, militar, y organización (originalmente sin ánimo de lucro, aunque ahora cualquier persona puede registrar un dominio .org).
Puesto que internet se basa en direcciones IP, y no en nombres de dominio, cada servidor web requiere de un servidor de nombres de dominio (DNS) para traducir los nombres de los dominios a direcciones IP. Cada dominio tiene un servidor de nombre de dominio primario y otro secundario.

Durante el período que dure la contratación, nadie más podrá tener una página con tu Nombre de Dominio. Tener un Nombre de Dominio, te proporciona un nombre fácil de recordar (y además elegido por ti) para denominar a tu web (Ej.: www.juanperez.com es más fácil de retener en la memoria que www.servicio_de_hosting.com/juanperez). 

Además, no supone una gran inversión económica y proporciona una mejor imagen entre tus visitantes y de cara a posibles intercambios comerciales o de enlaces. 

Los buscadores también colocan en mejor posición en sus listas de resultados a una página con Nombre de Dominio propio, lo cual revierte en una mayor audiencia.


Definición de Nombre de Dominio

Cuando accedemos a un lugar en Internet normalmente escribimos una dirección en la parte superior del navegador, sea este Explorer, Netscape o cualquier otro. A dicha dirección se le denomina “nombre de dominio” y esconde tras de sí unos números que son denominados protocolos de internet (IP), los que cumplen una función parecida a la de un número telefónico. Un nombre de dominio es, entonces, una manera de asignar un nombre amigable a una localización en Internet proporcionándole una identificación clara. Los nombres de dominios son usados, además, para acceder a la web, al correo electrónico y, en general, a todos los servicios de Internet. Los nombres de dominio en Internet han adquirido un papel fundamental, ya que su registro significa el poder hacer uso de los mismos en todo el mundo. El Sistema de Nombres de Dominio (DNS) traslada los nombres de Internet a los números del Protocolo Internet, necesarios para la transmisión de información a través de la red. Estos pueden tener una extensión que identifique la actividad a que se dedica el poseedor de un nombre de dominio, el país de origen u otros.

Clases de Nombres de Dominio

En la actualidad existen dos tipos de dominios de primer nivel plenamente operativos; los “Dominios genéricos” que son formados por tres letras y están abiertos al público, como son: .com, .org y .net; y los “Dominios territoriales” que son gestionados por cada uno de los países del mundo y tienen una designación de dos letras, por ejemplo: ".es" para España, “.fr" para Francia, “.pe" para el Perú, etc. Considerando la saturación de nombres existente en los dominios genéricos tradicionales y la conveniencia de liberalizar el registro de nombres en Internet, se ha propuesto la creación de siete nuevos dominios genéricos.

 Importancia de registrar los nombres

Sin embargo, estos “nombres de dominio” están ocasionando conflictos comerciales alrededor del mundo, por lo que en el caso de tener un nombre de entidad, nombre comercial, marca o nombres de productos es aconsejable registrarlos inmediatamente y, muy especialmente, si se tiene previsto utilizar Internet como cauce para realizar sus actividades comerciales, pues los nombres de dominios se asignan de manera que el primero en solicitarlos es el primero que los registra. Es importante considerar que en el caso de que alguien registre anticipadamente un nombre coincidente con el que usted pretende registrar, será necesario abrir un proceso que establezca la adjudicación definitiva del nombre y, mientras tanto, la asignación quedará en suspenso con todos los inconvenientes que este hecho pueda reportar. En general, cualquier persona, institución o empresa puede registrar un nombre si se cumplen ciertos requisitos legales y técnicos que pueden variar en los diferentes países. Inicialmente, es aconsejable registrar el nombre en los dominios geográficos en los que realice su actividad principal. Es de destacar que este proceso no siempre es fácil dado que algunos países tienen unas reglas muy estrictas sobre cómo deben registrarse cada tipo de organización. También, es importante registrar el nombre en alguno de los dominios genéricos tradicionales (.com, .org y .net) y muy especialmente en el primero, pues se trata del más ampliamente utilizado y con relativa frecuencia se dan casos en que alguien se ha adelantado a registrarlo y lo utilizase para otros fines. Los problemas relativos a la Jurisdicción competente para resolver las controversias que se produzcan en torno a los Nombres de Dominio y, en especial, en torno a los dominios genéricos internacionales, suponen, uno de principales interrogantes al que necesario dar respuesta.

Legislación Comparada sobre los dominios

En Estados Unidos hay numerosos precedentes sobre conflictos entre dominios y marcas. Desde el momento en que Internet empezó a ser una red comercial, numerosos especuladores comenzaron a registrar nombres de empresa y marcas famosas para posteriormente venderlas a los titulares de las mismas en el mundo real. Para evitar este tipo de conductas el organismo encargado del registro de los dominios genéricos estableció un procedimiento para aplicar en dichos casos. En muchos países han ido surgiendo conflictos entre titulares de dominios y marcas, por lo que en algunos países como Alemania o Reino Unido ya tienen disposiciones legales que protegen a los titulares de las marcas registradas. En Estados Unidos se han producido numerosas controversias con los nombres de dominio. Muchas de ellas han acabado en los Tribunales de Justicia. En Inglaterra también han surgido controversias, al igual que en Francia y Alemania, dónde ya se han pronunciado los órganos judiciales, incluso con anterioridad a la ya citada Sentencia Británica; y en breve estos problemas empezarán a ser analizados por los Tribunales de Justicia españoles.

La necesidad de una regulación jurídica del registro de nombres de dominio

No se pretende con este razonamiento una regulación exhaustiva de Internet (lo cual desde luego resulta impensable), pero sí imponer criterios jurídicos en las facetas de este nuevo medio que vayan exigiéndolo. El caso de los nombres de dominio, a todas luces, es una de éstas. Desde una perspectiva privada, las disputas que han existido en EEUU ponen de manifiesto que derechos reconocidos tanto por la legislación de marcas, como los de competencia desleal, pueden verse, como de hecho así ha acontecido, seriamente afectados por los nombres de dominio. Desde una perspectiva pública, son numerosas las cuestiones que habrán de ser debatidas: ¿Es realmente un servicio público la asignación de nombres de dominio? ¿Cómo se efectuará el proceso de elección de nuevos registradores en el mundo, y en Europa? El acto de denegación de la inscripción de un nombre de dominio, o el de su registro, ¿es un acto administrativo y, como tal, susceptible de recurso ante la jurisdicción correspondiente? ¿Cual es la verdadera naturaleza de las normas de asignación de nombres de dominio? Y, consecuencia de todo lo anterior, ¿cual es la jurisdicción competente en el caso de que esta actividad produjere daños a los particulares, o en el caso de impugnación directa de las normas? Esta lista, sin ser exhaustiva, ciertamente, no es corta y muchas serán, seguro, las páginas que habrán de ser leídas, hasta llegar a una comprensión completa de los problemas planteados y las soluciones que se vayan adoptando; sin embrago el Perú no puede quedar sin regulación. Se encuentra en juego que la interpretación válida y efectiva de las normas se efectúe de acuerdo a los criterios de un único país o no. Esa única jurisdicción, por ahora y de momento, parece que será la estadounidense. El sistema de arbitraje e intermediaciones "on-line" en el que está trabajando la Organización Mundial de la Propiedad Intelectual puede suponer, de ser efectivo y llevarse a buen término, una adecuada respuesta a las necesidades de visión global y mundial que precisa el sistema. Pero si al final las controversias van a ser decididas por los jueces norteamericanos, conforme a las leyes norteamericanas única y exclusivamente, puede que las iniciativas no estadounidenses de la Red queden irremediablemente presas del sistema de justicia americano y de sus leyes, de forma que, aunque en el país de origen uno de los implicados tenga mejor derecho que el otro, sea finalmente el derecho de los EE. UU. y sus criterios quienes establezcan las bases para dirimir conflictos. En ese proceso, no es difícil pensar que las empresas y personas nacionales de este país salgan más beneficiadas que las europeas o japonesas, por poner dos casos. En este sentido es necesario que el Perú cuente con una regulación especial para el tratamiento de los problemas que se generen en el registro de dominio y que puedan los nacionales resolver los problemas relacionados al tema en jurisdicción administrativa nacional.

La Propuesta

En razón de lo expuesto, la legislación peruana respecto a los nombres de dominio debe tener por objeto regular los aspectos relacionados al uso, registro y los conflictos derivados de la utilización de los nombres de dominio. En este aspecto es conveniente que sea una instancia administrativa la que decida respecto a la solución de los conflictos que se generen, así como que sea esta misma instancia la encargada de registrar los nombres de dominio. Con la finalidad de solucionar los problemas en el territorio nacional y respecto a marcas o servicios registrados en el Perú, habría que condicionar los efectos jurídicos frente a terceros de los nombre de dominio a su registro ante Autoridad Administrativa en el Perú. Con este medida se estaría evitando perjuicios a las personas que tengan marcas o servicios registradas. Por otro lado, es necesario dotar de ciertos criterios jurídicos a la Autoridad encargada de resolver los conflictos se tendría que establecer ciertos parámetros que orienten respecto a la utilización de mala fe de un nombre de dominio, así como al legítimo interés del poseedor de un nombre de dominio. También habría que regular respecto a los nombres de dominio registrados en entidades del extranjero, condicionando sus efectos frente a terceros en el país, a que se registren ante la Autoridad Competente. Por último, considerando que nuestra legislación prevé una Autoridad Competente para los efectos de las Firmas y Certificados Digitales, sería conveniente que esta misma sea la encargada de resolver los aspectos relacionados a los nombres de dominio. En este punto, nos inclinamos por que la Autoridad Competente sea INDECOPI.

Los dominios surgen como una herramienta para simplificar el acceso a los ordenadores que componen la Red. Gracias al sistema de nombres de dominio, se hace posible la identificación de los ordenadores en Internet. Técnicamente, un dominio es una forma sencilla de localizar un ordenador en Internet, pero sobre todo es la garantía de nuestra identidad. Al igual que en el mundo real tenemos diferentes formas de identificarnos, como puede ser el DNI, en Internet el dominio constituye el principal medio de identificación.
El dominio actúa como dirección de la empresa. Los dominios tienen una doble naturaleza: como dirección para localizar un ordenador en Internet y como marca, para identificar una empresa sus productos y servicios. Uno de los aspectos más importantes de los dominios es que son únicos. Es imposible que dos personas u organizaciones tengan simultáneamente la misma dirección, por lo que la evolución de Internet desde sus planteamientos científicos y académicos hacia una Red comercial hace que esta segunda naturaleza haya adquirido una mayor importancia para competir en mercados globales. 
El dominio ayuda a crear y promover la identidad de la empresa en Internet. Establece un punto de contacto con millones de usuarios y personaliza a la empresa frente a sus competidores.






Referencias consultadas:

http://www.masadelante.com/faqs/dominio
http://companyasociados.galeon.com/enlaces2269765.html
http://html.rincondelvago.com/nombres-de-dominio-en-internet.html

Elaborado por:

Martinez Hernandez Jose Alejandro


6.1.2 Capa de Shockets Seguro(SSL)


SSL (Capa de sockets seguros)





Secure Sockets Layer (SSL; en español «capa de conexión segura») y su sucesor Transport Layer Security (TLS; en español «seguridad de la capa de transporte»)son protocolos criptográficos que proporcionan comunicaciones seguras por una red, comúnmente Internet.

SSL fue desarrollado inicialmente para asegurar las transacciones financieras en la Web, pero ahora se utiliza mucho para asegurar transacciones de Internet de todo tipo.
SSL resuelve el problema del "problema compartido" de WEP utilizando una versión ampliada de criptografía de clave pública (vea la sección anterior "Cifrar contenido"). En lugar de requerir que la gente se ponga de acuerdo sobre un secreto (la clave de cifrado en WEP) por adelantado o que haya disponibles claves públicas, un navegador y un servidor equipados con SSL utilizan una tercera parte fiable, conocida como autoridad de certificados, para aceptar la identidad del otro.

Generalmente, SSL se utiliza para interacciones basadas en sesiones cortas, como enviar información de tarjeta de crédito a través de un formulario Web. Pero puede usarse para cifrar sesiones de correo electrónico (enviar y recibir), incluyendo todo el contenido del correo electrónico que va del cliente al servidor, FTP (en una forma generalmente conocida como FTP Seguro) y muchos otros tipos de transacciones. SSL es válido para cualquier servicio de
Internet que intercambia datos en fragmentos en lugar de hacerlo como información fluida. (Por ejemplo, se puede usar SSL para la mensajería instantánea pero no para reproducir música RealAudio.)
Como SSL es verificado por una tercera parte, no tenemos que utilizar la confianza (ciega o confirmada) como sucede en SSH.

SSL se utiliza mucho ahora porque las patentes subyacentes han caducado. Podemos encontrar SSL con nombres como EAP-TLS (Protocolo de autenticación encapsulada-Seguridad de capa de transporte, un tipo de PPP al que se añade seguridad), TLS/SSL u otras variaciones, pero todo es más o menos lo mismo.
Hola Bob.
El atacante no puede leer el tráfico cifrado con SSL.

A diferencia de SSH, en el que podemos conectar dos puertos arbitrarios a través de un túnel (puerto a puerto), SSL funciona de programa a programa, con el cliente cifrando los datos y el servidor descifrándolos.

Descripción
SSL proporciona Autenticación  y privacidad  de la información entre extremos sobre Internet mediante el uso de criptografía. Habitualmente, sólo el servidor es autenticado (es decir, se garantiza su identidad) mientras que el cliente se mantiene sin autenticar.
SSL implica una serie de fases básicas:
§  Negociar entre las partes el algoritmo que se usará en la comunicación
§  Intercambio de calves publicas y Autenticación basadas en certificados 
§  Cifrado del tráfico basado en cifrado simétrico
Durante la primera fase, el cliente y el servidor negocian qué algoritmos criptográficos se van a usar. Las implementaciones actuales proporcionan las siguientes opciones:
§  Para criptografía de clave pública: RSADiffie-HellmanDSA (Digital Signature Algorithm) o Fortezza;
§  Para cifrado simétrico: RC2RC4IDEA (International Data Encryption Algorithm), DES (Data Encryption Standard), Triple DES y AES (Advanced Encryption Standard);
§  Con funciones hashMD5 o de la familia SHA.
Funcionamiento
El protocolo SSL intercambia registros; opcionalmente, cada registro puede ser comprimido, cifrado y empaquetado con un código de Autenticación del mensaje (MAC). Cada registro tiene un campo de content_type que especifica el protocolo de nivel superior que se está usando.
Cuando se inicia la conexión, el nivel de registro encapsula otro protocolo, el protocolo handshake, que tiene el content_type 22.
El cliente envía y recibe varias estructuras handshake:
§  Envía un mensaje ClientHello especificando una lista de conjunto de cifrados, métodos de compresión y la versión del protocolo SSL más alta permitida. Éste también envía bytes aleatorios que serán usados más tarde (llamados Challenge de Cliente o Reto). Además puede incluir el identificador de la sesión.
§  Después, recibe un registro ServerHello, en el que el servidor elige los parámetros de conexión a partir de las opciones ofertadas con anterioridad por el cliente.
§  Cuando los parámetros de la conexión son conocidos, cliente y servidor intercambian certificados (dependiendo de las claves públicas de cifrado seleccionadas). Estos certificados son actualmente X.509, pero hay también un borrador especificando el uso de certificados basados en OpenPGP.
§  El servidor puede requerir un certificado al cliente, para que la conexión sea mutuamente autenticada.
§  Cliente y servidor negocian una clave secreta (simétrica) común llamada master secret, posiblemente usando el resultado de un intercambio Diffie-Hellman, o simplemente cifrando una clave secreta con una clave pública que es descifrada con la clave privada de cada uno. Todos los datos de claves restantes son derivados a partir de este master secret (y los valores aleatorios generados en el cliente y el servidor), que son pasados a través una función pseudoaleatoria cuidadosamente elegida.
TLS/SSL poseen una variedad de medidas de seguridad:
§  Numerando todos los registros y usando el número de secuencia en el MAC.
§  Usando un resumen de mensaje mejorado con una clave (de forma que solo con dicha clave se pueda comprobar el MAC). Esto se especifica en el RFC 2104).
§  Protección contra varios ataques conocidos (incluyendo ataques man-in-the-middle), como los que implican un degradado del protocolo a versiones previas (por tanto, menos seguras), o conjuntos de cifrados más débiles.
§  El mensaje que finaliza el protocolo handshake (Finished) envía un hash de todos los datos intercambiados y vistos por ambas partes.
§  La función pseudo aleatoria divide los datos de entrada en 2 mitades y las procesa con algoritmos hash diferentes ( MD5 y SHA), después realiza sobre ellos una operación XOR. De esta forma se protege a sí mismo de la eventualidad de que alguno de estos algoritmos se revelen vulnerables en el futuro.

Aplicaciones
SSL se ejecuta en una capa entre los protocolos de aplicación como HTTPSMTPNNTP y sobre el protocolo de transporte TCP, que forma parte de la familia de protocolos TCP/IP. Aunque pueda proporcionar seguridad a cualquier protocolo que use conexiones de confianza (tal como TCP), se usa en la mayoría de los casos junto a HTTP para formar HTTPS. HTTPS es usado para asegurar páginas World Wide Web para aplicaciones de comercio electrónico, utilizando certificados de clave pública para verificar la identidad de los extremos.
Aunque un número creciente de productos clientes y servidores pueden proporcionar SSL de forma nativa, muchos aún no lo permiten. En estos casos, un usuario podría querer usar una aplicación SSL independiente como Stunnel para proporcionar cifrado. No obstante, el Internet Engineering Task Force recomendó en 1997 que los protocolos de aplicación ofrecieran una forma de actualizar a TLS a partir de una conexión sin cifrado (plaintext), en vez de usar un puerto diferente para cifrar las comunicaciones – esto evitaría el uso de envolturas (wrappers) como Stunnel.
SSL también puede ser usado para tunelizar una red completa y crear una red privada virtual (VPN), como en el caso de OpenVPN.



Historia y desarrollo
Desarrollado por Netscape, SSL versión 3.0 se publicó en 1996, que más tarde sirvió como base para desarrollar TLS versión 1.0, un estándar protocolo IETF definido por primera vez en el RFC 2246. Visa, MasterCard, American Express y muchas de las principales instituciones financieras han aprobado SSL para el comercio sobre Internet.
SSL opera de una manera modular: sus autores lo diseñaron extensible, con soporte para compatibilidad hacia delante y hacia atrás, y negociación entre las partes (peer-to-peer).
Primeras claves débiles
Algunas primeras implementaciones de SSL podían usar claves simétricas con un máximo de sólo 40-bit debido a las restricciones del gobierno de los Estados Unidos sobre la exportación de tecnología criptográfica. Dicho gobierno impuso una clave de 40-bit lo suficientemente pequeña para ser “rota” por un ataque de fuerza bruta por las agencias de seguridad nacional que desearan leer el tráfico cifrado, a la vez que representaban un obstáculo para atacantes con menos medios. Una limitación similar se aplicó a Lotus Notes en versiones para la exportación. Después de varios años de controversia pública, una serie de pleitos, y el reconocimiento del gobierno de Estados Unidos de cambios en la disponibilidad en el mercado de 'mejores' productos criptográficos producidos fuera del país, las autoridades relajaron algunos aspectos de las restricciones de exportación. La limitación de claves de 40-bit en su mayoría ha desaparecido. Las implementaciones modernas usan claves de 128-bit (o más) para claves de cifrado simétricas.


Referencias Consultadas:
http://es.wikipedia.org/wiki/Transport_Layer_Security


Elaborado por:

Martinez Hernandez Jose Alejandro



6.1.2.1 HTTP SEGURO





Hyper Text Transfer Protocol Secure (en español: Protocolo seguro de transferencia de hipertexto), más conocido por sus siglas HTTPS, es un protocolo de aplicación basado en el protocolo HTTP, destinado a la transferencia segura de datos de Hiper Texto, es decir, es la versión segura de HTTP.
Es utilizado principalmente por entidades bancarias, tiendas en línea, y cualquier tipo de servicio que requiera el envío de datos personales o contraseñas.

SHTTP (Secure HTTP) es un proceso de transacciones HTTP (HyperText Transfer Protocol; en castellano, Protocolo de Transferencia de Hipertexto) que se basa en el perfeccionamiento del protocolo HTTP creado en 1994 por EIT (Enterprise Integration Technologies). Este proceso hace posible establecer una conexión segura para transacciones de comercio electrónico mediante mensajes cifrados, y garantizar a los clientes la confidencialidad de los números de tarjetas bancarias y su información personal. La compañía Terisa Systems desarrolló una de las implementaciones de SHTTP para incluir una conexión segura entre los servidores y los clientes Web.

Cómo funciona SHTTP

A diferencia de SSL (Secure Socket Layer) que funciona transportando capas, SHTTP garantiza la seguridad del mensaje mediante el protocolo HTTP, que marca individualmente los documentos HTML con certificados. En tanto que SSL es independiente de la aplicación utilizada y puede cifrar todo tipo de comunicación, SHTTP está íntimamente relacionado con el protocolo HTTP y cifra mensajes de forma individual.
Los mensajes SHTTP se basan en tres componentes:
El mensaje HTTP
Las preferencias criptográficas del remitente
Las preferencias del destinatario
Así, para descifrar un mensaje SHTTP, el destinatario analiza los encabezados del mensaje para determinar el tipo de método que se utilizó para cifrar el mensaje. Luego, basándose en sus preferencias criptográficas presentes y pasadas, y en las preferencias criptográficas pasadas del remitente, el destinatario puede descifrar el mensaje.

La naturaleza complementaria de SHTTP y SSL.

Cuando SSL y SHTTP competían, muchas personas se dieron entonces cuenta de que estos dos protocolos de seguridad eran complementarios, ya que no trabajaban en el mismo nivel. El SSL garantiza una conexión segura a Internet, mientras que el SHTTP garantiza intercambios HTTP seguros.
Como resultado, la compañía Terisa Systems, especializada en protección de red y formada por RSA Data Security y EIT, desarrolló un kit de programación que permitió a los administradores desarrollar servidores Web implementando los protocolos SSL y SHTTP (SecureWeb Server Toolkit) así como clientes Web capaces de soportar estos protocolos (SecureWeb Client Toolkit).

Básicamente, al usar HTTPS una página web codifica la sesión con certificado digital o SSL, de forma que el usuario tiene ciertas garantías de que la información que va a enviar no podrá ser interceptada y utilizada por terceros.
Hasta la fecha se consideraba que HTTPS era la mejor forma de crear una comunicación segura incluso en una red insegura, no obstante un reciente ataque ha traído algunas dudas sobre este protocolo.

En una conexión HTTPS, un navegador muestra sin problemas una web solo si esta incluye un certificado de seguridad firmado por una agencia independiente que garantice su autenticidad. Todo parece indicar que una agencia emitió certificados de forma no adecuada (gracias a unas credenciales de acceso robadas) que permitieron a un atacante crear páginas fraudulentas que por su diseño parecían verdaderas y desde las que se trató de espiar determinadas comunicaciones.

En concreto fue la autoridad de certificación Comodo la que emitió certificados SSL fraudulentos supuestamente para Microsoft, Mozilla, Google, Skype y Yahoo (mail.google.com, Login.live.com , www.google.com, login.yahoo.com, login.skype.com y mozilla.org), provocando la realización de ataques phishing casi imposible de ser detectados.
No obstante, Comodo tras ser consciente del problema y darlo a conocer, provocó que los certificados fraudulentos fueran anulados y los principales navegadores web actualizados para garantizar que la detección de dichos certificados.

Pese a la complejidad del ataque, este ha sido capaz de mostrar el punto débil de la que sigue siendo la versión segura del HTTP, y que usado comúnmente por bancos y plataformas e-commerce ha venido extendiendo su popularidad entre servicios como Twitter o Youtube.





Referencias Consultadas:

http://www.desarrolloweb.com/de_interes/seguro-protocolo-https-5005.html

http://es.wikipedia.org/wiki/Hypertext_Transfer_Protocol_Secure


Elaborado por:

Martinez Hernandez Jose Alejandro

Hora de Edición: 2:30 am




6.1.3 Seguridad en correo electrónico


El correo electrónico es como una tarjeta postal digital altamente insegura y muy fácil de interceptar y modificar. Algunas soluciones de correo electrónico ofrecen seguridad, por medio del proveedor de servicio de internet o del programa de correo electrónico en línea que utiliza el usuario, pero no pueden cubrir todas las amenazas. Una buena clave es importante, pero aún así se atacan servidores y se obtienen dichas claves.

Una clave complicada es buena, pero usar el cifrado y las firmas digitales es esencial para proteger sus datos. La seguridad absoluta requiere una buena dosis de sentido común, tecnología y evaluación de riesgos.

Herramientas de protección

Todos los ataques a la privacidad e integridad de su correo electrónico pueden ser aplicados a cualquier archivo que se almacene en su computador o en sistemas remotos.

Es importante evaluar el nivel de importancia de dicha privacidad e integridad y tomar medidas adecuadas tanto humanas como técnicas para protegerlos. En efecto, si usted escribe su clave en un papel pegado a su monitor, o si es fácil robar su computador, la tecnología en uso será menos efectiva.


Una manera fácil y accesible a todos de proteger dichos datos, es usar tecnologías de criptografía e identidad digital. Dicha tecnología permite:

- Cifrar (codificar, encriptar) información por mecanismos de llaves públicas y privadas, que no requieren intercambio previo de la 'clave' principal que dé acceso a la información 
 
- Firmar digitalmente: esto garantiza que datos como el autor, la fecha y hora y el contenido de un mensaje no se puedan modificar, y puedan ser verificados con alta fiabilidad al ser recibidos.


Existen diferentes tecnologías, entre ellas las más populares son la norma abierta OpenPGP y el formato S/MIME.

Las aplicaciones que soportan OpenPGP no tienen restricción de uso comercial o personal, y se encuentran disponibles gratuitamente para múltiples sistemas operativos, en varios idiomas. Son en su mayoría software libre y la verificación de identidad se basa en un modelo de confianza en red, que mima con asombro los mecanismos de confianza social que son conocidos y fáciles de verificar.


6.1.3.1 CORREO DE PRIVACIDAD MEJORADA(PEM)

El correo electrónico por lo general se envía en Internet mediante el Protocolo Simple de Trans-ferencia de Correo (SMTP, Simple Mail Transfer Protocol). Este protocolo es muy sencillo ytransmite los datos a la vista. Además, puede usarse para trasmitir sólo textos ASCII. Si usteddesea enviar un mensaje encriptado, debe usar medios indirectos. Primero debe encriptar elmensaje, con lo que lo convierte en archivo binario. Debido a que no puede usarse SMTP paratrasmitir datos binarios -sólo transmite datos de texto- tiene que codificar los datos binarios co-mo texto.Una forma muy común de hacer esto en Internet es con una utilería llamada uuencode. El recep-tor del mensaje tiene que usar una utilería llamada uudecode para convertir el texto a su formabinaria encriptada original. Si el receptor conoce la clave, puede desencriptar el mensaje. Sibien es posible asegurar el correo a través del método que acabamos de esbozar, es incómodo y laborioso. 
 
Asimismo, está el problema de distribuir la clave a los receptores del mensaje. Usteddebe considerar si esto se debe hacer a través de Internet o de algún otro método de distribución.Un enfoque que ha atraído gran interés es el Correo de Privacidad Mejorada (PEM, Privacy En-hanced Mail), el cual constituye una forma de encriptar los mensajes de correo electrónico enforma automática, antes de que sean enviados. No hay procedimientos separados que haya queseguir para encriptar el mensaje de correo. Por lo tanto, aun si el mensaje es interceptado en unhost de distribución de correo, quien lo haga no podrá leerlo


6.1.3.2 MIME SEGURO

MIME es un estándar para criptografía de clave pública y firmado de correo electrónico encapsulado en MIME.

MIME provee los siguientes servicios de seguridad criptográfica para aplicaciones de mensajería electrónica: autenticación, integridad y no repudio (mediante el uso de firma digital) y privacidad y seguridad de los datos (mediante el uso de cifrado)

MIME especifica el tipo application/pkcs7-mime (tipo smime "enveloped-data") para envoltura de datos (cifrado): la entidad MIME completa a ser envuelta se cifra y se empaca en un objeto que luego se inserta en una entidad MIME application/pkcs7-mime. La funcionalidad S/MIME está construida en la mayoría de los clientes de correo electrónico modernos y son capaces de interoperar entre ellos.


6.1.3.3 PGP

Pretty Good Privacy o PGP (privacidad bastante buena) es un programa desarrollado por Phil Zimmermann y cuya finalidad es proteger la información distribuida a través de Internet mediante el uso de criptografía de clave pública, así como facilitar la autenticación de documentos gracias a firmas digitales.

PGP originalmente fue diseñado y desarrollado por Phil Zimmermann en 1991. El nombre está inspirado en el del colmado Ralph's Pretty Good Grocery de Lake Wobegon, una ciudad ficticia inventada por el locutor de radio Garrison Keillor.


PGP combina algunas de las mejores características de la criptografía simétrica y la criptografía asimétrica. PGP es un criptosistema híbrido. Cuando un usuario emplea PGP para cifrar un texto plano, dicho texto es comprimido. La compresión de los datos ahorra espacio en disco, tiempos de transmisión y, más importante aún, fortalece la seguridad criptográfica. La mayoría de las técnicas de criptoanálisis explotan patrones presentes en el texto plano para craquear el cifrador. La compresión reduce esos patrones en el texto plano, aumentando enormemente la resistencia al criptoanálisis.


Después de comprimir el texto, PGP crea una clave de sesión secreta que solo se empleará una vez. Esta clave es un número aleatorio generado a partir de los movimientos del ratón y las teclas que se pulsen durante unos segundos con el propósito específico de generar esta clave (el programa nos pedirá que los realicemos cuando sea necesario).

Esta clave de sesión se usa con un algoritmo simétrico convencional (IDEA, Triple DES) para cifrar el texto plano. Una vez que los datos se encuentran cifrados, la clave de sesión se cifra con la clave pública del receptor (criptografía asimétrica).


La clave de sesión cifrada se adjunta al texto cifrado y el conjunto es enviado al receptor.

El descifrado sigue el proceso inverso. El receptor usa su clave privada para recuperar la clave de sesión, que PGP luego usa para descifrar los datos. La combinación de los dos métodos de cifrado permite aprovechar lo mejor de cada uno: el cifrado simétrico o convencional es mil veces más rápida que el asimétrico o de clave pública, mientras que éste, a su vez, provee una solución al problema de la distribución de claves en forma segura.


Las llaves empleadas en el cifrado asimétrica se guardan cifradas protegidas por contraseña en el disco duro. PGP guarda dichas claves en dos archivos separados llamados llaveros; uno para las claves públicas y otro para las claves privadas.


Elaborado por Javier Alejandro Chazaro Guillen











1 comentario:

  1. muy buen aporte de información, me ayudara para mi clase de seguridad informática

    ResponderEliminar