NCWG会合 2015/9

ビルトイン・セキュリティ	  アプリケーション・セキュリティを	  
実現するベストプラクティスとはOWASP Japan Lead	
株式会社アスタリスク・リサーチ	

岡田 良太郎		
riotaro.okada@owasp.org	

About  岡田良太郎
1. 情報セキュリティ・ベーシック/アドバンスドトレーニング（一般、技術関係職）	
2. システム環境、設計のリスクアナリシス （調達、構築、運用管理、更新）	
3. 開発・設計会社のためのビルドイン・セキュリティソリューション（開発会社）	
4. データセキュリティ・サービス （例：PHR x EHR） 		
コミュニティ・コラボレーション：	
– セキュリティ/災害対策/医療	– カレー大學 教授		その他公共関連の貢献活動	
••••マレーシア政府セキュリティイニシアチブ教育インストラクタ（外務省）	
政府調達担当向けサイバー演習評価委員（総務省）	
セキュリティキャンプ インストラクタ (経済産業省)	
自治体IT調達調査 (IPA)			

オワスプナイト	  5th	  Reasons	  for	  holding	  OWASP	  Global	  AppSec	  in	  Japan	  –	  OWASP	  Japan	  Local	  Chapter	  –	  2013.3.1	  22	  “開発者によるセキュリティの実現”	
「アスタリスク・リサーチがソフトウェアセキュリティにおけるソリューションを提供するパートナーとしてCigitalを選択してくれたことをうれしく思います。優れたソフトウェアセキュリティを実現する市場を開発することは実社会においてまさに望まれていることであり、私たち両社がともに長い期間目指してきたものです」	  	  	  Chief	  Technology	  Oﬃcer	  	  Gary	  McGraw（ゲイリー・マグロー）		  	  「この提携により、当社がこれまでお客様に提供してきたコンサルティングならびにトレーニングのサービス・ラインアップに、Cigital社のソリューションを加わることとなり、さらにより多くの開発チームに貢献できるようになります。これにより、当社のセキュリティ事業分野のミッションである	  “enabling	  security	  for	  developers”を実現し、ひいては安全かつ安定的に持続可能なインターネット社会の実現に貢献できればと考えています」	  代表取締役	  	  岡田 良太郎	|	  Enabling	  Security	  for	  Developers	  |	  	©2015	  Asterisk	  Research,	  Inc.	

4	

Cyber	  ASacks	  and	  damage	• 5,080,000	  aSack	  to	  Japanese	  Government	  • 9,312,543	  personal	  data	  breached	  • 2,020,657,500	  US$	  for	  legal	  repara\ons	  • 1,602,400	  US$	  average	  legal	  repara\ons	  cost	  for	  each	  cracked	  orgs	  ©2015	  Asterisk	  Research,	  Inc.	

5	

damaged	  industry	  <-­‐	  aSack	• ICT	  • SNS	  • Retail	  trade・Wholesale	  • Government	  and	  public	  service	  • Financial	  industry	  • Insurance	  industry	  • Educa\on	  industry	  • Intrusion	  • Denial	  of	  Service	  • Soaware	  Vulnerability	  	• Listed	  creden\al	  aSack	  • APT:	  Advanced	  Persistent	  Threat	  • Phishing	  • Malware	  • Ransom-­‐ware	  	  	  ©2015	  Asterisk	  Research,	  Inc.	

6	

Security	  Goal:	  Reduce	  Risk	
Reduce	  cyber	  security	  risk	  to	  an	  acceptable	  level	Impact	  to	  Business

High	  Unacceptable	  Risk	  Acceptable	  Risk	  Low	  Likelihood	  of	  Exploit	  ©2015	  Asterisk	  Research,	  Inc.	

High	  7	

キーワード	  “ASack	  Surface”	

8	

最大の脆弱性は？	

RMS	  Titanic	  depar\ng	  Southampton	  on	  April	  10,	  1912.	  (Photo:	  Crea\ve	  Commons)	  ©2015	  Asterisk	  Research,	  Inc.		

9	

“思い込み”脆弱性は最強	
• 一般に「メリットは大きめ、	  リスクは小さめ」	  – 好みや欲求	  – 立場や役職に基づく利害	  – Peer	  pressure：モラルハザード	  • プロでも	  – 注目しているリスクを大きめに	  見る傾向	  10	

ASack	  surfaceに関する	  “思い込み” 例	• コンプライアンスこそが情報セキュリティ確保の第一歩だ	  • 「内部向け」のシステムは攻撃領域としては影響は低い	  • ネットワーク通信が暗号化されていれば、通信路の攻撃	  リスクは取るに足らない	  • システムは、最終的にFirewall,	  WAFや、運用をがんばれば	  アプリケーションはそれほど重要ではない	  • 自分の知らない間に自分のIDや認証を悪用されることは、	  
まず、ない	  

11	

WHERE	  IS	  THE	  ATTACK	  SURFACE?	

hSps://www.reddit.com/r/funny/comments/1m628n/the_new_iphone_5s_provides_unmatched_security/	

12	

“Internet	  of	  Things”	

IoT	

「2020年には500億超の“モノ”がつながる」	  aSack	  surfaceはどうなる…？	

H2H	  H2M	   M2M	  Human	  to	  Machine	

Machine	  to	  Machine	

IoT	  Internet	  of	  Things	

Human	  to	  Human	

500億	  5億	  2003

125億	  2010

250億	  20152020

2015/9/4	  	  サイバーセキュリティ戦略 閣議決定	

15	

「日本はオイシイ」からサイバー攻撃で狙われる	
奈良先端科学技術大学院大学 山口英教授	
hSp://itpro.nikkeibp.co.jp/atcl/interview/14/262522/090700192/	16	

“ビルドイン・セキュリティ”	  	  設計・開発段階におけるセキュリティ。	
設計・開発品質	  阻害要因	  •••スケジュール	  コスト	  スキル	  対策が後手になるほどリスク・時間・コストUP	

システムリスクの	  80%以上	  この段階に起因	  フェーズ	

Plan	Design	

ライフサイクル・設計レビュー	

Dev	
単体テスト	

Build	SAST	  静的解析	

Deploy	DAST	  動的解析	

Opera\on	
MOINTORING	

施策	|	  Enabling	  Security	  for	  Developers	  |	  	©2015	  Asterisk	  Research,	  Inc.	

17	

開発成果物の価値が効率良く向上するサイクルのコツ	  見つけるだけではなく、修正し、改善プロセスをみる	
1.	  Find	  risky	  coding	  and	  vulnerabili\es	  earlier	  セキュリティ問題を潜在を早期発見	  	  2.	  Fix	  &	  Prevent	  them	  リスクのあるコーディングを修正・未然に防ぐ		  3.	  Improved	  educaJon	  and	  quality	  	  	  	  	  	  	  	  	  throughout	  SDLC	  開発ライフサイクルを通してソフトウェア品質向上	|	  Enabling	  Security	  for	  Developers	  |	  	©2015	  Asterisk	  Research,	  Inc.	

18	

他業界のビルド・イン・セキュリティ例：

PCI	  DSS準拠条件		  PCI	  DSS	  3.0要件(引用)	  	要件6	  安全性の高いシステムとアプリケーションを開発し、保守する	  	要件6は、現在および変化し続ける脆弱性、および安全なコード化ガイドラインを反映させるため要件が追加・更新されています。
開発環境、開発者トレーニングに関する要件が更新されています。また、コーディング実践に関する要件が追加されています。 	

要件	  11:	  	  セキュリティシス
テムおよびプロセスを定期的にテストする。	  	  要件11では、発展型要件、追加のガイダンス、明確化と多角的に要件が発展しています。特に、脆弱性テストには期間（四半期ごと）のみならず、訂正内容を検証するための繰り返しテストの要件についても明確化されました。 	

要件12	  	  要件12では、2.0に引き続き、担当者教育の重要性が強調されすべての担当者 ています。入社時、また年ごとに行うよう規定されています。 	の情報セキュリ
ティに対応するポリシーを維持する。	  	

19	

OWASP	  Internet	  of	  Things	  Top	  10	I1	  安全でないウェブインターフェース	  I2	  欠陥のある認証・認可機構	  I3	  安全でないネットワークサービス	  I4	  通信路の暗号化の欠如	  I5	  プライバシー	  I6	  安全でないクラウドインターフェース	  I7	  弱いモバイルインターフェース	  I8	  設定の不備	  I9	  ソフトウェア・ファームウェアの問題	  I10	  物理的な問題	
hSps://www.owasp.org/index.php/OWASP_Internet_of_Things_Top_Ten_Project	コードのテストケースは、脆弱性検査より詳細：
OWASP  ASVS,  OWASP  Top  10,  CWE  Top  25,  PCI  DSS入力値バリデーションならびに	  出力値のエンコードを徹底	
Cross-­‐Site	  Scrip\ng＊	  >	  Output	  Sent	  to	  Browser	  >	  Output	  Data	  in	  Web	  Page	  >	  DOM	  Object	  >	  HTTP	  Header	  Manipula\on	  >	  GET	  Requests	  >	  HTML	  Comments	  in	  JSP	  or	  PHP	  File	  >	  Hidden	  Field	  >	  Data	  Usage	  from	  HTTP	  Request	  >	  Output	  Encoding	  Set	  to	  False	  	  SQL	  Injec\on＊	  >	  Dangerous	  Method	  Calls	  >	  Database	  Query	  Manipula\on	  >	  Untrusted	  Data	  Source	  for	  Query	  >	  Dynamic	  Database	  Query	  	  Path	  Manipula\on＊	  >	  Unsani\zed	  Data	  Usage	  >	  Directory	  Call	  with	  Dynamic	  Inputs	  	  Denial	  of	  Service	  ASack	  >	  Hanging	  JRE	  >	  Dynamic	  Web	  Page	  Content	  >	  Processing	  Sensi\ve	  Data	  >	  Race	  Condi\on	  >	  Struts	  Conﬁg	  >	  XML	  ASacks	  	  File	  Input/Output	  >	  Exposed	  Buﬀers	  >	  Temporary	  Files	  in	  Shared	  Directories	  	  Other	  Unvalidated	  User	  Input＊	  >	  LDAP	  Injec\on＊	  >	  Xpath	  Injec\on＊	  >	  Command	  Injec\on＊	  >	  Remote	  Code	  Execu\on	  >	  Javax	  Persistence	  Security	

セキュアでないデータの取り扱いによる問
題を回避	
Insecure	  Data	  Storage	  >	  Insecure	  File	  Modes	  >	  No	  Access	  Control＊	  >	  User	  Creden\als	  Stored＊	  >	  Hardcoded	  Password＊	  >	  Access	  to	  Cache	  >	  HTTP	  Auth	  Creden\als	  Stored＊	  	  Sensi\ve	  Informa\on	  Leakage	  >	  Dynamic	  Web	  Page	  Content	  >	  System	  Informa\on	  Leak	  >	  Exposure	  of	  Authen\ca\on	  Objects	  >	  Use	  of	  printStack	  Trace	  >	  Excep\on	  Handling	  >	  Autocomplete	  Sewng	  >	  External	  Storage	  Used	  >	  Screen	  View	  Captured	  >	  Web	  Page	  Saved	  to	  Device	  >	  HTML	  Form	  Data	  >	  Insecure	  Conﬁgura\on	  in	  Manifest	  	  Weak	  Cryptography＊	  >	  Security	  Features	  >	  Weak	  Cryptographic	  Hash	  >	  Weak	  Encryp\on	  >	  Outdated	  Cipher	  >	  Weak	  Algorithm	  >	  Secure	  Number	  Randomiza\on	  >	  Insuﬃcient	  Key	  Size	  >	  Inadequate	  RSA	  Padding	  	  Trust	  Boundary	  Viola\ons	  >	  User	  Supplied	  Data	  to	  Beans	  >	  Calls	  Aﬀec\ng	  CURL	  Requests	  >	  Untrusted	  Data	  Source	  >	  Unsani\zed	  String	  >	  Injec\on	  in	  Email	  >	  Points	  of	  Interest	  >	  Entry	  Point	  Viola\on	  >	  Socket	  Connec\on	  Timeout	  >	  Socket	  Stream	  Timeout	  	  Unvalidated	  Redirects	  &	  Forwards	  ＊2013	  OWASP	  Top	  10の関連項目	

|	  Enabling	  Security	  for	  Developers	  |	  	>	  URL	  Redirec\on＊	  >	  User	  Redirec\on＊	  正しいコーディング手法の	  導入・徹底	
Thread	  APIs	  >	  Call	  to	  No\fy()	  >	  Invoca\on	  of	  Thread.stop()	  >	  Invoca\on	  of	  Thread.run()	  	  Struts	  Misconﬁgura\on	  >	  XML	  Injec\on	  >	  XML	  DTD	  ASack	  >	  Missing/Duplicate	  Form	  Bean＊	  >	  Missing	  Forward	  Name	  ASribute＊	  >	  Missing	  Path/Type	  ASribute＊	  >	  Unnecessary	  ASribute	  >	  Required	  Input	  ASribute	  >	  Invalid	  Excep\on	  Scope	  >	  Missing	  Form-­‐Property	  Type	  >	  Dangerous	  Rela\ve	  Path	  >	  Ac\on	  Not	  Validated	  	  Conﬁgura\on	  >	  ASP.NET	  Conﬁgura\on＊	  >	  PHP	  Conﬁgura\on＊	  >	  Environment	  Variable	  Value	  >	  Session	  Timeout	  Conﬁgura\on＊	  >	  Session	  Inac\ve	  Interval＊	  >	  Implementa\on	  Time	  Logic	  Flaws	  >	  Call	  to	  ReadLine	  >	  Race	  Condi\on	  >	  Hidden	  Field	  	  Improper	  Error	  Handling	  >	  Unspeciﬁed	  Error	  Page	  >	  JSP	  Deﬁnes	  Error	  Page	  >	  JSONRPC	  Security	  	  Log	  Handling	  >	  Unsani\zed	  Data	  WriSen	  to	  Logs	  >	  Private	  User	  Data	  Logged	  	  Cookie	  Security＊	  >Overly	  Broad	  Paths	  >	  Insuﬃcient	  Transport	  Layer	  Protec\on	  >	  Session	  Management	  	  Resource	  Handling	  >	  File	  Input	  Output	  >	  Hibernate	  Security	  >	  Resource	  Not	  Closed	  in	  Finally	  Block	  ©2015	  Asterisk	  Research,	  Inc.	

21	

SecureAssist	  リアルタイムコードレビュー・リスク指摘・修正ガイダンス	hSps://www.asteriskresearch.com/	

解説・ガイダンスや	  サンプルコード	  IDEプラグインによる	  リアルタイムな	  コードレビュー	  脆弱性とコードの対応による	  リスクレベルの可視化	  |	  Enabling	  Security	  for	  Developers	  |	  	©2015	  Asterisk	  Research,	  Inc.	

22	

まとめ	• 最大のリスクは「思い込み」。	  
– リファレンス（ファクト・データ・メソドロジ）など事実に基づいて本質的に考えること。コラボレーション、コミュニケーションはこれを打破する鍵になる。	  

• システムは、人為的なものではないトラフィックに	  埋め尽くされていく。	  
– アタックサーフィスは多様化し、後付け対応、事後対策的アプローチは破綻する。	  

• セキュリティ・バイ・デザイン、ビルトインセキュリティ	  で対策するほうが有効で、低コスト。	  
23	• ドライブ・バイ・ダウンロード型感染推移	  • Flashプラグインのリスクと対処法	  • 標的型攻撃のパターンと国内事情	  24	コミュニケーション・コラボレーションが効く。
問題の発生
問題意識の発生

incident	

1. リファレンス（データ・ファクト・メソドロジ）

2. コミュニケーション
3. コラボレーション

collabora\on	

・問題解決・予防策共有・対策連携強化	・社会貢献value	

NCWGの皆さんからのご依頼は	  優先します。ぜひどうぞ。	
タイミング	

トピック	

URL	

10/1	  14:30	  –	  16:30	   アプリケーションセキュリティ	  ベルサール神保
スーパーブリーフィング（神保町）	  町	  〜 年末リリースに間に合う！	  	  最新情報と打ち手	  主催：SONY	  DNA	   ※	  Android	  アプリの品質統計	  &	  Asterisk	  	   OWASP	  カンファレンス報告	  Research	  事例とツール紹介	

hSp://twiSer.com/okdt/status/641073158317998080	  10/1	  18:30	  	  EDITORY	  神保町	  ¥2000	  ※ プレゼンが聞ける楽しい会	  hSps://usablesecurity.doorkeeper.jp/events/31208	  残席わずか	

ビルトインセキュリティのご相談	  ・研修/教育コンテンツのご相談	  ・自動化ツールのトライアル	  ・協力会社・開発会社の選定評価	  hSps://www.asteriskresearch.com	  	  riotaro@rsrch.jp	  岡田まで	  いつでも！	  無料！	  

Usable	  x	  Security	  Meetup	  「めんどくさくないセキュリティ？	  
あるのかまじでミートアップ」	  	  hSps://www.sonydna.com/
sdna/topics/
sec_seminar_20151001.html	  お急ぎください		  26	Usable	  x	  Security	  Meetup	
hSps://usablesecurity.doorkeeper.jp/events/31208	

27	

Applica\on	  Security	  Super	  Brieﬁng	  2015	  Fall	hSps://www.sonydna.com/sdna/topics/sec_seminar_20151001.html	

28	

www.asteriskresearch.com	

|	  Enabling	  Security	  for	  Developers	  |	  	©2015	  Asterisk	  Research,	  Inc.	

29