$\require{mediawiki-texvc}$

연합인증

연합인증 가입 기관의 연구자들은 소속기관의 인증정보(ID와 암호)를 이용해 다른 대학, 연구기관, 서비스 공급자의 다양한 온라인 자원과 연구 데이터를 이용할 수 있습니다.

이는 여행자가 자국에서 발행 받은 여권으로 세계 각국을 자유롭게 여행할 수 있는 것과 같습니다.

연합인증으로 이용이 가능한 서비스는 NTIS, DataON, Edison, Kafe, Webinar 등이 있습니다.

한번의 인증절차만으로 연합인증 가입 서비스에 추가 로그인 없이 이용이 가능합니다.

다만, 연합인증을 위해서는 최초 1회만 인증 절차가 필요합니다. (회원이 아닐 경우 회원 가입이 필요합니다.)

연합인증 절차는 다음과 같습니다.

최초이용시에는
ScienceON에 로그인 → 연합인증 서비스 접속 → 로그인 (본인 확인 또는 회원가입) → 서비스 이용

그 이후에는
ScienceON 로그인 → 연합인증 서비스 접속 → 서비스 이용

연합인증을 활용하시면 KISTI가 제공하는 다양한 서비스를 편리하게 이용하실 수 있습니다.

안드로이드 애플리케이션 환경에서 CFI 우회 공격기법 연구
A Study of Attacks to Bypass CFI on Android Application Environment 원문보기

情報保護學會論文誌 = Journal of the Korea Institute of Information Security and Cryptology, v.30 no.5, 2020년, pp.881 - 893  

이주엽 (성균관대학교) ,  최형기 (성균관대학교)

초록
AI-Helper 아이콘AI-Helper

CFI(Control Flow Integrity)는 제어 흐름을 검증해 프로그램을 보호하는 기법이다. 안드로이드 환경에서 애플리케이션 보호를 위해 LLVM Clang 컴파일러가 지원하는 CFI 기법인 IFCC(Indirect Function Call Checks)와 SCS(Shadow Call Stack)이 도입되었다. IFCC가 함수 호출, SCS이 함수 복귀 시 제어 흐름을 보호한다. 본 논문에서는 IFCC, SCS을 적용한 애플리케이션 환경에서 CFI 우회 공격기법을 제안한다. 사용자 애플리케이션에 IFCC, SCS을 적용하여도 애플리케이션 메모리 내 IFCC, SCS으로 보호되지 않은 코드 영역이 다수 존재하는 것을 확인하였다. 해당 코드 영역에서 공격을 위한 코드를 실행해 1) IFCC로 보호된 함수 우회 호출 기법, 2) SCS 우회를 통한 복귀 주소 변조 기법을 구성한다. 안드로이드10 QP1A. 191005.007.A3 환경에서 IFCC, SCS으로 보호되지 않은 코드 영역을 식별하고 개념 증명(proof-of-concept) 공격을 구현해 IFCC, SCS이 적용된 환경에서 제어 흐름 변조가 가능함을 보인다.

Abstract AI-Helper 아이콘AI-Helper

CFI(Control Flow Integrity) is a mitigation mechanism that protects programs by verifying control flows. IFCC(Indirect Function Call Checks) and SCS(Shadow Call Stack), CFI supported by LLVM Clang compiler, were introduced to protect applications in Android. IFCC protects function calls and SCS prot...

주제어

표/그림 (8)

질의응답

핵심어 질문 논문에서 추출한 답변
CFI란? CFI(Control Flow Integrity)는 제어 흐름을 검증해 프로그램을 보호하는 기법이다. 안드로이드 환경에서 애플리케이션 보호를 위해 LLVM Clang 컴파일러가 지원하는 CFI 기법인 IFCC(Indirect Function Call Checks)와 SCS(Shadow Call Stack)이 도입되었다.
CFI 기법인 IFCC이 어떤 목적에서 도입되었나? CFI(Control Flow Integrity)는 제어 흐름을 검증해 프로그램을 보호하는 기법이다. 안드로이드 환경에서 애플리케이션 보호를 위해 LLVM Clang 컴파일러가 지원하는 CFI 기법인 IFCC(Indirect Function Call Checks)와 SCS(Shadow Call Stack)이 도입되었다. IFCC가 함수 호출, SCS이 함수 복귀 시 제어 흐름을 보호한다.
애플리케이션 메모리 내 CFI 비보호 영역이 존재하기 때문에 내린 결론은? 또한 재사용이 많은 라이브러리 특성 상 CFI로 보호되지 않은 사용자 라이브러리가 사용될 확률이 높다. 결론적으로 단기간 내에 모든 코드 영역에 CFI가 패치되기 어려워 CFI 우회 공격기법을 활용할 수 있을 것으로 보인다.
질의응답 정보가 도움이 되었나요?

참고문헌 (22)

  1. L. Szekeres, M. Payer and T. Wei, "Sok: eternal war in memory," Proc. of the IEEE Symposium on Security and Privacy, pp. 48-62, May. 2013. 

  2. N. Burow, S.A. Carr and J. Nash, "Control-flow integrity: precision, security, and performance," ACM Computing Surveys, pp. 1-33, Apr. 2017. 

  3. M. Abadi, M. Budiu and J. Ligatti, "Control-flow integrity principles, implementations, and applications," ACM Transactions on Information and System Security, pp. 1-40, Nov. 2009. 

  4. J. Seo, B. Lee and S.M. Shih, "SGX-shield: enabling address space layout randomization for SGX programs," Proc. of the Network and Distributed Systems Security Symposium, Feb. 2017. 

  5. S. Jeong, J. Hwang and H. Kwon, "A CFI countermeasure against GOT overwrite attacks," IEEE Access, pp. 36267-36280, Feb. 2020. 

  6. A. Biondo, M. Conti and D. Lain, "Back to the epilogue: evading control flow guard via unaligned targets," Proc. of the Network and Distributed Systems Security Symposium, Feb. 2018. 

  7. C. Tice, T. Roeder and P. Collingbourne, "Enforcing forward-edge control-flow integrity in {GCC} & {LLVM}," Proc. of 23rd USENIX Security Symposium, pp. 941-955, Aug. 2014. 

  8. T. Nguyen, J. Mcdonald and W. Glisson, "Detecting repackaged android applications using perceptual hashing," Proc. of the 53rd Hawaii International Conference on System Sciences, pp. 6641-6650, Jan. 2020. 

  9. E.M. Koruyeh, S.H.A. Shirazi and K.N. Khasawneh, "SPECCFI: mitigating spectre attacks using CFI informed speculation," Proc. of the IEEE Symposium on Security and Privacy, pp. 39-53, May. 2020. 

  10. AOSP, "ShadowCallStack," https://source.android.com/security/enhancements/enhancements10, Dec. 2019. 

  11. Clang 12 documentation, "Cross-DSO," https://clang.llvm.org/docs/ControlFlo wIntegrityDesign.html, Dec. 2019. 

  12. Clang 12 documentation, "ShadowCall Stack," https://clang.llvm.org/docs/ShadowCallStack.html, Dec. 2019. 

  13. N. Carlini, A. Barresi and M. Payer, "Control-flow bending: on the effectiveness of control-flow integrity," Proc. of 24th USENIX Security Symposium, pp. 161-176, Aug. 2015. 

  14. V. Parikh and P. Mateti, "ASLR and ROP attack mitigations for ARM-based android devices," International Symposium on Security in Computing and Communication, pp. 350-363, Nov. 2017. 

  15. T. Saito, R. Watanabe and S. Kondo, "A survey of prevention/mitigation against memory corruption attacks," 19th International Conference on Network-Based Information Systems, pp. 500-505, Sep. 2016. 

  16. J. Xu, P. Ning and C. Kil, "Automatic diagnosis and response to memory corruption vulnerabilities," Proc. of the 12th ACM conference on Computer and communications security, pp. 223-234, Nov. 2005. 

  17. ROPgadget, "gadget," http://shell-storm.org/project/ROPgadget, Dec. 2019. 

  18. B. Lee, L. Lu and T. Wang, "From zygote to morula: fortifying weakened aslr on android," Proc. of the IEEE Symposium on Security and Privacy, pp. 424-439, May. 2014. 

  19. M. Conti, S. Crane and L. Davi, "Losing control: on the effectiveness of control-flow integrity under stack attacks," Proc. of the 22nd ACM SIGSAC Conference on Computer and Communications Security, pp. 952-963, Oct. 2015. 

  20. N. Carlini and D. Wagner, "{ROP} is still dangerous: breaking modern defenses," Proc. of 23rd USENIX Security Symposium, pp. 385-399, Aug. 2014. 

  21. L. Davi, A.R. Sadeghi and D. Lehman, "Stitching the gadgets: on the ineffectiveness of coarse-grained control-flow integrity protection," Proc. of 23rd USENIX Security Symposium, pp. 401-416, Aug. 2014. 

  22. I. Evans, F. Long and U. Otgonbaatar, "Control jujutsu: on the weaknesses of fine-grained control flow integrity," Proc. of the 22nd ACM SIGSAC Conference on Computer and Communications Security, pp. 901-913, Oct. 2015. 

관련 콘텐츠

오픈액세스(OA) 유형

FREE

Free Access. 출판사/학술단체 등이 허락한 무료 공개 사이트를 통해 자유로운 이용이 가능한 논문

섹션별 컨텐츠 바로가기

AI-Helper ※ AI-Helper는 오픈소스 모델을 사용합니다.

AI-Helper 아이콘
AI-Helper
안녕하세요, AI-Helper입니다. 좌측 "선택된 텍스트"에서 텍스트를 선택하여 요약, 번역, 용어설명을 실행하세요.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.

선택된 텍스트

맨위로