Webinar解説「APIに求められるセキュリティ基盤とその実装方法」

安田 良明 解説:
ISC2認定主任講師/株式会社ラック 安田 良明 氏
CISSP, SSSP

Webinar開催日:2020年2月5日
スピーカー: 伊藤 悠紀夫 CISSP, ソリューションアーキテクト; F5 ネットワークスジャパン合同会社.

Webinar視聴のご視聴はこちら

みなさん、こんにちは。ISC2認定講師の安田 良明です。3月に入ってから、COVID-19の対応により仕事やプライベートのリズムがかみ合わない方も多いと思いますが、僕はこのような事態だからこそ、人命優先の行動を行い、「社会、一般大衆の福利、およびインフラを保護する活動を支えている皆様に感謝」をしながら、専門知識を高める日々を過ごしています。

今回は、2020年として第1回目に配信されたISC2日本語Webinarの解説を行います。第14回目のWebinarでは、「APIに求められるセキュリティ基盤とその実装方法」について、そもそもAPI(Application Programming Interface)が提供しているサービスとは何か、APIが実社会でどのように普及・実装されているのか、APIへの攻撃動向はどのように変化しているのか等について解説がされており、API環境に適用させることができるセキュリティ基盤の考え方と実装方法について理解することができました。また、APIのセキュリティ基盤に関する知識と技術に加え、経営陣や実務者に対して必要となるガバナンスやセキュリティの運用に関する考え方を身に着けることができました。

APIというキーワードからソフトウェア開発セキュリティに関する知識が中心のwebinarと思って視聴しましたが、APIに求められるセキュリティ基盤を適切に実装することで経営課題を解決することや、CapEx(設備投資)からOpEx(運用コスト)へシフトした費用対効果に優れたアプリケーション環境を実現できることがわかりました。経営陣がクラウドファーストストラテジーに向かう企業戦略の1つとして、APIに関する知識と技術に加えAPIに関連したセキュリティ基盤の理解が必要不可欠であるということを痛感することができた有意義なwebinarでした。

それでは、2020年2月5日に行われた「F5 ネットワークスジャパン合同会社」様のWebinar「APIに求められるセキュリティ基盤とその実装方法」について、「情報セキュリティとリスクマネジメント」のCISSP的な考え方にリンクさせながら解説を行ってみたいと思います。

今回選んだ「情報セキュリティとリスクマネジメント」のドメインはCISSPの8ドメインの中ですべてのドメインの基礎となる共通知識が扱われており、CISSPとして組織の内部、外部およびサプライチェーン含めて期待されている情報セキュリティの活動を定義するために必要な共通知識を包括的に理解することができます。特に情報セキュリティの活動を定義するためにCISSPの考え方としては、組織のすべての業務特性と情報資産を把握し、どの事業領域に対してどのような情報システム環境で業務が遂行されているかを経営陣に理解させ、現状の課題と将来のあるべき姿を経営陣に把握させる仕組みづくりが必要になります。業務で使用されている情報システム環境は各組織が遂行する業務要件に応じてカスタマイズされて実装されているため、各組織独自のアーキテクチャで実装されています。そのため、組織特有の脅威や脆弱性に対応したリスクマネジメントを行い、経営陣による費用対効果に優れたリスク受容の決断が要求されます。また、リスクマネジメントに加えて、サプライチェーンを含めた事業継続、SLAに関するマネジメントも必要となるため、経営陣が最終決定した測定可能なしきい値(最大許容停止時間やサービスレベル)に対応した情報システム環境をCISSPは設計し、セキュリティの運用を含めた環境を実装する必要があります。もちろん、事業領域の競争原理の変化や操業地域における法・規制に対応することも理解しておく必要があります。

これらの考え方を誤ってしまうと経営陣はビジネスにおける競争力の低下、不必要な情報セキュリティの活動による生産性およびサービス品質の低下や動的リスクに対応できない組織環境を構築してしまう可能性があります。

それでは、CISSPに要求される共通知識を踏まえて、「APIに求められるセキュリティ基盤とその実装方法」について解説したいと思います。

初めに、Webinar冒頭部で伊藤様が、APIが提供するサービスについて身近な事例を紹介しています。最近私たちの生活ではモバイルアプリを使用したキャッスレス決済が普及し宅配サービスや配車サービスとの連携など生活しやすい環境をサポートしてくれるアプリを日常的に使うようになってきました。この仕組みを伊藤様が金融アプリでわかりやすく解説をしていましたが、僕たちは使い勝手がよいアプリで、自分にとってメリットがある仕組みだからこそキャッシュレス決済や宅配サービスのアプリを使用する選択をしているわけです。もし、アプリが使いにくかったら、それこそキャッシュレス決済を行う際、サービス提供者側としては、不正アクセスを防ぎたいために、ユーザーがアプリを起動し毎回毎回本人確認や銀行口座・クレジットカードへのアクセス照会等に必要な資格情報を要求したいところですが、ユーザーにとっては、毎回長い複雑なパスワードやPINの入力要求があったら、アプリは普及しなかったと思います。

同様に宅配サービスを行う際、注文するユーザーはアプリで簡単にお店に注文ができ、いつ頃届くのかも確認ができますが、お店側や宅配業者の間で複雑なやり取りをしていたのでは、スムーズに注文、配送、集金等ができず、結局ビジネスとして成立しなかったかもしれません。

このようなユーザーとサービス提供者間とのやりとりは、今は当たり前のようにモバイルアプリやAPIの連携技術により実現ができていますが、それはアプリケーション実装の方式が特定の業務を実現するためのアプリケーション開発方式(モノリシック)ではなく単一のサービスを開発しそれらを連携することで特定のサービスを実現するアプリケーション開発方式(マイクロサービス)に変化していくことで実現されました。このマイクロサービスと呼ばれるアプリケーション開発では、単一の小さなサービス単位でAPIを開発し、開発されたAPI同士がHTTPで連携することで、何らかのサービスが実現されます。そのため、CISSPには、APIが動作する仕組みの理解について、共通知識として要求されております。

Webinarでは伊藤様の事例紹介としてUberプラットフォームの配車サービスが解説されておりますが、Uberの配車サービスでは、お客様管理、ドライバー管理、ルート管理、決済、請求等を機能毎に個別開発し、開発されたAPIをHTTPで連携することで配車サービスを実現しています。参考情報として、以前のUberプラットフォームはモノリシックによるアプリケーション実装方法であり、マイクロサービスに対応はしていなかったのですが、Amazon, Netflix, SoundCloud, Twitter等急激に成長する企業を目の当たりにし、モノリシックからの脱却を決意したそうです。ご興味がある方はどのようにUberプラットフォームがモノリシックから脱却していったのか引用元URLを巻末に※1として記載します(Uber Engineering Blog)。

このようにマイクロサービスによるアプリケーション実装方式により、様々なAPIが連携することで私たちの暮らしを豊かにするサービスの提供が実現されています。また、開発されたAPIは組織の垣根を越えて世界中で連携されることが可能なため、私たちの社会生活を豊かにするサービスが次々と世界中でリリースされていきます。マイクロサービスによるメリットの1つとして、モノリシックとは違い従来のようなベンダーロックインがないことやコードの連携やテストがしやすいこともあり、より良いAPIが市場に公開されれば組織は新しいAPIを迅速に連携させることで、新しいビジネスの提供やさらなる付加価値をお客様に提供することが実現できます。

世の中がマイクロサービスに対応したアプリケーション実装にシフトしていく中で、CISSPとしては、組織の競争力を確保するため、経営陣に対して自組織のソフトウェア環境をAPI環境にシフトしていくことを提案していかなければ、特定の業種においてはビジネスの競争力を失ってしまい組織の存続の危機に迫られてしまうかもしれません。また、成長が見込まれない業務については売却や撤退を迅速に行わなければ損失が増大する可能性があるため、速やかに業務環境を手放す仕組みとしてもマイクロサービスに対応したアプリケーション実装を経営陣に理解させる必要があります。

さらにCISSPは、マイクロサービスに対応していくことで柔軟にAPIを連携できる環境を手に入れるだけではなく、どのAPIがどのように連携するかどうかを含めマネジメントをする必要があります。これは、APIの使用方法によっては個人情報の漏えい、不要なトラフィックの発生によるサービス停止やSLA違反等のリスクを発生させる可能性があるため、APIに対するセキュリティポリシーを決めてサプライチェーンAPI含めガバナンスを確保する必要があります。

Webinar解説に戻りますが、それでは、具体的、現実的にAPIに求められるセキュリティ基盤とはどのようなものなのでしょうか。伊藤様のWebinarではAPI Gatewayの実装により、認証、リクエストルーティング、帯域制御等が実現可能となり、セキュリティの運用が実現可能ということが理解できます。特に必要となる基本要件として、具体的に8つの機能要件が紹介されていますが、CISSPの共通知識として関連して理解しておく必要があるのは、APIをインターネット上に公開してしまえば、世界中から様々なリクエストを受けつけてしまうため、APIに対する不要なリクエストはすべて廃棄しなければならないということです。

特に第10回目の伊藤様のWebinarで学ぶことができた「悪いボットのトラフィック」は組織にとって大量な無駄なトラフィックのため、CISSPとしては、経営課題の1つとして積極的に費用対効果を分析し管理策の実装について取り組む必要があります。その理由の1つ目としてはDDoS等大量のトラフィックによるサービス停止等SLA違反に関するリスクへの取り組みです。2つ目は、不要なトラフィックによりクラウドサービスのネットワーク帯域を無駄に消費されてしまうことで、クラウドサービスの課金に悪影響がある可能性があります。課金への悪影響はネットワーク使用料にとどまらずトラフィックを処理するということは、CPU、メモリ、ストレージ等あらゆるインフラへ悪影響を及ぼす可能性があるため、API Gatewayにより経営資源を保護することが可能になります。

他のAPI Gatewayの機能要件として、帯域制御やTLS/SSLオフロードが紹介されておりますが、API Gateway をクラウド上で実装することで、暗号トラフィック処理やSSLインスペクションに対するパフォーマンス低下へはNFV(Network Functions Virtualization)によるスケールアウトで柔軟に対応することが可能になります。そして、アカウンタビリティという視点では、SSLインスペクションを実装することでセキュアなネットワークインフラを確保しつつ、平文ベースのロギングが可能になるため、セキュリティオペレーションセンターにおけるイベント処理のパフォーマンスが向上します。

CISSPはネットワーク環境についてもガバナンスを確保することが要求されているため、クラウドファーストストラテジーの取り組みの一環として経営陣にAPI Gatewayの採用についても提言してみるとよいかと思います。

API Gatewayによりインフラ向けのセキュリティ運用ができることが理解できましたが、伊藤様はAPI Management についても紹介されています。API Managementでは、万が一大量なトラフィックが発生してしまった場合、予めポリシーで決めておいたAPIグループに対して帯域を優先的に割り当てることができるため、事業継続で必要となるAPIグループについては、十分な処理性能を確保することができると解説があります。また、API Managementにより、APIの使用状況の把握ができるため経営陣を含め、どのAPIの使用頻度が高いかを客観的に把握することができるため、これから開発をしなければならないAPI動向や優先的にリソースを割り当てるAPIについても消費者動向やサービス提供者ニーズを的確にくみ取りながら意思決定をすることが可能となります。

CISSPの共通知識として、経営陣にガバナンスの仕組みを確立することを要求する必要がありますが、マイクロサービスに対応した組織においては、現実的に業務と情報システムに関するガバナンスの仕組みづくりを行うためには、API Gateway とAPI Managementの実装をすることで、APIの一元管理やAPIの状況を把握する仕組みを確立することができることがわかりました。マイクロサービスに対応した実装方式は複数存在し、今もなお新しい考え方が考案されているかと思いますので、引き続きAPIプラットフォームについては注目していきたいと思います。

最後になりますが、Webinar解説で紹介されたAPI Gatewayですが、ISC2の共通知識としてはリファレンスモニターとして取り扱われております。リファレンスモニターとは、サブジェクト(ユーザーや業務プログラム等)からオブジェクト(データやプログラム等)に対するアクセスを仲介しセキュリティポリシーで検証し、許可されていればアクセスをさせ、許可されていなければ拒否をし、それら一連の結果をすべてロギングする仕組みです。通常は認証サーバーやファイアウォールに提供される仕組みですが、APIについてもリファレンスモニターの共通知識を採用することができます。

APIについては、どのAPIが連携しているかを管理しておかなければ不正なAPIの使用があるかもしれませんし、APIは内部のエンジニアも使用することができるため、APIによる内部不正が発生する可能性も脅威分析をしておく必要があります。

また、APIについては、通常のアプリケーションと同様、OSが積極的にロギングの仕組みを提供していないため、CISSPとしては、アプリケーションエンジニアやクラウドサービスプロバイダーのサービスと協調しロギングの仕組みを実装する必要があります。特にアプリケーションログについては、アプリケーションのパフォーマンスに悪影響があるため、簡易ログや必要に応じてデバッグログが確認できればよいと考えてしまうかもしれませんが、APIのロギングを通じてAPIの利用状況を可視化し経営陣が把握することができれば、費用対効果に優れた組織のアプリケーション開発が実現できると思います。

いかがでしたでしょうか。今回は、「F5 ネットワークスジャパン合同会社」様のWebinar「APIに求められるセキュリティ基盤とその実装方法」をCISSPの共通知識分野に紐付けて考えてみました。Webinarでは、より詳細に API Gateway と API Management に関する説明がありましたので是非、Webinarを視聴してみてください。また、API Gateway については、Nginx のWebサイトをご確認ください※2。

最後に、ISC2が提供するWebinarは、ISC2メンバーまたはそれ以外の方、どなたでも視聴することができますので、是非、みなさんの組織で有効活用していただきたいと思います。Webinarはオンライン視聴だけではなく、Webinarの講演資料やスポンサー様が公開しているホワイトペーパー等をオフラインで確認することもできますので、お時間があるときにWebinarのトピックをISC2 CBK(共通知識分野)に紐付けて読み解いていくことが可能です。また、ISC2メンバーでない方は、Webinarを通じて、グローバルスタンダードにおけるCBK(共通知識分野)に触れていただければと思います。さらに、興味がわきましたら、CISSPチャレンジセミナー、CCSPチャレンジセミナーにお越しいただけると嬉しいです。

※1 Service-Oriented Architecture: Scaling the Uber Engineering Codebase As We Grow

※2 APIゲートウェイ – NGINX エンジンエックス