최소 단어 이상 선택하여야 합니다.
최대 10 단어까지만 선택 가능합니다.
다음과 같은 기능을 한번의 로그인으로 사용 할 수 있습니다.
NTIS 바로가기Journal of Internet Computing and Services = 인터넷정보학회논문지, v.21 no.1, 2020년, pp.179 - 190
정승훈 (Department of Computer Engineering, Sejong University) , 황재준 (Hanhwa Systems) , 권혁진 (Ministry of National Defense) , 신동규 (Department of Computer Engineering, Sejong University)
In the Unix-like system environment, the GOT overwrite attack is one of the traditional control flow hijacking techniques for exploiting software privileges. Several techniques have been proposed to defend against the GOT overwrite attack, and among them, the Full Relro(Relocation Read only) techniq...
핵심어 | 질문 | 논문에서 추출한 답변 |
---|---|---|
GOT 변조 공격이란? | 유닉스 계열 시스템 환경에서 GOT 변조(GOT overwrite) 공격은 소프트웨어 권한 탈취를 위한 전통적인 제어흐름 탈취 기법 중 하나이다. 그 동안 GOT 변조를 방어하기 위한 몇 가지 기법들이 제안되었는데, 그 중 프로그램 로딩 단계에서 GOT 영역을 읽기전용 속성으로 메모리 배치하여 실행 시간에 GOT 변조를 원천적으로 차단하는 Full Relro(Relocation Read only) 기법이 가장 효과적인 방어기법으로 알려져 왔다. | |
가장 효과적인 GOT 변조를 방어하는 기법은? | 유닉스 계열 시스템 환경에서 GOT 변조(GOT overwrite) 공격은 소프트웨어 권한 탈취를 위한 전통적인 제어흐름 탈취 기법 중 하나이다. 그 동안 GOT 변조를 방어하기 위한 몇 가지 기법들이 제안되었는데, 그 중 프로그램 로딩 단계에서 GOT 영역을 읽기전용 속성으로 메모리 배치하여 실행 시간에 GOT 변조를 원천적으로 차단하는 Full Relro(Relocation Read only) 기법이 가장 효과적인 방어기법으로 알려져 왔다. 하지만, Full Relro 기법은 로딩 시간의 지연을 가져와 시작 성능에 민감한 프로그램의 적용에는 제약이 있고, 라이브러리에 적용시 의존 라이브러리에 의한 연쇄적인 로딩 지연 문제 등으로 라이브러리에는 현재 적용되지 않고 있다. | |
Full Relro 기법이 갖는 시작 시간 지연이라는 성능 문제의 원인은? | 하지만, Full Relro 기법은 시작 시간 지연이라는 성능 문제를 포함한다. 동적 바인딩은 의존 라이브러리 목록 검색, 라이브러리 함수명의 문자열 비교 등 시간 소요 작업을 필요로 한다 [3]. 다수의 라이브러리가 포함된 프로그램에서, 라이브러리 목록의 뒤에 배치된 라이브러리 함수에 대한 다량의 호출이 발생할 때 심볼 바인딩에 의한 로딩시간은 라이브러리 개수의 제곱에 비례해 느려질 수 있다 [4]. 라이브러리의 경우 일반적인 실행흐름에서 호출되지 않는 다량의 함수를 포함할 수 있고, 지연된 바인딩 없이는 의존 라이브러리에 의한 연쇄적인 로딩 지연 등의 문제가 발생할 수 있어 Full Relro 기법은 적용되지 않는다. |
MITRE. CWE/SANS Top 25 Most Dangerous Software Errors. [Online]. http://cwe.mitre.org/top25/archive/2019/2019_cwe_top25.html
c0ntex. How to hijack the global offset table with pointers for root shells. [Online]. http://www.infosecwriters.com/text_resources/pdf/GOT_Hijack.pdf
M. Zhang and R. Sekar, "Squeezing the dynamic loader for fun and profit," 2015. [Online]. http://www.seclab.cs.stonybrook.edu/seclab/pubs/seclab15-12.pdf
P. Pluzhnikov. Dynamic linking with large number of dsos degrades into linear lookup. [Online]. https://sourceware.org/bugzilla/show_bug.cgi?id16709
C. Lattner and V. Adve, "LLVM: A compilation framework for lifelong program analysis & transformation," in Proceedings of the international symposium on Code generation and optimization: feedback-directed and runtime optimization, IEEE Computer Society, p. 75, 2004. https://doi.org/10.1109/cgo.2004.1281665
H. Shacham et al., "The geometry of innocent flesh on the bone: returninto-libc without function calls (on the x86)," in ACM conference on Computer and communications security, New York? pp. 552-561, 2007. https://doi.org/10.1145/1315245.1315313
Microsoft. Control flow guard. [Online]. https://docs.microsoft.com/en-us/windows/win32/secbp/control-flow-guard
The Clang Team. Control flow integrity. [Online]. https://clang.llvm.org/docs/ControlFlowIntegrity.html
M. Zhang and R. Sekar, "Control Flow Integrity for COTS Binaries," in USENIX Security Symposium, 2013, pp. 337-352. Available: https://doi.org/10.1145/2818000.2818016
B. Niu and G. Tan, "Modular control-flow integrity," ACM SIGPLAN Notices, vol. 49, no. 6, pp. 577-587, 2014. Available: https://doi.org/10.1145/2666356.2594295
M. Abadi, M. Budiu, U. Erlingsson, and J. Ligatti, "Control-flow integrity," in Proceedings of the 12th ACM conference on Computer and communications security, ACM, pp. 340-353, 2005. https://doi.org/10.1145/1102120.1102165
N. Burow, S. A. Carr, J. Nash, P. Larsen, M. Franz, S. Brunthaler, and M. Payer, "Control-flow integrity: Precision, security, and performance," ACM Computing Surveys (CSUR), vol. 50, no. 1, p. 16, 2017. https://doi.org/10.1145/3054924
Microsoft Support. Data execution prevention (dep). [Online]. http://support.microsoft.com/kb/875352/EN-US/
F. Kefallonitis, "Name mangling demystified," 2007. [Online]. http://www.int0x80.gr/papers/name_mangling.pdf
LLVM Project. Writing an LLVM Pass. [Online]. http://llvm.org/docs/WritingAnLLVMPass.html
LLVM Project. LLD - The LLVM Linker. [Online]. https://lld.llvm.org/
LLVM Project. LLVM Link Time Optimization: Design and Implementation. [Online]. https://llvm.org/docs/LinkTimeOptimization.html
C. Rohlf. Cross dso cfi - llvm and android. [Online]. https://struct.github.io/cross_dso_cfi.html
LLVM Project. LLVM Language Reference Manual. [Online]. https://llvm.org/docs/LangRef.html
L. Presser and J. R. White, "Linkers and loaders," ACM Computing Surveys (CSUR), vol. 4, no. 3, pp. 149-167, 1972. https://doi.org/10.1145/356603.356605
Wikipedia, Address Space Layout Randomization. [Online]. https://en.wikipedia.org/wiki/Address_space_layout_randomization
해당 논문의 주제분야에서 활용도가 높은 상위 5개 콘텐츠를 보여줍니다.
더보기 버튼을 클릭하시면 더 많은 관련자료를 살펴볼 수 있습니다.
*원문 PDF 파일 및 링크정보가 존재하지 않을 경우 KISTI DDS 시스템에서 제공하는 원문복사서비스를 사용할 수 있습니다.
출판사/학술단체 등이 한시적으로 특별한 프로모션 또는 일정기간 경과 후 접근을 허용하여, 출판사/학술단체 등의 사이트에서 이용 가능한 논문
※ AI-Helper는 부적절한 답변을 할 수 있습니다.