アプリケーションセキュリティ検査・検証の標準化	
  
Applica(on	
  Security	
  Verifica(on	
  Standard	
  Project	
岡田良太郎	
  
riotaro.okada@owasp.org	
  
OWASP	
  Japan	
  
Asterisk	
  Research
hAps://commons.wikimedia.org/wiki/File:Verifica(on_in_SE.jpg
ASVS	
  	
  
Applica(on	
  Security	
  Verifica(on	
  Standard	
•  OWASP	
  ASVS	
  アプリケーションセキュリティ検証標準
プロジェクト	
  
–  “Webアプリケーション セキュリティ検査・検証を実施する
ときに用いるため、検査の対象範囲、厳密さのレベルを
利用可能な範囲で整理し、標準化することです。”	
  
–  “ASVSは、アプリケーションに加え、環境面での技術的セ
キュリティコントロールをテストする基準も提供します。”	
  
	
owasp.org/index.php/Category:OWASP_Application_Security_Verification_Standard_Project
OWASP	
  Top	
  10	
  	
  	
  
イントロダクション >	
  注意事項
OWASP	
  Top	
  10には…	
  
+D	
  開発者向けの次のステップ 	
  
>	
  反復可能なセキュリティプロセスと標準セキュリティ制御の確立と使用
ASVS	
  Verifica(on	
  Level	
  (v1.0/2009時代)	
  
Consider ASVS instead of OWASP Top 10
•  Some	
  issues	
  when	
  implemented	
  in	
  prac(ce.	
  
ASVS
ASVS	
  Verifica(on	
  Level	
  (v2.0)	
  
Level	
  0:	
  
(セキュリティテスト・なし=あるある)
Level	
  1:	
  Opportunis(c	
  
(簡単に見つかるレベル)
Level	
  2:	
  Standard	
  
(標準的なレベル)	
・”Detailed	
  Verifica(on	
  Requirements”	
  
・OWASP	
  Top	
  10をカバー	
  
・ビジネスロジックも検証
Level	
  3:	
  Advanced	
  
(より進んだ脆弱性に対応)
それ以上:	
  	
  L3+	
  	
•  ASVS	
  L3	
  +	
  
– アプリケーション・スコープを超えたオプション・テ
スト	
  
– サードパーティのモジュールへのテスト	
  
– ミッションクリティカルなシステムでは必要となるこ
とがある。	
  
V2.	
  Authen(ca(on	
  Verifica(on	
  Requirements	
  
Level	
  1	
V2.1	
  基本的な使い方	
V2.2	
  パスワードEchoなし	
V2.6	
  安全にフェイルする	
Level	
  2	
V2.12	
  認証のロギング	
V2.13	
  Salt、暗号化	
Level	
  3	
V2.5	
  認証制御の実装
の(外部連携を含め)
集中化実装	
V数字.数字 によるテスト項目のIden(fyもバージョン間で継承される
V8.	
  Error	
  Handling	
  and	
  Logging	
  	
  
Level	
  1	
V8.1	
  攻撃者を支援し兼
ねないエラーメッセージ、
スタックトレースを出力し
ない	
Level	
  2	
V8.2	
  全エラーハンドリン
グがサーバー上で実装	
V8.8	
  セキュリティログは
認証されていないアクセ
スや改ざんから保護され
ていること	
	
  
	
Level	
  3	
V8.9	
  ログを閲覧するソフ
トウェア上で、信頼できな
いデータを含むすべての
イベントが、コードとして
実行されないこと	
V数字.数字 によるテスト項目のIden(fyもバージョン間で継承される
“Detailed	
  Verifica(on	
  Requirements”	
  
13項目の検査要件詳細	
•  V2.	
  Authen(ca(on	
  
•  V3.	
  Session	
  Management	
  
•  V4.	
  Access	
  Control	
  
•  V5.	
  Malicious	
  Input	
  Handling	
  
•  V7.	
  Cryptography	
  at	
  Rest	
  
•  V8.	
  Error	
  Handling	
  and	
  Logging	
  
•  V9.	
  Data	
  Protec(on	
  
•  V10.	
  Communica(ons	
  
•  V11.	
  HTTP	
  
•  V13.	
  Malicious	
  Controls	
  
•  V15.	
  Business	
  Logic	
  
•  V16.	
  File	
  and	
  Resource	
  
•  V17.	
  Mobile	
The	
  numbering	
  scheme	
  has	
  been	
  kept	
  
consistent	
  with	
  the	
  previous	
  version	
  of	
  
ASVS	
  to	
  help	
  with	
  individuals	
  wishing	
  to	
  
transi(on	
  from	
  one	
  to	
  the	
  other.	
大項目 V(数字)	
  
ASVSのバージョン間で同一。	
  
Detailed	
  Verifica(on	
  Required	
  
V3.0	
  preview	
•  V1.	
   	
  Architecture,	
  design	
  and	
  threat	
  modelling	
  (v1.0(2009)のものを復活)	
•  V2. 	
  Authen(ca(on	
•  V3. 	
  Session	
  management	
•  V4. 	
  Access	
  control	
•  V5. 	
  Malicious	
  input	
  handling	
•  V7. 	
  Cryptography	
  at	
  rest	
•  V8. 	
  Error	
  handling	
  and	
  logging	
•  V9. 	
  Data	
  protec(on	
•  V10. 	
  Communica(ons	
•  V11. 	
  HTTP	
  security	
  configura(on	
•  V13. 	
  Malicious	
  controls	
•  V15. 	
  Business	
  logic	
•  V16. 	
  File	
  and	
  resources	
•  V17. 	
  Mobile	
•  V18. 	
  Web	
  services	
  (NEW	
  for	
  3.0)	
•  V19. 	
  Configura(on	
  (NEW	
  for	
  3.0)	
•  V20. 	
  Client	
  side	
  Security	
  (NEW	
  for	
  3.0)
V18. 	
  Web	
  services	
  (NEW	
  for	
  3.0)
V19. 	
  Configura(on	
  (NEW	
  for	
  3.0)
V20.	
  Client	
  side	
  Security	
  (NEW	
  for	
  3.0)
Appendix	
  A:	
  システムの業界、脅威、用途などから、	
  
        システムの Level	
  をSugges(on	
Level1:	
  インターネットから	
  
アクセスできるアプリケーション	
Level2:	
  少数あるいは限られた	
  
程度の個人の健康情報や	
  
個人識別情報、支払いデータ	
  
などの機微情報を扱うアプリケー	
  
ション	
Level3:	
  医療機器、デバイス、	
  
人生にかかわる情報を扱う	
  
アプリケーション。支払い、POS、	
  
大量のトランザクションデータ。	
  
管理機能も対象となる。	
  
INDUSTRY:	
  
	
  
保険・金融	
  
製造、	
  
輸送、	
  
技術、道具、	
  
インフラ、	
  
防衛、	
  
ヘルスケア、	
  
不動産・食品	
  
など
企画  要件定義  設計   実装   検査  デプロイ	
調達	
ASVSに基づく	
  
検査手法をそろえる	
ASVS標準を使って	
  
要件を明確にする	
リスクレベルの認識	
  
ASVSでマッピング	
セキュリティ要件を	
  
ASVSに照らして定義	
  
L3なら設計レベル	
  
要件も検討	
  
選択したASVSレベルの	
  
準拠状況を検査	
  
開発	
※	
組織	
OWASP	
  ASVS	
ツール・サービス提供者
Usage	
  	
  “標準”の使い方	
•  テストと結果報告に	
•  開発チームへ手渡す	
アプリケーションの認証	
•  テスト担当チームへのガイドとして	
•  顧客へのテストガイドラインとして	
テスト手法の提供	
•  外部テスターが要件を満たしているか	
•  契約者、協力会社が遵守すべきガイドとして	
ベンダー・サプライヤーの選択
ASVS	
  and	
  YOU	
  
まずは	
  V2.0(2014)をゲット!	
•  マネージャ(経営層)にアプローチ	
  
–  リスクとアプリケーションセキュリティへの理解	
  
	
  
•  自分のスタートレベルを決める	
  
–  L	
  1がおすすめ	
  
	
  
•  開発中のソフトウェアにあてはめてみる	
  
–  最初はめっちゃ大変。でもひとつずつ	
  
•  責任者を任命	
  
–  開発チームの中でこの適用を検討するスタッフをアサインする	
  
	
  
•  やってみる	
  
ASVS	
  and	
  YOU	
  
Security	
  Principle を学ぶ	
•  それぞれの層で徹底的に防衛 Defense	
  in	
  Depth.	
  
•  ポジティブセキュリティモデル	
  Posi(ve	
  Security	
  Model	
  
•  安全に失敗しろ Fail	
  Securely	
  
•  最小権限の原則 Least	
  Privilege	
  
•  Avoid	
  “Security	
  by	
  Obscurity”	
  
•  …を信じない Do	
  not	
  trust	
  the	
  …	
  
	
  
hAps://www.owasp.org/index.php/Category:Principle
ASVS	
  and	
  YOU	
•  V3.0	
  (July	
  2015)	
  preview!	
  
–  大量のDeprecated	
  
–  3つの新Verifica(on	
  Topic	
  
•  V18. 	
  Web	
  services	
  	
  
•  V19. 	
  Configura(on	
  	
  
•  V20. 	
  Client	
  side	
  Security	
  	
  
–  リファレンスも追加	
  
•  Proac(ve	
  Control	
  
•  Mobile	
  Top	
  10	
  
•  PCI	
  DSS	
  3.0	
  
OWASP	
  Project	
  -­‐	
  Flagship	
  	
•  Tools	
  [Reviewed	
  September	
  2014]	
  
–  OWASP	
  Zed	
  AAack	
  Proxy	
  
–  OWASP	
  Web	
  Tes(ng	
  Environment	
  Project	
  
–  OWASP	
  OWTF	
  
–  OWASP	
  Dependency	
  Check	
  
•  Code	
  [Reviewed	
  November	
  2014]	
  
–  OWASP	
  ModSecurity	
  Core	
  Rule	
  Set	
  Project	
  
–  OWASP	
  CSRFGuard	
  Project	
  
–  OWASP	
  AppSensor	
  Project	
  
•  Documenta(on[Reviewed	
  February	
  2015]	
  in	
  progress	
  
–  OWASP	
  Applica(on	
  Security	
  Verifica(on	
  Standard	
  Project	
  
–  OWASP	
  Sorware	
  Assurance	
  Maturity	
  Model	
  (SAMM)	
  
–  OWASP	
  AppSensor	
  Project	
  
–  OWASP	
  Top	
  Ten	
  Project	
  
–  OWASP	
  Tes(ng	
  Guide	
  Project
 
Thanks	
  
@okdt

OWASP ASVS Project review 2.0 and 3.0

  • 1.
    アプリケーションセキュリティ検査・検証の標準化   Applica(on  Security  Verifica(on  Standard  Project 岡田良太郎   riotaro.okada@owasp.org   OWASP  Japan   Asterisk  Research
  • 2.
  • 3.
    ASVS     Applica(on  Security  Verifica(on  Standard •  OWASP  ASVS  アプリケーションセキュリティ検証標準 プロジェクト   –  “Webアプリケーション セキュリティ検査・検証を実施する ときに用いるため、検査の対象範囲、厳密さのレベルを 利用可能な範囲で整理し、標準化することです。”   –  “ASVSは、アプリケーションに加え、環境面での技術的セ キュリティコントロールをテストする基準も提供します。”   owasp.org/index.php/Category:OWASP_Application_Security_Verification_Standard_Project
  • 4.
    OWASP  Top  10       イントロダクション >  注意事項
  • 5.
    OWASP  Top  10には…   +D  開発者向けの次のステップ   >  反復可能なセキュリティプロセスと標準セキュリティ制御の確立と使用
  • 6.
    ASVS  Verifica(on  Level  (v1.0/2009時代)   Consider ASVS instead of OWASP Top 10 •  Some  issues  when  implemented  in  prac(ce.   ASVS
  • 7.
  • 8.
  • 9.
    Level  1:  Opportunis(c   (簡単に見つかるレベル)
  • 10.
    Level  2:  Standard   (標準的なレベル) ・”Detailed  Verifica(on  Requirements”   ・OWASP  Top  10をカバー   ・ビジネスロジックも検証
  • 11.
    Level  3:  Advanced   (より進んだ脆弱性に対応)
  • 12.
    それ以上:    L3+   •  ASVS  L3  +   – アプリケーション・スコープを超えたオプション・テ スト   – サードパーティのモジュールへのテスト   – ミッションクリティカルなシステムでは必要となるこ とがある。  
  • 13.
    V2.  Authen(ca(on  Verifica(on  Requirements   Level  1 V2.1  基本的な使い方 V2.2  パスワードEchoなし V2.6  安全にフェイルする Level  2 V2.12  認証のロギング V2.13  Salt、暗号化 Level  3 V2.5  認証制御の実装 の(外部連携を含め) 集中化実装 V数字.数字 によるテスト項目のIden(fyもバージョン間で継承される
  • 14.
    V8.  Error  Handling  and  Logging     Level  1 V8.1  攻撃者を支援し兼 ねないエラーメッセージ、 スタックトレースを出力し ない Level  2 V8.2  全エラーハンドリン グがサーバー上で実装 V8.8  セキュリティログは 認証されていないアクセ スや改ざんから保護され ていること   Level  3 V8.9  ログを閲覧するソフ トウェア上で、信頼できな いデータを含むすべての イベントが、コードとして 実行されないこと V数字.数字 によるテスト項目のIden(fyもバージョン間で継承される
  • 15.
    “Detailed  Verifica(on  Requirements”   13項目の検査要件詳細 •  V2.  Authen(ca(on   •  V3.  Session  Management   •  V4.  Access  Control   •  V5.  Malicious  Input  Handling   •  V7.  Cryptography  at  Rest   •  V8.  Error  Handling  and  Logging   •  V9.  Data  Protec(on   •  V10.  Communica(ons   •  V11.  HTTP   •  V13.  Malicious  Controls   •  V15.  Business  Logic   •  V16.  File  and  Resource   •  V17.  Mobile The  numbering  scheme  has  been  kept   consistent  with  the  previous  version  of   ASVS  to  help  with  individuals  wishing  to   transi(on  from  one  to  the  other. 大項目 V(数字)   ASVSのバージョン間で同一。  
  • 16.
    Detailed  Verifica(on  Required   V3.0  preview •  V1.    Architecture,  design  and  threat  modelling  (v1.0(2009)のものを復活) •  V2.  Authen(ca(on •  V3.  Session  management •  V4.  Access  control •  V5.  Malicious  input  handling •  V7.  Cryptography  at  rest •  V8.  Error  handling  and  logging •  V9.  Data  protec(on •  V10.  Communica(ons •  V11.  HTTP  security  configura(on •  V13.  Malicious  controls •  V15.  Business  logic •  V16.  File  and  resources •  V17.  Mobile •  V18.  Web  services  (NEW  for  3.0) •  V19.  Configura(on  (NEW  for  3.0) •  V20.  Client  side  Security  (NEW  for  3.0)
  • 17.
    V18.  Web  services  (NEW  for  3.0)
  • 18.
    V19.  Configura(on  (NEW  for  3.0)
  • 19.
    V20.  Client  side  Security  (NEW  for  3.0)
  • 21.
    Appendix  A:  システムの業界、脅威、用途などから、           システムの Level  をSugges(on Level1:  インターネットから   アクセスできるアプリケーション Level2:  少数あるいは限られた   程度の個人の健康情報や   個人識別情報、支払いデータ   などの機微情報を扱うアプリケー   ション Level3:  医療機器、デバイス、   人生にかかわる情報を扱う   アプリケーション。支払い、POS、   大量のトランザクションデータ。   管理機能も対象となる。   INDUSTRY:     保険・金融   製造、   輸送、   技術、道具、   インフラ、   防衛、   ヘルスケア、   不動産・食品   など
  • 22.
    企画  要件定義  設計   実装   検査  デプロイ 調達 ASVSに基づく   検査手法をそろえる ASVS標準を使って   要件を明確にする リスクレベルの認識   ASVSでマッピング セキュリティ要件を   ASVSに照らして定義   L3なら設計レベル   要件も検討   選択したASVSレベルの   準拠状況を検査   開発 ※ 組織 OWASP  ASVS ツール・サービス提供者
  • 23.
    Usage    “標準”の使い方 • テストと結果報告に •  開発チームへ手渡す アプリケーションの認証 •  テスト担当チームへのガイドとして •  顧客へのテストガイドラインとして テスト手法の提供 •  外部テスターが要件を満たしているか •  契約者、協力会社が遵守すべきガイドとして ベンダー・サプライヤーの選択
  • 24.
    ASVS  and  YOU   まずは  V2.0(2014)をゲット! •  マネージャ(経営層)にアプローチ   –  リスクとアプリケーションセキュリティへの理解     •  自分のスタートレベルを決める   –  L  1がおすすめ     •  開発中のソフトウェアにあてはめてみる   –  最初はめっちゃ大変。でもひとつずつ   •  責任者を任命   –  開発チームの中でこの適用を検討するスタッフをアサインする     •  やってみる  
  • 25.
    ASVS  and  YOU   Security  Principle を学ぶ •  それぞれの層で徹底的に防衛 Defense  in  Depth.   •  ポジティブセキュリティモデル  Posi(ve  Security  Model   •  安全に失敗しろ Fail  Securely   •  最小権限の原則 Least  Privilege   •  Avoid  “Security  by  Obscurity”   •  …を信じない Do  not  trust  the  …     hAps://www.owasp.org/index.php/Category:Principle
  • 26.
    ASVS  and  YOU • V3.0  (July  2015)  preview!   –  大量のDeprecated   –  3つの新Verifica(on  Topic   •  V18.  Web  services     •  V19.  Configura(on     •  V20.  Client  side  Security     –  リファレンスも追加   •  Proac(ve  Control   •  Mobile  Top  10   •  PCI  DSS  3.0  
  • 27.
    OWASP  Project  -­‐  Flagship   •  Tools  [Reviewed  September  2014]   –  OWASP  Zed  AAack  Proxy   –  OWASP  Web  Tes(ng  Environment  Project   –  OWASP  OWTF   –  OWASP  Dependency  Check   •  Code  [Reviewed  November  2014]   –  OWASP  ModSecurity  Core  Rule  Set  Project   –  OWASP  CSRFGuard  Project   –  OWASP  AppSensor  Project   •  Documenta(on[Reviewed  February  2015]  in  progress   –  OWASP  Applica(on  Security  Verifica(on  Standard  Project   –  OWASP  Sorware  Assurance  Maturity  Model  (SAMM)   –  OWASP  AppSensor  Project   –  OWASP  Top  Ten  Project   –  OWASP  Tes(ng  Guide  Project
  • 28.