Gracias por el A2A.
Esta es una carnada troll de una pregunta. Pero intentaré responderlo lógicamente.
Como todos los encuestados aquí han mencionado, prácticamente cada pieza de software que ha usado tiene errores, algunos de los cuales tienen implicaciones de seguridad. Muy pocos errores son intencionales. Algunos “errores” de seguridad son de hecho puertas traseras. Pero son muy pocos. Entonces, casi todas las vulnerabilidades de seguridad necesitan ser descubiertas. Hay investigadores de seguridad de Whitehat haciendo eso. De vez en cuando, sus descubrimientos se revelan a los mantenedores, quienes pueden corregirlos antes de la divulgación pública. La motivación principal para invertir en ese esfuerzo es para que los chicos de BlackHat tengan menos posibilidades de llegar primero y causar daños. Eso implica que los objetivos más atractivos para los piratas informáticos verán mayores esfuerzos de descubrimiento de vulnerabilidades.
- ¿Es importante o paranoico que alguien como yo use software como TrueCrypt?
- ¿Qué debo aprender si quiero dominar la ciberseguridad?
- ¿Cuáles son algunos problemas de seguridad relacionados con la seguridad del sistema operativo?
- ¿Podemos cifrar un mensaje con la clave 1 y descifrar con la clave 2? Si es así, ¿entonces cómo?
- ¿Terminará la carrera armamentista de la criptografía?
A los piratas informáticos les gustaría apuntar a sistemas que son grandes en número y, en general, se mantienen de manera menos estricta, de modo que el tiempo para implementar el parche sea mayor, pero fácilmente accesible, como estar conectado a Internet (a diferencia de los sistemas muy cortafuegos) y con buen valor. La mayoría de los escritorios de los usuarios tienen acceso a internet. Muchos de ellos, especialmente las implementaciones en el hogar y oficinas más pequeñas, se reparan con poca frecuencia. Las personas a menudo se ejecutan con antivirus antiguos y similares. Windows es el sistema operativo más popular para estas implementaciones. Además, el usuario en un entorno de bloqueo tan bajo es más probable que visite sitios web desconocidos, abra enlaces / archivos adjuntos no verificados, etc. No deben notar nada hasta que se rompa su uso. Por lo tanto, la pérdida de rendimiento para que la caja se convierta en parte de alguna botnet no generará señales de alerta tan rápido como en entornos más formales. Es un gran objetivo. Entonces, la búsqueda de vulnerabilidades también es muy fuerte para Windows.
Luego vienen los aspectos de diseño que dan forma a lo que se llama la superficie de ataque. Cuál es el conjunto de interfaces que pueden ser dirigidas. Windows es un sistema operativo que ha tenido que garantizar la compatibilidad con versiones anteriores, a veces incluso error por error, de modo que el software comercial lanzado en la versión anterior continúa funcionando después de las actualizaciones. Es una decisión tomada para objetivos comerciales a corto plazo. Por supuesto, a largo plazo, los usuarios se enfrentan a las desagradables repercusiones de eso. Pero los clientes a menudo son miopes. Y Microsoft, como todas las máquinas de hacer dinero, explotó eso en lugar de educar a los clientes. El resultado son modificaciones horribles en la arquitectura desde hace mucho tiempo. Las API en sí mismas son mucho más complejas que, por ejemplo, la simple API de estilo POSIX. Esto hace que el trabajo de verificación sea mucho más difícil. Agregue la generosa distribución de parámetros reservados y parámetros que deben pasar valores fijos, y tendrá desarrolladores que les enviaron otros valores y descubrió que el sistema operativo realmente hace algo útil. Y lo usé. Tales características indocumentadas multiplican el problema. Además, los ojos en cualquier parte de la fuente de Windows son probablemente menos que incluso la mayoría de los demás sistemas operativos patentados, dejen de lado los productos de código abierto. Este acuerdo fue el intento de Microsoft de mantener los problemas de seguridad ya conocidos internamente / relativamente fáciles de descubrir de la fuente por conocimiento público. Esto reduce la posibilidad de una explotación blackhat del problema. Pero también significa que pueden retrasar / evitar arreglarlos, y nadie es más sabio. Eso puede ahorrarle dinero a Microsoft. Pensarías que es malo. Pero codificar correctamente con un conjunto de API tan complejo es mucho más propenso a errores que con los más simples. Lo que significa que las aplicaciones de terceros creadas para Windows también tienen una mayor probabilidad de error, ¡con Microsoft ni siquiera en la línea de responsabilidad! Es un movimiento genial que les permite desviar muchas fallas debido a tales errores a las empresas cuyos desarrolladores son realmente víctimas de la complejidad de la API. Dado que el consumidor final a menudo no puede discernir problemas (como anteriormente), este paradigma funcionó muy bien para Microsoft. Pero incluso las aplicaciones de Microsoft no solo usan interfaces y características indocumentadas, a menudo son un solo componente para abordar una variedad de usos. El servidor de Exchange, por ejemplo, proporciona no solo SMTP, sino también POP / IMAP, iCal, uso compartido de archivos (Sharepoint), etc. No son piezas independientes, independientes y conectables. Por lo tanto, las vulnerabilidades en su colaboración / interoperabilidad no son visibles directamente y son difíciles de verificar. Muy a menudo, el flujo de código en una aplicación de este tipo es muy complejo.
El resultado es que un sistema operativo con una superficie de ataque amplia y compleja y errores ocultos para el público, también se encuentra entre los más populares en el segmento menos seguro. Sus políticas de API han fomentado un ecosistema de aplicaciones que utiliza API engorrosas de forma no documentada y, por lo tanto, es muy difícil de mantener de forma segura. Sus propias aplicaciones son enormes, intentan abordar múltiples casos de uso, por lo tanto, es difícil mantenerlas a salvo. Esto significa que hay mucha investigación para encontrar vulnerabilidades en un producto que tiene una alta tasa de errores.