Skip to content

Latest commit

 

History

History
198 lines (150 loc) · 21.4 KB

README.ja.md

File metadata and controls

198 lines (150 loc) · 21.4 KB

Windows の圧縮展開ソフトウェアの Mark of the Web (MOTW) 伝播のサポートに関する比較

English | Japanese

背景

2022年3月3日にマイクロソフト社は Windows 上の Office アプリケーションについて、インターネットからダウンロードされたファイル(メールの添付ファイルなど)のマクロをブロックするようにデフォルトの動作を変更することを発表しました

発表内容の抜粋:

VBA マクロは、悪意のあるアクターがマルウェアやランサムウェアをデプロイするためのアクセス権を取得する一般的な方法です。 そのため、Office のセキュリティを向上させるために、Office アプリケーションの既定の動作を変更して、インターネットからファイル内のマクロをブロックしています。

...

この変更は、Windows を実行しているデバイスの Office にのみ影響し、Access、Excel、PowerPoint、Visio、Word の各アプリケーションにのみ影響します。

この変更は、2022年4月初旬の Current Channel (プレビュー) 以降、バージョン2203でロールアウトを開始します。 その後、この変更は、最新チャネルや月次エンタープライズ チャネルなどの他の更新チャネルで利用できるようになります。

これは悪意のある Office ドキュメントに対する防御の素晴らしい改善です。

この発表によると、マクロをブロックするかどうかはファイルの MOTW (Mark of the Web) 属性に基づきます。ウェブブラウザやメールクライアントなどのアプリケーションはインターネットからダウンロードしたファイルやメールの添付ファイルに MOTW を付けます。MOTW は NTFS 代替データストリームの Zone.Identifier に保存されます。

圧縮ファイルから展開された悪意のある Office ドキュメントのマクロをブロックするためには、圧縮展開ソフトウェアは圧縮ファイルに MOTW が付いている場合に展開したファイルにも MOTW を伝播させる必要があります。もし圧縮展開ソフトウェアが MOTW を伝播しなければ圧縮ファイル中の悪意のある Office ドキュメントはブロックを回避することができてしまいます。

ここで一つの疑問が思い浮かびました。「どの圧縮展開ソフトウェアが展開したファイルに MOTW を伝播させるんだろう?」 そこで私はいくつかの圧縮展開ソフトウェアをテストしてその結果をまとめました。

MOTW 伝播のサポートの比較表 (2024年8月12日時点)

名称 テストしたバージョン ライセンス MOTWの伝播 デフォルトで有効 備考
Windowsのエクスプローラの「すべて展開」 Windows 11 23H2
Windows 10 22H2
有償 する ✔️ 有効 ✔️ MOTW バイパスの脆弱性(修正済) *1
7-Zip 24.08 GNU LGPL する ✔️ 無効 ❌ *2
Bandizip Standard Edition 7.36 フリーウェア する ✔️ 有効 ✔️ MOTW バイパスの脆弱性(修正済) *3
特定のファイル拡張子のみ *4
CubeICE 3.4.0 フリーウェア(有償版もあり) する ✔️ 有効 ✔️ MOTW バイパスの脆弱性(修正済) *5
Explzh 9.48 商用利用は有償 する ✔️ 有効 ✔️
NanaZip 3.0.1000.0 MIT する ✔️ 無効 ❌ *6
PeaZip 9.9.0 GNU LGPL する ✔️ 有効 ✔️
TC4Shell 21.3.0 (試用版) 有償 する ✔️ 有効 ✔️
Total Commander 11.03 (試用版) 有償 する ✔️ 有効 ✔️
WinRAR 7.01 (試用版) 有償 する ✔️ 有効 ✔️ デフォルトは特定のファイル拡張子のみ *7
WinZip 76.8 (試用版) 有償 する ✔️ 有効 ✔️
Ashampoo ZIP Free 1.0.7 フリーウェア (登録が必要) しない ❌
CAM UnZip 5.22.6.0 商用利用は有償 しない ❌
PowerShell の Expand-Archive コマンドレット 7.4.4 MIT しない ❌
Express Zip 11.13 商用利用は有償 しない ❌
IZArc 4.5 フリーウェア しない ❌
LhaForge 1.6.7 MIT しない ❌
Lhaplus 1.74 フリーウェア しない ❌
PowerArchiver 22.00.09 (試用版) 有償 しない ❌
StuffIt Expander 15.0.8 フリーウェア しない ❌
Windows 11の tar.exe (bsdtar) 3.7.2 BSD 2-clause しない ❌
Universal Extractor 2 2.0.0 RC 3 GNU GPLv2 しない ❌
ZipGenious 6.3.2.3116 フリーウェア しない ❌
Zipware 1.6 フリーウェア しない ❌
ファイルコンパクト 7.02 有償 しない ❌

*1: Windows には2つの MOTW バイパスの脆弱性があり、2022年11月8日にリリースされたセキュリティ更新プログラムで修正されました。

*2: 7-Zip はバージョン 22.00 から MOTW の伝播をサポートしましたが、デフォルトで無効になっています。7-Zip の GUI については 7-Zip File Manager の「ツール」→「オプション」→「7-Zip」にある「Zone.Id ストリームの伝達:」で MOTW の伝播を有効にできます。

images/7-zip-setting.png

オプションを「はい(Y)」に設定した場合は MOTW が全ての展開されたファイルに伝播されます。「Office ファイルの場合」に設定した場合は以下のファイル拡張子のファイルに MOTW が伝播されます:

  • .doc .docb .docm .docx .dot .dotm .dotx .wbk .wll .wwl
  • .pot .potm .potx .ppa .ppam .pps .ppsm .ppsx .ppt .pptm .pptx .sldm .sldx
  • .xla .xlam .xlm .xls .xlsb .xlsm .xlsx .xlt .xltm .xltx

MOTW の伝播はレジストリの HKEY_CURRENT_USER\SOFTWARE\7-Zip\Options\WriteZoneIdExtract に 1 の DWORD 値を設定することでも有効にできます。

7-Zip の CLI については、上記のオプションの設定に関係なく -snz のコマンドラインオプションが必要です。

*3: Bandizip には MOTW バイパスの脆弱性があり、2022年11月21日にリリースされた Bandizip 7.29 で修正されました。(リリースノート). この脆弱性は Windows の CVE-2022-41049 の脆弱性 (*1) とほとんど同じで、ZIP ファイル内の圧縮されたファイルに読み取り専用の属性を付けるだけで脆弱性を突くことができます。私はこの脆弱性を発見して Bandizip の開発元の Bandisoft に報告しました。Bandisoft は非常に迅速に脆弱性を修正してくれました。

*4: Bandizip のドキュメントによると、Bandizip は以下のファイル拡張子のファイルに MOTW を伝播します:

  • .exe .com .msi .scr .bat .cmd .pif .bat .lnk
  • .zip .zipx .rar .7z .alz .egg .cab .bh
  • .iso .img .isz .udf .wim .bin .i00
  • .js .jse .vbs .vbe .wsf
  • .url .reg
  • .docx .doc .xls .xlsx .ppt .pptx .wiz

私は以前にテキストファイルのみを含む ZIP ファイルで Bandizip をテストしていたため、Bandizip が MOTW を伝播しないと誤解していました。

*5: CubeICE はバージョン3.0.0から MOTW の伝播をサポートしていますが MOTW バイパスの脆弱性がありました。この脆弱性は2023年4月5日にリリースされたバージョン3.0.1で修正されました(リリースノート)。この脆弱性は Windows の CVE-2022-41049 の脆弱性 (*1) とほとんど同じで、ZIP ファイル内の圧縮されたファイルに読み取り専用の属性を付けるだけで脆弱性を突くことができます。私はこの脆弱性を発見して CubeICE の開発元の CubeSoft に報告しました。CubeSoft は非常に迅速に脆弱性を修正してくれました。

*6: NanaZip はバージョン 2.0 Preview 1 から MOTW の伝播をサポートしていますが、デフォルトで無効になっています。NanaZip の GUI の「ツール」→「オプション」→「Integration」にある「Zone.Id ストリームの伝達:」で MOTW の伝播を有効にできます。

このオプションを「Yes」に設定した場合は、NanaZip は全ての展開したファイルに MOTW を伝播します。「Office ファイルの場合」に設定した場合は、NanaZip は以下のファイル拡張子のファイルに MOTW を伝播します:

  • .doc .docb .docm .docx .dot .dotm .dotx .wbk .wll .wwl
  • .pot .potm .potx .ppa .ppam .pps .ppsm .ppsx .ppt .pptm .pptx .sldm .sldx
  • .xla .xlam .xlm .xls .xlsb .xlsm .xlsx .xlt .xltm .xltx

*7: WinRAR 7.0で"Mark of the Webを伝播"のオプションが導入されました。以下の値から選択できます:

  • 削除しない(「伝播しない」の誤り?、英語版では"Never")
  • Officeファイル用
  • 実行ファイルとOfficeファイル用
  • 全ファイル用
  • ユーザー定義された種類用

このオプションはWinRARのGUIでのみサポートされています。WinRARのCLIはオプションの設定に関係なくMOTWの伝播をしません。

images/winrar-setting.png

デフォルトは「実行ファイルとOfficeファイル用」で、WinRARは以下のファイル拡張子のファイルにMOTWを伝播します:

  • .exe .bat .cmd .hta .lnk .msi .pif .ps1 .scr .vbs
  • .doc .docb .docm .docx .dot .dotm .dotx .wbk
  • .ppa .ppam .pot .potm .potx .pps .ppsm .ppsx .ppt .pptm .pptx .sldm .sldx
  • .xls .xlsb .xlsm .xlsx .xlm .xlt .xltm .xltx

「Officeファイル用」に設定すると、WinRARは以下のファイル拡張子のファイルにMOTWを伝播します:

  • .doc .docb .docm .docx .dot .dotm .dotx .wbk
  • .ppa .ppam .pot .potm .potx .pps .ppsm .ppsx .ppt .pptm .pptx .sldm .sldx
  • .xls .xlsb .xlsm .xlsx .xlm .xlt .xltm .xltx

「ユーザー定義された種類用」に設定するとファイル拡張子を指定できます。

MOTW 伝播の動作の比較表 (2024年8月12日時点)

名称 テストしたバージョン MOTW 伝播の動作
Windowsのエクスプローラの「すべて展開」 Windows 11 23H2
Windows 10 22H2
  • MOTW は ZoneId の値が 3 (インターネット) または 4 (信頼されていないサイト) の場合にのみ伝播されます。
  • 圧縮ファイルの ZoneId のフィールドが引き継がれます。
  • 圧縮ファイルの絶対パスが ReferrerUrl のフィールドに設定されます。
  • 他のフィールドは全て無視されます。
7-Zip 24.08
  • 圧縮ファイルの MOTW はそのまま伝播されます。
  • 「Zone.Id ストリームの伝達:」の設定を「Office ファイルの場合」に設定した場合は特定のファイル拡張子のファイルにのみ伝播されます。 *2
Bandizip Standard Edition 7.36
  • 圧縮ファイルの MOTW はそのまま伝播されます。
  • 特定のファイル拡張子のファイルにのみ伝播されます。 *4
CubeICE 3.4.0
  • MOTW は ZoneId の値が 3 (インターネット) または 4 (信頼されていないサイト) の場合にのみ伝播されます。
  • ZoneId のフィールドのみが引き継がれて他のフィールドは全て無視されます。
Explzh 9.48
  • MOTW は ZoneId の値が 3 (インターネット) の場合にのみ伝播されます。
  • ZoneId のフィールドのみが引き継がれて他のフィールドは全て無視されます。
NanaZip 3.0.1000.0
  • 圧縮ファイルの MOTW はそのまま伝播されます。
  • 「Zone.Id ストリームの伝達:」の設定を「Office ファイルの場合」に設定した場合は特定のファイル拡張子のファイルにのみ伝播されます。 *6
PeaZip 9.9.0
  • 圧縮ファイルの MOTW はそのまま伝播されます。
TC4Shell 21.3.0 (試用版)
  • ZoneId のフィールドのみが引き継がれて他のフィールドは全て無視されます。
Total Commander 11.03 (試用版)
  • ReferrerUrl のフィールドを除いて圧縮ファイルの MOTW はそのまま伝播されます。
WinRAR 7.01 (試用版)
  • ZoneId のフィールドのみが引き継がれて他のフィールドは全て無視されます。
  • 特定のファイル拡張子のファイルにのみ伝播されます。 *7
WinZip 76.8 (試用版)
  • MOTW は ZoneId の値が 3 (インターネット)の場合にのみ伝播されます。
  • 圧縮ファイルの ZoneId のフィールドが引き継がれます。
  • 圧縮ファイルの絶対パスが ReferrerUrl のフィールドに設定されます。
  • 他のフィールドは全て無視されます。

MOTW 伝播の例

これらの例では、MOTW が Set-MOTW.ps1 で motw-test.zip の ZIP ファイルに手動でセットされ、続いて展開されたファイルの MOTW が Get-MOTW.ps1 で表示されています。Set-MOTW.ps1 と Get-MOTW.ps1 は私の PS-MOTW のリポジトリで公開しています。

  • Windows のエクスプローラまたは WinZip (バージョン28.0を除く) で展開されたファイルの MOTW: images/explorer.png

  • 7-Zip、Bandizip、NanaZip、または PeaZip で展開されたファイルの MOTW: images/bandizip.png

  • CubeICE, Explzh、TC4Shell、または WinRAR で展開されたファイルの MOTW: images/explzh.png

  • Total Commander で展開されたファイルの MOTW: images/total-commander.png

FAQ

  • MOTW (Mark of the Web) とは何ですか?

    以下のブログ記事をご覧ください:

    これらは MOTW について理解するのにとても役立ちます。

  • 私のお気に入りの圧縮展開ソフトウェアが載っていません。

    あなたのテスト結果を Issues または Pull requests で提供してください。私は日本人ですので比較表にはあなたがご存じないかもしれない日本の圧縮展開ソフトウェアがいくつか載っています。

  • どうすれば私のお気に入りの圧縮展開ソフトウェアをテストできますか?

    Details about the Mark-of-the-Web (MOTW) をご覧ください。こちらでは Windows のエクスプローラと 7-Zip の動作を比較しています。あなたのお気に入りの圧縮展開ソフトウェアも同様にテストできます。

    私は PS-MOTW という手動で MOTW を設定、表示、削除できる PowerShell スクリプトを作りました。これを圧縮展開ソフトウェアのテストに使うことができます。

  • 情報が誤っているまたは古いです。

    詳細について Issues でご提供いただくか Pull requests で修正案をご提供ください。

  • ディスクイメージファイル (.iso ファイルや .vhd ファイル等) 中の悪意のある Office ドキュメントはブロックを回避できますか?

    はい。もしディスクイメージファイルが NTFS 代替データストリームをサポートしていない場合は、MOTW はディスクイメージファイル中のファイルには付けられません。以下を参照してください:

    2022年4月11日更新:
    Didier Stevens 氏 (@DidierStevens) の .ISO Files With Office Maldocs & Protected View in Office 2019 and 2021 のブログ記事によると、Office 2019 と 2021 は MOTW が付いている ISO ファイル内に保存された Office ドキュメントを保護されたビューで開くそうです。この動作は2021年8月に導入されたとのことです。

    2022年11月30日更新:
    Bill Demirkapi 氏 (@BillDemirkapi) のツイートによると、マイクロソフト社は2022年11月8日にリリースされたセキュリティ更新プログラムでISOやVHD等のディスクイメージファイルの MOTW の取り扱いを修正しました。アプリケーションがインターネットからダウンロードしたディスクイメージファイル内のファイルを開く際はそのディスクイメージファイルの MOTW が適用されるようになります。

参考資料

作者

萬谷 暢崇 (@nmantani)