La risposta di Thomas Pornin alla domanda collegata inizia con una buona definizione di rootkit, penso:
A rootkit is a set of tools that you run on a target machine when you somehow gained access to it with root-level privileges. The point of the rootkit is to transform that transient access into an always-open door.
Per prima cosa, vediamo come questo si adatta ai tuoi punti:
Is a piece of code written by the attacker and injected in a system.
"Iniettato in un sistema" è piuttosto ampio, ma accurato. Tuttavia, non è necessario che sia stato scritto da questo utente malintenzionato; potevano averne uno disponibile, specialmente se utilizza uno strumento comune (come openssh) per mantenere i privilegi elevati.
Allow the access into the the system only to the user that wrote the code, or at least has knowledge of the code
Un rootkit consente ad un utente non autorizzato di ottenere i privilegi di root se conoscono "l'handshake segreto" (qualunque sia il trigger per il rootkit). Gli utenti autorizzati (ad esempio, gli amministratori di sistema) sono ancora in grado di fare le cose che normalmente fanno. E un altro utente malintenzionato non ha bisogno di conoscere le specifiche dell'implementazione del rootkit, solo i dettagli su come farlo funzionare (l'interfaccia utente, dovremmo dire).
Are hard to detect and to patch
In generale, sì, poiché l'autore dell'attacco ha l'accesso root e tutti i privilegi che lo accompagnano.
Una backdoor è un termine molto più generico, che si riferisce in genere a un modo per consentire a un utente non autorizzato di accedere a un sistema. Il nome deriva dal mondo fisico, dove potresti avere la porta d'ingresso di un edificio custodito, ma una porta sul retro poco conosciuta che è incustodita (o più blandamente custodita).
Suppongo che un rootkit sia un sottotipo di una backdoor; l'accesso specifico che fornisce è un accesso root persistente su un sistema simile a Unix.
Tuttavia, le backdoor possono coprire un'area molto più ampia. Una delle associazioni più comuni con backdoor è ex dipendenti insoddisfatti. Immagina di avere uno sviluppatore che lavora nella tua azienda su una sorta di app web con un pannello amministrativo. Normalmente, il pannello richiede un nome utente e una password validi per l'accesso. Tuttavia, questo sviluppatore ha segretamente aggiunto il codice che consente loro di fare doppio clic nell'angolo in alto a sinistra e saltare la schermata di accesso. Questa sarebbe una backdoor (dato accesso che non dovrebbero), ma non è un rootkit (non c'è un account root qui).