非エンジニアでもわかる、Movable Typeから学ぶ脆弱性の原因と対策
こんにちは、株式会社メタフェイズ(CRチーム)プログラマーの中村です。
2021年10月20日にMovable Type(以下、MT)における脆弱性が発表されました。
脆弱性をそのままにしておくと、セキュリティ攻撃などの被害を受ける可能性があるため、MTを利用している場合は早急にアップデートが必要になります。
今回は、
MTで起きた脆弱性は一体どんなものだったのか
どのくらい緊急度の高い脆弱性だったのか
どのような攻撃を受ける可能性があるのか
という解説とともに、脆弱性の対策と重要性について書いてみたいと思います。
複雑な話のように聞こえるかもしれませんが、脆弱性についての理解が少しでも深まるような記事にできればと思います!
はじめに:MT脆弱性の発覚から対応までの流れ
まずは、MTで起こったことを時系列で見てみましょう。
2021年10月20日
MTを提供するシックス・アパート社が、MTの「XMLRPC API」にOSコマンド・インジェクションの脆弱性が発覚したと発表。
セキュリティアップデート版がリリースされ、早急にアップデート対応が必要となりました。
[重要] Movable Type 7 r.5003 / Movable Type 6.8.3 / Movable Type Premium 1.47 の提供を開始(セキュリティアップデート)
2021年10月27日
脆弱性の動きを確認できる実証コード(PoC)が公開。
翌日には脆弱性を悪用しようとする活動が観測されました。
2021年12月16日
シックス・アパート社が、セキュリティアップデートに関して脆弱性への追加修正を発表。
そのため、再度アップデート対応が必要となりました。
[重要] Movable Type 7 r.5005 / Movable Type 6.8.5 / Movable Type Premium 1.49 の提供を開始(セキュリティアップデート)
ポイントは「脆弱性の発覚から攻撃までのスピード」
アップデート対応やその後の動作チェックなどが必要になるなか、直近で2度のアップデートを実施するのはややつらい状況かもしれません。
しかし、ここで最も気を付けなければいけないことは「脆弱性の発覚から攻撃までのスピード」です。
脆弱性が発表された7日後、脆弱性を使って悪用可能であるかを検証するPocコードが公開されていますが、その翌日には攻撃を仕掛けた痕跡が観測されています。
つまりハッカーたちは、脆弱性が発覚すると同時にサイトを狙って攻撃を開始しているのです。
特に、MTやWordpressのように多くの利用者がいるソフトウェアは脆弱性を狙われやすくなっています。
セキュリティアップデートがあった場合には、できるだけ早く対応することがサイトを守る重要なポイントとなります。
参考:身近な脆弱性攻撃 Proof of Concept code
発生したMTの脆弱性はどんなもの?
今回MTで発表された脆弱性は、OSコマンド・インジェクションです。
これは、外部からの攻撃によって「サーバーのOSコマンドを不正に実行されてしまう」というものです。
第三者が外部からコマンドを実行できてしまうと、
不正なプログラムファイルなどがサーバーに設置される
.htaccessを書き換えられサイトの閲覧に影響が出る
別サーバーへの攻撃に利用される
といった重大な問題が起こる原因となります。
次に、どのようにして攻撃が行われたのか?その方法について説明します。
MTの脆弱性を使った攻撃方法
今回の脆弱性が起こる原因となったのが、MTの「XMLRPC API」です。
サーバー上のAPIに細工したデータを送信すると、一部のコマンド操作を実行することができる状態となっていました。
そのため外部から攻撃が可能となっており、OSコマンド・インジェクションの脆弱性が発生したという経緯になります。
▼XMLRPC APIを利用した攻撃の流れ
図のように、本来はブログ用の機能として存在するAPIとなっています。
しかし、それ以外の指示を実行できてしまう脆弱性があったため、攻撃されるポイントになっているのがわかるかと思います。
では、これはどのくらい深刻度の高い脆弱性なのでしょうか?
今回の脆弱性における深刻度は最高レベル
脆弱性対策情報データベースでは「共通脆弱性評価システムCVSS」を用いて、脆弱性の固有の深刻度を表しています。
スコアが高ければ高いほど深刻な脆弱性となるため、早急に対応する必要があります。
そして、今回の脆弱性におけるスコアは「9.8(緊急)」と、深刻度は最も高いものとなっています。
▼CVSS V3スコア表
以下が、スコアに対する評価の内容になっています。
引用:Movable Type の XMLRPC API における OS コマンドインジェクションの脆弱性
内容を少し見てみると、
攻撃条件の複雑さ:低
攻撃に必要な特権レベル:不要
利用者の関与:不要
などから、攻撃するための複雑さが低く「誰でも攻撃ができる」というものであることがわかります。
さらに、各所への影響については「高」となっており、
機密性への影響(C):高
完全性への影響(I): 高
可用性への影響(A): 高
攻撃における全体への影響度が高いため、非常に危険な脆弱性であると判断できます。
このような評価を知るだけでも、詳しいことはわからずとも事態の緊急性について理解が深まるので、参考にしてみてくださいね。
被害ケース:2例
次に、今回の脆弱性による攻撃の実例を紹介します。
●企業サイト
SUNMEDIA | 弊社ホームページへの不正アクセスと改ざんの経緯と原因、今後の対策について
●個人サイト
Pastime工廠 | MovableTypeのXMLRPC APIにおける脆弱性を利用した攻撃を受けてしまいました
企業サイトや個人運営のブログなど、サイト規模に関わらず同様の手段で攻撃を受けていることがわかります。
また報告内容から、どちらも「古いサイトのファイルをそのまま残しており攻撃を受けた」ということでした。
攻撃を受けて重要なファイルを壊されたり、バックドアを仕掛けられ別の侵入口を作られてしまうと、復旧困難な状態になる場合もあります。
攻撃者はbotなどを使って手当たりしだい攻撃しているので「自分のサイトは大丈夫」と思わず、必ず対策を実施するようにしましょう。
脆弱性への対策方法は?
では、脆弱性に対してどのような対策をすればよいかを見ていきましょう。
①不要なファイル・スクリプトは使用できないようにする
今回のMTでの脆弱性においても「XMLRPC API」を使用していない場合
mt-xmlrpc.cgiを削除しておく
XMLRPC自体を無効化するよう設定しておくこと
などを行っておくことで被害を防ぐことができました。
他にも、非公開にしたページでもサーバー上にファイルが残っている場合、URLがわかってしまえばアクセスすることができてしまいます。
使用しないファイルはサーバーに残さず、使用するスクリプトなどを限定して脆弱性の対象となりうる原因はなるべく無くしておきましょう。
②管理画面には認証をかける
例え脆弱性が見つかっても、特定のユーザーしかアクセスできない状態であれば、外部からの攻撃を防ぐことが可能です。
BASIC認証
IP制限
などで管理画面に制限をかけておき、リスクを低減させましょう。
セキュリティ対策ガイドを実施しよう
MTにはセキュリティ対策ガイドというものが策定されています。
本記事で紹介した以外にも有効な対策が記載されているので、この機会に設定を見直すことをおすすめします。
また、これらはWebサイト全般に言える対策にもなっているので、MT以外をお使いの方もぜひチェックしてみてくださいね。
参考:Security Guide Movable Type セキュリティ対策ガイド
まとめ:セキュリティ対策を実施して脆弱性のリスク減らそう
脆弱性への対策を行っても、セキュリティを完璧にすることは難しいです。
複数の対策を行い、防御の壁をできるだけ多くすることでリスクを低減しておくことが重要となってきます。
また、脆弱性の情報が公開されると、手当たり次第に攻撃が開始されすぐに被害を受けるケースもあります。
たとえ利用しているソフトやアプリケーションの脆弱性が原因であっても、脆弱性をそのままにしておくことは利用者を危険にさらすことにもつながります。
被害による経済的損失(金銭的補償・社会的信用・機会損失など)を受けないためにも、そして安全なウェブアプリケーションの運営のためにも、
こまめなアップデートの実施
不要ファイルの削除・管理
セキュリティ情報のチェック
などを日頃から徹底し、問題が発生した場合には緊急性や深刻度に合わせて迅速に対応する心構えを持っておきましょう!
メタフェイズはCMSサイト制作から運用までサポートします
メタフェイズではMTなど、CMSを使ったWebサイト制作も行っています。
新規サイト制作やリニューアルだけでなく、今回のようなセキュリティアップデートに対応することも可能です。
また、セキュリティやSEOなど「Webサイトに重要な6つの軸」から、Webサイトを分析・採点する無料Web診断コンテンツも提供しています。
簡単な質問に答えるだけで、Webサイトの改善ポイントがわかるようになっているので、合わせてチェックしてみてはいかがでしょうか?
今回の記事はここまでです。
Webサイト制作や運用をご検討の方は、ぜひ弊社までお問合せください。
お読みくださり、ありがとうございました!
🖥 コーポレートサイト 🖥
🎨 制作実績はこちら 🎨
🩺 Webサイト診断ツール 🩺
メタフェイズのノウハウを集結させた
オリジナルの簡易Webサイト診断ツール
Webサイトの課題発見や、
リニューアルの参考にご活用ください。