
何が起きたのか?
SysdigおよびFalcoユーザーが保護される仕組み
- Falcoの検知エンジンは柔軟で、io_uring_setupシステムコールを用いてio_uringのアクティビティを検知するルールを記述できます。
- Sysdigユーザー向けに、io_uringの不審な使用を検知する新しいSysdig SecureルールSuspicious io_uring Activity Detectedがリリースされました。
- Falcoは、io_uringによって開始された操作を検知する新機能をリリースします。
オンラインの記事では、この仕組みによりユーザーアプリケーションがシステムコールを使わずにさまざまな操作を実行でき、システムコールベースのツールが盲目になると主張されています。しかし、検知回避としてio_uringを利用するには、攻撃者がまずシステムへのアクセスを獲得している必要があります。curingツールはroot権限を提供せず、リソースを隠蔽もしません。
エクスプロイトや設定不備によってアクセスを得た後、マルウェアまたは侵害されたプロセスは、潜在的に悪意のある活動が検知されなくなる前にio_uringのシステムコールを呼び出す必要があります。これは、回避が起きる前に防御回避を検知する理想的な機会を提供します。MITRE ATT&CKの用語では、Initial Access(初期アクセス)と、その後の悪意あるコードのExecution(実行)が、io_ringを回避に利用するための前提条件です。
io_uringとは何か、どのように動作するのか?
io_uringは、従来のシステムコールを経由せずに非同期I/Oを可能にするLinux APIです。なお、io_uringの呼び出し自体も実際にはシステムコールである点に注意が必要です。io_uringは、ファイルやネットワーク操作など、入出力を伴う多くのシステムコールに適用されます。io_uringを使用することで、それらのシステムコールをバイパスでき、結果としてセキュリティツールがこれらの操作を見逃す可能性があります。
io_uringにできないこと
io_uringは、プロセス実行のような活動には適用されません。プロセス実行に基づく脅威検知や、プロセスに関連するデータ(例:オープンしているファイルディスクリプタ)の分析に基づく検知は、この防御回避手法の影響を受けません。これはあくまで回避手法であるため、io_uringを使ってファイルやプロセスが隠されることはありません。システムユーティリティは通常どおり動作します。 ファイル操作のためのコールバックシステムで、ファイル整合性監視によく使用されるFANOTIFYも、io_uringの使用による影響を受けません。
多くのコンテナ化されたワークロードは、この回避手法の影響を受けません。デフォルトのseccompプロファイルがio_uringの使用を完全に無効化しているためです(例:Docker)。(デフォルトで既にブロックされていない場合)io_uringのシステムコールをseccompプロファイルに追加することを検討してください。ただし慎重に行う必要があります。これが、回避手法が機能しないことを確実にする最善のアプローチです。プロファイルに追加する前に、そのシステムコールが正当なプロセスで使用されていないことを確認してください。
io_uringによる回避を検知する方法
io_uring呼び出しの使用はそれほど一般的ではないため、Sysdig Runtime Notable Eventsのマネージドポリシーに新しいルールSuspicious io_uring Activity Detectedをリリースしました。このルールは、io_uring呼び出しを行う異常なプログラムを検知します。
Sysdigのお客様はio_uringによる回避から保護されています
脅威検知に対する当社の多層的アプローチにより、攻撃のさまざまな段階をカバーします:
- Sysdig SecureのMalware Detectionポリシーは、FANOTIFYを使用してファイル操作を検知するため、このセキュリティ回避およびcuringの影響を受けません。当社のマルウェアハッシュおよびYaraルールは通常どおり動作します。
- コンテナでio_uringが有効になっている場合でも、SysdigのContainer DriftポリシーはFANOTIFYも使用しているため、新しい実行ファイルを引き続き検知します。
- この回避手法が環境内で使用された場合、ファイルまたはネットワーク操作のためのシステムコールに依存する既存ルールの一部は影響を受けます。
結論
io_uringの悪用により、Linuxセキュリティベンダーが用いる一部の検知をマルウェアが回避できる可能性があります。単一の検知手段に依存しないといった多層防御戦略は、このリスクの緩和に役立ちます。Sysdig Secureには、この防御回避を検知するルールが現在用意されており、Falcoもまもなくio_uringを見抜いて、ARMOが公開した手法を用いるあらゆる脅威を検知できるようになります。
翻訳元: https://www.sysdig.com/blog/detecting-and-mitigating-io-uring-abuse-for-malware-evasion
