2015년에 연구원들은 업계 전반의 보안 문제를 촉발한 놀라운 발견을 보고했습니다. 이는 간단한 사용자 수준 애플리케이션이 DDR 메모리 칩의 특정 영역에 반복적으로 액세스할 때 중요한 데이터를 손상, 수정 또는 훔칠 수 있는 RowHammer라는 공격입니다. 앞으로 몇 년 동안 메모리 칩 제조사들은 주로 프로그램이 특정 시간에 대상 칩 영역을 열고 닫을 수 있는 횟수를 제한함으로써 공격을 방지하는 방어책을 개발하기 위해 노력했습니다.
최근 연구원들은 RowHammer 완화 기능이 내장된 DDR4라는 최신 세대의 칩에서도 동일한 유형의 RowHammer 유도 비트플립을 생성하는 새로운 방법을 고안했습니다. RowPress로 알려진 이 새로운 공격은 신중하게 선택한 영역을 반복적으로 “해머링”하는 것이 아니라 평소보다 오랫동안 열어 두는 방식으로 작동합니다. 비트플립(Bitflip)은 1로 표현된 비트가 0으로 바뀌거나 그 반대로 바뀌는 현상을 말합니다.
읽기 방해 공격(메모리 칩에 대한 비정상적인 액세스를 통해 비트플립을 유도하는 일반적인 용어)에 대한 DDR4 칩의 취약성을 더욱 증폭시키면서 RowPress 비트플립은 RowHammer 액세스와 결합하여 향상될 수 있습니다. 흥미롭게도 칩의 온도를 높이면 효과도 강화됩니다.
“우리는 이미 RowHammer에 대한 보호 기능을 사용하고 있는 실제 시스템에서 비트플립을 일으킬 수 있는 RowPress 프로그램의 개념 증명을 보여줍니다.”라고 ETH Zürich 교수이자 최근 발표된 논문의 공동 저자인 Onur Mutlu는 말합니다. RowPress: 최신 DRAM 칩의 읽기 방해 증폭, 이메일에 썼습니다. “이것 자체는 공격이 아니라는 점에 유의하십시오. 이는 단순히 공격의 기초를 쉽게 형성할 수 있는 비트플립이 가능하고 풍부하다는 것을 보여줍니다. 보안 분야의 많은 이전 연구에서 알 수 있듯이 일단 비트플립을 유도할 수 있으면 해당 비트플립을 다양한 공격에 사용할 수 있습니다.”
DIMM, 비트 및 우주선
DRAM(동적 랜덤 액세스 메모리)의 기본 구성 요소는 저장 셀입니다. 각 셀은 커패시터와 트랜지스터로 구성되며 단일 비트의 데이터를 저장합니다. 메모리 셀에 비트를 넣으면 트랜지스터가 커패시터를 충전하거나 방전하는 데 사용됩니다. 충전된 커패시터는 1로 표시되고, 방전된 커패시터는 0으로 표시됩니다. 대부분의 경우 DRAM 셀은 행과 열의 직사각형 배열로 구성됩니다.
이러한 행과 열은 랭크와 뱅크로 배열되어 듀얼 인라인 메모리 모듈을 형성합니다. DIMM으로 더 잘 알려진 이 직사각형 스틱은 컴퓨터 마더보드에 연결됩니다. 컴퓨터가 메모리 덩어리에 액세스하면 원하는 데이터가 저장되어 있는 셀의 행을 열고 이를 CPU로 전송합니다.
비트플립은 오랫동안 자연적으로 발생하는 희귀한 현상으로 알려져 왔습니다. 이는 트랜지스터 게이트 내의 예상치 못한 전자 흐름으로 인해 소스 또는 흐름이 발생하는 회로 부분과 흐름이 수신되는 싱크 사이의 전압이 변경될 때 발생합니다. 2003년 벨기에 선거에서 우주에서 온 우주선이 정치 후보자에게 비트플립을 일으켰다고 널리 알려져 있습니다. 추가 4,096표 수정되기 전. (숫자 4,096, 2로도 표현 가능)1212번째 비트에 비트플립이 있었음을 나타냅니다.)
그러다가 2014년에 이전에 알려지지 않은 방법을 발견했습니다. 인위적으로 비트플립을 유도 마음대로. 컴퓨터가 DRAM 행을 반복적으로 망치면 인접한 행에서 비트플립이 발생할 수 있다는 사실을 발견했습니다. RowHammer 용어로 망치로 치는 행을 공격자 행이라고 합니다. 비트가 뒤집힌 행을 희생 행이라고 합니다.