로우 해머
Row hammer로어 해머(Rowhammer라고도 쓰임)는 메모리 셀이 전하를 누설하여 자기들끼리 전기적으로 상호작용하는 DRAM(Dynamic Random-Access Memory)에서 의도하지 않고 바람직하지 않은 부작용을 이용하는 보안 취약점으로서, 원래의 Me에서 다루지 않았던 주변 메모리 행의 내용을 변경할 가능성이 있다.매리 액세스이러한 D램 메모리 셀 간 격리의 우회성은 현대 D램의 높은 셀 밀도에서 비롯되며, 동일한 메모리 행을 수 차례 빠르게 활성화하는 특수하게 조작된 메모리 액세스 패턴에 의해 촉발될 수 있다.[1][2][3]
행 해머 효과는 컴퓨터 보안 공격의 특권을 높이는 데 사용되어 왔으며,[2][4][5][6] 네트워크 기반 공격도 이론적으로 가능하다.[7][8]
일부 프로세서 및 DRAM 메모리 모듈 유형에 필요한 지원을 포함하여 행 해머 효과가 발생하지 않도록 하는 다양한 하드웨어 기반 기술이 존재한다.[9][10]
배경
다이내믹 RAM(Dynamic RAM)에서는 저장된 데이터의 각 비트가 캐패시터 1개와 트랜지스터 1개로 전기적으로 구현되는 별도의 메모리 셀을 차지한다.커패시터의 충전 상태(충전 또는 방전)는 D램 셀이 "1" 또는 "0"을 이진수로 저장할지 여부를 결정하는 것이다.엄청난 수의 DRAM 메모리 셀이 통합 회로에 채워져 있고, 데이터를 읽고, 쓰고, 새로 고치기 위한 목적으로 셀을 구성하는 몇 가지 추가적인 논리도 있다.[11][12]
메모리 셀(두 그림의 파란색 사각형)은 행렬로 더 자세히 구성되며 행과 열을 통해 설명된다.행렬에 적용되는 메모리 주소는 행 주소와 열 주소로 구분되며, 행 주소와 열 주소 디코더에 의해 처리된다(각각 그림, 수직 및 수평 녹색 사각형).행 주소가 읽기 작업을 위해 행을 선택한 후(선택은 행 활성화라고도 함), 행에 있는 모든 셀의 비트는 행 버퍼(두 그림의 빨간색 사각형)를 형성하는 감지 증폭기로 전송되며, 여기서 열 주소를 사용하여 정확한 비트를 선택한다.따라서 읽기 연산은 DRAM의 설계에서는 셀 전하를 행 버퍼에 전송하여 값을 읽은 후에 메모리 셀을 다시 작성해야 하기 때문에 파괴적인 성격을 띤다.쓰기 연산은 유사한 방식으로 주소를 해독하지만, 설계 결과 전체 행을 다시 작성해야 단일 비트 값을 변경할 수 있다.[1]: 2–3 [11][12][13]
자연방전속도가 높은 커패시터를 이용해 데이터 비트를 저장한 결과 D램 메모리 셀은 시간이 지날수록 상태가 나빠지고 모든 메모리 셀의 주기적인 재쓰기가 필요한데, 이를 리프레시(refreshing)라고 한다.[1]: 3 [11]설계의 또 다른 결과로서, DRAM 메모리는 저장 데이터의 무작위 변경에 취약하며, 이를 소프트 메모리 오류라고 하며 우주선 및 기타 원인에 기인한다.소프트 메모리 오류를 상쇄하고 DRAM의 신뢰성을 향상시키는 여러 가지 기법이 있는데, 이 중 오류 수정 코드(ECC) 메모리와 그 진보된 변형(락스텝 메모리 등)이 가장 많이 사용된다.[14]
개요
DRAM 집적 회로의 밀도가 증가하면 물리적으로 적은 전하를 포함하는 메모리 셀이 작아져 작동 소음 여유도가 낮아지고 메모리 셀 간 전자기 상호작용 속도가 증가하며 데이터 손실 가능성이 커진다.그 결과 교란 오류가 관찰되었는데, 이는 세포가 서로의 작동을 방해하고 영향을 받는 메모리 셀에 저장된 비트 값의 무작위적인 변화로 나타나기 때문이다.교란 오류에 대한 인식은 1970년대 초와 인텔 1103이 상용화된 최초의 DRAM 집적회로였다. 그 이후 D램 제조업체들은 교란 오류에 대응하기 위해 셀 간 격리 개선과 생산 테스트 수행과 같은 다양한 경감 기술을 채택했다.그러나 연구원들은 2014년 분석에서 2012년과 2013년에 제작된 상용 DDR3 SDRAM 칩이 교란 오류에 취약하다는 것을 증명하는 한편, 관찰된 비트 플립을 유발한 관련 부작용의 명칭을 붙이기 위해 행 해머라는 용어를 사용했다.[1][3][15]
DDR3 메모리에서[16] 행 해머 효과가 발생할 수 있는 기회는 주로 DDR3의 높은 메모리 셀 밀도와 셀 간 관련 상호작용의 결과에 기인하는 반면 빠른 DRAM 행 활성화가 주요 원인으로 결정되었다.빈번한 행 활성화는 관련 행 선택 라인의 전압 변동을 유발하며, 이를 피해 행이라고 하는 인근(인접적으로, 대부분의 경우) 메모리 행에서 자연보다 높은 방전률을 유도하는 것으로 관찰되었다. 영향을 받은 메모리 셀이 너무 많은 전하를 잃기 전에 새로 고치지 않으면 분해한다.터빈의 오류가 발생하다테스트 결과 약 13만9,000개의 후속 메모리 행 액세스(캐시 플러시 포함)를 수행한 후 교란 오류가 관찰될 수 있으며, 1,700개 셀마다 최대 1개의 메모리 셀이 취약할 수 있다.이 테스트들은 또한 교란 오류의 비율이 환경 온도 상승에 의해 실질적으로 영향을 받지 않는 반면, 특정 비트 패턴이 교란 오류율을 현저히 더 높게 만들기 때문에 DRAM의 실제 내용에 의존한다는 것을 보여준다.[1][2][15][17]
양면 해머링이라고 하는 변종은 희생자의 행을 둘러싸고 있는 두 개의 DRAM 행의 표적 작동을 포함한다. 이 절에 제공된 그림에서, 이 변종은 보라색 행에서 비트 플립을 유도하기 위한 목적으로 두 개의 노란색 행을 활성화할 것이다. 이 경우 희생자의 행이 될 것이다.테스트 결과, 이 접근방식은 피해 행의 인접 DRAM 행 중 하나만 활성화하는 변종과 비교하여 교란 오류 발생률이 현저히 높을 수 있다.[4][18]: 19–20 [19]
완화
행 해머 효과의 다소 성공적인 검출, 방지, 보정 또는 완화를 위해 다양한 방법이 존재한다.테스트 결과 단일 오류 수정 및 이중 오류 감지(SECED) 기능을 제공하는 단순 오류 수정 코드는 일부 장애 오류에는 메모리 워드당 플립 비트가 2개 이상 포함되기 때문에 관찰된 모든 장애 오류를 수정하거나 감지할 수 없는 것으로 나타났다.[1]: 8 [15]: 32 게다가, 연구 결과에 따르면 3비트 행 해머 플립을 정밀하게 조준하여 ECC 메모리가 변경 사항을 인지하지 못하게 한다.[20][21]
덜 효과적인 해결책은 보다 빈번한 메모리 새로 고침 주기를 일반적인 64ms보다 짧게 하여 도입하는 것이지만, [a]이 기법은 전력 소비량을 증가시키고 처리 오버헤드를 증가시킨다. 일부 공급업체는 이러한 유형의 완화를 구현하는 펌웨어 업데이트를 제공한다.[22]보다 복잡한 예방 조치 중 하나는 자주 액세스하는 메모리 행의 카운터 기반 식별을 수행하고 인접 행을 능동적으로 새로 고침하는 방법이며, 다른 방법은 액세스 빈도와 상관없이 액세스된 행 근처에 자주 사용되지 않는 메모리 행의 랜덤 새로 고침을 추가로 발생시킨다.연구는 이 두 가지 예방 조치가 성능에 미치는 영향이 미미하다는 것을 보여준다.[1]: 10–11 [23]
아이비브릿지 마이크로아키텍처 출시 이후 인텔 Xeon 프로세서는 pTRR 호환 DDR3 듀얼 인라인 메모리 모듈(Dual In-line Memory Module, DIMM)과 결합해 사용할 수 있는 이른바 사이비 타겟 행 리프레시(pTRR)를 지원, 성능이나 파우(pow)에 부정적인 영향을 주지 않고 가능한 희생자의 행을 자동으로 새로 고침으로써 행 해머 효과를 완화한다.음 소비pTRR을 준수하지 않는 DIMM과 함께 사용할 경우, 이러한 Xeon 프로세서는 기본적으로 일반적인 주파수의 두 배에서 DRAM 새로 고침을 다시 수행하므로 메모리 액세스 지연 시간이 약간 더 길어지고 메모리 대역폭이 최대 2-4%[9]까지 감소할 수 있다.
JEDEC에서[24] 발행하는 LPDDR4 모바일 메모리 표준은 성능이나 전력 소비에 부정적인 영향을 미치지 않고 행 해머 효과를 방지하는 이른바 TRR(Target Row Refresh)에 대한 선택적 하드웨어 지원을 포함하고 있다.[10][25][26]또한 일부 제조업체는 DDR4 제품이 JEDEC에서 발행한 DDR4 메모리 표준의 일부는 아니지만 DDR4 제품에 TRR을 구현한다.[27][28][29]내부적으로 TRR은 행 활성화 횟수를 세어 사전 정의된 칩별 최대 활성화 카운트(MAC) 및 최대 활성화 창(tMAW) 값과 비교하여 가능한 공격 대상자 행을 식별하고 비트 플립을 방지하기 위해 이러한 행을 새로 고친다.특정한 D램을거나 시간의 tMAW 양 전에 그것의 이웃 행 피해자 행으로 인식된다보다는 짧은 시간 같은 시간 간격 내에서 발생할 수 있어 활성화 기능이 있는 MAC값은 최대 숫자였을 것이다;만약 연속 활성화 기능은 이웃의 두줄의 합은에 태국 연구로 피해자 줄로 연속 표시할 수 있다.에스tMAW 시간 창 내의 MAC [24][30]제한
빠른 속도로 수행되는 DRAM 행의 엄청난 수의 활성화가 필요하기 때문에, 행 해머 공격은 캐시 누락을 야기하는 캐시 누락을 야기하는 많은 수의 미캐치 메모리 액세스를 발행하는데, 이는 하드웨어 성능 카운터를 사용하여 비정상적인 피크에 대한 캐시 누락률을 모니터링하면 이를 감지할 수 있다.[4][31]
2013년 12월 3일 출시된 MemTest86 메모리 진단 소프트웨어 버전 5.0은 컴퓨터 RAM이 교란 오류에 취약한지를 확인하는 행 해머 테스트를 추가했지만, 컴퓨터가 UEFI를 부팅할 때만 작동하며, UEFI가 없으면 해머 테스트 없이 이전 버전을 부팅한다.[32]
시사점
메모리 보호는 프로세스가 각각의 프로세스에 할당되지 않은 메모리에 접근하는 것을 방지하는 방법으로서, 대부분의 현대적인 운영체제 뒤에 숨겨진 개념들 중 하나이다.메모리 보호를 보호 링과 같은 다른 보안 관련 메커니즘과 결합하여 사용함으로써, 일반적으로 프로그램 및 컴퓨터 시스템이 특정 작업을 수행하는 데 필요한 특정 권한에 한정된 부분으로 나뉘는 프로세스 간의 권한 분리가 가능하다.또한 권한 분리를 사용하면 시스템의 특정 부분에 대한 영향을 제한함으로써 컴퓨터 보안 공격에 의해 야기되는 잠재적 피해의 범위를 줄일 수 있다.[33][34]
교란 오류(위 절에서 설명됨)는 매우 낮은 하드웨어 레벨에서 "단락"하여 메모리 보호의 여러 층을 효과적으로 물리치고, 실제로 프로세스가 기본 메모리 하드웨어를 직접 조작하여 메인 메모리의 임의 부분의 내용을 변경할 수 있는 고유한 공격 벡터 유형을 생성한다.이에 비해 버퍼 오버플로와 같은 "기존" 공격 벡터는 다른 접근 불가능한 메인 메모리 콘텐츠의 변경을 달성하기 위해 다양한 프로그래밍 오류를 이용하여 소프트웨어 레벨에서 보호 메커니즘을 우회하는 것을 목표로 한다.[2][4][18][35][36]
악용
코드1a: 영화를 찍다 (X), %eax // 주소 X에서 읽기 영화를 찍다 (Y), %ebx // 주소 Y에서 읽기 찰랑찰랑한 (X) // 주소 X에 대한 캐시 플러시 찰랑찰랑한 (Y) // 주소 Y에 대한 캐시 플러시 엠펜스 jmp 코드1a |
행 해머 효과를 유도하는 x86 어셈블리 코드 조각(메모리 주소)X 그리고Y 동일한 메모리 뱅크의 다른 DRAM 행에 매핑해야 함)[1]: 3 [4][18]: 13–15 |
2014년 6월에 발표된 행 해머 효과에 대한 초기 연구에서는 교란 오류의 성격을 설명하고 공격 구성 가능성을 제시했지만, 실제 보안 공격의 예는 제시하지 않았다.[1]후속 2014년 10월 연구 논문은 행 해머 효과에서 발생하는 보안 관련 문제의 존재를 의미하지 않았다.[16]
2015년 3월 9일, 구글의 프로젝트 제로(Project Zero)는 행 해머 효과에 기반한 두 가지 작업 특권 에스컬레이션 악용 사례를 공개하여, x86-64 아키텍처에 대한 착취성을 확립했다.공개된 악용 사례 중 하나는 샌드박스 내에서 x86-64 기계 지침의 제한된 서브셋을 실행해 [18]: 27 로울 해머 효과를 악용해 샌드박스에서 탈출해 직접 시스템 호출을 할 수 있는 능력을 얻는 구글 네이티브 클라이언트(NaCl) 메커니즘을 목표로 하고 있다.CVE-로 추적되는 이 NaCl 취약성2015-0565, NaCl을 수정하여 NaCl의 실행을 허용하지 않음으로써 완화됨clflush
(하드 라인 플러시[37]) 기계 지침([2][4][35]이전에는 효과적인 행 해머 공격을 구성하기 위해 필요하다고 생각됨).
Project Zero에 의해 밝혀진 두 번째 공격은 x86-64 아키텍처에서 권한 없는 Linux 프로세스로 실행되어 행 해머 효과를 이용하여 컴퓨터에 설치된 모든 물리적 메모리에 무제한으로 액세스한다.방해 오류를 메모리 스프레이와 결합함으로써 이 취약성은 가상 주소를 물리적 주소에 매핑하는 데 가상 메모리 시스템에서 사용하는 페이지 테이블 항목을[18]: 35 변경할 수 있으며, 이로 인해 무제한 메모리 액세스를 얻을 수 있다.[18]: 34, 36–57 그 특성과 x86-64 아키텍처의 무능성 때문에clflush
특권적인 기계 지침, 이 공격은 행 해머 방지 메커니즘이 내장된 하드웨어를 사용하지 않는 컴퓨터에서는 거의 완화될 수 없다.프로젝트 제로(Project Zero)는 악용 가능성을 테스트하는 동안 테스트한 노트북 29개 중 절반가량이 교란 오류를 경험했으며 일부는 행 해머를 유발하는 코드를 실행한 5분 이내에 취약한 노트북에서 발생했으며, 테스트된 노트북은 2010년과 2014년 사이에 제조되어 비 ECC DDR3 메모리를 사용했다는 사실을 발견했다.[2][4][35]
2015년 7월, 보안 연구진이 로어 해머 효과를 이용하기 위한 아키텍처 및 명령 집합 독립적 방법을 설명하는 논문을 발표하였다.에 의존하는 대신clflush
캐시 플러시 수행 지침, 이 접근방식은 신중하게 선택된 메모리 액세스 패턴을 사용하여 캐시 제거율이 매우 높음으로써 캐시되지 않은 메모리 액세스를 달성한다.비록 캐시 대체 정책은 프로세서마다 다르지만, 이 접근법은 적응형 캐시 제거 전략 알고리즘을 채택함으로써 구조적 차이를 극복한다.[18]: 64–68 이 접근방식에 대한 개념 증명서는 기본 코드 구현과 Firefox 39에서 실행되는 순수한 JavaScript 구현으로 제공된다.Rowhammer.js라고 불리는 자바스크립트 구현은 [38]큰 타이프라인을 사용하고 큰 페이지를 이용한 내부 할당에 의존한다. 그 결과, 매우 낮은 수준의 취약성에 대한 매우 높은 수준의 활용을 보여준다.[39][40][41][42]
2016년 10월, 연구원들은 몇몇 인기 있는 스마트폰에서 안정적으로 루트 접속을 하기 위해 다른 방법과 함께 행 해머를 사용하는 안드로이드 애플리케이션인 DRAMMER를 발표하였다.[43]이 취약성은 CVE-2016-6728로[44] 인정돼 한 달 만에 구글이 완화를 발표했다.그러나 공격의 가능한 구현의 일반적 특성 때문에 효과적인 소프트웨어 패치를 신뢰성 있게 구현하기 어렵다.2018년 6월 현재 학계와 업계가 내놓은 패치 제안은 대부분 실전 배치가 불가능하거나 모든 공격을 중단하는 데 미흡했다.연구진은 이를 완화하기 위해 DMA 버퍼를 가드 행으로 분리해 DMA(Direct Memory Access) 기반의 공격을 막는 경량방어를 제안했다.[45][46]
2021년 5월 구글의 한 연구팀이 일부 신형 D램 칩의 물리학 악화를 이용한 새로운 개발, 하프더블을 발표했다.[47]
참고 항목
- 메모리 사용 - 메모리에 기록된 사용자 데이터를 의사 무작위 패턴으로 변환하는 메모리 컨트롤러 기능
- 방사선 경화 – 전리방사선에 의한 손상이나 오작동에 내성을 갖는 전자부품을 만드는 행위
- 단일 사건 이상 – 이온 또는 전자기 방사선이 전자 장치의 민감한 노드를 타격하여 발생하는 상태 변화
- 소프트 오류 – 신호나 데이터에 대한 잘못된 변경은 포함하지만 기본 장치나 회로에는 변화가 없는 오류 유형
메모들
참조
- ^ a b c d e f g h i Yoongu Kim; Ross Daly; Jeremie Kim; Chris Fallin; Ji Hye Lee; Donghyuk Lee; Chris Wilkerson; Konrad Lai; Onur Mutlu (June 24, 2014). "Flipping Bits in Memory Without Accessing Them: An Experimental Study of DRAM Disturbance Errors" (PDF). ece.cmu.edu. IEEE. Retrieved March 10, 2015.
- ^ a b c d e f Dan Goodin (March 10, 2015). "Cutting-edge hack gives super user status by exploiting DRAM weakness". Ars Technica. Retrieved March 10, 2015.
- ^ a b Paul Ducklin (March 12, 2015). "'Row hammering' – how to exploit a computer by overworking its memory". Sophos. Retrieved March 14, 2015.
- ^ a b c d e f g Mark Seaborn; Thomas Dullien (March 9, 2015). "Exploiting the DRAM rowhammer bug to gain kernel privileges". googleprojectzero.blogspot.com. Retrieved March 10, 2015.
- ^ "Using Rowhammer bitflips to root Android phones is now a thing". Ars Technica. Retrieved October 25, 2016.
- ^ Swati Khandelwal (May 3, 2018). "GLitch: New 'Rowhammer' Attack Can Remotely Hijack Android Phones". The Hacker News. Retrieved May 21, 2018.
- ^ Mohit Kumar (May 10, 2018). "New Rowhammer Attack Can Hijack Computers Remotely Over the Network". The Hacker News. Retrieved May 21, 2018.
- ^ Swati Khandelwal (May 16, 2018). "Nethammer—Exploiting DRAM Rowhammer Bug Through Network Requests". The Hacker News. Retrieved May 21, 2018.
- ^ a b Marcin Kaczmarski (August 2014). "Thoughts on Intel Xeon E5-2600 v2 Product Family Performance Optimisation – Component selection guidelines" (PDF). Intel. p. 13. Retrieved March 11, 2015.
- ^ a b Marc Greenberg (October 15, 2014). "Reliability, Availability, and Serviceability (RAS) for DDR DRAM interfaces" (PDF). memcon.com. pp. 2, 7, 10, 20, 27. Archived from the original (PDF) on July 5, 2016. Retrieved March 11, 2015.
- ^ a b c "Lecture 12: DRAM Basics" (PDF). utah.edu. February 17, 2011. pp. 2–7. Retrieved March 10, 2015.
- ^ a b "Understanding DRAM Operation" (PDF). IBM. December 1996. Archived from the original (PDF) on August 29, 2017. Retrieved March 10, 2015.
- ^ David August (November 23, 2004). "Lecture 20: Memory Technology" (PDF). cs.princeton.edu. pp. 3–5. Archived from the original (PDF) on May 19, 2005. Retrieved March 10, 2015.
- ^ Bianca Schroeder; Eduardo Pinheiro; Wolf-Dietrich Weber (June 25, 2009). "DRAM Errors in the Wild: A Large-Scale Field Study" (PDF). cs.toronto.edu. ACM. Retrieved March 10, 2015.
- ^ a b c d e Yoongu Kim; Ross Daly; Jeremie Kim; Chris Fallin; Ji Hye Lee; Donghyuk Lee; Chris Wilkerson; Konrad Lai; Onur Mutlu (June 24, 2014). "Flipping Bits in Memory Without Accessing Them: DRAM Disturbance Errors" (PDF). ece.cmu.edu. Retrieved March 10, 2015.
- ^ a b Kyungbae Park; Sanghyeon Baeg; ShiJie Wen; Richard Wong (October 2014). "Active-precharge hammering on a row induced failure in DDR3 SDRAMs under 3× nm technology". Active-Precharge Hammering on a Row Induced Failure in DDR3 SDRAMs under 3x nm Technology. IEEE. pp. 82–85. doi:10.1109/IIRW.2014.7049516. ISBN 978-1-4799-7308-8. S2CID 14464953.
- ^ Yoongu Kim; Ross Daly; Jeremie Kim; Chris Fallin; Ji Hye Lee; Donghyuk Lee; Chris Wilkerson; Konrad Lai; Onur Mutlu (July 30, 2015). "RowHammer: Reliability Analysis and Security Implications" (PDF). ece.cmu.edu. Retrieved August 7, 2015.
- ^ a b c d e f g Mark Seaborn; Thomas Dullien (August 6, 2015). "Exploiting the DRAM rowhammer bug to gain kernel privileges: How to cause and exploit single bit errors" (PDF). Black Hat. Retrieved August 7, 2015.
- ^ Andy Greenberg (March 10, 2015). "Googlers' Epic Hack Exploits How Memory Leaks Electricity". Wired. Retrieved March 17, 2015.
- ^ Shaun Nichols (November 21, 2018). "3 is the magic number (of bits): Flip 'em at once and your ECC protection can be Rowhammer'd". The Register.
- ^ Dan Goodin (November 22, 2018). "Potentially disastrous Rowhammer bitflips can bypass ECC protections - ECCploit is the first Rowhammer attack to defeat error-correcting code". Ars Technica. Retrieved January 17, 2021.
- ^ "Row Hammer Privilege Escalation (Lenovo Security Advisory LEN-2015-009)". Lenovo. August 5, 2015. Retrieved August 6, 2015.
- ^ Dae-Hyun Kim; Prashant J. Nair; Moinuddin K. Qureshi (October 9, 2014). "Architectural Support for Mitigating Row Hammering in DRAM Memories" (PDF). ece.gatech.edu. IEEE. Archived from the original (PDF) on March 11, 2015. Retrieved March 11, 2015.
- ^ a b "JEDEC standard JESD209-4A: Low Power Double Data Rate (LPDDR4)" (PDF). JEDEC. November 2015. pp. 222–223. Retrieved January 10, 2016.
- ^ Kishore Kasamsetty (October 22, 2014). "DRAM scaling challenges and solutions in LPDDR4 context" (PDF). memcon.com. p. 11. Archived from the original (PDF) on June 3, 2016. Retrieved January 10, 2016.
- ^ Omar Santos (March 9, 2015). "Mitigations Available for the DRAM Row Hammer Vulnerability". cisco.com. Retrieved March 11, 2015.
- ^ Marc Greenber (March 9, 2015). "Row Hammering: What it is, and how hackers could use it to gain access to your system". synopsys.com. Retrieved January 10, 2016.
- ^ Jung-Bae Lee (November 7, 2014). "Green Memory Solution (Samsung Investors Forum 2014)" (PDF). teletogether.com. Samsung Electronics. p. 15. Retrieved January 10, 2016.
- ^ "JEDEC standard JESD79-4A: DDR4 SDRAM" (PDF). JEDEC. November 2013. Retrieved January 10, 2016.
- ^ "Data Sheet: 4 Gb ×4, ×8 and ×16 DDR4 SDRAM Features" (PDF). Micron Technology. November 20, 2015. pp. 48, 131. Archived from the original (PDF) on February 10, 2018. Retrieved January 10, 2016.
- ^ Nishad Herath; Anders Fogh (August 6, 2015). "These are Not Your Grand Daddy's CPU Performance Counters: CPU Hardware Performance Counters for Security" (PDF). Black Hat. pp. 29, 38–68. Retrieved January 9, 2016.
- ^ "PassMark MemTest86 – Version History". memtest86.com. February 13, 2015. Retrieved March 11, 2015.
- ^ Pehr Söderman (2011). "Memory Protection" (PDF). csc.kth.se. Retrieved March 11, 2015.
- ^ Niels Provos; Markus Friedl; Peter Honeyman (August 10, 2003). "Preventing Privilege Escalation" (PDF). niels.xtdnet.nl. Retrieved March 11, 2015.
- ^ a b c Liam Tung (March 10, 2015). ""Rowhammer" DRAM flaw could be widespread, says Google". ZDNet. Retrieved March 11, 2015.
- ^ Murat Balaban (June 6, 2009). "Buffer Overflows Demystified" (TXT). enderunix.org. Retrieved March 11, 2015.
- ^ "CLFLUSH: Flush Cache Line (x86 Instruction Set Reference)". renejeschke.de. March 3, 2013. Archived from the original on December 3, 2017. Retrieved August 6, 2015.
- ^ Daniel Gruss; Clémentine Maurice (July 27, 2015). "IAIK/rowhammerjs: rowhammerjs/rowhammer.js at master". github.com. Retrieved July 29, 2015.
- ^ Daniel Gruss; Clementine Maurice; Stefan Mengard (July 24, 2015). "Rowhammer.js: A Remote Software-Induced Fault Attack in JavaScript". arXiv:1507.06955 [cs.CR].
- ^ David Auerbach (July 28, 2015). "Rowhammer security exploit: Why a new security attack is truly terrifying". slate.com. Retrieved July 29, 2015.
- ^ Alix Jean-Pharuns (July 30, 2015). "Rowhammer.js Is the Most Ingenious Hack I've Ever Seen". Motherboard.
- ^ Dan Goodin (August 4, 2015). "DRAM 'Bitflipping' exploit for attacking PCs: Just add JavaScript". Ars Technica.
- ^ VUSec (October 2016). "DRAMMER: FLIP FENG SHUI GOES MOBILE". Retrieved January 21, 2017.
- ^ NIST National Vulnerability Database (NVD). "CVE-2016-6728 Detail".
- ^ Victor van der Veen; Martina Lindorfer; Yanick Fratantonio; Harikrishnan Padmanabha Pillai; Giovanni Vigna; Christopher Kruegel; Herbert Bos; Kaveh Razavi (2018), "GuardION: Practical Mitigation of DMA-Based Rowhammer Attacks on ARM", Detection of Intrusions and Malware, and Vulnerability Assessment, Springer International Publishing, pp. 92–113, doi:10.1007/978-3-319-93411-2_5, hdl:1871.1/112a5465-aeb5-40fd-98ff-6f3b7c976676, ISBN 9783319934105
- ^ "RAMPAGE AND GUARDION - Vulnerabilities in modern phones enable unauthorized access". Retrieved June 30, 2018.
- ^ "Introducing Half-Double: New hammering technique for DRAM Rowhammer bug". Google. May 25, 2021. Retrieved December 2, 2021.
외부 링크
- 로버트 그레이엄이 2015년 3월 9일 발표한 DRAM(#rowhammer)에 대한 일부 주석
- 2015년 3월 9일 Serdar Yegulalp에 의해 노트북 보안인 InfoWorld를 파괴할 수 있는 Rohammer 하드웨어 버그 위협
- 바바라 아이칭거가 2014년 7월 17일 유튜브에서 "Row Hammer"라고 하는 DDR3 메모리 오류 메커니즘
- 특허 미국 20140059287 A1: Kuljit Baines 등이 2014년 2월 27일 행 해머 새로 고침 명령.
- 행 해머 권한 상승 취약성, Cisco 시스템s 보안 권고, 2015년 3월 11일
- Mohsen Ghasempour 등이 만든 런타임 메모리 열선 검출기, 맨체스터 대학.
- 2003년 3월 6일 Sudhakar Govindavajhala와 Andrew W. Appel의 가상 머신 공격에 메모리 오류 사용
- DRAM "rowhammer" 문제 테스트 프로그램, GitHub의 소스 코드