실험 당시 성공 확률 매우 높아...연구원들 세 가지 방어법 제안
[보안뉴스 문가용 기자] 네 개 대학교의 사이버 보안 전문가들이 새로운 프로세서 취약점을 발견했다. 이 취약점은 브랜치스콥(BrachScope)으로, 이전에 발견된 스펙터(Spectre) 및 멜트다운(Meltdown)과 유사하다고 한다.
[이미지 = iclickart]
브랜치스콥 발견에 참여한 대학은 윌리엄메리대학(College of William and Mary), 카네기멜론대학(Carnegie Mellon University), 캘리포니아대학 리버사이드(UC Riverside), 빙엄턴대학(Binghamton University)다. 이들이 브랜치스콥에 관해 발표한 보고서는 여기(http://www.cs.ucr.edu/~nael/pubs/asplos18.pdf)서 열람이 가능하다.
이 연구에 의하면 브랜치스콥 취약점은 현대 프로세서들이 가지고 있는 ‘예측 실행(speculative execution)’ 기능들에서 발견되고 있다고 한다. 또한 하드웨어와 OS 단계에 도입된 메모리 보호 장치들을 피해가는 데 사용될 수 있다고도 한다. 스펙터나 멜트다운과 흡사한 내용이다.
하지만 브랜치스콥의 차이점은 “공유된 분기 예측기(branch predictor)와 관련이 있다는 것”이라고 연구원들은 설명한다. 보고서에서 이 부분을 인용해보면 다음과 같다.
“같은 물리 코어에서 여러 프로세스들이 실행될 때, 이 프로세스들은 하나의 분기 예측 유닛(branch prediction unit, BPU)을 공유합니다. 이렇게 하면 프로세스 처리의 복잡함과 자원 활용에 도움이 되기 때문입니다. 그러나 공유를 한다는 측면에 있어서 공격자의 참여 가능성을 열어두게 됩니다. 공유 상태의 BPU를 누군가 조작함으로써 부채널(side-channel)을 만들 수 있다는 것입니다. 이를 통해 민감한 정보가 새나갈 수 있습니다.”
연구원들에 의하면 “시스템 노이즈가 있는 상태에서 인텔 프로세서의 사용자 공간에서 브랜치스콥을 활성화시키는 데 성공했다”며 “세 개의 세대에서 실패 확률 1% 미만을 기록했다”고 한다.
이 연구원들은 이 취약점을 완화시키는 법도 함께 공개했다. “브랜치스콥 공격을 성공시키려면 패턴 히스토리 테이블(PHT)에서 예상 가능한 충돌을 일으킬 수 있어야 합니다. 그러므로 PHT 인덱싱 기능을 랜덤화해서 충돌을 막아놓으면 어느 정도 대비가 가능합니다.”
또 다른 완화 방법으로 연구원들은 민감한 분기에 대한 예측을 제거하라고 권장한다. “이는 소프트웨어 개발자들이 기밀에 해당하는 정보가 유출될 수 있는 분기가 표시되고 보호되도록 조치를 취함으로써 할 수 있게 됩니다. 그런 후 CPU가 이 분기들에 대한 예측을 하지 않도록 하면 됩니다. 정적 예측만 하고, BPU 구조들에 대한 업데이트도 하지 않아야 합니다.”
마지막으로 연구원들은 BPU의 파티셔닝을 제안하고 있다. “공격자들과 피해자들이 같은 구조를 공유하지 않도록 손을 쓰는 방법도 있습니다.”
[국제부 문가용 기자(globoan@boannews.com)]
<저작권자: 보안뉴스(www.boannews.com) 무단전재-재배포금지>