loading

PC.Div.Soft/News

OpenBSD, 보안 문제로 SMT/HT 비활성화

나에+ 2018. 6. 21. 14:24
반응형

https://www.phoronix.com/forums/forum/phoronix/latest-phoronix-articles/1031565-openbsd-disabling-smt-hyper-threading-due-to-security-concerns


OpenBSD에서 Intel CPU에서의 HT(Hyper Threading) 및 타사 CPU의 SMT(Simultaneous Multi Threading) 기술등을 비활성화 하기로 했다고 합니다. SMT 기술의 구현은 일반적으로 스레드간의 TLB와 L1 캐시를 공유하기에 캐시 타이밍 공격(사이드 채널 공격)에 더 취약하고, 여러 수준의 버그가 악용될 여지가 높다고 의심되기 때문이라고 하네요. 특히 Intel의 SMT(HT)구현에서는 더더욱 말이죠. OpenBSD는 동일한 코어에서 서로 다른 프로세서 스레드로 돌아가는 다른 보안 도메인을 실행해선 안된다고 전합니다.



OpenBSD는 이를 해결하기 위해 OS 커널의 스케쥴러를 향상시킬 수도 있지만, 보안면에서 보면 좀 더 안전하게 이를 기본적으로 비활성화하기로 정했다고 합니다. 계속해서 SMT기능을 활성화하려는 사람들은 새로운 hw.smt systlc 설정을 사용할 수 있다고 하니 참조하세요.


이러한 변화는 멀티 스레드 작업 부하 환경에서의 큰 영향이 예측되지만, OpenBSD 개발자는 SMT기술이 항상 긍정적인 영향을 주는 것만은 아니고, 작업 부하에 따라 크게 달라진다고 전하며 (SMT기술은) 또한 2개 이상의 코어가 있는 CPU에서 실제로 성능이 낮아질 가능성이 있다고 합니다.


-----

SMT(HT)기술은 기본적으로 OS에서 지원해야 하고, OS에서를 인지할 수 있어야 하기에 가능하다고는 보는데, 서버 시장에서는 IBM처럼 128 SMT를 지원하는 녀석들도 있는데 이거 어쩔;ㅅ; CPU의 구현 방식에 차이가 있겠지만, 스펙터와 마찬가지로 인텔의 HT 구현이 여러 자료를 엿볼 수 있는 구멍이 크다는 건 맞는 말인듯. 4GHz로 동작하는 코어간 공유하는 캐시에서 이를 읽을 수 있다는 생각을 그 때엔 하지 못했겠지. 다행히 인텔은 메모리 보호 영역을 하나 더 추가해 이를 못보게 만들면서도 기존 아키텍처의 장점(저전력, 고급 기술의 쉬움, 빠른 메모리 접근)을 그대로 유지하는 듯 하다.

반응형