IE JScript脆弱性の対策についてのメモ


概要

JVNで2020年1月20日に公開された「JVNVU#90794960
Microsoft Internet Explorer の JScript スクリプトエンジンにおけるメモリ破損の脆弱性
」で紹介されている、影響の軽減策について調べたメモ

この脆弱性を突く攻撃が既に確認されたとMSが発表しており、JVNIPAでもステータスが 「緊急」 となっています。

そもそも

IE以外のブラウザ使用を考えなさいと米CISAも言っています。

ワークアラウンドと解説

そうは言ってもIE以外使えん、みたいな環境もあると思います。(主にエンタープライズ)
その場合は発表されている回避策を実施します。
64bitシステムについては、以下のコマンドを実行することが推奨されています。

takeown /f %windir%\system32\jscript.dll
cacls %windir%\system32\jscript.dll /E /P everyone:N

takeown /f %windir%\syswow64\jscript.dll
cacls %windir%\syswow64\jscript.dll everyone:N

これを実行することにより、すべてのユーザーがjscript.dllにアクセスできなくなります。

takeown

ファイルやフォルダの所有者を調べるためのコマンド
takeownコマンド自体が、何かを変更するわけではないです。

オプション 内容
/f ファイルやフォルダを指定

takeown /f %windir%\system32\jscript.dllで、jscript.dllの所有者を表示します。

cacls

ファイルのアクセス制御を変更するためのコマンド

オプション 内容
/E ACLを置き換えずにアクセス権を編集する
/P username:ACL usernameに指定したアクセス権を与える
/R username /Eオプションで与えたusernameに対するアクセス権を失効させる
アクセス権 意味
N なし
W 書き込み
R 読み取り
C 変更
F フルコントロール

cacls %windir%\system32\jscript.dll /E /P everyone:N で、jscript.dllに対するアクセス権を全員に対して「なし」に設定します。

パッチ適用時の注意

Windows Updateなどでパッチを適用する際、上で行った権限の変更をもとに戻す必要があります。
パッチを適用する前に、以下のコマンドを実行します。

cacls %windir%\system32\jscript.dll /E /R everyone
cacls %windir%\syswow64\jscript.dll /E /R everyone

2020/01/21現在、この脆弱性に対するセキュリティパッチは出ていません。
次回の月例パッチ(02/11)のタイミングで修正が入る見込みです。

補足

JVNには「Microsoft によると、IE11、IE10、IE9 は、本脆弱性の影響を受けない jscript9.dll をデフォルトで使用しています。」と書いてあります。
しかし、後方互換性のためにjscript.dllも残されています。
思わぬ攻撃スクリプト実行を防ぐためにも、回避策を実施しておくことを推奨します。

参考