TY - JOUR
T1 - Mitigating Foreshadow Side-channel Attack Using Dedicated Kernel Memory Mechanism
AU - Kuzuno, Hiroki
AU - Yamauchi, Toshihiro
N1 - Funding Information:
Acknowledgments This work was partially supported by the Japan Society for the Promotion of Science (JSPS) KAKENHI Grant Number JP19H04109, JP22H03592, and ROIS NII Open Collaborative Research 2022 (22S0302). Hiroki’s contribution contained in the paper is done when he belonged to SECOM Co., Ltd.
Publisher Copyright:
© 2022 Information Processing Society of Japan.
PY - 2022
Y1 - 2022
N2 - New threats to operating systems include side-channel attacks (e.g., Meltdown and Foreshadow) that com-bine the speculative execution of the central processing unit (CPU) and cache manipulation to facilitate inference of the kernel code and kernel data stored in CPU caches. Side-channel attacks mitigation strategies require kernel memory isolation mechanisms that modify kernel design, such as the kernel page table isolation that separates the kernel memory space for the kernel and user modes to mitigate the Meltdown, and the address space isolation that segre-gates the virtualization features from the kernel memory space for Foreshadow mitigation. However, user processes still share the remaining kernel feature on the same kernel memory space. The speculative execution of the CPU in a side-channel attack using Foreshadow allows the adversary to refer to the kernel data of the targeted user process with kernel features. This paper presents a dedicated kernel memory mechanism (DKMM), which controls the memory space allocation method for each user process with kernel features. It mitigates Foreshadow side-channel attack (e.g., Foreshadow-OS) with speculative execution. Furthermore, it enables each user process to use its dedicated kernel memory space and suppresses the reference to the kernel data of kernel feature used by the attacked user process attacked by Foreshadow side-channel. We implemented the DKMM on Linux and evaluated its security capability to protect the kernel data of container features against side-channel attack by the Foreshadow proof of concept code. The performance evaluation was reasonable, as the maximum system call overhead was 7.864 µs, the web client program ranged from 0.55% to 0.77% for the 100,000 Hypertext Transfer Protocol sessions, and the benchmark score was 1.06% overhead.
AB - New threats to operating systems include side-channel attacks (e.g., Meltdown and Foreshadow) that com-bine the speculative execution of the central processing unit (CPU) and cache manipulation to facilitate inference of the kernel code and kernel data stored in CPU caches. Side-channel attacks mitigation strategies require kernel memory isolation mechanisms that modify kernel design, such as the kernel page table isolation that separates the kernel memory space for the kernel and user modes to mitigate the Meltdown, and the address space isolation that segre-gates the virtualization features from the kernel memory space for Foreshadow mitigation. However, user processes still share the remaining kernel feature on the same kernel memory space. The speculative execution of the CPU in a side-channel attack using Foreshadow allows the adversary to refer to the kernel data of the targeted user process with kernel features. This paper presents a dedicated kernel memory mechanism (DKMM), which controls the memory space allocation method for each user process with kernel features. It mitigates Foreshadow side-channel attack (e.g., Foreshadow-OS) with speculative execution. Furthermore, it enables each user process to use its dedicated kernel memory space and suppresses the reference to the kernel data of kernel feature used by the attacked user process attacked by Foreshadow side-channel. We implemented the DKMM on Linux and evaluated its security capability to protect the kernel data of container features against side-channel attack by the Foreshadow proof of concept code. The performance evaluation was reasonable, as the maximum system call overhead was 7.864 µs, the web client program ranged from 0.55% to 0.77% for the 100,000 Hypertext Transfer Protocol sessions, and the benchmark score was 1.06% overhead.
KW - kernel
KW - operating system
KW - side channel attack
KW - system security
UR - http://www.scopus.com/inward/record.url?scp=85144402614&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85144402614&partnerID=8YFLogxK
U2 - 10.2197/ipsjjip.30.796
DO - 10.2197/ipsjjip.30.796
M3 - Article
AN - SCOPUS:85144402614
SN - 0387-5806
VL - 30
SP - 796
EP - 806
JO - Journal of Information Processing
JF - Journal of Information Processing
ER -