@inproceedings{oai:ipsj.ixsq.nii.ac.jp:00208487,
author = {高野, 祐輝 and 金谷, 延幸 and 津田, 侑 and Yuuki, Takano and Nobuyuki, Kanaya and Yu, Tsuda},
book = {コンピュータセキュリティシンポジウム2020論文集},
month = {Oct},
note = {Trusted Execution Environment(TEE)の一つであるArm TrustZoneは、
OSやハイパーバイザが実行されるノーマルワールドからTEEで実現される
セキュアワールドを分離する技術であり、たとえノーマルワールドが
侵害されたとしてもTEEの健全性が確保されなければならない。
そこで我々は、型安全性の考えを中核においてTrustZone向けの
新たなTEE実現基盤であるBaremetalispを設計・実装したため本論文で報告する。
BaremetalispはRust言語で実装され、ファームウェアとOSからなるBaremetalisp TEEと
API定義用プログラミング言語のBLispから構成される。
Baremetalisp TEEはメモリ安全性を最重要視して設計・実装した。
また、BLispは効果系を適用しており、
副作用のある関数と純粋な関数を完全に分離して扱う。
これにより、従来難しかった、セキュアワールドへの動的な
プログラムの注入と実行、すなわちEdge Computing的な任意の計算をTEE内で安全に行うことが出来るようになる。, Arm TrustZone is one of the technologies of Trusted Execution Environment (TEE)
and it separates a secure world from a normal world, in which OS and hypervisor live.
Even if the normal world is compromised, the secure world must be clean,
but many TEE's bugs are reported.
In this paper, we present Baremetalisp, which is a new TEE for TrustZone,
and its design and implementation adopt the type safety as a core design principle.
Baremetalisp is implemented in Rust language, and it consists of a firmware and OS,
called Baremetalisp TEE, and a domain specific language, called BLisp, for defining API.
Baremetalisp TEE is carefully designed and implemented from a memory safety perspective.
BLisp adopts the effect system and distinguishes functions having side effect and others.
This makes it possible to inject program into the secure world.
In other words, edge computing like computations can be performed in TEE securely.},
pages = {422--429},
publisher = {情報処理学会},
title = {Make TrustZone Great Again},
year = {2020}
}