2010년대에 가장 널리 알려진 두 가지 취약점은 서로 매우 밀접하게 관련되어 있었습니다. Spectre와 Meltdown은 소프트웨어의 보안 취약점이 아니라 CPU의 근본적인 설계 취약점으로 인해 문제를 해결하기 더 어렵습니다. 문제 자체가 특히 심각하여 다른 응용 프로그램 및 운영 체제에서 메모리가 공개될 수 있습니다.
개요
CPU는 추측 실행 및 분기 예측을 포함한 기술을 포함하여 최고 성능을 달성하기 위해 믿을 수 없을 정도로 고급 설계를 사용합니다. 추측 실행은 CPU가 필요하다고 판단했을 때 시간을 절약하기 위해 필요한지 알기 전에 프로세스 실행을 시작하는 곳입니다. 분기 예측은 프로세스의 결과를 예측하려고 시도하는 추측 실행의 하위 집합입니다. CPU가 일련의 명령을 실행할 수 있도록 하는 예측된 값을 기반으로 다음 단계를 계산하기 시작합니다. 주문하다.
Spectre 취약점은 이 두 기능의 구현에서 발생합니다. 이를 통해 애플리케이션은 암호 및 암호화 키와 같은 비밀을 포함하여 메모리 공개를 허용하는 대부분의 최신 소프트웨어에 내장된 메모리 격리 기술을 위반할 수 있습니다. Spectre의 문제 중 하나는 악성 프로그램만 필요하기 때문에 보안 취약점이 없는 응용 프로그램에서 데이터에 액세스할 수 있다는 것입니다.
Meltdown 취약점은 일부 메모리 기술과 위에서 언급한 예측 실행 시스템을 기반으로 합니다. 이는 프로세스 실행과 권한 검사 사이의 "경합 조건"을 활용하여 악성 프로그램이 다른 응용 프로그램 및 운영 체제의 메모리에 액세스할 수 있도록 합니다.
팁: "경합 조건"은 한 작업이 다른 작업에 의존해야 하지만 올바른 실행 순서가 적용되지 않는 문제입니다. 이로 인해 "두 번째" 프로세스가 먼저 실행되고 "첫 번째" 프로세스의 결과를 포함해야 하는 초기화되지 않은 메모리를 사용하여 해당 메모리의 이전 내용이 누출될 수 있습니다. 이 특정한 경우 프로세스는 권한 검사에서 허용된 것으로 확인될 때까지 실행되어서는 안 되지만 성능 최적화로 인해 권한 검사가 두 번째로 발생할 수 있습니다.
효과
2017년 중반에 여러 팀이 패치를 개발한 CPU 제조업체에 개인적으로 Meltdown과 Spectre를 모두 발견하고 보고했습니다. 성능 최적화를 목표로 하는 패치로 인해 결국 CPU 성능이 최대 최악의 시나리오에서 30%, 2-14% 성능 감소는 사람들의 경험담.
이 취약점은 많은 x86 CPU, IBM POWER CPU 및 일부 ARM 기반 CPU에 영향을 미쳤습니다. Meltdown은 일반적으로 개인용 컴퓨터와 클라우드 서버에서 발견되는 하드웨어에 영향을 미칩니다. Spectre는 개인용 컴퓨터, 클라우드 서버 및 모바일 장치에 영향을 미칩니다. 1995년부터 2018년 중반까지 모든 인텔 CPU는 이 문제에 취약했습니다(2013년 이전의 Itanium 및 Atom 라인 제외). AMD CPU는 Meltdown의 영향을 받지 않았지만 Spectre에 취약했습니다.
소프트웨어 완화 패치는 대부분의 문제를 해결하는 운영 체제 제공업체를 통해 개발 및 출시되었습니다. 2018년 중반부터 Intel은 문제에 대한 하드웨어 완화를 포함하도록 CPU 설계를 업데이트했습니다.
두 문제 모두 제작된 JavaScript가 있는 악성 웹 페이지를 통해 악용될 수 있으므로 다음을 수행하는 것이 매우 중요합니다. 성능 손실이 발생하더라도 보안 패치가 모든 시스템에 설치되어 있는지 확인하십시오. 극심한. 불행히도 이 문제는 깊은 문제가 있는 매우 복잡한 문제이기 때문에 단일 패치로 해결할 수 없습니다. 하드웨어로의 통합, 보안 패치는 새로운 변종에 따라 시간이 지남에 따라 계속 출시될 것입니다. 발견.