IBM i のセキュリティにとって権限収集は適切なのか?
IBMは、過去2回のIBM iのリリースで、ユーザーがアプリケーションを使用するのに必要な権限を管理者が正確に確認できるようにする、権限収集という新たなセキュリティ機能を追加しました。権限収集はIBM iアプリケーションのセキュリティ強化に役立つとして歓迎する人もいますが、IBM iコミュニティには、そもそもこの新しい情報が役に立つのかどうか疑問に思っている人もいるようです。
権限収集が登場したのは、2016年のIBM iバージョン7.3のリリースでした。この機能を起動すると、ユーザーがアプリケーションと対話するときにどのような権限(ALLOBJ、SECADMなど)が呼び出されているかを監視します。監視が終わると、特定のユーザーがセッション中に利用したすべての権限のリストを生成します。
IBMが期待したのは、こうした情報が備わることにより、システム管理者、セキュリティ スペシャリスト、またはサードパーティ ツールの開発者が、ALLOBJなどの特殊権限を使用しないようにアプリケーションを修正できるということでした。ユーザーは、一日中、特殊権限を利用する代わりに、ほとんどの時間はより下位の権限レベルで実行し、必要に応じて、特定の機能のための権限を得るのに必要な借用権限を使用するというわけです。2016年6月の記事で、IBM iセキュリティ アーキテクトのJeff Uhling氏がこの点について今は亡きDan Burgerに説明しています。
今年春に発表されたIBM i 7.4では、権限収集の機能強化として、オブジェクト ベースでどのような権限が使用されるかを監視する機能が追加されました。そのため、管理者は、ユーザー別に権限の使用を監視できることに加えて、アクセスされたオブジェクトごとにどのような権限が使用されているかを把握できるようになりました。また、権限収集にSQL照会機能も追加されました。
IBM iチーフ アーキテクトのSteve Will氏によれば、この機能は、監査機能を高める方法として、ユーザーの要望で追加されたということです。「どのようなオブジェクトについても、誰一人として、必要以上の権限を持ってそのオブジェクトに触っていないことを示すことができます」と、今年の春、Will氏は『IT Jungle』に述べています。「これである程度の機能の補強になります。」
権限収集は、おおかた好評を博していると言えそうです。この機能によって示されたことは、多くのIBM iのショップの脆弱なセキュリティ態勢に対してIBMが対策を講じようとしているということでした。長年にわたって実施されてきたPowerTech社の「State of Security」年次調査から、脆弱であるIBM iシステムがあまりにも多いこと、そして、このプラットフォームで利用可能なセキュリティ機能を活用しているIBM iのショップが少な過ぎることが知られています。強力な権限レベルの濫用は、脆弱なパスワード規則や出口点の監視不足とともに、長年にわたって大きな問題として特に指摘されてきました。
過剰な権限の問題は、大部分はレガシー アプリケーション環境の副産物と言えるでしょう。昔(つまりインターネット以前)は、IBM i開発者はアプリケーションを構築する際に、良いセキュリティ プラクティスに従うことに関心を持たなかったため、ALLOBJを使用して通常ユーザーがアプリケーションおよびデータにアクセスできるようにする、というようなことも行っていました。世界がよりつながり危険になったのにつれて、良いセキュリティ プラクティスに従うことの優先度はより高くなりました。けれども、レガシーIBM iアプリケーションと現在のセキュリティ環境との間の溝は埋まっていません。
借用権限は、IBMがこの問題に取り組もうとしてきた1つの方法です。IBMのUhling氏は、アプリケーションを切り開いて、権限の大幅な改良に着手する代わりに、借用権限を活用することによってユーザー側でその問題に対処することを勧めました。IBM iは市場でも最もセキュアに設定できるプラットフォームの1つであり、借用権限は(権限収集を介して)、IBM iのショップがセキュリティを高めるための1つの方法となるからです。
しかし、これは最善のアプローチなのでしょうか。IBM iセキュリティ ソフトウェアの開発を手掛けるRaz-Lee Security社の最高技術責任者、Schmuel Zailer氏をはじめとして、コミュニティの一部には異なる見解もあるようです。Zailer氏によれば、権限収集は、実際には利用できないほど多くの情報を生成するとのことです。
「その情報をどう処理するのでしょうか。それが問題なのです」と、先日、Zailer氏は説明しました。「得られる詳細情報が非常に多くなっています。一人ひとりがファイルに触るたびに、持つ可能性があるすべての権限と、そのファイルに必要とされるすべての権限があるわけです。それを比較しなければなりませんが、どうやって行うのでしょうか。」
権限収集によって生成されるデータは、平均的なシステム管理者が活用するには、膨大で複雑過ぎると彼は述べます。「権限収集の情報は、数万または数十万とまではいかないにしても、数千件に上るレコードです」と彼は述べました。「非常に複雑なのです。」
Zailer氏は権限収集を「失敗作」と呼んでいるものの、2017年にリリースされた、権限収集によって生成されたデータをIBM iユーザーが理解するのを支援するツール、Authority Investigatorの開発の監督を務めています。「必要とされるのは、データを凝縮して、1本1本の木ではなく森全体を見ることができるようにするツールなのです」と彼は述べています。「多くの木が見え過ぎてしまうからです。」
問題の一端は、管理者、ユーザー、開発者、さらにIBMさえもが、セキュリティの問題への対処のために取ることができる方法が多数あるということにもあるようです。権限収集は、IBMがIBM iに提供している借用権限メカニズムを使用するための橋渡しの役割をするべく作成されました。しかし、過剰な権限の問題を解決するためのアプローチとして、借用権限が最善であるかどうかについては議論もあります。
借用権限メカニズムには、それ自体にいくつかの制限事項があります。その最大のものがIFSです。ユーザーがオブジェクトをIFSに保存している場合、オブジェクトにアクセスする権限がユーザーにあるかどうかを調べる際、オペレーティング システムは借用権限を無視します。
借用権限の代わりになるものは、プロファイル スワッピングです。これは、ユーザーが、一部のタスクを遂行するのに必要な権限を持つより強力なユーザー プロファイルに一時的に切り替え、そのタスクが完了したら元のプロファイルに切り換えるというものです。Raz-Lee社をはじめ、多くのIBM iベンダーは、いくつかのバージョンのプロファイル スワップまたはプロファイル スイッチを提供しています。
その一方で、IBM iコミュニティの一部には、権限レベルはユーザー プロファイルに応じて処理されるべきではなく、ジョブによって管理されるべきだという声もあります。また、これらのジョブが確実に適切な権限レベルを持つようにするのは開発者の責任であって、管理者の仕事ではないとも主張しています。
権限収集は開発途中です。IBMは、新たなSQL機能は言うまでもなく、IBM i 7.4で追加された新たなオブジェクト ベースのビューによって、権限収集の有用性が向上すると言って譲らないようです。ユーザー コミュニティがその製品を使用して要件を満たすかどうかを判断し、必要に応じて、さらなる変更が加えられるまでには、しばらく時間がかかるでしょう(IBM iオファリング マネージャーのAlison Butterill氏は必要なら変更を加えることもできると述べていますが)。
その間にも、IBM iにおける過剰な権限という悩ましいIBM iのセキュリティの難問に対処する最善の方法をめぐっては、議論が続くことになるのでしょう。