22
セセセセセセセセセセ - セセセセセセセセセ - 2015/5/30 Sat エエエエ !!AIZU

セキュリティ実践講座 -優しい愛をあなたに-

Embed Size (px)

Citation preview

Page 1: セキュリティ実践講座 -優しい愛をあなたに-

セキュリティ実践講座- 優しい愛をあなたに -

2015/5/30 Sat エフスタ !!AIZU

Page 2: セキュリティ実践講座 -優しい愛をあなたに-

自己紹介• 名前 :小倉 大 ( おぐら まさる )• Twitter : @MasaruOgura

• 北海道出身• ネットワークエンジニア• エフスタ !!TOKYO のスタッフ• SPREAD 情報セキュリティマイスター• スイーツ大好き

Page 3: セキュリティ実践講座 -優しい愛をあなたに-

アジェンダ• 目的• 留意事項• SQL インジェクションとは• デモ環境説明• デモ・解説• 対策• まとめ

Page 4: セキュリティ実践講座 -優しい愛をあなたに-

目的

• SQL インジェクションを知る  - 防御のために攻撃を理解する

• セキュリティへの関心を高める  - 家のローカル環境で試してくれる人がいるといいな

Page 5: セキュリティ実践講座 -優しい愛をあなたに-

留意事項

• インターネット上の Web サーバに攻撃してはいけません

  - 法的措置をとられる可能性があります

• 私はネットワークエンジニアです

Page 6: セキュリティ実践講座 -優しい愛をあなたに-

SQL インジェクションとは

※SQL インジェクション - Wikipedia

http://ja.wikipedia.org/wiki/SQL%E3%82%A4%E3%83%B3%E3%82%B8%E3%82%A7%E3%82%AF%E3%82%B7%E3%83%A7%E3%83%B3

SQL インジェクションとは、アプリケーションのセキュリティ上の不備を意図的に利用し、アプリケーションが想定しない SQL 文を実行させることにより、データベースシステムを不正に操作する攻撃方法のこと。また、その攻撃を可能とする脆弱性のこと。

悪意のある攻撃者 Web サーバ データベース不正なリクエスト

処理結果を取得

不正なリクエスト

不正なリクエストを処理

Page 7: セキュリティ実践講座 -優しい愛をあなたに-

デモ環境説明 (1/2)

デモに BadStore.net を利用します。BadStore.net は、脆弱性をわざと作りこんである Linux です。※2015/5/6 に正規のサイトにアクセスしたのですが、接続できなかったので、もしかしたら提供が終了しているかもしれません。

Page 8: セキュリティ実践講座 -優しい愛をあなたに-

Windows7 上の VMWarePlayerで、 BadStore.net を起動し、 HostOS から GuestOS に対して SQL インジェクションを実施

デモ環境説明 (2/2)

192.168.177.0/24

.254 .128

GuestOS(BadStore.net)HostOS(Windows7)

Page 9: セキュリティ実践講座 -優しい愛をあなたに-

デモ・解説 (1/6)

事前に以下のユーザを作成済み

Email Address : phenixPassword : phenix

Page 10: セキュリティ実践講座 -優しい愛をあなたに-

デモ・解説 (2/6)

phenix ユーザでログイン

Email Address : phenixPassword : phenix

- SQL 文のイメージselect * from <Table 名 > where email= ‘phenix’ and passwd=‘phenix’;

Page 11: セキュリティ実践講座 -優しい愛をあなたに-

デモ・解説 (3/6)

Email Passwd Age Addresssatoshi konkatsu 35 Tokyophenix phenix 41 koriyamakageyama gesui 36 moriyadj kato 30 Aizuhayash sportsbar 30 Koriyama :

データベース例

Page 12: セキュリティ実践講座 -優しい愛をあなたに-

デモ・解説 (4/6)

phenix ユーザがいることを知っている場合

Email Address : phenix ‘ or ‘ 1=1’ --‘Password : なし

- SQL 文のイメージselect * from <Table 名 > where email= ‘phenix ‘ or ‘ 1=1’ --‘’ and passwd=‘’;

Page 13: セキュリティ実践講座 -優しい愛をあなたに-

デモ・解説 (5/6)

ユーザ情報を知らない場合

Email Address : ' or 1=1 or 'Password : なし

- SQL 文のイメージselect * from <Table 名 > where email= ‘’ or 1=1 or ‘’ and passwd=‘’;

Page 14: セキュリティ実践講座 -優しい愛をあなたに-

デモ・解説 (6/6)

おまけAdmin 権限のユーザ作成

Email Address : testPassword : test

Burp Suite を経由して、リクエスト内容を変更する

※ Badstore.net User Manual

http://www.cs.umd.edu/class/fall2012/cmsc498L/materials/BadStore_net_v1_2_Manual.pdf

Page 15: セキュリティ実践講座 -優しい愛をあなたに-

対策 (1/4)

脆弱性検査ツールを利用

※ IPA テクニカルウォッチ 「ウェブサイトにおける脆弱性検査手法の紹介 ( ウェブアプリケーション検査編 ) 」

https://www.ipa.go.jp/files/000035859.pdf

Page 16: セキュリティ実践講座 -優しい愛をあなたに-

対策 (2/4)

OWASP ZAP 使用例

Page 17: セキュリティ実践講座 -優しい愛をあなたに-

対策 (3/4)

Web サイトの管理者は、既知の脆弱性について対策を実施しましょう

Web サイトを公開する前にすること  1. 脆弱性検査ツールで脆弱性の有無を確認  2. 結果の内容を確認  3. 脆弱性がある場合、脆弱性対策を実施  4. もう一度、脆弱性検査ツールで修正を確認

※4 で脆弱性を検知する場合は、 2 ~ 4 を繰り返す

Page 18: セキュリティ実践講座 -優しい愛をあなたに-

対策 (4/4)

ユーザ側でできること

・ウイルス対策ソフトを導入し、定義ファイルを最新に保つ・ OS やアプリケーションにセキュリティパッチを適用する・パスワードの使いまわしをしない

Page 19: セキュリティ実践講座 -優しい愛をあなたに-

まとめ

・脆弱性があれば SQL インジェクションなどの攻撃は簡単にできる

・脆弱性の知識がなくても、ツールを利用することで、既知の脆弱性の有無を確認できる

・脆弱性対策を実施し、セキュリティリスクを低減する

Page 20: セキュリティ実践講座 -優しい愛をあなたに-

ご清聴ありがとうございました

Page 21: セキュリティ実践講座 -優しい愛をあなたに-

Appendix参考資料

「わざと脆弱性を持たせた Web アプリ」で練習をhttp://www.atmarkit.co.jp/fsecurity/column/ueno/59.html

警察庁 サイバー犯罪対策不正アクセス行為の禁止等に関する法律の解説https://www.npa.go.jp/cyber/legislation/pdf/1_kaisetsu.pdf

IPA知っていますか?脆弱性 - 1. SQL インジェクションhttp://www.ipa.go.jp/security/vuln/vuln_contents/sql.html

IPA安全なウェブサイトの作り方http://www.ipa.go.jp/security/vuln/websecurity.html

Page 22: セキュリティ実践講座 -優しい愛をあなたに-

Appendix参考資料

IPASQL インジェクション対策についてhttp://www.ipa.go.jp/files/000024396.pdf

Badstore.net User Manualhttp://www.cs.umd.edu/class/fall2012/cmsc498L/materials/BadStore_net_v1_2_Manual.pdf