Home Page of Koji OKAMURA
Download presentation
Presentation is loading. Please wait.
Published byありおき なつ Modified 約 6 年前
1
岡村耕二 http://okaweb.ec.kyushu-u.ac.jp/lectures/in/
サイバーセキュリティ Web セキュリティ 岡村耕二 情報ネットワーク
2
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 <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で指定する。
3
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!"と印字して,改行しなさい.
4
Webの仕組み(3) HTTP Request URL(PHPを指定) HTTP Response HTML パソコン Webサーバ
データベース
5
パスワードは盗まれていないのに重要な情報が盗まれる。
データベースシステムの脆弱性を狙った攻撃 SQL インジェクション攻撃
6
SQLとは SQLは、リレーショナルデータベース管理シス テム (RDBMS) において、データの操作や定義 を行うためのデータベース言語(問い合わせ言 語) SQL Webサーバ データベース
7
リレーショナルデータベース管理システム(RDBMS)
データを表に似た構造で管理するデータベース。複数 のデータ群が関係と呼ばれる構造で相互連結可能 userテーブル ログインID (id:文字列) ユーザ名 (name:文字列) パスワード (password:文字列) yamada Yamada Taro suzuki Suzuki Jiro 3f858c accountテーブル ログインID (id:文字列) 口座番号 (account_id:数値) 残高 (balance:数値) yamada 100,000 200,000 suzuki 300,000 関係を持った複数のテーブルに分けて管理
8
SQLの基礎 データを検索する場合、 SELECT カラム1、カラム2 FROM テーブル名 [WHERE <条件>];
SELECT * FROM user WHERE id=‘yamada’; SELECT *:すべてのカラムを検索する FROM user:userテーブルから WHERE id=‘yamada’:id=yamadaに一致するレコー ドの
9
SQLの基礎 シングルクォート(’) コメント(--) SQLでは、データの区切り文字として使う。
シングルクォートで囲むことで文字列リテラルを定義 する 数値リテラルの定義の場合は不要 コメント(--) SQLでは、2連続のハイフン(--)以降は、コメント として扱う
10
SQLインジェクションとは 悪意のあるSQLを注入(インジェクション) し、Webアプリケーションが意図しないSQL 文を実行してしまうことで、データベースを 不正に操作されてしまう脆弱性
11
SQLインジェクションの原理 ユーザからの入力値をそのまま文字列リテラルに連結してSQL 文を組み立てることにより、意図しないSQL文を実行され、 データベースを不正に操作されてしまう
12
SQLを使った認証判定 ログインページの認証判定でSQLはよく使われる。 WHERE句の条件にあてはまるならば認証OK
WHERE句の条件にあてはまらないならば認証NG ○:SELECT * FROM user WHERE id=‘yamada’ AND ×:SELECT * FROM user WHERE id=‘suzuki’ AND password=‘ ’ userテーブル ログインID (id:文字列) ユーザ名 (name:文字列) パスワード (password:文字列) yamada Yamada Taro suzuki Suzuki Jiro 3f858c
13
一般的なSQL文の組み立て処理のやり方 指定したidの個人情報をuserテーブルから取得するSQL文を ユーザからの入力値(yamada)を利用して文字列連結により 組み立てる
14
パスワードは盗まれていないのに自分のポータルがアクセスされる。
クッキーが盗まれる クッキーとは クロスサイト・スクリプティングの脆弱性 総務省:国民のための情報セキュリティサイト
15
クロスサイト・スクリプティングの脆弱性の原理
ウェブアプリケーションがユーザから受け取った入力データ を、そのままの形(実行可能な形)でウェブページの出力に 利用してしまう
16
Printf(“%s”,$_POST[“name”]);
<html> <head> ... </head> <body> <?php ?> </body> </html> <html> <head> ... </head> <body> </body> </html> 入力したものが表示される。 Script が書かれるとそれが実行される。 Printf(“%s”,$_POST[“name”]);
17
反射型クロスサイト・スクリプティングの攻撃手口
HTMLの文法上特別な意味を持つ特殊文字がそのまま使え ることを利用して、表示内容を書き換えるスクリプトを URLに組み込む。 JavaScriptの利用は、スクリプトタグを使う。 <script type=“text/javascript”>~</script>:javascript利用の宣言 特殊文字 & < > “ ‘
18
enPiT2 セキュリティ分野(SecCap) 修了要件
基礎科目(各学部が指定する科目から2科目4単位以上)(科目は予定) サイバーセキュリティ(情報ネットワーク) プログラミング論II コンピュータシステムI コンピュータアーキテクチャII サイバーセキュリティ基礎論 企業から見たサイバーセキュリティ 共通科目 拠点校(東北、慶應、大阪、岡山、東京電機)が開講、情報基盤 研究開発センター棟で遠隔に受講 PBL演習から最低1科目 九大では8-9月に PBL III(システム開発プロジェクト) として 開講予定 「成長分野を支える情報技術人材の育成拠点の形成(enPiT:エンピット)」は、高度IT人材の育成を目指す教育プログラムです。「セキュリティ分野」「ビッグデータ・AI分野」「組込みシステム分野」「ビジネスシステムデザイン分野」という4つの分野を対象に、大学・産業界の協力体制のもとで推進されるリアリティの高い講義や演習など、特色あるプログラムを通じて実社会においてイノベーションを起こすことができる人材を輩出します。 「セキュリティ分野(enPiT-Security)」では、11の大学が連携して運営するBasic SecCapコースを立ち上げています。これは喫緊の課題であるサイバーセキュリティ分野の人材育成を目標として、先進技術の知識に加え、理解・応用できる実践的能力の開発も含む人材育成を達成する教育を実施することを指向して、大学間連携による教育内容のダイバーシティと、産業界、あるいはセキュリティ関連団体との連携による実践的人材育成の教育コースを開発し実施する取り組みです。高度化する情報セキュリティの脅威を理解し、リスクマネジメントに必要な知識、基本的技術、実践力を備えた人材を育成します。
19
実践的サイバーセキュリティ演習‐H・L 9/19~22@九州大学 科目名とその概要 演習の内容 演習の内容 履修者の声 履修者の声
第6回enPiTシンポジウム 成長分野を支える情報技術人材の育成拠点の形成 科目名とその概要 セキュリティエンジニアリング演習 セキュリティを考慮して、ものづくりができる知識と技術を、サイバー攻撃とセキュリティ対策の演習を通じて学ぶ 習得できる技術: grep等UNIXコマンド, ssh, サーバの立ち上げ方等 PBL演習-H@金子先生 サイバーセキュリティ演習 PBL演習-L@岡村先生 演習装置を用いて典型的なサイバー攻撃を経験することで、セキュリティ対策についてハンズオン形式で学ぶ 習得できる技術: 不正アクセス経験、暗号解読のためのプログラミング、トラフィック解析、Webセキュリティ等 ここに金子先生より提供いただいた資料等を 演習の内容 演習の内容 チームごとに考案したIoTサービスのアイディアを電子回路の設計やプログラミングを行いながら実装し、セキュリティ対策を考慮したエンジ ニアリン グの体験 をしてい きました。 センサーデバイス、 データサーバ、遠 隔操作ロボットを用いた教材を利用して、IoT サービスのセキュリティ対策について実機を扱いながら学習しました。 サイバーレンジシステム を利用した実演習をおこ ないました。 ハンズオン形式の実機を用いたセキュリティインシデントの体験、演習 履修者の声 演習の最後には,各グループでセキュリティを考慮したウェブアプリケーションを開発し、発表会をおこないました。 Exploit を使った不正アクセス体験 手を動かし実践することで、頭で考えていたことをアウトプットして、理解を深めることができたし、100%アウトプットすることの難しさを非常に感じられた。 今後の実験にすごくいかせると感じた。 紙形式ではなくて,行った内容がすべて演習形式によるものなので,理解がしやすかった。 演習内容が繰り返し行われたので何をすればいいのかが分かりやすく、大まかな流れを掴むことができたかと思います。 セキュリティに関する講義は受講したことがあるが、実際に攻撃方法を試す演習を行うのは初めてだった。周辺の人との話し合いも有意義に行えていたと思う。 履修者の声 連絡先: 九州大学 情報基盤研究開発センター 岡村・小出・金子 TEL : 092‐802‐
Similar presentations
© 2024 slidesplayer.net Inc.
All rights reserved.