DevelopersSummit         増加するセキュリティ脆弱性の解決策       開発者がセキュリティに意識をもつために15-A-6                                         安竹 由起夫#...
典型的なテスト    UI テスト    パフォーマンス    機能テスト    セキュリティ    未テストコード2
典型的なテスト    UI テスト    パフォーマンス    機能テスト    セキュリティ    未テストコード3
静的解析によるシミュレーション              コールグラフ+条件分岐    UI テスト    パフォーマンス    機能テスト                              全パス    セキュリティ         ...
これまでは、コード品質から攻めてきてたんです。コード品質を高めれば、約6割の脆弱性は防ぐことができる5   © 2011 Forrester Research, Inc. Reproduction Prohibited
 Javaセキュアコーディングガイド(CERT/Oracle)       – https://www.jpcert.or.jp/java-rules/     C言語全般のセキュアコーディングガイド       – ISO IEC - J...
DevelopersSummit             まだまだ足りないようです                Developers Summit 2013 Action !
現在のWebアプリケーション開発におけるセキュリティ対策は未だ経験的が浅発展途上であり、多くの側面が欠如している状態8   © 2011 Forrester Research, Inc. Reproduction Prohibited
Forrester レポート: Web アプリケーションでは、   いまだにセキュリティ問題にコストがかけられている                                                                ...
Forrester レポート:基本的な問題が上位を占めている     “ どのようなセキュリティ問題が組織にもっともインパクトを与えていると考えていますか?”                        41%                ...
11   © 2011 Forrester Research, Inc. Reproduction Prohibited
12   © 2011 Forrester Research, Inc. Reproduction Prohibited
13   © 2011 Forrester Research, Inc. Reproduction Prohibited
DevelopersSummit             イライラしない              Developers Summit 2013 Action !
Forrester レポート:基本的な問題が上位を占めている     “ どのようなセキュリティ問題が組織にもっともインパクトを与えていると考えていますか?”                        41%                ...
SQL インジェクション(SQLi)とは?                                                              汚染データ                                  ...
クロスサイトスクリプティング(XSS)とは?              1 . 悪意ある ユーザが、 不正な ス ク              リ プ ト を 含むU R Lを メ ールで 送信                         ...
DevelopersSummit             イライラしない              Developers Summit 2013 Action !
ソフトウェア開発プロジェクト自体にもセキュリティの対処を遅らせる問題が存在している
なぜセキュリティ脆弱性は回避しづらいのか セキュリティ不具合のテストは開発の後工程で行われる      コード                                     コード                        コード...
開発者とセキュリティチームは視点が違う                                                     “なぜ、Web セキュリティの問題が                                ...
DevelopersSummit             イライラしない              Developers Summit 2013 Action !
開発プロセス全体で継続的なセキュリティテストを      コード                                     コード                        コード      開発の     変更 #1    ...
Coverity Development Testing Platform                               解析 | 修正 | 統制     解析パッケージ                              ...
Coverity Security Advisor (Java)• Security Advisor は  Webアプリケーション内の  • 汚染データ(Tainted Data = 悪意あるデータ)の    入り口と経路、および到達点を突き止...
SQLi, CMDi, XSS を解決する 3つの機能                               現サポートフレームワーク    高速、全パス解析を                  (Java7対応)    行う高精度静的解...
フレームワークアナライザ                           HTTP リクエストフレームワークを                                                Web アプリケーション理解しなけ...
ホワイトボックスファザーとサニタイズ                                              a b c d …                                      <        > ...
的確なルート情報と修正方法の提示                 入り 口 (so u rce)       経路                               サニタ イ ズすべき 箇所            修正方法の提示
DevelopersSummit少しでも、コードに自信が持てるように。             Developers Summit 2013 Action !
Developers  Summit               意識することから始めようMY RECOMMEND    NEXT ACTION!• セキュリティに関連するインシデントがある?• セキュアコーディングガイドがある?• ペネトレー...
Upcoming SlideShare
Loading in …5
×

デブサミ2013【15-A-6】増加するセキュリティ脆弱性の解決策

917 views

Published on

近年、標的型攻撃によるサイトの改ざんや情報漏洩の被害が後を絶ちません。典型的な攻撃としてSQLインジェクションやクロスサイトスクリプティング(XSS)があげられますが、多くの企業で対策を施しているにもかかわらず、いまだに発生件数は増加傾向にあるようです。根本的な原因は何なのでしょうか?本セッションでは、ソフトウェア脆弱性の根本原因を洗い出すとともに、その解決策となる開発段階でのセキュリティ対策技術についてご紹介します。

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
917
On SlideShare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
12
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

デブサミ2013【15-A-6】増加するセキュリティ脆弱性の解決策

  1. 1. DevelopersSummit 増加するセキュリティ脆弱性の解決策 開発者がセキュリティに意識をもつために15-A-6 安竹 由起夫#devsumiA コベリティ日本支社 Developers Summit 2013 Action !
  2. 2. 典型的なテスト UI テスト パフォーマンス 機能テスト セキュリティ 未テストコード2
  3. 3. 典型的なテスト UI テスト パフォーマンス 機能テスト セキュリティ 未テストコード3
  4. 4. 静的解析によるシミュレーション コールグラフ+条件分岐 UI テスト パフォーマンス 機能テスト 全パス セキュリティ 全自動 シュミレーション 未テストコード4
  5. 5. これまでは、コード品質から攻めてきてたんです。コード品質を高めれば、約6割の脆弱性は防ぐことができる5 © 2011 Forrester Research, Inc. Reproduction Prohibited
  6. 6.  Javaセキュアコーディングガイド(CERT/Oracle) – https://www.jpcert.or.jp/java-rules/  C言語全般のセキュアコーディングガイド – ISO IEC - JTC1/SC22/WG14-C – http://www.open-std.org/jtc1/sc22/wg14/  Android アプリのセキュアコーディングガイド – http://www.jssec.org/news/20121119_securecoding.html  PCI DSS – アカウントデータ保護に関するコンプライアンス6 © 2011 Forrester Research, Inc. Reproduction Prohibited
  7. 7. DevelopersSummit まだまだ足りないようです Developers Summit 2013 Action !
  8. 8. 現在のWebアプリケーション開発におけるセキュリティ対策は未だ経験的が浅発展途上であり、多くの側面が欠如している状態8 © 2011 Forrester Research, Inc. Reproduction Prohibited
  9. 9. Forrester レポート: Web アプリケーションでは、 いまだにセキュリティ問題にコストがかけられている “2011年に、あなたの組織でセキュリティ インシデントの対応にかかった、おおよそのコストは?”* 10億円以上 1% 5億円~10億円 1% 18% 1億円~5億円 6% このアンケートでは、 153社中 28社が 5千万円~1億円 10% 5千万円以上の 1千万~5千万円 24% 損害を被っている 1千万円以下 29% わからない 28%Base: 153 North American and European development and information security managers who have experienced a breachSource: a©commissioned study conducted by Forrester Consulting on behalf of Coverity, June, 2012 9 2011 Forrester Research, Inc. Reproduction Prohibited
  10. 10. Forrester レポート:基本的な問題が上位を占めている “ どのようなセキュリティ問題が組織にもっともインパクトを与えていると考えていますか?” 41% 37% 36% デフォルトアカウントの 運用環境の パスワード設定 コンフィギュレーシ インジェクション ョンミスBase: 240 North American and European development and information security managersSource: a commissioned study conducted by Forrester Consulting on behalf of Coverity, June, 201210 © 2011 Forrester Research, Inc. Reproduction Prohibited
  11. 11. 11 © 2011 Forrester Research, Inc. Reproduction Prohibited
  12. 12. 12 © 2011 Forrester Research, Inc. Reproduction Prohibited
  13. 13. 13 © 2011 Forrester Research, Inc. Reproduction Prohibited
  14. 14. DevelopersSummit イライラしない Developers Summit 2013 Action !
  15. 15. Forrester レポート:基本的な問題が上位を占めている “ どのようなセキュリティ問題が組織にもっともインパクトを与えていると考えていますか?” 41% 37% 36% デフォルトアカウントの 運用環境の パスワード設定 コンフィギュレーシ インジェクション ョンミスBase: 240 North American and European development and information security managersSource: a commissioned study conducted by Forrester Consulting on behalf of Coverity, June, 201215 © 2011 Forrester Research, Inc. Reproduction Prohibited
  16. 16. SQL インジェクション(SQLi)とは? 汚染データ W eb ブ ラ ウザ W eb ア プ リ ケーシ ョ ン 内 メ ール 暗証番号 2 . 汚染データ かど う かを チ ェ ッ ク し て いない場合、 処理 が進み、 データ ベース の検索 や更新のSQL文が汚染データ と と も に形づく ら れる 。 1 . 悪意ある ユーザが、 開発者の 意図し て いないデータ ( =SQL) select カ ード 番号 from 顧客情報 を わざ と 入力(※)する 。 where メ ール = ‘ 例: メ ールと し て 以下を 入力: sa@coverity.com’ OR ‘1’=’1 ’ AND 暗証番号=‘1234’ s a @ c o v e r ity .c o m ’ OR ‘1’=1 顧客情報データ ベース メ ール カ ード 番号 ※通常はフ ォ ーム入力など を 行わず、 暗証番号 3 . 本来はメ ールと 暗証番号 http://sample.com/list?mail=’ OR ’1′=’1sa@ co v... 1012 8 9 0 3 ... の組合せが必要だが、 条件文yu k io @ ... 4649 6 7 6 9 ... など で、 直接サーバにアク セスするsju n g @ ... 8015 8 9 0 3 ... にO R が埋め込ま れたため、sn ish i@ ... 0721 6 9 6 9 ... 暗証番号が合致し な く て も 顧 客情報が参照可能に。
  17. 17. クロスサイトスクリプティング(XSS)とは? 1 . 悪意ある ユーザが、 不正な ス ク リ プ ト を 含むU R Lを メ ールで 送信 2 . 信頼し ている サイ ト だと 勘違い し 、 不正な スク リ プ ト を 脆弱性の W eb ア プ リ ケーシ ョ ン 内 ある サイ ト に送信。 暗証番号 を 入力 3 . 不正なス ク リ プ ト を チェ ッ ク し し て 下さ い ていな い場合、 それを 実行する OK脆弱性のある W eb ア プ リ ケーシ ョ ン ページ を 生成し てし ま う 。 暗証番号 ※他にも脆弱性のあるサイトに攻撃させ 4 . 信頼し て いる サイ ト のつも り るなど、複数の手口があります。 が、 実はスク リ プ ト によ っ て、 他 の場所に情報を 送信。
  18. 18. DevelopersSummit イライラしない Developers Summit 2013 Action !
  19. 19. ソフトウェア開発プロジェクト自体にもセキュリティの対処を遅らせる問題が存在している
  20. 20. なぜセキュリティ脆弱性は回避しづらいのか セキュリティ不具合のテストは開発の後工程で行われる コード コード コード 開発の 変更 #1 変更 #2 変更 #3 完了 開発サイクル品質の確認 品質の確認 品質の確認 品質 + セキュリティ の確認 出荷遅延、脆弱性検出が見逃されるリスクの増加20 © 2011 Forrester Research, Inc. Reproduction Prohibited
  21. 21. 開発者とセキュリティチームは視点が違う “なぜ、Web セキュリティの問題が 早期に発見さず、また修正されていない と思いますか?” セキュリティ監査 開発者 #1: 時間的なプレッシャー  #1: 開発者がセキュリティに対して非協力的 #2: セキュリティ脆弱性を発見するツールや技術  #2: 時間的なプレッシャー がない21 © 2011 Forrester Research, Inc. Reproduction Prohibited
  22. 22. DevelopersSummit イライラしない Developers Summit 2013 Action !
  23. 23. 開発プロセス全体で継続的なセキュリティテストを コード コード コード 開発の 変更 #1 変更 #2 変更 #3 完了 開発サイクル 品質 + 品質 + 品質 + 品質 +セキュリティ セキュリティ セキュリティ セキュリティ の確認 の確認 の確認 の確認23 © 2011 Forrester Research, Inc. Reproduction Prohibited
  24. 24. Coverity Development Testing Platform 解析 | 修正 | 統制 解析パッケージ SDLC 統合 Policy Manager サードパーティ Dynamic メトリクス Analysis IDE Coverity Connect コード カバレッジ Architecture Analysis テスト Quality Security Test 実行 解析結果統合 Advisor Advisor Advisor ビルド/ 継続的統合 FindBugs™ | FxCop バグ トラッキング SCM 解析結果統合 ツールキット Coverity SAVE™ ALM 連携 HP | IBM Static Analysis Verification Engine 商用コード | オープンソースコード24
  25. 25. Coverity Security Advisor (Java)• Security Advisor は Webアプリケーション内の • 汚染データ(Tainted Data = 悪意あるデータ)の 入り口と経路、および到達点を突き止め、 • 悪意あるデータがコード内でチェックされている かを確認し、 • 脆弱性が存在する場合は、修正方法を提示する
  26. 26. SQLi, CMDi, XSS を解決する 3つの機能 現サポートフレームワーク 高速、全パス解析を (Java7対応) 行う高精度静的解析 Spring MVC 2.x, 3.x エンジン Java EE JDBC, Spring JDBC Hibernate, JPA JSP 汚染データが利用され 汚染データの入り口 るコンテキストで必要 (Source)、その経路と となるエスケーパや修 到達点(Sink)を異種フ 正方法を提示 Source から汚染データ レームワーク間を超え を注入、Sink到達まで て確認 にデータチェックや、サ ニタイズさるかを確認
  27. 27. フレームワークアナライザ HTTP リクエストフレームワークを Web アプリケーション理解しなければ、 Data汚染データの Access入口、経路、到達点 Model Controllerを知ることができない View Resolver View現サポートフレームワーク(Java7対応) Spring MVC 2.x, 3.x Java EE Model View Technology View JDBC, Spring JDBC Hibernate, JPA JSP HTTP レスポンス
  28. 28. ホワイトボックスファザーとサニタイズ a b c d … < > & “ ‘ 発見した汚染データの侵入経路に 汚染データを投入し、 無害化されているかを 自動的に確認する htmlEncode() &lt; &gt; &amp; &quot; ' a b c d …コベリティが開発したエスケーパーをオープンソースに:https://github.com/coverity/coverity-security-library/tree/gh-pages 28
  29. 29. 的確なルート情報と修正方法の提示 入り 口 (so u rce) 経路 サニタ イ ズすべき 箇所 修正方法の提示
  30. 30. DevelopersSummit少しでも、コードに自信が持てるように。 Developers Summit 2013 Action !
  31. 31. Developers Summit 意識することから始めようMY RECOMMEND NEXT ACTION!• セキュリティに関連するインシデントがある?• セキュアコーディングガイドがある?• ペネトレーションテストが実施されている?• 発見された脆弱性を修正できる情報があ る?• セキュリティについて以前より意識しよう Developers Summit 2013 Action !

×