検出困難な隠ぺい技術からネットワークを守るには
rootkitからbootkitまで──極悪マルウェア対処法
元ブラックハットハッカーが、rootkitとbootkitの仕組みとその対処法を解説する。
おそらく、今日の悪質なコードの中で最も複雑で危険なタイプの1つが「rootkit」であろう。その名前が示すように、このタイプのマルウェアは、UNIXシステムの最高権限レベルである「root」アクセスを獲得し、その小さな(しばしば悪質な)実行可能パッケージの「キット」を配備することができる。これにより、このコードはシステム内への継続的かつ検出不可能なアクセスを提供できるのだ。
今日のrootkitは、OSのカーネルへのアクセスを獲得することによって、そのパワーを引き出している。こういった「カーネルモード」のrootkitは、信頼されたすべてのシステムプロセスと同じ下位レベルで動作するため、システム制御の許可と効果的手段の提供のプロセスが隠されたままになる。
継続的にシステムにアクセスでき、しかも検出を免れるというrootkitの能力は、セキュリティコミュニティーに難題を課している。Microsoftでは、カーネルモードのマルウェアおよびデジタル権利管理(DRM)違反を防止するために、すべてのデバイスドライバに対してデジタル署名を要求するポリシーをWindows Vistaで採用した。しかし、このセキュリティメカニズムは、サードパーティー各社がデバイスドライバを開発する妨げになるとして批判されている。Vistaが一部の周辺機器に対応しないのも、このポリシーが原因だと考えられているが、ブートセクタウイルスを連想させるようなrootkitの変種を作成しようとする試みに対してVistaのドライバ署名ポリシーが抑止力になっているのも確かだ。
「bootkit」
今日のように相互接続が一般化する前は、悪質なコードはCD-ROMやフロッピーディスクなどの可搬型ストレージを通じて拡散した。当時のマルウェア(その多くはブートセクタ内に隠されたウイルス)はデジタル寄生虫として動作し、起動プロセスに侵入するという形でホストPCに感染した。侵入したウイルスは、ハードディスクのマスターブートレコード(MBR)、起動ディスクのブートセクタコード、あるいはディスクパーティションテーブル(DPT)を書き換えることによってマシンに損傷をもたらした。ブートセクタウイルスは今日めったに見られなくなったが、Vistaのデバイスドライバ署名要求を欺く可能性を持った新しいrootkit技術は、この種のウイルスを思い起こさせる。
「bootkit」はブートプロセスを操作することによって、カーネルへのアクセスと隠ぺい能力を獲得する。機能的に見れば、bootkitはrootkitと何ら異なるところはない。両者の違いはアクセスを獲得する方法にある。従来のrootkitは、昇格した権限をOSの動作中に利用する。これに対し、bootkitは外部デバイスのブートセクタからインストールされ、システムの起動プロセスの間ずっとメモリ内にとどまる。このコンセプトは2005年に初めて紹介された。eEye Digital Securityのセキュリティ研究者らが、起動時にBIOSを悪用する手法を開発したのだ。彼らの「BootRoot」プロジェクトで開発されたカスタムブートセクタコードは、Windows NTカーネルのサブバージョンと永続的なリアルモードアクセスを可能にする。
2007年4月に開催された「BlackHat Europe」でインドのNV Labsの研究者らが発表した「VBootkit」も、カスタムブートコードによるカーネルのサブバージョンを実現できる。BootRootとVBootkitの類似性については一部で物議を醸しているが、後発のVBootkitには、Vistaのアップデートされた起動プロセス(ブートローダーアーキテクチャが変更された)に対応するように修正された命令コードが含まれている。どのブートプラットフォームを使用するにせよ、起動プロセスを利用するbootkitテクニックが幾つか存在するのが実情だ。
bootkitのカスタムブートセクタコードは、ROM BIOSコードが実行された後、真のMBRが読み込まれる前に、起動ルーチンを乗っ取る。このコードはメモリに読み込まれると、ソフトウェア割り込み命令を実行する(これは「フッキング」とも呼ばれる)。フックされるのはINT 13で、これは以降のセクタ読み出しを許可する命令だ。これが実行されると、bootkitは起動プロセスを通じて一連のパッチ適用シーケンスを利用し、起動プロセスの構造を変更し、論理フローを操作するのだ。
デジタル署名とチェックサムを回避するために、各種のコード変更手法がさまざまな段階で利用される。bootkitコードは検出を免れるために、幾つかの迂回手段を使ってメモリ内での自身の格納場所を変更する。rootkitもチェックサムを再計算して入れ替えることができる。チェックサムは、ファイルの整合性を確認するために用いられるビット値だ。
rootkitがカーネル空間に居座って検出されなければ、追加ペイロード(コード)を実行することができる。これにより、少なくとも秘密のチャネルを確立し、犠牲者のマシンに無制限にアクセスする能力を悪質なハッカーに与えるのである。rootkitの追加的な実行可能ペイロードとしては、ユーザー名とパスワードを取得するもの、特定のアプリケーション(セキュリティスイートなど)を無効にするもの、代理で攻撃させるためにそのマシンを利用するもの、そのrootkit自身をさらに拡散させるものなどがある。
カーネル空間で命令を操作するために使用されるこれらのマシンコード手法は、この種のマルウェアの深刻さを物語っている。rootkitを検出・除去するためのソフトウェアは存在するが、bootkitの登場は防御の重要性をあらためて浮き彫りにした。起動プロセスに割り込むという手法は、物理的アクセスに関するポリシーを総合的なセキュリティ戦略に組み込む必要性を強調するものである。
bootkit技術に対する防御は、マシンの起動プロセスの防御を意味する。システムのBIOSは、ハードディスク以外の起動デバイスを無効にするよう設定できる。また、不正な変更を防止するために、システムBIOSをパスワードで保護することも可能だ。コンピュータのケースを物理的に施錠すれば、BIOSチップとそのCMOSバッテリ(これらを利用すればBIOSのパスワードをクリアできる)が搭載されたマザーボードへのアクセスを制限できる。公共のエリアに置かれているシステムの場合には、外部メディア装置(フロッピーディスクドライブやCD/DVDドライブなど)を取り外すことも検討すべきだ。USBポートやFireWireポートを無効にしたり、特定のマシンをキオスクモード(訳注:Webページの閲覧しかできない全面表示モード)でのみ動作させるといった方法も効果的だ。
コンピュータのカーネル空間への侵入方法にかかわらず、rootkitは非常に強力で、現実的な脅威である。これらは「生息中」のマルウェアのほんの一部にすぎないかもしれないが、ほとんどのセキュリティソフトウェアで対応が一歩遅れており、その存在を検出することができない。境界部の防護、ユーザー権限レベルの制限といった対策を運用中のサービスの厳格なコントロールと組み合わせれば、rootkitの侵入に対して強固なネットワーク防御を実現することが可能だ。ITセキュリティの担当者にとっては、防御技術の進化に目を向けるだけでなく、rootkit技術の動向も注視することが重要だ。
本稿筆者のノア・シフマン氏は、改心した元ブラックハットハッカー(悪質なハッカー)で、25年近くにわたってFortune 500企業のシステムに侵入した経験がある。同氏は現在、フリーのITセキュリティコンサルタントとして活躍する。リスク評価、侵入テスト、暗号化、デジタルフォレンジクス、予測分析モデル、セキュリティ指標、企業セキュリティポリシーなどを専門とする。心理学と機械工学の学位を持つほか、南カリフォルニア医科大学で医学博士号も取得した。サウスカロライナ州チャールストン在住。
Copyright © ITmedia, Inc. All Rights Reserved.
この記事の著者
関連記事
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
「Excel至上主義」の終わらせ方 丸2日の手作業地獄から情シスと現場を救うには
-
2
急増する「AIはこう言ってる」マン 判断を狂わせる「AI忖度」を防ぐには?
-
3
取手市がVDIと決別した理由 更改費用「4倍超」を約1.7倍に圧縮
-
4
221人調査で分かった「情シス最大のストレス」は?
-
5
「データストレージの活用方法」に関するアンケート
-
6
「AI時代の統合基盤・エンタープライズAI管理」に関するアンケート
-
7
自宅のWi-Fiが「遅い」「途切れる」本当の原因は? Dellが推奨する鉄則
-
8
100億円の「Linux更新」を回避 みずほ銀行が選んだ“おきて破り”のRHEL延命策
-
9
本当に安いPCで十分か? “すぐ重くなる”を防ぐノートPC選びの絶対条件
-
10
Claudeの不可視透かしに批判殺到 著作権消失や誤判定に潜む企業リスク
ホワイトペーパーランキング PR
-
1
年収2000万「クラウドセキュリティのプロ」になれる資格とは
-
2
セキュリティソフトをすり抜ける標的型攻撃メール、不審メールの見破り方とは?
-
3
Windows Updateの通信集中で回線が逼迫、ネットワーク刷新事例に学ぶ解決策
-
4
財務を戦略的組織へ進化させるAI活用術、4つの主要な障壁と解消方法
-
5
「NAS」「SAN」「DAS」は何が違う? いまさら聞けないストレージの基礎
-
6
“あのファイル転送”で暗躍するノーウェアランサム
-
7
標的型攻撃メールを見破るには? サンプル文面を例に傾向を解説
-
8
商用利用の安全性を確保し大量のコンテンツを高速で生成する、AI活用の秘訣
-
9
マンガで解説、1日で生成AI環境を構築できるワークショップの中身とは?
-
10
Dark AIが台頭する時代の新発想、「より高度なAIで対抗する」具体的方法とは?
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー