AMD가 데스크톱PC·노트북용 라이젠 5000 프로세서와 에픽 프로세서에 내장된 최적화 기능 'PSF'(예측적 저장 포워딩)에 잠재적인 위험이 있다고 밝혔다.
AMD는 분석 결과를 담은 보고서에서 "최신 AMD 프로세서에 탑재된 PSF(예측적 저장 포워딩) 기능은 애플리케이션 실행 속도를 향상시킬 수 있지만 예측이 빗나갈 경우 의도치 않았던 데이터가 유출될 가능성이 있다"고 경고했다.
단 PSF에는 일정한 제약이 있는데다 이를 실제로 활용한 악성코드는 현재까지 발견되지 않은 상황이다. 일반 소비자에게도 큰 위협이 되지 않을 것으로 보인다. AMD 역시 "PSF 기능의 보안상 위험은 낮을 것으로 보인다"며 이 기능을 그대로 유지하는 것을 권장했다.
■ 성능 향상과 정보 유출, 분기 예측의 두 얼굴
현재 시장에 나온 대부분의 프로세서는 계산 시간을 줄이고 성능을 향상시키기 위해 다양한 최적화 기법을 동원한다.
예를 들어 이용자가 '예/아니오'를 선택하면 다른 문구를 보여 주어야 하는 경우, 두 가지 경우에 따른 계산을 아예 처음부터 다 마쳐 놓는 방식으로 작동한다.
또 일정한 횟수를 단순히 반복해야 하는 경우에는 모든 결과값을 일일이 계산하지 않고 아예 결과값을 미리 계산해 버리는 기능도 갖추고 있다. 이를 가리켜 '분기 예측'(Branch Prediction)이라고 한다.
그런데 두 가지 경우에 대한 계산을 미리 한꺼번에 수행하는 과정에서 불필요한 데이터가 프로세서의 캐시 메모리에 남고, 동시에 실행되는 다른 프로그램이 이 데이터에 접근하는 문제가 생길 수 있다. 2018년 인텔 프로세서에서 불거진 보안 문제인 '스펙터'(Spectre)가 바로 이런 문제 중 하나다.
■ 젠3 기반 프로세서부터 PSF 기능 적용
AMD가 현재 시장에 공급하는 데스크톱PC·노트북용 라이젠 5000 프로세서와 3세대 에픽 프로세서는 젠3(Zen 3) 아키텍처 기반으로 만들어졌다. 이들 프로세서에 탑재된 PSF는 데이터를 불러오고 저장하는 메모리 주소값을 미리 예측해 작동한다.
예를 들어 한 프로그램이 일정한 시간동안 계속 같은 위치에 데이터를 읽고 쓴다면 이를 관찰해서 메모리 주소값을 구하는 시간을 절약한다. AMD는 "대부분의 경우 PSF 예측은 정확하지만 이런 예측이 어긋나는 경우가 생길 수 있다"고 설명했다.
문제는 이렇게 예측이 어긋났을 때 생긴다. PSF는 예측이 틀어졌을 때 일정한 패턴을 다시 파악할 때까지 계속해서 이를 보완하려 하지만 이 과정에서 불필요한 데이터까지 캐시 메모리에 불러 오고 이것이 유출될 가능성이 있다는 것이다.
■ AMD "PSF 보안상 위험성 낮다...그대로 두라"
그러나 PSF는 각 스레드별로 작동하기 때문에 다른 프로그램에서 쉽게 예측값을 엿볼 수 없고 프로그램 실행 상황에 따라 수시로 초기화된다는 특성을 지녔다.
이런 한계 때문에 PSF의 문제점을 악용한 악성코드가 등장하기도 쉽지 않다. AMD 역시 "현재까지 PSF의 특성을 악용한 악성코드는 인지하지 못했다"고 밝혔다.
AMD는 리눅스 운영체제에서 PSF 기능을 끌 수 있도록 커널 패치도 적용한 상황이다. AMD는 "대부분의 애플리케이션에서 PSF 기능의 보안상 위험은 낮을 것으로 보이며 이 기능을 그대로 유지할 것을 권장한다"고 밝혔다.
■ PSF 활성화·비활성화 사이 성능 차이 미미
AMD는 PSF 기능이 일부 애플리케이션 성능을 향상시킬 수 있다고 설명했다. 그러나 PSF 기능을 완전히 꺼도 성능에는 큰 차이가 없는 것으로 보인다.
관련기사
- AMD, 라이젠 5000G 시리즈 프로세서 출시2021.04.14
- 엔비디아, 서버용 CPU '그레이스' 공개..인텔·AMD 추격 시동2021.04.13
- AMD, 라이젠 프로 5000 프로세서 공개2021.03.17
- AMD, 서버 프로세서 EPYC 7003 시리즈 출시2021.03.16
리눅스 전문 매체인 포로닉스는 라이젠 7 5800X/에픽 7003 프로세서로 벤치마크를 실행한 결과를 공개하고 "PSF 기능을 끄거나 켠 상태에서 성능 차이는 1%에 그쳤다"고 밝혔다.
AMD가 PSF 기능의 이익이나 장점보다 잠재적 위험이 더 크다고 판단할 경우 라이젠 5000 시리즈 프로세서나 에픽 프로세서 내부에 포함된 일종의 펌웨어인 AGESA와 메인보드 바이오스(BIOS) 업데이트를 통해 아예 처음부터 비활성화 하는 방향으로 갈 수도 있다.