サービス概要

Serverless Assessment

本サービスはサーバレスアーキテクチャー、マイクロサービスで中心となるAPIをはじめ、コードが実行されるバックエンド環境 (AWS LambdaやAzure Functions)やデータ保存に利用されるNoSQLやクラウドストレージとの連携を含めてセキュリティ検査を実施いたします。

サービス化の背景

近年、AWSやAzure上で多くの機能が提供され、APIをベースとしたマイクロサービス・サーバレスアーキテクチャー環境でアプリケーションが構築される機会が多くなってきております。技術環境が異なるとセキュリティ検査の手法もその環境に合わせていかなくてはその環境に潜む脆弱性を検出できません。またAPIやサーバレスに潜む多くの脆弱性は認証・認可に関わるプログラム制御の欠陥から発生しているものが多く、単純に不正なパケットを送信する脆弱性スキャナーだけでは検出に限界があります。

本サービスの特徴

本サービスはOWASP API Security Top 10OWASP Serverless Top 10の観点から診断を行います。また採用しているアーキテクチャーの構成環境を理解し、セキュリティ設定上の問題だけでなく、サイト機能を理解しながらビジネスロジックの欠陥を検出できるようにクラウドとセキュリティに深い知見がある専門家が検査を行います。

 


サービス費用

本サービスでは基本料金と追加料金から構成されます。診断対象が5箇所以下の場合、基本料金で実施が可能ですが、6箇所以上から追加料金が発生します。診断対象は診断の要件に応じてAPIとLambda,S3などクラウドリソースの2種類をご用意しております。クラウドリソースは各クラウドサービスプロバイダが提供している機能を指し現在、AWSとAzure環境が対応可能です。

基本料金 600,000円
標準診断ボリューム APIエンドポイントまたはクラウドリソース(5箇所まで)
追加料金 30,000円(1箇所)
診断日数 7日〜
  • 検査はリモートから実施いたします。
  • 万が一に備え、診断前には、バックアップをお願い致します。
  • 検査はステージング環境など本番環境に影響を与えない環境で実施することを推奨します。

 


オプションサービス

本サービスは価格やサービスの内容を明確にお伝えするため、なるべくパッケージ化できるように構成しております。しかし、システムの環境によってはお客様のニーズにお答えするため、オプションサービスでカバーすることが必要になります。リソースやスケジュールなどを調整が可能な範囲であれば、メニューにないオプションも追加することもできますのでお気軽にお問い合わせください。

報告書の説明会

作成した報告書に対してセキュリティの専門家が訪問またはWebEx, Zoomなどによるリモートサイトからのミーティングで報告書の内容を解説をさせていただきます。報告書の内容について理解を深めたい、第三者から関係部署のメンバーへ報告したい場合にご利用ください。

脆弱性に対するコンサルティング

今後どのように脆弱性を修正して行けば良いのか、またどのように設計を見直せば良いのか、弊社の専門家が貴社のビジネスやシステム環境を理解して、ご支援いたします。コンサルティングの範囲、ご要望に合わせて別途お見積もりいたします。

脆弱性箇所の再検査

脆弱性診断結果で脆弱性として判定された箇所を再検査いたします。プログラムを改修後に脆弱性が検出されるか確認することを目的とします。 報告書提出から2ヶ月以内の検査に限ります。 1件あたり30,000円で手動診断を実施します。

 


診断の流れ

本サービスの基本的な診断の流れについて説明いたします。弊社ではお客様のシステムが安全に公開できるために全力でご支援させていただきます。そのため改修に時間がかかることも想定できますので、修正すべき脆弱性が発見された場合は、報告書前にご連絡させていただきます。

診断対象の確認
事前にヒアリングシートで対象のAPIのURIや機能概要・リクエストの送信方法や認証に関わる箇所について確認させていただきます。クラウドリソースの診断を対象にする場合、簡単な構成図でリソース間の連携方法の確認が必要になります。
診断対象へのアクセス確認
診断で利用するIPアドレスをご連絡いたします。セキュリティ制限をかけている場合、診断IPアドレスから到達できるように許可していただきます。APIへアクセスできることを確認するため、ヒアリングシートでいただいた内容に基づいてアクセスし、アプリケーションからのレスポンスを確認します。
API・サーバレス診断
OWASP API Security Top10やOWASP Serverless Top 10の観点からAPIやサーバレスファンクションに対してセキュリティ診断を実施いたします。診断途中でクリティカルな脆弱性を発見した場合は報告書の提出の前にご報告させていただきます。
クラウドのテナントセキュリティレビュー(オプション)
CIS AWS Foundations Benchmarksに基づいてAWSテナント内のセキュリティレビューを実施いたします。(AWSを利用していて希望する場合)
クラウドリソースのセキュリティレビュー
クラウドリソースのセキュリティ設定を確認します。過度な権限の設定や公開すべきでないコンテンツが参照可能な状態で保存されているかなど検査します。
専門家による報告書作成
セキュリティ検査の結果を精査し、リスク判定を行い、脆弱性の解説、対策案を含めた形でレポートを作成します。

 


OWASP Serverless Top 10

本サービスではOWASP Serverless Top 10で挙げられているリスクに対して、適切に対策が取られているか検査します。

項目 概要
A1:2017
Injection
サーバーレスファンクションは、API呼び出しに加えて、クラウドストレージイベント(S3、Blobおよびその他のクラウドストレージ)、ストリームデータ処理(例:AWS Kinesis)、データベースの変更(例:DynamoDB、CosmosDB)、コード変更(例:AWS CodeCommit)通知(例:SMS、メール、IoT)から発生するイベントで起動されます。そのため、サーバーレスファンクションが起動されるイベント元の送信されるデータが攻撃者によって操作可能であれば不正なデータを送信でき、情報漏洩や改ざんなど想定外の結果を引き起こします。
A2:2017
Broken Authentication
従来のアーキテクチャとは異なり、サーバーレスファンクションはステートレスなコンテナーで実行されます。サーバーによって管理される大きなフローは1つではなく、マイクロサービスのように様々なサーバレスファンクションやクラウドリソースが連携して動作するため、ファンクション間で信頼された前提で連携します。攻撃者が想定外のパスから直接ファンクションにアクセスすることで信頼が崩れ、認証なしである機能を実行できてしまいます。
A3:2017
Sensitive Data Exposure
キーの盗用、中間者(MitM)の実行や保存中の読み取り可能なデータの盗用は、従来のアーキテクチャで使用される手法と同様にサーバーレスアプリケーションにも適用されます。また攻撃者はサーバーだけでなくクラウドストレージ(例:S3、Blob)とデータベーステーブル(DynamoDB、CosmosDBなど)なども考えられます。また、関数が実行される環境は、/ tmpディレクトリーから以前の実行からの一時ファイルを探すことができ、そのファイルから機密情報を検出することができる可能性もあります。キーなどが漏えいした場合は、アカウントで認証されていない不正なアクションにつながる可能性があります。
A4:2017
XML External Entities (XXE)
XXEでコマンドの実行が成功すると、機密データが抽出され可能性があります。従来のアーキテクチャーと同様に不正なペイロードを含んだXMLファイルが読み込まれることで想定外のデータ動作を引き起こします。インジェクション攻撃と同様に他のリソースと連携してXMLファイルが読み込まれている場合、他のリソースから不正なデータを含めて送信できる場合、攻撃が成功する可能性があります。
A5:2017
Broken Access Control
サーバーレスアプリケーションは、複数のマイクロサービスで構成され、さまざまな機能、リソース、サービスでシステムロジックを作成されます。サーバーレスのようにステートレスな環境では、リソースごとに慎重なアクセス制御構成が必要です。攻撃者は、権限内のリソースへの不正アクセスを取得するために、A2:2017 Broken Authenticationと同じ様に個別のリソースや機能に直接アクセスすることで権限を昇格を試みます。
A6:2017
Security Misconfiguration
リソースのセキュリティ設定が適切になされていない場合、設定保護されていないファイルとディレクトリは公開される可能性があります。攻撃者は、誤って長いタイムアウトまたは短いタイムアウトで設定された機能を特定し、サービス拒否(DoS)が可能な状態になる可能性のあるファンクションを探し出します。またコードやサーバレス環境内のキーやトークンなどが適切に保護されていない場合、最終的に機密データの漏洩につながる可能性があります。
A7:2017
Cross-Site Scripting (XSS)
XSS攻撃は通常、データベースに保存された不正な文字列やWebフォームなどから入力された不正な値がそのまま反映されたりします。サーバーレスの環境はそれに加え、メール、クラウドストレージ、ログ、IoTなどのさまざまなソースから不正なデータが送信されXSSを引き起こすケースも考えられます。
A8:2017
Insecure Deserialization
サーバーレスの環境でも従来のアーキテクチャーと同様にJSONでPythonやNodeJSなどの動的言語と一緒に、シリアル化されたデータ型を送信し、逆シリアル化攻撃が成功する可能性があります。シリアル化されたコードが実行されることで、情報漏洩や改ざんにつながる可能性があります。
A9:2017
Using Components with Known Vulnerabilities
サーバーレスファンクションはシステムサービスを構成するマイクロサービス内の1ステップとして使用される場合がございます。目的のタスクを実行できるようにするには、多くの機能をまとめたライブラリー、また外部から提供されるサードパーティのライブラリを利用しています。サプライチェーンによってもたらされる脆弱性は最近の最も一般的なリスクの1つであり、攻撃者は脆弱なライブラリを利用するコードを標的にしています。
A10:2017
Insufficient Logging and Monitoring
サーバーレス環境におけるログ出力や監査は、コード内に監査機能を設けたり、クラウドサービスが提供する監査機能を有効にすることが必要になります。十分なログ・イベントの出力や監視がされていない環境下においては不正なアクセスを検出することができず、被害を拡大させる可能性があります。

 


OWASP API Security Top 10

本サービスではOWASP API Security Top 10で挙げられているリスクに対して、適切に対策が取られているか検査します。

項目 概要
API1:2019
Broken Object Level Authorization
APIs tend to expose endpoints that handle object identifiers, creating a wide attack surface Level Access Control issue. Object level authorization checks should be considered in every function that accesses a data source using an input from the user.
APIは、オブジェクトIDを処理するエンドポイントを公開する傾向があり、攻撃面の広いレベルのアクセス制御の問題を引き起こします。 オブジェクトレベルの権限チェックは、ユーザーからの入力を使用してデータソースにアクセスするすべての関数で検討する必要があります。
API2:2019
Broken User Authentication
Authentication mechanisms are often implemented incorrectly, allowing attackers to compromise authentication tokens or to exploit implementation flaws to assume other user's identities temporarily or permanently. Compromising system's ability to identify the client/user, compromises API security overall.
多くの場合、認証メカニズムは正しく実装されていないため、攻撃者は認証トークンを危険にさらしたり、実装の欠陥を悪用して一時的または永続的に他のユーザーのIDを装ったりすることができます。 クライアント/ユーザーを識別するシステムの機能を危険にさらし、APIセキュリティ全体を危険にさらします。
API3:2019
Excessive Data Exposure
Looking forward to generic implementations, developers tend to expose all object properties without considering their individual sensitivity, relying on clients to perform the data filtering before displaying it to the user.
一般的な実装を楽しみにして、開発者は個々の機密性を考慮せずにすべてのオブジェクトプロパティを公開する傾向があり、ユーザーに表示する前にクライアントがデータフィルタリングを実行することに依存しています。
API4:2019
Lack of Resources & Rate Limiting
Quite often, APIs do not impose any restrictions on the size or number of resources that can be requested by the client/user. Not only can this impact the API server performance, leading to Denial of Service (DoS), but also leaves the door open to authentication flaws such as brute force.
多くの場合、APIはクライアント/ユーザーが要求できるリソースのサイズや数に制限を課しません。 これはAPIサーバーのパフォーマンスに影響を及ぼし、サービス拒否(DoS)を引き起こすだけでなく、ブルートフォースなどの認証の欠陥に扉を開いたままにします。
API5:2019
Broken Function Level Authorization
Complex access control policies with different hierarchies, groups, and roles, and an unclear separation between administrative and regular functions, tend to lead to authorization flaws. By exploiting these issues, attackers gain access to other users’ resources and/or administrative functions.
階層、グループ、役割が異なり、管理機能と通常の機能が明確に区別されていない複雑なアクセス制御ポリシーは、承認の欠陥につながる傾向があります。 これらの問題を悪用することにより、攻撃者は他のユーザーのリソースや管理機能にアクセスできます。
API6:2019
Mass Assignment
Binding client provided data (e.g., JSON) to data models, without proper properties filtering based on a whitelist, usually lead to Mass Assignment. Either guessing objects properties, exploring other API endpoints, reading the documentation, or providing additional object properties in request payloads, allows attackers to modify object properties they are not supposed to.
クライアントが提供するデータ(JSONなど)をデータモデルにバインドしますが、ホワイトリストに基づいて適切なプロパティフィルタリングを行わないと、通常、大量割り当てにつながります。 攻撃者は、オブジェクトプロパティの推測、他のAPIエンドポイントの探索、ドキュメントの読み取り、またはリクエストペイロードでの追加オブジェクトプロパティの提供により、想定されていないオブジェクトプロパティを変更できます。
API7:2019
Security Misconfiguration
Security misconfiguration is commonly a result of unsecure default configurations, incomplete or ad-hoc configurations, open cloud storage, misconfigured HTTP headers, unnecessary HTTP methods, permissive Cross-Origin resource sharing (CORS), and verbose error messages containing sensitive information.
通常、セキュリティの構成ミスは、安全でないデフォルト構成、不完全またはアドホック構成、オープンクラウドストレージ、HTTPヘッダーの構成ミス、不必要なHTTPメソッド、寛容なクロスオリジンリソースシェアリング(CORS)、および機密情報を含む詳細なエラーメッセージの結果です。
API8:2019
Injection
Injection flaws, such as SQL, NoSQL, Command Injection, etc., occur when untrusted data is sent to an interpreter as part of a command or query. The attacker's malicious data can trick the interpreter into executing unintended commands or accessing data without proper authorization.
信頼できないデータがコマンドまたはクエリの一部としてインタープリターに送信されると、SQL、NoSQL、コマンドインジェクションなどのインジェクションの欠陥が発生します。 攻撃者の悪意のあるデータは、インタプリタを騙して意図しないコマンドを実行させたり、適切な許可なしにデータにアクセスさせたりする可能性があります。
API9:2019
Improper Assets Management
APIs tend to expose more endpoints than traditional web applications, making proper and updated documentation highly important. Proper hosts and deployed API versions inventory also play an important role to mitigate issues such as deprecated API versions and exposed debug endpoints.
APIは、従来のWebアプリケーションよりも多くのエンドポイントを公開する傾向があるため、適切で更新されたドキュメントが非常に重要になります。 適切なホストとデプロイされたAPIバージョンのインベントリも、廃止されたAPIバージョンや公開されたデバッグエンドポイントなどの問題を軽減するために重要な役割を果たします。
API10:2019
Insufficient Logging & Monitoring
Insufficient logging and monitoring, coupled with missing or ineffective integration with incident response, allows attackers to further attack systems, maintain persistence, pivot to more systems to tamper with, extract, or destroy data. Most breach studies demonstrate the time to detect a breach is over 200 days, typically detected by external parties rather than internal processes or monitoring.
不十分なロギングとモニタリング、およびインシデントレスポンスの欠落または無効な統合と相まって、攻撃者はシステムをさらに攻撃し、永続性を維持し、より多くのシステムにピボットしてデータを改ざん、抽出、または破壊することができます。 ほとんどの違反調査は、違反を検出するまでの時間が200日を超えていることを示しています。これは通常、内部プロセスや監視ではなく、外部の当事者によって検出されます。

 


サービスフロー

サービス申込から脆弱性診断レポートの提出までの流れを記載させていただきます。サービスの詳細について解説が必要な場合はお気軽にお問い合わせください。

  • お申込み

    Webページよりお申込みいただけます。

  •  
  • お見積り

    ヒアリングを基にお見積りいたします。

  •  
  • 契約

    合意したサービス内容・金額を基に契約を締結いたします。

  •  
  • 事前調整

    システム環境・当日担当者の連絡先などを確認します。

  •  
  • 診断実施

    脆弱性診断を実施いたします。

  •  
  • 報告書

    作業完了後報告書を制作いたします。

  •  
  • 報告会(オプション)

    報告会を開催。脆弱性診断の結果を解説いたします。

  •  
  • 成果物納品

    報告書を送付。成果物の納品とさせていただきます。

  •  

 

 


関連リンク