脆弱性とは

脆弱性とは、ソフトウェアの設計や作りの不備によって生じた、攻撃者に悪用されるおそれのある弱点のことです。「セキュリティホール」とも呼ばれます。

脆弱性公開

読み
ぜいじゃくせい
英語
Vulnerability
別名
セキュリティホール
掛け金が外れたまま開いている、古い木枠の窓

脆弱性の仕組み

ソフトウェアは人が作るものなので、どれだけ注意しても不備が紛れ込みます。そのうち、本来はできないはずの操作を外部の人ができてしまうものを、脆弱性と呼びます。

たとえるなら、戸締まりをしたつもりの家に、鍵の壊れた窓が一つ残っているような状態です。住人が気づいていなくても、窓を一つずつ確かめて回る泥棒には見つかってしまいます。

攻撃者は、公開された脆弱性の情報をもとに、その弱点を抱えたサイトを自動のプログラムで探し回ります。有名なサイトかどうかは関係なく、条件に当てはまれば機械的に狙われます。

WordPressサイトでの例

WordPressの脆弱性は、本体よりもプラグインやテーマで見つかることが多くあります。よく見られる種類は次のとおりです。

  • SQLインジェクション:入力欄などから不正な命令を送り込み、データベースの中身を盗み見たり書き換えたりできる
  • クロスサイトスクリプティング:ページに不正なスクリプトを埋め込み、閲覧した人のブラウザで実行させられる
  • ファイルアップロードの不備:画像の代わりにPHPファイルを送り込み、Webシェルを設置できる
  • 権限チェックの不備:ログインしていない人や一般のユーザーが、管理者だけに許された操作を実行できる

脆弱性が見つかったプラグインでも、修正版が出ていれば、更新するだけで弱点を塞げます。問題になるのは、更新されずに放置されたサイトや、開発が止まって修正版が出ないプラグインを使い続けているサイトです。

見つけ方・確認方法

  • 管理画面の ダッシュボード > 更新 で、本体・テーマ・プラグインに未適用の更新がないか確認する
  • 使っているプラグインが長いあいだ更新されていないか、公式ディレクトリのページで「最終更新」を確認する
  • 使っているプラグインの名前で、脆弱性の情報(CVE番号など)が公開されていないか調べる
  • ツール > サイトヘルス で、古いバージョンのPHPを使っていないかなどの指摘を確認する

対策

  • WordPress本体・テーマ・プラグインは、更新が出たら早めに適用する(パッチの適用)
  • 使っていないプラグインやテーマは、停止するだけでなく削除する。停止中でも、ファイルがサーバーに残っていれば攻撃に使われることがあります
  • 開発が止まったプラグインは、代わりのものに乗り換える
  • 修正版が出る前の攻撃(ゼロデイ攻撃)に備えて、WAFで不正なアクセスを遮断する

脆弱性をゼロにすることはできません。「早く塞ぐ」「入口を減らす」「攻撃を手前で止める」を組み合わせて、悪用される機会を減らすことが大切です。

無料相談サイトの異変に気づいたら
お気軽にご相談ください

ご相談・お見積りは無料です。

保守・再発防止のご相談はこちら