“고성능 요구 시 CPU 최대”…벤치마크 앱에만 반응하는 코드는?
삼성전자가 갤럭시노트3의 벤치마크 성능 부풀리기 의혹을 부인했다. 3일(현지시각) C넷 UK에 따르면 삼성전자 대변인은 “고성능이 요구될 때 나타나는 현상”이라고 답했다.
C넷 UK에 답변한 삼성전자 대변인은 “갤럭시노트3은 고성능이 요구되는 기능이 사용될 때 GPU와 CPU 주파수를 최대화한다”고 밝혔다. 또 “특정 벤치마크 결과를 과장하려는 시도가 아니었으며 삼성전자는 고객에게 최고의 사용자 경험을 제공하기 위해 헌신하고 있다”고 답했다.
이 기사를 인용한 BGR은 “이러한 상황에서 PR부서의 대응은 일반적으로 해석의 여지를 주지만 이번 답변은 그렇지 않다”며 “삼성전자는 평판이 좋은 테크 사이트인 아스 테크니카와 어낸드테크가 새빨간 거짓말을 하고 있다(flat-out lying)고 말하는 것”이라고 평했다.
아스 테크니카는 갤럭시노트3이 특정 벤치마크 앱이 실행될 때 CPU 4개 코어를 전부 사용해 성능치를 최고로 발휘한다는 점을 지적했으며 곧바로 어낸드텍은 다른 안드로이드 스마트폰들도 유사한 속임수를 썼음을 밝혀냈다.
삼성전자의 이 같은 설명은 쉽게 납득되기 어려워 보인다. 삼성전자 대변인은 고성능이 요구되는 앱일 경우라고 해명했지만, 아스 테크니카에 따르면 갤럭시노트3의 프로그램 내 벤치마크 앱들에만 반응하도록 짜여진 코드가 있기 때문이다.
이틀 전 아스 테크니카는 갤럭시노트3이 유명한 벤치마킹 앱들의 이름 패키지를 인식하여 이런 앱들이 실행될 때 CPU를 최대치로 가동시킨다고 주장했다. 예를 들어 긱벤치(Geekbench)를 실행시키면 이 모드가 실행되는데, 아스테크니카는 긱벤치의 이름을 ‘스텔스벤치(Stealthbench)’로 바꾸고 벤치마크 앱 패키지를 재조합, 실행시키자 이런 현상이 없어졌다고 전했다.
또 아스테크니카는 벤치마크 부스터를 활성화시킨 파일을 발견해 추출, 디셈블리, 파일 컨버전을 통해 사람이 읽을 수 있는 자바 코드를 확보했다. `DVFSHelper.java`라는 이 코드는 특정 CPU 부스팅 모드로 영향을 받을 수 있는 모든 패키지 리스트를 담고 있다. 이 파일은 벤치마크에만 적용되며 긱벤치, 쿼드런트(Quadrant), 안투투(Antutu), 린팩(Linpack), GFX벤치, 심지어 삼성 자체 벤치마크 툴도 포함된다.
전자신문인터넷 테크트렌드팀
박현선기자 hspark@etnews.com