導入
ソフトウェアにおけるバックドアは、正規のユーザーには知られていない機能であり、ソフトウェアへの秘密のアクセスを許可します。
ユーザーの知らないうちにソフトウェアにバックドアが導入されると、ソフトウェアはトロイの木馬に変わります。

テクニカル
バックドアは、ソフトウェア開発者またはサードパーティによって導入される可能性があります。バックドアを知っている人は、それを使用してソフトウェアのアクティビティを監視したり、(認証をバイパスして) バックドアを制御したりすることさえできます。最後に、オペレーティング システムがバックドアを含むソフトウェアに与える権利の範囲によっては、制御がすべてのコンピューター操作に及ぶ可能性があります。
コンピュータのネットワーク化が普及したことで、コンピュータへの物理的なアクセスが一般的だった時代よりもバックドアがはるかに便利になりました。
ソフトウェア開発者がバックドアを作成する動機には次のようなものがあります。
- メンテナンス作業を効果的に実行できるように、ソフトウェアに簡単かつ常にオープンにアクセスできるという実際的な利益。
- クライアントとの意見の相違(ライセンスの未払い)が発生した場合、ソフトウェアを密かに非アクティブ化する可能性。
ハッカーがバックドアをインストールする動機には次のようなものがあります。
- 正規のユーザーが何をしているかを監視し、貴重なデータ (パスワード、プライベート メッセージを復号化するための秘密キー、銀行取引の詳細、企業秘密) をコピーまたは破棄する機能。
- コンピュータを制御し、それを使用して悪意のあるアクション (特にフィッシング、コンピュータウイルス、サービス妨害などのスパムの送信) を実行できる可能性。
- 広大なコンピュータ ネットワーク (ボットネットを参照) を制御し、分散型サービス拒否 (DDoS) 脅迫に使用されたり、犯罪者に販売されたりする可能性があります。
バックドアを一括でインストールするために、ハッカーはワームを使用します。これらは自動的に拡散し、感染した各コンピュータにコンピュータ サーバーをインストールします。その後、ハッカーはインターネット経由でサーバーに接続できます。
バックドアは、イースターエッグやコンパイラ(以下の「Unix C コンパイラの場合: トラストを信頼する」セクションを参照) を介して挿入したり、 Back Orificeなどのプログラムの形式を取ることもできます。
注目すべき事例
インターベース
2001 年 1 月 10 日、発行元であるBorlandによってソース コードが公開されたときに、 Interbase Database Management System でバックドアが発見されました。あなたがしなければならなかったのは、「政治的に」ユーザー名と「正しい」パスワードを入力して管理者としてログインすることだけでした。この欠陥は 1994 年から存在していました。

GNU/Linux
2003 年 11 月に、GNU/Linux でバックドアが発見されました。この問題は、GNU/Linux のバージョンが運用される前にすぐに検出されました。バックドアは非常に総合的に移植されており、「kernel/exit.c」ファイルのsys_wait4関数に追加された C 言語の 2 行で構成されています。
条件 (current->uid = 0) は、特に単純な読者によって「プロセスのユーザー番号が 0 (ルート) である場合」という比較として読み取られることになっていますが、C 言語では実際には「ユーザー番号」の割り当てを意味します。プロセス名は0(root)になります。その結果、このトリックされた sys_wait4() 関数が __WCLONE|__WALL パラメーターを指定して呼び出された場合、プロセスは root (最大のアクセス権を持つユーザー レベル) の ID を想定します。
この変更は、2 つの値を比較するための記号が = 記号 (Pascal、Ada、ML…) である場合と、これを実行する二重等価 == である場合のさまざまなプログラミング言語間の混乱を利用することを目的としていました。役割 (C、C++、Java…)、記号 = は、データの一部への値の割り当てを意味します。この種のエラーは、 Linux カーネルを扱うプログラマのコンピュータ サイエンスレベルとほとんど互換性がないため、この変更が見逃される可能性はほとんどありません。 C 言語は、Unix ファミリ システムで最もよく使用されている プログラミング言語であるため、初心者以外のユーザーですぐに使いこなせる人はほとんどいません。
さらに、ソフトウェア (特にフリー ソフトウェア) の共同開発プロセスでは、各変更を検証する必要があります。そのためには、正当な理由が必要です。したがって、いかなる変更も、それがどんなに小さなものであっても、明確な理由がなければ差分に表示され、正当な疑問が生じます。

