Skip to main content

Zip Slip脆弱性チートシート

Zip Slip Vulnerability Cheat Sheet

2018年6月28日

0 分で読めます

Javaのローカル型推論とGitHubセキュリティのベストプラクティスに関する、前回までの2つのチートシートに続き、印刷して使える便利なチートシートシリーズを続けられることをうれしく思います。今回は、数千ものアプリケーションに影響を与えてきた、より具体的なセキュリティ脆弱性を取り上げます。今月のチートシートのテーマは、Zip Slip脆弱性です。2018年6月5日、著名なアーカイブ管理ライブラリやプロジェクトを対象に数か月にわたる調査を行った後、任意のファイルを上書きできる脆弱性をZip Slipと名付けて公開しました。この脆弱性は数十年にわたり何度も発生してきましたが、近年ではさまざまなエコシステムの主要なコードベースで、より広く見られるようになっています。

Zip Slipは、アーカイブからファイルを展開することで悪用される可能性のある、ディレクトリトラバーサルの一種です。ディレクトリトラバーサル脆弱性では、攻撃者が本来アクセスできないはずの対象フォルダ外のファイルシステムにアクセスできてしまいます。攻撃者は実行可能ファイルを上書きし、それをリモートから実行するか、システムやユーザーが実行するのを待つことで、被害者のマシン上でリモートコマンド実行を実現できます。また、設定ファイルやその他の機密リソースを上書きして被害を与える可能性もあり、クライアント(ユーザー)のマシンとサーバーの両方で悪用されるおそれがあります。

この脆弱性を悪用する例は、以下の短い動画をご覧ください。機密ファイルが上書きされ、リモートコード実行につながる様子を紹介しています [embed]https://www.youtube.com/watch?v=l1MT5lr4p9o\[/embed\]Thisチートシートでは、Zip Slip脆弱性の影響を最も大きく受けた4つの主要なエコシステムを取り上げます。各エコシステムについて、脆弱なコードスニペットの例と、この問題を修正するための検証コードを紹介します。この脆弱性についてまとめた内容をここにすべて転載するより、調査結果とGitHubリポジトリを直接ご覧いただくのがよいでしょう。

Zip Slip Research page - Zip Slipの背景情報に加え、ディレクトリトラバーサル攻撃全般について説明しています。悪用可能なアプリケーションの処理フローの例や、脆弱性の有無を確認する方法を紹介します。また、調査対象となったすべてのエコシステムの脆弱なコードスニペットの例と、推奨する検証コードのサンプルも掲載しています。

Zip Slip Community repo - Zip Slipに脆弱なライブラリの最新状況を確認したり、脆弱なコードベースの追加や更新に協力したりするには、コミュニティのGitHubリポジトリでプルリクエストを送信してください。Snyk は、依存関係に含まれる既知の脆弱性の発見と修正を支援します。

無料で始めるには、Snykの無料アカウントに登録 して、アプリケーションにZip Slipやその他の既知の脆弱性がないかテストしましょう。

続きを読む

Blog

フロンティアモデルは脆弱性を発見した。攻撃者だけがエクスプロイトチェーンを見つけた。

静的解析で欠陥は見つかりましたが、ライブ攻撃テストで侵害につながる連鎖を実証できたのは唯一でした。Evo COS、Claude Security、Claude Code Securityを比較します。

feature insights context
Blog

自律型攻撃はすでに始まっている。防御もそのスピードに追いつかなければならない。

自律型攻撃者によって、防御に使える時間は短くなっています。継続的な検出、修復、検証、予防で、セキュリティチームが攻撃に歩調を合わせる方法をご紹介します。

Blog

脆弱性のバックログはもはや技術的負債ではなく、攻撃対象領域です

増え続ける脆弱性のバックログは、単なる技術的負債ではありません。攻撃対象領域そのものです。古いリスクの前提、攻撃の自動化、そして連鎖する検出結果によって、なぜ新たなアプローチが求められているのかを解説します。