25
TENDENCIAS DE LA INFORMÁTICA Y SU INCIDENCIA EN LA SEGURIDAD. SEGURIDAD VS SOFTWARE LIBRE

Tendencias de la informatica y su incidencia en la seguridad

Embed Size (px)

Citation preview

Page 1: Tendencias de la informatica y su incidencia en la seguridad

TENDENCIAS DE LA INFORMÁTICA Y SU INCIDENCIA EN LA SEGURIDAD.

SEGURIDAD VS SOFTWARE LIBRE

Page 2: Tendencias de la informatica y su incidencia en la seguridad

SOFTWARE LIBRE

• En general se entiende como software libre aquel programa o conjunto de ellos de los que el usuariopuede disponer del código fuente, sin restricciones, y el cual puede modificar y redistribuir también sinrestricciones.

Page 3: Tendencias de la informatica y su incidencia en la seguridad

SOFTWARE LIBRE

• Existen diversos esquemas de distribución Software libre

Software de código abierto (Open Source)

Software de Dominio publico

Software con copyleft

Software privativo

Software comercial

Page 4: Tendencias de la informatica y su incidencia en la seguridad

SOFTWARE LIBRE

• Los usuarios tienen la libertad de ejecutar, copiar, distribuir, estudiar, modificar y mejorar el software,gratuitamente o mediante pago.

• En particular, esto significa que el código fuente debe estar disponible. Si no es fuente, no es software.

Page 5: Tendencias de la informatica y su incidencia en la seguridad

SOFTWARE LIBRE

• Un programa es software libre si los usuarios tienen las cuatrolibertades esenciales:

1. La libertad de ejecutar el programa como se desea, con cualquier propósito.

2. La libertad de estudiar cómo funciona el programa, y cambiarlo para que haga lo que usted quiera.El acceso al código fuente es una condición necesaria para ello.

3. La libertad de redistribuir copias para ayudar a su prójimo.

4. La libertad de distribuir copias de sus versiones modificadas a terceros. Esto le permite ofrecer atoda la comunidad la oportunidad de beneficiarse de las modificaciones. El acceso al código fuentees una condición necesaria para ello.

Page 6: Tendencias de la informatica y su incidencia en la seguridad

SOFTWARE LIBRE

• Ventajas del Software Libre en el mundo de la seguridad:

Disponer del código fuente de los programas en su totalidad

Posibilidad de realizar modificaciones libremente al código fuente y distribuirlas

Page 7: Tendencias de la informatica y su incidencia en la seguridad

SOFTWARE LIBRE Ó OPEN SOURCE

• Es el software cuyo código fuente y otros derechos que normalmente son exclusivos para quienesposeen los derechos de autor, son publicados bajo una licencia de software compatible con la OpenSource Definition o forman parte del dominio público.

• Es un movimiento pragmático, que se enfoca más en los beneficios prácticos como acceso al códigofuente.

Page 8: Tendencias de la informatica y su incidencia en la seguridad

SOFTWARE LIBRE Ó OPEN SOURCE

• Se focaliza más en los beneficios prácticos (acceso al código fuente) que en cuestiones éticas o delibertad que tanto se destacan en el software libre. Para muchos el término «libre» hace referencia alhecho de adquirir un software de manera gratuita, pero más que eso, la libertad se refiere al podermodificar la fuente del programa sin restricciones de licencia, ya que muchas empresas de softwareencierran su código, ocultándolo y restringiéndose los derechos a sí misma.

Page 9: Tendencias de la informatica y su incidencia en la seguridad

SOFTWARE LIBRE Ó OPEN SOURCE

• Diferencias: El Software Libre hace hincapié en cuestiones éticas y morales relacionadas con el software.

Una aplicación desarrollada bajo los estándares del Software Libre puedes obtener remuneración porconceptos de desarrollo, soporte y puesta a punto siempre y cuando entregues los fuentes.

Page 10: Tendencias de la informatica y su incidencia en la seguridad

SOFTWARE LIBRE Ó OPEN SOURCE

• La idea bajo el concepto de código abierto es sencilla: cuando los programadores (en Internet) puedenleer, modificar y redistribuir el código fuente de un programa, éste evoluciona, se desarrolla y mejora.Los usuarios lo adaptan a sus necesidades, corrigen sus errores con un tiempo de espera menor a laaplicada en el desarrollo de software convencional o cerrado, dando como resultado la producción deun mejor software.

Page 11: Tendencias de la informatica y su incidencia en la seguridad

VENTAJAS DEL SOFTWARE LIBRE EN EL MUNDO DE LA SEGURIDAD

• Al disponer del código fuente de los programas en su totalidad, éste puede ser analizado por terceras personas ajenas a sus autores en busca de fallos de diseño o de implementación.

• La posibilidad de realizar modificaciones libremente al código fuente y distribuirlas permite que cualquiera pueda ofrecer mejoras sobre éste.

Page 12: Tendencias de la informatica y su incidencia en la seguridad

• Las características del software libre hacen que no sea lógico cargar costes sobre el software en sí (dado que se ha de distribuir sin cargo), lo que permite que este tipo de software pueda ser utilizado por organizaciones y personas con menos recursos económicos.

• De igual forma, la posibilidad de modificar libremente el software permite a las organizaciones que lo adapten a sus propias necesidades, pudiendo eliminar funcionalidades que no le sean de interés

Page 13: Tendencias de la informatica y su incidencia en la seguridad

Aunque no se pueda asegurar que el código esté carente de errores, si es posible garantizar que tantas posibilidades tiene de encontrar un fallo de programación en éste (que lleve implícito un riesgo de

seguridad) un atacante externo como la organización lo utilice.

Page 14: Tendencias de la informatica y su incidencia en la seguridad

MECANISMOS DEL SOFTWARE LIBRE DE PROTECCIÓN A SUS USUARIOS

Muchos de los proyectos de software libre, entre ellos el núcleo de Linux, el proyectoApache, y la distribución OpenBSD realizan auditorías del código para asegurar suintegridad, seguridad y ajuste a las especificaciones de funcionalidades requeridas.

Page 15: Tendencias de la informatica y su incidencia en la seguridad

El hecho de que exista una cierta independencia entre el software y sufabricante, o distribuidor original, permite que los usuarios de este software, encaso de pérdida de soporte, puedan realizar el mantenimiento de éste ellosmismos o subcontratarlo a una tercera empresa.

La auditoría que se pueda realizar a sistemas operativos libres, como es el casode GNU/Linux o BSD, la aplicación de los resultados o no se realiza mediante unadiscusión pública y es el propio resultado de la auditoría el que debe valer por simismo para su introducción o no.

Page 16: Tendencias de la informatica y su incidencia en la seguridad

Proceso mediante el cual cierta información o texto sin formato es

cifrado de forma que el resultado sea ilegible e imposible de

interpretar.

Medida de seguridad utilizada para que al momento de almacenar

o transmitir información sensible ésta no pueda ser obtenida con

facilidad por terceros.

Opcionalmente puede existir además un proceso de des-

encriptación.

Page 17: Tendencias de la informatica y su incidencia en la seguridad

La encriptación forma parte de la criptología.

Ciencia que estudia la transformación de un mensaje en un código

de forma que a partir de dicho código solo algunas personas sean

capaces de recuperar el mensaje original.

La mayoría de los algoritmos modernos del cifrado se basan en una

de las siguientes dos categorías de procesos:

Problemas matemáticos que son simples pero que tienen una

inversa que se cree que es complicada.

Secuencias o permutaciones que son en parte definidos por los

datos de entradas.

Page 18: Tendencias de la informatica y su incidencia en la seguridad

Se pueden utilizar tres procesos matemáticos diferentes:

Algoritmo HASH: Efectúa un cálculo matemático sobre los

datos que constituyen el documento y da como resultado

un número único llamado MAC.

Criptografía de Clave Secreta o Simétrica: Utilizan una

clave con la cual se encripta y desencripta el documento.

Es importante destacar que la clave debería viajar con los

datos, lo que hace arriesgada la operación.

Algoritmos Asimétricos (RSA): Requieren dos Claves, una

Privada (única y personal) y la otra Pública, ambas

relacionadas por una fórmula matemática compleja

imposible de reproducir.

Page 19: Tendencias de la informatica y su incidencia en la seguridad

Protocolo para envío de información encriptada entre el cliente y el

servidor.

Es un protocolo mediante el cual se establece una conexión segura

por medio de un canal cifrado entre el cliente y servidor. Así el

intercambio de información se realiza en un entorno seguro y libre de

ataques.

Normalmente el servidor es el único que es autenticado,

garantizando así su identidad, pero el cliente se mantiene sin

autenticar.

Estos protocolos permiten prevenir escuchas, evitar la falsificación

de la identidad del remitente y mantener la integridad del mensaje en

una aplicación cliente-servidor.

Page 20: Tendencias de la informatica y su incidencia en la seguridad

Negociación: Los dos extremos de la comunicación negocian que algoritmos

criptográficos utilizarán para autenticarse y cifrar la información. Actualmente

existen diferentes opciones:

Para criptografía de clave pública: RSA, Diffie-Hellman, DSA.

Para cifrado simétrico: RC2, RC4, IDEA, DES, Triple DES o AES.

Con funciones hash: MD5 o de la familia SHA.

Autenticación y Claves: Los extremos se autentican mediante certificados digitales

e intercambian las claves para el cifrado, según la negociación.

Transmisión Segura: los extremos pueden iniciar el tráfico de información cifrada y

autentica.

Page 21: Tendencias de la informatica y su incidencia en la seguridad

Seguridad criptográfica. El protocolo se debe emplear para establecer una conexión

segura entre dos partes.

Interoperabilidad. Aplicaciones distintas deben poder intercambiar parámetros

criptográficos sin necesidad de que ninguna de las dos conozca el código de la

otra.

Extensibilidad. El protocolo permite la incorporación de nuevos algoritmos

criptográficos.

Eficiencia. Los algoritmos criptográficos son costosos computacionalmente, por lo

que el protocolo incluye un esquema de cache de sesiones para reducir el número

de sesiones que deben inicializarse desde cero (usando criptografía de clave

pública).

Page 22: Tendencias de la informatica y su incidencia en la seguridad

Autenticación tradicional en las aplicaciones Web Java

Los mecanismos tradicionales de autenticación de usuarios en las

aplicaciones Web funcionan de la siguiente manera:

Cuando un usuario se da de alta en un sitio, el nombre de usuario y

pasabordo se comparan con una entrada en un almacenamiento

persistente de información, como una base de datos relacional, si la

información concuerda, en la memoria del servidor se almacena el estado

de autenticación del usuario y se envía de vuelta un cookie que en la

mayoría de los casos contiene el id de usuario, o el id de la sesión.

El browser por su parte almacenará el cookie para el dominio de donde

viene y automáticamente la enviara de regreso en cada petición futura.

Page 23: Tendencias de la informatica y su incidencia en la seguridad

Las aplicaciones web modernas ya no se despliegan en un único

servidor, para manejar altos volúmenes de usuarios concurrentes con

baja latencia y alta disponibilidad, la aplicación debe ser distribuida en

varios servidores, lo cual tiene como efecto que cuando un usuario

accede a la aplicación no se garantice que siempre acceda al mismo

servidor.

Conociendo que la autenticación tradicional se basa en

almacenamiento de estado de la memoria del servidor, en una

arquitectura como esta, un usuario estaría autenticado en un servidor

pero no en los demás. Para solucionar esto, se tiene la alternativa de

replicar en tiempo real los datos de sesión en todos los servidores, o

usar Sticky sessions.

Page 24: Tendencias de la informatica y su incidencia en la seguridad

Un JWT es una estructura JSON codificada que contiene tres partes:

1.Header: Es información en formato JSON que contiene el tipo y la

codificación utilizada, la información se codifica en Base64URL.

2.Payload: El Payload contiene cualquier información importante para la

aplicación en la forma de Claims. El id del usuario debe ser enviado como un

sub claim, pero adicionalmente cual otra información importante como nombre

de usuario, email y otros.

3.Signature: La signature es usada para verificar la autenticidad del JWT,

básicamente está compuesta la información del Header y Payload cifrados en

Base64 con una clave secreta (almacenada en nuestro backend). Existen

diferentes algoritmos que pueden ser usadas para la firma (HMAC, RSA).

Page 25: Tendencias de la informatica y su incidencia en la seguridad

Los middleware, son funciones que nos permiten agregar filtros a cada petición HTTP

realizada por un usuario en una aplicación.

La finalidad de este componente es disminuir la carga de trabajo en los

controladores y proporcionar una solución mucho más simple y estándar a la hora de

aplicar las restricciones necesarias en el proyecto.

La versatilidad de los middleware te permite agregar restricciones por zona horaria,

login, edad, genero, rol o tipo de usuario, etc. esto te permite bloquear acceso a

ciertas áreas de tu aplicación para un usuario o un grupo de usuarios en específico.