ファイルレスマルウエアは「確かに」ファイルは作らない
「本当に」痕跡が残らないと、そもそもどこからも何も検知できないが、実際には検知できているし、そのためのソリューションもある。
じゃあ、どこで検知しているのか?というのを少し考えてみよう。
フォレンジック関係ツールの検証やってみた(少しだけ)
思うところあって、TSURUGI Linuxを使ってみた
TSURUGI Linuxは、デジタルフォレンジック向けのLinuxディストリビューション。
デジタルフォレンジックに使えるLinuxディストリビューションには、例えばKali LinuxやSANS SIFT Workstationなどがあるが、今回あえてTSURUGI Linuxを使ってみたのには理由がある。
- わりかし新しいディストリビューションである
- Acquire向けの機能に絞ったISOイメージを配布している
- 起動するだけであれば、誤ってHDDイメージを壊すことがない
新しいのはまぁいいとして、なぜ2,3が重要なのか?を以下に述べる。
まずは2から。実際にフォレンジックをやったことある人ならば経験ある人もいるかもだけど、HDDイメージを取得する時に、普通に配布されているLinuxディストリビューションではうまくいかない(そもそもブートすらしない)ことがある。
ブートすらしない理由は、経験的にはIA32の拡張機能であるPAE(物理アドレス拡張)が関係していることが多い。PAEをサポートしないCPUでは、PAEを有効にしたカーネルでブートさせられないため、いろいろと小細工が必要になってくるが、TSURUGI LinuxのAcquire用イメージは、PAEなしCPUだろうとCylixだろうとTransmetaだろうと(ブート時のメッセージを読む限りは)サポートしており、わりかし安心して動かせる(速度は遅いがw)。
環境によってはGUIがうまく動かない(画面がうまく出ない)ことがあるが、この場合であってもCtrl + Alt + F1を押下することで、CUIログイン画面が出る。実はThinkPad X31でGUIがうまく動かなかったのだが、Ctrl + Alt + F1を押下し、ユーザ名root、パスワードなしでログインできた。
そして3。TSURUGI Linuxは、起動した段階では(少なくとも)ブートデバイス以外のHDDやSSDは、接続形態を問わず書き込み禁止状態になっている。あとでUSB HDDを追加しても、追加したHDDはかたっぱしから書き込み禁止状態になる。この状態であれば、起動しても(所定のコマンドを知らない限りは)書き込みをできるようにならない。
TSURUGI Linuxでブート後HDDを書き込み可能にするためには?
blockdevコマンドを用いる。
wrtblkコマンドをはじめとして、複数のそれ向けコマンドがあるが、これらのコマンドはシェルスクリプトであり、中でblockdevコマンドを実行している。
詳しくはblockdevコマンドのヘルプをみてもらいたいが、少なくとも書き込み禁止状態を解除するだけならば、blockdev --setrw <書き込み禁止を解除したいデバイスファイル名> とすることで、書込み禁止状態を解除できる。
ファイルシステム作成時とマウント時のblockdev --setrw の範囲の違い
ファイルシステムを作成する時には、作成するデバイス(パーティション)に対応するデバイスファイルのみをblockdev --setrwすればいいが、マウントしたりという時には、そのパーティションが含まれるHDDを指すデバイスファイルもblockdev --setrw しておかないといけない。そうでないとマウント時にread onlyモードにされる。
商用ツールだと、EnCase ImagerやFTK ImagerがTSURUGI Acquireに近いが、多分TSURUGI Acquireのほうが使い勝手がよい
フォレンジックをやる人の中には、イメージ取得にEnCase ImagerやFTK Imagerを使う人も多いと思う。
しかし、EnCase Imagerは入手方法がわからず(私は30分格闘してあきらめた)、FTK ImagerはWindows版は64bit版しか配布されていない。ところが、TSURUGI Acquireの中にはなんとFTK ImagerのLinux 32bitコマンドライン版が含まれている。FTK Imager のLinux 32bit コマンドライン版はなかなかステキな機能がある。個人的には以下の2つがツボった。
- デバイスファイルやraw形式のファイルを入力に指定可能
- e01形式(EnCase形式)で出力可能
もうこれだけでも使う価値がある。
64bitカーネルが動かない/64bit Windowsでないなどの理由でFTK ImagerやEnCase Imagerが使えない場合でも、マシンを落としてOKならば、TSURUGI Acquireを使ってイメージを取得することが可能だ。
TSURUGI Linuxの弱点:とりあえずドキュメント類に乏しいw
まだ出たばかりなのでしょうがないといえばしょうがないのだけど、まだドキュメント類はそんなにない(というかほとんどないw)。まずは自分でいろいろ使ってみて、情報量を増やすのはアリかなと思った。
GPD Pocketを使ってみての所感(その他編)
わりとどうでもいいようなよくないような点をまとめてみた。
- 性能は意外に悪くない。WinSATの結果は、メインで使ってるマシンの1台であるThinkPad Helix(1st Gen、Core i5 3rd Gen)よりちょっと悪いくらい(気が向いたら結果載せます)
- 筐体の加工精度はものすごく高い。閉めたらぴったり閉まる。すげえ気持ちいい。物欲満たされた感になる(個人的には重要)
- 内蔵オーディオ(というかスピーカー)はモノラルだけど、別に気にならない(というか気にする気もない)
- Webカメラは内蔵してないけど、別に不便でもなんでもないのでOK。どうしても必要ならば、これこそUSBカメラつければOKな世界
- USB-CのHUB兼カードリーダーがついたモデルが届いたけど、正直いらなかったかなと感じてる。給電して充電可能なHUBを調達するほうがよっぽどいいかなと思った
GPD Pocketを使ってみての所感(お値段編)
オレの場合は、約400ドル程度の出資でGPD Pocketを入手できたわけですが、出せるのはいくらまでか?と言われると、この使い勝手ならば、たぶん6万円が限度だと思います(500ドルはまぁアリ。600ドルとか言われると、"No, thank you"となりそう)。
GPD Pocketを使ってみての所感(操作性編)
まとめると、画面はまだしもキーボードは長時間作業にはつらい風。なので、長時間これで作業することを想定するならば(特に作文やプログラミング)、外付けキーボードは必要と判断してたりします(あくまで個人の感想ですw)。
- 本体だけだと、インタラクションや作文、プログラミングをはじめとして、長時間の作業には(まったく)向かない。キーボード等は外付けするなど工夫の余地ありだけど、本体だけでも作業が可能なのは、(最終手段的には)アリ
- スペースが限られる飛行機の中や電車の中(含む新幹線の中)では、それなりに快適に作業可能。とはいえ、キーボードがウルトラ小ぶりなので、作業効率はたぶん落ちる
- ディスプレイは、7インチでFHDならば、たぶんギリギリ使い物になるレベル。拡大率は150%でちょうどいい感じ。100%はちょっと使うには厳しい(個人の感想)。125%はありかもしれないけど、150%のほうがいいかな(これも個人の感想)。オレ自身は別メーカのGOLE1も持ってるけど、こちらは5インチ。GOLE1は本体だけだとインタフェースがタッチしかないので、指がでかいオレとかはもう苦行にしかならなかったw。ということで、ほとんどネタデバイス扱いにしかならなかったw。