Offcanvas

보안

로우해머 변종 '램블리드' 취약점 확인··· "보호된 메모리서 기밀 정보 탈취 가능"

2019.06.17 Lucian Constantin  |  CSO
보호된 메모리 구역에 저장된 암호화 키와 같은 기밀 정보를 컴퓨터에서 실행되는 비특권 코드로 탈취하는 새로운 공격을 연구자들이 찾아냈다. 이것이 가능한 것은 최신 DRAM 칩에 존재한다고 알려진 설계 결함 때문이다. 이 결함은 보호된 데이터를 변조하는 데도 악용된 전례가 있다.
 
ⓒ Getty Images Bank

'램블리드(RAMBleed)'라고 명명된 이 새로운 공격은 미시간대 앤드루 퀑과 대니얼 젠킨, 그라즈 기술대 대니얼 그루스, 아들레이드대와 데이터식스티원(Data61)의 유발 야롬이 찾아냈다. 신기술로 무장한 이들 연구원은 사용자 수준 권한으로 실행되는 코드를 사용해 오픈 SSH 서버에서 RSA 2048 비트 서명 키를 추출하는 데 성공했다.

일반적으로 리눅스의 보안 모델과 대부분의 최신 운영 체제에서는 이런 일이 불가능하다. 오픈 SSH는 시스템 서비스로 실행되고 그 메모리는 커널의 메모리와 함께 격리돼 사용자 공간 애플리케이션으로부터 보호되기 때문이다. 그러나 이 연구원들이 밝혀낸 방법을 사용하면 그 보안 경계가 무단으로 침해된다는 점에서 이는 매우 심각하다. 암호와 암호화 키 같은 자산을 보호하기 위해 커널에 의존하는 애플리케이션이 많기 때문이다.

램블리드: 또 다른 하드웨어 설계 결함
램블리드는 로우해머(Rowhammer)라고 하는 또 다른 공격의 변종이다. 알려진 지 몇 년이 된 로우해머는 DDR3 및 DDR 4 SDRAM 메모리 칩에 늘어난 셀 밀도를 악용한다. SDRAM 칩은 열로 배열된 셀 내부에 전하 형태로 정보를 저장한다. 셀이 충전되었느냐 방전되었느냐 상태에 따라 내부에 저장된 값이 1이냐 0이냐가 결정된다. 이 값은 비트를 나타낸다.

과거에 다른 연구원이 밝혀낸 바에 따르면, 물리적인 메모리 셀의 똑같은 열에 읽기 연산을 반복하면(이른바 해머링) 셀의 전하가 인접 열로 누출돼 해당 열의 셀 값을 수정할 수 있다. 이런 일이 가능한 이유는 최신 SDRAM 칩의 셀은 크기가 매우 작고 밀집되어 있기 때문이다. 만일 해커가 이러한 '열 해머링' 효과를 통제할 수 있다면 그 결과 생기는 데이터 수정은 보안에 영향을 미칠 수 있다. 실제로 지금까지 드러난 로우해머 공격을 악용하면 권한 탈취와 소프트웨어 샌드박스 탈출 또는 시스템 중단 등을 초래할 수 있다.

램블리드는 똑같은 열 해머링 개념을 기반으로 하지만 차이점은 데이터를 수정하는 것이 아니라 측면 채널을 이용해 다른 열에서 데이터를 추출한다. 즉, 램블리드는 메모리 셀에 저장된 데이터의 무결성 대신 기밀성에 영향을 미치는 최초의 로우해머형 공격이다.

이번 연구팀은 심지어 오류 정정 코드(ECC) 기능이 있는 SDRAM 칩을 대상으로도 램블리드 공격이 가능하다는 것을 증명했다. ECC 메모리는 서버와 보장성 높은 시스템에 주로 사용되며, 지금까지는 로우해머 공격에 대한 방어책으로 여겨져 왔다. 물리적인 로우해머 효과는 여전히 발생하더라도 정정된 비트를 보안 악용에 안정적으로 사용할 수 없기 때문이다. 그러나 램블리드 연구원의 논문에는 다음과 같은 내용이 있다.

“주목할 점은 뒤집어진 비트가 ECC 메커니즘에 의해 모두 성공적으로 정정된다고 해도, 램블리드는 ECC 메모리의 메모리 기밀성을 깰 수 있다는 것이다. 우리는 표적의 메모리에 대한 프로필을 작성한 후 표적의 물리적인 메모리 내부에 저장된 기밀을 램블리드가 어떻게 빼낼 수 있는지 보여준다. 판독 속도는 초당 약 3~4비트다"

퀑은 CSO와의 인터뷰에서 램블리드 공격은 현재까지 DDR3 SDRAM에서만 테스트와 확인을 했다. DDR4에서의 테스트도 계획 중이다. 연구팀은 이러한 결과를 인텔, AMD, 오픈 SSH, 마이크로소프트, 애플, 레드햇에 통보했으며 CVE-2019-0174 취약성 식별자가 이 문제에 배정됐다.

과거의 로우해머 공격에는 브라우저나 네트워크 패킷을 통해 원격으로 작동하는 변종이 있었지만 램블리드 공격은 로컬 시스템에서 실행하는 코드에 의존한다. 최소한 개념 증명 버전에서는 그렇다. 그러나 위험성이 줄어든 것은 아니다. 악성코드 감염이나 다른 애플리케이션의 취약성을 통해 로컬 코드 실행이 가능하고 공격을 성공시키기 위해 반드시 확장된 권한이 필요한 것은 아니기 때문이다.
 
램블리드를 완화하는 방법
퀑에 따르면, 커널 주소 공간 레이아웃 임의화(KASLR)와 같은 기존의 OS 수준 악용 완화 조치로는 이러한 공격을 막을 수 없다. 단, 오픈SSH와 같은 개별적인 소프트웨어 애플리케이션은 특정 기술을 이용해 메모리에서 기밀을 보호하고 탈취를 어렵게 만들 수 있다. 이를테면 기밀 주위에 버퍼를 추가해 크기를 키우는 식이다. 연구팀은 이를 다음과 같이 설명했다.

“램블리드는 표적의 데이터를 보호하기 위한 메시지 인증 코드(MAC) 사용 등 표적에 적용될 만한 소프트웨어 기반의 무결성 검사를 우회할 수 있다. 뿐만 아니라, 샤미르의 대책 등 오류 주입 공격으로부터 암호화 시스템을 보호하기 위한 기술도 효과가 없다. 이 기술의 보호 대상은 암호화 연산의 무결성이지 기밀성이 아니기 때문이다. 브레이저(Brasser) 등의 메모리 분할 방식 등 다른 소프트웨어 방어책은 램블리드 공격을 완화해 주지 않는다. 커널 메모리로부터 판독을 시도하는 것이 아니기 때문이다.”

인텔은 해당 취약성에 관한 보안 주의보를 발령하고 영향 수준은 낮음(CVSS 점수로 3.8)으로 평가했다. 최소한 인텔의 프로세서와 프로세서의 메모리 처리 방식과 관련이 있음을 확인했다. 인텔 측은 “우리가 인지하고 있는 공개된 악용의 경우, 로우해머형 공격에 견디는 DRAM 모듈의 사용 등 기존의 최선의 방책을 따를 것을 사용자에게 권고한다”라고 설명했다.

레드햇은 로우해머 관련 자체 지식 베이스 기사에 해당 취약성을 추가했으며 하드웨어 기반의 여러 가지 완화 제안 조치를 소개했다. 예를 들면, 표적 열 재생(TRR), 증가한 DRAM 재생 간격(2배의 DRAM 재생률), ECC 메모리 사용 등이다. 레드햇 측은 “이러한 방법이 실제로 문제를 완화하는 정도는 하드웨어 플랫폼에 따라 달라진다. 업체가 플랫폼별로 적절한 지침을 제공할 것으로 기대한다”라고 밝혔다.

CPU에서 발견된 최근 취약성의 경우처럼 완전한 완화를 위해서는 결국 하드웨어를 재설계해서 차세대 SDRAM 칩에 사용되도록 해야 한다. 그러나 향후 이 공격의 다른 변종이나 개량형이 나올 가능성이 있다. 보안 업계에서 흔히 하는 말처럼 공격은 언제나 발전하지 절대 퇴보하지는 않는다.

퀑은 “지난해에 등장한 하드웨어 공격만 해도 얼마나 많은가. 그동안 본 것은 빙산의 일각일지 모른다. 따라서 앞으로 더 많은 것이 등장할 가능성이 높다. 그동안 보안 연구는 소프트웨어를 대상으로 이루어진 기간이 훨씬 더 길다. 하드웨어에 대한 큰 관심이 생긴 것은 최근의 일이다. 앞으로 하드웨어 보안 분야도 비슷하게 발전해 나갈 것이라고 본다”라고 말했다. ciokr@idg.co.kr
CIO Korea 뉴스레터 및 IT 트랜드 보고서 무료 구독하기
Sponsored
추천 테크라이브러리

회사명:한국IDG 제호: CIO Korea 주소 : 서울시 중구 세종대로 23, 4층 우)04512
등록번호 : 서울 아01641 등록발행일자 : 2011년 05월 27일

발행인 : 박형미 편집인 : 천신응 청소년보호책임자 : 한정규
사업자 등록번호 : 214-87-22467 Tel : 02-558-6950

Copyright © 2024 International Data Group. All rights reserved.