Design and Analysis of Memory Access Pattern Protection

(邦訳:メモリ・アクセスパターン保護の設計と評価)
 
仲野 有登
(株)KDDI総合研究所

 キーワード
メモリアクセスパターン保護 Oblivious RAM (ORAM) 安全性評価

[背景]メモリに一時格納されるデータの保護が必要である

[問題]既存手法は処理負荷が大きいという課題がある
[貢献]軽量な保護手法の提案と安全性評価を行った


 本研究は,ソフトウェアの実行中にメモリに一時的に格納される重要なデータを攻撃者から保護することを目的としている.ソフトウェアが機密情報を取り扱うものであれば,その実行中に機密情報もメモリに一時的に格納される.このとき,攻撃者がメモリに格納されているデータを入手できるとすれば,機密情報の入手も可能となる.実際,暗号化ライブラリであるOpenSSLのバグによる脆弱性のため,攻撃者がサーバのメモリ上に格納されているデータを入手可能なことが指摘された事例や,ハードディスクの暗号化秘密鍵を攻撃者が入手するコールドブート攻撃などが現実的な脅威として示されている.本研究でも,CPUとメモリ間の通信に注目し,通信を時系列順に追跡する解析手法を提案し,ソフトウェア内の特定の処理のみに注目して有益な情報を入手可能とした.提案の解析手法を実際の暗号ソフトウェアに適用し,秘密鍵の特定が可能であることを確認している.

 メモリに格納されたデータを攻撃者から保護する手法の1つにOblivious Random Access Machine(ORAM)と呼ばれる手法が提案されている.これにより,メモリ上のデータを入手可能な攻撃者からソフトウェアが扱う機密情報の秘匿が可能となる.しかし,ORAMの実装では処理負荷が増大し,現実時間での処理の高速化という課題がある.従来のORAMでは,メモリ内のデータを定期的に攪拌することが多く,これが処理負荷を増大させる原因となっていた.本研究では,1度しかアクセスされないデータは,ランダムなアクセスと区別困難な点であることと,頻繁にアクセスされるデータは,攻撃者に特定される可能性が高いことに注目し,定期的な攪拌を行うことなく,2つのアクセスの識別を困難にする手法を提案した.攪拌を省略したことによって,既存手法に比べて高速な動作を可能としている.

 ORAMをはじめとする対策手法の安全性評価は,攻撃者がメモリアクセスを監視はできるがデータを変更することができない,という前提のもとで行われている.しかし,暗号化されたコンテンツの不正コピー対策などに適用することを想定した場合,ソフトウェア利用者自身が攻撃者となり,デバッガツールを用いて復号に必要な秘密鍵を不正に入手する脅威は現実的に存在する.この場合は,データの変更までも行う攻撃を対象とした安全性解析が必要となる.このシナリオにおける対策手法の安全性の評価は十分なされておらず,本研究で検討を行った.安全と考えられていたORAMであっても,十分な安全性を確保することができないことを示した.マルチメディアコンテンツの保護の例で考えると,利用者が不正コピーを作成できる可能性があることになる.追加の対策が必要であることを示した.

 
 


 
 (2019年5月28日受付)
 
取得年月日:2019年3月
学位種別:博士(工学)
大学:九州大学



推薦文
:(コンピュータセキュリティ研究会)


本論文は,PC等で実行されるプログラムに必要なデータがメモリ上に一時的に格納される性質を用い,プログラムの振る舞いを解析することで重要なデータを攻撃者が入手可能であることを示しています.この脅威への対策として軽量な手法の提案と実装評価および既存手法も含めた手法の安全性評価を実施しています.


研究生活


社会人学生として,また,大学が遠方だったため,仕事と研究の両立は大変でした.自分で決めた研究テーマを博士論文としてまとめることができるところまで進められたことと学位を取得できたことは,大きな達成感を得られたと同時に研究者として自信を持てるようになりました.これも,メールや電話会議で先生とこまめに連絡・議論ができたことで,少しずつ研究を進捗させることができたからだと思います.指導教官,外部アドバイザー,会社の上司をはじめサポートいただいた多くの方に,この場を借りてお礼申し上げます.