
いろいろなタイプのマルウェアがあります。
そのなかの一つにルートキットがあります。
ルートキットは、不正アクセス後に攻撃者がシステムへの管理権限を保持し、自身を隠しながら活動するためのソフトウェアのセットです。
ルートキットはいろいろな実装が確認されていますが、また一つ明らかになっています。
どういったものなのか見てみましょう。
- Curing
これは現時点ではセキュリティ研究者が作成して公開している概念実証としてのルートキットです。
このルートキットはio_uringという機構を悪用して機能するように実装されています。
Curingは、io_uringを悪用してリモートサーバからコマンドを取得し、システムコールフックをトリガーせずに任意の操作を実行することができます。 - io_uring
io_uringは、効率的な非同期I/O操作のためのLinuxカーネルインターフェースです。
従来のI/O方式では十分なパフォーマンスを出すことができないケースがあったのですが、この実装がLinuxカーネルに組み込まれてから問題解消の方法が増えた形となっています。
io_uringは、多くのオーバーヘッドとプロセスのハングを引き起こすシステムコールに依存する代わりに、プログラムとLinuxカーネルの間で共有されるリングバッファを使用して、非同期に処理されるI/O要求をキューに入れ、プログラムの実行を継続できるようにします。
このio_uringは便利のための機構で、機能性が高い実装になっています。
io_uringに関連するシステムの操作機能は、実に61機能にも及びます。
多数ある操作機能のすべてが十分に安全な状態になっているという状態ではないようです。 - Curingの検出
私たちは、この種の脅威を検出するためにセキュリティ機構を使用したいと考えます。
しかし、現状いくつかの機構においてCuringを検出できるかを確認してみても、良い結果となっていません。
Falco、Tetragon、Linux版Microsoft Defender for Endpointにおいて、期待する検出ができない状態です。
他のいくつかのセキュリティ製品でも、検出は容易ではなかった結果が出ています。
Curingの公開の時点では、対策が十分に提供できる機構はありませんでした。
しかし、Curingの公開の成果によって、対応策や回避策が案内できているベンダーも出てきています。しかし、対策を提供できていないベンダーもまだ多くあります。
こういった情報は、いかにして把握して、いかにして活用していくかが重要です。
概念実証コードの公開の是非が話題になることがよくあります。善意の研究者の良い情報となるのか、そうでないほうに作用するのか、難しい問題です。
io_uring Is Back, This Time as a Rootkit
https://www.armosec.io/blog/io_uring-rootkit-bypasses-linux-security/
この記事をシェア |
---|