본문 바로가기
KERD
논문KCI 등재

WACFI : 웹 어셈블리에서의 간접호출 명령어 보호를 위한 코드 계측 기술

WACFI : Code Instrumentation Technique for Protection of Indirect Call in WebAssembly

0

조회

0

다운로드

0

인용

0

참고문헌

키워드

주제분류컴퓨터학

초록

웹 어셈블리는 웹 환경에서 수행 가능한 명령어 형식을 일컫는다. 최근 웹 어셈블리의 성능적인 우수함 때문에 다양한 웹 애플리케이션에서 웹 어셈블리가 활용되고 있다. 하지만 본 논문에서는 보안 관점에서 웹 어셈블리의 간접호출 명령어에 대한 보호 기능에 취약한 부분이 있다는 것을 알게 되었고, 이에 이러한 웹 어셈블리에서의 간접호출 명령어의 보호를 위한 코드 계측 기술인 WACFI를 제안한다. 구체적으로 WACFI에서는 소스 코드 분석을 통해 얻은 정보를 활용해 웹 어셈블리 코드를 수정하여 웹 어셈블리의 간접호출 명령어 보호 기능을 강화하였다. 우리의 실험 결과에 따르면 WACFI는 단지 약 2.75%의 성능 부하만으로 이러한 보안 기능을 제공하는 것으로 확인되었다.

Abstract

WebAssembly(WASM) is a low-level instruction format that can be run in a web environment. Since WASM has a excellent performance, various web applications use webassembly. However, according to our security analysis WASM has a security pitfall related to control flow integrity (CFI) for indirect calls. To address the problem in this paper we propose a new code instrumentation scheme to protect indirect calls, named WACFI. Specifically WACFI enhances a CFI technique for indirect call in WASM based on source code anlysis and binary instrumentation. To test the feasibility of WACFI, we applied WACFI to a sound-encoding application. According to our experimental results WACFI only adds 2.75% overhead on the execution time while protecting indirect calls safely.

참고문헌 (18)

  1. "WebAssembly" (2021)[URL]
  2. Haas, A., "Bringing the web up to speed with WebAssembly", Proceedings of the 38th ACM SIGPLAN Conference on Programming Language Design and Implementation, pp.185~200 (2017)
  3. "devlopers google" (2021)[URL]
  4. "canIuse" (2021)[URL]
  5. McFadden, B., "Security chasms of wasm" (2018), NCC Group
  6. Göktas, E., "Out of control: Overcoming control-flow integrity", 2014 IEEE Symposium on Security and Privacy, pp.575~589 (2014)
  7. Guo, Y., "Function-oriented programming: A new class of code reuse attack in c applications", IEEE Conference on Communications and Network Security, pp.1~9 (2018)
  8. "Emscripten SDK" (2021)[URL]
  9. "LLVM" (2021)[URL]
  10. "wabt" (2021)[URL]
  11. "miniaudio" (2021)[URL]
  12. Abadi, M., "Control-flow integrity principles, implementations, and applications", ACM Transactions on Information and System Security, 13(1), pp.1~40 (2009)
  13. Checkoway, S., "Return-oriented programming without returns", Proceedings of the 17th ACM conference on Computer and communications security, pp.559~572 (2010)
  14. Van Der Veen, V., "A tough call:Mitigating advanced code-reuse attacks at the binary level", 2016IEEE Symposium on Security and Privacy (SP), pp.934~953 (2016)
  15. "RAP: RIP ROP" (2021)[URL]
  16. Niu, B., "Modular control-flow integrity", Proceedings of the 35th ACM SIGPLAN Conference on Programming Language Design and Implementation, pp.577~587 (2014)
  17. Lehmann, D., "Everything old is new again : Binary security of webassembly", 29th {USENIX} Security Symposium, pp.217~234 (2020)
  18. Farkhani, R. M., "On the effectiveness of type-based control flow integrity", Proceedings of the 34th Annual Computer Security Applications Conference, pp.28~39 (2018)

관련 논문AI추천

이 간행물의 다른 논문 (20건)