La descarga de una pieza de software de Internet requiere una gran cantidad de confianza por parte del usuario. El usuario debe confiar en que el software que está descargando no contiene código malicioso. En teoría, cualquier software descargado en un ordenador podría borrar todos los archivos de ese ordenador. Sin embargo, seguimos confiando en que el software que descargamos está a salvo y seguro. Esta es la base de los modelos de confianza.

Puerta Trasera (Backdoor)

https://edutin-publico.s3.amazonaws.com/documents/documents/Fa0SO8QwoF/archivo.png

A la derecha hay un extracto de un hipotético programa de inicio de sesión escrito en C, que comprueba un nombre de usuario y contraseña para determinar si las credenciales de la cuenta de un usuario son válidas. En realidad, los programas de inicio de sesión probablemente compararían las entradas del usuario con los valores de nombre de usuario y contraseña almacenados en una base de datos. Además, lo más probable es que se cifren de alguna manera y no se almacenen como texto sin formato. Aún así, usaremos esta versión simplificada como ejemplo.

Note que después de realizar la comprobación inicial de las combinaciones de nombre de usuario y contraseña, el código ofrece una forma adicional de acceder al sistema (mediante utilizando el nombre de usuario "hacker" y la contraseña "LOLi- hackedyou"). Este método de acceso a un sistema a través de un medio alternativo, que difiere de la forma en que los usuarios deben acceder a un sistema, se conoce como puerta trasera (backdoor).

En este caso, cualquier usuario que tuviera que leer el código del programa de inicio de sesión podría identificar el hecho de que hay una puerta trasera en el sistema. Sin embargo, los usuarios que descargan software normalmente no tendrán la oportunidad de ver el código de un programa antes de que sea compilado.

Vulnerabilidad de Seguridad (Exploit) en un Compilador

Incluso si un usuario ve el código de un programa antes de descargarlo y determina que no parece haber ningún código malicioso o puertas traseras en el código, eso no significa necesariamente que el programa en sí sea seguro. El compilador, programa que traduce el código fuente en código objeto, también puede ser la fuente de el exploit.

Hay un par de formas en las que los compiladores pueden utilizarse para vulnerar la seguridad de los usuarios. Un compilador podría, por ejemplo, ser programado para que tome un programa de acceso perfectamente benigno e inyecte código en él que cree una puerta trasera. Cualquiera que mirara la fuente del código del programa de inicio de sesión en sí mismo no detectaría ningún signo de puerta trasera. Pero si el código fuente fuera compilado con el compilador malicioso, entonces el programa resultante tendría la puerta trasera en él. Por supuesto, en este caso, cualquiera que mirara el código fuente del compilador vería que hay código en el compilador que inyecta código malicioso en el programa de inicio de sesión.

Vamos a dar un paso más allá. Imaginemos que escribimos un compilador que inyectaba código malicioso en el propio compilador (recuerde que los propios compiladores necesitan ser compilados). Entonces un hacker podría teóricamente tomar código fuente benigno para un compilador y convertirlo en un compilador malicioso. En este caso, incluso si los archivos fuente del compilador y los archivos fuente del programa de inicio de sesión no contienen ningún código malicioso o puertas traseras, la compilación de los archivos fuente podría resultar en la inyección de código malicioso.

Seguridad informática

Internet está lleno de amenazas a la seguridad. Una amenaza significativa es la amenaza de los ciberataques, donde los hackers intentan atacar sistemas y redes informáticas con fines maliciosos. La ciberseguridad se refiere a los sistemas y prácticas que los sitios web y los usuarios pueden emplear para protegerse mejor contra las amenazas cibernéticas. Los usuarios pueden ayudar a protegerse contra las amenazas cibernéticas a través de una variedad de medios, incluyendo la elección de contraseñas más seguras y la vigilancia del correo electrónico no deseado.

Contraseñas

Los hackers pueden intentar obtener contraseñas de varias maneras. Una forma es intentar enviar millones de combinaciones posibles de nombre de usuario y contraseña hasta que una tenga éxito. Esta es la razón por la que elegir una contraseña más larga y difícil de predecir puede mejorar la seguridad. Los hackers también pueden intentar ataques de phishing, en los que envían correos electrónicos a usuarios que pretenden ser una empresa legítima y piden a los usuarios que hagan clic en un enlace que solicita una contraseña u otra información confidencial.

Algunos servicios (incluidos Google y Facebook) ofrecen autenticación de dos factores como medio para combatir el robo de contraseñas. La autenticación de dos factores requiere dos tipos de autenticación que son intrínsecamente diferentes: un factor sería un nombre de usuario y una contraseña, mientras que el otro factor puede tomar la forma de un código de verificación enviado a través de un mensaje de texto a su teléfono o una pregunta de seguridad o SecurID, que era un dispositivo físico que generaba una contraseña un entero aleatorio de 6 dígitos. Por lo tanto, un usuario necesita tanto su contraseña como un dispositivo secundario para poder iniciar sesión correctamente. Sin embargo, hay un tradeoff (sacrificio): si pierde su teléfono, o no tiene acceso a su teléfono, es posible que no pueda acceder a su cuenta.

Seguridad en el Sitio Web

HTTPS (con la "S" que significa "Seguro") es un protocolo de comunicación a través de Internet que combina HTTP y una tecnología llamada Secure Sockets Layer (SSL). Los sitios web que utilizan SSL tienen un certificado, que se distribuye a los usuarios que intentan acceder al sitio web. El certificado asegura la conexión entre el servidor y el individuo y también contiene una clave de encriptación pública, que indica a los navegadores web cómo encriptar las solicitudes que se envían al servidor web. El servidor web tiene otra clave, la clave privada, que puede descifrar las peticiones cifradas. Como resultado, cuando un usuario envía una solicitud cifrada a un servidor web utilizando SSL, la información es más segura. En general, se puede saber qué sitios web están utilizando esta tecnología observando si sus URL empiezan o no con https://.

Hoy en día, una tecnología llamada Transport Layer Security (Seguridad en la capa de Transporte) (TLS) se utiliza más comúnmente, pero es sólo una versión actualizada y mejorada de SSL.

Otros Ciberataques