"ルートキットとは?" の投稿を読んでいましたが、ルートキットとバックドアの違いについて混乱しています。私が理解したように、両方:
攻撃者によって記述され、システムに挿入されたコードの一部である
システムへのアクセスを、コードを記述した、または少なくともコードの知識があるユーザーにのみ許可する
検出やパッチが難しい
それで、それらの用語は類似していて、両方とも同じことを意味するために使用できますか?一方がもう一方より一般的ですか?
リンクされた質問に対するThomas Thomasの回答 は、ルートキットのかなり良い定義から始まります。
ルートキットは、ルートレベルの権限で何らかの方法でターゲットマシンにアクセスしたときにターゲットマシン上で実行するツールのセットです。ルートキットのポイントは、その一時的なアクセスを常に開いているドアに変換することです。
まず、これがあなたのポイントにどのように適合するか見てみましょう:
攻撃者によって記述され、システムに挿入されたコードの一部です。
「システムに注入」はかなり広いですが、正確です。ただし、this攻撃者によって記述されている必要はありません。特に、opensshなどの一般的なツールを使用して昇格された特権を保持している場合は、既成のものが1つある可能性があります。
システムへのアクセスを、コードを記述した、または少なくともコードの知識があるユーザーにのみ許可する
ルートキットを使用すると、無許可のユーザーが「シークレットハンドシェイク」を知っていれば(ルートキットのトリガーが何であれ)、root権限を取得できます。許可されたユーザー(たとえば、sysadmins)は、通常どおりの操作を実行できます。また、別の攻撃者は、ルートキットの実装の詳細を知る必要はなく、それを機能させる方法の詳細(ユーザーインターフェースと言います)を知っている必要があります。
検出やパッチが難しい
通常、はい。攻撃者はrootアクセスとそれに付随するすべての特権を持っているためです。
バックドアはより一般的な用語であり、一般に、権限のないユーザーがシステムにアクセスするための何らかの方法を指します。名前は物理的な世界に由来します。建物の正面玄関はガードされていますが、あまり知られていないバックドアがガードされていない(または緩くガードされている)場合があります。
ルートキットはバックドアのサブタイプだと思います。それが与える特定のアクセスは、Unixライクなシステムでの永続的なrootアクセスです。
ただし、バックドアははるかに広い範囲をカバーできます。バックドアとの最も一般的な関連の1つは、不満を持つ元従業員です。あなたが会社で管理パネルを備えたある種のウェブアプリを開発していると想像してください。通常、パネルにアクセスするには有効なユーザー名とパスワードが必要です。ただし、この開発者は、左上隅をダブルクリックしてログイン画面をバイパスできるようにするコードを密かに追加しました。これはバックドアになります(アクセスが許可されない場合に与えられます)が、ルートキットではありません(ルートアカウントはここにはありません)。
攻撃者によって記述され、システムに挿入されたコード
必ずしも攻撃者によって作成されたわけではありませんが、開発者が意図的に作成した可能性があります。 「システム」は「コンピュータ」を意味する必要はありませんが、ソフトウェアである可能性もあります。つまり、どこにでもバックドアを持つことができますが、マシンにはルートキットしかありません。
システムへのアクセスを、コードを記述した、または少なくともコードの知識があるユーザーにのみ許可する
ルートキットは常にリモートアクセスを許可するわけではありません。
検出やパッチが難しい
この点がどちらかの説明や描写に関連しているかどうかはわかりません。
バックドアを使用すると、バックドアを呼び出す方法を知っている誰かにアクセスできます。開発者は、使用する予定の認証方法をスキップする方法を作成するか、自分だけが知っている「秘密の」ポートを開きます。
ルートキットは、攻撃者がバックドアを開くなど、さまざまな悪意のある操作を実行できるようにする、マシンにインストールされているソフトウェアです。所有者が知らないうちにルートキットが不正にマシンにインストールされています。
ルートキットは、バックドアを開くことができるツールであると考えてください。