37種類の分割では粒度が粗い e.g. コンテナ内でpingを使用するためにCAP_NET_RAWを付与 ◼ OSのTCP/IPプロトコルスタックを迂回して 直接データリンク層とのデータ通信が可能 ◼ マルチテナント内の別ユーザが使用するコンテナへ ARP スプーフィング攻撃が可能[4][5] 7 [4]Hertz, J.: Abusing privileged and unprivileged linux containers, Whitepaper, NCC Group, Vol. 48 (2016). [5]Liz, R.: KubeCon + CloudNativeCon North America 2019:CAP NET RAW & ARP Spoofing in Your Cluster.
隔離から抜け,他コンテナに対する攻撃を防止 課題 ⚫ ネットワークにかかるオーバヘッド[9] ◼ プロトコルスタックのユーザ空間上での再実装 12 OS アプリ ケーション ptrace Sentry [8]google LLC: gvisor: container runtime sandbox, https://github.com/google/gvisor ( 参照 2019-01-21). [9]Young, E. G., Zhu, P., Caraza-Harter, T., Arpaci-Dusseau, A. C. and Arpaci-Dusseau, R. H. : The true cost of containing: A gVisor case study, 11th USENIX Workshop on Hot Topics in Cloud Computing (HotCloud 19) (2019). 関連研究2: ユーザランドにおける ネットワークリソース再構築
複数のOSを動作させる機能は省略 25 OS デバイスドライバ デバイス BitVisor Disk NIC VGA I/O監視・制御機構 [15]Shinagawa, T., Eiraku, H., Tanimoto, K., Omote, K.,Hasegawa, S., Horie, T., Hirano, M., Kourai, K., Oyama, Y., Kawai, E. and et al.: BitVisor: A Thin Hypervisor for Enforcing i/o Device Security, Proceedings of the 2009 ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments, Association for Computing Machinery, pp. 121–130 (2009).
発生するとOSが使用していた レジスタの内容が退避され, ハイパーバイザに制御が遷移 I/Oが送信され,VMExitが発生した際の 退避されたレジスタの内容からプロセスを解析 27 [16]Uhlig, R., Neiger, G., Rodgers, D., Santoni, A. L., Martins, F. C. M., Anderson, A. V., Bennett, S. M., Kagi, A., Leung, F. H. and Smith, L.: Intel virtualization technology, Computer, Vol. 38, No. 5, pp. 48–56 (2005). ハイパーバイザ 仮想マシン 仮想マシンの 実行 仮想マシン内の 命令処理 VM Exit 特権命令 I/O命令 エミュレーション 仮想マシンの 実行再開 仮想マシン内の 命令処理