NTT DATA TECH
🗂

「特権」は管理者権限だけなのか

に公開

はじめに

システムの設計から運用において、避けて通ることができない要素の一つに「特権」があります。特権は一般的に、セキュリティ設定の変更やユーザーの権限変更などあらゆる権限が付与された「管理者権限」などの強力な権限を指すと考えられがちです。しかし実際には、管理者権限でなくとも特権に該当するケースが存在します。また、一口に「特権」と言っても、人に紐づくものもあれば、OSやミドルウェアなどの人以外に紐づくものがあります。さらには、アプリの設定変更や権限昇格など、様々なものがあります。
特権は、故意の悪用や操作ミスなどによって情報漏えいやシステム停止のインシデントを招きます。そのため、システムにおいて特権管理は重要です。一方で、上記のような内容の幅広さから「特権とは何か」具体的なイメージを掴みづらいことも事実です。
本記事では、システムにまつわる重要な要素でありながら、具体的なイメージが難しい「特権」についてNISTの文書を参考に紐解きます。

本記事のターゲットとゴール

「特権」に対する具体的なイメージが湧かない方をターゲットに、「特権とは何か」を具体的に説明できる状態を目指します。

NISTにおける特権の定義

NISTの文書(※1)では「個人、プログラム、またはプロセスに付与される権利」や「特定のユーザーにセキュリティ関連の操作を行うための特別な権限」と定義されています。
これらの説明から、特権とは「人だけでなく人以外に付与される権限で、通常のユーザには許されないセキュリティ関連の操作を可能にするもの」を指すと整理できます。つまり、権限が付与される「主体」と、付与される権限の「内容」がポイントになります。

権限が付与される主体

権限が付与される「主体」は、「人」と「人以外」の2種類に大別できます。

  • 主体が「人」の場合
     人間に紐づく権限が該当します。代表例として、特定の個人に一対一で紐づくアカウントがあります。一方で、運用の都合上、一つのアカウントを複数人で共有するケースがあります。例えば、「アカウント名"example2"をAさん、Bさん、Cさんが利用できる」場合です。

  • 主体が「人以外」の場合
     「人以外」には、OS、ミドルウェア、アプリケーションなどが該当します。例えば、OSではAdministratorやroot、ミドルウェアではRDBMSをインストールした際に自動的に作成される管理者アカウント、アプリケーションではサービスアカウントなどがあります。これらは人に代わって処理を実行するために権限が付与されます。

5つの分類でみる特権

NISTの文書(※2)では特権の役割を「鍵管理、アカウント管理、データベース管理、システムおよびネットワーク管理、ウェブ管理が含まれる」としています。本記事では、これら5つの分類をもとに特権と呼ばれる権限が実行できる操作内容を紹介します。

  • 鍵管理
    NISTの文書(※3)では「暗号鍵およびその他関連するセキュリティパラメータ(例:パスワード)を、鍵の生成、保存、確立、入力および出力、破棄を含むライフサイクル全体にわたる取り扱いに関わる活動」と記載されています。例えば、期限が切れる暗号鍵を更新し、古い鍵を失効する場合が該当します。

  • アカウント管理
     NISTの文書(※4)ではアカウント管理の一つとして「作成・有効化・変更・無効化・削除」が記載されています。例えば、新規参画者に対して新たにアカウントを作成する場合や、異動や退職で不要になったアカウントを削除/無効化する場合などが該当します。

  • データベース管理
     NISTの文書における明確な定義はありませんが、データベースにおける権限には一例として「閲覧/変更/削除」などが該当すると考えます。例えば、新しい機能の追加に伴い、テーブルやインデックスを作成・変更する場合などが該当します。

  • システムおよびネットワーク管理
     NISTの文書(※4)では関連する用語として「Network Administrator(ネットワーク管理者)」を「組織内のネットワークを管理する人物。主な責任は、ネットワークセキュリティ、新規アプリケーションのインストール、ソフトウェアのアップグレード配布、日々の活動監視、ライセンス契約の執行、ストレージ管理プログラムの開発、定期的なバックアップの提供など」と記載されています。また、NISTの文書(※4)では「System Administrator(システム管理者)」を「コンピュータシステム、そのオペレーティングシステムおよびアプリケーションを管理する人。システム管理者の責任はネットワーク管理者と類似する。」と記載されています。例えば、脆弱性対応に伴うパッチ適用や、サーバやネットワーク機器の設定変更、本番稼働中のサービスの起動/停止などが該当します。

  • ウェブ管理
     NISTの文書における明確な定義はありませんが、NISTの文書(※5)では関連する用語として「Web Server Administrator(ウェブサーバー管理者)」を「ウェブサーバーの全体的な設計、実装、保守を担当するシステムアーキテクト」と記載しています。例えば、TLS証明書の更新や、通信負荷の増大に伴うリバースプロキシの設定変更などが該当します。

特権の具体例

ここまでで、権限が付与される「主体」と付与される権限の「内容」の観点から特権を構成するパーツを整理しました。「特権の定義」のセクションで登場した「セキュリティに関連する特別な操作を実行可能にする権限」について、どのような権限が付与されている状態が該当するのでしょうか。本記事の前提であるリスクベースの観点から、付与される権限の「内容」のセクションで挙げた権限を対象に、具体例を交えて説明します。

  • 具体例1:「データベース管理」の「閲覧」を付与
    データベースに個人情報や機密情報などの機微情報が含まれている場合、ユーザーがデータベースに格納された個人情報を閲覧するだけでなく、閲覧した個人情報を紙に書き写す/撮影/小型可搬媒体などの方法で外部へ持ち出すことが可能です。このように「閲覧」権限に限定して付与した場合であっても、情報漏えいなどのインシデントに繋がる可能性があるため、特権と捉えることができます。ただし、データベースに格納された情報が個人情報などの機微情報ではなく、外部に公開可能な内容の場合、情報漏えいのインシデントにつながりにくいケースがあります。このように、同じ権限であっても、アクセス可能な情報の内容によってもアカウントの重みが変化します。

  • 具体例2:「アカウント管理」の「有効化」を付与
     攻撃者が、アカウントの「有効化」権限を付与されたアカウントAをフィッシング等で奪い、過去に無効化されたアカウントBを「有効化」したとします。奪取されたアカウントBが「システムおよびネットワーク管理」の権限を有すると仮定します。この場合、アカウントBの悪用により本番稼働中のサービスが停止に追い込まれる危険性があります。このように、アカウントの有効化権限自体はシステムを停止させる操作ができない場合であっても、システムを停止させる攻撃の入口になりえます。ただし、アカウントを有効化する際に承認を必要とする、有効化の操作のログを監視し不審な動きを検知・ブロックするなどのシステム的な制御を実装している場合、システム停止のリスクは低減されます。

まとめ

本記事ではNISTの文書をベースに「特権とは何か」を整理しました。
その結果、特権は管理者権限のように「あらゆる権限が付与された状態」だけでなく、「悪用または操作ミスにより、インシデントの発生に繋がる権限が付与された状態」と捉えられることが分かりました。つまり、何を特権と扱うかは、アクセス対象のデータの機微性(例:個人情報、機密情報)や、運用・技術的統制など、権限を管理する組織の状況に応じて異なります。そのため、特権管理に際しては、組織における権限付与状況の棚卸や想定されるリスクの洗い出しなどを通じて、どのような権限を特権と扱うか、すなわち「特権の定義」から検討することが重要です。

参考文献

NTT DATA TECH
NTT DATA TECH
設定によりコメント欄が無効化されています