OSCALを活用したFedRAMP自動化の背後にある技術

2024/10/05

この記事は、2022年3月にNISTが開催した「3rd Open Security Controls Assessment Language (OSCAL) Workshop 」の、Day1 Part2の公演内容をもとに、一部要約を行い、日本語に翻訳したものです。

Day1 Part2 では、FedRAMP(GSA)の戦略・イノベーション・テクノロジー部門プログラムマネージャーであるザック・ボールドウィン(Zach Baldwin)さん、それに加えて Flexion, ING, Inc. のセキュリティ&XMLエンジニアであるゲイリー・ゴピンスキー(Gary Gopinski)さん、そして VITG Inc. CEO のトーマス・ボルペ・シニア(Thomas Volpe Sr.)さんによる、FedRAMP自動化についての紹介が行われました。

ぜひ、実際の資料は動画も確認しながらご覧ください。


自己紹介

皆さん、こんにちは。私は FedRAMP の自動化イニシアチブを率いているザック・ボールドウィンと申します。こうして第3回 OSCAL カンファレンスに参加できてとても嬉しく思います。もう3回目なんですね。FedRAMP と NIST は、OSCAL イニシアチブに関して数年間にわたり協力関係にあり、FedRAMP は NIST の初期からの協力者、もしくは少なくとも「いちばんのお得意様」くらいの立ち位置にあると言えるでしょう。 OSCAL という機械可読のドキュメントは、FedRAMP が推進している自動化の取り組みにおける重要な柱です。これまで長年にわたり語られてきた多くの自動化アイデアを実装するにあたり、OSCAL は非常に大きな役割を果たしてくれると期待しています。まずは、NIST のミケーラ・イオルガさんとデイビッド・ウォーターマイヤーさんに、このイニシアチブのリーダーシップを発揮してくださっていることに感謝します。何年にもわたり素晴らしいパートナーシップを築いてきました。

次のスライドお願いします。

FedRAMP プログラムと OSCAL

クラウドサービスへの需要が高まる中、FedRAMP プログラムは規模を拡大しながら適応し続ける必要があります。そのため、私たちは認証ライフサイクル全体に関わる主要なプロセスを近代化・自動化することに注力しています。FedRAMP がリソースを拡張するには、プロセスの自動化・効率化が不可欠です。FY22(2022会計年度)における私たちの主な目標は以下のとおりです。

  • 市場拡大:FedRAMP の中核的ミッションは、安全なクラウドサービスを提供し、省庁のミッションを支援することです。
  • プロセスの変革:現在および将来のニーズを満たす解決策を見つけるために、私たちが行っている業務を見直し、新たな方法を導入します。
  • 知識共有の促進:ステークホルダーの皆さんと意見交換やフィードバックの機会を継続的に設けていきます。

次のスライドをお願いします。

ここまでに、私たちはプログラムの一部を自動化する上で大きな進展を遂げてきました。この図は、私たちの自動化に関するイニシアチブをまとめたものです。以前「自動化の扇(fan)」と呼んでいたものを、今では「自動化の目(eye)」と呼んでいるかもしれません。

中央に「OSCAL」があり、すべてをつなぐ存在となっています。最初に挙げるのはやはり OSCAL です。FedRAMP のベースラインやセキュリティパッケージの資料を、OSCAL 形式とガイドブック付きで公開しています。これらは現在 GitHub で入手可能で、近い将来 Rev5 に向けて更新する予定です。

次に「自動化されたバリデーション(検証)」。これは本日のプレゼンでも詳しくお話ししたいと思いますが、セキュリティパッケージを自動的に検証するためのルールを作成・整備しました。

3つ目は「脅威ベースのプロファイリング」。DHS(国土安全保障省)の GovCAR(Government Cybersecurity Assessment & Risk)プロジェクトと連携し、Rev5 のコントロールを「保護力」「検知力」「対応力」の観点からスコアリングし、MITRE ATT&CK フレームワークに対してどう効果を発揮するかを評価しました。この手法により、リスク管理に活用可能なコントロールの優先度リストを得ることができました。すでにこのデータを FedRAMP Rev5 ベースラインの策定に活用し、現在ドラフト版を公開しています。もし詳しく知りたい方は、FedRAMP のブログ記事で手法の白書やスコアリングデータを公開していますのでご覧ください。

また「継続的モニタリング(Continuous Monitoring)」については、効率化とより高い付加価値を目指して、新たなアプローチを構築中です。

次に「API」。API を活用して、データのやり取りをより効率的に行います。理想としては、そのデータが OSCAL 形式になっていることが望ましいですね。

そして「効果測定」。私たちが成功を収めたかどうかを、評価指標やレポートで示します。私が主に注目している指標は、認証パッケージの審査に要する時間短縮と、審査チームとクラウドサービスプロバイダ(CSP)との間で何度もやりとり(パスバック)が発生する回数を減らすことです。

次のスライドをお願いします。

ここからは自動化されたバリデーションの話を少し詳しくお伝えします。

自動化バリデーション

私たちは研究とステークホルダーへのヒアリングを通じ、1つの大きな課題を見出しました。それは「政府の認証パッケージに必要なセキュリティ関連の提出物が、開発・レビュー・維持のすべてにおいて時間も手間もかかり、非常にマンパワーを要している」という点です。 この課題を解決すべく、私たちは2つの方針を定めました。1つ目は、NIST と連携して機械可読の言語である OSCAL を活用することで、セキュリティパッケージのドキュメントを自動的に処理できるようにすること。これにより、パッケージの作成やレビューにかかる時間やコストを削減でき、より多くのパッケージを処理し、最終的に高品質なアウトプットを得やすくなります。

もう1つは、機械可読化した文書を使って「自動検証ルール」を作り、レビューを効率化することです。私たちは、最初の自動チェック機能をすでに開発し、GitHub に公開しています。CSP の皆さんには、ぜひ提出前にこのバリデーションを自分たちで回してみてほしいと思っています。

これらの自動検証は、10X プログラムとの協力で開発されました。今回は、10X チームのゲイリー・ゴピンスキー(Gary Gopinski)が詳しく説明してくれます。


10X プログラム

ありがとうございます、ザック。ちなみにザックは、FedRAMP オートメーションを 10X でやろうというアイデアを最初に提案してくれた張本人です。10x.gsa.gov にアクセスすると詳細が載っています。私は Flexion, Inc. の社員で、いま 10X の FedRAMP Automation プロジェクトを担当しているチームの一員です。 まず 10X プログラムの概要を簡単にお話しします。10X は、連邦政府職員からアイデアを募り、それを実際に役立つプロダクトへと育て、国民が連邦政府に触れる際のユーザーエクスペリエンスを改善するというものです。アメリカ連邦政府の職員であれば誰でも、この 10X にアイデアを提案できます。

次のスライドをお願いします。

10X ではプロジェクトを4つのフェーズに分けて進めますが、すべてのプロジェクトが最終フェーズまで到達するわけではありません。途中で実現性が低いと判断された場合には打ち切りになります。FedRAMP Automation プロジェクトは現在フェーズ4に入っており、ここに至るまでに3つのフェーズを経てきました。

次のスライドをお願いします。

このように各フェーズでプロジェクトが具体化され、それぞれの段階で存続価値を証明していきます。

次のスライドをお願いします。

フェーズ3では、FedRAMP に提出されるパッケージを対象とした「バリデーションルール」を100件以上洗い出しました。そのうち約3分の2は自動化可能で、私たちはその9割ほどを、Schematron(スキーマトロン)という XML 用の宣言型言語を使って実装することに成功しました。 現在進行中のフェーズ4では、システムセキュリティ計画(SSP)だけでなく、提出パッケージに含まれる他のドキュメントも検証対象とするバリデーションの拡充を目指しています。以前は FedRAMP に特化していましたが、実は多くのバリデーション項目は一般的な NIST RMF でも活用できる内容なので、それらを切り分けたうえで、FedRAMP 用など必要に応じた「オーバーレイ」を掛け合わせる形にする予定です。

次のスライドをお願いします。

前のフェーズでは、FedRAMP のレビュワーが実際に何をチェックしているのかを把握し、自動的に検証できる項目を整理しました。また、構造化された機械可読ルール(Schematron)を使うことで、自動検証が有効であることを実証しました。さらに、それらのルールを任意のアプリケーションに組み込めるよう、サンプルとしてブラウザベースの小規模アプリケーションを開発しました。

次のスライドをお願いします。

そのサンプルアプリは、今表示しているスライドにある URL からアクセスできます。画面右側に3つボタンがあるうちの「validation」を選ぶと、ローカルで皆さん自身の OSCAL SSP(システムセキュリティ計画)を読み込んで検証できます(ブラウザ上で完結するので外部には送信されません)。あるいはサンプル用の SSP でも試せますが、あえてエラーが出るような内容になっており、「不十分な提出物」と判断されるはずです。

次のスライドをお願いします。

フェーズ4では、メディケア・メディケイドサービスセンター(CMS)と連携し、クラウドサービスプロバイダが OSCAL 形式で提出する認可パッケージを支援する取り組みも予定しています。CMS 側も内部で OSCAL を使うことを想定しており、私たちはそこを後押ししようとしています。CMS の Acceptable Risk Safeguards と OSCAL の統合を手伝うイメージです。 ここで、次のスピーカーであるトム・ボルペに話をバトンタッチします。次のスライドをお願いします。


AARW作成の自動化

ありがとうございます、ゲイリー。改めまして、私は VITG Inc. の CEO、トム・ボルペです。FedRAMP Automation チームのコンサルタントとして約2年ほど、OSCAL や脅威ベースのリスクプロファイリング(GovCAR と脅威分析など)に取り組んできました。内部・外部で活用されるさまざまな OSCAL ツール開発にも携わっています。 本日は、FedRAMP の認証レビューチームが内部で使うために試作した2つのツールをご紹介します。どちらも、ゲイリーたちが作った自動検証(Schematron)を活用して、レビューチームがパッケージを評価するときの時間を短縮し、提出者への初期フィードバックを迅速化することを目指しています。

次のスライドをお願いします。

まずご紹介するのは「Agency Authorization Review Workbook(AARW)」です。これはレビュー担当者が SSP(システムセキュリティ計画)や提出されたパッケージ全体(SSP, SAP, SAR, POA&M)を評価する際に最初に使うツールです。

OSCAL を使って自動化を図り、まずドラフト状態のワークブックを自動生成できないかと考えました。通常、紙ベースあるいは Word ファイルで提出される SSP を1つ1つ人間がチェックし、AARW に転記する作業には非常に多くの時間がかかっています。

そこで私たちは、OSCAL 形式の SSP と、ゲイリーのバリデーションツールから出力される SVR(Schematron Validation Report)ファイルをアップロードするだけでワークブックを生成できるウェブベースツールを作りました。今はまだ単独ツールの形ですが、システムカテゴリー(FIPS199 のロー/モデレート)にも対応しており、ハイにも取り組んでいる最中です。対応バージョンは OSCAL 1.0.0。生成された Excel の AARW には、自動検証で問題があったコントロールに印が付くようになっています。これによりレビューチームは問題のあるコントロールをすぐに把握でき、提出物全体をゼロから読む手間が大幅に削減されます。

次のスライドをお願いします。

このツールは、AARW を出力するだけでなく、「Validation Control Filter Views」という機能も提供します。検証結果は主に「コントロールが適切に実装されているか」をチェックしているので、「実装ステータスが欠落しているコントロール」や「ポリシー/手順が定義されていないコントロール」などを絞り込み、レビューチームがそこに集中できるようにします。

次のスライドをお願いします。

CIS Workbook Generator

2つめのツールは「CIS Workbook Generator」です。多くのクラウドサービスプロバイダや3PAO がご存知の「Control Implementation Summary(CIS)ワークブック」を自動生成するものです。このツールでは、OSCAL SSP をアップロードすると、CIS ワークブックの初期版が自動で作成されます。CIS ワークブックを手作業で埋めるのはとても時間がかかり骨の折れる作業なので、OSCAL SSP に含まれる情報を活用してあらかじめ項目を埋め、レビュー担当者が使える形にしました。

次のスライドをお願いします。

画面例では列形式でコントロール実装が列挙され、OSCAL SSP で見つかったコントロール内容やその起源(システム側か、他のプロバイダからの継承か など)が表示されます。

次のスライドをお願いします。

ここからは再びザック・ボールドウィンにマイクをお渡しして、まとめに入ります。


まとめ

トム、ありがとうございます。最後に、いくつかリソースを挙げています。スライドにURLが並んでいるので、ぜひご覧ください(このスライド自体、後日共有される予定です)。私たちはバリデーションツールに大きな期待を寄せています。ごく簡単な検証でも大幅な工数削減につながる可能性がありますし、人間にとっては手間のかかる「完全性チェック」などを自動化できれば、レビューはもっと意味のある箇所に集中できます。 今後はさらに複雑なバリデーションも追加していきますし、作成したルールは引き続き公開していきます。FedRAMP の GitHub リポジトリ(Automation や OSCAL テンプレート、ガイド、MVP 的なコンバージョンツールなど)で参照できますので、ぜひ活用してください。私たちはアプリ開発の専門集団ではありませんが、とりあえず便利な簡易ツールをいくつか用意しました。

次のスライドをお願いします。

プレゼンは以上となります。ここからは質疑応答に移りますが、もし本セッションで扱えない質問があれば、oscal@fedramp.gov または info@fedramp.gov にメールでお問い合わせください。

このブログを購読する

最新の記事をメールでお届けします!

購読する