· 톺아보기

인텔 스카이레이크/카비레이크에서 치명적인 하이퍼쓰레딩 오류 발견

아범테크 · · 수정

조회 32,420 · 공감 9 · 댓글 16

데비안 리눅스와 OCaml 개발진이 인텔 스카이레이크와 카비레이크 CPU에서 치명적인 하이퍼쓰레딩 오류를 발견하였습니다. 데비안 리눅스측은 해당 문제는 OS에 상관없이 일어나는 것이며 해당 문제를 수정하는 메인보드 바이오스 업데이트가 나올 때 까지 하이퍼쓰레딩을 즉시 비활성화하라고 경고했습니다.


이 오류는 프로세서의 마이크로코드 관련 결함으로, 해당 오류가 발생하면  예기지 못한 시스템 동작을 일으킬 수 있으며 데이터 오염이나 데이터 손실을 야기할 수 있습니다. 이것은 리눅스 커뮤니티에서 발견된 문제이지만 리눅스에만 해당하는 문제가 아닌 것으로 판명되었습니다. 이 오류는 발생하는 조건이 복잡하여 흔히 일어나지는 않지만 반대로 얼마나 많은 프로그램이 이 오류에 영향을 받는지 알 수 없으며, 또한 이 영향을 받는 프로그램을 감지해내기가 힘들다고 밝혔습니다.


인텔은 이미 해당 오류를 인지하여 내부적으로 수정한 것으로 보입니다. 인텔이 명시한 해당 오류는 아키텍처별로 Errata SKZ7, SKW144, SKL150, SKX150, SKZ7, KBL095, KBW095 이며 이 Errata는 다음과 같습니다.

해석)

- Errata: AH/BH/CH/DH레지스터를 이용하는 짧은 루프는 예기치 못한 시스템 동작을 일으킬 수 있습니다.

- 문제점: 복잡한 마이크로아키텍처적인 조건 하에, AH, BH, CH, DH레지스터 뿐만 아니라 그것과 상응하는 더 넓은 레지스터(예: AH의 경우는 RAX, EAX, AX 레지스터)를 이용하는 64 개 명령어 보다 짧은 루프는 예기치 못한 시스템 동작을 일으킬 수 있습니다. 이것은 두개의 논리 프로세서가 같은 물리 프로세서 위에서 동작중일때만 발생합니다.

- 영향: 이 오류로 인해 시스템은 예기치 못한 시스템 동작을 겪을 수 있습니다.

- 해결책: 바이오스가 이 문제를 수정하는 패치를 넣을 수 있습니다.


해당 문제를 경고한 데비안 리눅스 측은 Errata SKZ7/SKW144/SKL150/SKX150/SKZ7/KBL095/KBW095를 수정하는 BIOS/UEFI 패치를 받기 전까지는 바이오스를 통하여 하이퍼쓰레딩을 끄도록 권장하고 있습니다.


지금까지 이 오류로 인한 보고된 증상은 컴파일러와 어플리케이션 튕김, 올바르지 않은 프로그램 동작, 잘못된 프로그램 출력입니다.


출처: 

- https://lists.debian.org/debian-devel/2017/06/msg00308.html

- https://www3.intel.com/content/dam/www/public/us/en/documents/specification-updates/desktop-6th-gen-core-family-spec-update.pdf

댓글 16

  1. 아범테크 · · 공감 31
    드디어 새소게 작성 조건이 되어 처음으로 새소게에 글을 작성하려고 했는데, 마침 올리기 적당한 소식이 나왔네요 (...). 앞으로 잘 부탁드립니다.
  2. skcubrats ·
    심각하네요... 단순한 업데이트가 아니라 무려 마더보드 바이오스를 업데이트 해야한다니...
  3. DRJang ·
    하스웰-데빌스캐년이 퇴역을 청하는 전문을 올렸으나, 윤허하지 아니하다....
  4. chldbwls306 ·
    스카이/카비레이크면…
    macOS도 포함되는거 아닌가요;;;
  5. 아범테크 ·
    네 CPU 하드웨어문제라서 맥도 포함됩니다.
  6. 닥터놀 ·
    우와.. 이 문제를 어떻게 찾아낸건지...
  7. 아범테크 · · 공감 2
    대단한 분들입니다.
    데비안리눅스는 거의 발표만 한거고 실제로 찾은 것은 OCaml측에서 거의 5달동안 노력한 결과입니다. 1월쯤에 문제 발견하고 몇달동안 해본 결과 스카이레이크 하이퍼쓰레딩 문제라는 것을 인지하고, CPU의 x86명령어 보다 더 밑단에 있는 마이크로코드를 직접 수정해서 문제를 해결해 보임으로써 오류를 증명해냈습니다.
    OCaml처럼 프로그래밍 언어 개발을 위해 시스템 영역까지 정통한 사람들이니깐 가능한거 같아요.
  8. TIME_TRAVELER ·
    인텔 맛탱이 완전 갔네요...요즘 어째 들리는 소식이 전부 악재밖에 없네요;;
  9. Naleo_ · · 공감 1
    엔지니어는 둘째치고, CEO가 ...
  10. 슏팅스타 ·
    i5처럼 4코어 4스레드 같은 경우는 해당하지 않는걸까요?
  11. 아범테크 ·
    하이퍼쓰레딩을 비활성화하면 해결되는 문제라 하이퍼쓰레딩 없는 데탑 i5모델들은 상관없습니다. 노트북용 U씨리즈 i5는 하이퍼쓰레딩 있으니 문제가 되겠지요.
  12. 아범테크 ·
    감사합니다 ㅎㅎ 하루에 뭐라도 하나정도는 올리겠습니다 ㅋ
  13. 아범테크 ·
    Errata를 보시면 상위 8비트 레지스터뿐만 아니라 그것을 포함하는 16/32/64 비트 레지트터를 쓰는 경우에도 발생한다고 나와있습니다.
    아마 "복잡한 마이크로아키텍처적인 조건"을 만드는게 문제인거 같은데 이제서야 발견된거 보니 확실히 흔한 패턴으로 발생하는 것은 아닌거 같습니다.
  14. 미사카미사카 ·
    하스웰은 괜찮은 건가요
  15. 아범테크 ·
    문제없습니다 ㅎ
  16. 아범테크 ·
    인텔/암드 시피유는 마이크로코드라고 일종의 펌웨어 비슷한 놈이 있는데요, 이것을 바꾸면 시피유의 하드웨어 동작을 변경가능하게 됩니다. 이 마이크로코드는 바이오스를 통해서 업데이트 가능합니다. 실제로 이것을 가끔 업데이트해서 CPU하드웨어의 버그 혹은 성능향상이나 보안업데이트를 하곤 한다고 합니다.
    이번 오류는 인텔의 잘못된 마이크로코드로 인하여 발생한 문제로 스카이레이크 몇몇 모델은 이미 능력자들이 직접 마이크로코드를 고쳐서 해결을 했다고 합니다.

새로운소식 최근 글

새로운소식 목록 더 보기