メニューボタン
IBMi海外記事2016.06.23

IBM i 7.3、セキュリティを高める良いころあい

Dan Burger 著

データの機密性は、どの程度大事なことだと考えますか。この問いに、1~10の段階で答えるとしたら、選べるのは唯一の2桁の数である「10」でしょう。自分の情報の管理や保護ができない人にとっては、リスクはかつてないほどに大きくなっています。この先しばらくは、毎年、同じことが言われ続けるでしょう。そのように情報の保護のための革新的な方法が模索されるなか、その使命を果たすべくIBMは、新規のi 7.3リリースに、権限コレクションと呼ばれるツールを追加しました。
ツールと呼ばれたり、ユーティリティと呼ばれたり、機能と呼ばれたりすることもありますが、いずれにせよ、権限コレクションは最新のOSにすでに組み込まれています。簡潔に説明するとすれば、どのユーザーがどのデータにアクセスするかを識別し、どのようなレベルのアクセス権を持っているか、それとともに、どのようなレベルのアクセス権を持つべきかを判定するということです。その目的は、業務に必要なアプリケーションを実行するのに必要とされる権限のなかで、最も低いレベルの権限を割り当てることにあります。

「システムをセキュアにすることができるレベルと、現状のセキュリティのレベルとの間には、大きなギャップがあります。そのギャップは、アプリケーション内のオブジェクトの権限のレベルにおいての、設定されているレベルと設定され得るレベルとの間のギャップです」と、IBM i開発チームのセキュリティ アーキテクト、Jeff Uehling氏は述べます。「このギャップは、アプリケーションが作成されたときからあるものであり、セキュリティは後から考えられたものにすぎません。閉じ込めるだけでよいのなら、もっと良い方法はあります。」

アプリケーション開発プロセスの際に、セキュリティが最優先事項であるとしたら、今日、このように権限コレクションについて語ったりすることもなかったことでしょう。しかし、今日、使用されている多くのアプリケーションは、脅威が少なかった時代に、ずっと単純なシステム上で使用するために開発されたものです。アプリケーション レベルでのセキュリティについては、何年もの間、テクニカル カンファレンスのセッションや、各地域のユーザー グループ ミーティングで行われるプレゼンテーションにおいて、テーマとして何度も取り上げられてきました。広く警告が発せられるほどの脅威レベルに至ったことはまだないようですが、危険性は減っているのではなく、増しているのだという見解には大方の同意が得られると思われます。そうしたところに、安心でセキュアなシステムという認識が加わります。IBM iはもともとセキュアであるという、誤った評判を生み出す認識です。

「きわめてセキュアになるようにシステムを構成することは可能です」とUehling氏は述べます。「完全性の面からすると、ユーザーが高いセキュリティ レベルで実行していれば、認可または監査メカニズムを回避できないので安心です。興味深くなってくるのは、データおよびデータオブジェクトに目を向け始めた時です。データ オブジェクトを取り上げて、それらのオブジェクトに対してパブリックな権限を除外するよう設定することは簡単に行えます。そのようにすれば、きわめてセキュアな環境が得られます。しかし、実際には、アプリケーションが正常に動作するためには、アプリケーションのユーザーがそのデータ ファイルにアクセスできなければなりません。アプリケーションがセキュリティに関して正しく開発されていれば、そうしたアクセスは得られます。ユーザーは、実行時に適用された権限を使ってそのファイルにアクセスし、読み書きできます。アプリケーションが、読み書きする対象を完全に制御するわけです。」

Uehling氏は、IBMがずっと言ってきたのは、IBM iはセキュアなものにすることはできるということであり、もともとセキュアだ、ということとは違うと主張します。IBM iが並外れてセキュアだという評判の核心にあるのは、システムの設定です。そして、そうした評判が現実のものになるためには、行うべきことがたくさんあります。

「IBM iサーバーで利用可能なアプリケーションでは、アプリケーション内のオブジェクトに必要以上の権限が付与されていることが多いようです。法令によって機密データのセキュリティが求められるようになっていても、それが現状です。伝統的に、アプリケーション内のオブジェクトのパブリックな権限は、アプリケーションの実行に必要な権限より高い権限に設定されます」と、Dawn May氏の「i Can」ブログにUehling氏は記しています。「そのように権限を高く設定しすぎた場合、システムのユーザーがアプリケーションの外部から特定のテーブル オブジェクトのデータを変更できてしまうため、システムに潜在的なセキュリティ上の問題点が生まれてしまいます。権限コレクション サポートは、システム管理者やアプリケーション プロバイダーに、アプリケーション オブジェクトのセキュリティを閉じ込めるためのユーティリティを提供できるように設計されています。」

製品情報03

Uehling氏は、IBM iアプリケーション ソフトウェア ベンダーが、権限コレクション サポートのアーリー コンシューマー(早期消費者)になり、アプリケーションの出荷前にこの機能を活用してくれることを期待しています。
今日存在するセキュリティ脅威の環境を考えると、アプリケーションを購入しようとする際に、IBM iショップがアプリケーションベンダーに、セキュリティに関する質問をする場面が増えると思うと彼は述べます。そこでは次のような質問がなされるのではないでしょうか。「このアプリケーションはセキュアですか」、「おたくのアプリケーションを実行しても、うちのデータのセキュリティは大丈夫でしょうか」、「アプリケーションをセキュアにするためにどんな対策をしましたか」
セキュリティ スキルは、確かに1つの要素になるでしょう。Powerプラットフォーム上のIBM iに組み込まれている他の多くの機能と同様に、それらを使うスキルがないのであれば、それらは役に立ちません。多くのIBM iショップには、権限コレクションを活用するのに必要なだけのスキルはありません。

サードパーティのセキュリティ ベンダーが、サービスとして専門知識を提供しようと、IBM iショップの前に列を作り始めています。それらの中には、権限コレクションの7.3ベータ版のプログラム テストに参加したベンダーもいます。Uehling氏によれば、反応は良好だったようです。

「セキュリティや、権限のチェックがどのように機能するかについて知識があるのであれば、このツールを活用できます」とUehling氏は述べます。「アプリケーションを管理し、PTFを適用し、システムを正常に稼働させる任務を担う管理者に向けての、権限コレクションに関する情報は数多くあります。コンサルティングを提供し、データの分析を行えるベンダーもたくさんあります。」

これらのIBM iのセキュリティ ベンダーは、セキュリティ構成監視ツールと、そのスキルをすでに備えています。そうした分野で用いられるものとして、システム値、ネットワーク属性、TCP/IP構成、および監査データの分析機能といった項目があります。中には、現在の権限値についてレポートするツールもあり、権限コレクションの機能の一部を担っています。
また、これらのベンダーからは、出口ポイントを介してネットワーク セキュリティをモニターするソフトウェアも提供されています。出口ポイントの監視は、オブジェクトへのネットワーク アクセスを閉め出す際に役に立ちます。

権限コレクションは、マシンへアクセスして、コマンド ライン、またはファイルを開いたりアクセスしたりするプログラムを介してデータオブジェクトへアクセスするユーザーを検索します。それには、プライベートな権限を分析し、レベルが高すぎるかどうか判定することによる、パブリック権限を持つライブラリを識別するレベルを越えたオブジェクトレベルのレポートが必要です。このツールは、マシン上のすべてのデータオブジェクト、およびシステム上でアプリケーションを実行するすべてのエンド ユーザーを対象にできるように設計されています。

IBM iのセキュリティ コンサルタントのPat Botz氏によると、セキュリティの設定を実現するツールを手にすることは有用なことですが、最善のセキュリティ解決策からはほど遠いものです。最終的な責任を負うべきはアプリケーション開発プロセスなのです。

i 7.3のアナウンスの前に、Botz氏は『IT Jungle』のインタビューでこの点について論じていました。そのときのインタビューを基にして「Testing For Security Inadequacies」という記事をまとめました。この記事の中で、アプリケーションの開発段階でセキュリティの問題を誰が扱うべきなのかという点についてのBotz氏の考えが示されています。Botz氏によれば、それはシステム管理者ではなく、開発者であるとのことです。

その記事の後、Botz氏は「Botz Security Bytes」という、自身のEメールニュースレター内のブログを更新しています。Botz氏は「権限コレクションは、誤った認識を広めてしまうのではないか」と心配しています。すなわち、アプリケーションがオブジェクトに対してアクションするために、それがどのようなオブジェクトであったとしても、ユーザープロファイルはそのオブジェクトに対する権限を要求する、という認識です。彼の主張は、エンドユーザーにはアプリケーション オブジェクトに対する権限は必要でなく、権限を必要とするのはジョブだというものです。

情報の管理や保護といったテーマに興味をお持ちの方には、AS/400およびその後継プラットフォームのセキュリティ アーキテクトを務めたBotz氏の、こうしたテーマに関する考えは一読の価値があります。

今になって権限コレクションが注目されるようになった理由の1つには、システム性能との関連があります。Power7およびPower8プロセッサー搭載のIBM Power Systemsハードウェアの処理能力は、重要な技術革新へと通じる扉を開けました。Uehling氏は、Power6上でも権限コレクションは稼働できたかもしれないが、そうした場合、システムのパフォーマンスはかなり低下しただろうと述べます。IBM iのセキュリティ アーキテクトであるUehling氏によると、IBMでのパフォーマンス テストでは、CPU利用率90%で稼働中の大規模パーティションまたは小規模パーティション上で、2%~3%のパフォーマンス低下だったそうです。

「権限のチェックには、常にデータ収集が伴うためオーバーヘッドが生じます。つまり、どのプログラムに関係があるのか、どのジョブが実行中なのか、適用されているすべての権限情報といったデータの収集です。そしてそれにはグループおよびユーザーについての情報も含まれます。

「私たちが心配したことの1つは、多くのユーザーおよびすべてのオブジェクトに対して権限コレクションを適用してしまわないかということです。そうした場合の本番マシンへの全体的な影響は、甚大なものになります。説明書にはその旨の警告を記していますし、また、テスト パーティション上でテストを行うようにも推奨しています。もっとも、権限コレクションについて詳しくて、アプリケーション内の特定のライブラリまたはファイルに特化し、一度にシングルユーザーに対してという条件であれば、本番パーティション上でテストを行っても大丈夫かもしれません。パフォーマンスが低下するかどうかは、コレクション パラメータについてどれくらい異常な設定をするかによります」 また、コレクション パラメータをまったくの無制約にした場合は、ディスクの容量にも悪影響が及ぶかもしれません。権限コレクションによって集められるコレクション エントリーは、1エントリー当たり約200バイトなので、5,000エントリーで1MBになります。Uehling氏が「何時間もかかるかなり大きなアプリケーション」と述べたアプリケーションでのテストでは、約10,000のエントリーが集められ、サイズとしては約2MBでした。
このプロジェクトの持つ重要性を知らせるため、Uehling氏のチームは、1年以上にわたって尽力し、このサポートの実現にこぎつけました。彼はそれを「基本的には、CLコマンドおよびナビゲーター サポートのOSへの組み込み」と説明します。

権限コレクションはi 7.3特有の機能であるため、通常、約2年のOSアップグレード サイクルの後の方になるまでは、多くの顧客フィードバックは望めそうにありません。Uehling氏によれば、このプロジェクトは複雑で費用がかかるため、以前のリリースのOS向けに改編を行う見込みはないとのことです。もっとも、OSアップグレードの準備ができていない大規模のIBM iショップが、7.3のテスト パーティションでアプリケーションを実行し、権限コレクションを使ってデータを集め、その後で変更を7.1に戻したとしても、彼は驚かないでしょう。

あわせて読みたい記事

PAGE TOP