Rowhammer is an attack that repeatedly reads a row in a specific area and causes electrical errors to flip bits in adjacent rows that can cause data modification, system memory corruption, or even privilege escalation. As NAND flash memory used in data centers has massive personal information, rowhammer attack on NAND flash can be critical. Recently, IBM researchers have presented that a rowhammer attack on a NAND flash SSD can trigger privilege escalation. However, they demonstrated only a part of the entire attack process. Therefore, it is necessary to consider the overall attack process and in-depth research on the NAND rowhammer attack. In this paper, we show the feasibility of end-to-end row hammer attack on NAND flash. We propose an end-to-end rowhammer attack in the emerging storage system and challenges that attack must overcome. The target system is composed of Open Channel SSD, which discloses the internal structure to the host and SPDK, which allows users to directly manage the data in the device. Error modeling and bit flip mode, which defines how bits flip, are designed to conduct rowhammer attack using QEMU emulator. We analyze the possibility of rowhammer attack with bit flip mode, write/erase cycle, page count, and the state of the victim block. As a result, the attack succeeds when the write/erase cycle was 10,000 or more, and attack success rate is higher when sequential bit flips occur. Based on this analysis, we present a practical rowhammer attack method in which an attacker can access victim data without any authorities.
로우해머는 특정 영역의 주소를 반복적으로 읽어 메모리의 전기적 오류를 발생시키는 공격으로, 해당 주소 주변의 비트를 플립시켜 데이터를 변조하거나 손상시킬 수 있다. 특히, 데이터 센터에서 사용되는 낸드 플래시 메모리는 수많은 사용자 데이터를 다루기 때문에 로우해머 공격의 파급력이 크다. 최근 IBM은 낸드 플래시 SSD에 대한 로우해머 공격을 시도하였으나, 전체 공격 과정 중 일부만을 시연하는데 그쳤다. 본 연구는 낸드 플래시 SSD에 대한 로우해머 공격 조건들을 분석하고 실질적인 종단 간 로우해머 공격 방법을 제시한다. 우선 내부 구조를 확인할 수 있는 오픈채널 SSD와 다양한 드라이버를 제공하는 SPDK를 활용하여 가상의 실험 환경을 구축하였다. 또한 비트 플립이 일어나는 에러 모델을 구현하여 실제 SSD와 비슷한 환경을 조성하였다. 구축된 실험 환경에서 비트 플립 방식, 쓰기/지우기 사이클, 페이지를 읽은 횟수, 대상 블록의 상태 등을 분석하여 공격 가능성과 필요조건을 분석하였다. 그 결과 쓰기/지우기 사이클이 10,000 이상일 때 공격이 성공하며, 연속적인 비트플립이 일어날 경우 공격 성공률이 더 높은 것을 확인하였다. 이 분석을 바탕으로 공격자가 아무런 권한 없이 대상의 데이터를 변조할 수 있는 실질적인 로우해머 공격 방법을 제시한다.