CNDT 2022、事業会社におけるゼロトラスト実施の反省を語るLayerXのセッションを解説

CNDT 2022から、LayerXのCTO室所属、鈴木研吾氏によるセッションを紹介する。LayerXは支出管理のSaaSを開発提供するベンチャー企業で、三井物産と共同出資でデジタル証券による資産運用のためのサービスの開発も行っている。鈴木氏はゼロトラストネットワークに関するオライリーの書籍の監訳も行っており、ゼロトラストネットワークを実装する知見は充分に持っていると言えるだろう。

このセッションではゼロトラストをLayerXで実装した経験から、その振り返りを行う内容になっている。

ゼロトラストの定義を紹介

ただゼロトラストの定義について「特定の実装を目指すものではない」としており、システムの境界防御や境界内の暗黙の信頼に基づいたアクセスを許さないという意味でのゼロトラストネットワークではなく、より大きな「システム保護の考え方」であるとしているのがユニークだ。

自身が監訳したオライリーの書籍「ゼロトラストネットワーク」を例に挙げ、2017年頃から2022年までにゼロトラストの意味がどのように変化してきたのかを解説したのが次のスライドだ。

ネットワークに関する記述からアクセスポリシー、アクセス管理などに変化してきた

そしてアイデンティティとポリシーによってアクセス制御を行い、「必要最小限」と「職務分掌」を実現してきたと過去3年間の経験を振り返ったが、それは失敗だったというのが今回の総括だった。

最小権限と職務分掌の実現がゼロトラスト

ゼロトラストについては2020年から実施し、デジタルアイデンティティと最小権限と職務分掌を行っていたとして、AWSのGuardDuty、Microsoftのソリューションなどを活用していたことを解説。自動化も必要十分に抑えていたというのはマニュアルのチェックポイントを設けることで、誤った設定などが実行されるのを防ぐという意味だろう。

LayerXにおけるゼロトラストの概略

セキュリティを維持するために行った例として、アクセス管理を挙げて説明。ここでは実組織をそのままシステム内のグループに置き換えて役職、職務、チーム、情報区分などの属性を与え、それと静的なポリシーとを紐付けて管理を行っていたという。ここではグループにユーザーを登録してアクセスの際にポリシーと照らし合わせてリソースへのアクセスの可否を判定するというやり方だ。

セキュリティ管理が上手く行かなかった理由は組織拡大に追従できなかったから

実際には実組織の拡大にシステムが追いついていかなかったとして、チームの変更が頻繁だったこと、新しいチーム、役割に命名規則が対応できなかったことなどを挙げた。要は実組織とシステムのグループを1対1に対応させてしまったことが原因ということになる。

結果として実組織に対応させることは止め、「ユーザー、デバイス、サービス、アクセスしたいリソースに属性を与え、それを元にポリシーを適用する」というABAC(属性ベースアクセスコントロール)を採用したという。

従来の方法から属性ベースのアクセスコントロールに変更

ここではユーザーのグループへの追加が所属確認という意味にはなっておらず、ユーザーの属性がアクセス可否のポイントになっていることに注目したい。実組織の変化が激しいベンチャーのような形態では、シンプルなロールベースでのコントロールが有効かと思えばLayerXにおいてはそうではなかったらしい。

ロールベースなのか属性ベースなのかについてはそれぞれの特性があり、Oktaのサイトに参考となる情報があるので参考にされたい。

●参考:OktaによるRBAC vs ABAC:RBAC vs. ABAC:定義と使用方法

またポリシーについてもいわゆるコンピュータシステムの中のアクセスポリシーではなく、もっと上位の内部統制的な決まり事を意味しているとして、システムの内部の権限管理の上に来る概念的なルールが下位のアクセス権限の設定に変換されていくということになると想定しているように見える。しかし自然言語で定義されるポリシーがシステム内で実装されるためには、どこかで変換がされなければいけないはずだが、そこに関しては特に説明はされなかったので、機会があれば改めて質問してみたい。

ポリシーをシステムに実装する例としてのOSCALに注目

ここでシステムに上位のポリシーを実装するためのマシンリーダブルな言語表現としてOSCAL(Open Security Controls Assessment Language)の説明に移った。ここでは3つのレイヤー、JSONでの表現などについて言及したが、あまりにJSONが大きくなり過ぎるので導入はしない予定と説明。あくまでの上位のルールをシステムに反映するためのオープンな仕様の例として紹介したということだろう。

最後にまとめとしてゼロトラストは維持したまま、各部門がセキュリティ対策を行うという考えの元でシステム開発を行っていくとしてセッションを終えた。

ゼロトラストはセキュリティ対策ではなく業務環境のための指針というまとめ

実組織に対応したグループ化の失敗から、ユーザー個人の属性に従ってアクセスを管理するという方法を取ったLayerXだが、ゼロトラストを指針と捉えてそれぞれの業務組織がセキュリティ対策を行うという発想がクラウドネイティブなシステムのセキュリティ実装において妥当かどうかは議論が残るところだろう。1年先にもう一度、振り返りを行ったセッションを聴きたくなる内容だった。

●動画:同志諸君よ、ゼロトラストを撃て

Original Post>