SlideShare una empresa de Scribd logo
1 de 91
HTML5 Web アプリケーションの
セキュリティ
Murachi Akira(CPS Corporation)
This material provided by CC BY-NC-ND 4.0. See http://creativecommons.org/licenses/by-nc-
nd/4.0/
About me
 村地 彰 aka hebikuzure
 株式会社シーピーエス 代表取締役
 Microsoft MVP (Most Valuable Professional)
 2011年 4月 ~
 受賞分野 Visual Studio and Development Technologies
(Front End Web Dev)
2 ©Murachi Akira | This material provided by CC BY-NC-ND 2017/2/25
宣伝
2017/2/25©Murachi Akira | This material provided by CC BY-NC-ND3
 トレーニング、講習を承ります
 プログラミング系 (JavaScript、PHP、Java、VB、C#)
 IT スキル (Office、ネットワークなど) 系
 情報セキュリティ系
 情報処理技術者試験対策 (IT パスポート、初級、中級、情
報セキュリティマネジメント)
 情報セキュリティ マネジメント、個人情報保護のコ
ンサルティングと技術支援を承ります
 コミュニティ「ネットワーク パケットを読む会
(仮)」をやってます
 http://pa.hebikuzure.com/
Agenda
 HTML5 Web アプリケーションのセキュリティに
ついて理解する
 守るべきものは何か
 何が脅威なのか
 発生する脆弱性について理解する
 発生する脆弱性を防ぐ方法を理解する
 脅威からどのように守るのか
 どのように脅威を正しく評価するのか
©Murachi Akira | This material provided by CC BY-NC-ND4 2017/2/25
目次
 はじめに
 セキュリティのおさらい
 守るべき「情報資産」・資産に対する「脅威」
 脅威への対応
 脆弱性を作りこまない
 インシデントへの対処
 まとめ
©Murachi Akira | This material provided by CC BY-NC-ND5 2017/2/25
はじめに
2017/2/25©Murachi Akira | This material provided by CC BY-NC-ND6
ありがちなシステム開発
2017/2/25©Murachi Akira | This material provided by CC BY-NC-ND7
システム開発頼むよ~
要件定義は?
ざっくりこんな感じ~
が、がんばります……
追加であれとこれとそれも~
が、がんばります……
できましたヽ(^o^)丿
欲しかったシステムじゃない(-_-;)
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
ありがちなセキュリティ
2017/2/25©Murachi Akira | This material provided by CC BY-NC-ND8
セキュリティ対策頼むよ~
セキュリティ ポリシーは?
ざっくりこんな感じ~
が、がんばります……
追加であれとこれとそれも~
が、がんばります……
できましたヽ(^o^)丿
欲しかったセキュリティじゃない(-_-;)
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
2017/2/259
どうして
こうなった?
開発者・運用者に
セキュリティの当事者意識が
欠けていた
©Murachi Akira | This material provided by CC BY-NC-ND
開発者・運用者にとってのセキュリティ
2017/2/25©Murachi Akira | This material provided by CC BY-NC-ND10
 セキュリティの当事者として
 守るべき情報資産
 脆弱性の存在
 あり得べき攻撃
 セキュリティは「怖い」
けれど「正しく怖がる」ことが必要
 過大評価も過小評価も禁物
を知る
セキュリティのおさらい
2017/2/2511 ©Murachi Akira | This material provided by CC BY-NC-ND
セキュリティって何?
2017/2/25©Murachi Akira | This material provided by CC BY-NC-ND12
 一般的な意味としては
安全確保・安全保障
被害の防止
 英語で有価証券を "securities" と言うのは、証券化=出
資の分散化により事業(貿易航海など)のリスクを分
散化してきた歴史があるため
リスク、脅威、脆弱性
2017/2/25©Murachi Akira | This material provided by CC BY-NC-ND13
リスク
脆弱性
脅威
リスク:
資産に対して損失や障害
が生じる事態・状況が発
現する可能性
脆弱性:
資産に内在する、リスク
を実際に発生させる要因
脅威:
脆弱性を通じてリスクを
発生させる手段や状況
資 産
情報セキュリティって何?
2017/2/25©Murachi Akira | This material provided by CC BY-NC-ND14
 情報資産を対象としたセキュリティ
 情報の機密性、完全性、可用性を維持すること
 機密性 (confidentiality):秘密を守る
 完全性 (integrity):改竄、破壊、消失しない
 可用性 (availability):必要な時に利用できる
 + α(拡張された定義)
 真正性 (authenticity)
 責任追跡性 (accountability)
 否認防止 (non-repudiation)
 信頼性 (reliability)
※ JIS Q 27002 (ISO/IEC 27002) による定義
C
AI
情報セキュリティにおける脅威
2017/2/25©Murachi Akira | This material provided by CC BY-NC-ND15
 意図的な攻撃
 製品不具合(バグ)による障害発生
 人為的失敗(ミス)による障害発生
 災害(自然災害・人災)による
障害発生
インシデント
2017/2/25©Murachi Akira | This material provided by CC BY-NC-ND16
 脅威によりリスクが具現化した事象
 侵入/改竄の検知
 情報漏洩/流出の検知
 DoS の検知
 ウイルス/マルウエア感染の検知
 物理的/論理的障害の検知
 脆弱性の発見/検知
(リスクが具現化する可能性が高いため)
Web アプリケーションをとりまく脅威
Web アプリケーション/フロント エンド
Web アプリケーション/サーバー サイド
アプリケーション フレームワーク
サーバー コンポーネント
ネットワーク/プロトコル
©Murachi Akira | This material provided by CC BY-NC-ND17 2017/2/25
Web アプリケーションへの攻撃
 サーバー上の情報の窃取・漏洩
 サーバー上のシステム/データの改竄
 利用者データのクライアントからの窃取
(ex. XSS)
 なりすまし(ex. CSRF)
 他所への攻撃の踏み台(ex. オープン リ
ダイレクタ)
 DoS(Denial of Service)
 ランサムウェア
©Murachi Akira | This material provided by CC BY-NC-ND18 2017/2/25
どんな脅威があるのか(1)
2010 2013
A1 – インジェクション A1 – インジェクション
A2 – クロスサイトスクリプティング (XSS) A2 – 認証とセッション管理の不備
A3 – 認証とセッション管理の不備 A3 – クロスサイトスクリプティング (XSS)
A4 – 安全でないオブジェクト直接参照 A4 – 安全でないオブジェクト直接参照
A5 – クロスサイトリクエストフォージェリ (CSRF) A5 – セキュリティ設定のミス
A6 – セキュリティ設定のミス A6 – 機密データの露出
A7 – 安全でない暗号化データ保管 A7 – 機能レベルアクセス制御の欠落
A8 – URLアクセス制限の失敗 A8 – クロスサイトリクエストフォージェリ(CSRF)
A9 – 不十分なトランスポート層保護 A9 – 既知の脆弱性を持つコンポーネントの使用
A10 – 未検証のリダイレクトとフォーワード A10 – 未検証のリダイレクトとフォーワード
OWASP Top 10
https://www.owasp.org/index.php/Category:OWASP_Top_Ten_Project
https://www.owasp.org/images/7/79/OWASP_Top_10_2013_JPN.pdf
©Murachi Akira | This material provided by CC BY-NC-ND19 2017/2/25
どんな脅威があるのか(2)
2017/2/25©Murachi Akira | This material provided by CC BY-NC-ND20
IPA 情報セキュリティ10大脅威 2017
昨年
順位
個人 順位 組織
昨年
順位
1位
インターネットバンキングや
クレジットカード情報の不正利用
1位 標的型攻撃による情報流出 1位
2位 ランサムウェアによる被害 2位 ランサムウェアによる被害 7位
3位
スマートフォンやスマートフォンアプリを狙っ
た攻撃
3位 ウェブサービスからの個人情報の窃取 3位
5位 ウェブサービスへの不正ログイン 4位 サービス妨害攻撃によるサービスの停止 4位
4位 ワンクリック請求などの不当請求 5位
内部不正による情報漏えいとそれに伴う
業務停止
2位
7位 ウェブサービスからの個人情報の窃取 6位 ウェブサイトの改ざん 5位
6位 匿名によるネット上の誹謗・中傷 7位 ウェブサービスへの不正ログイン 9位
8位 情報モラル不足に伴う犯罪の低年齢化 8位 IoT機器の脆弱性の顕在化 ランク
外
10位 インターネット上のサービスを悪用した攻撃 9位
攻撃のビジネス化
(アンダーグラウンドサービス)
ランク
外
ランク
外
IoT機器の不適切管理 10位
インターネットバンキングや
クレジットカード情報の不正利用
8位
https://www.ipa.go.jp/security/vuln/10threats2017.html
守るべき「情報資産」
資産に対する「脅威」
2017/2/2521 ©Murachi Akira | This material provided by CC BY-NC-ND
HTML5 Web アプリの「情報資産」
2017/2/25©Murachi Akira | This material provided by CC BY-NC-ND22
 サービスの継続性
 アプリケーション提供の継続性
 アプリケーション レスポンスの品位維持
 SLA
 アプリケーションそのもの
 サーバー サイドのソースコード
 サーバー サイドのデーターベース
 その他のアセット
 ユーザーから預かる情報
 ユーザー個人情報
 パスワード ハッシュ
サービスの継続性
2017/2/25©Murachi Akira | This material provided by CC BY-NC-ND23
 アプリケーション提供の継続性
 アプリケーションのサービスが停止・中断して
はいけない
 アプリケーション レスポンスの品位維持
 ユーザーが苦痛を感じないレスポンスの品位を
保たなければならない
 SLA (Service Level Agreement)
 ユーザーとの契約は守らなければいけない
サービスの継続性への脅威
2017/2/25©Murachi Akira | This material provided by CC BY-NC-ND24
 サーバーの破壊(侵入/物理攻撃)
 アプリケーションの停止/パフォーマンス低下
 サーバーの改竄/不正利用
(侵入/インジェクション/脆弱性経由)
 アプリケーションの乗っ取り(ページ改竄)
 踏み台として利用される
 DoS (DDoS)
 アプリケーションの停止/パフォーマンス低下
アプリケーションそのもの
2017/2/25©Murachi Akira | This material provided by CC BY-NC-ND25
 サーバー サイドのソースコード
 ビジネス ロジック=営業秘密
 プレゼンテーションロジック=ノウハウの塊
 改竄=アプリケーションの乗っ取り
 サーバー サイドのデーターベース
 製品情報/販売情報/価格情報
=文字通りの営業秘密
 その他のアセット
 表示用のテキスト/画像など
アプリケーションそのものへの脅威
2017/2/25©Murachi Akira | This material provided by CC BY-NC-ND26
 コードの漏洩(侵入/脆弱性経由)
 営業秘密/ノウハウの流出
 コード/アッセトの改竄(侵入/インジェク
ション/脆弱性経由)
 アプリケーションの乗っ取り=スニッ
フィング、攻撃者サイトへの誘導
 データベースへの攻撃
(インジェクション/脆弱性経由)
 営業秘密/ユーザー情報の流出・損失
ユーザーから預かる情報
2017/2/25©Murachi Akira | This material provided by CC BY-NC-ND27
 ユーザー個人情報
 ユーザー登録情報(氏名、住所、メールアド
レス、カード番号……etc.)
 ユーザー入力
 フロントエンドの脆弱性に注意する所
 パスワード ハッシュ
 「パスワードそのもの」の保管は論外
 単純なハッシュはレインボー テーブルで解析
可能
 Salt + ハッシュ ストレッチングは必須
ユーザーから預かる情報への脅威
2017/2/25©Murachi Akira | This material provided by CC BY-NC-ND28
 個人情報データーベースへの攻撃
 SQL インジェクション
 侵入/脆弱性経由
 パスワード ハッシュ データベースへの攻撃
 SQL インジェクション
 侵入/脆弱性経由
 XSS によるユーザ情報の暴露/漏洩
 CSRF によるユーザ情報の暴露/漏洩
脅威への対応
2017/2/2529 ©Murachi Akira | This material provided by CC BY-NC-ND
脅威への対処
2017/2/25©Murachi Akira | This material provided by CC BY-NC-ND30
 脅威について知る
 ここまでの話
 脆弱性を作りこまない
 インシデントに正しく対処する
脆弱性を作りこまない
2017/2/2531 ©Murachi Akira | This material provided by CC BY-NC-ND
「脆弱性を作りこまない」
2017/2/25©Murachi Akira | This material provided by CC BY-NC-ND32
 HTML5 Webアプリでありがちな
フロントエンドの脆弱性
 クロスサイトスクリプティング (XSS)
⇒ DOM based XSS
 既知の脆弱性を持つコンポーネントの
使用
 未検証のリダイレクトとフォーワード
XSS (DOM based XSS)
33 2017/2/25©Murachi Akira | This material provided by CC BY-NC-ND
クロスサイト スクリプティング
 外部入力を元にした
 コンテンツの動的生成により
 実行可能なスクリプトが生成され
 Web アプリケーションのセキュリ
ティ コンテキストで実行される
 セキュリティ コンテキスト
= SOP (Same Origin Policy)
= ユーザーの信頼
©Murachi Akira | This material provided by CC BY-NC-ND34 2017/2/25
一般的な XSS のパターン
攻撃ページの作成
ページ内のリンクをクリック
サーバーに不正な
ユーザー入力を送信
攻撃者のスクリプトを含む
ページを送信
スクリプト実行
©Murachi Akira | This material provided by CC BY-NC-ND35 2017/2/25
XSS の攻撃コード例
<script>alert(‘hacked’)</script>
この部分がサーバーサイドでページに
そのまま埋め込まれて返される
©Murachi Akira | This material provided by CC BY-NC-ND36 2017/2/25
DOM based XSS
攻撃ページの作成
ページ内のリンクをクリック
スクリプト実行
不正な入力値の提供
DOM 生成
©Murachi Akira | This material provided by CC BY-NC-ND37 2017/2/25
DOM based XSS のコード例
https://www.owasp.org/index.php/DOM_Based_XSS より引用
©Murachi Akira | This material provided by CC BY-NC-ND38 2017/2/25
DOM based XSS の発現
…/page.html?default=<script>alert(document.cookie)</scri
pt>"
document.location.href.indexOf("default=")+8)
取得される文字列 "<script>alert(document.cookie)</script>"
document.write("<script>alert(document.cookie)</script>“)
©Murachi Akira | This material provided by CC BY-NC-ND39 2017/2/25
ブラウザーの XSS フィルター
 リクエストとレスポンスを比較して
XSS を検出するとコード実効を抑止す
る機能
 一般的な XSS :
〇 検知・抑止できる場合が少なくない
 DOM based XSS :
× 検知・抑止できない場合が多い
©Murachi Akira | This material provided by CC BY-NC-ND40 2017/2/25
DOM based XSS の実例(1)
に誘導
参考 https://www.ipa.go.jp/files/000024729.pdf
©Murachi Akira | This material provided by CC BY-NC-ND41 2017/2/25
DOM based XSS の実例(2)
参考 https://www.ipa.go.jp/files/000024729.pdf
©Murachi Akira | This material provided by CC BY-NC-ND42 2017/2/25
DOM based XSS の実例(3)
http://utf-8.jp/public/20140908/owasp-hasegawa.pdf より
引用
ハッシュ (# の後ろ) はサーバーに送信されないので、サーバーでの検知が
できないパターン
©Murachi Akira | This material provided by CC BY-NC-ND43 2017/2/25
XSS - ソースとシンク
 ソース (sources)
DOM based XSS の攻撃コードが
注入される場所
 シンク (sinks)
DOM based XSS の攻撃コードが
JavaScript コードとして発現する場所
©Murachi Akira | This material provided by CC BY-NC-ND44 2017/2/25
XSS -ソースからシンクへ
2017/2/25©Murachi Akira | This material provided by CC BY-NC-ND45
ユーザー入力
ソースにセット
ソースから取得
シンクに値を出力
XSS 発現
XSS -ソース (sources)
 location.hash
 location.search
 location.href
 document.cookie
 document.referrer
 window.name
 Web Storage
 IndexedDB
外部から操作可能な
データの源泉
©Murachi Akira | This material provided by CC BY-NC-ND46 2017/2/25
XSS -シンク (sinks)
 innerHTML
 location.href
 document.write
 eval
 setTimeout, setInterval
 Function
 jQuery(), $(), $.html()
テキストの出力
コードの生成
実行
©Murachi Akira | This material provided by CC BY-NC-ND47 2017/2/25
XSS - Mutation-based XSS (mXSS)
 DOM based XSS の変種
HTML element String HTML element
innerHTML
で取得
innerHTML
で書き出し
元の HTML と書きだした HTML が同一にならない
©Murachi Akira | This material provided by CC BY-NC-ND48 2017/2/25
XSS - mXSS
 innerHTML / outerHTML を参照する
と本来のDOM構造とは異なる文字列
が取得される場合がある
 取得した文字列をそのまま
innerHTML / outerHTML などで出力
すると、実行可能な JavaScript コード
が生成される
©Murachi Akira | This material provided by CC BY-NC-ND49 2017/2/25
XSS - Mutation-based XSS の例
http://utf-8.jp/public/20140908/owasp-hasegawa.pdf より
引用
©Murachi Akira | This material provided by CC BY-NC-ND50 2017/2/25
DOM based XSS の対策
51 2017/2/25©Murachi Akira | This material provided by CC BY-NC-ND
XSS - DOM based XSS の対策
 HTML 生成時にエスケープ
JavaScript Escape / HTML Escape
/ URL Escape
 DOM 操作メソッド / プロパティの利用
 URL 生成のスキームの限定
 CSP(Content Security Policy)の利用
 Iframe sandbox の利用
 ライブラリの更新
(ライブラリに脆弱性があることも)
©Murachi Akira | This material provided by CC BY-NC-ND52 2017/2/25
XSS - DOM 操作メソッド/プロパティの利用
 createElement( )
 createTextElement( )
 createTextNode( )
 appendChild( )
 insertBefor( )
 setAttribute( )
©Murachi Akira | This material provided by CC BY-NC-ND53 2017/2/25
XSS -逆に利用を避けるべき
 innerHTML
 outerHTML
 document.write( )
 document.writeln( )
 String リテラルを組み立ててそのまま HTML と
して出力しないのが基本
©Murachi Akira | This material provided by CC BY-NC-ND54 2017/2/25
XSS - URL 生成のスキームを限定する
 リンク(URL)の動的生成も危険
 javascript: スキームなど任意の
スキームのURLを生成しない
 HTTP (HTTPS) のURLのみ生成する
©Murachi Akira | This material provided by CC BY-NC-ND55 2017/2/25
XSS - CSP(Content Security Policy)
 ポリシー ベースでスクリプトのロー
ドと実行に強い制約を課す仕組み
©Murachi Akira | This material provided by CC BY-NC-ND56 2017/2/25
XSS - CSP(Content Security Policy)の利用
 サーバー ヘッダー
Content-Security-Policy
でポリシーを構成
 Firefox, Chrome, Safari, Edge で利用可
能
 IE は IE10 以降で X-Content-Security-Policy
で部分的サポート
©Murachi Akira | This material provided by CC BY-NC-ND57 2017/2/25
XSS - Content Security Policy の効果
 コンテンツを読み込むドメイン / プロトコルを
制限できる
 コード インジェクションによる外部コンテンツの読み
込みを防ぐ
 インライン JavaScript を無効にする
 XSS / DOM base XSS の無効化
 インライン イベント ハンドラーを無効にする
 必要があれば外部スクリプトから addEventListener()
でハンドラーを設定する
 eval() も無効にする
©Murachi Akira | This material provided by CC BY-NC-ND58 2017/2/25
XSS - Content Security Policy の設定例
 Content-Security-Policy: default-src ‘self’
 すべてのコンテンツをサイト自身のドメイン (サブドメインを除
く) から読み込む
 Content-Security-Policy: script-src ‘self’
 スクリプトの読み込みをサイト自身のドメイン (サブドメインを
除く) に制限する
 Content-Security-Policy: default-src ‘self’ *.mydomain.com
 サイト自身のドメインおよび、信頼されたドメインとそのすべて
のサブドメインからのコンテンツを許可(それ以外は制限)
 Content-Security-Policy: default-src https://banking. bank.com
 banking. bank.com サイトのすべてのコンテンツを SSL を使用し
て読み込む
©Murachi Akira | This material provided by CC BY-NC-ND59 2017/2/25
XSS - Content Security Policy の利用は計画的に
 Content Security Policy は強力な分、副作
用も強い
 既存のアプリケーションに適用するのは
ハードルが高い
 まずは
Content-Security-Policy-Report-Only
から
©Murachi Akira | This material provided by CC BY-NC-ND60 2017/2/25
Content-Security-Policy-Report-Only
2017/2/25©Murachi Akira | This material provided by CC BY-NC-ND61
 例
Content-Security-Policy-Report-Only: ⏎
default-src 'self'; ⏎
report-uri http://example.com/csp-report
 CSP違反レポートだけ report-uri で指定するサーバーに
送信される(ブラウザーでのレンダリング、JS 実行には
影響を与えない)
 違反レポートは簡単な JSON なので、サーバーは受信し
た JSON をデータベースに貯めるだけで OK
 レポートを見て、直せるところから直す
(実際は1行)
iframe sandbox の利用
 動的に生成する要素を iframe に封じ込める
 iframe に sandbox 要素を指定してフレーム
内コンテンツに制限を掛ける
コンテンツを
動的に生成
<iframe sandbox id="foo">
制限された
コンテンツ
©Murachi Akira | This material provided by CC BY-NC-ND62 2017/2/25
XSS - iframe sandbox の設定例
 <iframe sandbox src="frame1.html">
 すべての制限を有効にする
 <iframe sandbox="allow-forms"
src="frame1.html">
 フォームの動作を許可する
 <iframe sandbox="allow-same-origin"
src="frame1.html">
 フレーム内コンテンツを親と同じオリジンと見做す
©Murachi Akira | This material provided by CC BY-NC-ND63 2017/2/25
XSS - iframe sandbox の効果
 許可の指定をしない限り強い制限
 フォームの動作不可
 スクリプト実行不可
 ポップ アップの作成不可
 親コンテンツとは別のオリジンになる
(SOP の制限適用)
 親レベルのコンテンツの読み込み・操作不可
©Murachi Akira | This material provided by CC BY-NC-ND64 2017/2/25
既知の脆弱性を持つ
コンポーネントの使用
65 2017/2/25©Murachi Akira | This material provided by CC BY-NC-ND
既知の脆弱性を持つコンポーネントの使用
最終的に信頼できるのは自分だけ
自分で書いたコンポーネント(ライブラリ)だけ使う?
生産性でも信頼性でも現実的ではない
外部のコンポーネントには「脆弱性」があるかも
©Murachi Akira | This material provided by CC BY-NC-ND66 2017/2/25
脆弱なコンポーネント –
必要以上に外部ライブラリに依存しない
 HTML5 で強化された機能を積極的に
利用することで外部ライブラリ依存
は減らせる
 単純な操作であればライブラリより
ネイティブに書いた方が速い
©Murachi Akira | This material provided by CC BY-NC-ND67 2017/2/25
脆弱なコンポーネント –
最新のライブラリを使用/更新する
 作成時の「最新」 ⇒✖
 稼働時は「常に最新」 ⇒〇
©Murachi Akira | This material provided by CC BY-NC-ND68 2017/2/25
脆弱性情報へのアンテナを張る
 最新のセキュリティ情報を把握する
 公開脆弱性データベース
 JVN (Japan Vulnerability Notes)
 CVE (Common Vulnerabilities and Exposures)
 NVD (National Vulnerability Database)
 ライブラリのプロジェクトのメーリングリスト
 セキュリティ関連のメーリングリスト
 セキュリティ系勉強会
©Murachi Akira | This material provided by CC BY-NC-ND69 2017/2/25
セキュリティテストを実施する
 気づいていない脆弱性もテストで
発見できる(かもしれない)
©Murachi Akira | This material provided by CC BY-NC-ND70 2017/2/25
未検証のリダイレクトと
フォーワード
71 2017/2/25©Murachi Akira | This material provided by CC BY-NC-ND
未検証のリダイレクトとフォーワード
 オープン リダイレクターを作りこま
ない
 任意の場所へ遷移可能なフォーワー
ダーを作りこまない
©Murachi Akira | This material provided by CC BY-NC-ND72 2017/2/25
リダイレクトとフォーワードの対策
 リダイレクトやフォーワードの使用を
できるかぎり避ける
 本当に必要ですか?
 ユーザ パラメータで遷移先を決定しない
 遷移先パラメータが必要な場合、提供され
た値の検証をおこなう
 遷移先を限定する
 遷移先ドメインのリスト化
©Murachi Akira | This material provided by CC BY-NC-ND73 2017/2/25
インシデントへの対処
2017/2/2574 ©Murachi Akira | This material provided by CC BY-NC-ND
インシデントが起きる理由
2017/2/25©Murachi Akira | This material provided by CC BY-NC-ND75
 プログラム上の脆弱性
 組織マネジメントの脆弱性
 個人マネジメントの脆弱性
インシデント - 脆弱性の発見・報告
2017/2/25©Murachi Akira | This material provided by CC BY-NC-ND76
 自社プログラム/サービスの脆弱性の発見・報
告
 自社内で発見
 ユーザーや研究者から直接
 IPA などの公的機関経由
 ネット上などで暴露
 利用しているプラットフォームの脆弱性発見
 フレームワークの脆弱性
 データベースの脆弱性
 OS / クラウドの脆弱性
インシデント - インシデントの発生
2017/2/25©Murachi Akira | This material provided by CC BY-NC-ND77
 自社内で発生を発見
 外部からの報告
 ユーザーや研究者から直接
 IPA などの公的機関経由
 ネット上などで暴露
インシデント - 優先課題を切り分ける
2017/2/25©Murachi Akira | This material provided by CC BY-NC-ND78
 優先するのは何?
 脆弱性の改修?
 ユーザーへの告知?
 サービスを止める?/止めない?
判断基準は?
問題の深刻度を計測する
2017/2/25©Murachi Akira | This material provided by CC BY-NC-ND79
 脆弱性の深刻度評価
 共通脆弱性評価システムCVSS概説
http://www.ipa.go.jp/security/vuln/CVSS.html
 CVSS 計算ツール
http://jvndb.jvn.jp/cvss/ScoreCalc2.swf?lang=ja
 評価の着目点
 攻撃の行いやすさ/成功しやすさ
 機密性・完全性・可用性への影響の大きさ
 発生する被害の大きさ
深刻度の評価は難しい
2017/2/25©Murachi Akira | This material provided by CC BY-NC-ND80
 脆弱性の技術的詳細を理解しないと評価し
にくい場合が少なくない
 しかし難解な場合も多い
 公開されている CVSS が自組織に適合する
とは限らない
 自組織固有の状況を考慮しなければならない
 ユーザーに影響する場合、技術的な評価だ
けで判断できない
 ユーザー心理に配慮しなければならない
評価の精度を上げるには
2017/2/25©Murachi Akira | This material provided by CC BY-NC-ND81
 守るべき物=自分(自社)のアプリケー
ション/システムの全体像を良く知る
 脆弱性情報に親しむ
 インシデント対応に慣れる
守るべきものの全体像を知る
2017/2/25©Murachi Akira | This material provided by CC BY-NC-ND82
 利用しているテクノロジーを確認
 システムのインフラ
(サーバーOS/ネットワーク/etc.)
 ミドルウエア
(データベース/フレームワーク/etc. )
 外部コンポーネント/ライブラリ
脆弱性情報へのアンテナを張る
 最新のセキュリティ情報を把握する
 公開脆弱性データベース
 JVN (Japan Vulnerability Notes)
 CVE (Common Vulnerabilities and Exposures)
 NVD (National Vulnerability Database)
 ライブラリのプロジェクトのメーリングリスト
 セキュリティ関連のメーリングリスト
 セキュリティ系勉強会
©Murachi Akira | This material provided by CC BY-NC-ND83 2017/2/25
セキュリティ診断を実施する
 セキュリティ診断結果の評価は本番
インシデント評価に役立つ
©Murachi Akira | This material provided by CC BY-NC-ND84 2017/2/25
予行演習を実施する
2017/2/25©Murachi Akira | This material provided by CC BY-NC-ND85
 インシデント対応の予行演習を
定期的に実施する
 セキュリティの「防災訓練」
まとめ
86 2017/2/25©Murachi Akira | This material provided by CC BY-NC-ND
本日の Agenda
©Murachi Akira | This material provided by CC BY-NC-ND87 2017/2/25
 HTML5 Web アプリケーションの
セキュリティについて理解する
守るべきものは何か
何が脅威なのか
脅威からどのように守るのか
どのように脅威を正しく評価
するのか
Call to Action
 IPA(情報処理推進機構)サイトのウオッチ
 情報セキュリティ
https://www.ipa.go.jp/security/index.html
 セキュア・プログラミング講座
http://www.ipa.go.jp/security/awareness/vendor/progra
mming/
 OWASP (Open Web Application Security Project ) を知る
 Welcome to OWASP https://www.owasp.org/
 OWASP Japan https://www.owasp.org/index.php/Japan
 セキュア プログラミングの実践
 セキュリティ勉強会への参加
©Murachi Akira | This material provided by CC BY-NC-ND88 2017/2/25
Web アプリ セキュリティの参考図書・資料
2017/2/25©Murachi Akira | This material provided by CC BY-NC-ND89
 体系的に学ぶ 安全なWebアプリケーションの作り方
脆弱性が生まれる原理と対策の実践
 https://www.amazon.co.jp/dp/4797361190
 徳丸浩のWebセキュリティ教室
 https://www.amazon.co.jp/gp/product/4822279987/
 ブラウザハック
 https://www.amazon.co.jp/dp/479814343X
 UTF-8.jp
 http://utf-8.jp/
 安全なウェブサイトの作り方
 https://www.ipa.go.jp/security/vuln/websecurity.html
勉強会情報
 OWASP Night / OWASP Day
 https://owasp.doorkeeper.jp/
 江戸前セキュリティ勉強会
 https://sites.google.com/site/edomaesec/
 Shibuya.XSS
 http://shibuyaxss.connpass.com/
 脆弱性診断研究会
 https://security-testing.doorkeeper.jp/
©Murachi Akira | This material provided by CC BY-NC-ND90 2017/2/25
2017/2/2591 ©Murachi Akira | This material provided by CC BY-NC-ND

Más contenido relacionado

La actualidad más candente

DevSecOpsのユースケースとDevSecOpsがもたらす未来(20191126)
DevSecOpsのユースケースとDevSecOpsがもたらす未来(20191126)DevSecOpsのユースケースとDevSecOpsがもたらす未来(20191126)
DevSecOpsのユースケースとDevSecOpsがもたらす未来(20191126)Masanori KAMAYAMA
 
クラウドセキュリティ基礎 #seccamp
クラウドセキュリティ基礎 #seccampクラウドセキュリティ基礎 #seccamp
クラウドセキュリティ基礎 #seccampMasahiro NAKAYAMA
 
Elastic Cloudを利用したセキュリティ監視の事例
Elastic Cloudを利用したセキュリティ監視の事例 Elastic Cloudを利用したセキュリティ監視の事例
Elastic Cloudを利用したセキュリティ監視の事例 Elasticsearch
 
【Interop Tokyo 2016】 Seminar - EA-14 : シスコ スイッチが標的型攻撃を食い止める ~新しい内部対策ソリューション「C...
【Interop Tokyo 2016】 Seminar - EA-14 : シスコ スイッチが標的型攻撃を食い止める ~新しい内部対策ソリューション「C...【Interop Tokyo 2016】 Seminar - EA-14 : シスコ スイッチが標的型攻撃を食い止める ~新しい内部対策ソリューション「C...
【Interop Tokyo 2016】 Seminar - EA-14 : シスコ スイッチが標的型攻撃を食い止める ~新しい内部対策ソリューション「C...シスコシステムズ合同会社
 
包括的な可視性を確立し、潜在するセキュリティの問題を見つけ出す
包括的な可視性を確立し、潜在するセキュリティの問題を見つけ出す 包括的な可視性を確立し、潜在するセキュリティの問題を見つけ出す
包括的な可視性を確立し、潜在するセキュリティの問題を見つけ出す Elasticsearch
 
IoTデバイスを脅威から守るセキュリティ機能-RXセキュリティMCUのご紹介
IoTデバイスを脅威から守るセキュリティ機能-RXセキュリティMCUのご紹介IoTデバイスを脅威から守るセキュリティ機能-RXセキュリティMCUのご紹介
IoTデバイスを脅威から守るセキュリティ機能-RXセキュリティMCUのご紹介Trainocate Japan, Ltd.
 
個人情報を守るための アプリケーション設計(概要)
個人情報を守るためのアプリケーション設計(概要)個人情報を守るためのアプリケーション設計(概要)
個人情報を守るための アプリケーション設計(概要)junichi anno
 
20180224 azure securitycenter
20180224 azure securitycenter20180224 azure securitycenter
20180224 azure securitycenterMasakazu Kishima
 
スタートアップのCEOもおさえておきたい、ITインフラのセキュリティ対策 先生:
スタートアップのCEOもおさえておきたい、ITインフラのセキュリティ対策 先生:スタートアップのCEOもおさえておきたい、ITインフラのセキュリティ対策 先生:
スタートアップのCEOもおさえておきたい、ITインフラのセキュリティ対策 先生:schoowebcampus
 
「教養としてのサイバーセキュリティ」講座
「教養としてのサイバーセキュリティ」講座「教養としてのサイバーセキュリティ」講座
「教養としてのサイバーセキュリティ」講座Riotaro OKADA
 
CCSK (Certificate of Cloud Security Knowledgebase)概要
CCSK (Certificate of Cloud Security Knowledgebase)概要CCSK (Certificate of Cloud Security Knowledgebase)概要
CCSK (Certificate of Cloud Security Knowledgebase)概要Masahiro Morozumi
 
脅威分析の手法によりウェブサーバーにウイルス対策ソフトが必要かを検証する
脅威分析の手法によりウェブサーバーにウイルス対策ソフトが必要かを検証する脅威分析の手法によりウェブサーバーにウイルス対策ソフトが必要かを検証する
脅威分析の手法によりウェブサーバーにウイルス対策ソフトが必要かを検証するHiroshi Tokumaru
 
超高速開発を実現するチームに必要なセキュリティとは
超高速開発を実現するチームに必要なセキュリティとは超高速開発を実現するチームに必要なセキュリティとは
超高速開発を実現するチームに必要なセキュリティとはRiotaro OKADA
 
DevSecOps: セキュリティ問題に迅速に対応するためのパイプライン設計
DevSecOps: セキュリティ問題に迅速に対応するためのパイプライン設計DevSecOps: セキュリティ問題に迅速に対応するためのパイプライン設計
DevSecOps: セキュリティ問題に迅速に対応するためのパイプライン設計junichi anno
 
DXとセキュリティ / IPA Digital Symposium 2021
DXとセキュリティ / IPA Digital Symposium 2021DXとセキュリティ / IPA Digital Symposium 2021
DXとセキュリティ / IPA Digital Symposium 2021Riotaro OKADA
 
進化するWebトラッキングの話 #ssmjp
進化するWebトラッキングの話 #ssmjp進化するWebトラッキングの話 #ssmjp
進化するWebトラッキングの話 #ssmjpsonickun
 
セキュアなサーバーレスアーキテクチャ設計手法の概説 (v0)
セキュアなサーバーレスアーキテクチャ設計手法の概説 (v0)セキュアなサーバーレスアーキテクチャ設計手法の概説 (v0)
セキュアなサーバーレスアーキテクチャ設計手法の概説 (v0)Eiji Sasahara, Ph.D., MBA 笹原英司
 
Owasp evening : Privacy x Design with OWASP
Owasp evening : Privacy x Design with OWASPOwasp evening : Privacy x Design with OWASP
Owasp evening : Privacy x Design with OWASPRiotaro OKADA
 
クラウドの汎用的な基礎知識に自信はありますか?
クラウドの汎用的な基礎知識に自信はありますか?クラウドの汎用的な基礎知識に自信はありますか?
クラウドの汎用的な基礎知識に自信はありますか?Masanori KAMAYAMA
 

La actualidad más candente (20)

DevSecOpsのユースケースとDevSecOpsがもたらす未来(20191126)
DevSecOpsのユースケースとDevSecOpsがもたらす未来(20191126)DevSecOpsのユースケースとDevSecOpsがもたらす未来(20191126)
DevSecOpsのユースケースとDevSecOpsがもたらす未来(20191126)
 
クラウドセキュリティ基礎 #seccamp
クラウドセキュリティ基礎 #seccampクラウドセキュリティ基礎 #seccamp
クラウドセキュリティ基礎 #seccamp
 
RubyでDSL
RubyでDSLRubyでDSL
RubyでDSL
 
Elastic Cloudを利用したセキュリティ監視の事例
Elastic Cloudを利用したセキュリティ監視の事例 Elastic Cloudを利用したセキュリティ監視の事例
Elastic Cloudを利用したセキュリティ監視の事例
 
【Interop Tokyo 2016】 Seminar - EA-14 : シスコ スイッチが標的型攻撃を食い止める ~新しい内部対策ソリューション「C...
【Interop Tokyo 2016】 Seminar - EA-14 : シスコ スイッチが標的型攻撃を食い止める ~新しい内部対策ソリューション「C...【Interop Tokyo 2016】 Seminar - EA-14 : シスコ スイッチが標的型攻撃を食い止める ~新しい内部対策ソリューション「C...
【Interop Tokyo 2016】 Seminar - EA-14 : シスコ スイッチが標的型攻撃を食い止める ~新しい内部対策ソリューション「C...
 
包括的な可視性を確立し、潜在するセキュリティの問題を見つけ出す
包括的な可視性を確立し、潜在するセキュリティの問題を見つけ出す 包括的な可視性を確立し、潜在するセキュリティの問題を見つけ出す
包括的な可視性を確立し、潜在するセキュリティの問題を見つけ出す
 
IoTデバイスを脅威から守るセキュリティ機能-RXセキュリティMCUのご紹介
IoTデバイスを脅威から守るセキュリティ機能-RXセキュリティMCUのご紹介IoTデバイスを脅威から守るセキュリティ機能-RXセキュリティMCUのご紹介
IoTデバイスを脅威から守るセキュリティ機能-RXセキュリティMCUのご紹介
 
個人情報を守るための アプリケーション設計(概要)
個人情報を守るためのアプリケーション設計(概要)個人情報を守るためのアプリケーション設計(概要)
個人情報を守るための アプリケーション設計(概要)
 
20180224 azure securitycenter
20180224 azure securitycenter20180224 azure securitycenter
20180224 azure securitycenter
 
スタートアップのCEOもおさえておきたい、ITインフラのセキュリティ対策 先生:
スタートアップのCEOもおさえておきたい、ITインフラのセキュリティ対策 先生:スタートアップのCEOもおさえておきたい、ITインフラのセキュリティ対策 先生:
スタートアップのCEOもおさえておきたい、ITインフラのセキュリティ対策 先生:
 
「教養としてのサイバーセキュリティ」講座
「教養としてのサイバーセキュリティ」講座「教養としてのサイバーセキュリティ」講座
「教養としてのサイバーセキュリティ」講座
 
CCSK (Certificate of Cloud Security Knowledgebase)概要
CCSK (Certificate of Cloud Security Knowledgebase)概要CCSK (Certificate of Cloud Security Knowledgebase)概要
CCSK (Certificate of Cloud Security Knowledgebase)概要
 
脅威分析の手法によりウェブサーバーにウイルス対策ソフトが必要かを検証する
脅威分析の手法によりウェブサーバーにウイルス対策ソフトが必要かを検証する脅威分析の手法によりウェブサーバーにウイルス対策ソフトが必要かを検証する
脅威分析の手法によりウェブサーバーにウイルス対策ソフトが必要かを検証する
 
超高速開発を実現するチームに必要なセキュリティとは
超高速開発を実現するチームに必要なセキュリティとは超高速開発を実現するチームに必要なセキュリティとは
超高速開発を実現するチームに必要なセキュリティとは
 
DevSecOps: セキュリティ問題に迅速に対応するためのパイプライン設計
DevSecOps: セキュリティ問題に迅速に対応するためのパイプライン設計DevSecOps: セキュリティ問題に迅速に対応するためのパイプライン設計
DevSecOps: セキュリティ問題に迅速に対応するためのパイプライン設計
 
DXとセキュリティ / IPA Digital Symposium 2021
DXとセキュリティ / IPA Digital Symposium 2021DXとセキュリティ / IPA Digital Symposium 2021
DXとセキュリティ / IPA Digital Symposium 2021
 
進化するWebトラッキングの話 #ssmjp
進化するWebトラッキングの話 #ssmjp進化するWebトラッキングの話 #ssmjp
進化するWebトラッキングの話 #ssmjp
 
セキュアなサーバーレスアーキテクチャ設計手法の概説 (v0)
セキュアなサーバーレスアーキテクチャ設計手法の概説 (v0)セキュアなサーバーレスアーキテクチャ設計手法の概説 (v0)
セキュアなサーバーレスアーキテクチャ設計手法の概説 (v0)
 
Owasp evening : Privacy x Design with OWASP
Owasp evening : Privacy x Design with OWASPOwasp evening : Privacy x Design with OWASP
Owasp evening : Privacy x Design with OWASP
 
クラウドの汎用的な基礎知識に自信はありますか?
クラウドの汎用的な基礎知識に自信はありますか?クラウドの汎用的な基礎知識に自信はありますか?
クラウドの汎用的な基礎知識に自信はありますか?
 

Similar a HTML5 Web アプリケーションのセキュリティ

2017年のセキュリティ 傾向と対策講座
2017年のセキュリティ 傾向と対策講座2017年のセキュリティ 傾向と対策講座
2017年のセキュリティ 傾向と対策講座NHN テコラス株式会社
 
2020_0625_Cloud and Salesforce Security_Security Consulting_pre_version
2020_0625_Cloud and Salesforce Security_Security Consulting_pre_version2020_0625_Cloud and Salesforce Security_Security Consulting_pre_version
2020_0625_Cloud and Salesforce Security_Security Consulting_pre_versionShinichiro Kawano
 
細工された製品が突然牙をむく「サプライチェーン攻撃」の脅威
細工された製品が突然牙をむく「サプライチェーン攻撃」の脅威細工された製品が突然牙をむく「サプライチェーン攻撃」の脅威
細工された製品が突然牙をむく「サプライチェーン攻撃」の脅威Noriaki Hayashi
 
安全なWebアプリ構築1回
安全なWebアプリ構築1回安全なWebアプリ構築1回
安全なWebアプリ構築1回Project Samurai
 
【日商USA】webinar 2023.5.12 RSAカンファレンス2023 フィードバック
【日商USA】webinar 2023.5.12 RSAカンファレンス2023 フィードバック【日商USA】webinar 2023.5.12 RSAカンファレンス2023 フィードバック
【日商USA】webinar 2023.5.12 RSAカンファレンス2023 フィードバックNISSHO USA
 
アプリケーションのシフトレフトを実践するには
アプリケーションのシフトレフトを実践するにはアプリケーションのシフトレフトを実践するには
アプリケーションのシフトレフトを実践するにはRiotaro OKADA
 
【Interop tokyo 2014】 ビッグデータを活用し、被害を予見! シスコの新たなセキュリティ運用モデル
【Interop tokyo 2014】 ビッグデータを活用し、被害を予見! シスコの新たなセキュリティ運用モデル【Interop tokyo 2014】 ビッグデータを活用し、被害を予見! シスコの新たなセキュリティ運用モデル
【Interop tokyo 2014】 ビッグデータを活用し、被害を予見! シスコの新たなセキュリティ運用モデルシスコシステムズ合同会社
 
S04_Microsoft XDR によるセキュアなハイブリッドクラウド環境の実現 [Microsoft Japan Digital Days]
S04_Microsoft XDR によるセキュアなハイブリッドクラウド環境の実現 [Microsoft Japan Digital Days]S04_Microsoft XDR によるセキュアなハイブリッドクラウド環境の実現 [Microsoft Japan Digital Days]
S04_Microsoft XDR によるセキュアなハイブリッドクラウド環境の実現 [Microsoft Japan Digital Days]日本マイクロソフト株式会社
 
お客様からのセキュリティチェックを乗り越えるための SaaS のアプローチ.pptx
お客様からのセキュリティチェックを乗り越えるための SaaS のアプローチ.pptxお客様からのセキュリティチェックを乗り越えるための SaaS のアプローチ.pptx
お客様からのセキュリティチェックを乗り越えるための SaaS のアプローチ.pptxmkoda
 
4 Enemies of DevSecOps 2016
4 Enemies of DevSecOps 20164 Enemies of DevSecOps 2016
4 Enemies of DevSecOps 2016Riotaro OKADA
 
なぜ自社で脆弱性診断を行うべきなのか
なぜ自社で脆弱性診断を行うべきなのかなぜ自社で脆弱性診断を行うべきなのか
なぜ自社で脆弱性診断を行うべきなのかSen Ueno
 
安全なプラグインに必要なこと: 脆弱性届出状況に見る傾向と対策 (WordCampTokyo 2017)
安全なプラグインに必要なこと: 脆弱性届出状況に見る傾向と対策 (WordCampTokyo 2017)安全なプラグインに必要なこと: 脆弱性届出状況に見る傾向と対策 (WordCampTokyo 2017)
安全なプラグインに必要なこと: 脆弱性届出状況に見る傾向と対策 (WordCampTokyo 2017)JPCERT Coordination Center
 
AWSSummitTokyo2017 SRCセッション振り返り
AWSSummitTokyo2017 SRCセッション振り返りAWSSummitTokyo2017 SRCセッション振り返り
AWSSummitTokyo2017 SRCセッション振り返りShogo Matsumoto
 
”もと”中の人が語り尽くすSoftLayerセキュリティー(2016/10/13更新版)
”もと”中の人が語り尽くすSoftLayerセキュリティー(2016/10/13更新版)”もと”中の人が語り尽くすSoftLayerセキュリティー(2016/10/13更新版)
”もと”中の人が語り尽くすSoftLayerセキュリティー(2016/10/13更新版)Shinobu Yasuda
 
2020 0910 f-secure_remote_work_and_cloud_security
2020 0910 f-secure_remote_work_and_cloud_security2020 0910 f-secure_remote_work_and_cloud_security
2020 0910 f-secure_remote_work_and_cloud_securityShinichiro Kawano
 
Browser andsecurity2015
Browser andsecurity2015Browser andsecurity2015
Browser andsecurity2015彰 村地
 
Webアプリのセキュリティ 20170824
Webアプリのセキュリティ 20170824Webアプリのセキュリティ 20170824
Webアプリのセキュリティ 20170824Masakazu Ikeda
 

Similar a HTML5 Web アプリケーションのセキュリティ (20)

2017年のセキュリティ 傾向と対策講座
2017年のセキュリティ 傾向と対策講座2017年のセキュリティ 傾向と対策講座
2017年のセキュリティ 傾向と対策講座
 
[Japan Tech summit 2017] SEC 011
[Japan Tech summit 2017] SEC 011[Japan Tech summit 2017] SEC 011
[Japan Tech summit 2017] SEC 011
 
2020_0625_Cloud and Salesforce Security_Security Consulting_pre_version
2020_0625_Cloud and Salesforce Security_Security Consulting_pre_version2020_0625_Cloud and Salesforce Security_Security Consulting_pre_version
2020_0625_Cloud and Salesforce Security_Security Consulting_pre_version
 
細工された製品が突然牙をむく「サプライチェーン攻撃」の脅威
細工された製品が突然牙をむく「サプライチェーン攻撃」の脅威細工された製品が突然牙をむく「サプライチェーン攻撃」の脅威
細工された製品が突然牙をむく「サプライチェーン攻撃」の脅威
 
安全なWebアプリ構築1回
安全なWebアプリ構築1回安全なWebアプリ構築1回
安全なWebアプリ構築1回
 
【日商USA】webinar 2023.5.12 RSAカンファレンス2023 フィードバック
【日商USA】webinar 2023.5.12 RSAカンファレンス2023 フィードバック【日商USA】webinar 2023.5.12 RSAカンファレンス2023 フィードバック
【日商USA】webinar 2023.5.12 RSAカンファレンス2023 フィードバック
 
アプリケーションのシフトレフトを実践するには
アプリケーションのシフトレフトを実践するにはアプリケーションのシフトレフトを実践するには
アプリケーションのシフトレフトを実践するには
 
【Interop tokyo 2014】 ビッグデータを活用し、被害を予見! シスコの新たなセキュリティ運用モデル
【Interop tokyo 2014】 ビッグデータを活用し、被害を予見! シスコの新たなセキュリティ運用モデル【Interop tokyo 2014】 ビッグデータを活用し、被害を予見! シスコの新たなセキュリティ運用モデル
【Interop tokyo 2014】 ビッグデータを活用し、被害を予見! シスコの新たなセキュリティ運用モデル
 
S04_Microsoft XDR によるセキュアなハイブリッドクラウド環境の実現 [Microsoft Japan Digital Days]
S04_Microsoft XDR によるセキュアなハイブリッドクラウド環境の実現 [Microsoft Japan Digital Days]S04_Microsoft XDR によるセキュアなハイブリッドクラウド環境の実現 [Microsoft Japan Digital Days]
S04_Microsoft XDR によるセキュアなハイブリッドクラウド環境の実現 [Microsoft Japan Digital Days]
 
お客様からのセキュリティチェックを乗り越えるための SaaS のアプローチ.pptx
お客様からのセキュリティチェックを乗り越えるための SaaS のアプローチ.pptxお客様からのセキュリティチェックを乗り越えるための SaaS のアプローチ.pptx
お客様からのセキュリティチェックを乗り越えるための SaaS のアプローチ.pptx
 
AWSでの金融系システム構築・運用勘所
AWSでの金融系システム構築・運用勘所AWSでの金融系システム構築・運用勘所
AWSでの金融系システム構築・運用勘所
 
4 Enemies of DevSecOps 2016
4 Enemies of DevSecOps 20164 Enemies of DevSecOps 2016
4 Enemies of DevSecOps 2016
 
なぜ自社で脆弱性診断を行うべきなのか
なぜ自社で脆弱性診断を行うべきなのかなぜ自社で脆弱性診断を行うべきなのか
なぜ自社で脆弱性診断を行うべきなのか
 
安全なプラグインに必要なこと: 脆弱性届出状況に見る傾向と対策 (WordCampTokyo 2017)
安全なプラグインに必要なこと: 脆弱性届出状況に見る傾向と対策 (WordCampTokyo 2017)安全なプラグインに必要なこと: 脆弱性届出状況に見る傾向と対策 (WordCampTokyo 2017)
安全なプラグインに必要なこと: 脆弱性届出状況に見る傾向と対策 (WordCampTokyo 2017)
 
AWSSummitTokyo2017 SRCセッション振り返り
AWSSummitTokyo2017 SRCセッション振り返りAWSSummitTokyo2017 SRCセッション振り返り
AWSSummitTokyo2017 SRCセッション振り返り
 
”もと”中の人が語り尽くすSoftLayerセキュリティー(2016/10/13更新版)
”もと”中の人が語り尽くすSoftLayerセキュリティー(2016/10/13更新版)”もと”中の人が語り尽くすSoftLayerセキュリティー(2016/10/13更新版)
”もと”中の人が語り尽くすSoftLayerセキュリティー(2016/10/13更新版)
 
2020 0910 f-secure_remote_work_and_cloud_security
2020 0910 f-secure_remote_work_and_cloud_security2020 0910 f-secure_remote_work_and_cloud_security
2020 0910 f-secure_remote_work_and_cloud_security
 
【スカイアーチ】Webサイトを脆弱性攻撃から守る
【スカイアーチ】Webサイトを脆弱性攻撃から守る【スカイアーチ】Webサイトを脆弱性攻撃から守る
【スカイアーチ】Webサイトを脆弱性攻撃から守る
 
Browser andsecurity2015
Browser andsecurity2015Browser andsecurity2015
Browser andsecurity2015
 
Webアプリのセキュリティ 20170824
Webアプリのセキュリティ 20170824Webアプリのセキュリティ 20170824
Webアプリのセキュリティ 20170824
 

Más de 彰 村地

Process Monitor の使い方
Process Monitor の使い方Process Monitor の使い方
Process Monitor の使い方彰 村地
 
Windows クライアントのトラブルシューティングあれこれ
Windows クライアントのトラブルシューティングあれこれWindows クライアントのトラブルシューティングあれこれ
Windows クライアントのトラブルシューティングあれこれ彰 村地
 
Windows 365 のテクノロジーとインフラストラクチャー
Windows 365 のテクノロジーとインフラストラクチャーWindows 365 のテクノロジーとインフラストラクチャー
Windows 365 のテクノロジーとインフラストラクチャー彰 村地
 
Windows 11 がやってくる - IT管理者の準備と対策
Windows 11 がやってくる -  IT管理者の準備と対策Windows 11 がやってくる -  IT管理者の準備と対策
Windows 11 がやってくる - IT管理者の準備と対策彰 村地
 
Internet Explorer サポート提供終了で変わること変わらないこと
Internet Explorer サポート提供終了で変わること変わらないことInternet Explorer サポート提供終了で変わること変わらないこと
Internet Explorer サポート提供終了で変わること変わらないこと彰 村地
 
How tousemicrosoftsearch 20200725
How tousemicrosoftsearch 20200725How tousemicrosoftsearch 20200725
How tousemicrosoftsearch 20200725彰 村地
 
(管理者向け) Microsoft Edge の展開と管理の手法
(管理者向け) Microsoft Edge の展開と管理の手法(管理者向け) Microsoft Edge の展開と管理の手法
(管理者向け) Microsoft Edge の展開と管理の手法彰 村地
 
見せてもらおうか、新しい Microsoft Edge の性能とやらを
見せてもらおうか、新しい Microsoft Edge の性能とやらを見せてもらおうか、新しい Microsoft Edge の性能とやらを
見せてもらおうか、新しい Microsoft Edge の性能とやらを彰 村地
 
(Web に関わる人に知っておいてほしい)Web ブラウザー 最新事情
(Web に関わる人に知っておいてほしい)Web ブラウザー 最新事情(Web に関わる人に知っておいてほしい)Web ブラウザー 最新事情
(Web に関わる人に知っておいてほしい)Web ブラウザー 最新事情彰 村地
 
Java で開発する Azure Web Apps アプリケーション
Java で開発する Azure Web Apps アプリケーションJava で開発する Azure Web Apps アプリケーション
Java で開発する Azure Web Apps アプリケーション彰 村地
 
O365 ユーザーのための Azure Storage 入門
O365 ユーザーのための Azure Storage 入門O365 ユーザーのための Azure Storage 入門
O365 ユーザーのための Azure Storage 入門彰 村地
 
Web standard 2019_0216
Web standard 2019_0216Web standard 2019_0216
Web standard 2019_0216彰 村地
 
アドレスバーにURL打ち込んでからページが表示されるまでに 何が起こっているか
アドレスバーにURL打ち込んでからページが表示されるまでに 何が起こっているかアドレスバーにURL打ち込んでからページが表示されるまでに 何が起こっているか
アドレスバーにURL打ち込んでからページが表示されるまでに 何が起こっているか彰 村地
 
Azure Network Watcher / Azure仮想ネットワークの監視と情報収集
Azure Network Watcher / Azure仮想ネットワークの監視と情報収集Azure Network Watcher / Azure仮想ネットワークの監視と情報収集
Azure Network Watcher / Azure仮想ネットワークの監視と情報収集彰 村地
 
HTML はネットワークを いかに変えてきたか
HTML はネットワークをいかに変えてきたかHTML はネットワークをいかに変えてきたか
HTML はネットワークを いかに変えてきたか彰 村地
 
Message Analyzer でパケット キャプチャー
Message Analyzer でパケット キャプチャーMessage Analyzer でパケット キャプチャー
Message Analyzer でパケット キャプチャー彰 村地
 
Message Analyzer 再入門【2】
Message Analyzer 再入門【2】Message Analyzer 再入門【2】
Message Analyzer 再入門【2】彰 村地
 
Message Analyzer 再入門【1】
Message Analyzer 再入門【1】Message Analyzer 再入門【1】
Message Analyzer 再入門【1】彰 村地
 
Rmote Packet Capture Protocol を使って見る
Rmote Packet Capture Protocol を使って見るRmote Packet Capture Protocol を使って見る
Rmote Packet Capture Protocol を使って見る彰 村地
 
Excel でパケット分析 - グラフ化
Excel でパケット分析 - グラフ化Excel でパケット分析 - グラフ化
Excel でパケット分析 - グラフ化彰 村地
 

Más de 彰 村地 (20)

Process Monitor の使い方
Process Monitor の使い方Process Monitor の使い方
Process Monitor の使い方
 
Windows クライアントのトラブルシューティングあれこれ
Windows クライアントのトラブルシューティングあれこれWindows クライアントのトラブルシューティングあれこれ
Windows クライアントのトラブルシューティングあれこれ
 
Windows 365 のテクノロジーとインフラストラクチャー
Windows 365 のテクノロジーとインフラストラクチャーWindows 365 のテクノロジーとインフラストラクチャー
Windows 365 のテクノロジーとインフラストラクチャー
 
Windows 11 がやってくる - IT管理者の準備と対策
Windows 11 がやってくる -  IT管理者の準備と対策Windows 11 がやってくる -  IT管理者の準備と対策
Windows 11 がやってくる - IT管理者の準備と対策
 
Internet Explorer サポート提供終了で変わること変わらないこと
Internet Explorer サポート提供終了で変わること変わらないことInternet Explorer サポート提供終了で変わること変わらないこと
Internet Explorer サポート提供終了で変わること変わらないこと
 
How tousemicrosoftsearch 20200725
How tousemicrosoftsearch 20200725How tousemicrosoftsearch 20200725
How tousemicrosoftsearch 20200725
 
(管理者向け) Microsoft Edge の展開と管理の手法
(管理者向け) Microsoft Edge の展開と管理の手法(管理者向け) Microsoft Edge の展開と管理の手法
(管理者向け) Microsoft Edge の展開と管理の手法
 
見せてもらおうか、新しい Microsoft Edge の性能とやらを
見せてもらおうか、新しい Microsoft Edge の性能とやらを見せてもらおうか、新しい Microsoft Edge の性能とやらを
見せてもらおうか、新しい Microsoft Edge の性能とやらを
 
(Web に関わる人に知っておいてほしい)Web ブラウザー 最新事情
(Web に関わる人に知っておいてほしい)Web ブラウザー 最新事情(Web に関わる人に知っておいてほしい)Web ブラウザー 最新事情
(Web に関わる人に知っておいてほしい)Web ブラウザー 最新事情
 
Java で開発する Azure Web Apps アプリケーション
Java で開発する Azure Web Apps アプリケーションJava で開発する Azure Web Apps アプリケーション
Java で開発する Azure Web Apps アプリケーション
 
O365 ユーザーのための Azure Storage 入門
O365 ユーザーのための Azure Storage 入門O365 ユーザーのための Azure Storage 入門
O365 ユーザーのための Azure Storage 入門
 
Web standard 2019_0216
Web standard 2019_0216Web standard 2019_0216
Web standard 2019_0216
 
アドレスバーにURL打ち込んでからページが表示されるまでに 何が起こっているか
アドレスバーにURL打ち込んでからページが表示されるまでに 何が起こっているかアドレスバーにURL打ち込んでからページが表示されるまでに 何が起こっているか
アドレスバーにURL打ち込んでからページが表示されるまでに 何が起こっているか
 
Azure Network Watcher / Azure仮想ネットワークの監視と情報収集
Azure Network Watcher / Azure仮想ネットワークの監視と情報収集Azure Network Watcher / Azure仮想ネットワークの監視と情報収集
Azure Network Watcher / Azure仮想ネットワークの監視と情報収集
 
HTML はネットワークを いかに変えてきたか
HTML はネットワークをいかに変えてきたかHTML はネットワークをいかに変えてきたか
HTML はネットワークを いかに変えてきたか
 
Message Analyzer でパケット キャプチャー
Message Analyzer でパケット キャプチャーMessage Analyzer でパケット キャプチャー
Message Analyzer でパケット キャプチャー
 
Message Analyzer 再入門【2】
Message Analyzer 再入門【2】Message Analyzer 再入門【2】
Message Analyzer 再入門【2】
 
Message Analyzer 再入門【1】
Message Analyzer 再入門【1】Message Analyzer 再入門【1】
Message Analyzer 再入門【1】
 
Rmote Packet Capture Protocol を使って見る
Rmote Packet Capture Protocol を使って見るRmote Packet Capture Protocol を使って見る
Rmote Packet Capture Protocol を使って見る
 
Excel でパケット分析 - グラフ化
Excel でパケット分析 - グラフ化Excel でパケット分析 - グラフ化
Excel でパケット分析 - グラフ化
 

Último

Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsWSO2
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイスCRI Japan, Inc.
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video UnderstandingToru Tamaki
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルCRI Japan, Inc.
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...Toru Tamaki
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Gamesatsushi061452
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptxsn679259
 

Último (10)

Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 

HTML5 Web アプリケーションのセキュリティ

  • 1. HTML5 Web アプリケーションの セキュリティ Murachi Akira(CPS Corporation) This material provided by CC BY-NC-ND 4.0. See http://creativecommons.org/licenses/by-nc- nd/4.0/
  • 2. About me  村地 彰 aka hebikuzure  株式会社シーピーエス 代表取締役  Microsoft MVP (Most Valuable Professional)  2011年 4月 ~  受賞分野 Visual Studio and Development Technologies (Front End Web Dev) 2 ©Murachi Akira | This material provided by CC BY-NC-ND 2017/2/25
  • 3. 宣伝 2017/2/25©Murachi Akira | This material provided by CC BY-NC-ND3  トレーニング、講習を承ります  プログラミング系 (JavaScript、PHP、Java、VB、C#)  IT スキル (Office、ネットワークなど) 系  情報セキュリティ系  情報処理技術者試験対策 (IT パスポート、初級、中級、情 報セキュリティマネジメント)  情報セキュリティ マネジメント、個人情報保護のコ ンサルティングと技術支援を承ります  コミュニティ「ネットワーク パケットを読む会 (仮)」をやってます  http://pa.hebikuzure.com/
  • 4. Agenda  HTML5 Web アプリケーションのセキュリティに ついて理解する  守るべきものは何か  何が脅威なのか  発生する脆弱性について理解する  発生する脆弱性を防ぐ方法を理解する  脅威からどのように守るのか  どのように脅威を正しく評価するのか ©Murachi Akira | This material provided by CC BY-NC-ND4 2017/2/25
  • 5. 目次  はじめに  セキュリティのおさらい  守るべき「情報資産」・資産に対する「脅威」  脅威への対応  脆弱性を作りこまない  インシデントへの対処  まとめ ©Murachi Akira | This material provided by CC BY-NC-ND5 2017/2/25
  • 6. はじめに 2017/2/25©Murachi Akira | This material provided by CC BY-NC-ND6
  • 7. ありがちなシステム開発 2017/2/25©Murachi Akira | This material provided by CC BY-NC-ND7 システム開発頼むよ~ 要件定義は? ざっくりこんな感じ~ が、がんばります…… 追加であれとこれとそれも~ が、がんばります…… できましたヽ(^o^)丿 欲しかったシステムじゃない(-_-;) ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
  • 8. ありがちなセキュリティ 2017/2/25©Murachi Akira | This material provided by CC BY-NC-ND8 セキュリティ対策頼むよ~ セキュリティ ポリシーは? ざっくりこんな感じ~ が、がんばります…… 追加であれとこれとそれも~ が、がんばります…… できましたヽ(^o^)丿 欲しかったセキュリティじゃない(-_-;) ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
  • 10. 開発者・運用者にとってのセキュリティ 2017/2/25©Murachi Akira | This material provided by CC BY-NC-ND10  セキュリティの当事者として  守るべき情報資産  脆弱性の存在  あり得べき攻撃  セキュリティは「怖い」 けれど「正しく怖がる」ことが必要  過大評価も過小評価も禁物 を知る
  • 11. セキュリティのおさらい 2017/2/2511 ©Murachi Akira | This material provided by CC BY-NC-ND
  • 12. セキュリティって何? 2017/2/25©Murachi Akira | This material provided by CC BY-NC-ND12  一般的な意味としては 安全確保・安全保障 被害の防止  英語で有価証券を "securities" と言うのは、証券化=出 資の分散化により事業(貿易航海など)のリスクを分 散化してきた歴史があるため
  • 13. リスク、脅威、脆弱性 2017/2/25©Murachi Akira | This material provided by CC BY-NC-ND13 リスク 脆弱性 脅威 リスク: 資産に対して損失や障害 が生じる事態・状況が発 現する可能性 脆弱性: 資産に内在する、リスク を実際に発生させる要因 脅威: 脆弱性を通じてリスクを 発生させる手段や状況 資 産
  • 14. 情報セキュリティって何? 2017/2/25©Murachi Akira | This material provided by CC BY-NC-ND14  情報資産を対象としたセキュリティ  情報の機密性、完全性、可用性を維持すること  機密性 (confidentiality):秘密を守る  完全性 (integrity):改竄、破壊、消失しない  可用性 (availability):必要な時に利用できる  + α(拡張された定義)  真正性 (authenticity)  責任追跡性 (accountability)  否認防止 (non-repudiation)  信頼性 (reliability) ※ JIS Q 27002 (ISO/IEC 27002) による定義 C AI
  • 15. 情報セキュリティにおける脅威 2017/2/25©Murachi Akira | This material provided by CC BY-NC-ND15  意図的な攻撃  製品不具合(バグ)による障害発生  人為的失敗(ミス)による障害発生  災害(自然災害・人災)による 障害発生
  • 16. インシデント 2017/2/25©Murachi Akira | This material provided by CC BY-NC-ND16  脅威によりリスクが具現化した事象  侵入/改竄の検知  情報漏洩/流出の検知  DoS の検知  ウイルス/マルウエア感染の検知  物理的/論理的障害の検知  脆弱性の発見/検知 (リスクが具現化する可能性が高いため)
  • 17. Web アプリケーションをとりまく脅威 Web アプリケーション/フロント エンド Web アプリケーション/サーバー サイド アプリケーション フレームワーク サーバー コンポーネント ネットワーク/プロトコル ©Murachi Akira | This material provided by CC BY-NC-ND17 2017/2/25
  • 18. Web アプリケーションへの攻撃  サーバー上の情報の窃取・漏洩  サーバー上のシステム/データの改竄  利用者データのクライアントからの窃取 (ex. XSS)  なりすまし(ex. CSRF)  他所への攻撃の踏み台(ex. オープン リ ダイレクタ)  DoS(Denial of Service)  ランサムウェア ©Murachi Akira | This material provided by CC BY-NC-ND18 2017/2/25
  • 19. どんな脅威があるのか(1) 2010 2013 A1 – インジェクション A1 – インジェクション A2 – クロスサイトスクリプティング (XSS) A2 – 認証とセッション管理の不備 A3 – 認証とセッション管理の不備 A3 – クロスサイトスクリプティング (XSS) A4 – 安全でないオブジェクト直接参照 A4 – 安全でないオブジェクト直接参照 A5 – クロスサイトリクエストフォージェリ (CSRF) A5 – セキュリティ設定のミス A6 – セキュリティ設定のミス A6 – 機密データの露出 A7 – 安全でない暗号化データ保管 A7 – 機能レベルアクセス制御の欠落 A8 – URLアクセス制限の失敗 A8 – クロスサイトリクエストフォージェリ(CSRF) A9 – 不十分なトランスポート層保護 A9 – 既知の脆弱性を持つコンポーネントの使用 A10 – 未検証のリダイレクトとフォーワード A10 – 未検証のリダイレクトとフォーワード OWASP Top 10 https://www.owasp.org/index.php/Category:OWASP_Top_Ten_Project https://www.owasp.org/images/7/79/OWASP_Top_10_2013_JPN.pdf ©Murachi Akira | This material provided by CC BY-NC-ND19 2017/2/25
  • 20. どんな脅威があるのか(2) 2017/2/25©Murachi Akira | This material provided by CC BY-NC-ND20 IPA 情報セキュリティ10大脅威 2017 昨年 順位 個人 順位 組織 昨年 順位 1位 インターネットバンキングや クレジットカード情報の不正利用 1位 標的型攻撃による情報流出 1位 2位 ランサムウェアによる被害 2位 ランサムウェアによる被害 7位 3位 スマートフォンやスマートフォンアプリを狙っ た攻撃 3位 ウェブサービスからの個人情報の窃取 3位 5位 ウェブサービスへの不正ログイン 4位 サービス妨害攻撃によるサービスの停止 4位 4位 ワンクリック請求などの不当請求 5位 内部不正による情報漏えいとそれに伴う 業務停止 2位 7位 ウェブサービスからの個人情報の窃取 6位 ウェブサイトの改ざん 5位 6位 匿名によるネット上の誹謗・中傷 7位 ウェブサービスへの不正ログイン 9位 8位 情報モラル不足に伴う犯罪の低年齢化 8位 IoT機器の脆弱性の顕在化 ランク 外 10位 インターネット上のサービスを悪用した攻撃 9位 攻撃のビジネス化 (アンダーグラウンドサービス) ランク 外 ランク 外 IoT機器の不適切管理 10位 インターネットバンキングや クレジットカード情報の不正利用 8位 https://www.ipa.go.jp/security/vuln/10threats2017.html
  • 22. HTML5 Web アプリの「情報資産」 2017/2/25©Murachi Akira | This material provided by CC BY-NC-ND22  サービスの継続性  アプリケーション提供の継続性  アプリケーション レスポンスの品位維持  SLA  アプリケーションそのもの  サーバー サイドのソースコード  サーバー サイドのデーターベース  その他のアセット  ユーザーから預かる情報  ユーザー個人情報  パスワード ハッシュ
  • 23. サービスの継続性 2017/2/25©Murachi Akira | This material provided by CC BY-NC-ND23  アプリケーション提供の継続性  アプリケーションのサービスが停止・中断して はいけない  アプリケーション レスポンスの品位維持  ユーザーが苦痛を感じないレスポンスの品位を 保たなければならない  SLA (Service Level Agreement)  ユーザーとの契約は守らなければいけない
  • 24. サービスの継続性への脅威 2017/2/25©Murachi Akira | This material provided by CC BY-NC-ND24  サーバーの破壊(侵入/物理攻撃)  アプリケーションの停止/パフォーマンス低下  サーバーの改竄/不正利用 (侵入/インジェクション/脆弱性経由)  アプリケーションの乗っ取り(ページ改竄)  踏み台として利用される  DoS (DDoS)  アプリケーションの停止/パフォーマンス低下
  • 25. アプリケーションそのもの 2017/2/25©Murachi Akira | This material provided by CC BY-NC-ND25  サーバー サイドのソースコード  ビジネス ロジック=営業秘密  プレゼンテーションロジック=ノウハウの塊  改竄=アプリケーションの乗っ取り  サーバー サイドのデーターベース  製品情報/販売情報/価格情報 =文字通りの営業秘密  その他のアセット  表示用のテキスト/画像など
  • 26. アプリケーションそのものへの脅威 2017/2/25©Murachi Akira | This material provided by CC BY-NC-ND26  コードの漏洩(侵入/脆弱性経由)  営業秘密/ノウハウの流出  コード/アッセトの改竄(侵入/インジェク ション/脆弱性経由)  アプリケーションの乗っ取り=スニッ フィング、攻撃者サイトへの誘導  データベースへの攻撃 (インジェクション/脆弱性経由)  営業秘密/ユーザー情報の流出・損失
  • 27. ユーザーから預かる情報 2017/2/25©Murachi Akira | This material provided by CC BY-NC-ND27  ユーザー個人情報  ユーザー登録情報(氏名、住所、メールアド レス、カード番号……etc.)  ユーザー入力  フロントエンドの脆弱性に注意する所  パスワード ハッシュ  「パスワードそのもの」の保管は論外  単純なハッシュはレインボー テーブルで解析 可能  Salt + ハッシュ ストレッチングは必須
  • 28. ユーザーから預かる情報への脅威 2017/2/25©Murachi Akira | This material provided by CC BY-NC-ND28  個人情報データーベースへの攻撃  SQL インジェクション  侵入/脆弱性経由  パスワード ハッシュ データベースへの攻撃  SQL インジェクション  侵入/脆弱性経由  XSS によるユーザ情報の暴露/漏洩  CSRF によるユーザ情報の暴露/漏洩
  • 29. 脅威への対応 2017/2/2529 ©Murachi Akira | This material provided by CC BY-NC-ND
  • 30. 脅威への対処 2017/2/25©Murachi Akira | This material provided by CC BY-NC-ND30  脅威について知る  ここまでの話  脆弱性を作りこまない  インシデントに正しく対処する
  • 31. 脆弱性を作りこまない 2017/2/2531 ©Murachi Akira | This material provided by CC BY-NC-ND
  • 32. 「脆弱性を作りこまない」 2017/2/25©Murachi Akira | This material provided by CC BY-NC-ND32  HTML5 Webアプリでありがちな フロントエンドの脆弱性  クロスサイトスクリプティング (XSS) ⇒ DOM based XSS  既知の脆弱性を持つコンポーネントの 使用  未検証のリダイレクトとフォーワード
  • 33. XSS (DOM based XSS) 33 2017/2/25©Murachi Akira | This material provided by CC BY-NC-ND
  • 34. クロスサイト スクリプティング  外部入力を元にした  コンテンツの動的生成により  実行可能なスクリプトが生成され  Web アプリケーションのセキュリ ティ コンテキストで実行される  セキュリティ コンテキスト = SOP (Same Origin Policy) = ユーザーの信頼 ©Murachi Akira | This material provided by CC BY-NC-ND34 2017/2/25
  • 38. DOM based XSS のコード例 https://www.owasp.org/index.php/DOM_Based_XSS より引用 ©Murachi Akira | This material provided by CC BY-NC-ND38 2017/2/25
  • 39. DOM based XSS の発現 …/page.html?default=<script>alert(document.cookie)</scri pt>" document.location.href.indexOf("default=")+8) 取得される文字列 "<script>alert(document.cookie)</script>" document.write("<script>alert(document.cookie)</script>“) ©Murachi Akira | This material provided by CC BY-NC-ND39 2017/2/25
  • 40. ブラウザーの XSS フィルター  リクエストとレスポンスを比較して XSS を検出するとコード実効を抑止す る機能  一般的な XSS : 〇 検知・抑止できる場合が少なくない  DOM based XSS : × 検知・抑止できない場合が多い ©Murachi Akira | This material provided by CC BY-NC-ND40 2017/2/25
  • 41. DOM based XSS の実例(1) に誘導 参考 https://www.ipa.go.jp/files/000024729.pdf ©Murachi Akira | This material provided by CC BY-NC-ND41 2017/2/25
  • 42. DOM based XSS の実例(2) 参考 https://www.ipa.go.jp/files/000024729.pdf ©Murachi Akira | This material provided by CC BY-NC-ND42 2017/2/25
  • 43. DOM based XSS の実例(3) http://utf-8.jp/public/20140908/owasp-hasegawa.pdf より 引用 ハッシュ (# の後ろ) はサーバーに送信されないので、サーバーでの検知が できないパターン ©Murachi Akira | This material provided by CC BY-NC-ND43 2017/2/25
  • 44. XSS - ソースとシンク  ソース (sources) DOM based XSS の攻撃コードが 注入される場所  シンク (sinks) DOM based XSS の攻撃コードが JavaScript コードとして発現する場所 ©Murachi Akira | This material provided by CC BY-NC-ND44 2017/2/25
  • 45. XSS -ソースからシンクへ 2017/2/25©Murachi Akira | This material provided by CC BY-NC-ND45 ユーザー入力 ソースにセット ソースから取得 シンクに値を出力 XSS 発現
  • 46. XSS -ソース (sources)  location.hash  location.search  location.href  document.cookie  document.referrer  window.name  Web Storage  IndexedDB 外部から操作可能な データの源泉 ©Murachi Akira | This material provided by CC BY-NC-ND46 2017/2/25
  • 47. XSS -シンク (sinks)  innerHTML  location.href  document.write  eval  setTimeout, setInterval  Function  jQuery(), $(), $.html() テキストの出力 コードの生成 実行 ©Murachi Akira | This material provided by CC BY-NC-ND47 2017/2/25
  • 48. XSS - Mutation-based XSS (mXSS)  DOM based XSS の変種 HTML element String HTML element innerHTML で取得 innerHTML で書き出し 元の HTML と書きだした HTML が同一にならない ©Murachi Akira | This material provided by CC BY-NC-ND48 2017/2/25
  • 49. XSS - mXSS  innerHTML / outerHTML を参照する と本来のDOM構造とは異なる文字列 が取得される場合がある  取得した文字列をそのまま innerHTML / outerHTML などで出力 すると、実行可能な JavaScript コード が生成される ©Murachi Akira | This material provided by CC BY-NC-ND49 2017/2/25
  • 50. XSS - Mutation-based XSS の例 http://utf-8.jp/public/20140908/owasp-hasegawa.pdf より 引用 ©Murachi Akira | This material provided by CC BY-NC-ND50 2017/2/25
  • 51. DOM based XSS の対策 51 2017/2/25©Murachi Akira | This material provided by CC BY-NC-ND
  • 52. XSS - DOM based XSS の対策  HTML 生成時にエスケープ JavaScript Escape / HTML Escape / URL Escape  DOM 操作メソッド / プロパティの利用  URL 生成のスキームの限定  CSP(Content Security Policy)の利用  Iframe sandbox の利用  ライブラリの更新 (ライブラリに脆弱性があることも) ©Murachi Akira | This material provided by CC BY-NC-ND52 2017/2/25
  • 53. XSS - DOM 操作メソッド/プロパティの利用  createElement( )  createTextElement( )  createTextNode( )  appendChild( )  insertBefor( )  setAttribute( ) ©Murachi Akira | This material provided by CC BY-NC-ND53 2017/2/25
  • 54. XSS -逆に利用を避けるべき  innerHTML  outerHTML  document.write( )  document.writeln( )  String リテラルを組み立ててそのまま HTML と して出力しないのが基本 ©Murachi Akira | This material provided by CC BY-NC-ND54 2017/2/25
  • 55. XSS - URL 生成のスキームを限定する  リンク(URL)の動的生成も危険  javascript: スキームなど任意の スキームのURLを生成しない  HTTP (HTTPS) のURLのみ生成する ©Murachi Akira | This material provided by CC BY-NC-ND55 2017/2/25
  • 56. XSS - CSP(Content Security Policy)  ポリシー ベースでスクリプトのロー ドと実行に強い制約を課す仕組み ©Murachi Akira | This material provided by CC BY-NC-ND56 2017/2/25
  • 57. XSS - CSP(Content Security Policy)の利用  サーバー ヘッダー Content-Security-Policy でポリシーを構成  Firefox, Chrome, Safari, Edge で利用可 能  IE は IE10 以降で X-Content-Security-Policy で部分的サポート ©Murachi Akira | This material provided by CC BY-NC-ND57 2017/2/25
  • 58. XSS - Content Security Policy の効果  コンテンツを読み込むドメイン / プロトコルを 制限できる  コード インジェクションによる外部コンテンツの読み 込みを防ぐ  インライン JavaScript を無効にする  XSS / DOM base XSS の無効化  インライン イベント ハンドラーを無効にする  必要があれば外部スクリプトから addEventListener() でハンドラーを設定する  eval() も無効にする ©Murachi Akira | This material provided by CC BY-NC-ND58 2017/2/25
  • 59. XSS - Content Security Policy の設定例  Content-Security-Policy: default-src ‘self’  すべてのコンテンツをサイト自身のドメイン (サブドメインを除 く) から読み込む  Content-Security-Policy: script-src ‘self’  スクリプトの読み込みをサイト自身のドメイン (サブドメインを 除く) に制限する  Content-Security-Policy: default-src ‘self’ *.mydomain.com  サイト自身のドメインおよび、信頼されたドメインとそのすべて のサブドメインからのコンテンツを許可(それ以外は制限)  Content-Security-Policy: default-src https://banking. bank.com  banking. bank.com サイトのすべてのコンテンツを SSL を使用し て読み込む ©Murachi Akira | This material provided by CC BY-NC-ND59 2017/2/25
  • 60. XSS - Content Security Policy の利用は計画的に  Content Security Policy は強力な分、副作 用も強い  既存のアプリケーションに適用するのは ハードルが高い  まずは Content-Security-Policy-Report-Only から ©Murachi Akira | This material provided by CC BY-NC-ND60 2017/2/25
  • 61. Content-Security-Policy-Report-Only 2017/2/25©Murachi Akira | This material provided by CC BY-NC-ND61  例 Content-Security-Policy-Report-Only: ⏎ default-src 'self'; ⏎ report-uri http://example.com/csp-report  CSP違反レポートだけ report-uri で指定するサーバーに 送信される(ブラウザーでのレンダリング、JS 実行には 影響を与えない)  違反レポートは簡単な JSON なので、サーバーは受信し た JSON をデータベースに貯めるだけで OK  レポートを見て、直せるところから直す (実際は1行)
  • 62. iframe sandbox の利用  動的に生成する要素を iframe に封じ込める  iframe に sandbox 要素を指定してフレーム 内コンテンツに制限を掛ける コンテンツを 動的に生成 <iframe sandbox id="foo"> 制限された コンテンツ ©Murachi Akira | This material provided by CC BY-NC-ND62 2017/2/25
  • 63. XSS - iframe sandbox の設定例  <iframe sandbox src="frame1.html">  すべての制限を有効にする  <iframe sandbox="allow-forms" src="frame1.html">  フォームの動作を許可する  <iframe sandbox="allow-same-origin" src="frame1.html">  フレーム内コンテンツを親と同じオリジンと見做す ©Murachi Akira | This material provided by CC BY-NC-ND63 2017/2/25
  • 64. XSS - iframe sandbox の効果  許可の指定をしない限り強い制限  フォームの動作不可  スクリプト実行不可  ポップ アップの作成不可  親コンテンツとは別のオリジンになる (SOP の制限適用)  親レベルのコンテンツの読み込み・操作不可 ©Murachi Akira | This material provided by CC BY-NC-ND64 2017/2/25
  • 67. 脆弱なコンポーネント – 必要以上に外部ライブラリに依存しない  HTML5 で強化された機能を積極的に 利用することで外部ライブラリ依存 は減らせる  単純な操作であればライブラリより ネイティブに書いた方が速い ©Murachi Akira | This material provided by CC BY-NC-ND67 2017/2/25
  • 68. 脆弱なコンポーネント – 最新のライブラリを使用/更新する  作成時の「最新」 ⇒✖  稼働時は「常に最新」 ⇒〇 ©Murachi Akira | This material provided by CC BY-NC-ND68 2017/2/25
  • 69. 脆弱性情報へのアンテナを張る  最新のセキュリティ情報を把握する  公開脆弱性データベース  JVN (Japan Vulnerability Notes)  CVE (Common Vulnerabilities and Exposures)  NVD (National Vulnerability Database)  ライブラリのプロジェクトのメーリングリスト  セキュリティ関連のメーリングリスト  セキュリティ系勉強会 ©Murachi Akira | This material provided by CC BY-NC-ND69 2017/2/25
  • 72. 未検証のリダイレクトとフォーワード  オープン リダイレクターを作りこま ない  任意の場所へ遷移可能なフォーワー ダーを作りこまない ©Murachi Akira | This material provided by CC BY-NC-ND72 2017/2/25
  • 73. リダイレクトとフォーワードの対策  リダイレクトやフォーワードの使用を できるかぎり避ける  本当に必要ですか?  ユーザ パラメータで遷移先を決定しない  遷移先パラメータが必要な場合、提供され た値の検証をおこなう  遷移先を限定する  遷移先ドメインのリスト化 ©Murachi Akira | This material provided by CC BY-NC-ND73 2017/2/25
  • 74. インシデントへの対処 2017/2/2574 ©Murachi Akira | This material provided by CC BY-NC-ND
  • 75. インシデントが起きる理由 2017/2/25©Murachi Akira | This material provided by CC BY-NC-ND75  プログラム上の脆弱性  組織マネジメントの脆弱性  個人マネジメントの脆弱性
  • 76. インシデント - 脆弱性の発見・報告 2017/2/25©Murachi Akira | This material provided by CC BY-NC-ND76  自社プログラム/サービスの脆弱性の発見・報 告  自社内で発見  ユーザーや研究者から直接  IPA などの公的機関経由  ネット上などで暴露  利用しているプラットフォームの脆弱性発見  フレームワークの脆弱性  データベースの脆弱性  OS / クラウドの脆弱性
  • 77. インシデント - インシデントの発生 2017/2/25©Murachi Akira | This material provided by CC BY-NC-ND77  自社内で発生を発見  外部からの報告  ユーザーや研究者から直接  IPA などの公的機関経由  ネット上などで暴露
  • 78. インシデント - 優先課題を切り分ける 2017/2/25©Murachi Akira | This material provided by CC BY-NC-ND78  優先するのは何?  脆弱性の改修?  ユーザーへの告知?  サービスを止める?/止めない? 判断基準は?
  • 79. 問題の深刻度を計測する 2017/2/25©Murachi Akira | This material provided by CC BY-NC-ND79  脆弱性の深刻度評価  共通脆弱性評価システムCVSS概説 http://www.ipa.go.jp/security/vuln/CVSS.html  CVSS 計算ツール http://jvndb.jvn.jp/cvss/ScoreCalc2.swf?lang=ja  評価の着目点  攻撃の行いやすさ/成功しやすさ  機密性・完全性・可用性への影響の大きさ  発生する被害の大きさ
  • 80. 深刻度の評価は難しい 2017/2/25©Murachi Akira | This material provided by CC BY-NC-ND80  脆弱性の技術的詳細を理解しないと評価し にくい場合が少なくない  しかし難解な場合も多い  公開されている CVSS が自組織に適合する とは限らない  自組織固有の状況を考慮しなければならない  ユーザーに影響する場合、技術的な評価だ けで判断できない  ユーザー心理に配慮しなければならない
  • 81. 評価の精度を上げるには 2017/2/25©Murachi Akira | This material provided by CC BY-NC-ND81  守るべき物=自分(自社)のアプリケー ション/システムの全体像を良く知る  脆弱性情報に親しむ  インシデント対応に慣れる
  • 82. 守るべきものの全体像を知る 2017/2/25©Murachi Akira | This material provided by CC BY-NC-ND82  利用しているテクノロジーを確認  システムのインフラ (サーバーOS/ネットワーク/etc.)  ミドルウエア (データベース/フレームワーク/etc. )  外部コンポーネント/ライブラリ
  • 83. 脆弱性情報へのアンテナを張る  最新のセキュリティ情報を把握する  公開脆弱性データベース  JVN (Japan Vulnerability Notes)  CVE (Common Vulnerabilities and Exposures)  NVD (National Vulnerability Database)  ライブラリのプロジェクトのメーリングリスト  セキュリティ関連のメーリングリスト  セキュリティ系勉強会 ©Murachi Akira | This material provided by CC BY-NC-ND83 2017/2/25
  • 85. 予行演習を実施する 2017/2/25©Murachi Akira | This material provided by CC BY-NC-ND85  インシデント対応の予行演習を 定期的に実施する  セキュリティの「防災訓練」
  • 86. まとめ 86 2017/2/25©Murachi Akira | This material provided by CC BY-NC-ND
  • 87. 本日の Agenda ©Murachi Akira | This material provided by CC BY-NC-ND87 2017/2/25  HTML5 Web アプリケーションの セキュリティについて理解する 守るべきものは何か 何が脅威なのか 脅威からどのように守るのか どのように脅威を正しく評価 するのか
  • 88. Call to Action  IPA(情報処理推進機構)サイトのウオッチ  情報セキュリティ https://www.ipa.go.jp/security/index.html  セキュア・プログラミング講座 http://www.ipa.go.jp/security/awareness/vendor/progra mming/  OWASP (Open Web Application Security Project ) を知る  Welcome to OWASP https://www.owasp.org/  OWASP Japan https://www.owasp.org/index.php/Japan  セキュア プログラミングの実践  セキュリティ勉強会への参加 ©Murachi Akira | This material provided by CC BY-NC-ND88 2017/2/25
  • 89. Web アプリ セキュリティの参考図書・資料 2017/2/25©Murachi Akira | This material provided by CC BY-NC-ND89  体系的に学ぶ 安全なWebアプリケーションの作り方 脆弱性が生まれる原理と対策の実践  https://www.amazon.co.jp/dp/4797361190  徳丸浩のWebセキュリティ教室  https://www.amazon.co.jp/gp/product/4822279987/  ブラウザハック  https://www.amazon.co.jp/dp/479814343X  UTF-8.jp  http://utf-8.jp/  安全なウェブサイトの作り方  https://www.ipa.go.jp/security/vuln/websecurity.html
  • 90. 勉強会情報  OWASP Night / OWASP Day  https://owasp.doorkeeper.jp/  江戸前セキュリティ勉強会  https://sites.google.com/site/edomaesec/  Shibuya.XSS  http://shibuyaxss.connpass.com/  脆弱性診断研究会  https://security-testing.doorkeeper.jp/ ©Murachi Akira | This material provided by CC BY-NC-ND90 2017/2/25
  • 91. 2017/2/2591 ©Murachi Akira | This material provided by CC BY-NC-ND