rootkitが実際にどのようにして情報を隠ぺいするのかについて解説していきたい。ここではファイル、ディレクトリ、プロセスを隠ぺいする仕組みについて解説を行うことにする。●ファイル、ディレクトリの隠ぺいファイルやディレクトリを隠ぺいする仕組みを解説する前に、システム内部でファイルがどのように管理されているのかを知る必要がある。)関数のいずれかを呼び出してディレクトリ情報を取得している。システムでは、同一ディレクトリ内に存在するファイル情報をまとめたものをそのディレクトリが持つ情報として管理している(図1)。システムが管理するディレクトリ情報lsコマンドやstatコマンドなどでファイル情報を取得する場合、ファイルの情報は先頭のファイル情報が格納された箱から順次参照されていく。この際、次のファイル情報が格納されている箱の場所は、いまのファイル情報が格納された箱の場所に自分の箱の大きさを加算して割り出される(図2)。従って、図2のファイルAの箱の大きさに次に参照されるファイルBの箱の大きさを加算し、ファイルAの箱の大きさを偽ることで、システムは次のファイルを参照する際にファイルBをスキップしてファイルCにアクセスすることになる(図3)。システムがファイル情報を取得する際に利用するこのアプローチでは、ファイルBを発見することができないことが分かる。Bをスキップしてファイルが参照される様子プロセスの隠ぺいプロセスの隠ぺいもファイルの隠ぺいと同様の方法を用いて実現することができる。プロセスが生成される場合、/procディレクトリ以下にそのプロセス番号と同じ番号を持つディレクトリが作成される。各プロセスに関する情報はそのディレクトリ内に保存され、システムが管理を行っている。ユーザーがpsコマンドなどでプロセスの情報を取得する場合、このディレクトリを参照して情報の取得が行われる。従って、ファイルの隠ぺいと同様/procに格納されているプロセス番号を持つディレクトリを隠ぺいすることでプロセスを隠ぺいすることが可能となる。前章で紹介したheroinもadoreもこれらの方法を用いて、ファイルやディレクトリ、プロセスの隠ぺいを行っている。adoreの「ネットワークサービスの隠ぺい」で紹介したように、最終的に出力される情報を改ざんすることでこれらの情報の隠ぺいはするという方法もある。上記以外にも情報を隠ぺいするための方法をいくつか挙げることができる。以下にその例を挙げてみた。いずれの場合もシステムコールをフックするという基本的な仕組みは同じである。該当するシステムコールをフックして処理を変更する。ファイルの呼び出しをリダイレクトして、別のバイナリを実行させる。最終的に出力される情報のみを変更する。実現するための過程は異なるが、どの方法でも最終的にユーザーの観点から見た場合に正しい情報を出力しないようにすることが可能である。rootkitの種類によって異なっている。新たなるrootkitの誕生も考えられる?これまでに、バイナリ置き換え型のrootkitやLKMの仕組みを利用したrootkitを紹介してきた。2001年に従来のrootkitとは異なる、新しいテクニックを用いたSucKITが登場した。Patching]というテクニックを応用して作成されている。Patching]はメモリ内に読み込まれたカーネルの内容を直接変更することにより、任意のコードの挿入、システムコールテーブルの変更、新規システムコールの追加などを動的に行う新しいテクニックである。SucKITはこの手法を利用して作成されており、LKMのサポートを受けることなくシステムの挙動を変更することが可能である。このようにrootkitに用いられるテクニックは、より巧妙化することが予想され、新たなるrootkitの誕生も考えられる。PatchingやLKMについての詳細な技術情報については以下のサイトを参照していただきたい。今回まで4回にわたり、攻撃者の侵入で仕掛けられることの多いバックドアやトロイの木馬、rootkitについて解説を行ってきた。rootkitを中心に取り扱ってきたが、その仕組みはご理解いただけたであろうか。次回から執筆をPort139の伊原氏に交代して、攻撃者にシステムに侵入されてしまった場合にどのように対処すればよいのかについて実践的なオペレーションワークを解説していただく予定である。10が備える多彩なセキュリティ対策機能を丸ごと理解するには、5つのスタックに分けて順に押さえていくことが早道だ。連載第1回は、Windows起動前の「デバイスの保護」とHyper-Vを用いたセキュリティ構成について紹介する。WannaCryがホンダやマクドにも。(2017/7/11)2017年6月のセキュリティクラスタでは、「WannaCry」の残り火にやられたホンダや亜種に感染したマクドナルドに注目が集まった他、ランサムウェアを作成して配布した中学3年生、ランサムウェアに降伏してしまった韓国のホスティング企業など、5月に引き続きランサムウェアの話題が席巻していました。(2017/7/5)人員リソースや予算の限られた中堅・中小企業にとって、大企業で導入されがちな、過剰に高機能で管理負荷の高いセキュリティ対策を施すのは現実的ではない。Threat)対策の観点から考える。