自己紹介 XSS のほうから来ました author of jjencode, aaencode

Similar documents
自己紹介 はせがわようすけ ネットエージェント株式会社 株式会社セキュアスカイ テクノロジー技術顧問 Microsoft MVP for Consumer Security Oct

自己紹介 はせがわようすけ OWASP Kansai チャプターリーダー OWASP Japan アドバイザリボードメンバー 株式会社セキュアスカイ テクノロジー常勤技術顧問 CODE BLUE Security Conference Review board member セキュリティキャンプ講師

今から始めるHTML5セキュリティ

自己紹介 はせがわようすけ ネットエージェント株式会社 株式会社セキュアスカイ テクノロジー技術顧問 OWASP Kansai Chapter Leader OWASP Japan Chapter Advisory Board member

目次 はじめに... 2 本書の対象読者 クリックジャッキング攻撃とは クリックジャッキング攻撃の例 クリックジャッキング攻撃が成立する仕組み クリックジャッキング攻撃によって想定される脅威 クリックジャッキ

自己紹介 はせがわようすけ ネットエージェント株式会社 株式会社セキュアスカイ テクノロジー技術顧問 OWASP Kansai Chapter Leader OWASP Japan Chapter Advisory Board member

2.2 Reflected XSS 攻撃攻撃者の用意した悪意のあるリンクとターゲットサーバが同じホストである場合の Reflected XSS 攻撃を, 本稿では Reflected XSS 攻撃と呼ぶ. 例えば, サーバ A の target.php に Reflected XSS 脆弱性があった

長谷川陽介 ( はせがわようすけ OWASP Kansai チャプターリーダー OWASP Japan アドバイザリボードメンバー 株式会社セキュアスカイ テクノロジー CTO セキュリティキャンプ講師 (2008~) CODE BLUE カンファレンスレビュー

自己紹介 長谷川陽介 ( はせがわようすけ ( 株 ) セキュアスカイ テクノロジー常勤技術顧問 セキュリティキャンプ講師 (2008 年 ~) OWASP Kansai チャプターリーダー OWASP Japan ボードメンバー CODE BLUE カンファレ

技術メモ-クリックジャッキング対策- X-FRAME-OPTIONSについて

WEBシステムのセキュリティ技術

アジェンダ 0. 導入 1. Web API(Web サービス ) 2. マッシュアップの構図 3. ブラウザオブジェクト < 休憩 > 4. クライアント側コードに起因するスクリプト注入 5. 同一源泉 と 他源泉 6. 他のマッシュアップ論点の学習方法 2

SOC Report

自己紹介 はせがわようすけ ネットエージェント株式会社 株式会社セキュアスカイ テクノロジー技術顧問 セキュリティ キャンプ Webセキュリティクラス OWASP Kansai Chapter Leader OWASP Japan board member

PowerPoint プレゼンテーション

Microsoft Word 基_シラバス.doc

allows attackers to steal the username-password pair saved in the password manager if the login page or other pages in the same domain are vulnerable

Ver1.40 証明書発行マニュアル (Export 可能 ) Windows 10 InternetExplorer 2018 年 3 月 14 日 セコムトラストシステムズ株式会社 Copyright SECOM Trust Systems CO.,LTD. All Rights Reserve

Microsoft Word - Data_URI_Support

JPCERT/CCとは 一 般 社 団 法 人 JPCERTコーディネーションセンター (JPCERT/CC (ジェーピーサート コーディネーションセンター)) Japan Computer Emergency Response Team Coordination Center

Yosuke Secure Sky Technology Inc. Technical Advisor OWASP Kansai Chapter Leader OWASP Japan Chapter board member CODE BLUE Re

SOC Report

Microsoft Word - User-Agent_String_and_Version_Vector

untitled

環境確認方法 (Windows の場合 ) OS 動作環境日本語版 Windows 7, 8, 8.1, 10 であること 確認方法 Windows キーを押しながら R キーを押します または [ スタート ] メニューから [ ファイル名を指定して実行 ] ( または [ プログラムとファイルの


1. 信頼済みサイトの設定 (1/3) この設定をしないとレイアウト ( 公報 ) ダウンロードなどの一部の機能が使えませんので 必ず設定してください 1 Internet Explorer を起動し [ ツール ]-[ インターネットオプション (O)] を選択します 2 [ セキュリティ ] の

■サイトを定義する

ポップアップブロックの設定

FW ファイルアップロード ダウンロード機能利用ガイド Version 年 9 月 21 日富士通株式会社 i All Right Reserved, Copyright FUJITSU LIMITED

SOC Report

SQL インジェクションの脆弱性

SOC Report

PowerPoint プレゼンテーション

Webプログラミング演習

PowerPoint プレゼンテーション

OmniTrust

2.3 1 RIG Exploit Kit (4) 4 Exploit Kit 2.2 RIG Exploit Kit RIG Exploit Kit 1 5 (1) Web Web (2) RIG Exploit Kit URL (3) URL iframe RIG Exploit Kit (4)

ポップアップブロックの設定


Web のクライアントサーバモデル

Ver.50 改版履歴 版数 日付 内容 担当 V //9 新規作成 STS V..0 06/6/ 画像修正 STS V..0 06/6/8 画像修正 STS V /9/5 画像追加 (Windows0 Anniversary の記載 ) STS V // 文言修

Webプログラミング演習

Cisco CSS HTTP キープアライブと ColdFusion サーバの連携

1. WebShare 編 1.1. ログイン / ログアウト ログイン 1 WebShare の URL にアクセスします xxxxx 部分は会社様によって異なります xxxxx. 2 ログイン名 パスワードを入力し

(1)IE6 の設定手順 (1)IE6 の設定手順 1) 信頼済みサイトの追加手順 1: ブラウザ (Internet Explorer) を起動します 手順 2: ツール / インターネットオプション / セキュリティ メニューを選択します 手順 3: セキュリティ タブの 信頼済みサイト を選択

MIRACLE LoadBalancerを使用したネットワーク構成と注意点

Flash Player ローカル設定マネージャー

CD-ROM 版をご使用の場合 インストールガイド CD-ROM ドライブ \doc\ インストールガイド.pdf 基本操作ガイド CD-ROM ドライブ \doc\ 基本操作ガイド.pdf 設定ガイド CD-ROM ドライブ \doc\ 設定ガイド.pdf ダウンロード版をご使用の場合 インストー

<4D F736F F D E835A A C98AD682B782E98E77906A89FC92F994C52E646F63>

INDEX 1. はじめに... 2.IE11 の設定 IE11 バージョンの確認方法 IE11 ポップアップの許可設定 IE11 HTML 明細書印刷の設定 IE11 互換表示設定... 3.Chrome の設定 Chrome

安全な Web サイトの作り方 7 版 と Android アプリの脆弱性対策 独立行政法人情報処理推進機構 (IPA) 技術本部セキュリティセンター Copyright 2015 独立行政法人情報処理推進機構


APIリファレンス | IP Geolocation API どこどこJP

momentum Probe Type-R/C version 4.21 build-a04a Release Notes Release Version: momentum Probe Type-R/C version 4.21 build-a04a Release Date: 2018/06/2

実験 5 CGI プログラミング 1 目的 動的にWebページを作成する手法の一つであるCGIについてプログラミングを通じて基本的な仕組みを学ぶ 2 実験 実験 1 Webサーバの設定確認と起動 (1)/etc/httpd/conf にある httpd.conf ファイルの cgi-bin に関する

スライド 1

注意事項 (1)Windows 10 を使用する場合 注意事項 1 注意事項 3 注意事項 4 についてご対応をお願いします (2)Windows 8.1 を使用する場合 注意事項 2 注意事項 3 注意事項 4 についてご対応をお願いします (3)Windows 7 上で Internet Exp

注意事項 (1)Windows 10 を使用する場合 注意事項 1 注意事項 3 注意事項 4 についてご対応をお願いします (2)Windows 8.1 を使用する場合 注意事項 2 注意事項 3 注意事項 4 についてご対応をお願いします (3)Windows 7 上で Internet Exp

Microsoft PowerPoint - janog39.5_afterJanog39-suga

SmartBrowser_document_build30_update.pptx

untitled

付録 :Google ツールバーの設定手順 (1) ブラウザバージョンの確認 まず お使いのブラウザ (Internet Explorer) のバージョンを確認します 手順 1: ブラウザ (Internet Explorer) を起動します 手順 2: ヘルプ/ バージョン情報 メニューを選択しま

楽2ライブラリ クライアントサーバ V5.0 体験版 クライアントOS利用時におけるIIS設定手順書

SQLインジェクション・ワームに関する現状と推奨する対策案

SciFinder エラーへの対処法

注意事項 (1)Windows 10 を使用する場合 注意事項 1 注意事項 3 注意事項 4 についてご対応をお願いします (2)Windows 8.1 を使用する場合 注意事項 2 注意事項 3 注意事項 4 についてご対応をお願いします (3)Windows 7 上で Internet Exp

OSSTechプレゼンテーション

— intra-martで運用する場合のセキュリティの考え方    

NetworkApplication-12

Shareresearchオンラインマニュアル

事前準備マニュアル

現象

untitled

目次 1. PDF 変換サービスの設定について )Internet Explorer をご利用の場合 )Microsoft Edge をご利用の場合 )Google Chrome をご利用の場合 )Mozilla Firefox をご利

クラウド税務 会計 給与システム開発にスピードを!A-SaaS が Sencha Ext JS / Sencha Test を導入した軌跡 第 36 回エンバカデロ デベロッパーキャンプ アカウンティング サース ジャパン株式会社土田拓也 斎藤はるか 北村圭 本文書の一部または全部の転載を禁止します

PowerPoint プレゼンテーション

Ver2.10 証明書発行マニュアル (Export 可能 ) Windows 7 InternetExplorer 2018 年 3 月 14 日 セコムトラストシステムズ株式会社 Copyright SECOM Trust Systems CO.,LTD. All Rights Reserved

Ver1.70 証明書発行マニュアル パスワード設定版 Windows 7 InternetExplorer 2018 年 3 月 14 日 セコムトラストシステムズ株式会社 Copyright SECOM Trust Systems CO.,LTD. All Rights Reserved i

5-5_arai_JPNICSecSemi_XssCsrf_CM_ PDF

brieart変換設定画面マニュアル

AcVBA

RSS配信の設定方法 第2版(平成30年2月)

従来型 Web Ajax ー Webサー ー Webサー M M に M ージを M M ク イ ント JavaScript を イン M を ー に ータ 力 Submit タンを Submit の ージ る XX X 力 ータ M ータの によ に る M を に の プリに対 キー ー スによ

Webデザイン論

脆弱性を狙った脅威の分析と対策について Vol 年 7 月 21 日独立行政法人情報処理推進機構セキュリティセンター (IPA/ISEC) 独立行政法人情報処理推進機構 ( 略称 IPA 理事長 : 西垣浩司 ) は 2008 年度におけ る脆弱性を狙った脅威の一例を分析し 対策をまと

PowerPoint プレゼンテーション

クライアント証明書インストールマニュアル

JavaScript演習

JavaScript 演習 2 1

目次 1. Web 改ざん検知概要 (1)Web 改ざん検知機能 P2 (2) サービスの提供対象および範囲 P2 2. Web 改ざん検知機能 (1) 解析について P2 (2) ホーム画面について P3 (3) 解析履歴 P3 (4) レポート作成 P4 (5) 解析内容の設定 P4 a. 基本

SILAND.JP テンプレート集

日本の上位 50 サイトのウェブセキュリティレポート (Q2 2016) 本レポートでは ウェブ閲覧リサーチ会社 Alexaにて報告された日本のユーザーから 2016 年 5 月 5 日時点の閲覧されたウェブ

在宅せりシステム導入マニュアル

電子メール本文の分析 昨年 5 月 FakeGlobe と Cerber の両方のランサムウェアを配布するスパムキャンペーンを報告しました キャンペーンは数日間続きましたが 最近 同様のマルウェアが別のキャンペーンでスパムアウトされていることが確認されました このキャンペーンでは 同じ空白の件名と本

INDEX 1. はじめに IE7/8 の設定 IE7/8 バージョン確認 IE7/8 ポップアップの許可設定 IE7/8 HTML 明細書印刷の設定 IE9/10/11 の設定 IE9/10/1

untitled

(1) ブラウザバージョンの確認 まず お使いのブラウザ (Internet Explorer) のバージョンを確認します 本システムの動作環境として Internet Explore 11 を使用します 手順 1: ブラウザ (Internet Explorer) を起動します 手順 2: ヘルプ

Microsoft PowerPoint XmlConsortiumWeek2.ppt

1-2. 文字の編集について (1) 文字入力する ページ編集フィールド 上では キーボードからの文字入力 または コピーした文章の貼り付け操作に より 文章を入力します 以降 文字入力に関する操作について説明します ページ編集フィールド (1) 改行の扱いについて [Enter キー ] を押下し

Transcription:

ぼくたちの愛した IE8 はせがわようすけ @hasegawayosuke

自己紹介 はせがわようすけ @hasegawayosuke XSS のほうから来ました http://utf-8.jp/ author of jjencode, aaencode

さよなら Internet Explorer 8

Internet Explorer 8 タイムライン 2005-06 年 Ajax Web 2.0 2006 年 10 月 Internet Explorer 7 公開 2008 年 1 月 HTML5 最初のドラフト公開 2008 年 8 月 ECMAScript 4 廃案 2008 年 9 月 Google Chrome 公開 2009 年 3 月 Internet Explorer 8 公開 2010 年 2 月にはブラウザトップシェア 2011 年 3 月 Internet Explorer 9 公開 2012 年 8 月 Internet Explorer 10 公開 2013 年 10 月 Internet Explorer 11 公開 2015 年 7 月 Microsoft Edge 公開 2016 年 1 月 13 日 IE8サポート終了

Internet Explorer 8 2009 年 3 月リリース 時代は Ajax Web2.0 マッシュアップブーム eval での JSON パース JSONP を用いたクロスオリジンのデータ交換 window.name を用いた iframe 間通信 HTML5 ES5 の制定が始まったばかり MS が標準化路線へ舵を切る直前

Internet Explorer 8 IE8 実はすごいブラウザだった MS らしくない挑戦的な機能が山盛り 特に セキュアにするための機能もたくさん 独自実装だったものから標準化された機能もたくさん 今日はそんな IE8 のすごいセキュリティの機能を振り返ります あんまり JS 関係なくてすみません ><

IE8 のここがすごいその 1 XSS フィルター

XSS フィルター リクエストとレスポンスを比較し スクリプトっぽい文字列があれば実行を阻止 GET /?q=<script>alert(1);</script> HTTP/1.1 HTTP/1.1 200 OK Content-Type: text/html <script>alert(1);</script>

XSS フィルターここがすごい 保守的と言われる MS がよく導入した 他のブラウザに先行 NoScript(Fx) XSS Auditor(WebKit) CSP(Fx) XSS に関連する脆弱性の 37% を XSS フィルターによって低減できた http://download.microsoft.com/download/c/1/f/c1f6a2b2-f45f-45f7-b788-32d2cca48d29/microsoft_security_intelligence_report_volume_13_english.pdf

XSS フィルターここがすごい 当然 誤検出 副作用も多数発生

XSS フィルターここがすごい XSS フィルターの誤検出の悪用 任意サイトで XSS を発生させる 安全なサイトが XSS フィルターのせいで脆弱になる Universal XSS via IE8s XSS Filters Eduardo Vela Nava, David Lindsay https://media.blackhat.com/bh-eu-10/presentations/lindsay_nava/blackhat-eu-2010-lindsay-nava-ie8-xss- Filters-slides.pdf IE/Edge の XSS フィルターを利用した XSS Masato Kinugawa http://masatokinugawa.l0.cm/2015/12/xxn.html

IE8 のここがすごいその 2 XDomainRequest

XDomainRequest クロスオリジンで使える XMLHttpRequest( モト キ XHR Level 2 なんて必要なかった!

XDomainRequest ここがすごい CORS ヘッダを先取り GET /text.txt HTTP/1.1 Host: another.example.com Origin: http://from.example.com HTTP/1.1 200 OK Content-Type: text/plain Access-Control-Allow-Origin: http://from.example.com MSDN には URL を指定って書いてあるのはご愛敬

XDomainRequest ここがすごい エラー情報が取れない var xdr = new XDomainRequest(); xdr.open( "GET", "http://another.example.com/" ); xdr.onload = function(){... }; xdr.onerror = function(){ alert( " 詳細わからないけどとにかくエラー!" ); }; xdr.send( null ); エラー情報を示すようなプロパティ等何もない

XDomainRequest ここがすごい リクエストヘッダ レスポンスヘッダを操作できない var xdr = new XDomainRequest(); xdr.open( "GET", "http://from.example.com/" ); xdr.setrequestheader( "X-test", "42" ); xdr.onload = function(){ xdr.getresponseheader( "X-test" ); } xdr.send();

XDomainRequest XDR ここがすごい CORS ヘッダを先取り エラー情報が取れない リクエストヘッダ レスポンスヘッダを操作できない まともに XDomainRequest を使っているアプリは見たことがない XMLHttpRequest Lv.2 を待たずに実装したのはすごい

IE8 のここがすごいその 3 tostatichtml

tostatichtml HTML を表す文字列内から危険そうな文字列を削除して安全な HTML を返す

tostatichtml ここがすごい いい感じに安全な HTML にしてくれる tostatichtml("<img src=1 onerror=alert(1)>"); "<img src=1>" tostatichtml("<div><script></script></div>"); "<div></div>" tostatichtml("<s style='color:red;x:expression(alert(1))'>a</s>") "<s style="color:red">a</s>"

tostatichtml ここがすごい いい感じに安全な HTML にしてくれる div.innerhtml = tostatichtml( insecureinput ); HTML メールとか Markdown など部分的に HTML を許すアプリケーションに便利 このタグとこの属性は許す みたいな細かい指定は何もできない

tostatichtml ここがすごい ときどき tostatichtml の漏れが発生してる CVE-2010-1257 CVE-2010-3243 CVE-2011-1252 CVE-2012-1858 ブラウザの問題 であり Web アプリ側の責任ではない

tostatichtml ここがすごい 他のブラウザでは簡単な代替手段はない DOMPurify などの外部ライブラリ HTML5 iframe sandbox 標準化もされていないのであまり使われていない 便利なはずなのに

IE8 のここがすごいその 4 X-Content-Type-Options

X-Content-Type-Options 返された Content-Type に従ってコンテンツを取り扱う テキストなどを HTML 扱いしない

X-C-T-O ここがすごい Content-Type に従うようになる テキストファイルなどで XSS が発生しない HTTP/1.1 200 OK Content-Type: text/plain; charset=utf-8 Date: Sat, 16 Jan 2016 12:34:56 GMT X-Content-Type-Options: nosniff これはテキストファイルです <script>alert(1);</script>

X-C-T-O ここがすごい Content-Type に従うようになる それって普通じゃん? 過去との互換性維持が必要なため 普通の挙動にするために特別なヘッダを導入する必要があった

X-C-T-O ここがすごい ( 余談 ) IE9 以降ではスクリプト CSS の読み込みも制限される 以下のような場合 JS としては読み込まれない HTTP/1.1 200 OK Content-Type: text/plain; charset=utf-8 Date: Sat, 16 Jan 2016 12:34:56 GMT X-Content-Type-Options: nosniff document.addeventlistener( "DOMContentLoaded", function(){... } ); JS や CSS を通じた情報漏えいの防止に https://msdn.microsoft.com/en-us/library/gg622941(v=vs.85).aspx

IE8 のここがすごいその 5 X-Frame-Options

X-Frame-Options クリックジャッキング対策 自ページのフレーム内への埋め込みを禁止する

X-Frame-Options ここがすごい レスポンスヘッダに含めておくことで 自ページのフレームへの埋め込みが禁止できる クリックジャッキングへの対応 HTTP/1.1 200 OK Content-Type: text/html; charset=utf-8 Date: Sat, 16 Jan 2016 12:34:56 GMT X-Frame-Options: DENY DENY SAMEORIGIN ALLOW-FROM url のいずれか

X-Frame-Options ここがすごい 特に大きな副作用もない X-F-O を付けたからといって特別な問題が発生するということもない 攻撃者的には全くおもしろくない機能

まとめ

まとめ IE8 は アグレッシブにセキュリティ強化のための機能を含めていた 互換性を犠牲にするような変更も含む Web 標準化路線への転換前夜

まとめ 標準化されたり他のブラウザにも取り込まれたり XSS フィルター XSS Auditor NoScript CSP XDomainRequest XMLHttpRequest tostatichtml 代替なし X-Content-Type-Options Chrome も導入 X-Frame-Options 他ブラウザも導入 CSP

まとめ Internet Explorer 8 は新しい流れを確かに作った 機能不足ばかり叫ばれ忌み嫌われていたが 実際には互換性を犠牲にしても挑戦的な機能をたくさん実装していた 僕たちは IE8 のことを忘れない! 知らんけど

さよならあいいぃ 8