一般的に、機関や企業のなどの組織では、セキュリティの脅威を防ぐために様々なセキュリティ製品を使用している。エンドポイントを基準にしても、AntiVirus だけでなく、ファイアウォール、APT 防御ソリューション、そして EDR などの製品が存在する。セキュリティを担う組織が別に存在する環境でない、一般ユーザーの環境でも、基本的なセキュリティ製品がインストールされていることが多い。
そのため、攻撃者は初期侵入の後にセキュリティ製品による検知を回避するため、防御回避の戦略を用いる。最も単純な形式としてはファイルベースの検知を回避するために AntiVirus のシグネチャを回避する方式があり、そのほかにもインストールされているセキュリティ製品の削除や、ファイアウォールを回避する方式などがある。
AhnLab EDR(Endpoint Detection and Response)は、韓国国内で唯一の振る舞いベース解析エンジンをもとにエンドポイント領域に対して強力な脅威モニタリングと解析、対応力を提供する次世代エンドポイント脅威検知および対応ソリューションである。AhnLab EDR は、疑わしい振る舞いに関するタイプ別情報を常時収集し、検知および解析、対応の観点からユーザーが脅威を正確に認識できる機能を提供し、これによって総合的な解析を通じ原因把握と適切な対応、再発防止プロセスを確立できる。
ここでは、Linux システムを攻撃対象とする攻撃者が使用する防御回避の戦略を分類し、AhnLab EDR を活用してこれらの攻撃を検知する方法を取りまとめる。
1. ファイアウォール
ファイアウォールは、ネットワークトラフィックをモニタリングして制御するセキュリティソリューションであり、特定のセキュリティルールに基づいて疑わしいネットワーク上の振る舞いを検知して遮断することができる。ファイアウォールはネットワークベースとホストベースに大きく分かれるが、ネットワークベースのファイアウォールは特定のネットワークの境界で外部とのトラフィックをモニタリングし、制御する役割を担う。
ホストベースのファイアウォールは各システムにそれぞれ設置され、例えば Windows OS に最初からインストールされている Microsoft Defender のファイアウォールがある。これは Linux においても同様だが、代表的な Linux のディストリビューションのうち Ubuntu は Uncomplicated Firewall(UFW)という名前のファイアウォールに対応しており、Red Hat および CentOS のような Fedora 系列は firewalld に対応している。もちろん、過去から Linux の基本的なファイアウォールとして提供される Iptables も存在する。
このように、基本的な OS 環境でもホストベースのファイアウォールに対応しており、疑わしいネットワークトラフィックを検知して遮断するために、マルウェアや攻撃者は初期侵入後にファイアウォールを回避するための攻撃を実行することがある。代表例として、感染システムを遠隔操作するためにリモートデスクトップを悪用するランサムウェアおよび APT 攻撃者が、RDP サービスを有効にするためにファイアウォールを登録するケースが多い。[1] [2] [3]
これは Linux でも同様だが、例えば以下のように Kinsing コインマイナーマルウェアは Ubuntu 環境の場合、ファイアウォールを無効にして Iptables ルールを削除する。

図1. Kinsing のファイアウォール
無効化ルーチン
AhnLab EDR はファイアウォールを無効にするイベントが発生した場合、管理者が原因の把握と適切な対応を行えるよう、以下のように脅威として検知する。

図2. ファイアウォール無効化イベント発生時の検知ログ
2. セキュリティモジュール
Linux セキュリティモジュール(LSM:Linux Security Modules)は、強制アクセス制御(MAC : Mandatory Access Control)ポリシーを実装したカーネルモジュールである。ユーザーやプロセスがファイルなどのリソースにアクセスできる権限を管理することができ、管理者はこれを利用することでアプリケーションの権限を設定し、システムを保護できる。Linux ディストリビューションのうち Ubuntu は AppArmor という名前の LSM に対応し、Red Hat および CentOS のような Fedora 系列は SELinux に対応している。
マルウェアの中にはこれらの Linux セキュリティモジュールを無効にする機能を含んでいる事例が存在するが、代表例として上記で取り上げた Kinsing がこれらの機能に対応している。Kinsing は SELinux と AppArmor を無効にし、それによって不正な振る舞いを実行する妨げとなるセキュリティポリシーを無効にすることができる。

図3. Kinsing の Linux セキュリティモジュール無効化ルーチン
AhnLab EDR は Linux のカーネルセキュリティモジュールを無効にするコマンドが実行された場合に脅威として検知し、管理者が事前に認知できるようにサポートする。

図4. Linux カーネルセキュリティモジュール無効化イベント発生時の検知ログ
3. ルートキット

ルートキットは自身や他のマルウェアを隠ぺいする機能を備えたマルウェアであり、主にファイルおよびプロセス、ネットワーク通信がその隠ぺい対象である。カーネルモードのルートキットは Windows 環境だけでなく Linux 環境でもよく使用されるが、代表的なものにリバースシェル機能を同時に提供する Reptile ルートキットや[4] Diamorphine ルートキットが存在する。[5](外部サイト、英語にて提供)
Diamorphine はプロセスおよびファイル/ディレクトリ隠ぺい機能や権限付与、自己隠ぺいなどの機能を提供し、長い間過去バージョンだけでなく最新バージョンの Linux カーネルにまで対応しているため、多くの攻撃で使用されている。例えば、脆弱なクラウド環境を対象にコインマイナーをインストールする Watchdog グループは、ユーザーモードのルートキットと同時に Diamorphine を攻撃に使用することが特徴である。[6] 図5. Watchdog グループの Diamorphine マルウェア
AhnLab EDR は疑わしい Linux カーネルモジュールがロードされるイベントを主な振る舞いとして検知し、既知のルートキットをインストールするイベントが発生した場合に脅威として検知して、管理者が事前に認知できるようにサポートする。

図6. Diamorphine ルートキットのインストールイベント発生時の検知ログ
4. 結論
攻撃者はマルウェアおよび疑わしい振る舞いを検知するセキュリティ製品を回避するため、防御回避戦略を用いている。代表例として、デフォルトでネットワークトラフィックを制御するファイアウォールやセキュリティのために管理者がアクセス制御ポリシーを適用したセキュリティモジュールを無効にするか、マルウェアを隠ぺいするためにルートキットを使用することもある。
AhnLab EDR は、防御回避の段階で使用されるツールを脅威および主な振る舞いとして検知し、管理者がこれを事前に認知できるようにサポートする。管理者はこれにより原因の把握と適切な対応し、攻撃に晒された後も攻撃対象となったシステムから攻撃者の証跡資料として侵害事例の調査に必要なデータを確認することができる。
振る舞い検知
– DefenseEvasion/EDR.Scripting.M10885
– DefenseEvasion/EDR.Firewall.M11609
– SystemManipulation/MDP.Disable.M11581
– DefenseEvasion/EDR.Event.M10888
– DefenseEvasion/EDR.Event.M10889
– DefenseEvasion/MDP.Diamorphine.M11627
– DefenseEvasion/DETECT.Rootkit.M11732
振る舞い情報検知および解析を通じたエンドポイント可視性を提供し、脅威を能動的に追跡する AhnLab EDR についての詳しい情報は AhnLab の公式 HP で確認できる。
Categories: Uncategorized
