La respuesta de Thomas Pornin a la pregunta vinculada comienza con una buena definición de un rootkit, creo:
Un rootkit es un conjunto de herramientas que ejecutas en una máquina de destino cuando de alguna manera obtuviste acceso a él con privilegios de nivel de raíz. El objetivo del rootkit es transformar ese acceso transitorio en una puerta siempre abierta.
Primero, veamos cómo encaja esto con tus puntos:
Es un fragmento de código escrito por el atacante e inyectado en un sistema.
"Inyectado en un sistema" es bastante amplio, pero preciso. Sin embargo, no es necesario que haya sido escrito por el atacante este ; podrían haber obtenido una lista para usar, especialmente si utiliza una herramienta común (como openssh) para mantener los privilegios elevados.
Permitir el acceso al sistema solo al usuario que escribió el código, o al menos tiene conocimiento del código
Un rootkit permite a un usuario no autorizado obtener privilegios de root si conoce "el protocolo secreto" (sea cual sea el disparador para el rootkit). Los usuarios autorizados (por ejemplo, administradores de sistemas) todavía pueden hacer lo que normalmente hacen. Y otro atacante no necesita conocer los detalles específicos de la implementación del rootkit, solo los detalles de cómo hacer que funcione (la interfaz de usuario, digamos).
Son difíciles de detectar y parchear
En general, sí, ya que el atacante tiene acceso de root y todos los privilegios que lo acompañan.
Una puerta trasera es un término mucho más genérico, que se refiere generalmente a algún tipo de forma en que un usuario no autorizado puede acceder a un sistema. El nombre proviene del mundo físico, donde puede tener la puerta principal de un edificio vigilado, pero una puerta trasera poco conocida que no está vigilada (o está más poco protegida).
Supongo que un rootkit es un subtipo de una puerta trasera; el acceso específico que proporciona es el acceso de raíz persistente en un sistema similar a Unix.
Sin embargo, las puertas traseras pueden cubrir un área mucho más amplia. Una de las asociaciones más comunes con las puertas traseras son los ex empleados descontentos. Imagine que tenía un desarrollador trabajando en su empresa en algún tipo de aplicación web que tiene un panel administrativo. Normalmente, el panel requiere un nombre de usuario y una contraseña válidos para acceder. Sin embargo, este desarrollador agregó un código que les permite hacer doble clic en la esquina superior izquierda y omitir la pantalla de inicio de sesión. Esto sería una puerta trasera (dado el acceso que no deberían), pero no es un rootkit (no hay una cuenta de root aquí).