PROCESSOR

차세대 인텔 타이거 레이크(Tiger Lake), 아키텍처 레벨로 보안 기능 추가

by 아키텍트 posted Jun 18, 2020
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄

1_o.jpg


인텔은 16일(현지시간) 차기 CPU "타이거 레이크(Tiger Lake)" 세대부터 강력한 보안 기능인 "Intel CET(Control-Flow Enforcement Technology)"를 구현한다고 밝혔다.


이 기능을 이용하기 위해서는 OS의 지원이 필요하여 Windows 10에서는 「Hardware-enforced Stack Protection」라는 이름으로 탑재됐고, 오늘부터 제공이 개시된 Insider Preview에서 이미 구현되고 있다.


IntelCET는 말하자면 Windows XP SP2 이후에 실장되고 있는「데이터 실행 방지(DEP)」에 뒤잇는 강력한 보안 대책이다. DEP의 장착에 의해 데이터 영역에 코드 실행이 불가능하게 되었기 때문에 큰폭으로 시큐리티 성이 향상되었지만 최근 이 DEP를 우회하는 수법이 짜여지고 있어 소프트웨어만의 대책으로는 불충분해졌다.


이들 기법은 ROP(Return Oriented Programming) 혹은 JOP(Jump Oriented Programming), COP(Coll Orented Programming) 등으로 불리며 공격자 사이에서 최근 유행하고 있다. 이러한 수법은 실행 가능한 메모리로부터 실행되고 있는 기존의 코드를 이용하고 있기 때문에 검출이나 방지가 곤란하게 되어 있다.


2_o.jpg


예를 들어 ROP에서는 메모리상의 프로그램 코드를 스캔해 프로그래머가 의도하고 있지 않지만 무효인 오프셋에서 시작된다고 해석했을 경우에 시퀀스를 종료시키는 리턴 명령(RET 명령)으로서 해석할 수 있는 코드를 찾는다. 그리고 리턴의 돌아오는 곳의 주소를 주의 깊게 배치함으로써 오리지날 프로그램이 배치되어 있는 실행 가능한 바이트를 이용해 본래 의도하지 않은 임의의 공격 코드를 실행할 수 있게 된다.


이 ROP 공격은 RET 명령에 의존하고 있어 다음에 실행할 명령의 주소를 스택으로부터 취득하게 되어 있다. 따라서 스택을 파괴하는 것이 공격의 실마리가 된다. 여기서 IntelCET는 OS 가 애플리케이션을 메모리 액세스로부터 보호하는 섀도 스택을 작성하는 것을 가능하게 한다. 섀도 스택에서는 리턴 주소의 카피를 CPU에 보존하며 이것에 의해 ROP 공격을 시행할 목적으로, 스택의 리턴 주소를 변경/파괴할 수 있어도, CET 스테이트 머신이 섀도 스택과의 불일치를 검출할 수 있어 OS에 예외를 보고해 공격을 막을 수 있게 된다.


마찬가지로 JOP나 COP 등의 간접적인 분기 명령에 대해서는 간접적인 브랜치 트래킹 기능을 추가함으로써 공격을 막는 구조를 이루고 있다. Intel CET는 마이크로 아키텍처 수준으로 실장되어 있으며 모바일 뿐만 아니라 데스크탑이나 서버 플랫폼에서도 구현된다.


출처 - https://pc.watch.impress.co.jp/docs/news/1259634.html






Articles

1 2 3 4 5 6 7 8 9 10