ルートキットはシステムの深いレベルで潜伏し、不正なアクセスや制御を可能にするソフトウェアをまとめたパッケージです。
作動中のプロセスやファイル、システムデータを隠蔽する機能があり、ユーザに気付かれないように侵入者がシステムへのアクセスを維持することを助けます。
ファイル一覧を見ても、あるはずのマルウェアのファイルが見えなくなったり、プロセス一覧を見ても、あるはずのマルウェアのプロセスが見えなくできてしまいます。
こういうものですので、植え付けられてしまったルートキットがあることを感じることは通常難しいものです。
そんなルートキットに関連した防御側に有効な情報のまとめが公開されています。
ルートキットの見つけ方、です。
特定のルートキットを見つける個別の情報の公開ということではなく、ルートキットの使用する方法に注目した内容ですので、既存のモノだけでなく、これから出てくるかもしれないモノにも対応できるかもしれません。
ちょっと見てみましょう。
- sysfs/tracingで見つける
ルートキットは脅威アクターの脅威活動を隠ぺいする目的で作られているものですが、OSの機能の全体に対して対処できているものでなかったりします。
Linuxにはいくつかの状態把握に利用できる機構があり、その一つがsysfsです。
このsysfsのなかのどの情報をどのように利用すれば、これまで意識できなかったことが見えるようになるのかがまとめられています。 - procfsで見つける
sysfsと同じように利用できるLinuxのもうひとつの機構に、procfsがあります。
procfsは名前の通りにProcess Filesystemです。
Filesystemという名称ではありますが、実際にはFilesystemではありません。
プロセスに関するカーネル情報にアクセスする手段を提供してくれます。
procfsの脅威対策で使える情報が記載されています。 - ftraceを無効にする
ftraceはFunctionTracerで、Linuxカーネルのトレースフレームワークです。
現在のルートキットは自身の隠ぺいのためにftraceフックを利用していることが多いので、これを無効にするとルートキットが見えることがあります。 - LKMルートキットへの対応
LKMはloadable kernel moduleです。
ルートキットの実装形式の一つです。
imperiusやModTracerというツールでLKMルートキットを可視化することが紹介されています。
いつもサイバーセキュリティの分野では脅威アクター側が先行して活動する感じがします。
しかし、こういった防御側に有効な情報のまとめが登場すると、状況は変化するかもしれません。
すべての利用者が利用者という立場でこれらの情報を直接活用することは容易ではないかもしれませんが、こういったまとめ情報が存在することが広く知られることは防御側にとって良いこととなるのではないでしょうか。
Cheat sheet for detect and remove linux kernel rootkits
https://github.com/MatheuZSecurity/detect-lkm-rootkit-cheatsheet/blob/main/README.md
この記事をシェア |
---|