Protector4J 6 / P4JX

バイトコードのライフサイクル全体を保護

P4JXは、アーカイブアクセス、クラス解析、保護されたリンク、インタプリタ実行、JITコンパイル、ランタイム整合性検査を、カスタマイズされたHotSpotのセキュリティ境界内に統合します。

保護されたクラスのライフサイクル
JAR / WAR → .p4jx → VLX HotSpot → encrypted Metaspace → interpreter / JIT
Metaspaceバイトコードの状態: 暗号化を維持

従来のクラス暗号化

先に復号し、平文をJVMへ渡す

カスタムClassLoaderはディスク上のファイルを隠せますが、通常のクラス定義境界とランタイム検査機構は引き続き利用できます。

  • クラスローダーが集中的なインターセプトポイントになります。
  • 平文のクラス構造が標準JVMパイプラインに戻ります。

P4JXアーキテクチャ

暗号化アーカイブとランタイムが一つのセキュリティ境界を形成

保護は認証付きアーカイブへのアクセスから始まり、解析、リンク、インタプリタ実行、JITコンパイル、ランタイム整合性検査まで継続します。

  • VM内部に閉じたアーカイブアクセス
  • メソッド単位の一時展開と即時再マスク
  • インタプリタとJITの復号チェーン

7つの保護層、1本の連続した信頼チェーン

  1. L1 · 認証付き暗号化アーカイブ
  2. L2 · 段階的なクラスロード
  3. L3 · 保護されたリンク
  4. L4 · 保護されたインタプリタ実行
  5. L5 · コンパイル実行の保護
  6. L6 · ランタイム整合性
  7. L7 · アンチインジェクション境界

すべての状態遷移を保護

.p4jxの配布からVM内実行まで、一貫したランタイムチェーンが保護を引き継ぎます。

  1. 封入
    JAR、WAR、ライブラリの内容を保護された.p4jxアーカイブに格納します。
  2. ロード
    ロード段階で保護された内容をVMランタイムへ取り込みます。
  3. リンク
    VMのセキュリティ境界内で検証と保護されたリンクを完了します。
  4. 実行
    実行段階はランタイムの保護境界内に保たれます。

実際のJavaアプリケーションのために設計

既存の配布形態を保護しながら、フレームワークやスキャナが必要とするランタイム動作を維持します。

Java: 8 · 11 · 17 · 21 · 25
OS: Windows · macOS · Linux
アーキテクチャ: x64 · x86 · Arm64

P4JXでアプリケーションを保護

ガイドに沿ってセットアップと互換性の確認を完了すると、対象プラットフォームに対応した保護済みパッケージが生成されます。

Protector4Jを始める