문서 편집 권한이 없습니다. 다음 이유를 확인해주세요: 요청한 명령은 다음 권한을 가진 사용자에게 제한됩니다: 사용자. 문서의 원본을 보거나 복사할 수 있습니다. [[분류: 취약점 공격]] == 개요 == Row hammer 공격은 [[DRAM]]에서 인접한 메모리 셀이 전하적으로 다른 셀에 영향을 주어서, 원래는 읽을 수 없는 곳의 정보가 영향을 준 다른 셀에 의하여 읽히거나, 혹은 내용이 바뀌는 Security Attack기법이다. 이러한 영향은 매우 집적도가 높아지는 현대 DRAM구조에서 정교한 Memory access pattern으로 인하여 같은 메모리 Row를 연속적으로 접근함으로 서 일어난다. 이러한 Row hammer 공격은 [[Privilege escalation]]을 발생시키는데 이용될 수 있으며, Network-based 환경에서도 공격하는 것이 가능하다는 것이 알려져 있다. 특정 DRAM하드웨어 모듈이나 Processor와 같은 경우는 자체적으로 이러한 Row hammer공격을 방어할 수 있는 Hardware-based방식의 기법을 채택하고 있다. == 원리 == DRAM은 메모리 접근시 Row와 Column방식으로 접근을 한다. 우선 DRAM은 Row에 해당하는 정보를 Row buffer에 전송하고 여기서 Column에 해당하는 행을 읽어서 전송하게 된다. 이떄 Row을 읽으면 Row에 존재하는 [[Capacitor]]에 해당하는 내용이 사라지기 때문에, Row에 해당하는 정보를 다시 적어주어야 한다. 또한 메모리 전하에 해당하는 정보들이 계속해서 방전되기 때문에 DRAM은 일정 주기로 모든 내용을 읽고 다시 쓰는 Refresh과정을 거친다. 이때 양 옆에 해당하는 열의 내용을 계속 읽거나 쓰게 되면, 그 가운데 해당하는 열의 Error rate가 매우 높게 증가함이 알려져 있다. Refresh전에 이러한 현상이 발생하게 하면 Attacker는 Victim의 Memory integrity를 공격할 수 있다. 만약 Victim의 메모리 주소가 중요한 정보 (유저가 sudo 권한을 가지고 있는가?)에 해당한다면 해당 메모리 주소값을 이상한 값으로 덮어 씀으로서, sudo 권한을 탈취할 수 있게 되는 것이다. Row hammer 문서로 돌아갑니다.