sábado, 26 de mayo de 2012

A seguridade de GNU/Linux a exame.

post bilingüe en defensa do ensino publico


Fai un tempo Google anunciou que os seus empleados deixarían de utilizar Windows, alegando que Windows tiña alguns ocos de seguridade importantes.


Como xa vimos, si ben esto é certo, pode tratarse dunha estratexia comercial.Sin embargo, esta decisión me deixóu pensando: ¿qué fai máis seguro a Linux?


Cualquier usuario de Linux se da conta que é moito máis seguro... se sinte mais seguro que con Windows.

Pero, ¿cómo explicar esa "sensación"? 

Introducción.


Este post é o froito de varias horas de reflexión e búsca en internet. Si todavía usás Windows e querés saber por qué Linux é mais seguro ou si eres un usuario de Linux que disfruta das suas mieles e querés saber qué fai de Linux un mellor sistema en materia de seguridade recomiendoche que leas este post detidamente. É longo pero vale a pena.¿Qué é a seguridade? Moita xente cree que é correcto decir que un producto é seguro, así:: por exemplo, Windows é máis seguro que Linux, Firefox más seguro que IE, etc. Esto es parcialmente certo. En realidade, a seguridade non é un producto, algo que ven xa armado y para levar. Se trata, mais ben, dun proceso na que o usuario xoga un rol central. Noutras palabras, a seguridad é un estado que debe ser mantido activamente a través dunha interacción adecuada e responsable entre o usuario e o software e/o sistema operativo instalado.

Ningún software ou sistema operativo es capaz de aportar ningún tipo de seguridad si el administrador pone claves tontas como "123", o si no toma los recaudos del caso. Dicho esto, sí es cierto que hay programas y SO más seguros que otros en tanto tienen menos "agujeros" o vulnerabilidades, se actualizan más rápido y, en términos generales, le hacen la vida más difícil a los atacantes.Es en este sentido que podemos decir, por ejemplo, que Linux es más seguro que Windows. Ahora bien, ¿qué es lo que hace que Linux sea más difícil de vulnerar? Bueno, una respuesta que he leído y escuchado hasta el artazgo tiene que ver con el "security through obscurity" o "seguridad por oscuridad". Básicamente, lo que argumentan muchos supuestos "expertos en seguridad" cuando se les pregunta por qué Linux es más seguro es que como la mayor parte del mercado de SO está en manos de Microsoft Windows, y los hackers malos quieren hacer el mayor daño posible, entonces apuntan a Windows. La mayor parte de los hackers quieren robar la mayor cantidad de información posible o realizar alguna acción que los destaque por sobre los demás y les dé "prestigio" dentro de su círculo. En la medida en que Windows es el SO más usado, realizan todos los esfuerzos para crear hacks y virus que afecten ese SO, dejando de lado los demás.


Parece moi importante destacar que hoxe prácticamente ninghen cuestiona que efectivamente Linux sexa máis seguro que Windows. No que se equivocan os supostos "expertos" é na fundamentación, he aquí a razón pola que me sentéi a escribir este artígo.

Os "expertos", como decía, sólo se basean nun mero dato estadístico para explicar por qué Linux é máis seguro: existen menos virus e malwares para Linux en comparación coa enorme cantidade que hai pra Windows. Ergo, Linux é máis seguro... por agora. Claro, ao basear toda sue argumentación neste mero dato, en medida en que máis usuarios se pasen a Linux, os hackers malos van a concentrarse cada vez miás en crear utilidades e ferramentas malignas para explotar todas y cada una das vulnerabilidades de Linux. Se trata simplemente dun sistema de incentivos, que faría máis atractivo para os hackers desarrollar virus e malware para Linux na medida en que se vaia facendo cada vez máis popular. A suposta seguridade de Linux, si acordamos co análisis dos "expertos", sería unha grande mentira. Linux non sería seguro SALVO utilizado por pouca xente. Nada máis... Eu creo, entroques, que a maior seguridade que aporta Linux basease en alguns aspectos fundamentais do seu diseño i estructura.
Otro dato estadístico alcanza para empezar a darnos cuenta de que los "expertos" no saben nada. El servidor web Apache (un servidor web es un programa que se encuentra alojado en una computadora remota que aloja y envía las páginas a tu explorador web cuando vos, visitante, pedís acceso a esas páginas), que es software libre y corre generalmente bajo Linux, tiene la cuota de mercado más grande (mucho mayor que la del servidor IIS de Microsoft) y a pesar de ello sufre muchos menos ataques y tiene menos vulnerabilidades que la contraparte de Microsoft. En otras palabras, en el mundo de los servidores donde la historia es al revés (Linux + Apache poseen la mayor cuota del mercado), Linux ha demostrado ser más seguro que Windows. Las empresas de software más grandes del mundo, los proyectos científicos más ambiciosos, incluso los gobiernos más importantes, todos eligen Linux para almacenar y proteger la información de sus servidores y cada vez más son aquellos que lo están empezando a elegir como sistema de escritorio. ¿Vos que vas a elegir?
Las 10 características que hacen a Linux muy seguro En contraste con el endeble papelucho de cartón en el que, con suerte, te puede llegar el CD de Linux (estoy pensando en un Ubuntu, por ejemplo), el CD de Windows típicamente viene en una cajita de plástico que está cerrada herméticamente y que tiene una etiqueta bien visible que te pide con ansias que prestes conformidad con los términos de la licencia que acompaña al CD y que probablemente encuentres en la prolija caja de cartón en la que todo venía empaquetado. Este sello de seguridad está diseñado para prevenir que los gusanos vulneren la cajita de plástico de tu CD e infecten tu copia de Windows antes de que sea efectivamente instalada, lo cual constituye un recaudo importante y un activo de seguridad invaluable.
Claramente Windows sacalle ventaxe a Linux no que respecta á seguridad física das suas copias (jaja), pero ¿qué sucede una vez que xa lo instalamos? ¿Cáles son as 10 características que fan a Linux máis seguro que Windows?
1. Es un sistema multiusuario avanzado.
En la medida en que Linux se basa en Unix, originalmente pensado para su utilización en redes, se explican algunas de sus importantes ventajas en relación a la seguridadrespecto de Windows. El usuario con más privilegios en Linux es el administrador; puede hacer cualquier cosa en el SO. Todos los otros usuarios no obtienen tantos permisos como el root o administrador. Por esta razón, en caso de ser infectado por un virus mientras un usuario común está sesionado, sólo se infectarán aquellas porciones del SO a las que ese usuario tenga acceso. En consecuencia, el daño máximo que ese virus podría causar es alterar o robar archivos y configuraciones del usuario sin afectar seriamente el funcionamiento del SO como un todo. El administrador, además, estaría habilitado para eliminar el virus fácilmente.

Unha vez que conclue a instalación de calquer distro Linux, se nos solicita que creemos un root e un usuario común. Esta falta total de seguridade que involucra a creación de mais dun usuario por computadora é a causante da sua pouca popularidade. ¡Ja! Non, falando en serio, esta é unha das razons polas que Linux é más seguro.

En comparación, por ejemplo en Windows XP, las aplicaciones de usuario, como Internet Explorer, tienen acceso a todo el sistema operativo. Es decir, supongamos que IE se vuelve loco y quiere borrar archivos críticos del sistema... bueno, podría hacerlo sin problemas y sin que el usuario se entere de nada. En Linux, en cambio, el usuario tendría que configurar explícitamente la aplicación para que corriese como root para introducir el mismo nivel de vulnerabilidad. Lo mismo sucede con los propios usuarios. Supongamos que una persona se sienta en mi compu con WinXP. Va a C:Windows y borra todo. No pasa naranja. Lo puede hacer sin problemas. Claro, los problemas vendrán la próxima vez que intente iniciar el sistema. En Windows el usuario y cualquier programa que él instale tienen acceso para hacer prácticamente cualquier cosa en el SO. En Linux esto no sucede. Linux utiliza una administración de privilegios inteligente por el cual siempre que el usuario quiera hacer algo que sobrepase sus privilegios se pedirá la contraseña del root.



Sí, é molesto... pero é o que o fai seguro. Hai que escribir a bendita contraseña cada vez que se queira facer algo que potencialmente poda afectar a seguridade do sistema. Esto é máis seguro porque os usuarios "comuns" non teñen acceso para instalar programas, executar chamadas do sistema, editar arquivos do sistema, trocar configuracions críticas do sistema, etc.

Desde el principio, Linux fue diseñado como un sistema multiusuario. Incluso ahora, las debilidades más importantes de Windows están vinculadas a sus orígenes como sistema independiente para 1 sólo usuario. Lo malo del modo de hacer las cosas en Windows es que no hay capas de seguridad. Es decir, una aplicación de alto nivel, como un explorador de internet o un procesador de textos, están unidos y pueden acceder a las capas más bajas del sistema operativo, con lo cual la más pequeña vulnerabilidad puede dejar expuesto a todo el sistema operativo.

Desde Windows Vista, se introdujo en Windows el Control de Cuentas de Usuario (UAC por sus siglas en inglés) que hace que cada vez que quiera ejecutarse un programa o realizarse alguna tarea potencialmente peligrosa se requiera la contraseña del administrador. Sin embargo, sin contar el hecho de que al menos aquí casi todos siguen usando WinXP pola sua comodidade e facilidade, a maior parte dos usuarios de Win7 ou Win Vista se loguean sempre como administradores ou otorganlle dereitos de administrador a seus usuarios. Al hacerlo, cada vez que quieran realizar alguna de estas tareas "peligrosas" el sistema simplemente mostrará un cuadro de diálogo que el usuario debe aceptar o rechazar. Cualquier persona que se siente en tu escritorio y/o se apodere de tu máquina automáticamente tiene privilegios de administrador para hacer lo que se le cante. Para una comparación completa entre UAC y su, sudo, gksudo, etc. les recomiendo leer este artículo.

2. Mellor configuración por defecto. Pola sua parte, a configuración por defecto en todas as distros Linux é moito máis segura que a configuración por defecto de Windows. Este punto está íntimamente vinculado co anterior: en todas as distros Linux o usuario ten privilexios limitados, mentras que en Windows casi sempre o usuario ten privilegios de administrador. Trocar estas configuracions é moi doado en Linux e un pouco complicado en Windows.

Claro que cualquiera de éstos puede ser configurado de tal modo de convertirlo en un sistema inseguro (al correr todo como root en Linux, por ejemplo) y Windows Vista o Windows 7 (que, por cierto, copiaron algunas de estas características de Linux y Unix) podrían configurarse de mejor modo para hacerlos más seguros y ejecutarse bajo una cuenta más restringida que la del administrador. Sin embargo, en la realidad esto no sucede. La mayor parte de los usuarios de Windows tiene privilegios de administrador... es lo más cómodo.


3. Linux es mucho más "asegurable"


En la medida en que la seguridad, como vimos al comienzo, no es un estado sino un proceso, aún más importante que venir "desde fábrica" con una mejor configuración por defecto es poder brindarle al usuario la libertad suficiente como para adaptar los niveles de seguridad a sus necesidades. A esto es a lo que yo llamo "asegurabilidad". En este sentido, Linux no sólo es reconocido por su enorme flexibilidad sino por permitir ajustes de seguridad que serían imposibles de conseguir en Windows. Esta es la razón, precisamente, por la que las grandes empresas eligen Linux para administrar sus servidores web.


Podrá sonar muy "zen", pero esta situación me recuerda a una anécdota que alguien me contó alguna vez. No sé si todavía sigue sucediendo pero me dijeron que en China la gente le pagaba al médico cuando estaba bien y dejaba de hacerlo cuando estaba mal. Es decir, al revés de lo que hacemos nosotros en la "sociedad occidental". Aquí sucede algo parecido. En Windows existe un enorme mercado en torno a la seguridad pero que se basa esencialmente en controlar o disminuir los efectos y no las causas que hacen de Windows un sistema inseguro. En Linux, en cambio, un usuario intermedio o avanzado puede configurar el sistema de tal modo que sea prácticamente impenetrable sin que ello implique la instalación de un antivirus, antispyware, etc. En otras palabras, en Linux el foco está puesto en las causas, o sea en las configuraciones que hacen a un sistema más seguro; mientras que en Windows el acento (y el negocio) está puesto en las consecuencias de una posible infección.


4. No hay archivos ejecutables ni registro.

En Windows, os programas maliciosos xeralmente son arquivos executabeis que, logo de enganar ao usuario ou saltear seu control, executanse e infectan a máquina. Unha vez que esto sucedeu é moi difícil removelos xa que, en caso de que podamos atopalo i eliminalo, éste podese replicar e incluso pode gardar configuracions no rexistro de Windows que lle permitan "revivir". En Linux, en cambio, non existen, estrictamente falando, arquivos executabeis. En realidade a executabilidade é unha propiedade de calquer arquivo (sen importar sua extensión), que o administrador ou o usuario que o creou pode otorgarlle. Por defecto, ningún archivo é executable en linux, a menos que algun de estos usuarios así o establezan.

Además, Linux utiliza archivos de configuración en vez de un registro centralizado. Es conocida aquella frase que dice que en Linux todo es un archivo. Esta descentralización, que permite evitar la creación de una enrome base de datos hipercompleja y enredada, facilita enormemente la eliminación y detección de los programas maliciosos así como dificulta su reproducción teniendo en cuenta que un usuario normal no puede editar archivos del sistema.


5. Mejores herramientas para combatir los ataques zero-day.

No siempre alcanza con tener todo el software actualizado. Los ataques zero-day (un ataque que explota vulnerabilidades que los propios desarrolladores del software todavía desconocen) son cada vez más comunes. Un estudio ha demostrado que lleva solamente seis días a los crackers desarrollar software malicioso que explote estas vulnerabilidades, mientras que le lleva meses a los desarrolladores detectar estos agujeros y lanzar los parches necesarios. Por esta razón, una política de seguridad sensible tiene siempre en cuenta la posibilidad de ataques zero-day. Windows XP no cuenta con tal provisión. Vista, en modo protegido, aunque es útil, provee solamente protección limitada a los ataques a IE. En contraste, la protección provista por AppArmor o SELinux es ampliamente superior, proveyendo una protección muy "fina" contra cualquier tipo de intento de ejecución de código en forma remota. Por esta razón, es cada vez más común que las distros Linux vengan con AppArmor (SuSE, Ubuntu, etc.) o SELinux (Fedora, Debian, etc.) por defecto. En otros casos, se pueden bajar fácilmente desde los repositorios.




6. Linux es un sistema modular.
El diseño modular de Linux permite eliminar un componente cualquiera del sistema en caso de ser necesario. En Linux, se podría decir que todo es un programa. Hay un programita que gestiona las ventanas, otro que gestiona los logins, otro que se encarga del sonido, otro del video, otro de mostrar un panel de escritorio, otro que funciona como dock, etc. Finalmente, como las piezas de un lego, todas ellas forman el sistema de escritorio que conocemos y utilizamos diariamente. Windows, en cambio, es un enorme bloque de cemento.


Es un bloque que es muy difícil de desarmar. Así, por ejemplo, en caso de que tengas la sospecha de que Windows Explorer tiene alguna falla de seguridad, no vas a poder eliminarlo y reemplazarlo por otro.


7. Linux é software ceibe.
Sí, definitivamente esta é unha das razones máis importantes polas que Linux é un SO moito máis seguro que Windows: porque en primeiro lugar os usuarios poden saber exactamente qué fan os programas que compoñen o SO e, en caso de detectar unha vulnerabilidade ou irregularidade, poden correxila ao instante sin ter que esperar un parche, actualización ou "service pack". Calquera pode editar o código fonte Linux e/ou os programas que o compoñen, eliminar a brecha de seguridade e compartila co resto dos usuarios. Ademais de ser un sistema máis solidario, que incentiva a participación e a curiosidade dos usuarios, é moito máis práctico á hora de resolver furados de seguridade. Máis ollos permiten a detección e solución máis rápida dos problemas. Noutras palabras, hay menos furados de seguridade e os parches se lanzan máis rápidamente que en Windows.


Además, los usuarios de Linux estamos mucho menos expuestos a los programas spyware y/o cualquier otro programa que obtenga información del usuario en forma oculta o engañosa. En Windows, no tenemos que esperar a infectarnos con algún programa malicioso para sufrir este tipo de robo de información; existen pruebas de que el propio Microsoft e incluso otros programas muy reconocidos realizado por otras empresas, han adquirido información sin el consentimiento de los usuarios. Concretamente, Microsoft es acusado de utilizar software con nombres confusos, como el Windows Genuine Advantage, para inspeccionar los contenidos de los discos rígidos de los usuarios. El acuerdo de licencia incluido en Windows requiere que los usuarios acepten esta condición antes de usar Windows y afirma el derecho de Microsoft para hacer este tipo de inspecciones sin notificar a los usuarios. En definitiva, en la medida en que la mayor parte del software para Windows es privativo y cerrado, todos los usuarios de Windows y los desarrolladores de programas para ese SO dependen de Microsoft para solucionar las brechas de seguridad más graves. Lamentablemente, Microsoft tiene sus propios intereses en materia de seguridad, que no necesariamente son los mismos que los de los usuarios.

Existe el mito de que, al estar disponible públicamente su código fuente, Linux y todos los programas de software libre que corren bajo Linux son más vulnerables porque los hackers pueden ver cómo funcionan, encontrar los huecos de seguridad más fácilmente y sacar provecho de ellos. Esta creencia está muy vinculada al otro mito que nos encargamos de deshacer al comienzo del artículo: la oscuridad trae seguridad. Esto es falso. Cualquier experto en seguridad realmente serio sabe que la "oscuridad", en este caso dada por tratarse de software de código cerrado, dificulta la detección de las brechas de seguridad por parte de los propios desarrolladores, así como dificultan el informe y detección de estas brechas por parte de los usuarios.


8. Repositorios = Chau cracks, seriales, etc.

El hecho de que Linux y la mayor parte de las aplicaciones que se escriben para correr en él sean software libre ya, de por sí, es una enorme ventaja. No obstante, si esto no estuviera combinado con el hecho de que todo ese software se encuentra disponible para su descarga e instalación desde una fuente centralizada y segura, probablemente su ventaja comparativa respecto de Windows no sería tan considerable. Todos los usuarios de Linux sabemos que al instalar Linux automáticamente nos olvidamos de buscar seriales y cracks que, por otra parte, nos obligan a navegar por sitios inseguros o deliberadamente diseñados para hacer caer a los usuarios y jugar con sus necesidades.


Tampoco precisamos de la instalación de ningún crack, los cuales muchas veces tienen algún virus o malware por ahí escondido. En cambio, sí tenemos, dependiendo de la distro que usemos, una serie de repositorios desde los cuales bajamos e instalamos el programa que necesitemos con un simple clic. Sí, ¡así de fácil y seguro! Ya desde los primeros pasos de la instalación de Windows, éste demuestra su amplia superioridad en términos de seguridad. A medida que el proceso de instalación comienza, se insiste que el usuario ingrese un número de serie antes de continuar. Sin esta información vital, el usuario no puede continuar con la instalación. La mayor parte de los usuarios de Windows por suerte todavía no saben que una búsqueda rápida en Google puede brindarle acceso a miles de seriales, así que esta pieza de información es la defensa más poderosa contra los indeseados back-doors. Sí... es un chiste. ¿Qué seguridad brinda un sistema que puede ser crackeado y vulnerado de modo que se pueda evitar el ingreso del serial, único medio a través del cual Microsoft se asegura que los usuarios paguen por sus copias? Es un SO tan malo que ni siquiera pueden (¿ni quieren?) hacerlo invulnerable de modo tal que todos paguen por sus copias.


9. 1, 2, 3... Actualizando.

Si sos como la mayoría de las personas que conozco, usás WinXP. El primer XP venía con el IE 6 (de agosto de 2001), el XP con el service pack 1 venía con el IE 6 SP1 (de septiembre de 2002) y el XP SP2 venía con el IE 6 SP2 (de agosto de 2004). En otras palabras, en el mejor de los casos, estás utilizando un explorador que fue desarrollado hace casi 6 años. No hace falta explicar la enormidad que esto significa en términos del desarrollo de software. En esos años no sólo se detectaron y explotaron miles de vulnerabilidades al WinXP sino también al explorador que utiliza por defecto.

En Linux la cuestión es bien diferente. Es mucho más seguro que Windows porque está siendo permanentemente actualizado. Gracias a que Linux es un sistema modular, desarrollado como software libre y que cuenta con un sistema de repositorios de gestión de actualizaciones e instalación de nuevos programas, estar al día es una pavada. Desde el explorador de internet hasta el más recóndito programita que gestiona los privilegios de usuarios o la gestión de las ventanas, etc., pasando por el kernel y los drivers necesarios para el funcionamiento del sistema, todo se actualiza mucho más rápido y fácil que en Windows.


Precisamente, en Windows, las actualizaciones se realizan una vez por mes. Claro, eso si no las desactivaste, ya sea porque te resultaban molestas, porque consumían parte de tu ancho de banda o simplemente por temor a que Microsoft detectara de algún modo tu copia ilegal. Pero eso no es lo peor. La actualización de cada una de las aplicaciones es independiente, esto significa que Windows no se encarga de actualizarlas, cada una de ellas tiene que encargarse de ello. Como bien sabemos, muchas no tienen la opción de buscar las actualizaciones. Es el usuario el que se tiene que preocupar por enterarse del lanzamiento de una nueva versión, la descarga y la posterior actualización (siempre con el temor de no saber si tiene que borrar la versión anterior o no).


10. Diversidade, bendita ti eres entre todas...
Os usuarios de Windows están acostumados a que Microsoft lles diga qué programa utilizar para cada cousa. Deste modo, a utilización do sistema se supon que é máis sinxela, se crean estándares comuns, se facilita a compatibilidade, etc. En fin, todo esto demostrou ser falso. Polo contrario,  contribuiu meramente á uniformidade e o direccionamiento desde arriba, como si se tratara dunha dictadura. Esa homoxeneidad ha facilitado enormemente a tarefa dos atacantes para detectar vulnerabilidades i escribir programas maliciosos que as exploten.

En comparación, en Linux existen unha cantidade infinita de distros con diferentes configuracions, rutas de sistema, sistemas de xestión de paquetes (uns usan .deb, otros .rpm, etc.), programas de xestión de todas as actividades do sistema, etc. Esta heteroxeneidad dificulta enormemente o desarrollo de virus que teñan un amplio impacto, como sí é posible en Windows.


Los detractores de Linux dicen que más distribuciones equivalen a una mayor propensión de error y, por consiguiente, mayores vulnerabilidades de seguridad. Esto, en principio, podría ser cierto. Sin embargo, como acabamos de ver, esto se ve más que compensado por el hecho de que esas vulnerabilidades son más difíciles de explotar y terminan afectando a menos gente. En definitiva, los incentivos de los hackers para escribir software malicioso que afecte a estos sistemas disminuyen notablemente.

No hay comentarios:

Publicar un comentario