オンライン動画配信サービス(OTT)であるTVINGで、利用者アカウント3954万件と、サービスの中核技術が含まれる開発ソースコード361件が流出したことが判明した。開発者の接続キー窃取から始まった攻撃は、ソースコード内にそのまま露出していた運用環境の接続キー窃取へとつながり、運用環境内部の利用者情報データベース(DB)が暗号化されず平文で保存されていたため、個人情報が丸ごと流出した。
科学技術情報通信部は3日、このようなTVING侵害事故に対する民官合同調査団の調査結果を発表した。
◇ 氏名・携帯電話番号・メールアドレス・生年月日などが流出
調査団によると、流出したアカウントは合計3954万件(重複含む)である。ログイン可能なアクティブアカウントが2206万件、休眠(850万)・退会(887万)などの非アクティブアカウントが1737万件、テストアカウントが11万件である。TVINGアカウントは1人が複数のアカウントを保有できる構造のため、実際の利用者数とは差がある。実際に1人の利用者が最大13個のアカウントを保有していた事例が確認された。
加入経路別では、TVING自体の加入が726万件、CJ ONE統合会員が863万件、NAVER・カカオなどソーシャルメディア(SNS)の簡易加入が2247万件である.
調査団は、侵害事故で流出した情報が、▲ID ▲パスワード(片方向暗号化) ▲CJ ONE統合ID ▲氏名 ▲携帯電話番号 ▲メールアドレス ▲生年月日 ▲連携情報(CI・住民登録番号を代替して個人を識別する固有値) ▲返金口座番号(暗号化) ▲提携サービス情報(22種) ▲決済履歴(11種)などを含め、計20項目(70種)だと明らかにした。CIが流出したアカウントは1904万件だった。
携帯電話番号、メールアドレスは一部暗号化された状態で流出したが、暗号鍵が同時に流出して復号が可能であるため、平文で流出した情報と同等の水準と判断された。パスワードは片方向暗号化された状態で流出しており、平文への復号は不可能だと調査団は述べた。
利用者情報だけでなく、利用者向けのコンテンツ推薦・検索アルゴリズム、利用者管理・認証体制、決済管理、有料サービス運営などTVINGサービスの運営に必要な技術が含まれる開発プロジェクト361件(30.35GB)が流出した。調査団は、攻撃者がこのソースコードを分析して脆弱性を見つけ、追加攻撃に悪用する可能性があると懸念している。現在まで追加攻撃の兆候は確認されておらず、TVINGは民間のセキュリティ企業を通じて開発プロジェクト内の脆弱性診断を進めるなど、自主的なセキュリティ対策を強化している。
◇ 開発キー1つで開いた扉
事故の原因は接続キー管理の不備と判明した。攻撃者は開発者が保有する「開発環境」接続キーを窃取し、システム内部(開発環境、運用環境)に侵入した。
TVINGの「開発環境」は、ソースコードを保管し、複数の開発者が同時に修正・管理する開発者向けコラボレーションプラットフォームである。開発環境にアクセスするには、開発者個人ごとの接続キーが必要である。調査団は、個人情報流出に悪用された接続キーを使う開発者を特定し、端末フォレンジックを通じて当該接続キーが流出した原因がフィッシングか、マルウェアか、サプライチェーン攻撃か、開発者が開発キーを共有または不正使用したのかなど、多角的に分析したが、特定できなかったと明らかにした。
攻撃者は開発環境から361件の開発プロジェクトを流出させ、そこに保存されていた「運用環境」接続キーを確保した。続いて運用環境内部で、利用者DBにアクセスできる接続情報(ID、PW)が暗号化されず平文で保存されていることを確認し、これを窃取した。
利用者DBにアクセスした攻撃者は、3954万件のアカウント情報を抜き取った。5月30日の1次情報流出の試みでは、DBサーバーの作業量過多によりサーバー中央処理装置(CPU)利用率が100%に急上昇したことから異常兆候アラートが発生し、アラートを確認したTVINGが当該作業を遮断した。攻撃者は翌日の2次情報流出の試みでは異常兆候アラートが発生しないよう、CPU利用率を10%以内に制限して攻撃したと調査団は推定した。運用環境内部に仮想サーバーを生成し、これを情報流出の経路として悪用し、流出後に仮想サーバーを削除する手口を用いた。
◇ 専任人員はわずか4人、通報も24時間超過
今回の調査でTVINGの情報保護体制の綻びが露呈した。調査団は、TVINGが全ての開発者に全プロジェクトへのアクセス権限を付与していたため、接続キー1つが破られても全プロジェクトが露出する構造だったと指摘した。さらにTVINGの開発者は、開発・運用環境にアクセスできる接続キーをソースコード内部に隠しもせずそのまま露出(ハードコーディング)したり、暗号化処理による秘匿なしに平文で保存していたことが明らかになった。2024年の自社ペネトレーションテストで接続キーのハードコーディング脆弱性を既に発見していたにもかかわらず、是正しなかった。
またTVINGは、全従業員265人、開発人員149人の規模であるにもかかわらず、情報保護の専任人員は外注を除き4人にとどまった。異常兆候が発生した5月30日午後6時から約14時間が経過してようやく、事故対応を総括する情報保護最高責任者(CISO)に状況が共有された。
通報も遅れた。TVINGは情報通信網法により、侵害事故の認知後24時間以内に通報すべきだったが、情報セキュリティチームが状況を共有した5月31日午前10時10分から約29時間が経過した6月1日午後3時8分になってようやく、韓国インターネット振興院(KISA)に通報した。