<발견자>
Billy Bob Brumley, Cesar Pereida Garcia, Sohaib ul Hassan, Nicola Tuveri (Tampere University of Technology in Finland), and Alejandro Cabrera Aldaya (Universidad Tecnologica de la Habana CUJAE in Cuba
<취약대상>
H/W
동시 멀티스레딩 구조(Simultaneous Multithreading(SMT) architecture)를 사용하는 모든 인텔 CPU(ex, Intel Skylake, Kaby Lake)
* AMD와 같은 다른 제조사 프로세서도 취약점이 존재할 것으로 예상
하드웨어 문제로 메모리 서브시스템 또는 캐싱과는 아무런 관련이 없음.
하지만 아주 적은 수준이라도 제어 흐름에 의존하는 소프트웨어들은 영향을 받음.
S/W : openssl 1.1.0h 이하버전
Red Hat Enterprise Linux 7 openssl
SUSE Linux Enterprise Desktop 12 SP4 openssl-1_1
SUSE Linux Enterprise High Performance Computing 12 openssl-1_1
SUSE Linux Enterprise Module for Basesystem 15 GA openssl-1_1
SUSE Linux Enterprise SDK 12 SP4 openssl-1_1
SUSE Linux Enterprise Server 12 SP4 openssl-1_1
SUSE Linux Enterprise Server for SAP Applications 12 SP4 openssl-1_1
<취약점>
공격자는 암호와 암호키 같은 민감한 보안 데이터를 메모리와 프로세서로부터 획득할 수 있음. 취약점은 타이밍 불일치를 통한 정보 공개로 분류 할 수 있음 (공격이 성공하기 위해서는 악성 프로세서가 목표 프로세서와 같은 물리적 코어에서 실행되고 있어야 함)
<취약원인>
SMT에 실행 엔진을 공유함으로써 발생
*SMT 기술은 다수의 스레드가 CPU코어에서 동시다발적으로 실행 가능할 수 있게 해줌.
하지만 이 같은 특성 때문에, 악성코드는 같은 코어의 다른 스레드를 스누핑 가능함. 대게 side-channel 공격에 대한 보안이 되어있는 암호화된 어플리케이션이라도 스누핑이 가능.
<발견경위>
동일한 물리적 코어에서 병렬로 실행되는 프로세서의 정보를 추출하기 위한 timing side channel 구성 목적의 포트 경합을 감지함.
취약점 공격을 통해 연구진은 OpenSSL P-384 프라이빗 키를 TLS 서버로부터 훔칠 수 있었음.
<영향성>
생성된 키를 훔칠 수 있고 그 키로 암호화된 대화 내용을 해독할 수 있음. 악성코드 공격자가 기기에 상주하기 때문에,
<관련 CVE코드>
CVE-2018-5407
CVSS3 Base Score : 4.8
PoC : https://github.com/bbbrumley/portsmash
<대응방안>
BIOS에서 하이퍼스레딩(SMT/Hyper-Threading) 옵션을 불가능으로 할 것.
OpenSSL : OpenSSL 1.1.1로 업그레이드 (패치: OpenSSL 1.1.0i 이상버전으로 패치)
포트스메시에 가장 취약한 것은 장비의 또한 장비의 키와 인증서를 자주 업데이트하는 것이 필요
*AMD는 자사 프로세서에 취약점이 해당되는지 조사중
OpenBSD는 지난 6월 인텔의 하이퍼스레딩 기능을 불가능하게 하여 사용자가 스펙터 공격(Spectre-class attacks)과 향후 타이밍 공격(timing attacks)에 노출되지 않도록 함.
출처 : https://www.securityweek.com/portsmash-new-side-channel-vulnerability-leaks-sensitive-data-intel-chips-CVE-2018-5407
https://thehackernews.com/2018/11/portsmash-intel-vulnerability.html