バックドア
Backdoor
正規の認証やアクセス制御を迂回してシステムへアクセスするための仕組みや経路のことです。攻撃者が侵入後に設置する場合のほか、開発時の隠し機能などが裏口として残る場合もあります。
🐾 猫で例えると?
暗いトンネルの奥から、こちらをじっと見つめる茶トラ。もし玄関での確認を通らず、このトンネルから部屋へ入れるなら、正規の入口を迂回する「裏口」ですね。バックドアも同じように、通常の本人確認や操作の制限を通らず、システムの中へアクセスできる経路を指します。
💻 セキュリティにおける「バックドア」とは?
脆弱性は悪用され得る弱点全般を指し、バックドアは通常の制御を迂回する経路を指します。両者は排他的ではなく、隠し認証機能が脆弱性として扱われることもあります。攻撃者は再侵入のためにバックドアを残すことがあり、パスワード変更だけでは除去できません。
システム開発において、「メンテナンス用」としてソースコードへ直接埋め込まれた(ハードコーディングされた)パスワードや、隠し機能がこのバックドアとして悪用されるケースが多々あります。配布や更新の経路を悪用する「サプライチェーン攻撃」で、信頼していたソフトウェアに仕込まれる場合もあります。そのため、導入済みという理由だけで信用せず、配布元や変更内容も確認します。
⚠️ バックドアの検出と対策
対策は監視だけではありません。不要な機能や認証情報を残さない設計、配布物や更新経路の検証、権限の制限に加え、変更記録との照合で異常を探します。
バックドアの兆候と対策
システムが「何かおかしい」と感じたら、以下のポイントを速やかに確認します。
# Linuxでの調査の入口。いずれも存在だけで感染とは判断しない
# 待受中のTCPポートとプロセス(閲覧権限により情報が省略される)
ss -lntp
# ユーザー情報を一覧する。管理者権限の有無は別途確認する
getent passwd 見知らぬポートやユーザーは調査の手掛かりですが、正規ソフトの追加でも発生します。構成管理記録やログと照合し、侵害が疑われる場合は担当者に連絡して隔離と証拠保全を進めます。調査前の再インストールは証拠を失うため、復旧手順と切り分けて判断します。
🛠️ バックドアを設置させないための設計ルール
バックドアを防ぐために、セキュリティエンジニアが心がけている基本原則です。
- 不要なアカウントやポートを排除する: 使う予定のないユーザー、テスト用の古いアカウント、開けっ放しのポートはバックドアの格好の入り口です。厳格に無効化しましょう。
- 設定ファイルやソースコードの管理: ハードコードされたパスワードは絶対に禁止です。また、設定ファイルを誤って公開ディレクトリに置かないよう、CI/CDで厳重にチェックをかけます。
- 定期的な整合性チェック: システムの重要なファイルが書き換えられていないかを自動的に監視する仕組み(Tripwireなどのファイル改ざん検知ツール)を導入し、異常があれば即座にアラートを飛ばす体制を作ります。
茶トラのトンネルのような別ルートがないか、システムでも正規の入口以外を点検します。見覚えのないユーザーや待受ポートを見つけたら、まず変更記録と照合しましょう。侵害の疑いがあれば、証拠を残しながら隔離・調査することが再侵入を防ぐ手掛かりになります。