인텔 중앙처리장치(CPU) 보안버그 '스펙터'와 '멜트다운' 해결을 위한 패치가 지난달 배포됐지만 이를 적용한 컴퓨터 시스템의 성능저하 현상이 발생해 또다른 문제로 불거지고 있다.
이 가운데 최근 서버호스팅 업체 스마일서브가 자체 벤치마크 테스트를 통해 인텔CPU 보안패치 적용 시스템의 성능저하 현상을 확인했다고 밝혀 주목된다. 회사 소개자료에 따르면 스마일서브는 서울 금천구 가산디지털단지에서 서버 5천대 인프라를 관리하는 면적 2천㎡ 규모 IDC를 운영하고 있다. 국내 자체 데이터센터(IDC) 운영사가 인텔CPU 보안패치 관련 성능테스트 결과를 공개한 건 처음이다.
스펙터와 멜트다운은 인텔, AMD, ARM CPU에서 발견된 하드웨어상의 보안 취약점이다. 스펙터는 애플리케이션간 서로 볼 수 없어야 하는 메모리 영역에서 정보를 노출시키는 결함이고, 멜트다운은 권한이 없는 애플리케이션이 관리자 권한의 메모리 영역에서 정보를 노출시키는 결함이다. 사용자와 기업이 어떤 애플리케이션과 운영체제(OS)를 쓰든지 현대 CPU를 탑재한 대다수 컴퓨터가 취약점의 영향을 받는다.
■ "패치 해야하나 놔둬야 하나"…기로에 선 조직내 데이터센터 관리자
지난달부터 소프트웨어(SW) 및 하드웨어 제조사들이 대책을 마련해 왔다. 일단 SW 업데이트로 멜트다운 버그(Variant 1)와 2가지 스펙터 버그 중 1가지(Variant 3)를 해결할 수 있다. 하지만 나머지 스펙터 버그 하나(Variant 2)는 SW패치에 더해, CPU 제조사가 제공한 하드웨어 업데이트를 적용해야 한다. CPU 마이크로코드(microcode) 업데이트를 넣어 만든 제조사의 메인보드 펌웨어(Firmware) 패치가 필수라는 얘기다.
세계 CPU시장 점유율 1위 회사 인텔은 자사 CPU의 보안결함 해결을 위해 SW 및 하드웨어 파트어와 협력하며 CPU마이크로코드 업데이트를 배포했다. 하지만 이를 기반으로 만든 펌웨어를 적용 후 컴퓨터 하드웨어의 성능이 떨어진다는 문제제기가 잇따랐다. 리눅스 커뮤니티와 마이크로소프트(MS)가 각각 리눅스 서버와 윈도PC의 성능하락을 확인했고, 인텔도 CPU패치를 적용한 윈도PC 성능하락을 인정했다.
자체 데이터센터나 전산실을 운영하는 조직이 고민에 빠졌다. 민감한 데이터 유출 소지가 있는 스펙터 취약점을 마냥 방치할 수도 없고, 그렇다고 현업 서비스용 서버 시스템에 펌웨어 패치를 즉시 적용하기에는 성능 저하로 인한 추가 이슈 대응 부담을 무시하기 어려운 상황이기 때문이다. CPU 보안패치 적용에 따른 성능하락 문제는 자체 설비가 아닌 클라우드 서비스 공급업체와 사용자 사이에서도 중대 이슈가 됐다.
21일 현재 CPU보안결함 패치에 따른 성능하락 가능성은 해외만의 이슈가 아니라 한국의 수많은 서버 시스템 운영 조직에도 마찬가지로 걱정거리가 되고 있다. 이때문에 국내서 자체 데이터센터를 운영하는 클라우드 서버호스팅업체 스마일서브도 지난달 CPU보안결함 문제가 불거진 뒤 OS 개발업체 및 하드웨어 제조사가 제공하고 있는 패치가 실제로 서버의 성능에 얼마나 영향을 줄 수 있을지 직접 확인에 나섰다.
스마일서브 인프라운영팀 엔지니어들이 주요 인텔CPU 기반의 리눅스 서버 시스템에 지난달(1월) 보안결함 대응 용도로 배포된 인텔 마이크로코드 업데이트 기반의 펌웨어 패치 및 OS 업데이트를 적용한 결과, 일부 성능 벤치마크 테스트 측정값이 뚜렷하게 하락한 것으로 나타났다. 다만 일반화하기에 충분한 실험이 수행되진 않았다. 회사측이 제공한 관련 보고서 2건의 내용 일부와 시사점을 아래에 정리했다.
■ 스마일서브, OS+펌웨어 패치 후 유닉스벤치 테스트로 성능저하 확인
우선 지난달 22일 작성된 'GigaByte Bios Update Test' 보고서에 따르면, 스마일서브 인프라 운영팀은 인텔CPU 가운데 제온E3-1230 V6과 기가바이트 MX31 메인보드, 삼성전자 DDR4 16G 메모리와 제조사를 밝히지 않은 128G SSD 저장장치로 구성된 서버시스템을 사용해 OS 및 펌웨어 패치 전후 성능비교를 진행했다. OS로 레드햇의 커뮤니티버전 리눅스 배포판 '센트OS' 6버전대 64비트 에디션을 썼다.
인프라운영팀은 해당 서버에서 보안관련 업데이트를 적용하지 않았을 때, OS업데이트만 적용했을 때, OS 및 펌웨어 업데이트를 모두 적용했을 때, 3가지 상황별 성능을 측정하고자 했다. 각 상황의 성능을 측정하기 위해 종합성능 측정도구 '유닉스벤치(UnixBench)', CPU성능 측정도구 'C레이(C-ray)', 디스크입출력 성능측정도구 'IO존(IOZone)', 3가지 벤치마크 툴을 썼다.
유닉스벤치는 시스템 전반의 종합성능 테스트를 측정할 수 있는 도구다. 결과 수치가 높을수록 성능이 좋다는 뜻이다. 이 툴로 업데이트 미적용 시점의 측정치는 7천346.9점을 기록했다. OS업데이트 적용후 측정치는 4천432.1점을 기록했고, OS 및 펌웨어 업데이트 적용후 측정치는 4천644.8점을 기록했다. 스마일서브 측은 적용전 대비 적용후 36%가량 성능저하를 보였다고 해석했다.
C레이는 CPU 성능을 파악하는 툴인데, 결과 수치가 낮을수록 성능이 좋다는 뜻이다. 이 툴로 업데이트 미적용 시점의 측정치는 37.62점을 기록했다. OS업데이트 적용후 측정치는 37.62점을 기록했고, OS 및 펌웨어 업데이트 적용후 측정치는 37.66점을 기록했다. 유닉스벤치 측정결과와 달리, 적용전후 성능상의 차이를 보이지 않은 것으로 해석됐다.
IO존은 디스크입출력 성능을 랜덤읽기, 랜덤쓰기, 2가지로 파악하는 툴인데, 결과 수치가 높을수록 성능이 좋다는 뜻이다. 업데이트 미적용시 측정치는 랜덤읽기/쓰기 점수가 31만4천685점/14만7천65점을 기록했다. OS업데이트 적용후 측정치는 32만1천801점/14만5천379점, OS 및 펌웨어 업데이트 적용후 측정치는 31만2천842점/13만7천660점을 기록했다. 이번에도 성능하락은 명시적이지 않은 걸로 판단됐다.
인프라운영팀은 이 보고서에서 "멜트다운패치(OS업데이트)에 추가로 바이오스업데이트(펌웨어패치) 적용을 통한 성능하락은 아직 발견되지 않았다"면서도 다만 "MySQL 설치후 (서비스 동작) 시간 등 심층적인 실사용 환경 테스트가 필요하고, 다른 (메인보드) 제조사의 바이오스 업데이트 적용 후에도 성능 하락이 없을 것이라 보장할 수는 없다"고 지적했다.
■ 인텔·AMD CPU 서버 시스템 5종에 OS패치 전후 성능차 후속테스트
이후 스마일서브 측은 다른 제조사의 메인보드 기반 시스템을 사용한 후속 테스트에서 인텔CPU 서버의 보안업데이트 적용후 성능하락을 확인했다. 인프라운영팀이 1월 하순께 인텔과 AMD의 4·8·16코어 CPU 기반 서버시스템 5종을 사용해 추가 실험을 진행한 결과를 담아 이달(2월) 2일자로 작성된 'Intel AMD 멜트다운 영향 Test' 보고서의 결론이다.
인프라운영팀은 후속 실험을 위해 여러 제조사 메인보드와 CPU로 구성한 시스템 5종을 구성했다. 인텔CPU 시스템 3종과 AMD CPU 시스템 2종이었다. 여기에 제조사를 밝히지 않은 128GB 저장장치 P3-128 모델, 우분투리눅스16.04 OS를 공통으로 썼다. 각 시스템의 보안패치 적용 전후 성능을 3가지 벤치마크 도구로 측정했다. 앞서 소개한 C레이, 유닉스벤치와 또다른 성능측정도구 시스벤치(SysBench)를 썼다.
3가지 인텔CPU 서버 중 하나는 애즈락 메인보드(ASRock E3C222D4U)에 제온E3-1230 v3(4코어 8쓰레드)와 8GB DDR3 메모리를 탑재했다. 또 하나는 슈퍼마이크로 메인보드(X10SRM-F)에 제온E5-2620 v4(8코어 16쓰레드)와 16GB DDR4 메모리를 탑재했다. 나머지 하나는 슈퍼마이크로 메인보드(MD70-HB1)에 제온E5-2620 v4(16코어 32쓰레드)와 16GB DDR4 메모리를 탑재했다.
2가지 AMD CPU 서버 중 하나는 기가바이트 메인보드(GA-78LMT-USB3 6.0)에 FX-8300(8코어)와 8GB DDR3 메모리를 탑재했다. 나머지 하나는 MSI 메인보드(B350M MORTAR)에 라이젠7 1700(8코어 16쓰레드)과 16GB DDR4 메모리를 탑재했다.
다만 이 벤치마크에서 인프라운영팀은 멜트다운 취약점 해결을 위한 OS업데이트의 적용 전후 성능만을 견줬다. 먼젓번 실험처럼 메인보드 제조사의 펌웨어 패치 적용후 성능 변화 여부를 판단할 수는 없다. 따라서 관건은 멜트다운을 품은 인텔CPU의 패치전후 성능이다. 멜트다운 버그가 없는 AMD CPU기반 서버의 성능변화는 참고 수준의 정보다.
■ "인텔CPU 패치후 유닉스벤치 5~10% 하락, 시스벤치선 30% 이상 하락 보여"
C레이 측정결과 인텔CPU 서버의 OS패치 전/후 점수는 ▲제온E3-1230 v3 서버가 25.55점/24.34점 ▲제온E5-2620 v4 서버(16쓰레드)가 18.28점/18.20점 ▲제온E5-2620 v4 서버(32쓰레드)가 9.25점/9.19점을 기록했다. AMD CPU서버의 패치 전/후 점수는 ▲FX-8300 서버가 30.37점/30.35점 ▲라이젠7 1700 서버가 10.79점/10.74점을 기록했다. 모두 패치전후 성능차가 크지 않았다는 게 인프라운영팀의 해석이다.
유닉스벤치 측정결과 인텔CPU 서버의 OS패치 전/후 점수는 ▲제온E3-1230 v3 서버가 6천927.5점/6천311.3점 ▲제온E5-2620 v4 서버(16쓰레드)가 7천224.3점/6천805.9점 ▲제온E5-2620 v4 서버(32쓰레드)가 8천739.1점/7천994.8점을 기록했다. AMD CPU서버의 패치 전/후 점수는 ▲FX-8300 서버가 3천554.7점/3천556.0점 ▲라이젠7 1700 서버가 7천613.0점/7천631.7점을 기록했다.
인프라운영팀은 인텔CPU 시스템에 대해 "유닉스벤치는 시스템의 종합적인 성능을 테스트하는 툴인데 패치 전보다 패치 후 대략 5~10% 가량 하락한 성능 수치를 기록했다"고 지적했다. AMD CPU 시스템에 대해서는 별도로 언급하지 않았다.
시스벤치 테스트는 MySQL DB를 사용해 초당 트랜잭션과 쿼리, 2가지의 처리 성능을 테스트해 DB 성능을 테스트한다. 둘 다 측정값이 높을수록 우수한 성능을 의미한다.
트랜잭션 측정결과 인텔CPU 서버의 OS패치 전/후 점수는 ▲제온E3-1230 v3 서버가 1천590점/1천563점 ▲제온E5-2620 v4 서버(16쓰레드)가 2천901점/1천918점 ▲제온E5-2620 v4 서버(32쓰레드)가 2천517점/2천1점을 기록했다. AMD CPU서버의 패치 전/후 점수는 ▲FX-8300 서버가 1천236점/1천254점 ▲라이젠7 1700 서버가 2천164점/2천158점을 기록했다.
쿼리 측정결과 인텔CPU 서버의 OS패치 전/후 점수는 ▲제온E3-1230 v3 서버가 3만507점/2만9천996점 ▲제온E5-2620 v4 서버(16쓰레드)가 4만766점/3만7천411점 ▲제온E5-2620 v4 서버(32쓰레드)가 6만3천211점/4만3천399점을 기록했다 ▲AMD CPU서버의 패치 전/후 점수는 FX-8300 서버가 2만3천702점/2만4천38점 ▲라이젠7 1700 서버가 4만2천7점/4만1천905점을 기록했다.
관련기사
- 인텔, CPU패치 재배포…보안결함 악몽 여전2018.02.21
- 스펙터-멜트다운 CPU버그 공격시도 포착2018.02.21
- 리눅스는 지금 '멜트다운'과 혈투중2018.02.21
- 인텔 "CPU보안패치 PC 성능저하" 인정2018.02.21
인프라운영팀은 보고서 결론에서 "시스벤치 테스트 결과 AMD계열 시스템은 패치전후 성능차이를 보이지 않았지만 인텔PCU의 경우 크게는 30% 이상 성능하락을 보였다"며 "32쓰레드 시스템의 성능하락이 가장 컸고 8쓰레드 시스템은 오차범위(2%) 이내였다"고 지적했다.
이어 "테스트 결과가 모든 인텔 및 AMD CPU의 보편적 결과라 보기는 어렵다"면서도 "3가지(C레이, 유닉스벤치, 시스벤치) 테스트만으로 인텔 시스템의 멜트다운 패치에 따른 성능하락 수준을 파악할 수는 없지만 성능하락 자체는 확인 가능하며, 특히 I/O쪽에 영향을 주는 걸 확인할 수 있다"고 덧붙였다.