RowHammer 메모리 해킹 취약점
로우해머 취약점이란
DRAM 반도체 칩에는 셀(cell)이라는 저장 단위가 바둑판 모양으로 배열돼 있다. 그 중 어떤 행(row)에 무지막지하게 반복적으로 읽기 혹은 쓰기 작업을 시키면(hammer) 전기장이 발생하여, 다른 행에 있는 셀의 저장 값이 바뀔 수 있다(bit flip). 이런 메모리 칩의 설계 결함을 이용한 공격 방법이 2014년에 개발되어 로우해머란 이름을 얻었다.최초 발견 이후 많은 연구자의 관심을 받아 지속적으로 개량됐다. DDR3 뿐만 아니라 DDR4 RAM에서도 작동하게 됐고, GPU를 이용해 공격 속도를 비약적으로 향상시켰다. 가장 무서운 점은 물리적으로 기기에 접근하지 않고도 원격으로 공격할 수 있게 된 것이다. 웹 페이지에서 자바 스크립트로 공격할 수 있다. 네트워크 패킷을 통한 공격 방법도 개발됐다.
그리하여 엣지 브라우저를 이용해 Windows 기기를 장악하고, 클라우드 환경의 리눅스 가상 머신을 장악하며, 안드로이드 스마트폰의 루트 권한을 얻는 등의 시연이 이루어졌다. 메모리라는 하드웨어적인 취약점을 이용하는 것이기 때문에 운영체제를 가리지 않는 것이다.
ECCploit
11.22일에는 ECC를 지원하는 DRAM도 공략할 수 있는 ECCploit라는 새로운 공격 방법이 발표됐다. ECC는 메모리의 오류를 발견하여 정정하는 기술로, 1990년대부터 활용됐다. 보안 기능이 아니라 안정성을 위한 것으로, 고도의 정밀성이 요구되는 시스템에 주로 이용된다. 가정용 PC의 DRAM에는 거의 사용되지 않는다.로우해머는 의도적으로 메모리에 오류를 일으키는 것이므로, 결과적으로 ECC가 지원되는 DRAM에서는 작동하지 않았다. 그런데 이번에 ECC의 허점을 노려, ECC DRAM도 공격할 수 있는 방법을 찾아낸 것이다.
아직은 이론적인 수준
상당히 위협적으로 들리지만 아직 실제 공격 사례는 발견되지 않았다. CPU의 스펙터(Spectre) 취약점과 마찬가지로 해킹의 가성비 문제일 것이다. ECCploit만 해도 공격하는 데 최소 30분에서 길면 1주일이나 걸린다.메모리에 대한 패치는 불가능하다. 다만 일부 소프트웨어적인 완화 조치(mitigation)는 논의되고 있다.
참고 자료
댓글
댓글 쓰기