Chinese Journal of Network and Information Security ›› 2022, Vol. 8 ›› Issue (2): 100-111.doi: 10.11959/j.issn.2096-109x.2022014

• Papers • Previous Articles     Next Articles

Universal patching method for side-channel vulnerabilities based on atomic obfuscation

Deqing ZOU1,2,3,4, Pan ZHANG1,2,3,4, Wei LIU5, Weijie CHEN1,2,3,4, Yifan LU1,2,3,4   

  1. 1 National Engineering Research Center for Big Data Technology and System, Wuhan 430074, China
    2 Services Computing Technology and System Lab, Wuhan 430074, China
    3 Hubei Engineering Research Center on Big Data Security, School of Cyber Science and Engineering, Wuhan 430074, China
    4 Huazhong University of Science and Technology, Wuhan 430074, China
    5 Beijing Jinghang Research Institute of Computing and Communication, Beijing 100089, China
  • Revised:2021-11-22 Online:2022-04-15 Published:2022-04-01
  • Supported by:
    The National Natural Science Foundation of China(62172168)

Abstract:

Executing code containing side-channel vulnerabilities exhibits different non-functional behaviors related to inputs.Attackers can obtain these behaviors by leveraging micro architecture side-channel attacks and then analyze the pattern between the behaviors and the inputs to access sensitive data.Vulnerability repairing at the software layer brings low overheads to a program’s execution.Besides, it does not require modifying hardware or system, which enables fast patching and widespread deployment.It becomes the mainstream strategy applied to the current cryptographic implementations.However, existing solutions are deeply bound to the program’s implementation and requires manual intervention.This brings challenge to implement and is not versatile enough.A general patching method was proposed for side-channel vulnerabilities that combined dynamic obfuscated execution with hardware atomic transaction.To hide the real accesses of the side-channel vulnerabilities of a program, the proposed method inserted dynamic confusing accesses into the vulnerabilities.To avoid an attacker using fine-grained side-channel attack to distinguish the real access and the confusing access, both of them were encapsulated as transactions and they were guaranteed to be uninterrupted during the running period.In addition, a prototype system called SC-Patcher was implemented based on the LLVM compiler.Various optimization strategies were supported, including secure springboard and transaction aggregation, to further improve system security and performance.Experimental results show that the proposed method makes it impossible for an attacker to restore accurate sensitive data through side-channel attack, and it also brings almost no additional performance overhead to the program.

Key words: side-channel defense, vulnerability repair, atomic transaction, obfuscated execution

CLC Number: 

No Suggested Reading articles found!