SlideShare a Scribd company logo
Developers
Summit




         増加するセキュリティ脆弱性の解決策
       開発者がセキュリティに意識をもつために




15-A-6                                         安竹 由起夫
#devsumiA                                        コベリティ日本支社
             Developers Summit 2013 Action !
典型的なテスト

    UI テスト

    パフォーマンス

    機能テスト

    セキュリティ

    未テストコード




2
典型的なテスト

    UI テスト

    パフォーマンス

    機能テスト

    セキュリティ

    未テストコード




3
静的解析によるシミュレーション
              コールグラフ+条件分岐

    UI テスト

    パフォーマンス

    機能テスト
                              全パス
    セキュリティ                    全自動
                            シュミレーション
    未テストコード




4
これまでは、コード品質から攻めてきてたんです。




コード品質を高めれば、
約6割の脆弱性は防ぐことができる
5   © 2011 Forrester Research, Inc. Reproduction Prohibited
 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
Developers
Summit




             まだまだ足りないようです




                Developers Summit 2013 Action !
現在のWebアプリケーション開発における
セキュリティ対策は
未だ経験的が浅発展途上であり、
多くの側面が欠如している状態
8   © 2011 Forrester Research, Inc. Reproduction Prohibited
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 breach
Source: a©commissioned study conducted by Forrester Consulting on behalf of Coverity, June, 2012
  9        2011 Forrester Research, Inc. Reproduction Prohibited
Forrester レポート:基本的な問題が上位を占めている

     “ どのようなセキュリティ問題が組織にもっともインパクトを与えていると考えていますか?”




                        41%                                         37%
                                                                                                     36%
             デフォルトアカウントの                                            運用環境の
               パスワード設定                                            コンフィギュレーシ                        インジェクション
                                                                     ョンミス




Base: 240 North American and European development and information security managers
Source: a commissioned study conducted by Forrester Consulting on behalf of Coverity, June, 2012
10      © 2011 Forrester Research, Inc. Reproduction Prohibited
11   © 2011 Forrester Research, Inc. Reproduction Prohibited
12   © 2011 Forrester Research, Inc. Reproduction Prohibited
13   © 2011 Forrester Research, Inc. Reproduction Prohibited
Developers
Summit




             イライラしない




              Developers Summit 2013 Action !
Forrester レポート:基本的な問題が上位を占めている

     “ どのようなセキュリティ問題が組織にもっともインパクトを与えていると考えていますか?”




                        41%                                         37%
                                                                                                     36%
             デフォルトアカウントの                                            運用環境の
               パスワード設定                                            コンフィギュレーシ                        インジェクション
                                                                     ョンミス




Base: 240 North American and European development and information security managers
Source: a commissioned study conducted by Forrester Consulting on behalf of Coverity, June, 2012
15      © 2011 Forrester Research, Inc. Reproduction Prohibited
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′=’1
sa@ 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 ...   暗証番号が合致し な く て も 顧
                                      客情報が参照可能に。
クロスサイトスクリプティング(XSS)と
は?

              1 . 悪意ある ユーザが、 不正な ス ク
              リ プ ト を 含むU R Lを メ ールで 送信
                                                        2 . 信頼し ている サイ ト だと 勘違い
                                                        し 、 不正な スク リ プ ト を 脆弱性の
       W eb ア プ リ ケーシ ョ ン 内                             ある サイ ト に送信。



                                                                  暗証番号
                                                                   を 入力
                                 3 . 不正なス ク リ プ ト を チェ ッ ク し      し て 下さ い
                                 ていな い場合、 それを 実行する
                                                                    OK
脆弱性のある W eb ア プ リ ケーシ ョ ン        ページ を 生成し てし ま う 。

                                         暗証番号

                                                               ※他にも脆弱性のあるサイトに攻撃させ
                              4 . 信頼し て いる サイ ト のつも り          るなど、複数の手口があります。

                              が、 実はスク リ プ ト によ っ て、 他
                              の場所に情報を 送信。
Developers
Summit




             イライラしない




              Developers Summit 2013 Action !
ソフトウェア開発プロジェクト自体にも
セキュリティの対処を遅らせる問題が
存在している
なぜセキュリティ脆弱性は回避しづらいのか
 セキュリティ不具合のテストは開発の後工程で行われる


      コード                                     コード                        コード      開発の
     変更 #1                                    変更 #2                      変更 #3    完了

                                                                開発サイクル




品質の確認                                   品質の確認                        品質の確認        品質 +
                                                                                 セキュリティ
                                                                                  の確認
        出荷遅延、脆弱性検出が見逃されるリスクの増加
20    © 2011 Forrester Research, Inc. Reproduction Prohibited
開発者とセキュリティチームは視点が違う
                                                     “なぜ、Web セキュリティの問題が
                                                 早期に発見さず、また修正されていない
                                                               と思いますか?”




                                                                          セキュリティ監査
     開発者




 #1: 時間的なプレッシャー            #1: 開発者がセキュリティに対して非協力的
 #2: セキュリティ脆弱性を発見するツールや技術  #2: 時間的なプレッシャー
  がない



21   © 2011 Forrester Research, Inc. Reproduction Prohibited
Developers
Summit




             イライラしない




              Developers Summit 2013 Action !
開発プロセス全体で
継続的なセキュリティテストを



      コード                                     コード                        コード      開発の
     変更 #1                                    変更 #2                      変更 #3    完了

                                                                開発サイクル




 品質 +                                    品質 +                         品質 +        品質 +
セキュリティ                                  セキュリティ                       セキュリティ      セキュリティ
 の確認                                     の確認                          の確認         の確認


23    © 2011 Forrester Research, Inc. Reproduction Prohibited
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
Coverity Security Advisor (Java)

• Security Advisor は
  Webアプリケーション内の


  • 汚染データ(Tainted Data = 悪意あるデータ)の
    入り口と経路、および到達点を突き止め、
  • 悪意あるデータがコード内でチェックされている
    かを確認し、
  • 脆弱性が存在する場合は、修正方法を提示する
SQLi, CMDi, XSS を解決する 3つの機能
                               現サポートフレームワーク
    高速、全パス解析を                  (Java7対応)
    行う高精度静的解析                       Spring MVC 2.x, 3.x
    エンジン                            Java EE
                                    JDBC, Spring JDBC
                                    Hibernate, JPA
                                    JSP




 汚染データが利用され                    汚染データの入り口
 るコンテキストで必要                    (Source)、その経路と
 となるエスケーパや修                    到達点(Sink)を異種フ
 正方法を提示       Source から汚染データ   レームワーク間を超え
              を注入、Sink到達まで     て確認
              にデータチェックや、サ
              ニタイズさるかを確認
フレームワークアナライザ
                           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 レスポンス
ホワイトボックスファザーとサニタイズ
                                              a b c d …
                                      <        >  &    “              ‘
 発見した汚染データの侵入経路に
 汚染データを投入し、
 無害化されているかを
 自動的に確認する
                                            htmlEncode()


                                  &lt; &gt; &amp; &quot; &#x27;

                                              a    b    c d …

コベリティが開発したエスケーパーをオープンソースに:
https://github.com/coverity/coverity-security-library/tree/gh-pages
     28
的確なルート情報と修正方法の提示

                 入り 口 (so u rce)




       経路




                               サニタ イ ズすべき 箇所




            修正方法の提示
Developers
Summit




少しでも、コードに自信が持てるように。




             Developers Summit 2013 Action !
Developers
  Summit
               意識することから始めよう
MY RECOMMEND    NEXT ACTION!




• セキュリティに関連するインシデントがある?
• セキュアコーディングガイドがある?
• ペネトレーションテストが実施されている?
• 発見された脆弱性を修正できる情報があ
  る?
• セキュリティについて以前より意識しよう


                         Developers Summit 2013 Action !

More Related Content

PDF
経営者・マネージャーが知るべき情報セキュリティ
PDF
ソースコード検査に耐えるコードとは?
PDF
セキュアなソフトウェアアーキテクチャー
PDF
アプリ開発者に大きな影響 2017年版OWASP TOP 10
PDF
情報セキュリティ講習会2016
PPTX
オニギリペイのセキュリティ事故に学ぶ安全なサービスの構築法 (PHPカンファレンス2019)
PDF
Ia20120118 nishimura
PDF
SQLインジェクション総”習”編
経営者・マネージャーが知るべき情報セキュリティ
ソースコード検査に耐えるコードとは?
セキュアなソフトウェアアーキテクチャー
アプリ開発者に大きな影響 2017年版OWASP TOP 10
情報セキュリティ講習会2016
オニギリペイのセキュリティ事故に学ぶ安全なサービスの構築法 (PHPカンファレンス2019)
Ia20120118 nishimura
SQLインジェクション総”習”編

Viewers also liked (20)

PDF
Weblogic installation in linux
PDF
デブサミ2013【15-D-4】Opsから挑むDevOps
PPTX
PPT
Texas Navigator Workflows Webinar
PPTX
Ad Wars 2010 Questions
PPT
Laura Young Bost: "What If: Permissions Issues When Moving Book to E-Book"--A...
PPTX
Deloitte - Assistive Ict Workshop Presentation
PPTX
Edward jones
PPT
Duurzaam Inkopen - Rijksgebouwendienst
PDF
デブサミ関西2013【A4】コード品質は曖昧なままか(安竹由起夫氏)
PPT
Infomil als informatiepunt over het Activiteitenbesluit
PDF
Ekonomisten Konpetentzia Profesionalak Detektatzeko Azterlana
PPTX
PDF
SMM учебник 2 (Промсвязьбанк)
PDF
Spaun optical
PPTX
Windows と leopard
PPTX
Why Use Technology?
Weblogic installation in linux
デブサミ2013【15-D-4】Opsから挑むDevOps
Texas Navigator Workflows Webinar
Ad Wars 2010 Questions
Laura Young Bost: "What If: Permissions Issues When Moving Book to E-Book"--A...
Deloitte - Assistive Ict Workshop Presentation
Edward jones
Duurzaam Inkopen - Rijksgebouwendienst
デブサミ関西2013【A4】コード品質は曖昧なままか(安竹由起夫氏)
Infomil als informatiepunt over het Activiteitenbesluit
Ekonomisten Konpetentzia Profesionalak Detektatzeko Azterlana
SMM учебник 2 (Промсвязьбанк)
Spaun optical
Windows と leopard
Why Use Technology?
Ad

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

PPT
セキュアプログラミング講座
PDF
今日こそわかる、安全なWebアプリの作り方2010
PDF
WordPressのセキュリティ対策
PDF
5 moriya security-seminar2005_05
PPT
SEから見た情報セキュリティの課題
PDF
MSC 2010 T2-1 クラウドで企業の PC 運用管理が変わる! Windows Intune (基本編)
PDF
SecureAssist Introduction - アプリケーション・セキュリティを実現するベストプラクティスとは
PDF
ここが変だよ、グローバルスタンダードの脆弱性対策~入力値の考え方~
PPTX
第9回勉強会 Webセキュリティー
PDF
著名PHPアプリの脆弱性に学ぶセキュアコーディングの原則
PDF
徳丸本ができるまで
PDF
SecureAssist Introduction
PDF
【SSS】提案書サンプル
PPT
50代現役SEのつぶやき
PDF
Webアプリケーションのセキュリティ
PDF
Exchange Hosted Services 製品概要
PPTX
Browser andsecurity2015
PDF
Salesforce Identity
PDF
IRM_J_9.3.12
ODP
ライブコーディングとデモで理解するWebセキュリティの基礎
セキュアプログラミング講座
今日こそわかる、安全なWebアプリの作り方2010
WordPressのセキュリティ対策
5 moriya security-seminar2005_05
SEから見た情報セキュリティの課題
MSC 2010 T2-1 クラウドで企業の PC 運用管理が変わる! Windows Intune (基本編)
SecureAssist Introduction - アプリケーション・セキュリティを実現するベストプラクティスとは
ここが変だよ、グローバルスタンダードの脆弱性対策~入力値の考え方~
第9回勉強会 Webセキュリティー
著名PHPアプリの脆弱性に学ぶセキュアコーディングの原則
徳丸本ができるまで
SecureAssist Introduction
【SSS】提案書サンプル
50代現役SEのつぶやき
Webアプリケーションのセキュリティ
Exchange Hosted Services 製品概要
Browser andsecurity2015
Salesforce Identity
IRM_J_9.3.12
ライブコーディングとデモで理解するWebセキュリティの基礎
Ad

More from Developers Summit (20)

PDF
【18-A-2】ゲーミフィケーション・エバンジェリストが見る「あなたの技術力が“ワクワクするサービス”に変わる未来」
PDF
【C-2・小林様】AIとAPIがITインフラにもたらす変化 ~プログラマブルなクラウド型Wi-Fi~
PDF
【C-2・醍醐様】AIとAPIがITインフラにもたらす変化 ~プログラマブルなクラウド型Wi-Fi~
PDF
【B-4】オープンソース開発で、フリー静的解析ツールを使ってみる
PDF
【B-6】Androidスマホの生体認証の脆弱性、調べてみたらよくある話だった。
PDF
【13-B-6】Hondaの生産技術屋さんがソフトウェア開発でアジャイルを初導入し組織変革に挑戦
PDF
【15-E-7】セキュアな環境でDevOpsを実現する厳選ツール
PDF
【15-E-7】セキュアな環境でDevOpsを実現する厳選ツール
PDF
【14-E-3】セキュリティ・テストの自動化によるDevSecOpsの実現 (デモ有)
PDF
【15-D-2】デンソーのMaaS開発~アジャイル開発で顧客との協調・チームビルディング・実装概要~
PDF
【14-C-8】みんなの暮らしを支えるAmazon S3の裏側、お伝えします
PDF
【14-C-7】コンピュータビジョンを支える深層学習技術の新潮流
PDF
【15-B-7】無意味なアラートからの脱却 ~ Datadogを使ってモダンなモニタリングを始めよう ~
PDF
【15-A-1】ドラゴンクエストXを支える失敗事例
PDF
【15-A-5】ゲーミフィケーションエバンジェリストが説く、アプリ開発で見落としがちな「おもてなし」とは~面白さを伝える × 面白く魅せる~
PDF
【B-2】福岡発Node.jsで支える大規模システム!〜「誰ガ為のアルケミスト」と歩んだ三年〜
PDF
【B-5】モダンな開発を実現するツールチェーンのご紹介
PDF
【C-2】メモリも、僕のキャパシティも溢れっぱなし。。2年目エンジニアが実現した機械学習
PDF
【A-2】とあるマーケティング部隊とデータエンジニアのデータドリブンへの道
PDF
【B-2】AI時代におけるエンジニアの生存戦略
【18-A-2】ゲーミフィケーション・エバンジェリストが見る「あなたの技術力が“ワクワクするサービス”に変わる未来」
【C-2・小林様】AIとAPIがITインフラにもたらす変化 ~プログラマブルなクラウド型Wi-Fi~
【C-2・醍醐様】AIとAPIがITインフラにもたらす変化 ~プログラマブルなクラウド型Wi-Fi~
【B-4】オープンソース開発で、フリー静的解析ツールを使ってみる
【B-6】Androidスマホの生体認証の脆弱性、調べてみたらよくある話だった。
【13-B-6】Hondaの生産技術屋さんがソフトウェア開発でアジャイルを初導入し組織変革に挑戦
【15-E-7】セキュアな環境でDevOpsを実現する厳選ツール
【15-E-7】セキュアな環境でDevOpsを実現する厳選ツール
【14-E-3】セキュリティ・テストの自動化によるDevSecOpsの実現 (デモ有)
【15-D-2】デンソーのMaaS開発~アジャイル開発で顧客との協調・チームビルディング・実装概要~
【14-C-8】みんなの暮らしを支えるAmazon S3の裏側、お伝えします
【14-C-7】コンピュータビジョンを支える深層学習技術の新潮流
【15-B-7】無意味なアラートからの脱却 ~ Datadogを使ってモダンなモニタリングを始めよう ~
【15-A-1】ドラゴンクエストXを支える失敗事例
【15-A-5】ゲーミフィケーションエバンジェリストが説く、アプリ開発で見落としがちな「おもてなし」とは~面白さを伝える × 面白く魅せる~
【B-2】福岡発Node.jsで支える大規模システム!〜「誰ガ為のアルケミスト」と歩んだ三年〜
【B-5】モダンな開発を実現するツールチェーンのご紹介
【C-2】メモリも、僕のキャパシティも溢れっぱなし。。2年目エンジニアが実現した機械学習
【A-2】とあるマーケティング部隊とデータエンジニアのデータドリブンへの道
【B-2】AI時代におけるエンジニアの生存戦略

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

  • 1. Developers Summit 増加するセキュリティ脆弱性の解決策 開発者がセキュリティに意識をもつために 15-A-6 安竹 由起夫 #devsumiA コベリティ日本支社 Developers Summit 2013 Action !
  • 2. 典型的なテスト UI テスト パフォーマンス 機能テスト セキュリティ 未テストコード 2
  • 3. 典型的なテスト UI テスト パフォーマンス 機能テスト セキュリティ 未テストコード 3
  • 4. 静的解析によるシミュレーション コールグラフ+条件分岐 UI テスト パフォーマンス 機能テスト 全パス セキュリティ 全自動 シュミレーション 未テストコード 4
  • 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. Developers Summit まだまだ足りないようです Developers Summit 2013 Action !
  • 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 breach Source: a©commissioned study conducted by Forrester Consulting on behalf of Coverity, June, 2012 9 2011 Forrester Research, Inc. Reproduction Prohibited
  • 10. Forrester レポート:基本的な問題が上位を占めている “ どのようなセキュリティ問題が組織にもっともインパクトを与えていると考えていますか?” 41% 37% 36% デフォルトアカウントの 運用環境の パスワード設定 コンフィギュレーシ インジェクション ョンミス Base: 240 North American and European development and information security managers Source: a commissioned study conducted by Forrester Consulting on behalf of Coverity, June, 2012 10 © 2011 Forrester Research, Inc. Reproduction Prohibited
  • 11. 11 © 2011 Forrester Research, Inc. Reproduction Prohibited
  • 12. 12 © 2011 Forrester Research, Inc. Reproduction Prohibited
  • 13. 13 © 2011 Forrester Research, Inc. Reproduction Prohibited
  • 14. Developers Summit イライラしない Developers Summit 2013 Action !
  • 15. Forrester レポート:基本的な問題が上位を占めている “ どのようなセキュリティ問題が組織にもっともインパクトを与えていると考えていますか?” 41% 37% 36% デフォルトアカウントの 運用環境の パスワード設定 コンフィギュレーシ インジェクション ョンミス Base: 240 North American and European development and information security managers Source: a commissioned study conducted by Forrester Consulting on behalf of Coverity, June, 2012 15 © 2011 Forrester Research, Inc. Reproduction Prohibited
  • 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′=’1 sa@ 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. クロスサイトスクリプティング(XSS)と は? 1 . 悪意ある ユーザが、 不正な ス ク リ プ ト を 含むU R Lを メ ールで 送信 2 . 信頼し ている サイ ト だと 勘違い し 、 不正な スク リ プ ト を 脆弱性の W eb ア プ リ ケーシ ョ ン 内 ある サイ ト に送信。 暗証番号 を 入力 3 . 不正なス ク リ プ ト を チェ ッ ク し し て 下さ い ていな い場合、 それを 実行する OK 脆弱性のある W eb ア プ リ ケーシ ョ ン ページ を 生成し てし ま う 。 暗証番号 ※他にも脆弱性のあるサイトに攻撃させ 4 . 信頼し て いる サイ ト のつも り るなど、複数の手口があります。 が、 実はスク リ プ ト によ っ て、 他 の場所に情報を 送信。
  • 18. Developers Summit イライラしない Developers Summit 2013 Action !
  • 20. なぜセキュリティ脆弱性は回避しづらいのか セキュリティ不具合のテストは開発の後工程で行われる コード コード コード 開発の 変更 #1 変更 #2 変更 #3 完了 開発サイクル 品質の確認 品質の確認 品質の確認 品質 + セキュリティ の確認 出荷遅延、脆弱性検出が見逃されるリスクの増加 20 © 2011 Forrester Research, Inc. Reproduction Prohibited
  • 21. 開発者とセキュリティチームは視点が違う “なぜ、Web セキュリティの問題が 早期に発見さず、また修正されていない と思いますか?” セキュリティ監査 開発者  #1: 時間的なプレッシャー  #1: 開発者がセキュリティに対して非協力的  #2: セキュリティ脆弱性を発見するツールや技術  #2: 時間的なプレッシャー がない 21 © 2011 Forrester Research, Inc. Reproduction Prohibited
  • 22. Developers Summit イライラしない Developers Summit 2013 Action !
  • 23. 開発プロセス全体で 継続的なセキュリティテストを コード コード コード 開発の 変更 #1 変更 #2 変更 #3 完了 開発サイクル 品質 + 品質 + 品質 + 品質 + セキュリティ セキュリティ セキュリティ セキュリティ の確認 の確認 の確認 の確認 23 © 2011 Forrester Research, Inc. Reproduction Prohibited
  • 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. Coverity Security Advisor (Java) • Security Advisor は Webアプリケーション内の • 汚染データ(Tainted Data = 悪意あるデータ)の 入り口と経路、および到達点を突き止め、 • 悪意あるデータがコード内でチェックされている かを確認し、 • 脆弱性が存在する場合は、修正方法を提示する
  • 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. フレームワークアナライザ 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. ホワイトボックスファザーとサニタイズ a b c d … < > & “ ‘ 発見した汚染データの侵入経路に 汚染データを投入し、 無害化されているかを 自動的に確認する htmlEncode() &lt; &gt; &amp; &quot; &#x27; a b c d … コベリティが開発したエスケーパーをオープンソースに: https://github.com/coverity/coverity-security-library/tree/gh-pages 28
  • 29. 的確なルート情報と修正方法の提示 入り 口 (so u rce) 経路 サニタ イ ズすべき 箇所 修正方法の提示
  • 31. Developers Summit 意識することから始めよう MY RECOMMEND NEXT ACTION! • セキュリティに関連するインシデントがある? • セキュアコーディングガイドがある? • ペネトレーションテストが実施されている? • 発見された脆弱性を修正できる情報があ る? • セキュリティについて以前より意識しよう Developers Summit 2013 Action !