1 安全性の高いセッション管理方 式 の Servlet への導入 東京工業大学 理学部 千葉研究室所属 99-2270-6 松沼 正浩.

Slides:



Advertisements
Similar presentations
セッション管理 ソフトウェア特論 第 8 回. ここでの内容 セッション管理の基本を知る。 HttpSession の使い方を知る。
Advertisements

情報の交換・共有・蓄積を目的とした GIS リモートコミュニケーションシステム の実装 Sho Otake Graduate Department of Computer and Information Systems The University of Aizu 1 Hirohide Demura,
1 情報処理基礎 2006 年 7 月 6 日. 2 本日の学習項目 HTML 文書の基礎知識を習得する。 ホームページ・ビルダーの基本的な使 い方を習得する。 ホームページの作成 自己紹介のためのホームページを作成する。
Web アプリケーション開発 ~図書館管理システム~ 北海道情報大学 情報メディア学 部 情報メディア学科 新井山ゼミ 高橋 隼.
1 JSP の作成 JSF による Web アプリケーション 開発 第 4 回. 2 ここでの内容 JSF での JSP の作り方と動かし方につい て学ぶ。
1 PHP プログラムの実行(まと め) 担当 岡村耕二 月曜日 2限 平成 22 年度 情報科学 III (理系コア科目・2年生) 本資料の一部は、堀良彰准教授、天野浩文准教授、菅沼明 准教授等による以前の講義資料をもとにしています。
Web アプリをユーザー毎に カスタマイズ可能にする AOP フレームワーク
「図書管理」のための Webアプリケーション開発 -Apache/Tomcat/MySQL/Java on Windows XP-
Curlの特徴.
情報基礎A 情報科学研究科 徳山 豪.
ブラウザの基本操作 前のページに戻る ブラウザの左上にある 「戻る」ボタンで、自分がたどってきた一つ前のページに戻ることができます。
JPAを利用した RESTful Webサービスの開発
WEBから確認できる 駐車場管理システムについて
Struts1.xの脆弱性(CVE ) に対するSDEの対処:推奨タイプ (サンプルソースコードの公開)
第2章 ネットサービスとその仕組み(前編) [近代科学社刊]
IaaS 仮想マシン(VM)をネットワーク経由で提供 負荷に応じてVM数や性能を変更できる ハードウェアの導入・管理・維持コストの削減
Struts1.xの脆弱性(CVE ) に対するSDEの対処:wrapタイプ (パッチのご提供)
エンタープライズアプリケーション II 第10回 / 2006年7月23日
Servlet J2EE I 第8回 /
EpWWWサーバ 北海道大学 理学院 宇宙理学専攻 M1 古田裕規.
WWW (=World Wide Web)とは
JavaServlet&JSP入門 01K0018 中村太一.
「コンピュータと情報システム」 07章 インターネットとセキュリティ
Webアプリケーション.
Vulnerability of Cross-Site Scripting
オペレーティングシステムⅡ 第3回 講師 松本 章代 VirtuaWin・・・仮想デスクトップソフト 2009/10/16.
BlueBeanClientを用いた連携の概要
PHP 実用的なサンプル 浅川 和久 2017/3/18 PHP 実用的なサンプル.
Enterprise CALS Systemの開発
セッション管理 J2EE I 第9回 /
アプリケーション共有機能 〈参考〉 (図1) (図2)
HTTPプロトコルとJSP (1) データベース論 第3回.
JQueryでAjax 藤田@ジャストプレイヤー ※参考しまくり文献 jQuery日本語リファレンス.
Curlの仕組み.
JSFによるWebアプリケーション開発 第6回
HTTPプロトコル J2EE I 第7回 /
JSPの作成 J2EE II 第3回 2005年4月10日.
情報コミュニケーション入門 総合実習(1) 基礎知識のポイント(2)
ユーザ毎にカスタマイズ可能な Web アプリケーション用のフレームワークの実装
データベース設計 第9回 Webインタフェースの作成(1)
Javaによる Webアプリケーション入門 第9回
QuestionnairToolの開発 中村太一.
空間情報サーバ (株)パスコ.
第8章 Web技術とセキュリティ   岡本 好未.
2003年度 データベース論 安藤 友晴.
Webアプリケーションの方向性 データベース論 第13回.
Javaによる Webアプリケーション入門 第6回
ユーザ毎にカスタマイズ可能な Webアプリケーションの 効率の良い実装方法
第7回JavaScriptゼミ セクション4-5 発表者 直江 宗紀.
Windows Vista ウィルスバスターインストール方法 ユーザーアカウント制御の無効化 ウィルスバスターのインストール
制作技術ー3 双方向通信 : CGIシステムと環境変数
Webセキュリティ 情報工学専攻 1年 赤木里騎 P226~241.
Jakarta Struts (2) ソフトウェア特論 第11回.
Javaによる Webアプリケーション入門 第2回
Webコミュニティ概念を用いた Webマイニングについての研究 A study on Web Mining Based on Web Communities 清水 洋志.
JSFによるWebアプリケーション開発 第3回
北海道情報大学 情報メディア学部 情報メディア学科 新井山ゼミ 金子拓磨
Webアプリケーションと JSPの基本 ソフトウェア特論 第4回.
地域生活支援システムの開発 越田研究室 j0431 野津洋二.
Webページに動きを持たせるJavascript言語について 例題のプログラムを通して体験的に理解することとします。
JSPの基本 データベース論 第2回.
Jakarta Struts (1) ソフトウェア特論 第10回.
ユビキタスコンピューティングの ための ハンドオーバー機能付きRMIの実装
JSPの基本 J2EE I (データベース論) 第8回 /
強制パススルー機構を用いた VMの安全な帯域外リモート管理
Microsoft Office Project Server 2007
特定ユーザーのみが利用可能な仮想プライベート・ネットワーク
SMTPプロトコル 2001年8月7日 龍 浩志.
Webプロキシ HTTP1.1 ヒント CS-B3 ネットワークプログラミング  &情報科学科実験I.
VPNクライアント接続 サーバー保守のための安全な経路+作業者単位のアクセス制御 簡単な図 (網羅性より象徴性)
Presentation transcript:

1 安全性の高いセッション管理方 式 の Servlet への導入 東京工業大学 理学部 千葉研究室所属 99-2270-6 松沼 正浩

2 研究目標 Servlet ・ JSP の安全なセッション管理  セッション管理 Web サーバーが複数のページ間でクライアントの情報を維 持するための仕組み  例・・・電子商取引における取引に関する情報など Servlet ・ JSP におけるセッション管理法  ID による自動的な管理  手動によって Form や cookie などに直接セッション情 報を格納

3 Data ID によるセッション管理 clientA clientB Web server (tomcat) ID=1 Account Password Data ・・ ・ ID=1 Account Password Data ・・ ・ ID=2 Account Password Data ・・ ・ ID=2 Account Password Data ・・ ・ ID=1 ID=2 クライアント毎に異なる ID を配 布 Server は ID を元にデータを管理 アクセス ID 確認 データ取得 インターネット チェック tomcat: サーブレットエンジン

4 従来のセッション ID 管理と問題点 HTTP コネクション毎に ID を自動的に管理 (Session クラス ) ID を cookie に格納 クライアント側で ID を管理 問題点  第三者に漏洩 → ID から個人情報取得・悪用 (クロスサイト スクリプティング) ID をリクエスト URL に格納 例: 問題点  リクエスト URL はリンク先のサーバに残る可能性が ある ( Referer 機能により)

5 手動のセッション管理 Form の利用 タグ・・・入力パラメータ無しのページ移動の手段 タグ・・・入力パラメータ付きのページ移動の手段 hidden パラメータへクライアント情報を入れる hidden パラメータ ・・・ Form のブラウザ上に表示されない INPUT フィールド ・・・比較的安全だとされている 使用上の問題点 ページ移動時には、 タグは使えず タグを使用しなく てはならない ブラウザの「戻る」機能が正常に機能しなくなる セッション管理に用いる場合、全てのページで Servlet ・ JSP コードを書き変えが大変である

6 本研究の提案 簡単で安全なセッション管理 ID の自動管理方式に選択肢を追加 ID の管理方式に hidden パラメータを追加 管理方式は三方式から選択可能 ( cookie ・リクエスト URL ・ hidden 方式) cookie をセキュアに拡張 cookie 使用時に自動的に認証を行うメソッドの 追加 Session クラス不使用時のセキュリティを向上

7 解決策 hidden パラメータ方式の追加 ID の自動管理方式に hidden パラメータを使用可能 に 自動で送信 h tmlファイルのコード変換 Form の INPUT 文の追加 JavaScript の挿入 → 手書きをしなくて済む → タグの使用が可能 ページの書き換えが大変である! タグを タグに変更 hidden パラメータ自体の書き込み

8 実際のコード変換 最終的な送信 html ファイルの内容を全てチェッ クし、 タグ 同 タグ内に の一行を追加する タグ 新たに Form のページを作成する JavaScript と、そ れを送信する JavaScript を書き加える リンクをクリックすると上記の JavaScript が起動 するよ うに タグを変更

9 起動する JavaScript コード function formwindow(href) { document.write( " “ ); document.write( “ ” ); document.write( “ document.NINNSHOU.submit() "); } Form ページ作成用 Script Form 送信用 Script hidden パラメータ

10 cookie 用の新メソッド Session クラスを用いない場合のセッション管 理 cookie 使用時に自動的に認証を行う cookie に格納された情報を取得する時に認証を行う 新メソッドを追加 旧メソッド: getValue () 新メソッド: secureGetValue () cookie 情報が盗まれても、認証をクリアさせなければ セッションジャックを防げる

11 Webstone ベンチマークによる実 験 hidden パラメータへ の変換の影響を調べ る 送信 html ファイルの 大きさを変えてサー バのスループットを 計測 考察 html 内のコード変換 が最も大きなボトル ネックとなっている

12 まとめ Tomcat への追加機能の提案と実装 安全とされる hidden パラメータ方式を セッション ID の管理方式 に追加 送信 html のコード変換することで自動化と タグの 使用を実現 ・・・見栄えの悪さを解消 cookie 使用時に自動的に認証を要求するメソッド 今後の課題 html ファイルのコード変換がパフォーマンス上の ボトルネックになっているので、ここを改善する