Definitions / Runtime Immunity
Runtime Immunity

Outcome Nullification

攻撃が成功しても、
成果を成立させない

Runtime Immunityは、攻撃の前提条件または成果を構造的に無価値化し、 検知の成否に依存しない構造ベースの保護を実現する技術体系です。

Structural Nullification
Definition

Runtime Immunityとは

Runtime Immunity とは、攻撃がシステムに到達した場合であっても、 攻撃の前提条件または成果を構造的に無価値化し、 システムを停止させることなく保護属性を維持する技術体系です。

生物学における免疫(Immunity)に着想を得ています。

人体は、ウイルスの侵入をすべて防ぐことはできません。 しかし免疫システムは、侵入したウイルスを無害化し、身体の機能を維持します。 Runtime Immunityは、同じ原理をサイバーセキュリティに適用します。 侵入を前提とし、侵入後のデータを保護する。

ただし、Runtime Immunityは生物学的免疫の比喩であり、攻撃を「排除」するのではなく、攻撃の成果を「無価値化」する点で異なります。

Runtime Immunity = 攻撃成果の構造的無価値化
Outcome Nullification by Design

Runtime Security との決定的な違い

項目 Runtime Security Runtime Immunity
目的 攻撃を検知し、制御する 攻撃成果を無価値化する
依存 検知精度に依存 検知に依存しない
0-day対応 検知不可 成果が無価値のため影響なし
前提 攻撃は止められる 攻撃は止められない
失敗時 データ流出 データは暗号化状態を維持
Core Technologies

3つの実現形態

01

攻撃対象の消失

Target Elimination

攻撃者が攻撃対象を識別・特定できない状態を実現する。 全プロセスメモリが均一に暗号化されている環境では、攻撃者は価値データの所在を特定できない。

この実現形態の中核技術が Keyless Encryption です。

暗号鍵を「保管」するのではなく、使用する瞬間にのみ動的に生成し、 使用後3ms未満で即時消去します。 メモリ上に鍵が残留しないため、メモリダンプ攻撃で鍵を抽出することが 構造的に困難になります。

Step 1

環境パラメータから
鍵を動的に導出

Step 2

暗号化/復号処理を
実行(3ms未満)

Step 3

処理完了と同時に
鍵をメモリから消去

Step 4

鍵の痕跡が
メモリ上に残らない

25+

OSSプロジェクトで検証済み

0

鍵復元成功

<3ms

鍵のメモリ残留時間

02

前提条件の除去

Precondition Removal

攻撃に必要な「道具」「条件」が構造的に存在しない状態を実現する。 暗号鍵が永続保存されず、実行時のみ物理環境から動的に導出される構造。 実装例として Keyless EncryptionEnvironment Binding がある。 鍵は、以下のような環境パラメータの組み合わせから動的に導出されます。

  • プロセスID・メモリアドレス空間
  • カーネルの状態情報
  • ハードウェア固有の値
  • 時刻ベースのエントロピー

仮に暗号化されたデータが外部に持ち出されたとしても、 元の実行環境が再現できなければ復号は不可能です。

項目 従来の鍵管理 Environment Binding
鍵の保管 HSM、KMS、ファイル 保管しない(動的導出)
鍵の盗難リスク 保管場所の侵害で流出 鍵が存在しないため盗めない
環境の移植性 鍵があれば任意の環境で復号可能 元の実行環境でのみ復号可能
漏洩時の影響 全データが復号可能 漏洩データは解読不能
03

戦利品の無価値化

Spoils Nullification

攻撃が到達・実行されても、得られた成果が利用価値を持たない状態を実現する。 メモリダンプ成功でも復号不能な暗号文のみ取得。認証情報窃取も実行環境に束縛されていて別環境では利用不可。

1

暗号化されている

平文ではない

2

鍵が存在しない

メモリ上に残留しない

3

環境に束縛されている

元の環境外では復号不可能

つまり、攻撃者が得られるのは「解読手段のない暗号文」だけです。

攻撃を止める必要はありません。
攻撃が成功しても、成果が無価値であれば、被害は成立しません。

Related Technology

Confidential Computing との違いと補完関係

Confidential Computing は、Intel SGX、AMD SEV、ARM TrustZoneなどの ハードウェア機能を利用し、実行中のメモリを隔離する技術です。 Runtime Immunityとは、「実行中のデータを保護する」という目的は共通していますが、 アプローチが異なります。

項目 Confidential Computing Runtime Immunity
実装レベル ハードウェア(CPU拡張) ソフトウェア
保護メカニズム メモリの物理的隔離 データの動的暗号化・鍵消去
ハードウェア依存 特定CPUが必要 ハードウェア非依存
適用範囲 TEE内 任意のLinuxプロセス
既知の脆弱性 サイドチャネル攻撃のリスク 環境パラメータの推測リスク

補完関係

Runtime ImmunityとConfidential Computingは競合ではなく、補完関係にあります。

  • Confidential Computing対応ハードウェアがある環境では、両者を併用することで多層防御を実現
  • Confidential Computing非対応の環境でも、Runtime Immunityは単独で動作
  • Runtime Immunityのソフトウェアベースのアプローチは、既存インフラへの導入障壁が低い
Evidence

検証結果

Case 1

Nginx TLS秘密鍵の保護

Before — 適用前

  • Nginxプロセスのメモリダンプを取得
  • OpenSSLの鍵構造体をスキャン
  • 数秒以内にTLS秘密鍵を完全復元

→ 抽出成功

After — 適用後

  • 同じ手法でメモリダンプを取得
  • 暗号鍵の痕跡がメモリ上に存在しない
  • 鍵構造体が暗号化されており解読不能

→ 抽出失敗(0件)

Case 2

Kubernetes Secrets の保護

Before — デフォルト設定

  • SecretはBase64エンコードのみ(暗号化なし)
  • etcdに平文で保存
  • APIサーバーのメモリに最大35件のキャッシュ

→ 容易に抽出可能

After — 適用後

  • SecretはPod実行時にのみ復号
  • etcd侵害時もデータは暗号化状態を維持
  • メモリキャッシュも暗号化

→ 抽出されても解読不能

Technical Definition

技術的定義

Runtime Immunity は、攻撃がシステムに到達した場合であっても、 攻撃の前提条件または成果を構造的に無価値化し、システムを停止させることなく保護属性を維持するセキュリティ技術体系である。

Keyless Encryption(鍵を保管せず動的に生成・即時消去する暗号化方式)と Environment Binding(暗号鍵を実行環境のパラメータに束縛する技術)を中核とし、 攻撃成果の構造的無価値化(Structural Nullification)を実現する。

検知ベースのRuntime Securityが「攻撃を見つける」ことを目的とするのに対し、 Runtime Immunityは「攻撃の成果を無意味にする」ことを目的とする。 両者を統合するフレームワークがRuntime Stabilityである。

Superasystem株式会社が開発。特許出願済み(特願2025-241853)。

Related: Keyless Encryption Environment Binding Confidential Computing Homomorphic Encryption

Nullification Level(NL)評価

Runtime Immunityの無価値化の程度は、Nullification Level(NL-1〜NL-3)により定量評価される。 情報理論軸(数学的復号不可性)と経済合理性軸(攻撃者ROI分析)の2軸で評価し、 NL-1 ⊂ NL-2 ⊂ NL-3の累積的関係を持つ。

Related Definitions

Runtime Stabilityを構成する他の概念