要約 - Orca SideScanning Technical Brief

SideScanningとは[Orca Security](https://orca.security/)が特許を取得したAgentlessのクラウドセキュリティ対策の手法です。この記事では[こちら](https://orca.security/wp-content/uploads/Orca_Security_Technical_Brief_Jul_2021.pdf)で公開しているWhite Paperの要約です。

# レガシーはクラウドでは意味を成さない！
クラウドの特性の1つに"Speed & Agility"があります。ユーザの要望に応じてVMやContainer等のワークロードを起動したり停止したりして、ユーザの要望に柔軟かつ迅速に対応するやり方です。この条件下で従来型のセキュリティ対策では限界が見えてきました。代表的なソリューションを掘り下げてみます。

### Cloud Workload Protection Platform
Cloud Workload Protection Platform(以下CWPP)は元来オンプレミスの物理ホストを保護する目的で誕生したソリューションで、個々の物理ホストに専用のAgentを導入して管理していました。オンプレミスにような硬直化した環境であれば個々の物理ホストにAgentを導入したり管理することは容易ですが、"Speed & Agility"なクラウド環境では個々のワークロードに毎回Agentを導入したり管理することは至難の業です。

### Cloud Security Posture Management
多くの企業がクラウドファーストを実践するようになり企業資産がクラウドで管理されるようになりました。AWSをはじめ各Cloud Service Provider(以下CSP)はクラウド環境のセキュリティ対策を健全に管理すべきだと考え、Cloud Security Posture Management(以下CSPM)と呼ばれるソリューションを提供しはじめてクラウド環境の設定状況やIAMロールの払い出し状況を可視化できるようになりました。しかしながらCSPMがカバーできるのはクラウド環境そのもので、上位レイヤのData/Applicationは範囲外であることがほとんどです。クラウドセキュリティの大原則となっている"Shared Security Responsibility Model"とはこのことですね。Dataにまつわるセキュリティ対策はお客様の責任です。
<img src="https://i.imgur.com/M9XzcCV.jpg" width="70%">

# SideScanningによるアプローチ
SideScanningによるアプローチは大まかに2つのデータソースからクラウドのリスクを分析します。
- クラウド環境のMetadata
- ブロックストレージのスナップショット

脅威LogやPolicyやVPC/Subnet、IAM RoleやSecurity Group等のクラウド環境のMetadaはAPI経由で取得できます。これは各CSPに共通しています。クラウド環境でどんなワークロード(例/VM, Container)が稼働していてどんなソフトウェアパッケージ(例/Java, PHP, Nodejs, Rust)が導入されていて、どんなコードやMalwareが稼働していてどんな脆弱性を持っているかの情報は、全てバックエンドのブロックストレージ上に置かれるかと思います。これも各CSPに共通していますね。SideScanningはこのブロックストレージのスナップショットを取得して専用のVMにマウント、事前に収集したMetadataから作成したお客様のクラウド環境の疑似環境と合わせて分析してします。複製したクラウド環境の疑似環境をスキャンするため、お客様の本番のクラウド環境やソフトウェア開発のプロセスには一切影響を与えることはありません。医療のMRIと同じ発想で、患者様の頭から足先まで全部スキャンして健康状態を根こそぎ収集します。
<img src="https://i.imgur.com/pGa16hT.jpg" width="70%">

# どのようにやるのか？
お客様のクラウド環境とOrca Securityを接続すると、自動的にスキャンニングが始まりスキャンニングが完了するとOrca Securityのデータストアに、お客様のクラウド環境にどんな資産が保管されいて、環境にどんな脆弱性があって、どんな攻撃の的になり得て、どんなリスクがあるかの詳細な情報がストアされます。接続手順は至って簡単でわずか数回のクリックとコピーペーストで完了します。以下はAWSの手順です。
1. スキャン対象のAWSアカウントでAWS ConsoleにLogin
1. Orca SecurityのConsoleにLogin
1. Connect Account -> AWSから"CLOUDFORMATION TEMPLATE"をクリック
1. AWS ConsoleでCFのStack作成の画面に遷移 - Create Stackをクリック
1. AWS IAM Role/Policyが作成される - ARNをコピー
1. Orca SecurityのConsoleでARNをペースト、Connectをクリック
<img src="https://i.imgur.com/Xqh2PS7.png" width="70%">

### ブロックストレージのスナップショット
接続が完了すると裏でお客様のスキャン対象のクラウド環境のブロックストレージのスナップショットが作成され、スナップショットはEphemeral Scannerと呼ばれる一時的に存在するEC2インスタンスにマウントされスキャンされます。Ephemeral Scannerやスナップショットはスキャンニングが目的のため、スキャンニングが完了すると削除されます。お客様が負担するストレージスペースのコストは最小化されますね。更にEphemeral Scannerはお客様のスキャン対象の資産と同一のリージョンに配備されるためスナップショットの転送コストは発生しません。スキャンの結果、お客様のクラウド環境から機密情報(例/個人情報、シークレット)が発見された場合、Orca Securityはデータストアに保管する前にそれらの情報をマスクして保管するためお客様の機密情報は一切保管されません。
<img src="https://i.imgur.com/BsUrAGb.png" width="70%">

### 資産の検出と抽出
Orca Securityが検出して抽出できるクラウド環境上の資産の一覧です。
- Virtual machines
- Containers
- Kubernetes
- Serverless functions
- Cloud storage
- Databases
- VPCs
- Cryptographic keys
- Secrets
- Images
- Managed Services
- Load balancers
- Network delivery
- Security groups
- Users
- Roles
- Policies

Agentを使わずにクラウド環境の資産を根こそぎ取ってくるため幅広いカテゴリの資産を検出して抽出します。これらの資産情報と事前にAPI経由で取得しているクラウド環境のMetadataから複製したお客様のクラウド環境の疑似環境を分析して、脆弱性やリスク、攻撃社から見た資産搾取の経路を可視化してお客様にお示しします。
<img src="https://i.imgur.com/x33CNbG.png" width="70%">

### Unified Data Model
Orca Securityはクラウド環境のMetadata, ブロックストレージのスナップショットの他に、複数のデータソースからクラウドのリスクを検出し・分析するため、前後の分析を理解したより精度の高いリスク分析が可能です。以下、主なデータソースの一覧です。
- ブロックストレージのスナップショット
- クラウド環境のMetadata
- CI/CDのスキャンログ
- IDaaSが持っている認証・認可の情報
- CSPが持っているイベントや監査ログ
- ネットワークプルービング
<img src="https://i.imgur.com/JBaxPlM.png" width="70%">

### Data Planeの分析
スナップショットから根こそぎ取ったデータを元に分析される代表的なリスクの1つに脆弱性があります。Orca Securityは複数の代表的な脆弱性データソースから常に最新の脆弱性情報を管理しています。以下は代表的な脆弱性データソースです。
- National Vulnerability Database
- US-CERT
- OVAL – Red Hat, Oracle Linux, Debian, Ubuntu, SUSE
- Japan Vulnerability Notes
- Alpine secdb
- Amazon ALAS
- Red Hat Security Advisories
- Debian Security Bug Tracker
- Exploit Database
- JPCERT
- WPVulnDB
- Node.js Security Working Group
- Ruby Advisory Database
- PHP Security Advisories Database
- RustSec Advisory Database
- Microsoft MSRC, KB
- Kubernetes security announcements
- Drupal security advisories
<br>

コンプライアンス対策もクラウドセキュリティの重要な要素の1つです。Orca Securityは65を超えるフレームワーク(例/NIST SP800-53, PCIDSS, HIPAA)と連携しており、お客様のクラウド環境がこれらのフレームワークに対して違反を犯していないかどうかを恒常的にチェックすることが可能です。
<img src="https://i.imgur.com/iAQzzFq.png" width="70%">

Malware対策はクラウドセキュリティにおいて最も頭の痛い問題かもしれません。Orca Securityは従来型のSignatureだけでなくHeauristicやMLを用いたMalware検出エンジンと連携しており、既知のMalwareだけでなくPolmorphicのような派生型のMalwareも検出することが可能です。またSideScanningによるアプローチはお客様のクラウド環境に影響を与えないことも大きな利点です。従来型のMalwareエンジンはパフォーマンス劣化の問題があるかもしれませんね。
<img src="https://i.imgur.com/Hewyeh2.png" width="70%">

### Attack Path - 攻撃者の目で見た経路
ITILやCobitの時代でもてはやされていたITサービスマネジメント(以下ITSM)の世界とサイバーセキュリティの世界の最も大きな違いの１つは攻撃者の存在ですね。ITSMの世界ではサービサーとユーザの２種類のペルソナのみでしたが、サイバーセキュリティの世界ではサービサーとユーザと攻撃者がいます。しかも攻撃者は外部の悪人だけでなく内部の悪人もいます。資産を守る側は100回の攻撃を100回とも漏れなく止めることを求められることに対して、攻撃する側は、100回の攻撃のうち1回でも成功すればミッション達成になるため、攻撃する側が常に優位な立場にいます。攻撃者の目で見てお客様のクラウド環境に保管されている重要な資産にどんな経路で到達されてしまうかを事前に把握しておくことは極めて需要です。Orca Securityは検出した情報を分析して攻撃経路を可視化することが可能です。
<img src="https://i.imgur.com/IRnuTjR.png" width="70%">

### 機密データのリスク
個人情報やシークレットの保管は最も危険かつよくあるクラウドセキュリティンシデントの温床かと思います。得にDockerやk8sのようなContainerテクノロジはデフォルトで機密情報をログに記録するようになっていたりと知らないまま使っていると危険なことになります。Orca Securityはデータストレージ上に個人情報やシークレットを発見した場合はそれらを直ちに警告してセキュリティチームに対応を促します。
<img src="https://i.imgur.com/mLBm8z2.png" width="70%">

# まとめ
"Spead & Agility"なクラウドでは、従来型のAgentを用いたセキュリティ対策はもはや意味を成さないですね。2022年11月現在、Cloud Security Solutionを提供する各ソリューションベンダーがこぞってAgenlessを謳い始めたようです。これはOrca SecurityだけがAgentlessの利点を謳っているのではなく市場が求めている証拠ですね。