Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
EN
Uploaded by
apkiban
1,049 views
脆弱性の探し方 ~発見と対応のノウハウ in NTTDATA~
SpringFEST2017の講演資料です。脆弱性対応のノウハウとしてお役立てください。
Software
◦
Read more
0
Save
Share
Embed
Embed presentation
Download
Download to read offline
1
/ 69
2
/ 69
3
/ 69
4
/ 69
5
/ 69
6
/ 69
7
/ 69
8
/ 69
9
/ 69
10
/ 69
11
/ 69
12
/ 69
13
/ 69
14
/ 69
15
/ 69
16
/ 69
17
/ 69
18
/ 69
19
/ 69
20
/ 69
21
/ 69
22
/ 69
23
/ 69
24
/ 69
25
/ 69
26
/ 69
27
/ 69
28
/ 69
29
/ 69
30
/ 69
31
/ 69
32
/ 69
33
/ 69
34
/ 69
35
/ 69
36
/ 69
37
/ 69
38
/ 69
39
/ 69
40
/ 69
41
/ 69
42
/ 69
43
/ 69
44
/ 69
45
/ 69
46
/ 69
47
/ 69
48
/ 69
49
/ 69
50
/ 69
51
/ 69
52
/ 69
53
/ 69
54
/ 69
55
/ 69
56
/ 69
57
/ 69
58
/ 69
59
/ 69
60
/ 69
61
/ 69
62
/ 69
63
/ 69
64
/ 69
65
/ 69
66
/ 69
67
/ 69
68
/ 69
69
/ 69
More Related Content
PDF
「なにをどこまでやれば?」OWASP SAMMが導く開発セキュリティ強化戦略
by
Riotaro OKADA
PPTX
Cisco Modeling Labs (CML)を使ってネットワークを学ぼう!(基礎編)配布用
by
シスコシステムズ合同会社
PPTX
S3 整合性モデルと Hadoop/Spark の話
by
Noritaka Sekiyama
PPTX
SalesforceにおけるCDC(変更データキャプチャ)の実装・活用法について
by
Takashi Hatamoto
PDF
ChatGPT、 何が「できる」「みえる」ようになってきたのか!
by
Jingun Jung
PDF
Prometeusについてはじめてみよう / Let's start Prometeus
by
Takeo Noda
PDF
The Twelve-Factor Appで考えるAWSのサービス開発
by
Amazon Web Services Japan
PDF
ユースケースからテスト駆動開発へ
by
Shuji Watanabe
「なにをどこまでやれば?」OWASP SAMMが導く開発セキュリティ強化戦略
by
Riotaro OKADA
Cisco Modeling Labs (CML)を使ってネットワークを学ぼう!(基礎編)配布用
by
シスコシステムズ合同会社
S3 整合性モデルと Hadoop/Spark の話
by
Noritaka Sekiyama
SalesforceにおけるCDC(変更データキャプチャ)の実装・活用法について
by
Takashi Hatamoto
ChatGPT、 何が「できる」「みえる」ようになってきたのか!
by
Jingun Jung
Prometeusについてはじめてみよう / Let's start Prometeus
by
Takeo Noda
The Twelve-Factor Appで考えるAWSのサービス開発
by
Amazon Web Services Japan
ユースケースからテスト駆動開発へ
by
Shuji Watanabe
What's hot
PPTX
Dockerからcontainerdへの移行
by
Akihiro Suda
PPTX
CrowdStrike Falconと効果的に楽に付き合っていくために
by
Eiji Hoshimoto
PPTX
DeNAのサーバー"コード"レスアーキテクチャ
by
Haruto Otake
PDF
エンジニアのためのOSSライセンス管理~OSS管理ツールの池の水全部抜く~
by
Daisuke Morishita
PDF
20200303 AWS Black Belt Online Seminar AWS Cloud Development Kit (CDK)
by
Amazon Web Services Japan
PDF
AlloyDB のデータ分析基盤での活用におけるポテンシャルとは?
by
Takuya Ogawa
PDF
AI-first Code Editor 「Cursor」の機能紹介
by
ssuser39314d
PPTX
NTTデータ流Infrastructure as Code~ 大規模プロジェクトを通して考え抜いた基盤自動化の新たな姿~(NTTデータ テクノロジーカンフ...
by
NTT DATA Technology & Innovation
PDF
TLS, HTTP/2演習
by
shigeki_ohtsu
PDF
Apache Airflow 概要(Airflowの基礎を学ぶハンズオンワークショップ 発表資料)
by
NTT DATA Technology & Innovation
PPTX
SPAセキュリティ入門~PHP Conference Japan 2021
by
Hiroshi Tokumaru
PPTX
はじめての datadog
by
Naoya Nakazawa
PDF
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
by
Trainocate Japan, Ltd.
PDF
VPC Reachability Analyzer 使って人生が変わった話
by
Noritaka Sekiyama
PPTX
レガシーコード改善のススメ
by
Akira Hirasawa
PPTX
はじめてのElasticsearchクラスタ
by
Satoyuki Tsukano
PDF
Spring Boot × Vue.jsでSPAを作る
by
Go Miyasaka
PDF
秩序がなくともピースは成り立つ~WebSig会議 vol.34「Webディレクター必見!プロジェクトを成功に導く、オンラインツール活用トラノマキ2014」
by
WebSig24/7
PPTX
大規模データ活用向けストレージレイヤソフトのこれまでとこれから(NTTデータ テクノロジーカンファレンス 2019 講演資料、2019/09/05)
by
NTT DATA Technology & Innovation
PDF
AWSにおけるバッチ処理の ベストプラクティス - Developers.IO Meetup 05
by
都元ダイスケ Miyamoto
Dockerからcontainerdへの移行
by
Akihiro Suda
CrowdStrike Falconと効果的に楽に付き合っていくために
by
Eiji Hoshimoto
DeNAのサーバー"コード"レスアーキテクチャ
by
Haruto Otake
エンジニアのためのOSSライセンス管理~OSS管理ツールの池の水全部抜く~
by
Daisuke Morishita
20200303 AWS Black Belt Online Seminar AWS Cloud Development Kit (CDK)
by
Amazon Web Services Japan
AlloyDB のデータ分析基盤での活用におけるポテンシャルとは?
by
Takuya Ogawa
AI-first Code Editor 「Cursor」の機能紹介
by
ssuser39314d
NTTデータ流Infrastructure as Code~ 大規模プロジェクトを通して考え抜いた基盤自動化の新たな姿~(NTTデータ テクノロジーカンフ...
by
NTT DATA Technology & Innovation
TLS, HTTP/2演習
by
shigeki_ohtsu
Apache Airflow 概要(Airflowの基礎を学ぶハンズオンワークショップ 発表資料)
by
NTT DATA Technology & Innovation
SPAセキュリティ入門~PHP Conference Japan 2021
by
Hiroshi Tokumaru
はじめての datadog
by
Naoya Nakazawa
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
by
Trainocate Japan, Ltd.
VPC Reachability Analyzer 使って人生が変わった話
by
Noritaka Sekiyama
レガシーコード改善のススメ
by
Akira Hirasawa
はじめてのElasticsearchクラスタ
by
Satoyuki Tsukano
Spring Boot × Vue.jsでSPAを作る
by
Go Miyasaka
秩序がなくともピースは成り立つ~WebSig会議 vol.34「Webディレクター必見!プロジェクトを成功に導く、オンラインツール活用トラノマキ2014」
by
WebSig24/7
大規模データ活用向けストレージレイヤソフトのこれまでとこれから(NTTデータ テクノロジーカンファレンス 2019 講演資料、2019/09/05)
by
NTT DATA Technology & Innovation
AWSにおけるバッチ処理の ベストプラクティス - Developers.IO Meetup 05
by
都元ダイスケ Miyamoto
Similar to 脆弱性の探し方 ~発見と対応のノウハウ in NTTDATA~
PPTX
OSSプロジェクトへのコントリビューション はじめの一歩を踏み出そう!(Open Source Conference 2022 Online/Spring...
by
NTT DATA Technology & Innovation
PPTX
他人事ではないWebセキュリティ
by
Yosuke HASEGAWA
PDF
大規模・長期保守を見据えたエンタープライズシステム開発へのSpring Frameworkの適用
by
apkiban
PPTX
Mix Leap 0214 security
by
adachi tomohiro
PDF
2019 0824 vulnability_meetup_6_lt
by
Shinichiro Kawano
PDF
[JPCERT/CC POC Meeting] 研究紹介 + DLLハイジャックの脆弱性
by
Asuka Nakajima
PDF
なぜ情報漏洩事故は繰り返されるのか? ~当社の運用事例にみる、サイバー攻撃の実際と効果的な対策~ NTTコミュニケーションズ セキュリティ・エバンジェリス...
by
satoru koyama
PPTX
20170408 securiy-planning
by
hogehuga
PDF
OWASPTop10_Introduction
by
Rakuten Group, Inc.
PDF
SecureAssist Introduction
by
Asterisk Research, Inc.
PDF
BigFix とAppScan による組織全体でのLog4j 脆弱性問題への対応
by
Software Info HCL Japan
PPTX
Unauthorized access ncom,may 2020
by
Takeo Sakaguchi ,CISSP,CISA
PDF
2020_0625_Cloud and Salesforce Security_Security Consulting_pre_version
by
Shinichiro Kawano
PDF
Azureの上におとりを置いて、世界中から攻撃される様子を観察した話
by
Ryuki Yoshimatsu
PDF
The Shift Left Path and OWASP
by
Riotaro OKADA
PPTX
4 Enemies of DevSecOps 2016
by
Riotaro OKADA
PDF
アプリケーションのシフトレフトを実践するには
by
Riotaro OKADA
PPTX
OSC 2021 Osaka IT運用自律化を支援する「運用レコメンドプラットフォーム」においてKeycloakを用いて認証を実装した話
by
Takuya Naito
PDF
フリーでやろうぜ!セキュリティチェック!
by
zaki4649
PDF
OSC 2020 Fukuoka IT運用自動化を支援する「運用レコメンドプラットフォーム」実現の舞台裏
by
Daisuke Ikeda
OSSプロジェクトへのコントリビューション はじめの一歩を踏み出そう!(Open Source Conference 2022 Online/Spring...
by
NTT DATA Technology & Innovation
他人事ではないWebセキュリティ
by
Yosuke HASEGAWA
大規模・長期保守を見据えたエンタープライズシステム開発へのSpring Frameworkの適用
by
apkiban
Mix Leap 0214 security
by
adachi tomohiro
2019 0824 vulnability_meetup_6_lt
by
Shinichiro Kawano
[JPCERT/CC POC Meeting] 研究紹介 + DLLハイジャックの脆弱性
by
Asuka Nakajima
なぜ情報漏洩事故は繰り返されるのか? ~当社の運用事例にみる、サイバー攻撃の実際と効果的な対策~ NTTコミュニケーションズ セキュリティ・エバンジェリス...
by
satoru koyama
20170408 securiy-planning
by
hogehuga
OWASPTop10_Introduction
by
Rakuten Group, Inc.
SecureAssist Introduction
by
Asterisk Research, Inc.
BigFix とAppScan による組織全体でのLog4j 脆弱性問題への対応
by
Software Info HCL Japan
Unauthorized access ncom,may 2020
by
Takeo Sakaguchi ,CISSP,CISA
2020_0625_Cloud and Salesforce Security_Security Consulting_pre_version
by
Shinichiro Kawano
Azureの上におとりを置いて、世界中から攻撃される様子を観察した話
by
Ryuki Yoshimatsu
The Shift Left Path and OWASP
by
Riotaro OKADA
4 Enemies of DevSecOps 2016
by
Riotaro OKADA
アプリケーションのシフトレフトを実践するには
by
Riotaro OKADA
OSC 2021 Osaka IT運用自律化を支援する「運用レコメンドプラットフォーム」においてKeycloakを用いて認証を実装した話
by
Takuya Naito
フリーでやろうぜ!セキュリティチェック!
by
zaki4649
OSC 2020 Fukuoka IT運用自動化を支援する「運用レコメンドプラットフォーム」実現の舞台裏
by
Daisuke Ikeda
More from apkiban
PPTX
システム間連携を担うSpring Integrationのエンタープライズ開発での活用
by
apkiban
PDF
Spring Initializrをハックする-カスタマイズを通してその内部実装を覗く
by
apkiban
PDF
What happens in Spring Cloud Netflix
by
apkiban
PDF
GraalVM の概要と、Native Image 化によるSpring Boot 爆速化の夢
by
apkiban
PDF
SpringOne Platform 2018 全体報告
by
apkiban
PDF
新しいTERASOLUNA Batch Frameworkとは
by
apkiban
PDF
Javaエンジニアに知ってほしい、Springの教科書「TERASOLUNA」
by
apkiban
PDF
TERASOLUNA Framework on the Spring IO Platform
by
apkiban
PPTX
Application Re-Architecture Technology ~ StrutsからSpring MVCへ ~
by
apkiban
PPTX
バッチは地味だが役に立つ
by
apkiban
PDF
Spring 5 でSpring Test のここが変わる
by
apkiban
システム間連携を担うSpring Integrationのエンタープライズ開発での活用
by
apkiban
Spring Initializrをハックする-カスタマイズを通してその内部実装を覗く
by
apkiban
What happens in Spring Cloud Netflix
by
apkiban
GraalVM の概要と、Native Image 化によるSpring Boot 爆速化の夢
by
apkiban
SpringOne Platform 2018 全体報告
by
apkiban
新しいTERASOLUNA Batch Frameworkとは
by
apkiban
Javaエンジニアに知ってほしい、Springの教科書「TERASOLUNA」
by
apkiban
TERASOLUNA Framework on the Spring IO Platform
by
apkiban
Application Re-Architecture Technology ~ StrutsからSpring MVCへ ~
by
apkiban
バッチは地味だが役に立つ
by
apkiban
Spring 5 でSpring Test のここが変わる
by
apkiban
脆弱性の探し方 ~発見と対応のノウハウ in NTTDATA~
1.
© 2017 NTT
DATA Corporation 脆弱性の探し方 ~発見と対応のノウハウ in NTTDATA~ 2017/11/24 株式会社NTTデータ 生産技術部 ソフトウェア工学推進センタ 浅原 舜平
2.
© 2017 NTT
DATA Corporation 2 はじめに
3.
© 2017 NTT
DATA Corporation 3 自己紹介 浅原舜平 株式会社NTTデータ 技術革新統括本部 システム技術本部 生産技術部 ソフトウェア工学推進センタ TERASOLUNA FW開発チーム所属 - セキュリティ
4.
© 2017 NTT
DATA Corporation 4 TERASOLUNAフレームワークのコンセプト エンタープライズ利用における当社知見をベースに、 Springを最大限活用したフレームワークへ Spring IO Platform Spring Security Spring MVC JPA MyBatis 1. OSSを組み合わせ、独自部分を極小化 2. OSSの機能を最大限に活かして開発するた めのベストプラクティスを提供することに注力 開発ガイドライン http://terasolunaorg.github.io/
5.
© 2017 NTT
DATA Corporation 5 本題
6.
6© 2017 NTT
DATA Corporation 1. 背景 2. なぜ、取り組んでいるのか? 3. 脆弱性の探し方 4. 報告・対応のノウハウ 5. まとめ 目次
7.
© 2017 NTT
DATA Corporation 7 「Spring」、「脆弱性」というキーワードで心配になる人もいるかもしれまんが、 Spring FWはキケンなのでしょうか? Spring FWはキケンなのか?
8.
© 2017 NTT
DATA Corporation 8 「Spring」、「脆弱性」というキーワードで心配になる人もいるかもしれまんが、 Spring FWはキケンなのでしょうか? NO! 小さいものが年に2-3個見つかる程度 Spring FWはキケンなのか? Spring FWでは今のところ、 ニュースで騒がれるような重大な脆弱性は報告されていません 現時点では
9.
© 2017 NTT
DATA Corporation 9 背景
10.
© 2017 NTT
DATA Corporation 10 背景 近年、セキュリティに対する世の中の関心は高まっており ニュースで取り上げられることも多くなっています https://www.ipa.go.jp/security/ciadr/vul/20170914_blueborne.html https://www.ipa.go.jp/security/ciadr/vul/20171017_WPA2.html https://www.ipa.go.jp/security/ciadr/vul/20170514-ransomware.html いずれも情報処理推進機構 情報セキュリティに関するニュースリリース
11.
© 2017 NTT
DATA Corporation 11 共通脆弱性識別子(Common Vulnerabilities and Exposures: CVE) →1つの脆弱性につき、ユニークなCVEが発行される →MITRE社が払い出し、管理している →2016年はCVE-2016-10699まで発行された →2017年はCVE-2017-16867まで発行されている(11月現在) 2016/17年の脆弱性 ここ最近、脆弱性は年間1万件以上発生しています CVE-2017-xxxx 4桁では足りなくなっている
12.
© 2017 NTT
DATA Corporation 12 WebAP/Java分野でのニュース WebAP/Javaの分野も例外ではなく 重大インシデントに繋がる脆弱性が報告されています 情報処理推進機構 https://www.ipa.go.jp/security/ciadr/vul/20170308-struts.html
13.
© 2017 NTT
DATA Corporation 13 • Webアプリにおける脆弱性で代表的なもの - XSS(クロスサイトスクリプティング) - SQLインジェクション - RCE(リモートコード実行攻撃) - パストラバーサル etc… • 特に、被害が拡大するケース - リモートコード実行可能なもの、データ改ざん・読み取り →個人情報・クレジットカード情報の流出に繋がるケースも 基礎知識 脆弱性とは、プログラムの不具合や設計上のミスが 原因となって発生した情報セキュリティ上の欠陥
14.
© 2017 NTT
DATA Corporation 14 問題提起 脆弱性に対して、 開発者は何をする必要がある?
15.
© 2017 NTT
DATA Corporation 15 問題提起 脆弱性に対して、 開発者は何をする必要がある? 何をやるべき? そもそも意識 しないとダメ? どこまで やるべきなの? 危機感は あるんだけど、、、
16.
© 2017 NTT
DATA Corporation 16 今日のテーマ
17.
© 2017 NTT
DATA Corporation 17 TERASOLUNA FWとして どんな取り組みを行っているか紹介します! 今日のテーマ
18.
© 2017 NTT
DATA Corporation 18 TERASOLUNA FWとして どんな取り組みを行っているか紹介します! 今日のテーマ 「探す」活動まで行っています!
19.
© 2017 NTT
DATA Corporation 19 なぜ、取り組んでいるのか?
20.
© 2017 NTT
DATA Corporation 20 そもそも、なぜ取り組んでいるのか TERASOLUNA FWは古くはStruts1をメインFWに据えて 2007年から展開していました 業務アプリケーション Struts1 iBATIS 独自フレームワーク層 業務アプリケーション Spring IO Platform Spring Security Spring MVC JPA MyBatis 開発ガイドライン開発ガイドライン 2007年 2016年
21.
© 2017 NTT
DATA Corporation 21 そもそも、なぜ取り組んでいるのか TERA FWは古くはStruts1をメインFWに据えて 2007年から展開していました 業務アプリケーション Struts1 iBATIS 独自フレームワーク層 業務アプリケーション Spring IO Platform Spring Security Spring MVC JPA MyBatis 開発ガイドライン開発ガイドライン 2007年 2016年 当時から、脆弱性対応も FW開発者としての責務・ サポートの一環として実施
22.
© 2017 NTT
DATA Corporation 22 取り組みのサイクル 収集 分析対処 脆弱性情報の収集 影響確認と 対策立案 情報展開や 修正版リリース 当時から、FW開発者としての責務・サポートの一環として 脆弱性に対する取り組みを実施しています。
23.
© 2017 NTT
DATA Corporation 23 2014年4月 Struts1 ClassLoader脆弱性が発生
24.
© 2017 NTT
DATA Corporation 24 Struts1の話 取り組みの必要性を再確認すると同時に、 改善が必要と再認識! http://www.nttdata.com/jp/ja/news/information/2014/2014042801.html
25.
© 2017 NTT
DATA Corporation 25 Struts1脆弱性からの学び 取り組みの必要性を再確認すると同時に、 改善が必要と再認識! 収集 分析対処 がんばって対処すること も大切だが、、、 脆弱性を探して 被害を未然に防ぎたい!
26.
© 2017 NTT
DATA Corporation 26 Struts1脆弱性からの学び 収集 分析対処 脆弱性を「探す」 公知の脆弱性を対応するだけではなく、 未知の脆弱性を「探す」活動も必要!
27.
© 2017 NTT
DATA Corporation 27 Spring FWに対しても TERASOLUNA FWのメインOSSがSpring FWに移行してからも 脆弱性を「探す」取り組みまで実施しています! 業務アプリケーション Struts1 iBATIS 独自フレームワーク層 業務アプリケーション Spring IO Platform Spring Security Spring MVC JPA MyBatis 開発ガイドライン開発ガイドライン 2007年 2016年
28.
© 2017 NTT
DATA Corporation 28 脆弱性の探し方
29.
© 2017 NTT
DATA Corporation 29 取り組み概要 収集 分析対処 脆弱性を「探す」 脆弱性を「探す」活動を含め、情報収集から解析・対応まで 一貫した取り組みを実施しています 再掲 情報展開や 修正版リリース 影響確認と 対策立案
30.
© 2017 NTT
DATA Corporation 30 「探す」とは 脆弱性を「探す」活動とは 攻撃コード(PoC)を「探す」ということ! PoC(Proof of Concept)とは: 脆弱性対応の文脈では 脆弱性をつく攻撃コード = exploit という意味で用いられる。 PoCの重要性: PoCがあるかどうかで解析の難易度・速度が大きく変わる。 また、脆弱性の影響範囲を正確に把握するには、PoCの存在が必 要不可欠である。
31.
© 2017 NTT
DATA Corporation 31 「探す」活動の概要 「探す」という活動に対して、 外的・内的な活動でアプローチしています 外的: 情報収集 内的: コードレビュー design-vector http://design-vector.hatenablog.com/entry/2015/09/16/090000 みふねたかし 「いらすとや」 http://www.irasutoya.com/2013/07/blog-post_8147.html
32.
© 2017 NTT
DATA Corporation 32 「探す」活動の概要 「探す」という活動に対して、 外的・内的な活動でアプローチしています 外的: 情報収集 内的: コードレビュー design-vector http://design-vector.hatenablog.com/entry/2015/09/16/090000 みふねたかし 「いらすとや」 http://www.irasutoya.com/2013/07/blog-post_8147.html
33.
© 2017 NTT
DATA Corporation 33 脆弱性に対応するためには できるだけ「新鮮」で「正確」な情報が必要になります そしてその情報を「もれなく」「いちはやく」キャッチすることが重要です OSSコミュニティの監視 ・Springをはじめ、TERASOLUNA FWで利用している全てのOSSが対象 - 新しい脆弱性情報が公開されていないか - 攻撃コードが世の中に出回っていないか ・OSINT活動 情報収集 外的なアプローチ: 日々の情報収集は取り組みの基礎!
34.
© 2017 NTT
DATA Corporation 34 OSINT活動とは githubやJIRAの情報に対してOSINT活動することで 脆弱性やPoCの情報を探しています! オープンソースインテリジェンス(open source intelligence:OSINT)活動 もともとは諜報活動の分野のひとつ。 「合法的に入手できる資料」を「合法的に調べ突き合わせる」手法。 github/JIRAのissueで議論中の話題から脆弱性を先んじて検知したり、 脆弱性の修正コミットに含まれるテストコードからPoCを割り出したり、 機械的には収集できないような脆弱性情報をいち早くキャッチし、速やかな対 応に繋げている。
35.
© 2017 NTT
DATA Corporation 35 「探す」活動の概要 「探す」という活動に対して、 外的・内的な活動でアプローチしています 外的: 情報収集 内的: コードレビュー design-vector http://design-vector.hatenablog.com/entry/2015/09/16/090000 みふねたかし 「いらすとや」 http://www.irasutoya.com/2013/07/blog-post_8147.html
36.
© 2017 NTT
DATA Corporation 36 公知の脆弱性を対応するだけではなく、 未知の脆弱性を「探す」ための活動も必要 この活動によって、脆弱性のリスクを未然に防ぎ、 脆弱性に対するノウハウを蓄積しています。 ソースコードレビュー ・Springをはじめ、TERA FWで利用している全てのOSSが対象 ・一般的なコードレビューとは異なる観点が必要になる ・いくつかの戦略を立てて実施している ソースコードレビュー 内的なアプローチ: ソースコードレビューを実施しています!
37.
© 2017 NTT
DATA Corporation 37 • その1:What - 仕様どおりに実装されているか確認する • その2:When - 新機能やアップデートした部分を確認する • その3:Where - モジュール間の整合性を確認する • その4:How - 他のOSSで話題になっている脆弱性を確認する コードレビューの戦略
38.
© 2017 NTT
DATA Corporation 38 脆弱性とは何か? 脆弱性はバグの延長線上! なので、バグを見つける工程を意識する 仕様・JavaDocの記載どおりに実装されているか確認する。 特に、FWから外部のOSSを利用している場合、注意が必要。 そのOSSの仕様や注意書きが変わっており脆弱性となることがある。 デシリアライズを実現するOSSなどで注意が必要 その1:What 仕様どおりに実装されているか確認する!
39.
© 2017 NTT
DATA Corporation 39 こんなケースだと、どちらの脆弱性か?(ケース1) FWMarshaller 利用 脆弱性 脆弱性の影響を受ける 使い方をしている場合
40.
© 2017 NTT
DATA Corporation 40 こんなケースだと、どちらの脆弱性か?(ケース1) FWMarshaller 利用 脆弱性 脆弱性の影響を受ける 使い方をしている場合
41.
© 2017 NTT
DATA Corporation 41 こんなケースだと、どちらの脆弱性か?(ケース2(CVE-2017-9805:S2-052 )) FWMarshaller 利用 脆弱性 脆弱性の影響を受ける 使い方をしている場合 脆弱性が存在します。 回避策は~です。 公式アナウンス
42.
© 2017 NTT
DATA Corporation 42 こんなケースだと、どちらの脆弱性か?(ケース2(CVE-2017-9805:S2-052 )) FWMarshaller 利用 脆弱性 脆弱性の影響を受ける 使い方をしている場合 脆弱性が存在します。 回避策は~です。 公式アナウンス 利用しているOSS全ての脆弱性情報を収集し、 正しい使い方ができているかレビューする
43.
© 2017 NTT
DATA Corporation 43 • その1:What - 仕様どおりに実装されているか確認する • その2:When - 新機能やアップデートした部分を確認する • その3:Where - モジュール間の整合性を確認する • その4:How - 他のOSSで話題になっている脆弱性を確認する コードレビューの戦略
44.
© 2017 NTT
DATA Corporation 44 いつ脆弱性は作りこまれるのか? 新機能の追加や修正した時 (特に脆弱性の修正) その2:When 新機能やアップデートした部分を確認する! 新機能 11% 修正漏れ 22% その他 67% Spring Framework/Security 脆弱性全体(18個)の 33%を占めている
45.
© 2017 NTT
DATA Corporation 45 • その1:What - 仕様どおりに実装されているか確認する • その2:When - 新機能やアップデートした部分を確認する • その3:Where - モジュール間の整合性を確認する • その4:How - 他のOSSで話題になっている脆弱性を確認する コードレビューの戦略
46.
© 2017 NTT
DATA Corporation 46 どこで脆弱性は作りこまれるのか? モジュール間で 動作が異なる部分 Spring MVCとSpring Securityでのパスマッチング APサーバとの連携 アクセス制御すり抜けやパストラバーサル脆弱性に繋がる可能性がある その3:Where モジュール間の整合性を確認する!
47.
© 2017 NTT
DATA Corporation 47 具体例:Spring Securityでのアクセス制御のメカニズム Spring Security Spring MVC リクエストのパス をURLデコード <sec:intercept-url ~> とパス比較 パスパラメータ を削除する パスパラメータ を削除する request = /foo;[path parameter]~ @RequestMapping(~) とパス比較 パスパラメータを 削除してから URLデコード
48.
© 2017 NTT
DATA Corporation 48 具体例:CVE-2016-9879のメカニズム Spring Security Spring MVC リクエストのパス をURLデコード <sec:intercept-url ~> とパス比較 パスパラメータ を削除する パスパラメータ を削除する request = /foo;[path parameter]~ @RequestMapping(~) とパス比較 リクエストのパス をURLデコード APサーバに依存して 処理の中身が変わっている
49.
© 2017 NTT
DATA Corporation 49 具体例:CVE-2016-9879のメカニズム Spring Security Spring MVC リクエストのパス をURLデコード <sec:intercept-url ~> とパス比較 パスパラメータ を削除する パスパラメータ を削除する request = /foo;[path parameter]~ @RequestMapping(~) とパス比較 リクエストのパス をURLデコード 要注意な文字列(OWASPより): < > ” ‘ % ( ) & + ¥ ¥’ ¥” など Spring Securityのアクセス制御はすり抜るが、、、 Spring MVCとパスマッチングしてしまう
50.
© 2017 NTT
DATA Corporation 50 • その1:What - 仕様どおりに実装されているか確認する • その2:When - 新機能やアップデートした部分を確認する • その3:Where - モジュール間の整合性を確認する • その4:How - 他のOSSで話題になっている脆弱性を確認する コードレビューの戦略
51.
© 2017 NTT
DATA Corporation 51 どのように脆弱性を「探す」か? その他のOSSで見つかっている脆弱性についても Spring FWへ横展開して調査 我々はSpring以外のOSSに対しても脆弱性調査も実施している 例えば、Struts2で話題になっているOGNL式 からよく似た機能を実現している SpEL式へ横展開など その4:How 他のOSSで話題になっている脆弱性を確認する!
52.
© 2017 NTT
DATA Corporation 52 以下のような実装をしてしまえば、OSコマンドが実行される FWの中でSqelExpressionParserが実装されているときに、引数が検証された 値ではなく、ユーザが入力した任意の値を受け付けるような実装をしていれば RCE(リモートコード実行攻撃)が成立する。 そういった実装があるかどうかを確認する SpELへの横展開の具体例 検証された値をFW内で 受け渡しているだけなら問題ないが、、、
53.
© 2017 NTT
DATA Corporation 53 • その1:What - 仕様どおりに実装されているか確認する • その2:When - 新機能やアップデートした部分を確認する • その3:Where - モジュール間の整合性を確認する • その4:How - 他のOSSで話題になっている脆弱性を確認する コードレビューの戦略
54.
© 2017 NTT
DATA Corporation 54 取り組みの成果 こうした取り組みの結果、 昨年は2件脆弱性を報告しました! CVE-2016-9878 Directory Traversal in the Spring Framework ResourceServlet CVE-2016-9879 Encoded “/” in path variables CVE-2014-3625 Directory Traversal in Spring Framework CVE-2015-3192 DoS Attack with XML Input CVE-2015-5211 RFD Attack in Spring Framework 直近、3年間では15件の脆弱性のうち、 5件の脆弱性報告にNTTデータが寄与しています!
55.
© 2017 NTT
DATA Corporation 55 報告・対応のノウハウ
56.
© 2017 NTT
DATA Corporation 56 ・脆弱性は再現性があるか - どういう条件下で発生するのか - 最新のバージョンで影響があるか? ・似た攻撃方法・発生条件があるか ・何を実現できる脆弱性か ・どうやったら対策できるか - 対策方法・軽減策・修正案など ・影響範囲(プロダクトやバージョンなど)はどこまでか 見つけたら何をすべきか? 報告する!の前に やらなくてはいけないことがあります 発見! 報告! 以下のような情報を整理し、社内のCERT組織と連携しておく
57.
© 2017 NTT
DATA Corporation 57 ・信頼できる窓口に報告する - github/JIRAなどのpublicな場所に投稿しない - 修正前にpublicにするとゼロデイ攻撃になりえる ・修正案も提示する - 攻撃コードやメカニズムだけ報告しても調整が長引く - 修正案があるとスムーズに話が進む(ケースが多い) ・パッチのレビューする - 先方でパッチが作成されるとレビューをお願いされる - 修正漏れがないか、デグレがないか確認する ・公開までのスケジュールを確認しておく - パッチリリースの予定など - 修正対象のプロダクトやバージョンも確認しておく 報告~公開までに気をつけるべきことは? いざ、報告!となっても、公開されるまで 気を抜いてはいけません! 発見! 報告!
58.
© 2017 NTT
DATA Corporation 58 一般的な報告ルート(IPA「早期警戒パートナーシップ」資料より) 早期警戒パートナーシップとは? 脆弱性関連情報の適切な流通を実現するために、 関係者に推奨する行為をとりまとめたもの IPA「早期警戒パートナーシップ」資料より https://www.ipa.go.jp/files/000059694.pdf
59.
© 2017 NTT
DATA Corporation 59 Spring FWの場合の報告ルート 発見者から直接の届出を受け入れる旨を受諾している 製品開発者の場合、直接届け出ることも可能 ~「2. 発見者の対応 3) 脆弱性関連情報の届出」より~ IPA「早期警戒パートナーシップ」資料より https://www.ipa.go.jp/files/000059694.pdf
60.
© 2017 NTT
DATA Corporation 60 見つかったものを対応するケースが 多いかもしれません しかし、実際には、、、
61.
© 2017 NTT
DATA Corporation 61 ・PoCが世の中に出回っていないか 出回っていれば、再現できるかどうか ・脆弱性の概要 何を実現する脆弱性か、どのような条件で発生するか ・修正バージョンは脆弱性を防げているか PoCがあればそれを起点に攻撃確認やレビュー ない場合は修正箇所のレビューなど その他のデグレについても確認する ・影響プロダクト・バージョンはどこまでか 最新情報をキャッチアップすること 公開された脆弱性を対応する際に気をつけること 影響範囲・内容を正しく理解し、 正しい対処を実施すること! 公開! 以下の情報を確認し、対処方法を立案する
62.
© 2017 NTT
DATA Corporation 62 ・PoCが世の中に出回っていないか 出回っていれば、再現できるかどうか ・脆弱性の概要 何を実現する脆弱性か、どのような条件で発生するか ・修正バージョンは脆弱性を防げているか PoCがあればそれを起点に攻撃確認やレビュー ない場合は修正箇所のレビューなど その他のデグレについても確認する ・影響プロダクト・バージョンはどこまでか 公式アナウンスを鵜呑みにしない! 公開された脆弱性を対応する際に気をつけること 影響範囲・内容を正しく理解し、 正しい対処を実施すること! 公開! 以下の情報を確認し、対処方法を立案する 対応は迅速に!しかし過剰に反応しすぎないこと! リスクを正しく見積もることが大切!
63.
© 2017 NTT
DATA Corporation 63 まとめ
64.
© 2017 NTT
DATA Corporation 64 問題提起 脆弱性に対して、 開発者は何をする必要がある?
65.
© 2017 NTT
DATA Corporation 65 まとめ NTTDATAでは、TERASOLUNA FWに関係する脆弱性に対して・・・ ①.日々、OSINT活動などを駆使して情報収集しています! ②.戦略をもってコードレビューを実施しています! ③.報告・対応のノウハウをもっています! 脆弱性を「探す」活動まで 実施しています!
66.
© 2017 NTT
DATA Corporation 66 世の中に公表されていないからといって、誰も見つけていないとは限りません! 悪意のある攻撃者だけが知っていて攻撃しているケースもあるかもしれません! そういった可能性を排除し、OSSをセキュアにするためには、 脆弱性がどんどん見つかったほうがよいですよね! 提言 OSSにとって、脆弱性が見つかるというのは 不幸なことでしょうか? 脆弱性を探しましょう! Springをセキュアにしていきましょう! セキュアなSpringを使いましょう!
67.
© 2017 NTT
DATA Corporation 67 まとめ NTTDATAでは、TERASOLUNA FWに関係する脆弱性に対して・・・ ①.日々、OSINT活動などを駆使して情報収集しています! ②.戦略をもってコードレビューを実施しています! ③.報告・対応のノウハウをもっています! 脆弱性を探しましょう! Springをセキュアにしていきましょう! セキュアなSpringを使いましょう!
68.
© 2017 NTT
DATA Corporation 「TERASOLUNA」及びそのロゴは、日本及び中国における株式会社NTTデータの商標または登録商標です。 その他、記載されている会社名、商品名、サービス名は各社の登録商標または商標です。
69.
© 2017 NTT
DATA Corporation 69 最後に 今後もSpringを中心に各種OSSの ベストプラクティスを提供し続けます 今回の話やTERASOLUNAに興味がある方は下記までご連絡ください TERASOLUNA窓口 E-mail: terasoluna@am.nttdata.co.jp 電話: 050-5546-2482(平日10時〜18時) Springをエンタープライズシステム開発で積極的に活用し、 情報交換やコミュニティ活動を活発化して さらなるSpringの発展、繁栄に向けて共に歩んでいきましょう。 http://terasolunaorg.github.io/
Download