보안 제품정보


마이크로소프트의 CIG 우회할 수 있는 공격법 개발 2018.03.09

코드 무결성 보호 장치, 우회하여 아무 코드나 주입 가능
공격자 입장에서는 간단, 방어자 입장에서는 복잡


[보안뉴스 문가용 기자] 마이크로소프트의 코드 무결성 보호(Code Integrity Guard, CIG) 장치를 우회하여 악성 코드를 주입하는 방법이 개발됐다.

[이미지 = iclickart]


CIG는 2015년 윈도우 10의 출시와 함께 처음 등장한 기능으로 위험을 약화시키는 방법 중 하나다. 그 이후에는 디바이스 가드(Device Guard)로 편입되었다. CIG는 마이크로소프트, WQL, 마이크로소프트 스토어가 서명한 이미지만 로딩하도록 제한하는 기능을 가지고 있다. 그러므로 인증받지 못한 코드가 애드웨어나 멀웨어로부터 실행되지 못하도록 한다.

하지만 이 CIG도 우회가 가능하니, 이 기술을 CIG슬립(CIGslip)이라고 보안 전문가 마이클 고렐릭(Michael Gorelik)은 부른다. 보안 업체 모피섹(Morphisec)의 CTO이기도 한 그는 “서명 없이 DLL을 로딩하는 방법을 찾아냈다”고 오늘 발표했다. 특히 CIG로 보호받는 마이크로소프트 엣지 브라우저를 통해 이를 구현하는 게 가능하다고 그는 말했다.

CIG슬립은 정상적인 윈도우 DLL 로딩을 흉내 냄으로써 CIG를 피해간다. CIG가 활성화시키지 않은 프로세스를 어뷰징해서 CIG가 보호하는 프로세스로 코드를 주입하는 것이 핵심이라고 한다. 이렇게 하면 공격자로서는 어떤 종류의 코드든 마이크로소프트 엣지 브라우저로 주입하는 게 가능해진다.

“간단한 기술입니다. 솔직히 이런 방법이 아직까지 알려지지 않았다는 게 신기할 정도였어요.” 고렐릭의 설명이다. “그 어떤 종류의 DLL이라도 로딩이 가능했고, CIG 프로세스를 농락하면서도 아무런 경보가 울리지 않음을 확인했습니다.”

CIG슬립은 간단하지만 “굉장히 파괴적일 수 있는 잠재력을 가지고 있는 기술”이다. “CIG는 꽤나 효율이 좋은 보호 장치로, 많은 사이버 범죄 행위자들을 불편하게 만드는 것이었습니다. 특히 엣지 브라우저를 공략하고자 하는 시도를 많이 막았죠. 하지만 CIG 우회 기술만 있으면 엣지도 뚫리게 됩니다.”

이 CIG슬립 기술은 은밀하기도 하다. “공격 받는 입장에서는 공격을 탐지할 수가 없어요. 모든 프로세스를 하나하나 들여다보고 있는 게 아니라면요. CIG슬립 공격을 막으려면 보다 엄격하고 빡빡한 모니터링 체재와 탐지 규칙이 필요합니다.”

모피섹은 마이크로포스트에 연락해 이러한 사실을 알렸다. “저희가 보기에는 매우 심각한 취약점이었습니다.” 마이크로소프트는 “CIG가 보호하는 범위 바깥의 문제”라고 주장한다. 해결해야 하는 문제는 맞지만 CIG의 결함이라고 보기 어렵고, 따라서 버그바운티 등의 상금을 수여하기가 어렵다는 뜻이다.

CIG슬립을 공격자들이 사용하면 엣지 브라우저를 통해 멀웨어와 애드웨어를 삽입할 수 있을뿐 아니라, 해당 소프트웨어 안의 악성 코드 자체를 실행시킬 수 있게 된다. 게다가 방어자 입장에서는 보호해야 하는 프로세스마다 마이크로소프트가 서명한 DLL을 필요로 하게 되니 무척 까다롭기까지 하다. 심지어 공격자가 마이크로소프트의 서명 과정에 개입하기라도 하면, 이 공격은 한층 더 위험하게 변한다.
[국제부 문가용 기자(globoan@boannews.com)]

Copyrighted 2015. UBM-Tech. 117153:0515BC
<저작권자: 보안뉴스(www.boannews.com) 무단전재-재배포금지>