Windows のランサムウェア対策SMBv1
春に猛威を奮ったランサムウェアのWannaCryですが、新たなランサムウェアが拡大しているとのニュースがありました。
そもそもこのランサムウェアは感染するとピクチャから始まり、ドキュメントなどユーザが作成したファイルを根こそぎ暗号化してしまい、解除するにはお金を払えという凶暴なウイルスです。
実はこのウイルス自体は数年前からあって、当初はまともなページの広告などから広告の内容でユーザを騙してクリックさせて感染させる手法でしたが、やがていかにもな感じのメールの題名の添付ファイルで感染させる手法に変わってきました。
暗号化した後のお金の請求もtorという匿名暗号化通信を使用させてビットコインで払わせる手法は変わりないのですが、当初はビットコイン自体メジャーでなかったためあまり儲からなかったかもしれません。
WannaCryと言ってもいくつかのウイルスの組み合わせになっていて、侵入するための攻撃をして穴を開ける部分と、空けた穴からプログラムを仕込む部分と、ウイルス本体を実行する部分とに役割が別れています。
話題になったWannaCryは、ウイルス本体の内容自体は昔とあまり変わっていません。
何が変わったかというと、感染経路がサイトやメールではなく、Windowsの欠陥を突いて、ネットワークに繋がっているだけで感染させることが出来てしまったということです。
なので、1台感染すると、社内や宅内の同じネットワークの別のPCも感染してしまうので、今までピンポイントで感染だったのが、一網打尽にやられてしまうこととなったのです。
また同じ手法を使えば、暗号化ウイルス以外のどんなウイルスも同じ手法で送り込むことができてしまい、この手法の攻撃ツールはネット上に公開されています。
新たに拡大中のウイルスはどんなウイルスか
どうやら攻撃の手法自体は同じようです。
ただ、初めの1台目を感染させるための手法がいくつかあるようです。
ウイルス本体も進化していて、ユーザのファイルを暗号化した上で、HDD全体をさらに暗号化するという徹底ぶりです。
おそらく、2重の暗号化によりWannaCry対策として最近色々と出てきた対策ソフトも役に立たない可能性があります。
対策は
とにかく個々のPC全てに必要です。
マイクロソフトの修正プログラムで全てのPCの欠陥を修正する必要があります。
社内ファイヤーウォールなどは役に立ちません。
WindowsUpdateを自動更新していれば対策されているはずです。
サポートが終了したWindows XP とWindows Vista にも特別に修正プログラムが用意されています。
ただし、自動更新はされないので、全て手動でダウンロードしてインストールする必要があります。
Windows XPの修正プログラムの準備
大前提ですが、WindowsUpdateで最新のSP3で全ての更新プログラムが適用されている必要があります。
Windows XP Service Pack 3 (KB936929)の直リンク
すでにWindows Updateは繋がらなくなっているので、Microsoft Updateから最新の状態に更新しておきましょう。
以前にMicrosoft Updateを使ったことがあれば、スタートメニューにMicrosoft Updateがあると思います。
なければ、http://www.update.microsoft.com/microsoftupdate/v6/default.aspx?ln=ja からインストール設定をして利用できるようにします。
Windows XPの手動インストール特別修正プログラムのダウンロード先
これが先の問題の修正プログラムです。
Windows XP Service Pack 3 用セキュリティ更新プログラム (KB4012583)
http://download.windowsupdate.com/c/csa/csa/secu/2017/02/windowsxp-kb4012583-x86-custom-jpn_b6a52e4834e2918a02692adce41cc662eb4f9c0b.exe
それ以降もいくつかの修正プログラムがありますので、全てインストールしてインストールしておきましょう。
2017/06/10
Windows XP SP3 用セキュリティ更新プログラム (KB4024402)
http://download.windowsupdate.com/c/csa/csa/secu/2017/06/windowsxp-kb4024402-x86-custom-jpn_58b1e58de6dbad747e4a5f36547b76b7d8ea8e89.exe
Windows XP SP3 用セキュリティ更新プログラム (KB4024323)
http://download.windowsupdate.com/d/csa/csa/secu/2017/06/windowsxp-kb4024323-x86-custom-jpn_e59850700ee1966d9f8e42b97c9334f32abcc556.exe
Windows XP SP3 用セキュリティ更新プログラム (KB4022747)
http://download.windowsupdate.com/c/csa/csa/secu/2017/05/windowsxp-kb4022747-x86-custom-jpn_b318193ec0866ba8b2ca080661bee5c513e84f8d.exe
Windows XP SP3 用セキュリティ更新プログラム (KB4019204)
http://download.windowsupdate.com/c/csa/csa/secu/2017/05/windowsxp-kb4019204-x86-custom-jpn_4ba403a7833984a7f6754bfba3c1819498af2478.exe
Windows XP SP3 用セキュリティ更新プログラム (KB4018466)
http://download.windowsupdate.com/c/csa/csa/secu/2017/04/windowsxp-kb4018466-x86-custom-jpn_24d9c84352825214bca94cb7454bc4a8f1b84f46.exe
Windows XP SP3 用 Internet Explorer 8 の累積的なセキュリティ更新プログラム (KB4018271)
http://download.windowsupdate.com/c/csa/csa/secu/2017/04/ie8-windowsxp-kb4018271-x86-custom-jpn_ced763429026b6e48200e679d587c25b821df5ce.exe
2017/06/12
Windows XP SP3 用セキュリティ更新プログラム (KB4025218)
http://download.windowsupdate.com/c/csa/csa/secu/2017/06/windowsxp-kb4025218-x86-custom-jpn_440de1db549895d3ea40d8aabdafb79d11ac3e5e.exe
Windows Vistaの手動インストール特別修正プログラムのダウンロード先
Vistaの場合は64ビットと32ビットのOSがあるので、それぞれ別に提供されています。
64ビットのVistaの場合
Windows Vista for x64-Based Systems 用セキュリティ更新プログラム (KB4012598)
最終変更日時: 2017/03/12
http://download.windowsupdate.com/d/msdownload/update/software/secu/2017/02/windows6.0-kb4012598-x64_6a186ba2b2b98b2144b50f88baf33a5fa53b5d76.msu
32ビットのVistaの場合
Windows Vista 用セキュリティ更新プログラム (KB4012598)
最終変更日時: 2017/03/12
http://download.windowsupdate.com/d/msdownload/update/software/secu/2017/02/windows6.0-kb4012598-x86_13e9b3d77ba5599764c296075a796c16a85c745c.msu
Windows Vista Windows 7の場合のSMBv1無効設定
そもそも今回の欠陥は何かと言うと、Microsoftが開発したローカルネットワーク上でファイルやプリンタの共有をする時に使われる通信規格のsmbの欠陥です。
この通信規格もOSと一緒に機能拡張されてバージョンアップしてますが、問題のsmb v1というXPが最後のバージョンです。
(Win98やLinux等で動いているファイルサーバ等では厳密に言うと違うのですが、CIFSとも言われています)
上位互換で現在のWindows10でも利用できますが、実際にはsmb v1しか無い古いファイルサーバやプリントサーバ等に接続していない限り使われていません。
Vista以降であればsmb v2が使えますので、v1は必要ない可能性が高いです。
マイクロソフト推奨のsmb v1を無効にする方法
要はv1を捨ててv2を使いましょうということです。
レジストリの登録で無効にします。
管理者のコマンドプロンプトで下記コマンドを実行します。
C:\Windows\system32>reg add HKLM\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters /v SMB1 /t REG_DWORD /d 0 /f
古い機器を使っていて有効に戻したい場合
C:\Windows\system32>reg add HKLM\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters /v SMB1 /t REG_DWORD /d 1 /f
今の設定を確認
C:\Windows\system32>reg query HKLM\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters /v SMB1
ここで出力された内容が
SMB1 REG_DWORD 0x0 だったら無効。
SMB1 REG_DWORD 0x1 だったら有効。
指定されたレジストリ キーまたは値が見つかりませんでした だったら何も設定されていないので有効
最後に念の為再起動しておきましょう。
Windows Server 2008 R2等もこの方法でOKです。
Windows10 Windows8/8.1のSMBv1を無効設定
こちらは管理者権限のPowerShellを使います。
スタートメニューからPowerShellを探して、右クリックして管理者で開き、下記コマンドを実行しsmb v1を無効にします。
PS C:\Windows\system32>Set-SmbServerConfiguration -EnableSMB1Protocol $false -force
有効に戻したい場合は
PS C:\Windows\system32>Set-SmbServerConfiguration -EnableSMB1Protocol $true -force
現在の状態を確認したい場合は
PS C:\Windows\system32>Get-SmbServerConfiguration | Select EnableSMB1Protocol
Falesと出れば無効でTrueと出れば有効になっています。
最後に念の為再起動しておきましょう。
Windows Server 2012 もこの方法でOKです。
Windows以外のOSでも感染するのか
ウイルス自体は全てWindows用なので基本的には感染しません。
ただし、LinuxでもMacでもwineというWindowsのプログラムを実行できる環境をインストールしていると、wine上からLinux上のファイルを片っ端から暗号化されてしまいます。(実験により確認済み)
またウイルス本体は感染しないとしても、本体を感染させるための何かを仕込まれる可能性はありますので、ルータでもファイルサーバでもプリントサーバでも、あまり古い機器を使い続けるのはおすすめできません。
SMBのクライアント側の無効設定
今回問題になっているのはサーバー側の脆弱性で、こちらから他に接続しに行くクライアント側からの通信ではありません。
クライアント側からも無効にしておいて良いと思います。
管理者コマンドプロンプトで下記コマンドを実行します。
無効にする場合
C:\Windows\system32> sc config lanmanworkstation depend= bowser/mrxsmb20/nsi C:\Windows\system32> sc config mrxsmb10 start= disabled
有効に戻す場合
C:\Windows\system32> sc config lanmanworkstation depend= bowser/mrxsmb10/mrxsmb20/nsi C:\Windows\system32> sc config mrxsmb10 start= auto
SMBv2とSMBv3は同じスタックを共有しているので、有効無効どちらも同じになります。
設定が終わったら念の為再起動しておきます。
SMBv1の確認方法
コマンドプロンプトで下記コマンドを実行
> sc qc lanmanworkstation | findstr /c:Smb
MRxSmb10 があったらSMBv1が有効になっています。
MRxSmb20 MRxSmb30 はバージョン2と3なので大丈夫です。
lanmanworkstation とはファイル共有クライアントのサービスで、コンパネのサービスにあるWorkstationの項目です。