Rowhammer DRAM 버그는 무엇이며 어떻게 처리해야합니까?


20

DRAM 칩은 매우 단단히 포장되어 있습니다. 연구에 따르면 인접 비트를 임의로 뒤집을 수 있습니다.

  • ECC와 서버 수준의 DRAM 칩에 무작위로 트리거 버그의 가능성합니다 (무엇 CMU-인텔 용지는 예를 들면 년의 시간에 하나 개의 실패에 대한 알 수없는 칩 수가 9.4x10 ^ -14 인용)?
  • 메모리를 구매하기 전에 버그가 수정되었는지 어떻게 알 수 있습니까?
  • 나는에 대응하기 위해 무엇을해야 악의적 인 시도 예를 들어, CentOS는 7 예를 들어, 세입자 또는 권한이없는 사용자가 권한 상승을 할 수 있습니까?

참고 문헌 :


2
익스플로잇의 세부 사항이 여전히 금지되어 있지 않다는 점을 감안할 때 Google이 이미 제공 한 정보 외에 많은 정보가 제공 될지 확신 할 수 없습니다.
fukawi2

내가 알다시피, 메모리 새로 고침 속도는 성공적인 비트 플립 가능성을 크게 낮추고 새로운 BIOS 버전은 새로 고침 빈도를 낮추어 위험을 시도하고 완화합니다. BIOS 업데이트가 좋은 첫 단계일까요?
Reaces

1
@ fukawi2, 익스플로잇의 어떤 세부 사항이 금지되어 있습니까? 개념 증명 악용에 대한 전체 코드는 블로그 게시물과 함께 릴리스되었습니다.
Mark Seaborn

@MarkSeaborn 나는 지금도 기억하지 못합니다. 3 개월 전이었고 아침 식사를 간신히 기억할 수 있습니다.
fukawi2

답변:


19

인용 한 CMU-Intel 논문은 오류율이 DRAM 모듈의 부품 번호 / 제조 날짜에 크게 의존하며 10-1000의 계수에 따라 다르다는 것을 보여줍니다 (5 페이지). 최근 (2014 년) 제조 된 칩에서 문제가 훨씬 덜 두드러 졌다는 일부 징후도 있습니다.

인용 한 숫자 '9.4x10 ^ -14'는 제안 된 이론적 완화 메커니즘 인 'PARA'(기존 완화 메커니즘 pTRR (의사 대상 행 새로 고침)와 유사 할 수 있음)와 관련하여 사용되었으며 PARA는 ECC와 아무 관련이 없기 때문입니다.

두 번째 CMU-Intel 논문 (10 페이지)은 오류 감소에 대한 다양한 ECC 알고리즘의 영향에 대해 언급합니다 (요인 10 ^ 2 ~ 10 ^ 5, 정교한 메모리 테스트 및 "가드 밴딩 (guardbanding)"에서 훨씬 더).

ECC는 Row Hammer 익스플로잇을 DOS 공격으로 효과적으로 전환합니다. 1 비트 오류는 ECC에 의해 수정되며 수정할 수없는 2 비트 오류가 감지되면 시스템이 중지됩니다 (SECED ECC 가정).

해결책은 pTRR 또는 TRR을 지원하는 하드웨어를 구입하는 것입니다. Row Hammer에 대해서는 Cisco의 최신 블로그 게시물을 참조하십시오 . 적어도 일부 제조업체는 이러한 완화 메커니즘 중 하나를 DRAM 모듈에 내장 한 것으로 보이지만 사양에 깊이 숨겨져 있습니다. 질문에 대답하려면 : 공급 업체에 문의하십시오.

빠른 새로 고침 빈도 (64ms 대신 32ms)와 적극적인 순찰 주기도 도움이되지만 성능에 영향을 미칩니다. 그러나 실제로 이러한 매개 변수를 미세 조정할 수있는 서버 하드웨어를 모르겠습니다.

CPU 사용량이 지속적으로 높고 캐시 누락이 많은 의심스러운 프로세스를 종료하는 것 외에는 운영 체제 측에서 할 수있는 일이 많지 않다고 생각합니다.


4

상황이 여전히 불분명 해 보이므로 귀하의 질문에 직접 대답 할 수는 없다고 생각하지만 부분적인 답변으로 비교적 최근 정보가 있습니다. 뉴스를 보려면 rowhammer-discuss 메일 링리스트를 따르십시오 .

현재 취약한 RAM 구매를 피하거나 기존 하드웨어의 고장률을 쉽게 예측할 수있는 공개 정보가 있는지 확실하지 않습니다. 제조업체는 제품이 어떻게 영향을 받는지에 대한 정보를 공개하지 않았습니다. 소프트웨어 도구를 사용하여 이미 구매 한 메모리를 테스트 할 수는 있지만 이러한 도구를 상당한 시간 (시간) 동안 실행하면 RAM이 영구적으로 저하되어 소프트웨어 실행시 오류가 발생할 수 있습니다.

"명명없는 메모리 회사"는 Passmark Software가 Memtest86 도구에서 로우 해머 테스트를하지 않는 대신 뇌물을 지불하려고 시도한 것으로 알려 졌습니다.

Intel Skylake 하드웨어는 새로운 명령 추가로 인해 행 해머에 더 취약한 것으로보고되었습니다 clflushopt. 이것은 이미 rowhammer.js 에서 악용 되었습니다.

다니엘 Gruss 2015 12월 (의 공동 저자의로 완화 여기에 대해 몇 가지 질문에 대한 답변 rowhammer.js 종이 ) 이 이야기에서 :

  1. 일부 ECC RAM은 비 ECC RAM보다 로우 해머에 덜 취약한 반면, 다른 ECC RAM은 비 ECC RAM보다 더 취약합니다 ( 비디오의 질문 링크 )
  2. 모든 하드웨어가 아닌 대부분의 하드웨어에서 로우 해머를 방지하기 위해 더 빠른 재생률로 전환하는 것으로 충분하지만 모든 BIOS가 재생률을 변경할 수있는 것은 아닙니다 ( 비디오의 질문 링크 ).

대응책으로 진행중인 행 해머 공격을 감지하는 것이 가능할 수도 있지만, 이것이 행해지고 있음을 모르겠습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.