第14章 契約書にいない接続先
- 山崎行政書士事務所
- 5月7日
- 読了時間: 16分
翌週、火曜日。
駿河メディカルロジスティクス株式会社の第三会議室には、事件当日のような切迫した怒号はなかった。
だが、緊張は戻っていた。
大型モニターには、三つの一覧が並んでいる。
契約上の委託先一覧クラウド上の外部アカウント一覧データ接続先一覧
三枝涼真は、画面の前に立ち、カーソルをゆっくり動かしていた。
三か月前なら、この三つを同じ画面に並べようとは思わなかった。
契約は法務総務部。外部アカウントは情報システム課。データ接続先は各システムの設定。それぞれ別の場所にあり、別の担当者が管理している。
だが、山崎行政書士事務所の山崎は、月次レビューのたびに同じことを言っていた。
「契約書にいる委託先と、クラウド上にいる委託先を突き合わせてください」
初めて聞いた時、三枝は少し笑いそうになった。
契約書にいる委託先。クラウド上にいる委託先。
人間とアカウントを同じように扱う表現が、妙に行政書士らしくなかったからだ。
だが今、その意味は分かっていた。
会社に接続しているのは、人間だけではない。外部ベンダーのアカウント。サービスプリンシパル。APIキー。旧システム連携。BIツール。AI分析基盤。一時的な検証環境。消したはずの保守アカウント。削除予定だった例外グループ。
それらもまた、会社と外部をつなぐ「委託先」だった。
山崎は、会議室の端で静かに言った。
「今日の目的は、攻撃者を探すことではありません」
黒崎課長が苦笑した。
「先生がそう言う時は、だいたい攻撃者に近づきますよ」
山崎は表情を変えなかった。
「近づくかもしれません。ただ、目的は外部接続の説明可能化です」
望月社長が頷いた。
「続けてください」
山崎は、モニターの三つの一覧を指した。
「契約上の委託先一覧には存在するが、クラウド上に接続がないもの。これは契約整理の対象です。クラウド上に接続があるが、契約上の委託先一覧に存在しないもの。これは緊急確認対象です」
三枝は、その言葉を聞きながら、三つ目の一覧を見た。
データ接続先一覧。
そこに、見慣れない名前が一つあった。
Aster Analytics Forecast API
三枝の指が止まった。
「アスター……」
秋山法務総務部長が顔を上げた。
「アスター分析?」
営業部長が言った。
「それ、昔のAI需要予測の会社じゃないですか」
望月が眉を寄せた。
「契約は終了しているはずです」
山崎は、すぐに聞いた。
「契約終了日は」
秋山が契約管理表を検索した。
「二年前です。物流需要予測AIの実証実験。契約期間は六か月。正式導入は見送り。終了時にデータ削除証明書を受領しています」
三枝は、クラウド上のサービス接続一覧を開いた。
名前。
aster-forecast-prod-sp
種別。
アプリケーション接続
最終サインイン。
三日前
会議室の空気が変わった。
黒崎が言った。
「三日前?」
三枝は頷いた。
「はい。契約終了は二年前。でも、アプリケーション接続は三日前に使われています」
秋山の顔が青ざめた。
「そんなはずは……」
山崎が言った。
「まず事実を分けます。契約上は終了。削除証明書は受領済み。クラウド上には接続先が残存。三日前にサインイン記録あり。ここまでが確認済み事実です」
三枝は、すぐに時系列表の派生版である「外部接続確認記録」を開いた。
入力する。
A-017 Aster Analytics Forecast API。契約終了:二年前。削除証明書受領済み。クラウド上のアプリケーション接続aster-forecast-prod-spが残存。最終サインイン:三日前。契約上の現行委託先一覧には記載なし。
山崎は頷いた。
「次に、権限を確認してください」
三枝は、権限一覧を開いた。
閲覧権限。ストレージ読み取り。配送履歴データレイクへの限定アクセス。一部の匿名化済み需要予測データセット。そして、古いエクスポート領域。
suruga-demand-sim-archive
三枝は、そこでまた手を止めた。
「アーカイブ領域があります」
久我真琴が、オンライン画面から声を出した。
「需要シミュレーションのアーカイブですか」
「名前はそう見えます」
久我の表情が険しくなった。
「その領域、今回の攻撃準備と関係するかもしれません」
大石倉庫部長が聞いた。
「需要予測のデータが、倉庫攻撃と関係するんですか」
久我は答えた。
「あります。配送量、病院便、定温便、曜日ごとの出荷パターン、東側と西側の処理能力。そういう情報があれば、どこを止めれば会社が一番困るかを推定できます」
三枝は、三か月前のPhase1とPhase2を思い出した。
東側を先に止める。西側を残して対応を見せる。その後、西側Phase2を予約する。緊急出荷キオスクも対象にする。
攻撃者は、倉庫の業務を知っていた。
それが、社内資料だけでなく、AI需要予測の実証データから見えていたとしたら。
望月が静かに聞いた。
「つまり、攻撃者は当社の“業務の模型”を見ていた可能性がある、ということですか」
久我は頷いた。
「はい。デジタルツインに近いものです。需要予測AIの実証では、会社の業務をデータ上に再現します。便利ですが、外に出れば攻撃者にとっても便利です」
山崎がホワイトボードに書いた。
AI実証データ=業務の地図
そして言った。
「これは、クラウド法務上も重要です。AI実証実験が終わった時、契約終了、データ削除証明、クラウド接続削除、学習データ削除、派生データ削除、アーカイブ削除、再接続不可の確認までできていたのか」
秋山は、唇を結んだ。
「削除証明書はあります」
山崎は頷いた。
「はい。では、その証明書が何を証明しているのかを確認します」
十分後。
秋山が、二年前のPDFを開いた。
データ削除証明書Aster Analytics株式会社
そこには、丁寧な文面が並んでいた。
実証実験終了に伴い、貴社より提供された原データを当社管理環境から削除したことを証明します。
山崎は、その一文を見て言った。
「原データ」
秋山が顔を上げた。
「はい」
山崎は続けた。
「派生データ、学習済みモデル、特徴量、ログ、アーカイブ、テスト用コピー、クラウド接続設定については、書かれていません」
会議室が静かになった。
山崎はPDFの末尾を確認した。
「削除対象の範囲表はありますか」
秋山はファイルを探した。
「添付が……ないですね」
三枝は、契約フォルダを検索した。
Aster_削除対象一覧.xlsx
見つからない。
営業部長が言った。
「当時は実証実験でした。そこまで細かく見ていなかったと思います」
山崎は責めなかった。
ただ、ホワイトボードに書いた。
削除証明 ≠ 接続削除証明原データ削除 ≠ 派生データ削除契約終了 ≠ クラウド上の終了
その三行を見て、三枝は胸が重くなった。
まただ。
また、「終わったはず」が残っている。
山崎は言った。
「アスター社へ確認します。確認事項は五つです」
画面に文書を作成する。
一 契約終了時の削除対象範囲二 派生データ、学習済みモデル、特徴量、検証ログ、アーカイブの扱い三 クラウド接続aster-forecast-prod-spが残存していた理由四 三日前のサインインの実施者・目的・アクセス元五 本件攻撃との関連可能性を踏まえたログ保全
望月が言った。
「すぐ連絡してください」
秋山が頷いた。
「はい」
山崎が補足した。
「文面は、責任認定ではなく事実確認とログ保全要請にします。ここでも、まず保全です」
三枝は、Aster接続の現在状態を保存した。
スクリーンショット。権限一覧。最終サインイン。対象データ領域。関連ストレージ。
三か月前なら、ここまで丁寧には残さなかったかもしれない。
今は、残す。
証跡として使える形で。
午後三時十分。
Aster Analyticsとの緊急会議が始まった。
画面に映ったのは、若い執行役員の白川と、同社のセキュリティ責任者の榊だった。
白川は、最初に困惑した表情で言った。
「弊社と御社の契約は、二年前に終了している認識です」
望月は静かに答えた。
「当社もそう認識していました。しかし、当社クラウド環境にAster Analytics関連のアプリケーション接続が残存し、三日前にサインイン記録があります」
白川の表情が変わった。
榊が、すぐに前に出た。
「接続名を共有いただけますか」
三枝が言った。
「aster-forecast-prod-spです。対象は配送需要シミュレーションのアーカイブ領域を含みます」
榊は、明らかに動揺した。
「その接続は、本番用ではないはずです。実証終了時に停止されたと認識しています」
山崎が尋ねた。
「停止された、というのは、どの状態を指しますか。アスター社側で利用を停止したのか。駿河ML側クラウドから接続が削除されたのか。資格情報が失効したのか。権限が剥奪されたのか」
榊は言葉に詰まった。
山崎は続けた。
「どれも違います。事故対応では、停止という言葉を分解する必要があります」
白川が、ゆっくり言った。
「確認します」
三枝は、またその言葉を聞いた。
確認します。
三か月前なら、苛立ったかもしれない。
今は、山崎がすぐに次を聞くと分かっていた。
案の定、山崎は言った。
「確認対象と期限を明確にしてください」
榊は頷いた。
「当社側のアプリケーション登録、認証情報、ログ、実証環境、アーカイブ、削除証明の対象範囲を確認します。一次回答は二時間以内に出します」
山崎は言った。
「ログ保全は、今すぐお願いします。特に三日前のサインイン、過去三か月のアクセス、実証データアーカイブ、学習済みモデル、派生データ、サブプロセッサへの共有履歴です」
白川が聞いた。
「サブプロセッサ?」
秋山が資料を見ながら言った。
「契約書には、Aster Analyticsがクラウド解析基盤と外部モデル評価環境を利用する可能性があると記載されています。ただし、具体名は別紙管理となっています」
山崎が言った。
「その別紙はありますか」
秋山は、すぐに検索した。
なかった。
白川が、画面の向こうで青ざめた。
山崎は、静かに言った。
「では、そこも確認事項に追加します。再委託先または外部処理先の一覧、当時の利用有無、現在のデータ残存有無」
会議室の空気が、三か月前の「委託先の沈黙」を思い出させた。
ただ、今回は違う。
質問がある。期限がある。保全要請がある。記録がある。
沈黙を、その場で分解できている。
午後四時四十五分。
Asterから一次回答が届く前に、久我が調査結果を共有した。
「三日前のサインインですが、Aster社の通常拠点からではありません」
三枝が聞いた。
「どこですか」
「国内クラウド上の一時的な実行環境です。Aster社の古い自動検証ジョブに見えます。ただし、実行元のテナント情報が、現在のAster社本番環境と一致しません」
黒崎が言った。
「つまり?」
久我は答えた。
「実証当時に使っていた検証環境が残っていて、そこから接続が発生した可能性があります。あるいは、その検証環境の情報を攻撃者が使った可能性」
山崎が言った。
「事実と推測を分けます」
三枝は入力した。
A-017追加。三日前のaster-forecast-prod-spサインインは、Aster社通常拠点ではなく国内クラウド上の一時実行環境から発生。現行本番環境とは一致せず。旧検証環境残存または当該情報悪用の可能性。未確認。
久我は続けた。
「もう一つ。需要シミュレーションアーカイブに、三週間前のアクセス痕跡があります」
三枝は息を止めた。
三週間前。
また、その時期だ。
久我が画面を共有する。
suruga-demand-sim-archiveAccess: List / Read metadataTime: 三週間前Principal: aster-forecast-prod-sp
大石が低い声で言った。
「三週間前に、倉庫の需要シミュレーションを見られていた?」
久我は慎重に言った。
「少なくとも、メタデータ閲覧と一部読み取りの痕跡があります。実データ全体の取得は未確認です」
山崎がホワイトボードに書いた。
三週間前:前島アカウント探索三週間前:偽管理先ドメイン作成三週間前:需要シミュレーションアーカイブアクセス
三つの線が、横に並んだ。
三枝は、背筋が冷たくなるのを感じた。
攻撃者は、会社の未了を探した。端末管理の準備をした。そして、業務の模型を見た。
だから、東側と西側を使い分けられたのか。
望月が言った。
「久我さん。需要シミュレーションに、東西ラインの処理能力は含まれますか」
大石が答えた。
「当時の実証で、たしか入れました。曜日別、便種別、温度帯別、倉庫エリア別の処理量。AIに需要を予測させるために」
営業部長が言った。
「主要顧客の優先度も入っていたはずです」
秋山が顔を青くした。
「顧客名は匿名化したと聞いています」
三枝がアーカイブの説明を確認した。
匿名化済み需要シミュレーションデータ
だが、詳細を見ると、項目名が並んでいる。
顧客ID。便種。納品時間帯。温度帯。優先度。遅延時影響ランク。倉庫エリア。代替ルート。
山崎が言った。
「匿名化されていても、業務影響は見えます」
誰も反論できなかった。
個人情報ではない。顧客名もない。だが、どこを止めれば会社が困るかは分かる。
AIのために作ったデータが、攻撃者にとっての作戦地図になる。
山崎は、静かに言った。
「AI実証データも、サイバーセキュリティの管理対象です」
三枝は、その言葉を記録した。
AI実証データ=業務影響情報。個人情報でなくても攻撃利用可能。
午後五時三十分。
Aster Analyticsから、一次回答が届いた。
榊が、硬い表情で読み上げた。
「まず、aster-forecast-prod-spについて、当社側では実証終了後に利用停止済みと認識していました。ただし、駿河ML様クラウド側のアプリケーション接続削除までは、当社作業範囲として確認していませんでした」
山崎が静かに聞いた。
「利用停止とは、当社環境への接続不能を確認した、という意味ですか」
榊は、少し詰まった。
「いいえ。当社側の実証ジョブを停止したという意味です」
山崎は、ホワイトボードに書いた。
利用停止 ≠ 接続不能確認
榊は続けた。
「次に、実証環境ですが、当時の検証用テナントの一部が、社内のモデル評価基盤に統合されていました。そこに古いジョブ定義が残っていた可能性があります」
久我が聞いた。
「三日前のサインインは、その古いジョブですか」
榊は首を振った。
「現時点では断定できません。ただ、ジョブ定義の名前は一致しています」
白川が言った。
「データそのものは削除済みです。削除証明書のとおり、原データは削除しています」
山崎が聞いた。
「派生データ、特徴量、需要シミュレーションアーカイブ、学習済みモデルは」
白川は沈黙した。
榊が代わりに答えた。
「特徴量とモデル評価ログについては、残存可能性があります。現時点で保全しています」
会議室に、重い沈黙が落ちた。
望月が言った。
「残っていたのですね」
白川は、深く頭を下げた。
「申し訳ありません。原データ削除の範囲と、派生物の削除範囲が一致していませんでした」
秋山が、静かに言った。
「当社も、その違いを契約終了時に確認していませんでした」
山崎は、両社の言葉を受けて言った。
「では、現時点の事実はこうです。契約終了時に原データ削除証明はあった。しかし、クラウド接続削除、派生データ、特徴量、モデル評価ログ、旧ジョブ定義については削除確認が不十分だった。三週間前と三日前に関連アクセス痕跡がある」
三枝は入力した。
Aster一次回答。原データ削除証明あり。ただしクラウド接続削除、派生データ、特徴量、モデル評価ログ、旧ジョブ定義の削除確認は不十分。旧検証ジョブ定義がモデル評価基盤に残存可能性。関連アクセス痕跡あり。
山崎は続けた。
「Aster社には、関連ログ、派生データ、モデル評価ログ、旧ジョブ定義、サブプロセッサ利用状況の保全と、二十四時間以内の第二回答を求めます」
白川は頷いた。
「対応します」
望月が言った。
「当社としても、AI実証終了時の確認プロセスを未了事項台帳に追加します」
三枝は、新しい行を追加した。
U-130 AI実証終了時の派生データ・接続削除確認未了
責任者。
秋山・三枝・経営企画
期限。
七日以内に全AI実証契約・接続棚卸し
状態。
新規
山崎は、それを見て頷いた。
「重要です。AI実証は終わっても、データの影は残ります」
三枝は、その言葉に強い不安を覚えた。
データの影。
それは、これからのサイバーサスペンスにふさわしい言葉だった。
午後六時十分。
久我は、需要シミュレーションアーカイブの中身を最小限の範囲で確認した。
「顧客名は匿名化されています。個人情報も見当たりません。ただし、業務影響ランク、優先配送パターン、倉庫エリア別処理能力、代替ルート、遅延時の影響推定が入っています」
大石が低く言った。
「倉庫の急所一覧ですね」
久我は頷いた。
「攻撃者にとっては、そうです」
山崎が、次回取締役会資料用に一文を作った。
AI需要予測用に作成した匿名化・集計データであっても、業務影響、優先配送、倉庫処理能力、代替ルート等を含む場合、攻撃者にとって業務妨害の地図となり得る。今後、AI実証データは個人情報該当性だけでなく、業務機密性・攻撃利用可能性の観点から管理する。
望月は、その文を読んで頷いた。
「これも再発防止に入れます」
秋山が言った。
「契約書にも入れます。原データ、派生データ、特徴量、モデル、ログ、アーカイブ、接続情報、削除証明、再委託先。全部を定義しないといけません」
山崎は頷いた。
「はい。山崎行政書士事務所で、AI実証・クラウド分析契約の見直し案を作ります。技術設定と削除証明の両方に対応できる形にします」
三枝は、山崎の言葉を聞きながら思った。
サイバーセキュリティの対象は、また広がった。
アカウント。ログ。端末。契約。AIモデル。派生データ。デジタルツイン。
守るものは、サーバだけではない。
会社を再現するデータも、守らなければならない。
午後七時三十五分。
その日、最後の合同会議が始まった。
議題は、Aster Analyticsの件をインシデント本体に含めるかどうか。
黒崎は言った。
「時期が一致しすぎています。三週間前のアクセス、偽管理先ドメイン作成、前島アカウント探索。関係ありと見て調査すべきです」
久我は頷いた。
「技術的には、関連可能性ありです。ただし、Aster経由で侵害されたと断定するには足りません」
秋山が言った。
「対外説明ではどう扱いますか」
山崎は、少し考えた。
「現時点では、“過去のAI需要予測実証に関連するクラウド接続および派生データ管理について、契約終了後も一部確認未了の可能性が判明したため、当該事業者とログ保全・影響確認を進めている”という表現が妥当です」
営業部長が言った。
「それを取引先に出すと、さらに不安を広げませんか」
望月は、静かに答えた。
「不安は広がるかもしれません。でも、後から出る方が悪い」
山崎が頷いた。
「ただし、詳細は段階的に。取引先が備えるために必要な情報と、調査中の内部詳細を分けます」
三枝は、説明資料に項目を追加した。
AI実証関連接続の確認
その文字を見た時、少しだけSFじみた不気味さを感じた。
AI実証。需要予測。デジタルツイン。攻撃者。
近未来ではない。もう現実だった。
午後八時四十二分。
Blue Heronから、久しぶりにメールが届いた。
件名は、Twin。
三枝は、すぐに保全手順を始めた。
画面録画。ヘッダー保存。本文プレビュー。リンク確認なし。添付なし。
本文は、短かった。
You protected the warehouse.You forgot the warehouse that dreams.
あなたたちは倉庫を守った。夢を見る倉庫を忘れていた。
その下に、画像が一枚貼られていた。
それは、需要シミュレーション画面のスクリーンショットだった。
東側ライン。西側ライン。定温便。病院便。遅延影響ランク。代替ルート。シミュレーション名。
Suruga Digital Twin – Scenario Stress 04
三枝は、血の気が引くのを感じた。
デジタルツイン。
大石が画面越しに呟いた。
「夢を見る倉庫……」
久我が言った。
「やはり、需要シミュレーションを見ています。しかも、ストレスシナリオです」
望月が聞いた。
「これは、当社が作ったものですか」
営業部長が言った。
「実証時に、Aster社が作った画面です。災害時や繁忙期の配送影響を予測するための……」
山崎が、静かに言った。
「善意のために作った業務の模型が、攻撃者に使われている可能性があります」
三枝は、時系列表に入力した。
20:42 不明差出人より件名“Twin”のメール受信。Aster需要シミュレーション画面“Suruga Digital Twin – Scenario Stress 04”のスクリーンショットを提示。攻撃者がAI需要予測実証関連の派生データまたは画面情報を把握している可能性。証跡保全。
入力しながら、手が少し震えた。
三か月前とは違う震えだった。
恐怖だけではない。
怒り。悔しさ。そして、まだ終わっていなかったという実感。
Blue Heronは、倉庫を攻撃しただけではなかった。
倉庫の夢を見ていた。
会社がAIに見せた未来の倉庫を、攻撃者も見ていた。
山崎は、ホワイトボードに新しい見出しを書いた。
デジタルツインの亡霊
その文字を見て、会議室の誰も声を出さなかった。
三枝は、静かに思った。
ログは眠らない。
そして、データの影もまた、眠ってはいなかった。





コメント