トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS

・PowerShellの悪用 のバックアップソース(No.9)

#author("2020-02-08T15:35:14+09:00","","")
[[IPAセキュリティPT評価版]]

*戦術 [#f2437572]
-悪意あるプログラムの実行

*対象OS [#j89ff49e]
-Windows

*概説 [#raff5281]
Windowsの設定管理を行うスクリプト言語であるPowerShellを悪用し、悪意あるプログラム(マルウェア)を実行します。この手法は、多くの攻撃手法の中核となるもので、外部との通信(新たなプログラムのダウンロード)や端末情報や認証情報の窃取など、多種多様なコマンドの実行が考えられます。スクリプトは難読化されることが多く、侵入検知システムやアンチウイルスでの検知が困難な場合があり注意が必要です。~
DefaultではPowerShellの実行は無効に制限されていますが、実行が有効となっている端末では攻撃を受ける可能性が高く、慎重な運用が必要です。

*緩和の方針 [#cc0ff728]
-PowerShellを使用しない端末では、PowerShellスクリプトを無効(Default)にすることで、マルウェアによるPowerShellの悪用を防止できます。
-PowerShellが必要な端末、サーバーでは、署名付きPowerShellスクリプトのみ実行許可とし、文書化して定期的に監査を実施し、マルウェアの検出をするなどが有効です。
-PowerShellが有効とされた端末では、電子メールやWebサイトの閲覧の禁止や、PowerShellの悪用を防ぐ運用を検討します。

*運用やNetworkが変更された場合の影響の有無 [#ea5988f3]
-PowerShellの実行が有効とした端末では、メール添付のファイルの実行、Webサイトの閲覧などで、悪意あるプログラムの実行のリスクが高まります。

*優先すべき措置 [#e3c52f83]
-PowerShellスクリプトの実行可能端末・サーバーを限定し、その他はグループポリシーでPowerShellスクリプトの実行を禁止します。
-管理上、PowerShellを必要とするサーバー、端末のログの取得と監査を実施します。AppLockerによるスクリプト制御の併用も検討します。
-WinRMサービスを無効化/制限して、リモート実行でPowerShellが使用されないようにします。

*ユーザー運用管理責任 [#f6993622]
**リスクの受容 [#v060ce86]
PowerShellスクリプトの実行可能端末・サーバーは、設定されたセキュリティポリシーだけでなく、端末・サーバーのネットワーク構成、運用方法によって影響が異なるため、慎重なリスクの見極めが必要です。
-ドメインコントローラー、DHCPサーバー、開発用端末、管理用端末~
これらはシステム設定管理上、PowerShellは必須といえます。従って、署名やログ監査でのリスク低減を検討します。
-アプリケーションサーバー、ファイルサーバー、業務端末~
一般的にPowerShellを使用しないため、スクリプトの実行を禁止します。例外がある場合は、署名やログ監査でのリスク低減を検討します。~
~
|150|70|70|70|300|c
|CENTER:実行ポリシー|CENTER:署名付き|CENTER:署名なし ローカル|CENTER:署名なし 非ローカル|CENTER:概要|h
|Restricted|×|×|×|全てのスクリプトが実行禁止。PowerShellまたはWindows OSインストール直後のデフォルト設定(Windows Server 2012 R2を除く)|
|AllSigned|○|×|×|署名されているスクリプトのみが実行可能。署名されていないスクリプトは実行禁止|
|RemoteSigned|○|○|×|ローカルに保存されているスクリプトは実行可能。インターネットからダウンロードしたスクリプト(非ローカルのスクリプト)は、署名されているもののみが実行可能。Windows Server 2012 R2では、この設定がデフォルト|
|Unrestricted|○|○|△|全てのスクリプトが実行可能。ただしインターネットからダウンロードしたスクリプトは、実行するかどうかが確認されるので、ユーザーが明示的に許可した場合のみ実行される|
|Bypass|○|○|○|警告やユーザーへの確認なしに、全てのスクリプトが実行可能|
~
-atmarkIT WindowsでPowerShellスクリプトの実行セキュリティポリシーを変更する:https://www.atmarkit.co.jp/ait/articles/0805/16/news139.html

**啓発・教育 [#qa4fa30f]
該当なし。

**利用規定 [#r7cb1504]
管理上、PowerShellが必要な端末、サーバーの文書化及び監査規程。

*情報システム設計開発部門・運用部門(ベンダー代行を含む) [#w1a0780d]
**ポリシー [#ha094e85]
-[[PowerShellの制御設定]]

**モニタリング [#l68de27a]
-[[PowerShellの監査設定]]

**NWデザイン [#s139fb71]
該当なし。

***アクセスコントロール [#e45798e9]
-[Windows AppLocker] でコマンドの実行を制限する。※Windows 10 はEnterprise Editionが必要。
-[Windows Defender アプリケーション制御] でコマンドの実行を制限する。
--PowerShell Constrained Language Mode: https://devblogs.microsoft.com/powershell/powershell-constrained-language-mode/
-[グループポリシー ソフトウェアの制限のポリシー]で実行を制限する。※Windows 10(1803)以降は機能削除。
-[[WinRMのFirewall管理]]。


***フィルタリング [#s2ef1f8b]
該当なし。

***ロール運用 [#r8e931f9]
PowerShellスクリプトブロックのログの有効化。

***仮想端末運用 [#k53a311c]
該当なし。
***エンドポイント対策 [#y7f8d442]
アンチウイルソフト。~
侵入検知システムの導入。

**受託開発ベンダー管理責任 [#oac483c2]
***セキュアコーディング [#se219e91]
作成したPowerShellスクリプトへのタイムスタンプ付き署名の実施。~
実行運用環境に限定した実行ポリシーの適用(対象端末・サーバーはAllSigned、対象外はRestricted)。
***開発環境管理 [#ka04cf99]
ユーザー運用管理責任、情報システム設計開発部門・運用部門責任に準じる。 例外はすべて文書化し、適切な監査を実施する。
***サプライチェーン正常性維持" [#o5f84efe]
ユーザー運用管理責任、情報システム設計開発部門・運用部門責任に準じる。 例外はすべて文書化し、適切な監査を実施する。



~
~
----
#article