27 septiembre 2011

La obsolescencia del modelo Unix

Mucho ha llovido ya desde que Ken Thompson y Dennis Ritchie alumbraran en 1969 el sistema operativo Unix, padre de, entre otros, el sistema operativo Linux.

Conceptualmente, el modelo 'Unix' se basa en que, frente a programas multi-función con múltiples funcionalidades en un mismo programa, se apuesta por un amplio juego de comandos especializados que trabajan de forma cooperativa entre si.

Cualquier persona que haya usado durante algún tiempo Linux, le sonará la famosa 'pipe' | que permite concatenar la salida de un comando hacia otro y en base a eso, construir complejos comandos para generar una tarea.

Yo siempre he sido defensor convencido de ese modelo, de hecho en las ocasiones que me ha tocado desarrollar para un entorno Windows (que por norma general promueve justo lo contrario, programas multi-disciplinares y el uso intensivo de hilos), me ha tocado enfrentarme a equipos 'nativos' que han mostrado oposición al modelo que yo defendía.

Generalmente, una vez explicado que desarrollar en modo-Unix tiene la ventaja de aislar los componentes evitando que el fallo de uno tire al resto, y que a la hora de depurar errores, resulta mucho mas sencillo aislar problemas, he terminado por salirme con la mía, y en los casos en los que no, he cedido de muy mala gana.

Pero visto el panorama actual de Linux, me veo obligado a replantearme mis principios. ¿Motivo? hacer las cosas tan modulares no es escalable y desde el punto de vista de la seguridad, un entorno actual Linux es ingobernable.

Dos ejemplos:

Sistema Linux actual, con un entorno gráfico cargado, un navegador, procesador de texto, cliente de mensajería y algunas consolas abiertas:

$ ps aux | wc -l
293

Mismo entorno bajo Windows (evidentemente y por definición NO es idéntico)

>tasklist /svc | find  /c /v "zzzzzzzzzzzzzzzzzzzzzzzzzz"
61

** Este comando lista los procesos y le entrega la salida al comando Find, el flag /c cuenta el total de líneas y el /v excluye toda línea que contenga "zzzzzzzzzzzzzzzzzzzzzzzzzz" con lo que el comando significa: cuenta todas las líneas que no tengan ese patrón lo que a la postre da el total de procesos ya que ninguno se llama así

La diferencia es evidente: 293 procesos VS 61. Absolutamente imposible de gestionar desde el punto de vista de la seguridad. De hecho, tengo muy claro que a día de hoy, en caso de 'rootear' un sistema Linux, mas que plantearse que rootkit es mejor o peor, resulta mucho más fácil buscar un nombre inocuo (chrome-plugin-helper, por ejemplo) y hacer que se entierre entre la maraña de procesos.

Más aun, Windows implementa de una forma bastante efectiva el firmado digital de ejecutables, lo que facilita notablemente discernir que procesos son mas o menos sospechosos.

En el caso de Linux, si bien la mayoría de paquetes van firmados con una clave GPG, esto no está integrado en las herramientas de gestión de procesos con lo que tienes que ir a mano (o hacerte un script, como ya publiqué aquí) para que haga esa comprobación.

En muchas ocasiones se ha intentado portar el modelo de firma digital de ejecutables y módulos del kernel, pero casi todos estos proyectos no han entrado a formar parte del kernel oficial y han quedado obsoletos, como por ejemplo DigSig. Por otra parte existen herramientas como bsign pero simplemente están ahí, no se ha seguido avanzando en el concepto

En definitiva, tengo la impresión de que si bien este modelo tan cooperativo era excepcional en entornos tipo servidor con pocos procesos, en entornos tipo workstation está completamente obsoleto.

Linux ha hecho increíbles avances en áreas de rendimiento y optimización de recursos a nivel kernel pero le falta, a mi parecer, avanzar en otras capas.

61 comments :

Ala dijo...

Primero el titular es como uno de Sálvame.

Después, tengo que decirte que a veces se pierde perspectiva, pero no todo es seguridad. Está la funcionalidad y está claro que hay que llegar a un compromiso, pero si me dices que el modelo está obsoleto porque hay muchos procesos... es un argumento obtuso cuando menos.

Cesar Neira dijo...

¿No es esto "El lado del mal"?

Reflexionando...

Madrikeka dijo...

Por mi parte tengo que decir, que tienes razón, yo hace tiempo que decidí que cada sistema operativo es para lo que es.

Es decir, a mi me encantan los entornos mixtos (Linux y windows) ya que a mi parecer, para usuarios es mas administrable un entorno windows (también he tocado un entorno de usuario basado en Linux), pero a nivel servidor prefiero administrar Linux.

Y si las cosas no cambian, creo que seguiré pensando así.

Un saludo.

Ignacio Nicolas Feijoo dijo...

A menos procesos mas seguridad? o entendí todo mal?

Además, en windows no todo son los procesos, sino que tiene que ver qué alcance tiene cada proceso. Desde que chema me mostro la consola de hacking hecha en excel comprendí que windows es TOTALMENTE ingobernable desde el punto de vista de la seguridad. Con solo llegar a la ayuda podes saltearte todos los mecanismos de firmado, perfiles, etc.

Pperez333 dijo...

No termino de entender cual es el problema. 293 procesos comprensibles con código fuente accesible y una función clara vs. 61 que nadie sabe que son, o que hacen y a cuyo código no tengo acceso. No veo porque el número de procesos ha de ser significativo desde el punto de vista de la administración o la seguridad.

Linux, y pienso en el escritorio, quizás no firme el código ejecutable en ejecución, pero si que lo hace con los paquetes de donde proviene. Y el hecho de que la mayoría del software se ejecute con permisos de usuario siempre ha dado más garantías con respecto a las versiones de Windows de siempre. Además, firmar el código se ha demostrado que también es algo "atacable" como por ejemplo Stuxnet.

Me temo que no estoy de acuerdo :D

kmlreverser dijo...

Vale bien 239 procesos genial desconocidos en cambio en windows como sabes que esos 69 procesos son seguros ¿haces una fe ciega? quien sabe si el puerto 139 sirve para algo mas que para decir "Hola estoy aquí" en netbios. o si microsoft le incluyo algún regalo. No se sabe. Ademas a los administradores nos pagan por eso Administrar. Si fueran 5 procesos lo haría cualquiera.

Phestuk dijo...

Creo que tus pruebas son un poco ligeras.

No indicas que software esta cargado ni que versión es.

¿Que distribución es?
¿Con que entorno de escritorio?
¿Que aplicaciones hay en ejecución? ¿y servicios?

Yo también puedo hacer pruebas

Ahora mismo en mi sistema habitual de trabajo:

ps aux | wc -l
129

En un Mac (si, también son tipo unix)

ps aux | wc -l
104

En un windows:

tasklist /svc | find  /c /v "zzzzzzzzzzzzzzzzzzzzzzzzzz"
93

Estas cifras que yo pongo no tienen ninguna validez ya que no indico nada sobre que esta en ejecución.

No quiero ofender, pero no demuestras nada.

 

Pasqual dijo...

no por tener menos procesos un entorno Windows va a ser mas seguro, habria que entrar en que hacen estos procesos. los procesos Windows seguramente seran mas complejos y haran mas tareas. mas que pensar en procesos habria que pensar en funcionalidades ofrecidas. En cuanto a la firma de binarios igual ahora si que se implementa en Linux porque no haya mas remedio:
http://mjg59.dreamwidth.org/6054.html

Aiiiiiiiiiii dijo...

Otro post made in "colegitas de facultad que se han currado un webring dandoselas de profesionales pero cada cierto tiempo nos torturan hablando de las mismas chorradas a nivel de wannabe"Yo no entiendo porqué gastais tantos esfuerzos en intentar convencernos. Los que trabajamos profesionalmnte en esto sabemos lo que hay y para que sirve cada cosa, su potencial y sus limites, y si entramos en estos blogs es para seguir aprendiendo.

¡Basta ya de post que parecen que van dedicados a evangelizar y/o fidelizar niñatos incautos! ¡coño!

Casi estoy convencido de que os pagan por hacerlo... ufff

tmeto dijo...

Reflexiona sobre eso sobre de que es TOTALMENTE ingobernable...no pensemos en la seguridad de windows como en la de hace 5 años, y no caigamos en el fanatismo anti-windows.  Entornos concretos problemas concretos.

Ciertamente el articulo puede ser algo generalista pero tiene algo de razón, "en entornos tipo workstation está completamente obsoleto", no esta diciendo que eliminemos todo unix de la faz de la tierra...

Yago Jesus dijo...

No seáis fanáticos, en ninguna parte del post he dicho que Windows sea mas seguro, tampoco que Windows no tenga otros ¿muchos? problemas. El concepto es sencillo: 'casa con muchas puertas es difícil de guardar' que dice el refrán. Evidentemente contar con el código fuente supone cierta garantía, pero al final todo eso se pierde por la cantidad de cosas tan enorme que se deben revisar. Soy usuario de Linux convencido pero no por eso voy a dejar de tener un espíritu crítico. Creo que en vez de caer en una actitud banderiza y negar las cosas, aporto mucho más identificando debilidades y promoviendo su mejora. ¿No? 

Yago Jesus dijo...

Hombre, si todos aceptamos como principio Nº1 de cualquier guía de hardening que se debe reducir al mínimo posible el software instalado, doy por sentado que cualquier cosa que suponga un aumento de la complejidad supone una merma en seguridad 

Yago Jesus dijo...

El problema es que son demasiados y no hay tiempo material para revisarlos uno-a-uno, al final ese principio que es bueno (código fuente disponible) se pierde por la enorme cantidad de cosas a mirar. Y como decía en otro comentario, no promuevo el uso de Windows o que sea mejor que Linux. Promuevo mejoras en Linux y que evolucione en algunos aspectos

Yago Jesus dijo...

No promuevo que Windows sea mas seguro que Linux, simplemente porque no lo creo. Lo que promuevo es que Linux debe evolucionar para mejorar

Yago Jesus dijo...

 ¿De verdad crees que esas cifras no son fiables? Haz la prueba en cualquier entorno Linux. El mío es una Fedora 12 con Gnome

Yago Jesus dijo...

Aquí promovemos un espiritu crítico hacia *todo*, guste o no guste, coincida con tu bandera o con la de tu 'enemigo'. Si todo lo que eres capaz de argumentar son ataques ad-hominem, tu mismo te descalificas

MendigandoKarma dijo...

Es un excelente artículo. A ver si hay alguien de recursos humanos de Microsoft por aquí. Tanto talento no puede desperdiciarse.

H22 dijo...

¿De que te sirve contar procesos? Usuario hace una búsqueda por Internet, te bajas un programa, lo ejecutas y listo: maquina troyanizada. Eso ocurre miles de veces durante el día (ya puedas poner ASLR donde quieras) y eso es Windows. En Linux tienes los repositorios, ¿los pueden comprometer? Si. Pero no ocurre miles de veces al día.

Yago Jesus dijo...

Explícame que beneficio aporta al debate señalar que 'otros lo hacen peor', como decía NO promuevo que Windows sea mas seguro que Linux ! (vez 20 que lo digo ..) De lo que se trata es que Linux debe evolucionar para ser mejor. Desde el punto de vista de la seguridad, un sistema con cientos de procesos ejecutándose a la vez es un desastre y que en Windows haya más o menos troyanos no mejora el problema de Linux

Reversing dijo...

Pues no es eso lo que das a entender. Das a entender que contando procesos es "mas" gobernable el sistema y que el modelo de UNIX está obsoleto y ahora has descubierto que Windows es mucho mejor. Eso das a entender. Si no hay tiempo material para revisar, con el codigo fuente a mano, imaginate tener que reversear 61 procesos...

Yago Jesus dijo...

Pero vamos a ver si llegamos a un consenso de mínimos. Si en vez de casi 300 procesos hubiese 100 ¿haría o no haría mas legible interpretar si algo raro sucede?

Phestuk dijo...

Te pongo datos. El linux que menciono es una Debian 7.0 con gnome. El mac es un OX Lion. Y el Windows es un 2003 Server.

Todos ellos con aplicaciones y servicios corriendo.

Saludos.

Txalin dijo...

mmmmmmmmmm................ flojo, pero que muy flojo articulo (no te lo tomes a mal Yago)

Creo que se parte de una premisa equivocada, que es, como comentas, "cuanto mas procesos, peor seguridad". No tienes en cuenta el tipo de gestion de procesos que realiza unix, lo que creo que hubiera sido un "vector de ataque", notese las comillas, mas efectivo. O bien el articulo que tuiteaste hace poco (creo que fuiste tu) acerca de la gestion de memoria de linux, que es mas que atacable. Un ejemplo con mi maquina ahora mismo:

Linux XXXXXXXXX 2.6.38-11-generic #48-Ubuntu SMP Fri Jul 29 19:02:55 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux

Kubuntu en la ultima version, con skype, mysql, postgres, amarok, java ejecutado 3 veces (¿?¿?¿?), akonadi y mas cosas = 173 procesos
Ahora no puedo mirarlo, pero windows 7, con steam, con un software caraja que hace diossabeque en la grabadora, skype, gtalk y varias cosas mas no se debe alejar mucho, debo andar en los 150 procesos asi a ojimetro, luego lo miro.

¿Es mas seguro MS que Linux por eso? ¿No sera mas bien mas seguro uno que otro por cosas como la gestion de memoria, la gestion de procesos y demas? Lanzo otra pregunta, ¿Es mas seguro windows que linux o viceversa o bien lo inseguro son las aplicaciones? ¿Cuantas vulnerabilidades se han publicado a lo largo del año para estos dos OS y cuantas para procesos como pdf reader, java, firefox, explorer y cia? ¿Es realmente un vector de ataque valido el tener mas o menos procesos?

Y ojo, estoy de acuerdo en la parte del firmado de procesos, y en general creo que Microsoft le ha dado sopas con ondas a Linux desde hace un año en lo que a seguridad se refiere, pero partir de "a mas procesos, menos seguridad" lo veo muy atrevido.

Yago Jesus dijo...

Respeto tu opinión y si, yo fui quien pasó ese artículo. De todas formas creo que partes de una base errónea. Si ojeas el artículo que enlazo sobre forense en sistemas Linux, verás por donde voy. No es una cuestión de riesgo por aplicaciones en uso, el problema que trato de definir es: Muy bien, tengo un sistema Linux ¿está comprometido? Tratar de discernir eso con tantos procesos en uso es un infierno de tiempo, y eso es así porque el modelo Unix tradicional simplemente no es escalabe, no es ni medio normal que al hacer un startx aparezcan mas de 100 procesos extra. Por contra Windows, al tener menos procesos corriendo y aplicar un sistema de firma digital permite ver de una forma mucho mas legible y rápida los procesos mas sospechosos. Y lo que yo defiendo es que, no pasa nada por decir Windows hace mejor esto que Linux, intentemos aplicar 'sus partes buenas' a Linux

Angel Villaveiran dijo...

Un saludo,esta calentito el Post, me imagino que los que le estais dando tanta caña a Yago estais a favor de Linux, por lo que lei en el articulo,me parece que Yago Tambien!!!!, de todas maneras creo que aqui se apunta a algo,el numero de procesos de linux,que se podria mejorar..... es curioso como una de las criticas mas comunes del software propietario,es que no aceptan criticas para corregir sus errores,y parece que en vez de decir pues coño,como podriamos mejorar esto,(que es ya muy bueno).Hacemos como ciertas compañias que negamoslo evidente. Gracias por el Articulo Yago me parece interesante el enfoque del articulo.

Txalin dijo...

Vale, entones habia entendido mal el articulo ;)

H22 dijo...

Yago, si es precisamente lo que dices en el articulo, que otros (linux) lo hacen peor: "Explícame que beneficio aporta al debate señalar que 'otros lo hacen peor'" 

Reversing dijo...

En casi todas las maquinas que tengo (y tengo unas cuantas) no llegan a 100-150 procesos.

Jordi Prats dijo...

Hombre, es cierto que las distribuciones para escritorio instalan mucha mierda pero el ps me parece un poco injusto. En mi caso, una Fedora 15 con Xfce:

$ ps -fea | wc -l
258

Si le quito las bash y los ssh es un buen trozo:

$ ps -fea | awk '{ print $8 }' | grep -v bash | grep -v ssh | wc -l
190

Y además la porqueria del kernel (que windows no muestra como proceso) como los kcopyd, pdflush, loopN y demás:

$ ps -fea | awk '{ print $8 }' | grep -v bash | grep -v ssh | grep -vE "^\[" | wc -l
116

Mi conclusión no sería que el modelo esta obsoleto, sino que las distribuciones de Linux instalan por defecto mucha-mucha mierda.

Por ejemplo, seguro que un usuario normal necesita el atd por defecto? O el gpm? Se sacrifica tener instaladas estas "mierdas" por tener un sistema fácil de usar "por defecto"

Seguramente instalando otras distribuciones (Gentoo, ArchLinux...) con entorno gráfico tendrías muchos menos procesos inútiles, pero dudo que tuvieras el entorno listo tan rápido al instalarlo.

Dabo dijo...

Hola ! Yo no creo que sea un tema sólo de procesos y control, iría un
poco más allá, leo a Yago como lo que es, alguien que promueve el uso de
GNU/Linux y aportando soluciones Open Source como por ejemplo unhide;
http://www.unhide-forensics.info/?About . En este caso no estoy de
acuerdo con que en entornos de escritorio es un sistema obsoleto, pero
respeto su opinión, queriendo ver ese espíritu crítico al que alude (y
que a veces nos falta).



En mi caso, he de decir que en servidores como a nivel de Workstation,
cada vez aprecio más las mejoras que se van implementando, tanto a nivel
de sistema como en el Kernel. Cuando lees un changelog caso de lanzarse
una release del Kernel, o en nuevas opciones disponibles cuando estás
compilando, hablando de seguridad, ves que los avances son grandes y las
posibilidades de fortificarlo en la medida que puedas también están
ahí.



¿Qué nos falta? Seguro que sí, las amenazas son cada vez mayores, los
tipos de ataques más sofisticados y al final es el usuario quien puede
dotar de una gran seguridad al sistema, o hacer que sea un coladero.
Pero "de base", en GNU/Linux, tanto por la concepción de su jerarquía de
permisos, privilegios de usuario-roles o ese aislamiento de procesos
que el mismo Yago comenta, si tomas las mismas precauciones que harías
en otro entorno de cara a lo que instalas (no sólo hablando de paquetes
firmados) los sitios por los que navegas, etc, yo me siento más seguro.



Y ahora vuelvo a que no crea que sea algo del número de procesos (yo
desde KDE y Debian con todo lo habitual abierto tengo 164) sino de las
protecciones que el sistema nos brinda, pero muy de la mano con lo que
haga el usuario. Ya que si hablamos de un proceso "ofuscado" que se
repita en la lista de tareas en un entorno Windows con el nombre de
"svchost.exe" o de un rootkit en GNU/Linux que se oculte con no sé, por
poner un ejemplo [kcryptd] que en mi caso tengo dos procesos con el
mismo nombre y diferentes PID, ahí el tan nombrado "factor humano" tiene
mucho peso para discernir lo que puede ser un vector de ataque o un
proceso que ya haya comprometido al sistema.



Nuestro mayor enemigo podemos ser nosotros mismos dejando a veces a ese
sistema decisiones o tareas que deberían ser nuestras, me vale para
Windows, GNU/Linux o Mac OS X y a veces instalamos mucho más de lo que necesitamos y luego ahí viene el problema con la cantidad de procesos que están consumiendo recursos y pudiendo confundirnos en casos como el anterior.



Sobre esto que comentas;



#Linux ha hecho increíbles avances en áreas de rendimiento y optimización
de recursos a nivel kernel pero le falta, a mi parecer, avanzar en
otras capas.



Piensa Yago en cómo estábamos hace unos cuantos años y cómo es la
situación actual desde la perspectiva del tiempo, estadísticas de
infección o impacto de ciertas vulnerabilidades en el sistema. No
pierdas la confianza / esperanza -;).



Y para acabar, sólo decir que en ocasiones puede que nos falte cierto
espíritu crítico (lo dice un "fanboy" linuxero), pero también la
costumbre de debatir tranquilamente sobre una cuestión con la que
podemos estar o no de acuerdo, sin que eso sea un motivo para entrar en
descalificaciones a la ligera que en mi opinión, hacen mucho daño a la conversación.



Saludos !

UnAnonimo dijo...

A ver, no se trata de que al tener más procesos corriendo en el sistema lo vuelva menos seguro. Lo que dice Yago es que a más procesos más costoso resulta auditarlo(por muy seguro que sea), y más aún si hay procesos sin firmar.

A mi modo de ver esta idea es dificilmente discutible...

Jan Carreras dijo...

Yago, habiendo leído el artículo y luego los comentarios creo que la gente te ha mal entendido. El artículo me ha gustado bastante ( aún siendo ante Microsoft i pro Linux ) y creo que saca a relucir un tema bastante importante. Es cierto que la mayoría de versiones de escritorio de Linux inician muchos procesos ( y servicios ) que requieren por parte del usuario un estudio exaustivo para saber si quiera qué hace el proceso en cuestión. Comentas que es complicado administrar un sistema con un número tan exagerado de procesos ya que, de haber un proceso malicioso podría ser muy complicado de encontrarlo ( seguridad por ofuscación, por parte del hacker ). Aquí quiero hacer dos incisos:

- Primero, el sistema de permisos de GNU/Linux es muy potente, eficaz y fiable. Si no se dispone de la contraseña de administrador se hace muy difícil explotar un sistema con permisos bien configurados. En principio solo se puede borrar información del usuario con el que se haya accedido o monitorizar los procesos del usuario infectado, no los procesos de los demás.
- Segundo, si una máquina es comprometida y el hacker dispone credenciales de root, estas jodido. Puedes ir preparando para reinstalar todo el sistema, porque nunca mas puedes volver a confiar en que esta máquina sea segura. Se tendrían que revisar tal cantidad de puntos para asegurar que no se ha dejado ningún backdoor, proceso automático, servicio escuchando a determinado puerto, etc... que uno puedo literalmente dar la máquina por perdida.

O sea, si puede ejecutar programas con privilegio de root, estamos vendidos. En caso de que solo tengan acceso a un usuario sin privilegios, creo que el comando adecuado sería:

ps xua | grep ^$USER | wc -l

Un saludo, y ánimos!

Txalin dijo...

EJEM!

http://www.google.com/search?&q=privilege+escalation+linux&ie=utf-8&oe=utf-8

Coño, que tos... No caigamos en el fallo de pensar que linux no tiene escalado de privilegios ;)

UnAnonimo dijo...

Estoy de acuerdo, si acceden como root a un sistema linux ya puedes ir reinstalando.

Motivo de más para comprobar si hay algo "haciendo lo que no debe".

Un saludo.

Pablo Ruiz dijo...

Yago.. dale un vistazo a powershell.. es el principio shell de unix, perfectamente integrado con objetos.

Yago Jesus dijo...

Probablemente sean máquinas con monotarea, es decir, serán servidores web / servidores SMTP etc. Es lo que decía en el artículo, para un servidor es aceptable pero cuando entras en el campo del 'propósito general' empieza el caos

Yago Jesus dijo...

En absoluto, mezclas algo incuantificable (la pericia o no pericia del usuario) con algo que si es cuantificable (la forma en la que funciona el sistema operativo). No se si me explico correctamente, que algunos usuarios de Windows lo usen inconscientemente no hace mas / menos seguro el sistema

Yago Jesus dijo...

O yo lo he redactado de forma incorrecta :P

Yago Jesus dijo...

Gracias ! Tu comentario encaja al 101% con la filosofía del post

Yago Jesus dijo...

Desde mi punto de vista el problema está en que se ha ido de las manos el concepto original, y ese concepto estaba concebido para una época distinta a la actual

Anónimo dijo...

FLAME, FLAME, FLAME, FLAME, FLAME, FLAME, FLAME, FLAME!!!!

j0seant dijo...

Se que no es
el tema, pero sirve para ilustrar como todavía a estas alturas del siglo a
Linux le queda mucho camino por recorrer para el uso de escritorio, cuando para
instalar una tarjeta Wi-Fi o cualquier otra que no sean las 4 típicas del
momento tienes que hacer casi un curso para poder instalarla.. (y compilarla a
estas alturas del siglo).

Jan Carreras dijo...

jejeje, si Txalin. Te doy la razón. Linux si que puede tener problemas de escalado de privilegios mediante exploit de librerías o servicios vulnerables, o fallos de programación en el kernel. Desgraciadamente de esto no se escapa ningún sistema operativo ( igual OpenBSD, en donde revisan TODO el código fuente considerado *estable* ). Pasa lo mismo en Windows y MAC OS, Android y el SO del iPhone. Pero me parece que el tema del escalado de privilegios se escapa un poco del contenido del post de Yago.

Aún así me da la impresión que Linux por su naturaleza OpenSource, tiene un tiempo de respuesta mas bajo a los bugs de seguridad críticos que otros sistemas operativos.

Un saludo ;)

Nospam dijo...

El argumento del numero de procesos es pobre, pero pobre de solemnidad. ¿Es mas seguro windows porque a menos procesos mejor lo tienes para revisar A OJO los NOMBRES de los mismos a ver si ves un procesosospechoso.exe? O_o

Además un rootkit no aparece en la lista de procesos.... no se, no hay por donde coger este artículo.

PasabaPorAqui dijo...

Y por cierto, ¿conoceis de paso AppArmor o SELinux? entre otros. Porque no entiendo que tiene que ver el numero de procesos con la seguridad, cuando estos los puedes tener controlados y limitarles los permisos, y su escalado.

Alejandro Ramos dijo...

Te has dejado grsecurity

Jonatan Menendez Canal dijo...

Va a ser la primera vez que comento, pero me veo obligado. QUE CHORRADA de razon por la que consideras linux más inseguro. En otra entrega, linux es inseguro porque los pinguinos no saben conducir un coche.

Yago Jesus dijo...

 Evidentemente no te ha tocado configurar Selinux, fíjate que hasta la gente de RedHat han tenido que sacar asistentes gráficos para facilitar la cosa y aun así la mayoría de servicios / procesos no funcionan bajo SELinux ...

Yago Jesus dijo...

Partiendo de la base que nadie ha hablado en términos de que algo sea mas o menos inseguro frente a otras cosas, simplemente que el abuso de un modelo ha terminado por ser ineficiente y no escalable. Te invito a que re-leas el post y los comentarios, reflexiones y vuelvas a opinar

Miguel dijo...

Lo que sí es ridículo es la tendencia a sistemas que ocupan 15GB tras instalarse, como es el caso de Windows. Eso sí que es ingobernable. A saber qué hacen todos esos .dll y ejecutables que hay por ahí perdidos.

Miguel dijo...

No tiene que ver con estar a favor de Linux o de FreeBSD, sino con buscar una relación proporcional de la seguridad de un sistema y el número de procesos que corre. Eso es lo que muchos pensamos que es una tontería. Quieres saber "procesos que pueden hacer cosas peligrosas"?

$ps aux | egrep "^root" | wc -l35

Vaya, por ejemplo, considero mucho mejor para la seguridad, ya que hablamos de filosofías, el que los logs tengan un formato fácilmente tratable y de analizar de forma automatizada, pero ¿el número de procesos? Como si administrar un sistema fuera sólo ver procesos abiertos, y aunque así fuera, como si no fuera sencillo ver sólo los que tengan un PID > 200 (para ver los que se han creado a partir de un momento)...

No sé, no administro servidores ni sistemas Windows, quizás es más sencillo y mucho mejor, pero no creo que tomar los procesos como referencia sea algo meditado o que salga de la experiencia.

Con todo el cariño del mundo :) 

Zerial dijo...

En Windows:
>tasklist /svc | find  /c /v "zzzzzzzzzzzzzzzzzzzzzzzzzz"
78

En GNU/Linux:
$ ps aux|wc -l
83


En Windos tengo IE, Outlook y un Putty Abierto.
En Linux tengo Firefox con 8 pestañas, Thunderbird, 8 terminales, cliente gtalk y cliente jabber, mpd y ncmpc.

Uso de memoria: Windows 86%, Linux 23%
Uso de CPU: Windows 46% IDLE, Linux 94% IDLE.

Obviamente va a cambiar dependiendo de la distribucion, entorno de ventanas, etc. ¿No será problema del usuario?

Si comparaas chufunfu con Windows quizas llegues a esos niveles.

Juan Aguilera dijo...

La verdad es que la razón que das, el número de procesos, no creo que sea un buen sistema para medir la seguridad de un sistema. En lo que dices del nombre inocuo es exáctamente lo que pasa en windows. El otro día tuve que limpiar un vista de un malware que se llamaba "vista spyware removal" o algo parecido.

También hay que tener en cuenta que son programas menos complejos ya que la filosofía Unix es hacer un programa que haga una cosa y que la haga bien.

Yago Jesus dijo...

Respecto al tema de procesos con nombre inocuo, ahí entra el asunto del firmado digital, en Windows al menos puedes hacer una categorización previa y descartar muchos en función de su firma. Respecto a si mi argumento es o no es válido solo te diré una cosa. Si es unánimemente aceptado que a la hora de securizar un sistema intentamos tener los menores paquetes de software instalados, deshabilitamos servicios para tener la menor cantidad de puertos tcp/udp abiertos. ¿Acaso no es la misma filosofía intentar reducir también el número de procesos en ejecución? 

Juan Aguilera dijo...

Acabo de mirar en mi mac, con Snow Leopard y me da 57 procesos. Juro que no he matado ninguno para hacer la prueba. xD

En mi debian testing, 170, pero tengo servidor web, de correo, CUPS, ssh, ... , vamos, que suma y sigue. Supongo que si no estaría por las 100 y poco.

Yago, ¿usas el linux como servidor? por que si no no entiendo como tienes tantos procesos.

Juan Aguilera dijo...

Vale. ¿En qué crees que tiene que mejorar linux en el tema de la seguridad? ¿En tener menos procesos pero más complejos? Sinceramente no creo que aporte seguridad si no al contrario. Independientemente que sea software privativo o libre al ser un programa más complejo hay más probabilidades de error.

Si eres de los que miras los nombres de los procesos eres de los que sabes qué hacen y si no lo haces te importa poco que haya 20 o 20000 procesos en ejecución.

Yago Jesus dijo...

Yo creo que igual que otros sistemas operativos se han puesto las pilas significativamente en materia de seguridad, Linux vive muy cómodo en su posición de 'soy seguro by default'. Y eso te puede llevar a la situación de FreeBSD, en su día era el paradigma del rendimiento a nivel de red, se durmieron y hoy día Linux les ha pasado por la derecha, ya nadie dice tan vehementemente eso de 'Para red ? FreeBSD !!' En el caso de Linux, el tema de la firma digital avanzada en procesos / binarios es algo que se tiene que abordar YA, y el sobre-abuso del modelo Unix, es algo a revisar. No es normal que yo haga startx y tenga +60 procesos automáticamente, de verdad por mucho que tenga el código fuente etc etc, no, no es práctico

Chuchi Perriman dijo...

Bajo mi punto de vista no es que Linux tenga más procesos y windows menos, tener más procesos no es peor ni menos seguro.

Creo que no puedes basar tu estudio en una cosa sin fundamento como el número de procesos, lo que realmente deberías estudiar es qué hacen los servicios, cuales necesitas, cuales puedes quitar etc. y toda la funcionalidad que tienes en tu Linux gracias a todos esos procesos y los que tienes en tu Windows

De todas formas 293 me parecen muchísimos, yo tengo 185 y tengo ssh, mysql, postgresql, apache, tomcat, eclipse, openoffice, firefox, chromium, gnome-terminal y gedit todos funcionando

Juan Aguilera dijo...

No si con menos procesos abres más puertos. ¿Cuánta RAM tienes usada en tus diferentes sistemas? Lo digo porque si con más procesos usas más o menos la misma memoria es porque, grosso modo, se tienen en memoria aproximadamente el mismo número de potenciales problemas, que si un vector que no controla su longitud, que si una función que no valida parámetros, ... No todo es el número de procesos si no que lo que hacen es muy importante.

¿Dónde es más fácil cometer un error? ¿En un proyecto de 10000 lineas o en uno de un millón? Yo creo que la filosofía unix, programas más pequeños es mejor en el tema de la seguridad aunque sea  a costa de más procesos. Mira como se ha progresado en los tests unitarios. Vendría a ser el equivalente, pruebas un programa pequeño y lo puedes probar en todos los casos posibles.

Y respecto a lo del firmado digital estaría de acuerdo si el sistema habitual de instalación en linux fuera como lo es en windows u OSX. Es decir, me descargo el programa de una web e instalo. En linux, la mayoría de las veces se tira de repositorios y muy pocas veces han sido comprometidos. Fíjate que he incluido OSX que es unix, no es manía persecutoria contra las ventanas.

Un saludo.

Klondike dijo...

En esta máquina de tipo workstation con choqok, skyoe firefox thunderbird amarok y más cosas funcionando sólo tengo 104 procesos. ¿Decía usted caballero?

anabella dijo...

¿Tiene todo tipo de problemas financieros? Necesita un préstamo para borrar las deudas? ¿ESTÁ EN CRISIS FINANCIERA? TU CAJA DE CREDITO PARA USTED CONFIANZA ORIGINAL, somos confiables que tratan TODO TIPO DE CREDITOS VER ABAJO. Estamos registrados y con licencia EMPRESA dar préstamos al 2% EN LA DURACIÓN MÍNIMA DE 6 meses y una duración máxima de 30 años. Damos PRÉSTAMO EN MÍNIMO DE 2.000 A UN MÁXIMO DE 50.000.000 CON TODA MONEDA EN EL MUNDO
OFRECEMOS LOS SIGUIENTES SERVICIOS VARIOS
* Préstamos Personales (Secure y ordinarios)
* Préstamos Comerciales (Secure y ordinarios)
* Mejoras para el hogar
* Préstamos Inventor
* Préstamos Auto
* Matrimonio
* Préstamo hipotecario
* Préstamo de Salud
etc ..
así que si usted está interesado por favor volver a nosotros para que a través de nuestro correo electrónico para que joserichloanlender@yandex.com e le puede dar más información acerca de nuestros servicios financieros que ofrecemos en todo el mundo.