研究テーマ

暗号的難読化とTEEを用いたシステムセキュリティ

オペレーティングシステム(OS)はしばしば脆弱性が報告されており,常に外部からの新たなネットワーク攻撃に晒されています.一方で,キャッシュレスサービスやマイナンバーなどを用いたのネットワーク上の決済や認証をベースにしたサービスが多く開発され,これらが社会基盤となりつつあります.しかし,このようなサービスが動作するサーバのOSなどの脆弱性を攻撃することで外部に個人情報(クレジットカードや個人IDなど)が流出する事件が報告されており,OSが提供するセキュリティに限界があることは周知の事実です.このOSの脆弱性を補うために開発されているのがIntel SGX,AMD SEGV,Arm TrustZoneなどのハードウェア協調型セキュリティ機構Trusted Execution Environment(TEE)です.これらの機構はCPUに埋め込まれた秘密鍵,認証サービス,暗号化エンジンによってメモリ内にEnclaveと呼ばれるセキュアなエリアを構築し,その中で処理を行うことによって処理中のデータを外部から保護します.このEnclave内でのデータには認証済みのプロセスのみアクセスすることが許されており,OS(の特権モード)ですらアクセスすることはできないため,例えOSが外部攻撃によって乗っ取られたとしても重要なデータを保護することができます.一方で,TEEもサイドチャネル攻撃やタイミング攻撃などには脆弱であるとの報告があります.このTEEに加えて暗号的難読化手法ORAM(Oblivious Random Access Memory)を組み合わせることによってより安全に処理中のデータを保護し,外部攻撃による情報漏洩を防ぐシステムを構築します.

カッコウ探索を用いたデータ複製手法

カッコウは自身で卵を孵さず,他の鳥の巣へ自身の卵を忍ばせる托卵という方法によって孵化させます.この際にどの巣に托卵するかということが孵化の成功率を上げるために重要になってきます.つまり,托卵する側も相手に見破られてしまうと自身の子供を孵化させることができないので卵の形,大きさだけではなくどの巣を選択すると成功率が上がるかということを考えないといけません.実際のところカッコウは独自の托卵アルゴリズムにより非常に巧妙に托卵先の巣を選択し,托卵を行うことで子孫を繁栄させています.このカッコウの托卵を模したカッコウ探索というアルゴリズムは組合せ最適化問題において有効であることが知られています.

本研究では,カッコウの探索のアルゴリズムを用いて,アドホックネットワーク上のノード(モバイル機器)でデータを保存するために最適なノードを選択しデータの複製を行う手法を開発しています.この手法を用いてアドホックネットワーク上の低需要だが特定の人にとっては非常に重要な情報(たとえば災害時の個人の安否情報など)をネットワーク上のリソースの消費を最小限に抑えながらデータの消失を防ぐようなデータ複製機構を実現しています.さらに,動画のストリーミング配信システムの基盤であるContent Distribution Network(CDN)においてもカッコウ探索を用いたデータ複製手法を開発し,サーバの障害によるデータの消失を防ぎながらコンテンツ探索効率を向上させました.研究成果については研究業績をご覧ください.

Lévy Walkを用いたグラフ上のブラインド探索

Lévy Walkはランダムウォークの一種であり,アホウドリ,ミツバチ,シャチなどの海洋捕食動物の採餌行動のモデルとされており,人間の行動パターンに統計的な近似が可能であることが知られています.Lévy Walkの研究は多く行われていますが,グラフ上におけるLévy Walkの研究はほとんどなされていません.

本研究では,道路網などのモデルであるユニットディスクグラフ上におけるLévy Walkに基づいたブラインド探索を行い,Lévy Walkの探索性能とグラフの特徴(直径など)や探索目標との距離についての関係を明らかにします.これによりネットワークインフラを仮定しない(DTN上での)センサネットワークなどにおいてLévy Walkに基づいたモバイルセンサによるサンプリングで重大なインシデントなどを効率的に検知することができると考えています.

TEEを用いたIoT環境のセキュリティ

IoT環境は様々なサービスを提供するインフラとなりつつある一方で,IoTデバイスによって収集されるデータは個人情報を含むものもあるため,高度なセキュリティとサービスを継続するための可用性が求められている.しかしながら,監視カメラなどのようなIoTデバイスは通常のコンピュータシステムと比較してセキュリティ的には脆弱であり,外部からの攻撃によって収集したデータを窃取され個人情報が流出してしまう可能性がある.また,通常のコンピュータシステムにおいても,OSに脆弱性が存在する場合は同様のことが起こりうる.このような問題点に対して近年ハードウェアと協調したセキュリティ機構である,Trusted Execution Environment (TEE) が注目されている.

本研究では,IoTデバイスやコンピュータシステムなどの多彩なデバイスから構成されるIoT環境においてTEEを用いた高度なセキュリティとシステムの可用性を実現します.

仮想化サーバによるサービスの耐故障性

クラウド上における仮想化技術(Virtual Machineやコンテナ)の発展により,複数のVMやコンテナを組み合わせてサービスを構築することが一般的になってきています.一方で,このような仮想化技術に基づいたサービスの形態に適応したサービスの耐故障化技術の研究開発も同様に求められています.

本研究では,複数の仮想化サーバにおけるチェックポイント機構の実装,仮想化サーバ向けのチェックポイントアルゴリズムの開発,それに基づくスケールアウトやサーバマイグレーションの実現と性能評価を行っています.

トラフィック適応型故障検出器 (アクルーアル故障検出器)

故障検出器(Failure Detector)は従来タイムアウトという指標に基づいて監視対象の故障を判断していました.しかし時々刻々と変化するネットワークトラフィックに対して,従来のタイムアウト型の故障検出器では誤検知などによる故障検出精度低下が問題視されていました.さらに,故障検出器を使用するアプリケーションも多種多様であり,「精度が低くても短時間で故障を判断してほしい」,「故障の判断に時間がかかっても良いから高い精度が求められる」などの異なる(かつ両立しない)QoSが求められていました.

これらの問題に対応するため,本研究室ではアクルーアル故障検出器(Accrual Failure Detector)を開発し,その実装であるφ-故障検出器(φ-Failure Detector)に基づく性能評価を行いました.その結果,φ-故障検出器は変化するトラフィックに適応的に故障検出を行い,異なるアプリケーションやユーザの要求を同時に満たすことを示しました.

現在,アクルーアル故障検出器はFacebookの分散データベースApache Cassandra,分散アプリケーション構築ツールキットAkka,データ収集プラットフォームFluentdなどを始めとする数多くのサービスにおける故障検出器として用いられております.