2018년 1월 27일 Intel 마이크로코드가 일부 시스템을 손상시킵니다.

2018년 1월 27일 Intel 마이크로코드가 일부 시스템을 손상시킵니다.

보안 연구원들이 발표한 내용프로젝트 제로Spectre 및 Meltdown이라는 새로운 취약점을 통해 프로그램은 다른 프로그램의 메모리에서 정보를 훔칠 수 있습니다. Intel, AMD 및 ARM 아키텍처에 영향을 미칩니다.

이 결함은 JavaScript 웹사이트에 접속하여 원격으로 악용될 수 있습니다. 기술적인 세부 사항은 다음에서 확인할 수 있습니다.레드햇 웹사이트,우분투 보안팀.

추측 실행 부채널 공격(CVE-2017-5715, CVE-2017-5753, CVE-2017-5754, 즉 Spectre 및 Meltdown)을 통한 정보 공개

Intel, AMD 및 ARM 프로세서를 포함한 대부분의 프로세서에 영향을 미치는 새로운 부채널 공격이 발견되었습니다. 이 공격을 통해 악의적인 사용자 공간 프로세스는 커널 메모리를 읽고 게스트의 악성 코드는 하이퍼바이저 메모리를 읽을 수 있습니다. 이 문제를 해결하려면 Ubuntu 커널 및 프로세서 마이크로코드를 업데이트해야 합니다. 이러한 업데이트는 향후 Ubuntu 보안 발표를 통해 발표될 예정입니다.

JavaScript의 구현 예

개념 증명으로 JavaScript 코드는 Google Chrome 브라우저에서 실행될 때 JavaScript가 실행 중인 프로세스에서 개인 메모리를 읽을 수 있도록 작성되었습니다.

내 시스템이 스펙터 취약점의 영향을 받는 것 같습니다. 나는 이 개념 증명을 편집하고 실행했습니다(spectre.c).

시스템 메시지:

$ uname -a
4.13.0-0.bpo.1-amd64 #1 SMP Debian 4.13.13-1~bpo9+1 (2017-11-22) x86_64 GNU/Linux

$ cat /proc/cpuinfo
model name  : Intel(R) Core(TM) i3-3217U CPU @ 1.80GHz

$gcc --version
gcc (Debian 6.3.0-18) 6.3.0 20170516

Linux 시스템에서 Spectre 및 Meldown 취약점을 완화하는 방법은 무엇입니까?

추가 자료:Meltdown을 사용하여 실시간으로 비밀번호를 도용하세요.

고쳐 쓰다

사용Spectre & Meltdown Checker4.9.0-5Debian Stretch에서 CVE-2017-5754를 완화하기 위한 보안 업데이트가 제공되므로 @Carlos Pasqualini의 답변에 따라 커널 버전 으로 전환한 후 :

CVE-2017-5753 [bounds check bypass] aka 'Spectre Variant 1'
* Checking count of LFENCE opcodes in kernel:  NO  (only 31 opcodes found, should be >= 70)
> STATUS:  VULNERABLE  (heuristic to be improved when official patches become available)

CVE-2017-5715 [branch target injection] aka 'Spectre Variant 2'
* Mitigation 1
*   Hardware (CPU microcode) support for mitigation:  NO 
*   Kernel support for IBRS:  NO 
*   IBRS enabled for Kernel space:  NO 
*   IBRS enabled for User space:  NO 
* Mitigation 2
*   Kernel compiled with retpoline option:  NO 
*   Kernel compiled with a retpoline-aware compiler:  NO 
> STATUS:  VULNERABLE  (IBRS hardware + kernel support OR kernel with retpoline are needed to mitigate the vulnerability)

CVE-2017-5754 [rogue data cache load] aka 'Meltdown' aka 'Variant 3'
* Kernel supports Page Table Isolation (PTI):  YES 
* PTI enabled and active:  YES 
> STATUS:  NOT VULNERABLE  (PTI mitigates the vulnerability)

2018년 1월 25일 업데이트됨

spectre-meltdown-checker스크립트는 debian에서 공식적으로 패키지되었으며 Debian Stretch를 통해 사용할 수 있습니다.백포트 저장소, Buster 및 Sid.

고쳐 쓰다2018년 5월 22일

추측성 저장 우회(SSB) - 변종 4라고도 함

이전의 모든 메모리 쓰기 주소가 알려지기 전에 예측 실행 및 메모리 읽기의 예측 실행을 활용하는 마이크로프로세서를 갖춘 시스템에서는 부채널 분석을 통해 로컬 사용자 액세스 권한이 있는 공격자에게 정보가 무단 공개될 수 있습니다.

RSRE(Rogue System Register Read) - 변종 3a라고도 함

추측 실행을 활용하고 시스템 레지스터의 추측 읽기를 수행하는 마이크로프로세서가 장착된 시스템에서는 부채널 분석을 통해 로컬 사용자 액세스 권한이 있는 공격자에게 시스템 매개 변수가 무단으로 공개될 수 있습니다.

2018년 7월 27일에 수정됨

NetSpectre: 네트워크를 통해 임의 메모리 읽기

본 백서에서는 공격자가 대상 장치의 코드를 제어할 필요가 없어 수십억 대의 장치에 영향을 미치는 Spectre 변종 1을 기반으로 하는 새로운 공격인 NetSpectre를 소개합니다. 로컬 Spectre 공격과 유사하게 원격 공격을 수행하려면 대상 코드에 Spectre 가젯이 있어야 합니다. 우리는 노출된 네트워크 인터페이스 또는 API 내에 필수 Spectre 가젯을 포함하는 시스템이 일반적인 원격 Spectre 공격을 통해 공격될 수 있으며 네트워크를 통해 임의의 메모리를 읽을 수 있음을 보여줍니다. 공격자는 단순히 조작된 일련의 요청을 피해자에게 보내고 응답 시간을 측정하여 피해자의 메모리에서 비밀 값을 유출합니다.

답변1

Alan Cox는 AMD 블로그에서 다음 링크를 공유했습니다. https://www.amd.com/en/corporate/speculative-execution

변형 1: 경계 검사 우회

시스템 공급업체 및 제조업체에서 제공한 소프트웨어/운영 체제 업데이트를 통해 문제가 해결되었습니다. 예상되는 성능 영향은 미미합니다.

변형 2: 분기 대상 주입

AMD 아키텍처의 차이는 이 변형이 악용될 위험이 사실상 0이라는 것을 의미합니다. 현재까지 AMD 프로세서는 Variant 2 취약점을 확인하지 않았습니다.

변종 3: 악성 데이터 캐시 로드

AMD 아키텍처의 차이로 인해 AMD에는 취약점이 없습니다.

그러나 AMD의 주장에 대해 제3자의 확인을 받는 것이 좋을 것입니다.

영향을 받는 시스템의 "완화"에는 새 커널과 재부팅이 필요하지만 수정 사항이 포함된 패키지는 아직 많은 배포판에서 출시되지 않았습니다.

더반:

내가 찾은 다른 정보 출처:

답변2

2018년 1월 27일 Intel 마이크로코드가 일부 시스템을 손상시킵니다.

이것Intel 마이크로코드 업데이트 2018-01-08추측 실행 분기 보안 취약점을 해결하기 위해 여러 시스템이 손상되었습니다. 이는 1월 8일부터 1월 21일까지 많은 Ubuntu 시스템에 영향을 미쳤습니다. 2018년 1월 22일, Ubuntu는 2017년 7월 7일의 이전 마이크로코드를 복원한 업데이트를 출시했습니다.

2018년 1월 8일부터 2018년 1월 22일 사이에 업데이트 문제가 발생하여 Ubuntu를 다시 설치하고 업데이트를 끈 경우 Ubuntu 자동 업데이트를 다시 시도해야 할 수 있습니다.

2018년 1월 16일 Spectre 4.14.14 및 4.9.77로 업데이트되었습니다.

나와 같으며 이미 커널 버전 4.14.13 또는 4.9.76을 실행하고 있다면 Spectre 보안 취약점이 며칠 내에 출시되면 설치 4.14.14및 완화될 것입니다. 4.9.77이 수정 프로그램의 이름은 다음과 같습니다.라이트볼린그리고 이전에 추측한 대로 성능에 심각한 영향을 미치지 않습니다.

Greg Kroah-Hartman은 이제 Retpoline 지원을 포함하는 Linux 4.9 및 4.14 포인트 릴리스용 최신 패치를 출시했습니다.

모든 AMD/Intel CPU는 이 X86_FEATURE_RETPOLINE을 활성화합니다. 전체 지원을 위해서는 -mindirect-branch=thunk-extern 지원을 포함하는 최신 GCC 컴파일러로 커널을 빌드해야 합니다. GCC 변경 사항은 어제 GCC 8.0에 적용되었으며 GCC 7.3으로 백포트될 가능성이 높습니다.

Retpoline 지원을 비활성화하려는 사용자는 다음 명령을 사용하여 패치된 커널을 부팅할 수 있습니다.노레볼린.

여기서는 JavaScript에 대해 자세히 다루지 않지만 지금 Meltdown 취약점을 방지하는 방법(및 2018년 1월 10일 기준 Spectre 보호)

2018년 1월 12일 업데이트됨

예비 보호귀신여기에 있으며 앞으로 몇 주, 몇 달 안에 개선될 예정입니다.

Linux 커널 4.14.13, 4.9.76 LTS 및 4.4.111 LTS

따라서소프트 백과사전 기사:

Linux 커널 4.14.13, 4.9.76 LTS 및 4.4.111 LTS는 이제 kernel.org에서 다운로드할 수 있으며 Spectre 보안 취약성에 대한 추가 수정 사항과 Linux 4.14.12, 4.9에 대한 일부 회귀 버전이 포함되어 있습니다. 75 LTS 및 4.4. 110 LTS 커널은 지난 주에 출시되었으며 일부 사람들은 몇 가지 사소한 문제를 보고했습니다.

이제 이러한 문제가 해결된 것으로 보이므로 Linux 기반 운영 체제를 오늘 출시된 새 커널 버전으로 업데이트하는 것이 안전합니다. 여기에는 더 많은 x86 업데이트, 일부 PA-RISC, s390 및 PowerPC(PPC) 수정 사항, 다양한 개선 사항이 포함됩니다. (Intel i915, crypto, IOMMU, MTD) 및 일반적인 mm 및 코어 커널 변경 사항.

많은 사용자가 2018년 1월 4일과 2018년 1월 10일에 Ubuntu LTS 업데이트 관련 문제를 경험했습니다. 하지만 4.14.13며칠간 별 문제없이 사용하고 있어요청소년MMV.


2018년 1월 7일 업데이트됨

그렉 크로하트만썼다상태 업데이트어제의 Meltdown 및 Spectre Linux 커널 보안 취약점. 어떤 사람들은 그를 Linux 세계에서 Linus 다음으로 가장 인기 있는 사람이라고 부를 수도 있습니다. 이 문서에서는 대부분의 Ubuntu 사용자가 사용하는 안정적인 커널(아래 설명)과 LTS 커널에 대해 설명합니다.


Linux 커널 4.14.11, 4.9.74, 4.4.109, 3.16.52 및 3.2.97 패치 Meltdown 결함

~에서이 기사:

사용자는 즉시 시스템을 업데이트해야 합니다.

2018년 1월 4일 01:42 GMT · 마리우스 네스토르

Linux 커널 관리자 Greg Kroah-Hartman과 Ben Hutchings는 대부분의 최신 시스템에 영향을 미치는 두 가지 주요 문제를 패치한 Linux 4.14, 4.9, 4.4, 3.16, 3.18 및 3.12 LTS(Long Term Support) 커널 시리즈의 새 버전을 출시했습니다. 프로세서의 보안 결함.

Linux 4.14.11, 4.9.74, 4.4.109, 3.16.52, 3.18.91 및 3.2.97 커널은 이제 kernel.org 웹사이트에서 다운로드할 수 있으며 사용자는 이러한 새로운 커널이 있는 경우 GNU/Linux 배포판을 업데이트해야 합니다. 버전은 즉시 사용 가능합니다. 다음 커널 제품군 중 하나를 실행하세요. 왜 업데이트하나요? Meltdown이라는 중요한 취약점을 패치한 것으로 보입니다.

앞서 언급했듯이 Meltdown과 Spectre는 지난 25년 동안 출시된 최신 프로세서(CPU)를 사용하는 거의 모든 장치에 영향을 미칩니다. 예, 이는 거의 모든 휴대폰과 PC를 의미합니다. 권한이 없는 공격자는 Meltdown을 악용하여 커널 메모리에 저장된 중요한 정보를 악의적으로 얻을 수 있습니다.

Spectre 취약점에 대한 패치가 아직 진행 중입니다.

Meltdown은 비밀번호 및 암호화 키를 포함한 비밀 데이터를 노출할 수 있는 심각한 취약점인 반면, Spectre는 더 심각하고 쉽게 고칠 수 없습니다. 보안 연구원들은 이것이 꽤 오랫동안 우리를 괴롭힐 것이라고 말합니다. Spectre는 성능을 최적화하기 위해 최신 CPU에서 사용하는 추측 실행 기술을 활용하는 것으로 알려져 있습니다.

Spectre 버그도 패치될 때까지 최소한 GNU/Linux 배포판을 새로 출시된 Linux 커널 버전으로 업데이트하는 것이 좋습니다. 따라서 즐겨 사용하는 배포판의 소프트웨어 저장소에서 새로운 커널 업데이트를 검색하여 가능한 한 빨리 설치하십시오. 너무 늦을 때까지 기다리지 말고 지금 하세요!


나는 일주일 동안 Kernel 4.14.10을 사용하고 있으므로 Ubuntu Mainline Kernel 버전을 다운로드하고 부팅했습니다.11.4.14나에게는 그다지 걱정하지 않습니다.

Ubuntu 16.04 사용자는 4.14.11과 동시에 출시된 4.4.109 또는 4.9.74 커널 버전을 선호할 수 있습니다.

정기 업데이트로 원하는 커널 버전이 설치되지 않으면 Ask Ubuntu 답변에 따라 수동으로 설치할 수 있습니다.https://askubuntu.com/questions/879888/how-do-i-update-kernel-to-the-latest-mainline-version/879920#879920


4.14.12 - 하루가 만드는 변화

제가 원래 답변을 한 지 24시간도 채 안 되어 급하게 출시되었을 수 있는 4.14.11 커널 버전을 수정하는 패치가 출시되었습니다. 업그레이드2012년 4월 14일모든 4.14.11 사용자에게 권장됩니다.그렉-KH 라고:

4.14.12 커널 출시를 발표합니다.

4.14 커널 시리즈의 모든 사용자는 업그레이드해야 합니다.

사람들은 이 버전에서 여전히 알려진 몇 가지 사소한 문제를 겪고 있습니다. 패치가 아직 Linus의 트리에 적용되지 않았기 때문에 이러한 문제가 이번 주말까지 해결되기를 바랍니다.

이제 언제나처럼 환경을 테스트해 보세요.

이번 업데이트를 보면 소스 코드의 많은 줄이 변경되지 않았습니다.

답변3

이것이 JavaScript를 사용하여 악용될 수 있다는 사실이 요점도 아니고 주요 관심사가 되어서도 안 됩니다(비록 이것이 시스템에서 원격 코드 실행을 쉽게 허용하므로 주요 관심사이지만 유일한 문제는 아닙니다). ).

Javascript 및/또는 브라우저에 주의를 집중해서는 안 됩니다. 이상적으로는 CPU에 패치를 적용해야 합니다. 불행하게도 현재 대부분의 버그에서는 이것이 불가능해 보입니다. 따라서 데비안은 다른 모든 운영 체제 제공업체와 함께 결함 없는 CPU를 권장하는 유일한 방법을 사용합니다. 시스템이 CPU의 버그를 해결하도록 강제하는 것입니다. 이 패치로는 문제가 해결되지 않습니다. 대신 운영 체제는 사용자가 컴퓨터(및 브라우저)에서 실행 중인 모든 프로그램에서 이를 최대한 숨기려고 합니다.

이 숨기기는 추가 계산 작업이므로 숨기지 않을 때보다 전체 시스템 성능이 낮아집니다. 얼마나 많은 감소가 이루어질지는 이러한 프로그램이 정확히 무엇을 하는지에 크게 좌우될 것입니다.

이를 염두에 두고 질문으로 돌아가서: 당신이 할 수 있는 일은 데비안 시스템을 보호하기 위해 보안 업데이트를 설치하는 것입니다. 나는 데비안이 CPU에 내재된 결함에도 불구하고 이러한 버그를 해결하고 가능한 한 안전하게 데비안을 실행하기 위해 가능한 모든 것을 할 것이라고 믿습니다.

다양한 주요 기업과 수많은 하드웨어 및 Linux 전문가가 이미 이 문제를 해결하기 위해 노력하고 있습니다. 나는 당신이 스스로 무언가를 시도하거나 일반적인 노력을 돕기 위해 노력하는 것을 절대 단념시키고 싶지 않습니다. 그러나 당신이 관심을 갖는 것이 보안과 시기적절한 수정뿐이라면 그들이 당신보다 더 짧은 시간에 더 나은 솔루션을 찾을 가능성이 높으므로 지금 직접 조사해 보세요.

답변4

이 결함은 JavaScript 웹사이트에 접속하여 원격으로 악용될 수 있습니다.

물론. 따라서 현명한 완화 조치는 웹 브라우저에서 JavaScript를 비활성화하거나 JavaScript를 지원하지 않는 웹 브라우저를 사용하는 것입니다.

JavaScript를 지원하는 대부분의 브라우저에는 이를 비활성화하는 설정이 있습니다. 또는 JavaScript를 허용하는 웹사이트나 도메인의 화이트리스트를 유지하려는 경우 다음과 같이 도움이 될 수 있는 다양한 추가 기능이 있습니다.유블록 오리진그리고스크립트 없음.

참고: JavaScript를 비활성화/제한하는 것이 귀하의 일이 되어서는 안 된다는 것은 말할 필요도 없습니다.오직덜다. 또한 관련 커널 수정 사항 및 기타 보안 업데이트가 작성, 테스트 및 릴리스된 후에는 이를 검토하고 적용해야 합니다. Debian 파생 제품에서는 다음 명령을 사용하십시오.예를 들어 sudo apt update, sudo apt list-upgradable, 그리고 sudo apt upgrade.

고쳐 쓰다:내 말을 믿지 마세요.앨런 콕스거의 동일합니다.

뭘 신경 써야 해?중요한 순간이 취약점은 웹 페이지의 javascript에 의해 원격으로 사용되어 시스템 메모리의 콘텐츠를 훔칠 수 있기 때문에 javascript입니다. ...애초에 많은 정크 프로그램이 실행되는 것을 막을 수 있는 광고 차단기나 noscript와 같은 확장 기능을 고려해 보세요. 가능한 한 빨리 하십시오. 운영 체제 업데이트가 나타나는 대로 적용합니다. (원천)

관련 정보