wakatonoの戯れメモ

はてなダイアリーから引っ越してきました。

Windows ServerとSMB ServerとWindows ClientとSMB Clientと(あーまぎらわし!)

月刊マイクロソフトで修正されたCVE2020-0796のWorkaroundに関連した情報が、油断するとわからなくなる書き方になっている*1ので、覚書。
記事自体は後述するが、別にこの記事が悪いというわけではなく、用語自体をきちんと押さえておかないと、一気に混乱する恐れがある、というだけ。

SMBv3 ServerとSMB Client

SMBv3 Serverと書かれているが、別にこれはWindows Serverでしか稼働していないというわけではない。Windows 10などのClient系Windows OSでも普通に動作している「Server」サービスに実装されているのが、SMBv3 Serverだ。

同じようにSMB Clientも、Windows Clientでしか稼働していないというわけではない。「Workstation」サービスに実装されているのがSMB Clientである。

SMBv3 ServerとSMB Clientという用語が出てきたら、Windows ServerとWindows Clientの両方が影響する、と思って情報を読み解こう。

CVE-2020-0796のあぶねえところ

CVE-2020-0796のあぶねえところは、リモートコード実行につながるという1点であり、「とっとと修正あてろ」というところなのだけど、これを放っておくとそのうち感染を拡大していくWannaCryのようなのが出てくるかも、というのが嫌なところ。それも、SMBv3(のうち、SMB 3.1.1)という(これまた)Windows使ってりゃ避けられないプロトコル(ただし、実装しているのは一部のWindows)の実装にあるのだから、さらに嫌。ただ、新しい機能であるSMBv3 Compressionの実装で出てる脆弱性なので、影響範囲はわりかし限定的。Windows Server, version 1903 (Server Core installation) 、Windows Server, version 1909 (Server Core installation) 、Windows 10 Version 1903(32bit, x64, ARM)、Windows 10 Version 1909(32bit, x64, ARM)だけ*2

これをうまく悪用されると、勝手に拡大感染して、感染先で好き放題やって、さらに感染を広げるというめちゃくちゃ嫌なものの悪夢が再現する、というのが最低のシナリオである。

Workaroundはレジストリ編集(ただしSMBv3 Serverのみ)

修正ファイルを適用出来ない人に対しては、レジスト編集を行うことで適用可能なWorkaroundがあるが、これはSMBv3 Serverのみである。SMB Clientにはこの方法は使えない*3

で、先述のとおり、SMBv3 ServerとSMB Clientという用語は、Windows ServerとかClient系Windows OSとかいうのを区別するものではなく、単純にWindows上の機能を区分するものでしかないので、Workaroundを適用する人は、Windows ServerであろうとClient系Windows OSであろうと該当するものには適用しておこう。

SMB ClientはWorkaroundないけど大丈夫なのか?

大丈夫とは言えないけど、対策されていないSMBv3 Serverほどにはリスクは高くない、という感じ。

脆弱性の説明を読むとわかるけど、脆弱なSMB Clientを落とすには、悪意あるSMBv3 Serverを用意して誘い込む(接続させる)必要があるため、まず手間がかかる。

SMBv3 Serverの場合は、口が空いてれば悪意あるパケットをぶちこまれる懸念があるので、Workaroundを適用するか脆弱性修正を行うか、という話になってくる。

参考情報

*1:オレだけかもしれないけどw

*2:もっとも、今オレが使ってるのは、Windows 10 Version 1909なんだけどw

*3:正確には、使えるという言及がない