“How PAM Prevents Human Errors” February 16, 2023 by Alun Jones より
情報技術 (IT) に携わる誰もが、飲み会などでネタにするユーザーの「伝承」的なエピソードを持っています。誰かが見事に「やらかしてしまった」といった雑談の中での話です。
「彼はサーバーのディスクを交換するためにシャットダウンを実行し、間違ったサーバーの LEDランプがオフになるのを見て恐怖に陥りました。そう、それは私たちが今も使用している給与計算システムのデータベースを稼働させているESXのサーバー機でした。」
「彼女は、パッチ適用のために開発インスタンスをオフラインにするように依頼され、ちょうど終了したところでした。 その後、Slackが公開Webサイトが保留中のページを表示しているという悲鳴を上げました!リクエストが届いたときに、彼女は本番環境にログインしていましたが、開発環境に切り替えるのを忘れていました。」
影響の規模はさまざまですが、それぞれのケースの根本原因は痛ましいほど明らかです。「ミート(肉体)ウェアの問題」(OSI モデルでは冗談めかして”レイヤー 8″とも呼ばれます)と呼ばれることもありますが、つまり問題はソフトウェアやハードウェアではなく、椅子とキーボードの間にあるものです。操作のエラーの説明することは然程の負荷にはなりませんが、最終的には要因は、人為的な単純なミスです。
コンテキストと IT エラー
上記の例を見ると、共通点はコンテキスト(脈絡)です。 ユーザーは正しい操作を実行していた可能性もありますが、誤った場所で、誤ったタイミングで実行した可能性があります。その欠落しているコンテキストは非常に重要です。 では、どうすればユーザーにそれを認識させることができるでしょうか?
「サーバー名と環境がわかるデスクトップ背景を使おう!」
「アプリ内のユーザーはデスクトップを見ることができず、とにかく誰もその情報を見ません。 また、コマンドラインインターフェースで作業している場合はどうなるでしょうか?」
「ふむ、いい点だ。 ああ、彼らはユーザーアカウント制御を目にすることになるでしょう!」
「いい試みですが、Windowsシステムではない可能性もあります。いずれにせよ、誰もそれらのメッセージを読むことはありません。」
「ちょっと待って、なぜ誰もその情報を見たり、メッセージを読んだりしないの?」
ここにはいくつかの要因が関係が、この中でも「筋肉の記憶」は大きな問題です。ユーザーが通常の「正しい」タスクを実行するために複数のダイアログを常にクリックしなければならなければ、これがルーティンになります。最終的にダイアログ疲れが始まり、ユーザーは、非常に間違ったことをする直前に、同じメッセージがその日に30回表示されれば、自動的に [はい] をクリックしてしまいます。
ユーザーが常に権限を昇格が必要な場合、毎度同じプロセスが開始されます。 ユーザーが必要な操作を実行するためにsudoを使用する必要があるときに本来トリガーされる能動的な思考プロセスはなく、「本当にこれが正しいと確信していますか?」という確認も表示されません。
操作者のミスを減らす3つの方法
では、安全保障上の利益に反する人間の筋肉の記憶の問題をどのように減らすことができるでしょうか?
1. まず、メッセージまたはプロンプトの数を減らします。オペレーターがLinux/Unixでの操作の実行をブロックされている場合、マイナーアップデートのインストールなど、ありふれたことを行っている場合でも、ファイアウォールの構成を変更するような機密性の高い操作を行っている場合でも、ボリューム全体のファイルの内容を削除するなどの完全に誤った操作を行っている場合でも、同じメッセージが表示されます。無害で影響が少なく、一般的に発生するイベントに対するメッセージを停止することができれば、リスクの高い操作や疑わしい操作へのプロンプトによって、ユーザーの重要な思考プロセスが動き出す可能性が高くなります。
2. 次に、コンテキスト情報を追加します。 ダイアログやプロンプトは、本質的に一般的なものです。それらは通常、ユーザーの決定を指導するのに十分な情報を提供しません。たとえば、Windowsユーザーアカウント制御 (UAC) プロンプトは、呼び出されたプロセスまたはアプリケーションを昇格された権限で実行する必要があることをユーザーに警告することを目的としています。 ただし、Windows はアプリケーションパスとデジタル署名の詳細を表示するだけで、より有用な情報 (ユーザーが作業しているマシンに関するコンテキストなど) を追加する手段はありません。
3. 最後に、決定をユーザーから遠ざけることができます。多くの場合、ユーザーが管理者またはrootとして実行している場合、過剰な権限が与えられています。ユーザーに幅広い資格を与えるのではなく、理想的には、ジョブを実行するだけの充分な権限をプロビジョニングして、不注意による構成ミスやその他のエラーからユーザーを保護したいと考えられます。
特権アクセス管理 (PAM) が ITエラーを防止/軽減にどう寄与するか
ほとんどの組織は、悪意のある行為者から環境を保護するために、労力とリソースの多くを集中させています。 通常、情報セキュリティ担当者はこれらの脅威を調査する任務を負っていますが、それらのリスクを軽減するために実装するソリューションは、人的エラーから保護するためにも使用できます。
Privileged Access Management (PAM、特権アクセス管理)、より具体的には Endpoint Privilege Management機能を使用して、既存の管理者権限を排除し、より集中した詳細なアクセス許可のセットに置き換えることができます。これはOSの機能とアプリケーションの両方に当てはまります。
そのため、信頼度の低い初心者ユーザーには、より制限の厳しいポリシーを設定して、ユーザーが業務を遂行するために必要な機能だけにアクセスできるようにしつつ、ユーザーが誤用して企業内で語り継がれるネタになる可能性のある重大な機能からユーザーを保護することができます。
許可リストと禁止リストに明示的に追加された操作に加え、柔軟な例外処理を使用しながら、許可リストと禁止リストを調整することでポリシーを調整しながら、ポリシー上未定義な他のタスクに関するユーザーの要望に容易に対応することができます。
ユーザーのレベルによって階層化された”ワークスタイル”は、より多くの自律性を与えたい上級ユーザーにより大きな自由度を与えることもできます。 実際には、これらのユーザーがより幅広いアプリやタスクを実行するために独自の決定を下せるようにすることができますが、正しい選択を行うために必要な情報を考慮する必要があります。
sudo、UAC、macOS 認証プロセスなどのOS機能をカスタマイズされたダイアログとプロンプトに置き換える機能は、これらのデフォルトメッセージで欠落しているコンテキストを追加できることを意味します。たとえば、運用システムで制限された操作の種類の一部を実行しようとしていることをユーザーに思い出させ、ユーザーにその操作を利用規定にリンクさせて、最終的には続行する前にその操作のリスクを認識してもらうことができます。
これでは現状と同様、効果が疑わしく聞こえるかもしれませんが、少なくともユーザーは依然、確認の必要があるメッセージやプロンプトの集中砲火を受けています。これで不要な筋肉記憶の発達を防ぐ方法を考えることができます。
エンドポイントの特権管理は、明示的な許可リストを通じて、リスクの低いプリインストールされた操作は自動的に許可してシームレスに昇格させることもできます。ユーザーは常に sudoに頼ったり、OS昇格メッセージをクリックしたりする必要はありません。この機能とブロックリストを組み合わせることで、ユーザーが意識的に下さなければならない決定の数を減らすことができます。意思決定を減らすことで、ダイアログによる疲弊とそれに続く「許可」の自動クリックを防ぎます。また、リスクの高い操作に対して再認証や同様の手順が必要になるさまざまなメッセージやプロンプトを設定することで、さらにコンテキストを追加することも可能です。
そのために、特権アカウントの管理や最小特権の適用など、よく知られているセキュリティ機能に続くPAMの多くの利点の1つは、ユーザーがクリックする必要があるダイアログの数を実際に減らすことができることです。したがってPAMは、ユーザーがより効率的に作業できるようにするだけでなく、より適切な意思決定を行うことを支援します。
Alun JonesはBeyondTrsut社のソリューションエンジニアです。