Seguridad vs Software Libre
Transcript of Seguridad vs Software Libre
INTRODUCCIÓN
Habitualmente los usuarios no tienen en cuenta cuando hacen uso de
los sistemas ya que ignoran los temas relacionados sobre la seguridad en
internet en el trabajo o en las empresas, ya que las personas no consideran los
tipos de seguridad lo toman como una molestia porque suele ir en contra de
sus comodidades y facilidades los usuarios suelen tomar este tema de forma
negativa lo consideran molesto porque algunas veces les impide la realización
de un determinado trabajo porque encuentran tareas que le pueden resultar
incomodas al recordar contraseñas por ejemplo por razones de memoria o
rapidez les cuesta mucho recordad o ingresar claves cada vez que sea
necesario.
Pero hoy en día la seguridad es fundamentar a la hora de proteger o
afrontan tareas sobre sistemas de información de seguridad en el día, día de
cada persona ya que la seguridad es una medida que permite garantizar
cantidades de información que se requiera proteger para ciertas personas que
intenten violar el acceso a aquello que pueda estar protegido.
Algunas personas se preguntan ¿Por qué son necesarios los
mecanismos de seguridad? Es necesario para tener privacidad en cuanto el
intercambio de información porque sin darse cuenta esa información puede ir a
parar en manos equivocadas o desconocidas o que otros violen dicha
privacidad. Por otro lado tampoco no se puede estar seguro de que el sistema
que se esté conectado o usando resulte quien dice ser no existe una certeza de
los sistemas que se estén usando sean realmente auténticos o confiables,
además no es solamente enviar o utilizar los sistemas es también adquirir
productos que pueden ocasionar daños involuntarios por ejemplo virus espías
que te pueden roban los archivos entre otros.
SOFTWARE LIBRE
El software libre son programas cuyo código fuente esta libre a los
usuarios, sin restricciones, que se puede modificar y redistribuir sin problemas
legales. Su desarrollo depende enteramente de la colaboración de individuos
que trabajan en conjunto. El software libre es una cuestión de libertad, no de
precio.
La comunidad GNU establece cuatro libertades que identifican un software
libre:
La libertad de ejecutar el programa como se desea, con cualquier
propósito.
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.
La libertad de redistribuir copias para ayudar a su prójimo.La libertad de
distribuir copias de sus versiones modificadas a terceros .
Esto le permite ofrecer a toda la comunidad la oportunidad de
beneficiarse de las modificaciones. El acceso al código fuente es una condición
necesaria para ello.
Algunos ejemplos de software libre está el sistema operativo Linux,
sistema operativo móvil Android, además de navegadores como Google
Chrome o Mozilla Firefox.
MOTIVACIONES
Entretenimiento
Para algunas personas, a menudo los mejores programadores, escribir
software es la mayor diversión casi todos los programadores de software libre
comparten este motivo.
Idealismo político
El deseo de construir un mundo en libertad y ayudar a los usuarios de
computadoras a escapar del poder de los desarrolladores de software.
Reputación profesional
Al escribir un programa libre útil y de éxito, será suficiente para demostrar que
es un buen programador.
Comunidad
Formar parte de una comunidad mediante la colaboración con otras
personas en el ámbito de un proyecto público de software libre constituye un
motivo para muchos programadores.
Educación
Escribir software libre normalmente le da la oportunidad de mejorar
enormemente sus habilidades, tanto técnicas como sociales. Si es profesor,
animar a los estudiantes a participar en un proyecto de software libre o
ayudarles a organizar un proyecto de software libre puede ser una excelente
oportunidad para ellos.
Gratitud
Si ha usado software libre de la comunidad durante años, y ha sido
importante para usted, se siente agradecido y en deuda con los
desarrolladores. Cuando escribe un programa que puede ser útil a mucha
gente, es su oportunidad de pagar la deuda con la misma moneda.
Dinero
A un número considerable de personas se les paga para que desarrollen
software libre o han construido empresas en ese ámbito.
El deseo de usar un programa mejor
Las personas generalmente trabajan para mejorar los programas que
usan con el objetivo de hacerlos más convenientes para ellos (algunos
observadores reconocen éste como el único motivo, pero su percepción de la
naturaleza humana es demasiado limitada).
PROBLEMAS
1. La curva de aprendizaje es mayor
2. El software libre no tiene garantía proveniente del autor
3. Se necesita dedicar recursos a la reparación de errores.
4. No existen compañías únicas que respalden toda la tecnología.
5. Las interfaces gráficas de usuario (GUI) y la multimedia apenas se están
estabilizando.
6. La mayoría de la configuración de hardware no es intuitiva.
7. La diversidad de distribuciones, métodos de empaquetamiento, licencias
de uso, pueden crear confusión en cierto número de personas.
VENTAJAS DEL SOFTWARE LIBRE EN EL MUNDO DE LA SEGURIDAD.
Del software libre se derivan una serie de ventajas principales las cuales
son muy adecuadas para el mundo de la seguridad, algunas de estas son:
• Al disponer del código fuente de los programas, éste puede ser
analizado por terceras personas ajenas a sus autores en busca de fallos de
diseño o de implementación. Es decir, cualquiera con los conocimientos
necesarios puede realizar una auditoría de dicho código.
• La posibilidad de realizar modificaciones libremente al código fuente y
distribuirlas permite que cualquiera pueda ofrecer mejoras sobre éste. Estas
mejoras podrán ser nuevas funcionalidades que se incorporen al mismo o
parches que corrijan problemas detectados anteriormente.
• Las características del software libre hacen que no sea lógico cargar
costos 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. Esto se presenta como una ventaja
cuando se compara con los precios de lo que cuesta el software de seguridad
propietario hoy en día (licencias de cortafuegos, vpns, sistemas de detección
de intrusos, etc.). El software libre pone en manos de cualquiera el tipo de
tecnología que, hoy por hoy, sólo podían tener grandes corporaciones.
• 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. En el mundo de la
seguridad existe la máxima de “lo más sencillo es más seguro” por ello poder
eliminar funciones innecesarias de las herramientas las puede convertir de
forma inmediata en más seguras (porque no podrán ser utilizadas estas
funcionalidades para subvertirlas).
Frente al análisis de fallos, el software libre protege a sus usuarios de una serie
de formas determinadas. Entre estas:
• La posibilidad de una auditoría de código en las herramientas software
reduce los riesgos de seguridad debido a la aparición de fallos desconocidos, a
la introducción de funcionalidades no deseadas en el código o la incorrecta
implementación de algoritmos públicos. 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. Si
bien no se puede asegurar que los mejores cerebros del mundo realicen la
auditoría de código del software que una compañía utiliza, dicha compañía si
tiene la posibilidad, en función de sus necesidades respecto a la seguridad, de
realizar ella misma dicha auditoría de código o pagar a alguien para que la
realice. Muchos de los proyectos de software libre, entre ellos el núcleo de
Linux, el proyecto Apache, y la distribución OpenBSD realizan auditorías del
código para asegurar su integridad, seguridad y ajuste a las especificaciones
de funcionalidades requeridas.
• La posibilidad de corregir los programas y distribuir dichas correcciones
permite que los programas evolucionen de una forma más abierta. En el mundo
de la seguridad, un fallo en el sistema significa exponer a éste a una “ventana
de vulnerabilidad” que tiene lugar desde la detección del fallo (por parte de sus
usuarios legítimos o de terceras partes, hostiles incluso) a la aplicación de la
medida correctiva, que pueda ser la instalación del parche adecuado que
arregle el problema, pasando por la generación de dicho parche. El hecho de
que la generación de dicho parche pueda realizarse por un número de
personas (confiables) elevado, y no por un sólo fabricante, debe, en teoría,
reducir este tiempo de exposición a dicha vulnerabilidad.
• El hecho de que exista una cierta independencia entre el software y su
fabricante, o distribuidor original, permite que los usuarios de este software, en
caso de pérdida de soporte, puedan realizar el mantenimiento de éste ellos
mismos o subcontratarlo a una tercera empresa. Este hecho es, si cabe, de
gran importancia en el mundo de la seguridad dado que la seguridad de una
entidad no debe depender de la solvencia de terceras compañías a las que
adquiere productos de seguridad y actualmente, sin embargo, es así. Debido a
la gran variabilidad de riesgos potenciales contra los que un elemento de
seguridad informática debe proteger, estos productos han de ser
frecuentemente actualizados, muchas veces empujados por el descubrimiento
de ataques antes desconocidos. Sin embargo, si una compañía depende de un
producto de una tercera entidad y, de forma transitiva, de esta tercera entidad,
la pérdida de soporte de este producto (por quiebra de la tercera entidad o
abandono de una determinada línea de negocio) da lugar a que la compañía no
esté adecuadamente asegurada contra los nuevos riesgos que puedan surgir.
Las únicas opciones posibles serán mantener un sistema de seguridad que,
con el tiempo, quedará obsoleto, o migrar a un sistema de seguridad nuevo
(otro producto de otro fabricante) con sus consecuencias económicas y de
impacto en servicios ya consolidados.
DESVENTAJAS DEL SOFTWARE LIBRE
A nivel de seguridad el software libre también podría presentar algunos
inconvenientes. Así se podrían enumerar las siguientes:
• Riesgo de una presencia de troyanos más fácil, debido a que los
usuarios tienen la libertad de copiar, distribuir y modificar el código fuente,
puede existir el caso de que este sea modificado con intenciones maliciosas.
En caso de que el troyano llegue a confundirse con la versión original del
código fuente existirían graves conflictos. La fuente del programa, en realidad,
será el método de distribución de software, que, de no ser seguro, permitirá
que un tercer agente lo manipule.
• El Modelo Bazar, este método es usado por la comunidad de Software
Libre y, consiste en que todos pueden participar y ser miembros activos en el
desarrollo de software de un proyecto, muchas personas trabajan sobre partes
concretas, bien sea optimizando código fuente, realizando traducciones,
enviando parches, entre otros. Esto puede dar lugar a que se realice una mala
gestión del código fuente del software por no seguir métodos formales de
seguimiento, la consecuencia final es que falten piezas clave (que nadie ha
contribuido) como es el caso de la documentación.
• Al no tener un respaldo directo, la evolución futura de los componentes
software no está asegurada. Algunas de estas desventajas pueden tener
solución. Por ejemplo, la expansión de troyanos se limita a través del uso de
técnicas de firma digital para garantizar que el código o binarios transmitidos no
sean violentados.
SOLUCIONES DE SEGURIDAD CON SOFTWARE LIBRE
En la actualidad, existen diferentes soluciones para software libre a nivel
de seguridad, cuyo uso comienza a crecer como alternativa a aplicaciones de
software propietario.
• Seguridad de usuarios remotos.
Para mejorar la seguridad de usuarios remotos, existen herramientas
como TrueCryppt que permiten cifrar la información que se encuentra en los
dispositivos de almacenamiento. Asimismo, dichos usuarios cuentan con
OpenVPN para conectarse a internet de una manera segura desde cualquier
red ya sea cableada o WiFi, con cifrado WEP/WPA o sin cifrar. También se
puede mencionar GMF, la cual es una herramienta con interfaz web para la
gestión de incidentes. Con esta herramienta no es necesario instalar ninguna
aplicación adicional en las estaciones de trabajo de los usuarios y es accesible,
mediante un sistema de permisos, para los usuarios remotos que se conectan
a través de Internet.
• Seguridad perimetral.
En cuanto a la seguridad perimetral existen firewalls que permiten filtrar
y analizar paquetes mediante la definición de políticas, monitoreo del tráfico y
honeypots.
Dentro de estas herramientas podemos nombrar a “TigerWeb”, la cual
que se encarga de analizar la seguridad perimetral en redes IP, mediante la
ejecución de pruebas sobre máquinas que disponen de una dirección IP
externa, busca potenciales vulnerabilidades que puedan ser utilizadas por
usuarios malintencionados para acceder, corromper, destruir o impedir el
acceso a dichos sistemas. Como resultado del análisis genera un informe del
estado de la seguridad de los sistemas analizados. Otras soluciones
destacadas son IPTables (Firewall), SNort (Detección de intrusos) y Squid
(Proxy).
• Seguridad de Servidores
Acerca de la seguridad de servidores, se pueden mencionar
herramientas de software libre como A Nessus, el cual es un escáner para la
detección de vulnerabilidades, además, tenemos a OpenSSH que es un
conjunto de herramientas de conectividad que se usan para acceder a sistemas
remotos de forma segura, así como una variedad de soluciones para manejos
de certificados digitales, monitoreo de tráfico, detección de software maligno y
de correo SPAM.
HERRAMIENTAS MÁS POPULARES DE SEGURIDAD EN SOFTWARE LIBRE.
Si bien según lo que estipula el Software Libre no da la suficiente confianza
para la comunidad de propietaria existen herramientas de seguridad que hoy
en día la comunidad “Libre” usa con mayor frecuencia día a día.
Escaner Web.
NIKTO: Una herramienta de evaluación de servidor web. Está diseñado para
encontrar archivos por defectos, configuraciones inseguras y programas en
cualquier tipo de servidor web. Código Fuente e instalación
“https://github.com/sullo/nikto”.
W3af: Es un framework popular, potente
y flexible utilizado para búsqueda y
explotación de vulnerabilidades en las
aplicaciones web. Es fácil de usar y
extender, cuenta con decenas de
evaluaciones web y plugins de
explotación. Código e Instalación en:
“https://github.com/andresriancho/w3af”.
WESCARAB: Es un framework para el
análisis de la comunicación de las
aplicaciones mediante los protocolos
HTTP/HTTPS. Webscarab tiene varios
modos de operación implementado por
una serie de plugins. En su uso más
común, Webscarab funciona como un
proxy, que permite al operador revisar y
modificar las solicitudes creadas por el navegador antes de ser enviados al
servidor, y revisar y modificar las respuestas devueltos por el servidor antes de
que sean recibidos por el navegador. Código Fuente e instalación en:
“https://github.com/OWASP/OWASP-WebScarab”.
SQLMAP:Una herramienta que
automatiza el proceso de detectar
y explotar los errores de
inyección SQL y toma de carga
de los servidores de base de
datos. Código Fuente e
instalación en:
“https://github.com/sqlmapproject/sqlmap”.
Analizador de paquetes (Redes).
WIRESHARK: Considerado el
analizador de protocolos de red más
importante y ampliamente utilizado
en el mundo. Permite ver lo que
está ocurriendo en su red a nivel
microscópico y utilizado en muchas
empresas comerciales y sin fines de
lucro, agencias gubernamentales e
instituciones educativas. Instalación
y más información en su página oficial.
TCPDUMP: Un analizador de
paquetes usado antes la llegada de
Wireshark, puede que no mantenga
una interfaz gráfica de usuario bonito
y lógico de análisis de protocolos de
aplicación que Wireshark tiene, pero
lo hace bien con pocos recursos y menos riesgo para la seguridad del trabajo.
Código e instalación:“https://github.com/the-tcpdump-group/tcpdump”.
KISMET: Es una consola
(ncurses) basados detector de red
de capa 2 802.11
inalámbrica,sniffer, u el sistema
de detección de intrusos.
Identifica redes pasivamente
sniffing (a diferencia de las
herramientas mas activas, tales
como NetStumbler), y puede
incluso redes decloak oculta si
están en uso. Se puede detectar automáticamente bloques de IP de la red por
la inhalación de TCP, UDP, ARP, y los paquetes DHCP, registrar el tragico en
WIreshark / tcpdump. Código e instalación en:
“https://www.kismetwireless.net/kismet.git/”.
ETTERCAP:es una suite para los
ataques del medio de la LAN.
Cuenta con la inhalación de
conexiones en directo, filtrado de
contenidos sobre la marcha y
muchos otros trucos
interesantes.Es compatible con la
disección activa y pasiva de
muchos protocolos (incluso
aquellos cifrados) e incluye
muchas características de la red y
el análisis de acogida.
ENCRIPTACIÓN
Es el proceso mediante el cual cierta información o texto sin formato es
cifrado de forma que el resultado sea ilegible a menos que se conozcan los
datos necesarios para su interpretación. Es una 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 desencriptación a
través del cual la información puede ser interpretada de nuevo a su estado
original, aunque existen métodos de encriptación que no pueden ser revertidos.
El término encriptación es traducción literal del inglés y no existe en el idioma
español. La forma más correcta de utilizar este término sería cifrado.
CRIPTOLOGÍA
Es la ciencia que estudia la transformación de un determinado mensaje
en un código de forma tal 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 (pero no se prueba) que es complicada.
Secuencias o permutaciones que son en parte definidos por los datos de
entradas.
La primera categoría, que resume la mayoría de los métodos del cifrado de
clave pública, sufre de la incapacidad de probar la dificultad de los algoritmos.
El segundo método, que contiene a la mayoría de los códigos, sufre a menudo
de correlaciones teóricas entre la entrada ("texto de entrada") y la salida ("texto
cifrado").
USOS DE LA ENCRIPTACIÓN
Algunos de los usos más comunes de la encriptación son el
almacenamiento y transmisión de información sensible como contraseñas,
números de identificación legal, números de tarjetas de crédito, reportes
administrativo-contables y conversaciones privadas, entre otros.
Como sabemos, en un Sistema de Comunicación de Datos, es de vital
importancia asegurar que la Información viaje segura, manteniendo su
autenticidad, integridad, confidencialidad y el no repudio de la misma entre
otros aspectos. Estas características solo se pueden asegurar utilizando las
Técnicas de Firma Digital Encriptada y la Encriptación de Datos.
MÉTODOS DE ENCRIPTACIÓN
Para poder Encriptar un dato, se pueden utilizar tres procesos matemáticos
diferentes:
Algoritmo HASH: Este algoritmo efectúa un cálculo matemático sobre los
datos que constituyen el documento y da como resultado un número
único llamado MAC. Un mismo documento dará siempre un mismo
MAC.
Criptografía de Clave Secreta o Simétrica: Utilizan una clave con la cual
se encripta y desencripta el documento. Todo documento encriptado con
una clave, deberá desencriptarse, en el proceso inverso, con la misma
clave. Es importante destacar que la clave debería viajar con los datos,
lo que hace arriesgada la operación, imposible de utilizar en ambientes
donde interactúan varios interlocutores.
Algoritmos Asimétricos (RSA): Requieren dos Claves, una Privada
(única y personal, solo conocida por su dueño) y la otra llamada Pública,
ambas relacionadas por una fórmula matemática compleja imposible de
reproducir. El concepto de criptografía de clave pública fue introducido
por WhitfieldDiffie y Martin Hellman a fin de solucionar la distribución de
claves secretas de los sistemas tradicionales, mediante un canal
inseguro. El usuario, ingresando su PIN genera la clave Publica y
Privada necesarias. La clave Publica podrá ser distribuida sin ningún
inconveniente entre todos los interlocutores. La Privada deberá ser
celosamente guardada. Cuando se requiera verificar la autenticidad de
un documento enviado por una persona se utiliza la Clave Publica
porque el utilizó su Clave Privada.
CONCLUSIÓN
Debido a que el uso de Internet se encuentra en aumento, cada vez más
compañías permiten a sus socios y proveedores acceder a sus sistemas de
información. Por lo tanto, es fundamental saber qué recursos de la compañía
necesitan protección para así controlar el acceso al sistema y los derechos de
los usuarios del sistema de información. Los mismos procedimientos se aplican
cuando se permite el acceso a la compañía a través de Internet.
Además, debido a la tendencia creciente hacia un estilo de vida nómada de
hoy en día, el cual permite a los empleados conectarse a los sistemas de
información casi desde cualquier lugar, se pide a los empleados que lleven
consigo parte del sistema de información fuera de la infraestructura segura de
la compañía.
BIBLIOGRAFÍAhttps://www.gnu.org/
http://www.mundo9eek.com/2016/07/los-mejores-antivirus-gratis-para-pc-del-
software-libre-open-source.html
http://www.dominpad.com/antivirus-gratis-open-source/
http://www.ramonbecerra.com/desventajas-del-software-libre/
https://www.pwc.com/ve/es/asesoria-gerencial/boletin/assets/boletin-advisory-
edicion-07-2008.pdf
http://www.othlo.com/htecnologia/documentacion/hispalinux04/03seguridad-y-
sw-libre_v1.0.pdf
https://cirt.net/Nikto2
http://w3af.org/
https://www.owasp.org/index.php/Webscarab
https://www.wireshark.org/
http://www.tcpdump.org/
http://www.kismetwireless.net/
https://ettercap.github.io/ettercap/