検知ツールの回避は、今やハッカーの日常の一部だ。防御技術が目覚ましい進化を遂げているにもかかわらず、攻撃者は数週間、時には数カ月も検知されず、持続的標的型攻撃(APT)と呼ばれることが多い。
従来型のセキュリティツールは必要だが、その有効性だけではますます不十分になっている。そこで現在、ほとんどのセキュリティ企業は行動分析とアクティブなエンドポイント保護に注力している。回避はますます容易になっているからだ。
例えば、侵入検知ツールはいまだに、特定のシグネチャを収めた巨大なデータベースにある程度依存している。しかし、データベースが定期的に更新されていても、ハッカーはカスタムパケットを偽造して監視の網を逃れられる。そのため、セキュリティツールの多くは、AIと機械学習の技術を使い、ゼロデイ脅威の兆候を検知するようになっている。
ここでは、一般的な回避手法と一風変わった手法、そして企業が自らを守るための実践的な方法について説明する。
まずMITRE ATT&CKフレームワークから始める
MITRE ATT&CKフレームワークは、利用可能な最良のナレッジベースの1つだ。攻撃者の行動や思考を詳細に記録しているためである。
防御回避についても正確に解説され、各手法について実践例と専用ページが用意されている。本稿執筆時点で、攻撃者が検知を逃れるために使える既知の手法は40種類あり、古典的な難読化からラテラルムーブメント、さらに高度なアプローチまで多岐にわたる。
こうした巧妙な動きをどう見抜けばよいか分からない場合、ATT&CKは優れた情報源になる。高度なチームでさえ日常的に利用している。多くのセキュリティベンダーが分析のためにこのナレッジベースを対応付けているからだ。
関連記事:数クリックでデータ災害に至る:企業セキュリティの現状
ハッカーが使う主な手法
以下の回避アプローチは広く使われている。
- セキュリティツールの無効化
- 偽装(ファイル形式の偽装、スケジュールタスク、名前を変更したハッキングソフトウェアなど)
- 悪意あるコードの難読化
回避によって、攻撃は成功しやすくなる。ハッカーは長期間、あるいは機会を見計らった一定の時間だけ検知されずに活動できる。ここ数カ月、攻撃者が最終的に検知されることを十分承知しながら、活動に必要な数時間だけ確保していた攻撃が、相次いで報じられている。
多くのセキュリティベンダーはMimikatzのような既知のハッキングソフトウェアを簡単にブロックできる。しかしハッカーは、ファイル名を変更するだけで検知率を大幅に下げ、呼び出しコマンドがアラートを発しないようにできる。
より高度な攻撃者は、ソースコードを数行変更して検知率を下げることもある。その場合、ほとんどのウイルス対策ソフトは検知に失敗する。
また、レジストリエントリを操作し、次のようなPowerShellコマンドで組み込みの監視機能を完全に無効化することも可能だ。
Set-MpPreferences -DisableRealTimeMonitoring $true回避手法の急速な進化
回避手法は急速に進化してきた。初期の手法は、偽のマルウェアシグネチャやスリープタイマー(実行の遅延)だった。現在、ハッカーはEDRの回避や環境寄生型(LOTL)攻撃に、より注力している。
LOTLは「living off the land」の略で、主に標的システムに存在するネイティブツールを使って攻撃することを指す。例えば、PowerShellなどだ。つまり攻撃者は被害者のコンピューターシステムに紛れ込み、正規のプロセスを使って行動を隠す。
このアプローチはサイバースパイ活動で多用されているが、ダークなオープンソース化が進み、ハッキングが容易になっているため、スクリプトキディや経験の浅いハッカーも使う可能性がある。
AppLockerの仕組みと厳格な権限管理によって、LOLBins(環境寄生型バイナリ)攻撃を軽減できる。
メモリ分析はやや技術的だが、マルウェアの配布に使われる一般的なLOLBinsを見つけるのに有効だ。例えばRegsvr32は、DLLファイルの登録や登録解除が可能なWindowsユーティリティである。
IDSとIPSの回避例
IDS(侵入検知システム)とIPS(侵入防止システム)は、しばしば侵入検知・防止システム(IDPS)として組み合わせて使われ、疑わしいネットワークパケットを、さまざまなサイバー攻撃から収集した既知のシグネチャを格納する脅威データベースと照合して検知できる。IDSはパケットを監視するだけだが、IPSはパケットを自動的に拒否できる。
多くの攻撃者は、脆弱な稼働中のホストを発見するためにNmapを使う。しかしIDSやIPSは、こうしたアクティブスキャンを検知して直ちにアラートを発する。
ただし、Nmapのコマンドに特定のオプションを渡し、パケットを断片化(-fオプション)したり、メタデータを操作したり、既知のシグネチャと一致しない偽データを送信したりすることは可能だ。
関連記事:Nmapの脆弱性スキャンを簡単に実行する:チュートリアル
セキュリティツールの無効化
セキュリティツールを無効化するのは実践的なアプローチだ。次のWindowsユーティリティや機能を停止できる。
- タスクマネージャー
- UAC(管理者権限でタスクを実行するユーザーアクセス制御)
- CMD(コマンドプロンプト)
- Windowsセキュリティ
- ログ
いずれにも関連するレジストリエントリがあり、変更可能だ。あるいは、ローカルアクセス ポリシーを変更することもできる。
ここでEDRやUEBAが、セキュリティポリシーへの望ましくない変更や異常なイベントを特定できる。ただし、EDRシステムの回避の試みにも注意が必要だ。
macOSとLinuxも回避に利用される
デモやPOCの多くは、PowerShellコマンドとWindowsレジストリの変更を扱っている。
確かにWindowsは今も最も普及したOSだが、macOSやLinuxのシステムも回避手法と無縁ではない。Linuxは、企業の多くの極めて重要なシステムの基盤でもある。ハッカーはこうした環境でもLOLBinsを利用でき、状況を分析しようとする研究者を悩ませることがある。
攻撃者は永続エージェントを埋め込み、Activity Monitor(Windowsのタスクマネージャーに相当するmacOSの機能)を停止して、ユーザーがリソースを確認できないようにすることがある。OSAMinerのキャンペーンで起きたのも同じことだ。
Linuxのシェルスクリプトは、クラウド監視エージェントをアンインストールしたり、ファイアウォールを無効化したり、リモートIPからリソースをダウンロードできるwgetやcurlなどの一般的なユーティリティの名前を変更したりできる。
OSにかかわらず、すべてのエンドポイントを監視すべきだ。
おすすめのEDRツール上位製品を見る
悪意あるペイロードは予想外のファイルに潜む
ハッカーはPDFのような従来型のファイル形式を好む。PDFは.exe(実行可能ファイル)、.jar(Java)、ZIPアーカイブのように不審に見えないからだ。
既知の手法であるステガノグラフィーを使えば、一見無害な画像にさえ悪意あるペイロードを隠し、メールセキュリティゲートウェイをすり抜けさせることができる。
WordやExcel文書に埋め込んだマクロも、ウイルス対策ソフトなどの保護を回避して最終的にマルウェアをインストールするために、非常に広く使われている。攻撃者にとっての唯一の難点は、通常、ユーザーに「コンテンツを有効にする」(Microsoft Office内など)をクリックさせる必要があることだ。そのため、マクロマルウェアは理論上、はるかに検知・軽減しやすい。しかし、サイバーセキュリティ意識向上トレーニングは、従業員がこうしたファイルを開くことすら防ぐために不可欠だ。
実際、ハッカーは悪意のない文書を使って被害者をだまし、セキュリティ警告を無効化して、Microsoft Officeでは通常無効になっているマクロを有効化させることで、既定のマクロセキュリティを回避することに成功した。これらの文書は、マクロコードを含む別の文書のダウンロードに使われた。
ステガノグラフィーを施した文書は検知が難しいが、CDR(コンテンツの無害化と再構成)によって、ファイル内の承認されていないオブジェクトを自動的に削除できる。
どこにでも存在するRAT
RAT(リモートアクセス型トロイの木馬)には、被害者の活動(キーストローク、スクリーンショット、機密情報など)のスパイ・監視から、なりすまし被害やマルウェアの拡散まで、さまざまな目的がある。
ハッカーが、犯罪行為の隠れみのとして被害者のアドレスを使い、感染したマシンから別のマシンを攻撃することも珍しくない。
さらに、RATはウイルス対策ソフトに対して非常に有効なので、IDPS技術の利用が推奨される。
人間による分析に代わるものはない――ただし、だますことはできる
セキュリティツールは、特に一般的な脅威に対しては非常に優れた働きをする。しかし、熟練した攻撃者はしばしばそれらの回避に成功する。
攻撃者は、セキュリティアナリスト、場合によっては先導する研究者の作業を予測し、正規のシステムコマンドや命令の中に悪意あるコマンドを隠すことができる。
こうしたコマンドラインは非常に長いことが多く、カーネルやアセンブリコードなど、低レベルの領域を扱うごく少数の専門家しか使わない。アナリストがセキュリティログにあるそのような異常な行に興味を引かれても、Googleで検索すれば、完全に正規のプロセスだと示される可能性が高い。
知らないものに対して戦うことはできない。多くのセキュリティツールは、既知の攻撃や技術に重点を置いており、防御側を誘い込むためのソーシャルエンジニアリングやノイズの多いデータを使うことを意図した、極めて複雑なシナリオには対応していない。
この場合、関係する戦術と手順を理解することが最優先となる。脅威ハンティング、エンドポイントログ、監査が窮地を救うことがある。





