[CSRC@KAIST 차세대보안R&D리포트] 제어 흐름 무결성 ‘CFI’의 종착점

2021-02-18 10:45
  • 카카오톡
  • 네이버 블로그
  • url
CFI만으로 모든 제어 흐름 공격 막을 수 없어...정상적인 실행 흐름에 대한 정의 세분화 필요성

[보안뉴스= 정동재 KAIST 사이버보안연구센터 악성코드 분석팀 팀장] 제어 흐름 공격을 막기 위해 많은 전문가들이 제어 흐름 무결성(CFI: Control Flow Integrity)을 연구했지만, 모든 제어 흐름 공격을 막을 수는 없었습니다. CFI는 정적 분석을 통해 CFG(Control Flow Graph)를 생성하고, 실행 시점에 CFG 정책을 준수하는지 확인하는데, 프로그램의 경로는 프로그램의 ‘문맥’에 의해 좌우되므로 CFG를 생성하는 시점에서는 정확한 경로를 알 수 없기 때문입니다. 그 이유는 CFG는 정적 분석에서 생성되는데, 이때는 여러 경로의 정상적인 실행 흐름에 대한 여러 후보만 파악할 수 있으며, 단 하나의 정확한 경로로 특정하는 것은 오직 실행 시의 ‘문맥’에 의해 결정되기 때문입니다.


[이미지=utoimage]

좀 더 구체적으로 접근해 보면, 간접 제어 분기문에서 분기될 수 있는 A, B의 경로가 존재할 때, 정적 분석을 통해 생성된 CFG는 본래의 프로그램에서 두 개의 정상적인 경로가 존재합니다. 하지만, 실행 시점에서 프로그램이 A로 분기되도록 의도되어 실행되더라도, 공격으로 인해 변조되어 B로 분기될 수 있습니다. 이 경우에도 CFI는 A, B 경로 모두 정상적인 실행 흐름으로 간주하기 때문에 공격을 탐지하지 못합니다.

이러한 상황에서 제어 흐름 공격을 정확하게 판단하기 위해서는 어떻게 해야 할까요? 정상적인 실행 흐름에 대한 정의를 더욱 세분화할 필요가 있습니다. 예를 들어, A, B 각각의 경로로 가기 위한 조건에 대한 정보를 추가하는 것이 가능합니다. 변수 x의 값에 x가 0보다 크면 A 경로, x가 0보다 작을 때 B경로로 분기될 때, 변수 x의 값도 경로를 판단하는 정보로 추가하는 것입니다. 여기서 변수 x의 값은 실행 시점에서 경로를 결정짓는 중요한 역할을 담당합니다. 이처럼 CFG 정책에서 간접 제어 분기문이 여러 경로로 분기될 수 있을 때, 각각의 경로로 분기되기 위한 추가적인 조건을 분석하여 CFG와 함께 검사할 수 있습니다.

실제로 최신 연구 동향을 살펴보면 이러한 방식으로 CFG 정책을 더욱 세밀하게 제한함으로써 보안성을 더욱 향상하는 방식이 주를 이루고 있습니다. 간접 제어 흐름과 관련된 프로그램의 문맥을 분석하여 간접 제어 분기문의 경로를 결정짓는 데이터를 기준으로 경로를 더욱 세분화하는 방식으로 접근합니다. 이러한 데이터는 간접 제어 분기문의 값을 직접 변경하는 데이터 또는 간접적으로 영향을 끼치는 데이터가 포함됩니다.

예를 들어, 함수 포인터가 존재할 때 이 포인터는 데이터 x가 0보다 클 때 함수 A를 할당하고, x가 0보다 작거나 같을 때 함수 B를 할당한다고 할 때, A와 B는 포인터의 값에 직접적으로 영향을 끼칩니다. 마찬가지로 데이터 x의 경우, x의 값에 의해 제어 흐름이 변경되어 포인터의 값에 간접적으로 영향을 끼치는 데이터에 해당합니다. 기존의 CFG에서는 함수 포인터는 경로 A 또는 B로 갈 수 있다고 정의되지만, 이 데이터들을 분석하여 적용하면, 포인터의 값이 A이고 데이터 x가 0보다 클 때, 경로 A로 분기한다는 추가적인 정보를 바탕으로 경로를 확정 지을 수 있습니다.


▲정동재 KAIST 사이버보안연구센터 악성코드 분석팀 팀장[사진=KAIST]
이 연구들의 공통점은 간접 제어 분기문의 값을 변경시키는 데이터를 정의하고 분석한 뒤, 이 데이터의 값에 따라서 변경되는 간접 제어 분기문의 경로를 추가로 제한하는 더욱 세분화된 CFG 정책을 작성했다는 것입니다. 다만, ‘어떤 데이터를 이용해서 CFG 정책을 더욱 제한하는가?’의 차이점만 존재할 뿐입니다.

인텔에서 최근에 탑재된 CET(Control-flow Enforcement Technology) 기술 또한 프로그램의 ‘문맥’을 알 수 없다는 한계점을 가지기 때문에 실행 시 문맥에 의해 결정되는 정확한 경로를 알 수 없기에 완벽한 보안을 제공하지 못합니다. 이를 통해 우리가 생각해야 할 교훈은 하나의 최신 보안 기술이 나오더라도 그 기술이 모든 보안 문제를 해결해 줄 수 있는 것은 아니라는 점입니다. 다양한 보안 기술들이 서로 보완하면서 기능할 때 비로소 안전한 시스템이 완성되지 않을까 생각합니다. CFI 또한 자신의 역할을 충실히 할 수 있도록 더욱 향상된 기법이 연구되어 완전무결한 CFI의 종착점에 도달하길 기대합니다.
[글_ 정동재 KAIST 사이버보안연구센터 악성코드 분석팀 팀장]

<저작권자: 보안뉴스(www.boannews.com) 무단전재-재배포금지>

연관 뉴스

헤드라인 뉴스

TOP 뉴스

이전 스크랩하기


과월호 eBook List 정기구독 신청하기

    • 지인테크

    • 인콘

    • 엔텍디바이스코리아

    • 지오멕스소프트

    • 다봄씨엔에스

    • 아이디스

    • 씨프로

    • 웹게이트

    • 엔토스정보통신

    • 하이크비전

    • 한화비전

    • ZKTeco

    • 비엔에스테크

    • 비엔비상사

    • 원우이엔지
      줌카메라

    • 비전정보통신

    • 트루엔

    • 이화트론

    • 다누시스

    • 테크스피어

    • 렉스젠

    • 슈프리마

    • 혜성테크윈

    • 시큐인포

    • 미래정보기술(주)

    • 효성인포메이션시스템

    • 투윈스컴

    • 경인씨엔에스

    • (주)우경정보기술

    • 성현시스템

    • 디비시스

    • 다후아테크놀로지코리아

    • 유니뷰

    • 이오씨

    • 한국씨텍

    • 세연테크

    • 위트콘

    • 구네보코리아주식회사

    • 주식회사 에스카

    • 유에치디프로

    • 포엠아이텍

    • 넥스트림

    • 트렐릭스

    • 엔피코어

    • 투씨에스지

    • 블루문소프트

    • 엑소스피어랩스

    • 시엔스

    • 워터월시스템즈

    • 신우테크
      팬틸드 / 하우징

    • 에프에스네트워크

    • 네이즈

    • 케이제이테크

    • 셀링스시스템

    • 사라다

    • 아이엔아이

    • (주)일산정밀

    • 새눈

    • 앤디코

    • 유투에스알

    • 태정이엔지

    • 네티마시스템

    • 에이치지에스코리아

    • 에이앤티코리아

    • 미래시그널

    • 엘림광통신

    • 모스타

    • 주식회사 알씨

    • 에스에스티랩

    • 에이앤티글로벌

    • 지와이네트웍스

    • 현대틸스
      팬틸트 / 카메라

    • 지에스티엔지니어링
      게이트 / 스피드게이트

    • 티에스아이솔루션

    • 두레옵트로닉스

    • 엔에스티정보통신

    • 보문테크닉스

    • 포커스에이치앤에스

    • 엔시드

    • 동양유니텍

    • 메트로게이트
      시큐리티 게이트

    • 엠스톤

    • 글로넥스

    • 유진시스템코리아

    • 카티스

    • 세환엠에스(주)

Copyright thebn Co., Ltd. All Rights Reserved.

MENU

회원가입

PC버전

닫기