AMSI バイパス
AMSI バイパス とは何ですか?
AMSI バイパスWindows の AMSI(アンチマルウェアスキャンインターフェイス)を無効化・パッチ・回避し、スクリプトやインメモリ・ペイロードがウイルス対策にスキャンされないようにする一連の手法。
AMSI(Antimalware Scan Interface)は 2015 年に Windows 10 とともに導入され、PowerShell、JScript、VBScript、.NET、Office VBA が、難読化解除の後かつ実行の前に、バッファを登録済みアンチウイルスへ(AmsiScanBuffer/AmsiScanString を介して)スキャン依頼できる仕組みです。AMSI はプロセス内で動作し攻撃者のアドレス空間を共有するため、すでにコード実行を獲得した攻撃者はそれを単純に改ざんできます。
代表的な手法は 3 つの系統に分けられます。メモリパッチは amsi.dll!AmsiScanBuffer(または AmsiOpenSession)の先頭バイトを上書きし、スキャンせずに AMSI_RESULT_CLEAN や E_INVALIDARG のようなエラーを返させます。リフレクションは PowerShell のプライベートフィールド AmsiUtils.amsiInitFailed を true に反転させ——Matt Graeber による 2016 年の古典的なワンライナー——セッションが二度と AMSI を初期化しないようにします。難読化/ダウングレードはフラグ付き文字列を分割し、Base64 でエンコードし、あるいは AMSI が存在しない powershell -version 2 を強制します。狙いは Mimikatz、Invoke-Mimikatz、Cobalt Strike ビーコンといったツールを、信頼されたホストプロセス内で検知されずに実行することです。
MITRE ATT&CK ではこれを T1562.001(Impair Defenses: Disable or Modify Tools) として追跡しています。Microsoft Defender は 2017 年からリテラル文字列 amsiInitFailed をシグネチャ化しているため、攻撃者は実行時にこれを難読化します。防御策:最新の EDR に連動した AMSI プロバイダ、Attack Surface Reduction ルール、PowerShell Constrained Language Mode、AppLocker/WDAC、ScriptBlock ロギング、そして新たに生成されたプロセス内の amsi.dll に対する書き込み可能かつ実行可能なパッチへのアラートです。
flowchart TD
S[Malicious script / macro] --> H[Host process: PowerShell, WScript, Office]
H --> Q{AMSI tampered?}
Q -->|"Patch AmsiScanBuffer"| C[Force AMSI_RESULT_CLEAN]
Q -->|"Set amsiInitFailed = true"| C
Q -->|"No"| AV[AV/EDR scans deobfuscated buffer]
AV -->|Malicious| B[Blocked + alert]
AV -->|Clean| X[Execute]
C --> X[Payload executes unscanned]● 例
- 01
AmsiScanBuffer の先頭バイトをメモリ上で書き換え、常に AMSI_RESULT_CLEAN を返させる。
- 02
[Ref].Assembly.GetType('System.Management.Automation.AmsiUtils').GetField('amsiInitFailed','NonPublic,Static').SetValue($null,$true)。
● よくある質問
AMSI バイパス とは何ですか?
Windows の AMSI(アンチマルウェアスキャンインターフェイス)を無効化・パッチ・回避し、スクリプトやインメモリ・ペイロードがウイルス対策にスキャンされないようにする一連の手法。 サイバーセキュリティの 攻撃と脅威 カテゴリに属します。
AMSI バイパス とはどういう意味ですか?
Windows の AMSI(アンチマルウェアスキャンインターフェイス)を無効化・パッチ・回避し、スクリプトやインメモリ・ペイロードがウイルス対策にスキャンされないようにする一連の手法。
AMSI バイパス からどのように防御しますか?
AMSI バイパス に対する防御は通常、上記の定義で述べたとおり、技術的統制と運用上の実践を組み合わせます。
AMSI バイパス の別名は何ですか?
一般的な別名: AMSI 回避。