HTML5 Security & Headers- X-Crawling-Response-Header-



Similar documents
Apache Tomcatにおけるクロスサイトリクエストフォージェリ(CSRF)保護メカニズム回避の脆弱性

Microsoft Word - 20ガイドラインリーフレット案4ページ

CENTNET 導 入 の 手 引 き 変 更 履 歴 No. 変 更 日 変 更 番 号 変 更 枚 数 備 考 /07/ 版 発 行 - システムリプレースにより 全 面 刷 新 //07/ 版 発 行 3 誤 字 等 の 修 正 /

< 現 在 の 我 が 国 D&O 保 険 の 基 本 的 な 設 計 (イメージ)> < 一 般 的 な 補 償 の 範 囲 の 概 要 > 請 求 の 形 態 会 社 の 役 員 会 社 による 請 求 に 対 する 損 免 責 事 由 の 場 合 に 害 賠 償 請 求 は 補 償 されず(

2 出 願 資 格 審 査 前 記 1の 出 願 資 格 (5) 又 は(6) により 出 願 を 希 望 する 者 には, 出 願 に 先 立 ち 出 願 資 格 審 査 を 行 いますので, 次 の 書 類 を 以 下 の 期 間 に 岡 山 大 学 大 学 院 自 然 科 学 研 究 科 等

スライド 1

iStorage ソフトウェア VMware vSphere Web Client Plug-in インストールガイド

Microsoft PowerPoint - 報告書(概要).ppt

Microsoft Word - ML_ListManager_10j.doc

<4D F736F F D208DE3905F8D8291AC8B5A8CA48A948EAE89EF8ED0208BC696B18BA492CA8E64976C8F BD90AC E378C8E89FC92F994C5816A>

スライド 1

スライド 1

Microsoft Word - 目次.doc

第2回 制度設計専門会合 事務局提出資料

<4D F736F F F696E74202D CA A837D F815B90A E096BE8E9197BF88C4>

為 が 行 われるおそれがある 場 合 に 都 道 府 県 公 安 委 員 会 がその 指 定 暴 力 団 等 を 特 定 抗 争 指 定 暴 力 団 等 として 指 定 し その 所 属 する 指 定 暴 力 団 員 が 警 戒 区 域 内 において 暴 力 団 の 事 務 所 を 新 たに 設

一般競争入札について

調達パートナー CSR調査票

(Microsoft Word - \212\356\226{\225\373\220j _\217C\220\263\201j.doc)

「給与・年金の方」からの確定申告書作成編

研究者情報データベース

ができます 4. 対 象 取 引 の 範 囲 第 1 項 のポイント 付 与 の 具 体 的 な 条 件 対 象 取 引 自 体 の 条 件 は 各 加 盟 店 が 定 めます 5.ポイントサービスの 利 用 終 了 その 他 いかなる 理 由 によっても 付 与 されたポイントを 換 金 すること

<4D F736F F D2095CA8E A90DA91B18C9F93A289F1939A8F D8288B3816A5F E646F63>

治 験 実 施 管 理 システム NMGCP 向 け Excel 形 式 プロトコール 作 成 手 順 書 V4.0.3 対 応 版 第 1 版 株 式 会 社 富 士 通 アドバンストエンジニアリング All Rights Reserved,Copyright 株 式 会 社 富 士 通 アドバン

目 次 1. 積 算 内 訳 書 に 関 する 留 意 事 項 1 ページ 2. 積 算 内 訳 書 のダウンロード 3 ページ 3. 積 算 内 訳 書 の 作 成 (Excel 2003の 場 合 ) 6 ページ 4. 積 算 内 訳 書 の 作 成 (Excel 2007の 場 合 ) 13

<819A955D89BF92B28F BC690ED97AA8EBA81418FA48BC682CC8A8890AB89BB816A32322E786C7378>

<4D F736F F D E598BC68A8897CD82CC8DC490B68B7982D18E598BC68A8893AE82CC8A C98AD682B782E993C195CA915B C98AEE82C382AD936F985E96C68B9690C582CC93C197E1915B927582CC898492B75F8E96914F955D89BF8F915F2E646F6

大田市固定資産台帳整備業務(プロポーザル審査要項)

独立行政法人国立病院機構呉医療センター医療機器安全管理規程

Microsoft PowerPoint 迷惑メール対策カンファレンス_seko.pptx

Transcription:

Japan Computer Emergency Response Team Coordination Center 電子署名者 : Japan Computer Emergency Response Team Coordination Center DN : c=jp, st=tokyo, l=chiyoda-ku, email=office@jpcert.or.jp, o=japan Computer Emergency Response Team Coordination Center, cn=japan Computer Emergency Response Team Coordination Center 日付 : 2014.06.12 17:12:03 +09'00' HTML5 Security & Headers - X-Crawling-Response-Header- 一般社団法人JPCERTコーディネーションセンター 早期警戒グループ 情報セキュリティアナリスト 重森 友行

JPCERT/CCとは 一 般 社 団 法 人 JPCERTコーディネーションセンター (JPCERT/CC (ジェーピーサート コーディネーションセンター)) Japan Computer Emergency Response Team Coordination Center https://www.jpcert.or.jp/ サービス 対 象 : 日 本 国 内 のインターネット 利 用 者 やセキュリティ 管 理 担 当 者 ソフトウエア 製 品 開 発 者 等 ( 主 に 情 報 セキュリティ 担 当 者 ) コンピュータセキュリティインシデントへの 対 応 国 内 外 にセンサをおい たインターネット 定 点 観 測 ソフトウエアや 情 報 システム 制 御 システム 機 器 等 の 脆 弱 性 への 対 応 などを 通 じ セキュリティ 向 上 を 推 進 インシデント 対 応 をはじめとする 国 際 連 携 が 必 要 なオペレーションや 情 報 連 携 に 関 する 我 が 国 の 窓 口 となる CSIRT 各 国 に 同 様 の 窓 口 となる CSIRTが 存 在 する ( 例 えば 米 国 のUS-CERT 中 国 のCNCERT, 韓 国 のKrCERT/CC など) 経 済 産 業 省 からの 委 託 事 業 として コンピュータセキュリティ 早 期 警 戒 体 制 構 築 運 用 事 業 を 実 施 1

- JPCERT/CCをご存知ですか? - JPCERT/CCの活動 インシデント予防 インシデントの予測と捕捉 脆弱性情報ハンドリング 未公開の脆弱性関連情報を製品開発者 へ提供し 対応依頼 関係機関と連携し 国際的に情報公開日 を調整 セキュアなコーディング手法の普及 制御システムに関する脆弱性関連情報の 適切な流通 発生したインシデントへの対応 情報収集 分析 発信 インシデントハンドリング 定点観測 TSUBAME インシデント対応調整支援 ネットワークトラフィック情報の収集分 マルウエアの接続先等の攻撃関連サイト 析 等の閉鎖等による被害最小化 セキュリティ上の脅威情報の収集 分析 攻撃手法の分析支援による被害可能性 必要とする組織への提供 の確認 拡散抑止 ポートスキャン の上位 5 位を 表示 全セン サーのポートスキャン 合計 単位 時間 ポートスキャン の平均値 再発防止に向けた関係各関の情報交換 30 セン サー合計 及び情報共有 25 ICM Pは常に表示 o the rはその他合計 ICM P TCP 1 3 5 TCP 4 4 5 20 U DP 1 37 15 TCP 1 3 9 TCP 1 0 2 5 10 o th er 5 0 1 2 /9 1 2 /1 0 1 2 /1 1 1 2 /1 2 1 2 /1 3 1 2 /1 4 D a ta 早期警戒情報 重要インフラ 重要情報インフラ事業者等の特定組織向け情報発信 CSIRT構築支援 海外のNational-CSIRTや企業内のセキュリティ対応組織の構築 運用支援 アーティファクト分析 マルウエア 不正プログラム 等の攻撃手法の分析 解析 国際連携 各種業務を円滑に行うための海外関係機関との連携 2

HTML5とは 従 来 のHTMLに 代 わる 次 世 代 のHTML ブラウザでのデータ 格 納 クライアントとサーバ 間 での 双 方 向 通 信 位 置 情 報 の 取 得 など 従 来 のHTMLよりも 柔 軟 かつ 利 便 性 の 高 い Web サイトの 構 築 が 可 能 となる 日 本 を 含 むアジア 太 平 洋 地 域 においても 急 速 に 普 及 が 進 みつつある 最 近 のブラウザの 多 くは HTML5に 対 応 している( 一 部 実 装 されて いない 機 能 もある) 双 方 向 通 信 クロス ドメイン 通 信 高 速 化 UIの 向 上 オフライン アプリケー ション マルチ メディア 対 応 3

HTML5とは 従 来 のHTMLに 代 わる 次 世 代 のHTML ブラウザでのデータ 格 納 クライアントとサーバ 間 での 双 方 向 通 信 位 置 情 報 の 取 得 など 従 来 のHTMLよりも 柔 軟 かつ 利 便 性 の 高 い Web サイトの 構 築 が 可 能 となる 日 本 を 含 むアジア 太 平 洋 地 域 においても 急 速 に 普 及 が 進 みつつある 最 近 のブラウザの 多 くは HTML5に 対 応 している( 一 部 実 装 されて いない 機 能 もある) 従 来 のHTMLでは 影 響 のなかっ たケースが ブラウザのHTML5 対 応 により 脆 弱 性 となってし まうケースが 存 在 する CSRF XSS DoS 利 便 性 が 向 上 する 一 方 で それ らの 新 技 術 が 攻 撃 者 に 悪 用 され た 際 にユーザが 受 ける 影 響 に 関 して 十 分 に 検 証 や 周 知 がされ ているとは 言 えない 情 報 漏 えい オープン リダイレクト 4

HTML5 を 利 用 したWeb アプリケーションの セキュリティ 問 題 に 関 する 調 査 報 告 書 10 月 30 日 に 公 開 https://www.jpcert.or.jp/research/html5.html 5

報 告 書 の 使 い 方 技 術 書 ガイドラインのベース 資 料 仲 間 内 の 勉 強 会 資 料 セミナの 参 考 資 料 などにどうぞ 引 用 転 載 にあたっては 以 下 を 参 照 してください JPCERT/CC ご 利 用 にあたってのお 願 い https://www.jpcert.or.jp/guide.html 記 載 例 ) 引 用 元 : JPCERTコーディネーションセンター HTML5 を 利 用 したWeb アプリケーションのセキュリティ 問 題 に 関 する 調 査 報 告 書 https://www.jpcert.or.jp/research/html5-20131030.pdf 6

JavaScript API XMLHttpRequest 7

XMLHttpRequest(XHR) 概 要 XMLHttpRequest(XHR)とは JavaScriptでHTTP 通 信 を 行 うためのAPI 非 同 期 通 信 によりインタラクティブな 表 現 が 可 能 AJAXの 普 及 に 伴 い 使 用 される 機 会 が 増 加 HTML5 以 前 は 同 一 オリジンとの 通 信 のみに 制 限 されていた HTML5のXHR Java Script Origin: 読 み 込 み 元 オリジン example.jp other.example.jp Access-Control-Allow-Origin: 許 可 するオリジン or * Cookieを 許 可 するためには 別 途 Access-Control-Allow-Credentialsが 必 要 オリジン: ホスト ポート スキームの 組 み 合 わせ 8

HTML5の 現 状 9

以 前 に 行 われた 調 査 2012 年 11 月 に 行 われた2539サイトに 対 する 調 査 約 0.25% のサイトがCORSに 対 応 引 用 元 :http://www.veracode.com/blog/2012/11/security-headers-report/ Access-Control-Allow-Origin 以 外 のCORS 関 連 のヘッダの 状 況 は?? 10

HTML5の 利 用 についての 調 査 HTML5の 利 用 状 況 について 確 認 するため 以 下 を 調 査 した CORS 関 連 ヘッダ(*1)の 利 用 状 況 セキュリティ 関 連 ヘッダ(*2)の 利 用 状 況 調 査 方 法 Alexa Top 1,000,000 (*3)に 含 まれるサイトのトップページをク ロール CurlコマンドのレスポンスのHTTPヘッダを 調 査 リダイレクトされる 場 合 は 最 終 リダイレクト 先 が 対 象 送 信 するリクエストには Originリクエストヘッダを 追 加 調 査 期 間 は 2013/12/26 2013/12/30 (*1) CORSで 使 われるヘッダ 名 が Access-Control- から 始 まるレスポンスヘッダ (*2) 調 査 報 告 書 で 紹 介 したセキュリティ 関 連 機 能 に 関 するヘッダ (*3) http://www.alexa.com/topsites 11

CORS 関 連 レスポンスヘッダ Access-Control-Allow-Origin リソースへのアクセスを 許 可 するオリジンを 指 定 Access-Control-Allow-Credentials Cookie 等 の 認 証 情 報 を 含 んだリクエストに 対 するレスポン スへのアクセスを 許 可 する 場 合 にtrueを 指 定 Access-Control-Expose-Headers ブラウザが 使 用 してもよいヘッダを 指 定 Access-Control-Allow-Methods(プリフライト) 送 信 を 許 可 するメソッドを 指 定 Access-Control-Allow-Headers(プリフライト) 送 信 を 許 可 するヘッダを 指 定 Access-Control-Max-Age(プリフライト) プリフライトレスポンスをキャッシュする 時 間 を 指 定 12

セキュリティ 関 連 レスポンスヘッダ X-XSS-Protection XSS 攻 撃 からの 保 護 X-Content-Type-Options Content-Typeヘッダに 従 ったコンテンツの 取 り 扱 い X-Frame-Options フレームへの 埋 め 込 みを 制 限 Content-Security-Policy コンテンツの 読 み 込 み 元 を 制 限 Content-Disposition ファイルのダウンロードダイアログの 制 御 Strict-Transport-Security HTTPSの 強 制 13

調 査 結 果 14

CORS 対 応 状 況 CORS 対 応 サイト 7218 非 対 応 941999 対 応 8000 7000 6000 5000 4000 3000 2000 1000 0 CORS 関 連 ヘッダ(Access-Control-xxx) レスポンスを 受 け 取 ったサイト 数 は 949,217サイト CORS 対 応 サイト(*)は 7218サイト CORS 対 応 サイトは 全 体 の 約 0.76% (*) CORS 関 連 ヘッダを 返 してきたWebサイト 15

Access-Control-Allow-Origin Access-Control-Allow-Origin の 設 定 設 定 値 ( 正 しい 設 定 のみ) 377 正 しい 設 定 1909 * 6650 誤 った 設 定 4741 オリジン 約 5.4%のサイトが 誤 った 設 定 を 行 っていた 誤 った 設 定 では 設 定 された 値 は 無 視 されるため Acecss- Control-Allow-Originヘッダを 設 定 しても 効 果 がない 16

Access-Control-Allow-Originの 設 定 正 しい 設 定 scheme://host[:port][ scheme://host[:port]]* ( 1) null * 誤 った 設 定 の 例 (いずれの 設 定 も 無 効 ) スキームなし: example.com カンマ 区 切 りで 複 数 : http://example1.com,http://example2.com ワイルドカード 使 用 : http://*.example.com オリジンの 末 尾 に /: http://example.com/ 複 数 のヘッダ: http://example1.com http://example2.com 内 容 を 理 解 せず 安 易 にヘッダを 付 加 した 場 合 アクセス 制 限 が 弱 まり 脆 弱 となる 場 合 があることに 注 意 1:スペース 区 切 りの 複 数 オリジンの 記 載 は ブラウザの 実 装 に よっては 禁 止 されている 場 合 がある 17

Access-Control-Allow-Origin Access-Control-Allow-Origin の 設 定 設 定 値 ( 正 しい 設 定 のみ) 377 正 しい 設 定 1909 * 6650 誤 った 設 定 4741 オリジン Access-Control-Allow-Originの 設 定 を 正 しく 行 っている Webサイトのうち 約 71%が 値 に*を 設 定 全 てのWebサイトからのCORSを 許 可 約 29%が 値 にオリジンを 設 定 オリジンで 指 定 したWebサイトからのCORSのみを 許 可 18

Access-Control-Allow-Credentials Access-Control-Allow-Credentials 71 1525 設 定 なし 5622 TRUE FALSE Access-Control-Allow-Credentialsを 設 定 しているサイトは CORS 対 応 サイト 全 体 の 約 22% 設 定 値 は true のみが 意 味 を 持 つ 設 定 値 それ 以 外 は 全 て true が 設 定 されていない 場 合 と 同 様 の 動 作 となるが false と 指 定 されているものも 複 数 存 在 19

Access-Control-Allow-Credentials Access-Control-Allow-Originに *を 設 定 しているWebサイト Access-Control-Allow-Originに 適 切 にオリジンを 設 定 しているWebサイト 4 163 Access-Control-Allow- Credentials 2 Access-Control-Allow- Credentials 4573 設 定 なし TRUE 1250 599 設 定 なし TRUE FALSE FALSE Access-Control-Allow-Credentialsにtrueを 指 定 する 場 合 Access-Control-Allow-Originに*を 使 うことはできないが163 サイトが*を 設 定 意 図 したとおりの 動 作 となっているか 事 前 に 確 認 を 20

Access-Control-Allow-Credentials 4 163 Access-Control-Allow-Originに *を 設 定 しているWebサイト Access-Control-Allow- Credentials Access-Control-Allow-Originに 適 切 にオリジンを 設 定 しているWebサイト 2 Access-Control-Allow- Credentials 4573 設 定 なし TRUE FALSE 1250 599 設 定 なし TRUE FALSE Access-Control-Allow-Originでオリジンを 指 定 しているサイ トの 約 68%で Access-Control-Allow-Credentialsの 値 にtrue を 指 定 21

Access-Control-Allow-Origin Access-Control-Allow-Originに 適 切 にオリジンを 設 定 しているWebサイト 2 Access-Control-Allow- Credentials 1250 599 設 定 なし TRUE FALSE 送 られるレスポンスヘッダ 例 :trueの 場 合 Access-Control-Allow-Origin: http://example.com Access-Control-Allow-Credentials: true 上 記 例 のスポンスヘッダが 返 った 場 合 http://example.com から 読 み 込 んだJavaScriptは ユーザがブラウザを 操 作 する 場 合 と 同 様 のふるまいをすることが 可 能 Access-Control-Allow-Originで 指 定 したサイトで 任 意 の JavaScriptが 実 行 できる 場 合 非 常 に 危 険 な 状 況 となる 脆 弱 性 がなければ 大 丈 夫? 22

マッシュアップサイトの 場 合 A-C-Allow-Origin: sitea A-C-Allow-Credentials:true マッシュアップ 元 サイト X さんの 画 像 A-C-Allow-Origin:siteB A-C-Allow-Credentials:true マッシュアップサイトA マッシュアップサイトB Cookie Origin: sitea Origin: siteb お 気 に 入 り 画 像 を 背 景 として 利 用 各 サイトにCookie 付 き CORSを 許 可 するため レスポンスヘッダを 動 的 に 生 成 お 気 に 入 り 画 像 の 関 連 商 品 を 提 供 23

危 険 な 動 作 の 例 A-C-Allow-Origin: http://evil.example.com A-C-Allow-Credentials:true マッシュアップ 元 サイト X さんの 画 像 悪 意 あるサイト (evil.examle.com) Cookie 個 人 情 報 漏 えい Origin: http://evil.example.com 外 部 に 送 信 24 Xさん

XHR2を 用 いた 他 源 泉 リクエスト IPA セキュアプログラミング 講 座 Webアプリケーション 編 https://www.ipa.go.jp/security/awareness/vendor/programmingv2/contents/704.html 25

Access-Control-Allow-Origin 今 回 の 調 査 で 実 際 に 送 ったリクエスト: 実 際 のAllow-Originの 値 GET / HTTP/1.1 HOST: <target> Origin: http://example.com 1056 194 http://example.com その 他 オリジン 194サイトが 送 ったOriginヘッダの 値 を Access- Control-Allow-Originヘッダにそのまま 設 定 して 返 送!! 認 証 済 みのユーザのみに 限 定 すべきページでも 上 記 動 作 を 行 っている 場 合 情 報 が 盗 まれる 可 能 性 がある さらに トークンによるCSRF 対 策 が 回 避 されるケースも 26

CSRFによるパスワード 変 更 GET /passwd HTTP/1.1 Origin: http://evil.com Cookie token 発 行 Access-Control-Allow-Origin: http://evil.com Access-Control-Allow-Credentials: true token=2a8bc84e XHR Java Script POST /passwd HTTP/1.1 newpwd=infected& Origin: http://evil.com token=2a8bc84e Cookie JavaScriptでtokenを 取 得 token 検 証 パスワード 変 更 完 了 27

正 しい 設 定 許 可 するページの 制 限 認 証 を 行 っているユーザのみに 限 定 するべきページには Access- Control-Allow-Origin Access-Control-Allow-Credentialsを 付 加 しない ( 設 定 変 更 ページ パスワード 変 更 ページ 等 ) オリジンの 検 証 特 定 のサイトに 対 して 許 可 する 場 合 には Originの 値 を 検 証 し 許 可 する 場 合 にのみAccess-Control-Allow-Origin Access-Control-Allow- Credentialsを 付 加 する GET /passwd HTTP/1.1 Origin: http://evil.com Cookie token 発 行 制 限 検 証 Access-Control-Allow-Origin: http://evil.com Access-Control-Allow-Credentials: true token=2a8bc84e XHR Java Script JavaScriptはtokenに アクセス 不 可 28

設 定 例 実 際 に 設 定 する 場 合 には アプリケーションの 仕 様 を 踏 まえた 設 定 の 検 討 と 十 分 なテストが 必 要 です 許 可 するページの 制 限 認 証 を 行 っているユーザのみに 限 定 するべきページには Access- Control-Allow-Origin Access-Control-Allow-Credentialsを 付 加 し ない( 設 定 変 更 ページ パスワード 変 更 ページ 等 ) Apache での 設 定 例 : 画 像 ファイルのみでリソースの 使 用 を 許 可 <FilesMatch.(jpeg gif png)$ > SetEnvIf Origin ^https?://.*$ ORIGIN=$0 Header set Access-Control-Allow-Origin %{ORIGIN}e env=origin </FilesMatch> オリジンの 検 証 特 定 のサイトに 対 して 許 可 する 場 合 には Originの 値 を 検 証 し 許 可 する 場 合 にのみAccess-Control-Allow-Origin Access-Control- Allow-Credentialsを 付 加 する Apache での 設 定 例 :example.comのサブドメインのみにリソースの 使 用 を 許 可 SetEnvIf Origin ^https?://.*.example.com$ ORIGIN=$0 Header set Access-Control-Allow-Origin %{ORIGIN}e env=origin 29

セキュリティ 関 連 ヘッダ 30

X-XSS-Protection 44783 514 100 904434 設 定 あり 44169 1 1; mode=block 設 定 なし 0 X-XSS-Protectionを 設 定 しているサイトのほとんどが 1;mode=block( 保 護 フィルタ 有 効 検 出 時 には 空 白 ページ を 表 示 ) 514サイトが0 ( 無 効 )を 設 定 XSS 保 護 フィルタの 無 効 は 誤 検 出 があるなど 特 別 な 理 由 があるページのみに 限 定 すべき 31

Strict-Transport-Security 1754 max-age 設 定 値 18966 HSTSあり HSTSなし 49 337 93 119 187 969 31536000 2592000 15768000 0 16070400 その 他 全 サイト 中 20720サイトがHTTPSにリダイレクト 1754サイトがHSTSを 設 定 半 数 以 上 がHSTSの 期 限 を1 年 に 設 定 0を 設 定 した 場 合 ブラウザはHSTSのリストから 該 当 の サイトを 削 除 することに 注 意 32

まとめ 33

まとめ HTML5では 便 利 になる 一 方 で 使 用 には 注 意 が 必 要 な 機 能 も 多 数 ある HTML5を 利 用 したWebアプリケーションのセキュリ ティ 問 題 に 関 する 調 査 報 告 書 をセキュアなWebアプリ ケーションの 開 発 に 役 立 ててください お 問 い 合 わせは 以 下 まで ご 意 見 お 待 ちしています JPCERTコーディネーションセンター Email:ww-info@jpcert.or.jp Tel:03-3518-4600 Web: https://www.jpcert.or.jp/ 34

おまけ 35

Custom HTTP header X-Recruiting: We re looking for talented people, join us: <URL>(We have cookies!) X-Recruiting: Like HTTP headers? Come write ours: <URL> x-poetry: Choose Life. Choose a job. Choose a career. X-<CompanyName>-jobs: you re reading this come work at xxx! Were-currently-looking-for-devs-like-you: Tweet @xxx for job details. 36

X-Want-A-Job-With-Us response header 37

discem file type output to a file Compressed file. :-c 38

extraction by bzip2 extraction confirm file type ASCII! Readable!! 39

finish? rotate 40

perl 41

ご 静 聴 ありがとうございました 42