アカウント名:
パスワード:
どういうことですかね?bash -c "echo foo" みたいな話?
PowerShellというより.NETの機能として、メモリ上の.NETモジュールのバイナリをロードできるので、それのことかな。
本体のマルウェアをネットワークからダウンロードしてメモリ上に展開し、.NETランタイムにロードすることで、ディスクに書き込まずに悪意あるプログラムを実行できる。PowerShellは.NETランタイムで動作しているので、読み込まれたモジュールを直接呼び出せる。
リンクされているMcFeeのホワイトペーパーによれば、「検知にファイルベースのアプローチをするほとんどのセキュリティソリューションは動作監視をしていたとしてもファイルレス攻撃を検知できない」とある。
これ System.Reflection.Assembly.LoadModule() [microsoft.com] ですね。.NETではバイト配列からアセンブリを読み込めるんですね。
とはいえ、本体のダウンロード、読み込みを行うPowerShellスクリプトは必要になるので、検出するのはさほど難しくない気はしますが。PowerShellは難読化しやすいとも書いてあるけど、うーん、どうかな。
マルウェアかどうか判定するのは簡単かな?すべて公開APIで可能な処理だし、「外部URLからダウンロードしたアセンブリを読み込むプログラム」というだけでマルウェア扱いはできない気がする。ダウンロード先のURLで判断するくらいだが、URLなんていくらでもばらけさせられるし、white paperにはこれを複数段階かませてるって書いてあるし、結構手ごわいのでは。
>ダウンロード先のURLで判断するくらいだがホワイトリストで対応するしかないでしょうね。開発者くらいでしょう、リストに追加する必要が生じるのは。
.NETの機能に限らず、対話的にスクリプトを実行できる機能が提供されていれば、ダウンロードしたデータがテキストかバイナリかの違いはあれど、実現はできそうなきがする(Windows上で高機能な環境としてPowershellが選ばれているってだけで)
# 昔、話題になった遠隔操作と何が違うのだろう?
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
アレゲはアレゲ以上のなにものでもなさげ -- アレゲ研究家
メモリ上にダウンロードしたコードを直接実行 (スコア:0)
どういうことですかね?
bash -c "echo foo" みたいな話?
Re:メモリ上にダウンロードしたコードを直接実行 (スコア:1)
PowerShellというより.NETの機能として、メモリ上の.NETモジュールのバイナリをロードできるので、それのことかな。
本体のマルウェアをネットワークからダウンロードしてメモリ上に展開し、.NETランタイムにロードすることで、
ディスクに書き込まずに悪意あるプログラムを実行できる。
PowerShellは.NETランタイムで動作しているので、読み込まれたモジュールを直接呼び出せる。
リンクされているMcFeeのホワイトペーパーによれば、
「検知にファイルベースのアプローチをするほとんどのセキュリティソリューションは動作監視をしていたとしてもファイルレス攻撃を検知できない」
とある。
Re:メモリ上にダウンロードしたコードを直接実行 (スコア:1)
これ System.Reflection.Assembly.LoadModule() [microsoft.com] ですね。.NETではバイト配列からアセンブリを読み込めるんですね。
とはいえ、本体のダウンロード、読み込みを行うPowerShellスクリプトは必要になるので、検出するのはさほど難しくない気はしますが。
PowerShellは難読化しやすいとも書いてあるけど、うーん、どうかな。
Re: (スコア:0)
マルウェアかどうか判定するのは簡単かな?
すべて公開APIで可能な処理だし、「外部URLからダウンロードしたアセンブリを読み込むプログラム」というだけでマルウェア扱いはできない気がする。
ダウンロード先のURLで判断するくらいだが、URLなんていくらでもばらけさせられるし、
white paperにはこれを複数段階かませてるって書いてあるし、結構手ごわいのでは。
Re: (スコア:0)
>ダウンロード先のURLで判断するくらいだが
ホワイトリストで対応するしかないでしょうね。
開発者くらいでしょう、リストに追加する必要が生じるのは。
Re: (スコア:0)
.NETの機能に限らず、対話的にスクリプトを実行できる機能が提供されていれば、
ダウンロードしたデータがテキストかバイナリかの違いはあれど、
実現はできそうなきがする(Windows上で高機能な環境として
Powershellが選ばれているってだけで)
# 昔、話題になった遠隔操作と何が違うのだろう?