• 제목/요약/키워드: CFI(Control Flow Integrity)

검색결과 7건 처리시간 0.02초

소스코드 기반의 정밀도 높은 실행 흐름 보호 기법 (Precise control flow protection based on source code)

  • 이종협;김용승
    • 정보보호학회논문지
    • /
    • 제22권5호
    • /
    • pp.1159-1168
    • /
    • 2012
  • 기존의 Control Flow Integrity(CFI)와 Control Flow Locking(CFL) 기법은 프로그램이 개발자의 의도대로만 실행되도록 강제하여 실행 흐름의 무결성을 제공하고 안전한 프로그램 실행을 보장한다. 하지만, 함수 호출 문맥을 인지하는 보호 기법을 제공하지 않아 정밀도가 떨어지고 이를 악용한 공격을 허용하는 취약점을 가지고 있다. 본 논문에서는 이러한 문제점들을 해결하는 Source-code CFI(SCFI) 시스템을 제안한다. 제안한 시스템에서는 정밀도 높은 CFI 기능을 제공하여 프로그램의 안전성을 높인다.

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

  • 이주엽;최형기
    • 정보보호학회논문지
    • /
    • 제30권5호
    • /
    • pp.881-893
    • /
    • 2020
  • 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이 적용된 환경에서 제어 흐름 변조가 가능함을 보인다.

CFI(Control Flow Integrity) 적용을 통한 GOT(Global Offset Table) 변조 공격 방지 방안 연구 (CFI Approach to Defend against GOT Overwrite Attacks)

  • 정승훈;황재준;권혁진;신동규
    • 인터넷정보학회논문지
    • /
    • 제21권1호
    • /
    • pp.179-190
    • /
    • 2020
  • 유닉스 계열 시스템 환경에서 GOT 변조(GOT overwrite) 공격은 소프트웨어 권한 탈취를 위한 전통적인 제어흐름 탈취 기법 중 하나이다. 그 동안 GOT 변조를 방어하기 위한 몇 가지 기법들이 제안되었는데, 그 중 프로그램 로딩 단계에서 GOT 영역을 읽기전용 속성으로 메모리 배치하여 실행 시간에 GOT 변조를 원천적으로 차단하는 Full Relro(Relocation Read only) 기법이 가장 효과적인 방어기법으로 알려져 왔다. 하지만, Full Relro 기법은 로딩 시간의 지연을 가져와 시작 성능에 민감한 프로그램의 적용에는 제약이 있고, 라이브러리에 적용시 의존 라이브러리에 의한 연쇄적인 로딩 지연 문제 등으로 라이브러리에는 현재 적용되지 않고 있다. 또한, LLVM을 포함한 다수의 컴파일러들은 Full Relro 기법을 기본 적용하지 않아 실행환경의 프로그램은 GOT 공격에 여전히 취약하다. 이 논문에서는 현재 코드 재사용 공격 방어를 위해 가장 적합한 기법으로 인식되고 있는 CFI(Control Flow Integrity) 기법을 사용한 GOT 보호 장치를 제안한다. LLVM을 기반으로 본 기법을 구현하고 binutils-gdb 프로그램 그룹에 적용해 보안성, 성능, 호환성 등을 평가하였다. 본 CFI 기반 GOT 보호 장치는 우회하기 어렵고, 빠르며 기존 라이브러리 프로그램과도 호환되어 적용가능성이 높다.

LLVM CFI 와 비교한 Windows CFG 의 한계점 (Limitations of Windows CFG compared with LLVM CFI)

  • 박상민;최형기
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2022년도 추계학술발표대회
    • /
    • pp.225-227
    • /
    • 2022
  • CFI(Control Flow Integrity)는 제어 흐름을 검증해 프로그램을 보호하는 기법이다. Windows에서는 CFG(Control Flow Guard)란 이름으로 CFI 를 지원하고 LLVM 에서는 동일하게 CFI 란 이름으로 지원한다. 본 논문에서는 Windows CFG 의 몇 가지 한계점을 LLVM IFCC 와 비교해서 찾아보고 대안책을 제안한다. CFG 에 성능, 확장성, 보안 측면에서 LLVM IFCC 와 비교하여 한계점이 존재한다는 것을 확인하였다. 본 논문에서는 각 항에 대한 이론적 근거를 제시하고 문제를 해결할 수 있는 몇 가지 대응책을 소개한다.

WACFI: 웹 어셈블리에서의 간접호출 명령어 보호를 위한 코드 계측 기술 (WACFI: Code Instrumentation Technique for Protection of Indirect Call in WebAssembly)

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

CFI 기술의 연구 동향 및 모바일 기기에의 적용 가능성 고찰 (A Study on Researches for CFI enforcement and their Application to Mobile Devices)

  • 이용제;이진용;허인구;문현곤;황동일;백윤흥
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2014년도 춘계학술발표대회
    • /
    • pp.408-411
    • /
    • 2014
  • 최근 포스트 PC 시대가 시작되면서 다양한 모바일 기기가 상호 연결되는 트렌드가 나타나고 있다. 하지만 이로 인해 나타나는 보안상의 취약점 문제는 모바일 기기 상에서의 보다 강력한 보안성 요구 하게 되었다. 이 논문에서는 보안 취약점에 대처하는 연구 중 Control Flow Integrity (CFI) 연구에 대한 동향을 살펴보고, 이를 모바일 기기에 적용하기 위해서 고려해야 할 점에 대하여 논하겠다.

TCST : 신뢰실행환경 내에서 스마트 컨트랙트의 제어 흐름 무결성 검증을 위한 기술 (TCST : A Technology for Verifying Control Flow Integrity for Smart Contracts within a Trusted Execution Environment)

  • 박성환;권동현
    • 정보보호학회논문지
    • /
    • 제32권6호
    • /
    • pp.1103-1112
    • /
    • 2022
  • 블록체인 기술은 일상생활을 비롯한 여러 산업 분야에서 활용도가 증가하고 있으며, 이는 분산원장 기술을 통하여 네트워크 참여자들 간의 거래 내역에 대한 정보의 무결성과 투명성을 보장한다. 무결성과 투명성을 보장하는데 가장 중요한 요소인 분산원장은 스마트 컨트랙트를 통하여 수정, 관리된다. 그러나, 스마트 컨트랙트 또한 블록체인 네트워크의 구성요소인 만큼 참여자들에게 투명하게 공개되고 있었으며 이로 인해 취약점이 쉽게 노출될 수 있었다. 이러한 단점을 보완하기 위하여 신뢰실행환경을 활용하여 기밀성을 보장하는 연구가 다양하게 진행되었으나, 실행된 스마트 컨트랙트의 무결성을 보장하기에는 어려움이 따른다. 해당 논문에서는 이러한 문제를 해결하기 위하여 신뢰 실행환경내에서 실행되는 스마트 컨트랙트의 제어 흐름 무결성을 검증 함으로써 스마트 컨트랙트의 기밀성과 무결성을 동시에 제공하는 것을 목표로 한다.