岡村耕二 http://okaweb.ec.kyushu-u.ac.jp/lectures/in/ サイバーセキュリティ Web セキュリティ 岡村耕二 http://okaweb.ec.kyushu-u.ac.jp/lectures/in/ 情報ネットワーク.

Slides:



Advertisements
Similar presentations
1 情報基礎 A 第 9 週 プログラミング入門 VBA の基本文法 1 準備・変数・データの入出力 徳山 豪・全 眞嬉 東北大学情報科学研究科 システム情報科学専攻 情報システム評価学分野.
Advertisements

情報基礎A 情報科学研究科 徳山 豪.
DB(データベース)のおはなし 作成者:小野正広 DBと言っても、  ドラゴンボール ではないですぞ! 3/1/2017.
大学入門講座の 実施に向けて ●桑折範彦   
情報理工学部 情報システム工学科 3年 H 井奈波 和也
サイバーセキュリティ演習 ― Webセキュリティ基礎&実践―
JPAを利用した RESTful Webサービスの開発
2016年度秋期 情報セキュリティマネジメント試験 対策講座のご案内
情報処理基礎 2006年 6月 1日.
IDLTM/IONTMを使用した UDON (Universe via Darts ON-line) プロトタイプの作成
PHPエディタによる 情報システム演習 01.
第1回 ガイダンス 工学部担当 教員 吉岡 理文 ・ 岩村 雅一
SQL J2EE I 第3回 /
PHP 概要 担当 岡村耕二 月曜日 2限 平成21年度 情報科学III (理系コア科目・2年生)
「コンピュータと情報システム」 07章 インターネットとセキュリティ
Webコミュニケーショングループ ~PHPの基礎~ M1 宮崎 真.
第4回 個人の動画配信補足のためのWeb構築
Vulnerability of Cross-Site Scripting
第1回 JavaScriptゼミ ・ scriptエレメント ・ 記述における諸注意 ・ 古いブラウザへの対応方法
オペレーティングシステムⅡ 第3回 講師 松本 章代 VirtuaWin・・・仮想デスクトップソフト 2009/10/16.
タグライブラリ ソフトウェア特論 第6回.
鳴門教育大学 大学院 総合学習開発講座 准教授 藤村 裕一
タグライブラリとJSP J2EE I 第10回 /
情報科学1(G1) 2016年度.
4-3.基本的なPHPスクリプト 2004年6月24日(木) 大北高広 01T6010F.
第13回 今日の目標 §4.3 情報セキュリティー 情報化社会の特徴を社会的な面から概観する 情報に関わる危険の要因を示す
HTTPプロトコルとJSP (1) データベース論 第3回.
サイバーセキュリティ演習 ― Webセキュリティ基礎&実践―
JQueryでAjax 藤田@ジャストプレイヤー ※参考しまくり文献 jQuery日本語リファレンス.
タグライブラリとJSP J2EE II 第2回 2004年10月7日 (木).
PHP 概要 担当 岡村耕二 月曜日 2限 平成20年度 情報科学III (理系コア科目・2年生)
2010年度 コンピュータリテラシー クラス:  B1 講義日: 前学期 月曜日7時限.
(B2) 親: minami, kazuki 多様な認証機器に対応する 認証システム (B2) 親: minami, kazuki.
サイバーセキュリティ演習 ― Webセキュリティ基礎&実践―
この資料は、テキストをもとに、講義のために作成したものです.学習用に活用してください.
データベース設計 データベース設計 第0回 オリエンテーション 坂口利裕.
マイクロソフト Access での SQL 演習 第1回 SQL問い合わせ(クエリ)
Javaによる Webアプリケーション入門 第5回
第8章 Web技術とセキュリティ   岡本 好未.
情報工学科 3年生対象 専門科目 システムプログラミング 第5回、第6回 ヒアドキュメント レポート課題 情報工学科 篠埜 功.
HTTPとHTML 技術領域専攻 3回 中川 晃.
第2回 SQL インジェクション その攻撃と対処 NECラーニング 山崎 明子.
鳴門教育大学 大学院 総合学習開発講座 准教授 藤村 裕一
理学部 情報科学科 指導教官 千葉 滋 助教授 学籍番号 03_03686 内河 綾
マイクロソフト Access での SQL 演習 第5回 副問い合わせ
09 06/23 PHP と SQL (MySQL) の連携 その1
WEBアプリケーションの開発 2002年度春学期 大岩研究会2.
Webセキュリティ 情報工学専攻 1年 赤木里騎 P226~241.
コンピュータ概論B ー ソフトウェアを中心に ー #09 データベース (後編)
情報スキル活用 第4週 基礎技術-4 : その1(タグのまとめ).
PHP 概要 担当 岡村耕二 月曜日 2限 平成22年度 情報科学III (理系コア科目・2年生)
ウェッブページ書法の復習 ネットワーク論以前のお話.
情報システム1及び演習 第一回 データベースの概要.
別紙1:政策学部のカリキュラム ■積み上げ型政策学教育 [基本教育] [導入教育] 大学院進学
サイバーセキュリティ演習 ― Webセキュリティ基礎&実践―
基礎プログラミング演習 第12回.
情報処理基礎A・B 坂口利裕 横浜市立大学・商学部
人を幸せにするアプリケーションの開発 2004年度春学期 大岩研究プロジェクト2 2004年4月8日(木) 発表:武田林太郎.
Webアプリケーションと JSPの基本 ソフトウェア特論 第4回.
構造的類似性を持つ半構造化文書における頻度分析
ガイダンス 電子計算機 電気工学科 山本昌志 1E
Webページに動きを持たせるJavascript言語について 例題のプログラムを通して体験的に理解することとします。
第14回放送授業.
JSPの基本 J2EE I (データベース論) 第8回 /
情報数学Ⅲ 5,6 (コンピュータおよび情報処理)
PHP と SQL (MySQL) の連携 日本語のデータを扱う
例題のプログラムを通して JavaScriptの仕組みを理解することとします。
SQL J2EE I (データベース論) 第3回 /
情報基礎Ⅰ 情報セキュリティの部 共通認証IDの使い方
オブジェクト指向言語論 第六回 知能情報学部 新田直也.
Presentation transcript:

岡村耕二 http://okaweb.ec.kyushu-u.ac.jp/lectures/in/ サイバーセキュリティ Web セキュリティ 岡村耕二 http://okaweb.ec.kyushu-u.ac.jp/lectures/in/ 情報ネットワーク

Web の仕組み (1) HTTP (HyperText Transfer Protocol) HTML (HyperText Markup Language) URL (Uniform Resource Locator) Web の仕組み (1) HTTP Request URL サーバ HTTP Response HTML <!doctype html public "-//W3C//DTD HTML 3.2 Final//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=iso-2022-jp"> <meta http-equiv="Content-Language" content="jp"> <link rev=made href="mailto:oka@ec.kyushu-u.ac.jp"> <TITLE>Home Page of Koji OKAMURA</TITLE> </HEAD> <BODY> <H3 Align="RIGHT"><A HREF="index.html">English</A>/Japanese</H3> <HR> <BR> 岡村 耕二 (おかむら こうじ) <BR><BR> 九州大学 教授 <BR> <BR> 【略歴 】 <UL> <LI>1988年 3月 九州大学 工学部 情報工学科 卒業 <LI>1990年 3月 九州大学大学院 工学研究科 情報工学専攻 修了 <LI>1990年 4月 三菱電機 株式会社 情報電子研究所 入所 <LI>1993年 4月 奈良先端科学技術大学院大学 情報科学研究科 助手 <LI>1996年 4月 神戸大学 総合情報処理センター 助手 <LI>1998年 3月 九州大学大学院 システム情報科学研究科 情報理学専攻 助手 <LI>1998年 4月 九州大学 情報処理教育センター 助教授 <LI>1998年 10月 九州大学大学院 システム情報科学研究科 (併任) <LI>1999年 4月 九州大学 工学部 兼任 <LI>2000年 4月 九州大学 情報基盤センター 助教授 パソコン 用意されているHTMLファイルをURLで指定する。

Webの仕組み(2) PHP (PHP: Hypertext Preprocessor) HTTP Request サーバ URL(PHPを指定) サーバ HTTP Response HTML パソコン <html> <head> ... </head> <body> <?php print("Hello, World!\n"); ?> </body>  </html> <html> <head> ... </head> <body> Hello, World! </body>  </html> "Hello, World!"と印字して,改行しなさい.

Webの仕組み(3) HTTP Request URL(PHPを指定) HTTP Response HTML パソコン Webサーバ データベース

パスワードは盗まれていないのに重要な情報が盗まれる。 データベースシステムの脆弱性を狙った攻撃 SQL インジェクション攻撃

SQLとは SQLは、リレーショナルデータベース管理シス テム (RDBMS) において、データの操作や定義 を行うためのデータベース言語(問い合わせ言 語) SQL Webサーバ データベース

リレーショナルデータベース管理システム(RDBMS) データを表に似た構造で管理するデータベース。複数 のデータ群が関係と呼ばれる構造で相互連結可能 userテーブル ログインID (id:文字列) ユーザ名 (name:文字列) パスワード (password:文字列) yamada Yamada Taro P@ssword suzuki Suzuki Jiro 3f858c accountテーブル ログインID (id:文字列) 口座番号 (account_id:数値) 残高 (balance:数値) yamada 1000001 100,000 1000002 200,000 suzuki 1000003 300,000 関係を持った複数のテーブルに分けて管理

SQLの基礎 データを検索する場合、 SELECT カラム1、カラム2 FROM テーブル名 [WHERE <条件>]; SELECT * FROM user WHERE id=‘yamada’; SELECT *:すべてのカラムを検索する FROM user:userテーブルから WHERE id=‘yamada’:id=yamadaに一致するレコー ドの

SQLの基礎 シングルクォート(’) コメント(--) SQLでは、データの区切り文字として使う。 シングルクォートで囲むことで文字列リテラルを定義 する 数値リテラルの定義の場合は不要 コメント(--) SQLでは、2連続のハイフン(--)以降は、コメント として扱う

SQLインジェクションとは 悪意のあるSQLを注入(インジェクション) し、Webアプリケーションが意図しないSQL 文を実行してしまうことで、データベースを 不正に操作されてしまう脆弱性

SQLインジェクションの原理 ユーザからの入力値をそのまま文字列リテラルに連結してSQL 文を組み立てることにより、意図しないSQL文を実行され、 データベースを不正に操作されてしまう

SQLを使った認証判定 ログインページの認証判定でSQLはよく使われる。 WHERE句の条件にあてはまるならば認証OK WHERE句の条件にあてはまらないならば認証NG ○:SELECT * FROM user WHERE id=‘yamada’ AND password=‘P@ssword’ ×:SELECT * FROM user WHERE id=‘suzuki’ AND password=‘12345678’ userテーブル ログインID (id:文字列) ユーザ名 (name:文字列) パスワード (password:文字列) yamada Yamada Taro P@ssword suzuki Suzuki Jiro 3f858c

一般的なSQL文の組み立て処理のやり方 指定したidの個人情報をuserテーブルから取得するSQL文を ユーザからの入力値(yamada)を利用して文字列連結により 組み立てる

パスワードは盗まれていないのに自分のポータルがアクセスされる。 クッキーが盗まれる クッキーとは クロスサイト・スクリプティングの脆弱性 総務省:国民のための情報セキュリティサイト

クロスサイト・スクリプティングの脆弱性の原理 ウェブアプリケーションがユーザから受け取った入力データ を、そのままの形(実行可能な形)でウェブページの出力に 利用してしまう

Printf(“%s”,$_POST[“name”]); <html> <head> ... </head> <body> <?php ?> </body>  </html> <html> <head> ... </head> <body> </body>  </html> 入力したものが表示される。 Script が書かれるとそれが実行される。 Printf(“%s”,$_POST[“name”]);

反射型クロスサイト・スクリプティングの攻撃手口 HTMLの文法上特別な意味を持つ特殊文字がそのまま使え ることを利用して、表示内容を書き換えるスクリプトを URLに組み込む。 JavaScriptの利用は、スクリプトタグを使う。 <script type=“text/javascript”>~</script>:javascript利用の宣言 特殊文字 & < > “ ‘

enPiT2 セキュリティ分野(SecCap) 修了要件 基礎科目(各学部が指定する科目から2科目4単位以上)(科目は予定) サイバーセキュリティ(情報ネットワーク) プログラミング論II コンピュータシステムI コンピュータアーキテクチャII サイバーセキュリティ基礎論 企業から見たサイバーセキュリティ 共通科目 拠点校(東北、慶應、大阪、岡山、東京電機)が開講、情報基盤 研究開発センター棟で遠隔に受講 PBL演習から最低1科目 九大では8-9月に PBL III(システム開発プロジェクト) として 開講予定 「成長分野を支える情報技術人材の育成拠点の形成(enPiT:エンピット)」は、高度IT人材の育成を目指す教育プログラムです。「セキュリティ分野」「ビッグデータ・AI分野」「組込みシステム分野」「ビジネスシステムデザイン分野」という4つの分野を対象に、大学・産業界の協力体制のもとで推進されるリアリティの高い講義や演習など、特色あるプログラムを通じて実社会においてイノベーションを起こすことができる人材を輩出します。 「セキュリティ分野(enPiT-Security)」では、11の大学が連携して運営するBasic SecCapコースを立ち上げています。これは喫緊の課題であるサイバーセキュリティ分野の人材育成を目標として、先進技術の知識に加え、理解・応用できる実践的能力の開発も含む人材育成を達成する教育を実施することを指向して、大学間連携による教育内容のダイバーシティと、産業界、あるいはセキュリティ関連団体との連携による実践的人材育成の教育コースを開発し実施する取り組みです。高度化する情報セキュリティの脅威を理解し、リスクマネジメントに必要な知識、基本的技術、実践力を備えた人材を育成します。

実践的サイバーセキュリティ演習‐H・L 9/19~22@九州大学 科目名とその概要 演習の内容 演習の内容 履修者の声 履修者の声 第6回enPiTシンポジウム 成長分野を支える情報技術人材の育成拠点の形成 科目名とその概要 セキュリティエンジニアリング演習 セキュリティを考慮して、ものづくりができる知識と技術を、サイバー攻撃とセキュリティ対策の演習を通じて学ぶ 習得できる技術: grep等UNIXコマンド, ssh, サーバの立ち上げ方等 PBL演習-H@金子先生 サイバーセキュリティ演習 PBL演習-L@岡村先生 演習装置を用いて典型的なサイバー攻撃を経験することで、セキュリティ対策についてハンズオン形式で学ぶ 習得できる技術: 不正アクセス経験、暗号解読のためのプログラミング、トラフィック解析、Webセキュリティ等 ここに金子先生より提供いただいた資料等を 演習の内容 演習の内容 チームごとに考案したIoTサービスのアイディアを電子回路の設計やプログラミングを行いながら実装し、セキュリティ対策を考慮したエンジ ニアリン グの体験 をしてい きました。 センサーデバイス、 データサーバ、遠 隔操作ロボットを用いた教材を利用して、IoT サービスのセキュリティ対策について実機を扱いながら学習しました。 サイバーレンジシステム を利用した実演習をおこ ないました。 ハンズオン形式の実機を用いたセキュリティインシデントの体験、演習 履修者の声 演習の最後には,各グループでセキュリティを考慮したウェブアプリケーションを開発し、発表会をおこないました。 Exploit を使った不正アクセス体験 手を動かし実践することで、頭で考えていたことをアウトプットして、理解を深めることができたし、100%アウトプットすることの難しさを非常に感じられた。 今後の実験にすごくいかせると感じた。 紙形式ではなくて,行った内容がすべて演習形式によるものなので,理解がしやすかった。 演習内容が繰り返し行われたので何をすればいいのかが分かりやすく、大まかな流れを掴むことができたかと思います。 セキュリティに関する講義は受講したことがあるが、実際に攻撃方法を試す演習を行うのは初めてだった。周辺の人との話し合いも有意義に行えていたと思う。 履修者の声 連絡先: 九州大学 情報基盤研究開発センター  岡村・小出・金子         TEL :  092‐802‐2655       Email:  kyudai@seccap.jp