DNS・ログ管理・端末セキュリティについて学習した話(DNSSEC・TPM・BYOD・IoTまで)
はじめに
情報処理安全確保支援士試験の対策として、DNSの仕組みとその脆弱性、ログ管理、端末側のセキュリティ(TPM、BYOD、IoT)について学習したのでまとめます。
DNSサーバ
ドメイン名とIPアドレスの対応関係を管理する仕組み。
FQDN(完全修飾ドメイン名)
「ホスト名+ドメイン名」で構成される、省略のない形式のドメイン名。
例:www.masaru.co.jp の場合
-
www:ホスト名 -
masaru:ドメイン名(組織名) -
co:組織種別(営利組織) -
jp:国(日本)
名前解決の流れ
ユーザ(クライアント)は、コンテンツDNSサーバへの問い合わせをキャッシュDNSサーバに代行させる。
- クライアントがキャッシュDNSサーバに問い合わせる
- キャッシュDNSサーバがルートDNSサーバに問い合わせる
- ルートDNSサーバの案内で、
jpドメインを管理するDNSサーバに問い合わせる - 続けて
coドメインを管理するDNSサーバに問い合わせる - 最終的に
masaruドメインを管理するコンテンツDNSサーバにたどり着き、IPアドレスを取得する
このように、キャッシュDNSサーバが上位のサーバを順にたどりながら問い合わせていく方式を反復的に行っている。得られた結果は、一定時間キャッシュDNSサーバ内にキャッシュされる。
DNSキャッシュポイズニング
キャッシュDNSサーバに偽の情報を登録させ、ユーザを偽サイトへ誘導する攻撃。正規のコンテンツDNSサーバが応答するより先に、攻撃者が偽の応答(偽のIPアドレス)を送りつけることで成立する。
対策
- オープンリゾルバにしない:不特定多数からの外部の問い合わせを受け付けないようにする
- ポート番号をランダム化する:キャッシュDNSサーバは送信元ポート番号とトランザクションIDの組み合わせで正規の応答かどうかを判断しているため、ポート番号をこまめに変えることで偽装を難しくする
- キャッシュ時間を長くする:問い合わせのたびに攻撃者につけ込まれる機会が生まれるため、問い合わせの回数自体を減らす
DNSSEC
コンテンツDNSサーバ側で以下の情報を登録し、デジタル署名によってDNS応答の正当性を保証する仕組み。
- DNSKEY:コンテンツDNSサーバの公開鍵
- RRSIG:リソースレコードに対するデジタル署名
コンテンツDNSサーバは、データを秘密鍵で暗号化してデジタル署名を作成し、その署名を付けた状態でキャッシュDNSサーバへ応答する。
ログ
システムの動作記録。各機器がログを生成して内部に保存するほか、ログサーバに集約して一元管理することも多い。
- ログは必要十分な量にとどめるべき(多すぎても少なすぎても運用上問題になる)
- 複数機器のログを突き合わせるため、NTPによる時刻同期が必須
- リバースプロキシ経由の通信では、Webサーバ側から見ると送信元IPがリバースプロキシのIPになってしまい、本来の送信元をたどれない。リバースプロキシ側で X-Forwarded-For ヘッダを設定することで、本来の送信元IPをたどれるようにする
SYSLOG
ログをログサーバに送信するためのプロトコル。複数機器のログをログサーバで一元管理する際に利用する。
SNMP
マネージャとエージェントで構成されるプロトコル。MIB(機器情報を管理するデータベース)の情報を用いて、機器の設定確認・変更・状態通知を行う。
- TRAP:エージェント側から自発的に緊急性の高い情報をマネージャへ通知する仕組み
パーソナルファイアウォール
クライアント端末にインストールして使うファイアウォール(Microsoft Defenderなど)。
- 通常のファイアウォールは、ネットワーク外部からの攻撃は防げても、内部ネットワーク内での攻撃までは防げない。そこをパーソナルファイアウォールで補う
- 問題点:ユーザが自分の判断でオフにしてしまう可能性がある。また、他のセキュリティソフトと併用すると正しく動作しないことがある
サンドボックス
安全に隔離された領域で、不審なプログラムを実際に動作させて挙動を確認できる仕組み。問題が確認されれば隔離し、問題がなければそのまま利用を継続する。
コードサイニング
プログラム作成者が、そのプログラムのハッシュ値に対してデジタル署名を行う仕組み。プログラムが改ざんされていないか、なりすましでないかを確認できる。
BIOSパスワードとHDD/SSD暗号化
BIOSパスワードを設定していても、HDD/SSDを取り外して直接解析されてしまう可能性がある。そのため、ディスク自体の暗号化が必要になる。
TPM(Trusted Platform Module)
公開鍵暗号方式の鍵ペア生成、ハッシュ値計算、デジタル署名の生成・検証などを行うセキュリティチップ。TPM2.0はセキュリティ強度が高く、スマートフォンにも対応している。
耐タンパ性
内部のデータや動作を外部から解析・改ざんされることに対する耐性のこと。例えば、ディスクの暗号化に使った鍵をディスク自体ではなくTPM内に保存することで、鍵そのものの安全性を高められる。
BYOD(Bring Your Own Device)
個人保有の携帯端末を職場に持ち込み、業務でも利用する運用形態。
- メリット:企業側の設備投資が不要。特定端末の脆弱性が悪用された場合でも影響範囲を抑えやすい
- デメリット:会社側での一元管理や、脆弱性発覚時の一括対応が難しい。プライベートデータと業務データが混在してしまう
IoTのセキュリティ問題
- 利用期間が長い機器が多く、セキュリティ機能のアップデートが後回しにされがち
- 管理者がそもそもセキュリティ対策を行わず、デフォルト設定のまま運用されているケースが多い
マルウェアMirai
- ランダムなIPアドレスに接続を試み、感染先の候補を探す
- デフォルト設定のまま、あるいは脆弱性のあるIoT機器に侵入する
- 感染した端末はボットネットの一部に組み込まれ、DDoS攻撃などに悪用される
おわりに
DNSキャッシュポイズニング対策とTPM・耐タンパ性の話は一見別分野に見えますが、どちらも「正規の応答/正規のデータであることをどう保証するか」という同じ問題意識でつながっていると感じました。引き続き学習を進めていきます。