ウイルスエンジニアリングの伝説:グレートワーム

画像 21年前、イベントはインターネットの歴史に永遠に印象づけられました。



1988年11月2日、99行のコードにより、インターネットセキュリティの問題でまだ若く未経験の2日間のショック麻痺が発生しました。



SUNおよびBSD UNIXオペレーティングシステムを実行している約6,000台のVAXマシンが、前例のない感染に感染しました。 多くの管理者は、コンピューターの過負荷と感染拡大を何らかの形で阻止するために、病棟をオフにすることを余儀なくされました。



それはモリスワームか、普通の人にはただのグレートワームでした。 システム全体のダウンタイムの観点と、ネットワークのセキュリティと信頼性のアイデアに対する心理的影響の両方に関して、彼がインターネットにもたらした壊滅的な結果のために( Great Tolkien Wormsとの類推による)。 攻撃の驚きとワームに組み込まれたメカニズムのいくつかは、当時の多くの管理者を境界的な感情状態に導いた。 その反応は、「すべてを消す!」から「パニックに襲われている!」



ワームの作成者であり開始者であった当時、コーネル大学の学生であったロバート・モリスJr. mit.edu-オープンアクセスマシン)、大学に注意を向けないようにします。 彼がこれを行った理由は永遠に謎のままです。 彼自身の主張によると、それは手に負えなくなった単なる実験でした。 しかし、厳密に言えば、ワームは直接的な損傷を引き起こしませんでした。



攻撃されたコンピューターの小さなリスト





MIT、ミネソタ大学、ノースカロライナ、ピッツバーグ大学、RAND Corporationマシン、スタンフォード、バークレー、カーネギーメロン大学、メリーランド大学、ペンシルベニア大学、再びマサチューセッツ工科大学、弾道研究所、コロラド大学、パデュー大学など。



ワーム攻撃ベクトル





画像

ワームを拡散させるために、いくつかの異なるパスを使用しました。これは、脆弱性と最も単純なアクセスパスワードの選択を悪用することになりました。



ワームは、ローダー(C言語で99行)と2つのバイナリモジュールで構成されるカーネル(BSD用にコンパイルされたコードとSunアーキテクチャ専用の同じコード)の2つの部分で構成されていました。 すべての内部プロシージャの名前には意味のある名前(たとえば、doitまたはcracksome)があり、それはかなり後でバイナリの逆アセンブリを容易にしました。



ワームは、そのコピーをリモートコンピューターに挿入して実行しました。 感染した各コンピュータは、接続されている他のすべてのマシンに感染しようとしました。 このワームは、BSD UNIXおよびSUN-3で使用するために作成されています。 そのようなマシンが感染したマシンに接続されていることを発見すると、ワームはリモートコンピュータにコピーされ、そこで起動し、情報への最大限のアクセスを試み(ハッキングを継続するためにのみ使用)、隣接するマシンに感染しました。 ワームは、保護されていないネットワークを介して雪崩のように広がり、ジョン・フォン・ノイマンによって基礎が築かれた自己増殖メカニズムの理論に完全に基づいてコピーを増やしました。



最初は誰も何も理解していませんでしたが、数時間後、できる限り高度な管理者が行動を開始しました。私は自分自身のコピーをさらにいくつか作成し、システムの負荷が増加するだけでした)、誰かがメーリングリストにメッセージを送信するパニックに身を投じました-「彼らは私たちを攻撃します!」(これはまた無駄でした。そして誰か ワームが即座に広がる理由を探しました。



同じ日の夕方にすでにバークレーは、攻撃がrshとsendmailによって実行されることを理解しています。 予防策として、ネットワークサービスのブロックが開始されます。



しばらくして、問題の大きさを認識し、モリスは友人に制御不能な実験について話します。 しばらくすると、TCP-IPメーリングリストに匿名の投稿が表示され、ワー​​ムを停止する方法が簡単に説明されました。 投稿の作者(Andy Sudduth)は、Morrisとの電話での会話の後にこのメッセージを送信しましたが、ネットワークとコンピューターの混雑のため、手紙は約1日以内に送信されませんでした。



すぐに、互いに独立して、さまざまな人々がワームの攻撃ベクトルを検出し始めました。



sendmailデーモンが最初に破壊されました。 ケイトボスティックは、ワームとsendmailのパッチに関する警告をTCP-IPメーリングリスト、4bsd-ucb-fixesニュースグループ、およびいくつかのシステム管理者に送信します。



ワームは、現在の通信セッションのデバッグモードを設定するsendmailデーモンの「デバッグ」機能を使用しました。 デバッグモードの追加機能は、リモートマシンで実行され、メッセージを受信する受信者プログラムを備えたメッセージを送信することです。 SMTPプロトコルでは提供されないこの機能は、開発者がプロ​​グラムをデバッグするために使用し、作業バージョンではエラーのままになりました。



sendmailを介して、ワームはVAXとSunの2種類のコンピューターに感染したため、アーキテクチャごとにバイナリコードが送信され、両方が開始されましたが、実行できるのは1つだけでした。 他のアーキテクチャのコンピューターでは、コンパイル時にシステムリソースを消費していましたが、プログラムは機能しませんでした。



数時間後、sendmailのパッチが役に立たず、コンピューターが他の何らかの方法で感染したことが判明しました。 ワームにより、 MILNETARPANETは切断されます。



さらに数時間後、さまざまな研究所のさまざまな人々が独立して脆弱性を発見し、fingerdデーモンのパッチを完成させました。



コードスニペットfingerd:



{

char buf[512]:

...

gets(buf);

}








古典的なバッファオーバーフローの状況があります(明らかに、まだ古典的ではなかったようです)。 ワームは、特別に準備された536バイトの文字列を送信し、最終的にexecve関数( "/ bin / sh"、0、0)を呼び出しました。 4.3 BSDオペレーティングシステムを搭載したVAXマシンのみがこの方法で攻撃されましたが、Sunコンピューターではこのような攻撃は失敗しました。



しかし、それだけではありません。 nixには、当時も現在も、sshを使用する目的でプログラムをリモートで実行するための一連のサービスがあり、いわゆるrプログラムが代わりに使用されました。 それらの最も脆弱な点は「信頼」のアイデアでした。「信頼できるノード」のリストに載っているコンピューターユーザーは、追加の検証なしで「信頼できる」マシンでプログラムを実行する権利がありました。 さらに、信頼の態度はしばしば相互的でした。 ワームは、 rshリモートインタープリターランチャーを使用して、現在のユーザー名とパスワードで、または攻撃されたマシンがこのマシンを「信頼」している場合は認証なしで、他のマシンを攻撃しようとしました。



そのため、ワームは、sendmailの穴、fingerdまたは「trust」の穴、rshを使用して、隣接するマシンに侵入しました。 攻撃されたコンピューターに侵入すると、ブートローダーがスローされ、ブートローダーをコンパイルして実行するコマンド、およびすべての一時ファイルが消去されます。 その後、ブートローダーは3つのファイルすべてを取り込み、1つ、別のボディを起動しようとしました。 2つのボディのいずれも起動しなかった場合、ブートローダーは単にそれらと自身の両方を消去し、動作を停止しました。



起動すると、ワームはあらゆる方法で自分自身を偽装しました-実行可能ファイルを消去し、両方の本体を暗号化し、メモリに読み込み、ディスクからも消去し、可能な限り、プロセステーブルで自分自身に関する情報を変更しました。



次に、感染したコンピューターのネットワークインターフェイスと近隣のコンピューターに関する情報が収集され、一部の近隣のコンピューターは感染の試みを受けました。 感染する可能性のあるものは、感染としてマークされました。 感染に失敗したもの-「免疫」として。 専門家は、ワームのコードでエラーを認識しがちですが、マシンの再感染を防止するコードの部分には多くのエラーが含まれていたためです。



これは、ワームの実行可能性にとって非常に重要でした。多くのマシンが再び感染し、システムとネットワークの負荷が増加して非常に顕著になり、しばしばサービス拒否につながりました。繰り返し感染したマシンは、おそらくマシン上のワームのコピー数に比例してワームをより速く拡散しましたが、これは配信の電光石火の速度に影響し、サービス拒否はパニックと終了をもたらしました いくつかの重要なノードを防ぐために、その結​​果、ネットワークはサブネット上で一時的にばらばらになりました。



パスワードの選択は、かなり単純ですが、同時に効果的な方法で実行されました。ユーザーのログインテーマでは4つのバリエーションが使用され、約200〜400語のリストが使用されました。 一部のレポートによると、個々のコンピューターで、パスワードの半分以上がこの方法で開かれました。



11月5日の夕方までに、感染したノードの大部分が治癒し、パッチが適用され、バークレーの専門家は、ワームの活気のない死体を力と主力で準備しました。



FBIが事件の責任者を認識した時点で、モリスはすでに降伏の危機にonしていた。



履歴のトレース





コンピュータコミュニティにとっては、ショックでした。 コンピュータセキュリティの基本的な基盤が改訂されました。 モリスワームによって引き起こされる損害は約1億ドルと推定されました(そのような推定値は、どの方法を使用して評価され、どのパラメーターが考慮され、どのパラメーターが考慮されないかは不明です)



いくつかの報告によると、ワームは米国大統領選挙に関するトップページの資料を抑制した歴史上唯一のコンピュータープログラムです。 多くの研究所や組織は、数週間から数か月間インターネットから切断されています。 管理者は、危険の実際の範囲を認識していないため、安全にプレイすることにしました。



ワームによって引き起こされた最も賢明なハッキング対策は、 CERTの設立でした。



PS





どのソフトウェアでも、さまざまな脆弱性を脅かすエラーが発生する場合があります。 徐々に、インターネットは私たちをますます深く引き寄せ、壊滅的な依存を引き起こしますが、ユーザーの平均的な資格は台座を下回ります。 ユーザーはコンピューターについて何も知りたくありません(もちろん、これはそれほど怖くないわけではなく、単に避けられません)。



ここでは、システム管理者は用心深く、病棟の安全を常に監視する必要があります。 しかし、悲しいかな、これは多くの場合そうではなく、enikeyshiksはシステム管理者のポストに座っています。



優れた管理者は常に妄想的です。



トピック内:





→Morris Wormのソースコード

→ワームに関する英語のWiki記事

→ワームに関するロシアのWiki記事

→ワームデバイスの詳細な分析



All Articles