Submit Search
安全なプラグインに必要なこと: 脆弱性届出状況に見る傾向と対策 (WordCampTokyo 2017)
0 likes
3,643 views
J
JPCERT Coordination Center
2017年9月16日, WordCamp Tokyo 2017 での講演資料です.
Internet
Read more
1 of 41
Download now
Download to read offline
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
More Related Content
PDF
クロスサイトリクエストフォージェリ(CSRF)とその対策
JPCERT Coordination Center
PDF
これだけは知っておきたい「Webアクセシビリティ」のこと
Makoto Ueki
PDF
CERT コーディングスタンダードご紹介 (OSC2017@Osaka)
JPCERT Coordination Center
PDF
OWASP ASVS と Cheat Sheet シリーズ (日本語版) のご紹介 (OSC2016Hokkaido)
JPCERT Coordination Center
PDF
DLL読み込みの問題を読み解く
JPCERT Coordination Center
PDF
Lessons (to be) Learned from Handling OpenSSL Vulnerabilities
JPCERT Coordination Center
PDF
常時SSL化の事前確認・注意点・手順 〜WordPressとその周辺で必要なこと〜 #wctokyo
Masayuki Maekawa
PDF
脆弱性事例に学ぶセキュアコーディング「SSL/TLS証明書検証」編 (JavaDayTokyo2015)
JPCERT Coordination Center
クロスサイトリクエストフォージェリ(CSRF)とその対策
JPCERT Coordination Center
これだけは知っておきたい「Webアクセシビリティ」のこと
Makoto Ueki
CERT コーディングスタンダードご紹介 (OSC2017@Osaka)
JPCERT Coordination Center
OWASP ASVS と Cheat Sheet シリーズ (日本語版) のご紹介 (OSC2016Hokkaido)
JPCERT Coordination Center
DLL読み込みの問題を読み解く
JPCERT Coordination Center
Lessons (to be) Learned from Handling OpenSSL Vulnerabilities
JPCERT Coordination Center
常時SSL化の事前確認・注意点・手順 〜WordPressとその周辺で必要なこと〜 #wctokyo
Masayuki Maekawa
脆弱性事例に学ぶセキュアコーディング「SSL/TLS証明書検証」編 (JavaDayTokyo2015)
JPCERT Coordination Center
What's hot
(20)
PPTX
他人事ではないWebセキュリティ
Yosuke HASEGAWA
PDF
Webアクセシビリティ 海外の最新動向 2018
Makoto Ueki
PDF
[デブサミ2012]趣味と実益の脆弱性発見
Yosuke HASEGAWA
PDF
デブサミ2015 事例から学ぶAndroidアプリのセキュアコーディング「SSL/TLS証明書検証の現状と対策」
JPCERT Coordination Center
PDF
WordPressをこれから始める人のためのテーマ講座
Takami Kazuya
PDF
次世代プラットフォームのセキュリティモデル考察(前編)
Yosuke HASEGAWA
PDF
Owasp Project を使ってみた
Akitsugu Ito
PDF
OWASPの歩き方(How to walk_the_owasp)
Sen Ueno
PDF
WordBench東京 7月勉強会「夏のLT大会!」『WordPress とバックアップの話』
JPCERT Coordination Center
PDF
OWASP ASVS Project review 2.0 and 3.0
Riotaro OKADA
PDF
クラウドセキュリティ基礎 #seccamp
Masahiro NAKAYAMA
PDF
PHPカンファレンス2014セキュリティ対談資料
Yasuo Ohgaki
PPTX
CMS四天王への攻撃デモを通じて、WordPressの効果的な防御法を学ぼう
Hiroshi Tokumaru
PPTX
これからのWebセキュリティ フロントエンド編 #seccamp
Kyo Ago
PPTX
安全なPHPアプリケーションの作り方2014
Hiroshi Tokumaru
PPTX
Web Componentsのアクセシビリティ
Mitsue-Links Co.,Ltd. Accessibility Department
PDF
セキュアなソフトウェアアーキテクチャー
Yasuo Ohgaki
PDF
徳丸本に学ぶ 安全なPHPアプリ開発の鉄則2012
Hiroshi Tokumaru
PDF
Career - design, adaption and diversity - for EMC I&D event
Miya Kohno
PPTX
安全なWebアプリケーションの作り方2018
Hiroshi Tokumaru
他人事ではないWebセキュリティ
Yosuke HASEGAWA
Webアクセシビリティ 海外の最新動向 2018
Makoto Ueki
[デブサミ2012]趣味と実益の脆弱性発見
Yosuke HASEGAWA
デブサミ2015 事例から学ぶAndroidアプリのセキュアコーディング「SSL/TLS証明書検証の現状と対策」
JPCERT Coordination Center
WordPressをこれから始める人のためのテーマ講座
Takami Kazuya
次世代プラットフォームのセキュリティモデル考察(前編)
Yosuke HASEGAWA
Owasp Project を使ってみた
Akitsugu Ito
OWASPの歩き方(How to walk_the_owasp)
Sen Ueno
WordBench東京 7月勉強会「夏のLT大会!」『WordPress とバックアップの話』
JPCERT Coordination Center
OWASP ASVS Project review 2.0 and 3.0
Riotaro OKADA
クラウドセキュリティ基礎 #seccamp
Masahiro NAKAYAMA
PHPカンファレンス2014セキュリティ対談資料
Yasuo Ohgaki
CMS四天王への攻撃デモを通じて、WordPressの効果的な防御法を学ぼう
Hiroshi Tokumaru
これからのWebセキュリティ フロントエンド編 #seccamp
Kyo Ago
安全なPHPアプリケーションの作り方2014
Hiroshi Tokumaru
Web Componentsのアクセシビリティ
Mitsue-Links Co.,Ltd. Accessibility Department
セキュアなソフトウェアアーキテクチャー
Yasuo Ohgaki
徳丸本に学ぶ 安全なPHPアプリ開発の鉄則2012
Hiroshi Tokumaru
Career - design, adaption and diversity - for EMC I&D event
Miya Kohno
安全なWebアプリケーションの作り方2018
Hiroshi Tokumaru
Ad
Viewers also liked
(10)
PDF
利用者数倍増! 観光協会サイト「ツアーガイドひかり」を引き継ぎ、活性化するまでの技術とプロセス
Hiroyuki Ishikawa
PDF
ECサイトをWooCommerceで始めよう
Atsufumi Yoshikawa
PPTX
コンテンツ戦国時代をどう生き抜く?成果につながるコンテンツマーケティングの基本[SEO][オウンドメディア]
digitalitalentity
PDF
WordCamp Tokyo 2017 へようこそ
Mignon Style
PPTX
20170916ブログを強力な武器としてビジネスにインストールすることで独立を成功させた話
Noriaki Takahashi
PDF
WordCamp Tokyo 2017 ランチセッション「WordPress を使い始めたら 感謝を伝えよう」
Hijili Kosugi
PDF
なぜ人は怪しい壺を欲しくなってしまうのか WordCamp Tokyo 2017Ver
Masatoshi Someya
PDF
大規模案件の苦悩から生まれた 柔軟なカスタムフィールド設計
loftwork
PPTX
Think Before You Submit Themes on WordPress dot Org
Kafle G
PDF
Create LED lightened Wapuu (LEDパネルで光るわぷーを)
Yuriko IKEDA
利用者数倍増! 観光協会サイト「ツアーガイドひかり」を引き継ぎ、活性化するまでの技術とプロセス
Hiroyuki Ishikawa
ECサイトをWooCommerceで始めよう
Atsufumi Yoshikawa
コンテンツ戦国時代をどう生き抜く?成果につながるコンテンツマーケティングの基本[SEO][オウンドメディア]
digitalitalentity
WordCamp Tokyo 2017 へようこそ
Mignon Style
20170916ブログを強力な武器としてビジネスにインストールすることで独立を成功させた話
Noriaki Takahashi
WordCamp Tokyo 2017 ランチセッション「WordPress を使い始めたら 感謝を伝えよう」
Hijili Kosugi
なぜ人は怪しい壺を欲しくなってしまうのか WordCamp Tokyo 2017Ver
Masatoshi Someya
大規模案件の苦悩から生まれた 柔軟なカスタムフィールド設計
loftwork
Think Before You Submit Themes on WordPress dot Org
Kafle G
Create LED lightened Wapuu (LEDパネルで光るわぷーを)
Yuriko IKEDA
Ad
Similar to 安全なプラグインに必要なこと: 脆弱性届出状況に見る傾向と対策 (WordCampTokyo 2017)
(20)
PPTX
Webサイトをめぐるセキュリティ状況と効果的な防御方法(WordPress編)
Hiroshi Tokumaru
PPTX
デバッガでWordPress本体やプラグインの脆弱性を追いかけてみよう
Hiroshi Tokumaru
ODP
ライブコーディングとデモで理解するWebセキュリティの基礎
Takahisa Kishiya
PDF
2017年のセキュリティ 傾向と対策講座
NHN テコラス株式会社
PPTX
WordPressとリスク管理 at 第42回 WordBench大阪
Kitani Kimiya
PDF
PHPでセキュリティを真面目に考える
Takuya Sato
PDF
WordBench YAMAGUCHI at Ube
Takashi Yamamoto
PDF
Webアプリケーションのセキュリティ
Tokai University
PDF
実務に役立つツールとサービスのお話
T S
PPTX
Wasbook読書会4章1,2節
Atsushi Uchida
PPTX
若手エンジニアのためのセキュリティ講座
Hiroshi Tokumaru
PDF
ノンプログラマーのためのWordPressプラグイン作成超入門 | Mignon Style
Mignon Style
PDF
ソースで学ぶ脆弱性診断 - SmartTechGeeks #2
tobaru_yuta
PDF
web屋が教えるWordPressのセキュリティー対策
Tetsuya Yoshida
PDF
徳丸本に学ぶ 安全なPHPアプリ開発の鉄則2011
Hiroshi Tokumaru
PPTX
第9回勉強会 Webセキュリティー
hakoika-itwg
PPTX
Security Learning Vol2 話題の脆弱性をコードで紐解く!
YOJI WATANABE
PDF
Word benchfukuoka
Junji Manno
PDF
ノンプログラマーのためのWordPressプラグイン開発超入門v1.0
Yuki Okamoto
PDF
WordPress を使いこなそう
Wataru OKAMOTO
Webサイトをめぐるセキュリティ状況と効果的な防御方法(WordPress編)
Hiroshi Tokumaru
デバッガでWordPress本体やプラグインの脆弱性を追いかけてみよう
Hiroshi Tokumaru
ライブコーディングとデモで理解するWebセキュリティの基礎
Takahisa Kishiya
2017年のセキュリティ 傾向と対策講座
NHN テコラス株式会社
WordPressとリスク管理 at 第42回 WordBench大阪
Kitani Kimiya
PHPでセキュリティを真面目に考える
Takuya Sato
WordBench YAMAGUCHI at Ube
Takashi Yamamoto
Webアプリケーションのセキュリティ
Tokai University
実務に役立つツールとサービスのお話
T S
Wasbook読書会4章1,2節
Atsushi Uchida
若手エンジニアのためのセキュリティ講座
Hiroshi Tokumaru
ノンプログラマーのためのWordPressプラグイン作成超入門 | Mignon Style
Mignon Style
ソースで学ぶ脆弱性診断 - SmartTechGeeks #2
tobaru_yuta
web屋が教えるWordPressのセキュリティー対策
Tetsuya Yoshida
徳丸本に学ぶ 安全なPHPアプリ開発の鉄則2011
Hiroshi Tokumaru
第9回勉強会 Webセキュリティー
hakoika-itwg
Security Learning Vol2 話題の脆弱性をコードで紐解く!
YOJI WATANABE
Word benchfukuoka
Junji Manno
ノンプログラマーのためのWordPressプラグイン開発超入門v1.0
Yuki Okamoto
WordPress を使いこなそう
Wataru OKAMOTO
More from JPCERT Coordination Center
(20)
PDF
いま改めて製品開発者の脆弱性対応について考える ~情報セキュリティ早期警戒パートナーシップを運用する調整機関の視点から~
JPCERT Coordination Center
PDF
脆弱性情報はこうしてやってくる
JPCERT Coordination Center
PPTX
Android Platform の URLConnection に HTTP ヘッダインジェクションの脆弱性
JPCERT Coordination Center
PDF
Case Studies and Lessons Learned from SSL/TLS Certificate Verification Vulner...
JPCERT Coordination Center
PDF
ソフトウェアセキュリティ保証成熟度モデル
JPCERT Coordination Center
PDF
脆弱性事例に学ぶセキュアコーディング「SSL/TLS証明書検証」編 (KOF2014)
JPCERT Coordination Center
PDF
Android Secure Coding
JPCERT Coordination Center
PDF
JRE標準ライブラリの脆弱性事例を理解する (AtomicReferenceArrayクラス と Type Confusion)
JPCERT Coordination Center
PDF
Apache Axis2におけるXML署名検証不備
JPCERT Coordination Center
PDF
Apache Tomcat における クロスサイトリクエストフォージェリ (CSRF) 保護メカニズム回避の脆弱性
JPCERT Coordination Center
PDF
Spacewalkにおけるクロスサイト リクエストフォージェリ(CSRF)の脆弱性
JPCERT Coordination Center
PDF
Apache CommonsのHttpClientに おけるSSLサーバ証明書検証不備 (CVE-2012-5783)
JPCERT Coordination Center
PDF
Apache ActiveMQにおける認証処理不備の脆弱性(AMQ-1272)
JPCERT Coordination Center
PDF
JBoss Application Server におけるディレクトリトラバーサルの脆弱性
JPCERT Coordination Center
PDF
MySQL Connector/J における SQL インジェクションの脆弱性
JPCERT Coordination Center
PDF
Blojsom におけるクロスサイトスクリプティングの脆弱性
JPCERT Coordination Center
PDF
Apache Struts2 における任意の Java メソッド実行の脆弱性
JPCERT Coordination Center
PDF
Apache Sling におけるサービス運用妨害(無限ループ)の脆弱性
JPCERT Coordination Center
PDF
Javaセキュアコーディングセミナー東京第2回演習の解説
JPCERT Coordination Center
PDF
Javaセキュアコーディングセミナー東京第4回演習の解説
JPCERT Coordination Center
いま改めて製品開発者の脆弱性対応について考える ~情報セキュリティ早期警戒パートナーシップを運用する調整機関の視点から~
JPCERT Coordination Center
脆弱性情報はこうしてやってくる
JPCERT Coordination Center
Android Platform の URLConnection に HTTP ヘッダインジェクションの脆弱性
JPCERT Coordination Center
Case Studies and Lessons Learned from SSL/TLS Certificate Verification Vulner...
JPCERT Coordination Center
ソフトウェアセキュリティ保証成熟度モデル
JPCERT Coordination Center
脆弱性事例に学ぶセキュアコーディング「SSL/TLS証明書検証」編 (KOF2014)
JPCERT Coordination Center
Android Secure Coding
JPCERT Coordination Center
JRE標準ライブラリの脆弱性事例を理解する (AtomicReferenceArrayクラス と Type Confusion)
JPCERT Coordination Center
Apache Axis2におけるXML署名検証不備
JPCERT Coordination Center
Apache Tomcat における クロスサイトリクエストフォージェリ (CSRF) 保護メカニズム回避の脆弱性
JPCERT Coordination Center
Spacewalkにおけるクロスサイト リクエストフォージェリ(CSRF)の脆弱性
JPCERT Coordination Center
Apache CommonsのHttpClientに おけるSSLサーバ証明書検証不備 (CVE-2012-5783)
JPCERT Coordination Center
Apache ActiveMQにおける認証処理不備の脆弱性(AMQ-1272)
JPCERT Coordination Center
JBoss Application Server におけるディレクトリトラバーサルの脆弱性
JPCERT Coordination Center
MySQL Connector/J における SQL インジェクションの脆弱性
JPCERT Coordination Center
Blojsom におけるクロスサイトスクリプティングの脆弱性
JPCERT Coordination Center
Apache Struts2 における任意の Java メソッド実行の脆弱性
JPCERT Coordination Center
Apache Sling におけるサービス運用妨害(無限ループ)の脆弱性
JPCERT Coordination Center
Javaセキュアコーディングセミナー東京第2回演習の解説
JPCERT Coordination Center
Javaセキュアコーディングセミナー東京第4回演習の解説
JPCERT Coordination Center
安全なプラグインに必要なこと: 脆弱性届出状況に見る傾向と対策 (WordCampTokyo 2017)
1.
安全なプラグインに必要なこと ~脆弱性届出状況に見る傾向と対策~ 2017年9月16日@WordCamp Tokyo 2017 JPCERTコーディネーションセンター 情報流通対策グループ 堅木
雅宣 戸田 洋三
2.
Copyright ©2017 JPCERT/CC
All rights reserved. 本日の内容 はじめに —JPCERT/CC の紹介 —脆弱性ハンドリングとは? 脆弱性届出状況から見えてきた WordPressセキュリティの傾向 —プラグインのセキュリティに関して 開発者、サイト運営者に気をつけてもらいたいこと 1
3.
Copyright ©2017 JPCERT/CC
All rights reserved. JPCERT/CCとは 一般社団法人 JPCERTコーディネーションセンター Japan Computer Emergency Response Team Coordination Center ジェーピーサート コーディネーションセンター 日本国内のインターネット利用者やセキュリティ管理担当者、ソフトウエア製品開発者等 (主に、情報セキュリティ担当者)がサービス対象 コンピュータセキュリティインシデントへの対応、国内外にセンサをおいたインターネッ ト定点観測、ソフトウエアや情報システム・制御システム機器等の脆弱性への対応などを 通じ、セキュリティ向上を推進 インシデント対応をはじめとする、国際連携が必要なオペレーションや情報連携に関する、 我が国の窓口となるCSIRT(窓口CSIRT) CSIRT: Computer Security Incident Response Team ※各国に同様の窓口となるCSIRTが存在する(米国のUS-CERT、CERT/CC、中国のCNCERT, 韓国のKrCERT/CC、等) 経済産業省からの委託事業として、サイバー攻撃等国際連携対応調整事業を実施 2
4.
Copyright ©2017 JPCERT/CC
All rights reserved. JPCERT/CCの活動 重要インフラ、重要情報インフラ事業者等の特定組織向け情報発信早期警戒情報 海外のNational-CSIRTや企業内のセキュリティ対応組織の構築・運用支援CSIRT構築支援 脆弱性情報ハンドリング ➢ 未公開の脆弱性関連情報を製品開発者へ 提供し、対応依頼 ➢ 関係機関と連携し、国際的に情報公開日 を調整 ➢ セキュアなコーディング手法の普及 ➢ 制御システムに関する脆弱性関連情報の 適切な流通 マルウエア(不正プログラム)等の攻撃手法の分析、解析アーティファクト分析 各種業務を円滑に行うための海外関係機関との連携国際連携 インシデントの予測と捕捉インシデント予防 発生したインシデントへの対応 制御システムに関するインシデントハンドリング、情報収集・分析発信制御システムセキュリティ 日本シーサート協議会、フィッシング対策協議会の事務局運営等国内外関係者との連携 ➢ マルウエアの接続先等の攻撃関連サイ ト等の閉鎖等による被害最小化 ➢ 攻撃手法の分析支援による被害可能性 の確認、拡散抑止 ➢ 再発防止に向けた関係各関の情報交換 及び情報共有 インシデントハンドリング (インシデント対応調整支援) 情報収集・分析・発信 定点観測(TSUBAME) ➢ ネットワークトラフィック情報の収集分 析 ➢ セキュリティ上の脅威情報の収集、分析、 必要とする組織への提供 3
5.
Copyright ©2017 JPCERT/CC
All rights reserved. 脆弱性情報ハンドリングとは? 脆弱性情報ハンドリング —ソフトウェア/ハードウエアシステム等における脆弱性情報 の取扱い —未公開の脆弱性情報を製品開発者に連絡し対応を依頼し、 海外の関係機関とも連携し、一般公表を調整 日本における脆弱性情報流通の取り組み —経済産業省告示「ソフトウエア製品等の脆弱性関連情報に 関する取扱規程」 —情報セキュリティ早期警戒パートナーシップ 4
6.
Copyright ©2017 JPCERT/CC
All rights reserved. 脆弱性情報ハンドリングとは? 5 https://www.jpcert.or.jp/vh/index.html 脆弱性情報の届出 ベンダ・発見者との調整 一般公表 WordPress プラグイン “XXX” のクロスサイトスクリプティン グの脆弱性を発見した! プラグイン “XXX” の開発者 JVN公表 http://jvn.jp/ JVN (Japan Vulnerability Notes)
7.
Copyright ©2017 JPCERT/CC
All rights reserved. WordPress関連のJVN公表数の遷移 6 0 2 4 6 8 10 12 14 16 18 20 2011 2012 2013 2014 2015 2016 2017 wordpress plugin プラグインの脆弱性が増加
8.
Copyright ©2017 JPCERT/CC
All rights reserved. WordPress関連のJVN公表数の遷移 7 0 2 4 6 8 10 12 14 16 18 20 2011 2012 2013 2014 2015 2016 2017 wordpress plugin NextGEN Gallery(1,000,000+ active installs) に PHP ファイルインクルージョンの脆弱性 サーバ上で任意のコード実行の可能性 プラグインの脆弱性が増加
9.
Copyright ©2017 JPCERT/CC
All rights reserved. WordPress関連のJVN公表数の遷移 8 700,000+ 200,000+ 400,000+ 広く使われているプラグインも… 0 2 4 6 8 10 12 14 16 18 20 2011 2012 2013 2014 2015 2016 2017 wordpress plugin プラグインの脆弱性が増加
10.
Copyright ©2017 JPCERT/CC
All rights reserved. WordPress本体のセキュリティ対策は進んでいる WordPressのREST APIに起因する脆弱性(2017年2月) — 多数のウェブサイトが改ざんの被害に — 参考情報 JPCERT/CC WordPress の脆弱性に関する注意喚起 https://www.jpcert.or.jp/at/2017/at170006.html HackerOneにてバグバウンティプログラムの開始(2017年5月) 9 引用: WordPress Now on HackerOne https://wordpress.org/news/2017/05/wordpress-now-on-hackerone/
11.
Copyright ©2017 JPCERT/CC
All rights reserved.10 “A chain is only as strong as its weakest link” プラグインが weakest link? この写真 は CC BY-SA のライセンスを許諾されています
12.
Copyright ©2017 JPCERT/CC
All rights reserved. プラグイン開発者の方へ… 11
13.
Copyright ©2017 JPCERT/CC
All rights reserved. 「Simple Custom CSS and JS」(1) 反射型 XSS バージョン 3.4 で修正 https://wordpress.org/plugins/custom-css-js/ includes/admin-screens.php にて HTTP リクエストで渡された値をそ のままページ出力に使っている 12 WordPress 用プラグイン Simple Custom CSS and JS におけるクロスサイ トスクリプティングの脆弱性 https://jvn.jp/jp/JVN31459091/ 2017年7月24日公表
14.
Copyright ©2017 JPCERT/CC
All rights reserved. 「Simple Custom CSS and JS」(2) 13 L569: function custom_code_options_meta_box_callback( $post ) { …….. L576: if ( isset( $_GET['language'] ) ) { L577: $options['language'] = $_GET['language’]; L578: } …….. L624: <input type="hidden" name="custom_code_language“ value="<?php echo $options['language']; ?>" /> includes/admin-screens.php (3.2)
15.
Copyright ©2017 JPCERT/CC
All rights reserved. 「Simple Custom CSS and JS」(3) 14 L569: function custom_code_options_meta_box_callback( $post ) { …….. L575: if ( isset( $_GET['language'] ) ) { L576: $options['language'] = $this->get_language(); L577: } …….. L623: <input type="hidden" name="custom_code_language“ value="<?php echo $options['language']; ?>" /> includes/admin-screens.php (3.4)
16.
Copyright ©2017 JPCERT/CC
All rights reserved. 「Simple Custom CSS and JS」(4) 15 L1075: function get_language( $post_id = false ) { …….. L1079: } else { L1080: $language = isset( $_GET[‘language’] ) ? esc_attr(strtolower($_GET[‘language’])) : ‘css’; L1081: } …….. includes/admin-screens.php (3.4)
17.
Copyright ©2017 JPCERT/CC
All rights reserved. Securing Output 16 Plugin Handbook よく読みましょう. 引用: WORDPRESS.ORG Plugin Handbook https://developer.wordpress.org/plugins/security /securing-output/
18.
Copyright ©2017 JPCERT/CC
All rights reserved. ツールで脆弱性探索してるヒトたちもいます 17 BestWebSoft 製のプラグ イン50件で使われている メニュー表示機能にクロ スサイトスクリプティン グの脆弱性 静的解析ツールを提供する セキュリティベンダが同じ 脆弱性を独立に発見・公表 案件調整中にこんなこともありました… JVN 複数の BestWebSoft 製 WordPress 用プラグインにおける クロスサイトスクリプティングの脆弱性 https://jvn.jp/jp/JVN24834813/ 引用: SECLISTS.ORG http://seclists.org/fulldisclosure/2017/Apr/67
19.
Copyright ©2017 JPCERT/CC
All rights reserved.18 プラグイン開発者も もっと解析ツール活用し ていいんじゃないの? てなわけでちょっと検索してみると 例えばこんなのありましたよ。
20.
Copyright ©2017 JPCERT/CC
All rights reserved. 解析ツールの例 RIPS (http://rips-scanner.sourceforge.net/) PHPSCAN (https://github.com/AsaiKen/phpscan) — このツールからいくつも PHP 関連の届出につながっている WPScan (https://wpscan.org) php-code-scanner (https://github.com/hissy/php-code-scanner) — WordBench 東京3月勉強会「危険なWordPressプラグインの作 り方」で紹介 …….. 19
21.
Copyright ©2017 JPCERT/CC
All rights reserved. まとめ: プラグイン開発者向け 脆弱性を作り込まないために —Plugin Developer Handbook https://developer.wordpress.org/plugins/ —既存の脆弱性事例を知っておこう 発見された脆弱性は速やかに修正しアナウンスする —報告を受ける窓口を用意する —ユーザに修正を伝える 20
22.
Copyright ©2017 JPCERT/CC
All rights reserved. サイト運営者の方へ… 21
23.
Copyright ©2017 JPCERT/CC
All rights reserved. プラグイン利用に関する運営者側の問題 1. 古いバージョンのプラグインの利用 2. 更新が止まっているプラグインの利用 22
24.
Copyright ©2017 JPCERT/CC
All rights reserved. 1. 古いバージョンのプラグイン利用 プラグイン開発者が脆弱性を修正しても、プラグイン利 用者が最新版に更新しない場合、既知の脆弱性が放置さ れたままに… 23 引用: WordPress Plugins Screen https://codex.wordpress.org/File:plugins.png
25.
Copyright ©2017 JPCERT/CC
All rights reserved. 1. 古いバージョンのプラグイン利用 24 WordPress 用プラグイン Simple Custom CSS and JS におけるクロスサイ トスクリプティングの脆弱性 https://jvn.jp/jp/JVN31459091/ 2017年7月24日公表 XSSの脆弱性なし 2017年9月12日時点引用:Simple Custom CSS and JS — WordPress Plugins https://wordpress.org/plugins/custom-css-js/advanced/ XSSの脆弱性あり version 3.4で修正
26.
Copyright ©2017 JPCERT/CC
All rights reserved. 2. 更新が止まっているプラグインの利用 長期間更新が止まっているプラグインの中には、開発が 終了し、メンテナンスされていないプラグインがある —脆弱性が存在した場合、修正されない... 25
27.
Copyright ©2017 JPCERT/CC
All rights reserved. 2. 更新が止まっているプラグインの利用 昨年度の脆弱性報告を受けたWordPress プラグインの 最終更新日を調べてみました —半分程度は2年以上更新されていないプラグイン 26 引用:Simple Custom CSS and JS — WordPress Plugins https://wordpress.org/plugins/custom-css-js/ ここの値を調べた ページ例
28.
Copyright ©2017 JPCERT/CC
All rights reserved. 脆弱なプラグインを使わないためには? 利用しているプラグインを最新版にする —脆弱性が修正されたバージョンのままにしない 開発がアクティブではないプラグインには注意! 27
29.
Copyright ©2017 JPCERT/CC
All rights reserved. ブラックリストは役に立つ? 28 WordPress ホスティングサービスにおいて、何らかの問 題のあるプラグイン(やテーマ?)に関するブラックリス トを作っている例がある ブラックリストを作っている理由については、セキュリ ティ上の理由だけではない(サービス側で提供している機能と の衝突なども挙げられている: wpengine) GoDaddy – Blacklisted plugins https://www.godaddy.com/help/blacklisted-plugins-8964 WPengine – Disallowed plugins https://wpengine.com/support/disallowed-plugins/ • ブラックリスト入りの条件は? • メンテナンスコスト
30.
Copyright ©2017 JPCERT/CC
All rights reserved. まとめ WordPress サイト(コア + プラグイン)のセキュリティ はプラグインのセキュリティが鍵 プラグイン開発者向けのベストプラクティス — 脆弱性をつくりこまない — 脆弱性通知を受ける窓口の設置 — ユーザへの脆弱性修正の通知 サイト運用者向けのベストプラクティス — 利用しているプラグインを最新版にする — 利用しているプラグインの定期的なレビュー — コミュニティ内での共有 29
31.
Copyright ©2017 JPCERT/CC
All rights reserved.30 お問合せ、インシデント対応のご依頼は JPCERTコーディネーションセンター — Email:pr@jpcert.or.jp — Tel:03-3518-4600 — https://www.jpcert.or.jp/ インシデント報告 — Email:info@jpcert.or.jp — https://www.jpcert.or.jp/form/ 脆弱性情報に関するご相談 — Email: vultures@jpcert.or.jp
32.
Copyright ©2017 JPCERT/CC
All rights reserved.31 ご静聴ありがとうございました
33.
Copyright ©2017 JPCERT/CC
All rights reserved. 参考情報 脆弱性事例その2 —WordPress 用プラグイン Multi Feed Reader に SQL イ ンジェクション 解析ツール紹介 更新されないプラグインの脆弱性 32
34.
Copyright ©2017 JPCERT/CC
All rights reserved. 「Multi Feed Reader」(1) ログイン可能なユーザによる SQL インジェクション バージョン 2.2.4 で修正 https://wordpress.org/plugins/multi-feed-reader/ shortcode として入力された文字列をそのまま SQL 文の組み立てに 使っていた 33 WordPress 用プラグイン Multi Feed Reader に SQL インジェクション https://jvn.jp/jp/JVN98617234/ 2017年6月6日
35.
Copyright ©2017 JPCERT/CC
All rights reserved. 「Multi Feed Reader」(2) 34 L143: public static function find_one_by_property( $property, $value ) { …….. L150: $row = $wpdb->get_row( L151: ‘SELECT * FROM ‘ . self::table_name() . ‘ WHERE ‘ . $property . ‘ = ¥’’ . $value . ‘¥’ LIMIT 0,1 L152: ); lib/models/base.php (2.2.3)
36.
Copyright ©2017 JPCERT/CC
All rights reserved. 「Multi Feed Reader」(3) 35 L143: public static function find_one_by_property( $property, $value ) { …….. L150: $row = $wpdb->get_row( L151: ‘SELECT * FROM ‘ . self::table_name() . ‘ WHERE ‘ . $property . ‘ = ¥’’ . esc_sql( $value ) . ‘¥’ LIMIT 0,1 L152: ); lib/models/base.php (2.2.4) $wpdb->prepare() 使うと もっといいよね。
37.
Copyright ©2017 JPCERT/CC
All rights reserved. SQLを扱うなら絶対読んでおこう 36 引用: WORDPRESS.ORG Codex Class Reference/wpdb https://codex.wordpress.org/Class_Reference/wpdb
38.
Copyright ©2017 JPCERT/CC
All rights reserved. コード解析ツール RIPS RIPS (http://rips-scanner.sourceforge.net/) —232の「危険な関数」を定義し、データフロー解析を実行 —Webサーバ上にツールを展開する必要があり、やや煩雑 37
39.
Copyright ©2017 JPCERT/CC
All rights reserved. コード解析ツール PHPSCAN phpscan (https://github.com/AsaiKen/phpscan) —PHPのコードを疑似的に実行してデータフローを解析 —Java環境があれば手軽に解析できる 38
40.
Copyright ©2017 JPCERT/CC
All rights reserved. プロファイリング&脆弱性検出ツール WPScan WPScan (https://wpscan.org) —多機能なブラックボックス・テストツール ログインパスワードへのブルートフォースアタック 使用しているプラグイン・テーマに脆弱なバージョンが含まれ ていないかチェック etc. 39
41.
Copyright ©2017 JPCERT/CC
All rights reserved. 更新されないプラグインの脆弱性 “22 Abandoned WordPress Plugins with Vulnerabilities” — 2年以上更新されていないプラグインは 17,383 個(※脆弱性があるプラグイン ではありません) — 18個の脆弱なプラグインを発見 1000以上のアクティブインストール数 のプラグインを含む — 4個のプラグインは脆弱性を修正してい たが、ユーザが気づけない形で修正 同じバージョンのまま修正されたなど 40 引用: Wordfence 22 Abandoned WordPress Plugins with Vulnerabilities https://www.wordfence.com/blog/2017/05/22-abandoned- wordpress-plugins-vulnerabilities/
Download