배터리에 침입한 맬웨어가 노트북을 어떻게 망치는가

PCWorld

우리는 컴퓨터에 의지하여 일을 처리하기 때문에 컴퓨터를 적절히 보호하려는 노력을 기울인다. 하지만 우리의 노트북, 데스크톱, 태블릿 등은 작동하기 위해서 정교한 컴퓨터 칩들의 자체적인 내부 네트워크에 의존하고 있다. 이 마이크로컨트롤러(Microcontroller)라고 불리는 작은 칩들은 노트북의 배터리부터 자동차 헤드라이트에 이르기까지 모든 것들을 제어하며 항상 안전하다고 보기는 어렵다.
 
마이크로컨트롤러들은 자체적인 CPU와 충분한 개별 메모리를 내장하고 있어 간단한 프로그램들을 구동할 수 있다. 그리고 비록 단일 작업을 처리하도록 설계되었지만 기기 펌웨어(Firmware)에 대한 업데이트를 통해 재프로그램 될 수 있다. 일반적으로 하드웨어 제조업체들은 기기의 성능을 향상시키기 위해서 이런 업데이트를 제공하지만, 이런 업데이트들을 위조하여 악성 코드를 퍼뜨리는 해커들을 막을 방법이 없다.

다행스럽게도 찰리 밀러같은 해커들은 겉보기에는 문제없어 보이는 배터리 같은 기기에 대한 보안을 신경 쓰지 않는 제조업체가 제공하는 하드웨어를 구매하는 행위의 잠재적인 위험성을 밝히는 것을 즐긴다. 밀러는 어큐번트 랩스(Accuvant Labs)의 보안 연구원이며, 2009년 블랙 햇(Black Hat) 보안 컨퍼런스에서 해커가 문자 메시지로 아이폰에 침입하는 방법을 밝힌 뒤로 많은 해킹 기법들을 찾아냈다.
 
밀러는 PC월드와의 인터뷰에서 "나는 단지 아이폰 해킹에 관해 설명했을 뿐이며 더 현란한 기술을 찾아내고 싶었다"라면서, "해커가 원격으로 컴퓨터에 물리적인 손상을 끼칠 수 있는지 궁금했다. 이를테면 누나의 컴퓨터에 불을 내는 것 같은 기술 같은 것 말이다"라고 말했다.
 
아마도 가능했었을 것이다. 밀러는 지난 3년간 자신이 우승한 Pwn2Own 해킹대회에서 7-8대의 맥북, 맥북 프로, 맥북 에어 등으로 실험을 감행했으며 요즘의 노트북에 장착되어 있는 배터리들은 전력을 안전하게 저장하고 방전시키도록 배터리와 운영체제간에 정보를 전달하는 스마트 배터리 시스템(Smart Battery System)의 일부라는 사실을 알아냈다. 만약 자신의 노트북이 어떻게 배터리가 완전히 소모되기 전에 얼마나 오랫동안 사용할 수 있는지 아는지 궁금했었다면 바로 이 시스템이 그 답이다.
 
모든 노트북 배터리는 정보를 전달하는 마이크로컨트롤러를 필요로 하며 이 마이크로컨트롤러는 노트북의 펌웨어를 독립적으로 구동할 필요가 있다. 이 펌웨어는 노트북을 통해 접근할 수 있지만 노트북의 메모리를 삭제하거나 운영체제를 다시 설치할 때 아무런 영향을 받지 않는다.

 

밀러는 자신의 실험을 위해 무수히 많은 애플 노트북 배터리들을 희생시켰다.
 

이런 일련의 행위는 사생활 침해를 조장할 수도 있다. 노트북에 접근이 가능한 악의를 가진 해커들은 어떤 백신 소프트웨어도 찾아낼 수 없게 노트북 칩에 작은 스파이웨어 프로그램을 심을 수 있다.
 
밀러는 "해커는 악성 소프트웨어를 배터리에서 노트북으로 주입할 수 있다. 단지 배터리 펌웨어가 코드를 바꿀 수 있도록 하는 OS의 취약성만 찾아내면 된다"며, "심지어 가짜 코드(Bluff Code)로 운영체제를 공격하여 노트북에 서비스 거부(Denial of Service) 공격 등을 실행할 수도 있다"라고 설명했다.

심지어 하드 드라이브를 삭제하거나 교체해도 이런 종류의 악성 소프트웨어를 찾아낼 수 없으며, 이런 칩들은 배터리 잔량이나 충전 속도 등의 중요한 시스템 기능을 제어하기 때문에 잠재적으로 심각한 손상을 초래할 수도 있다.
 

밀러는 "배터리가 컴퓨터에 충전 상태가 어떤지 또는 온도가 어느 정도인지 등에 관한 잘못된 정보를 제공하도록 할 수 있었다. 만약 이런 변수들을 바꾼다면 정말 나쁜 일이 생길 수도 있다"라고 말했다.
 
다행스럽게도 밀러가 애플 배터리에서 뽑아낸 텍사스 인스트루먼츠(Texas Instruments)의 마이크로컨트롤러는 암호로 보호되어 있다. 이 펌웨어를 수정하려는 사람은 칩이 공장 외부로 반출될 때 기본적으로 정해지는 두 개의 서로 다른 암호를 입력해야 한다. 문제는 애플이 이 기본 암호들을 바꾼 적이 없다는 사실이며 이는 밀러에게 있어서 텍사스 인스트루먼츠의 웹사이트에서 획득한 기본 암호를 이용해 맥북 에어의 배터리를 재프로그램하는 것은 어린아이 장난과 같았다는 것을 의미한다.
 
"텍사스 인스트루먼츠는 아무런 잘못이 없다. 암호들을 바꾸지 않은 것은 애플의 잘못이다. 다른 PC 제조업체들은 이런 칩들을 사용하여 올바른 방법으로 보안조치를 취할 수 있었다"라고 덧붙였다.
 
사실 많은 배터리 제조사들이 이런 방식을 취하고 있다. 밀러가 자신의 13인치 맥북을 위해 이베이(eBay)의 서드파티 제조업체로부터 동일한 텍사스 인스트루먼츠의 칩을 장착한 새로운 배터리를 구매했을 때, 그는 해당 펌웨어에 접근할 수 없었다. 암호를 바꾸어버렸기 때문이다.

 

전형적인 스마트 배터리 시스템. 이런 경우에 시스템 호스트는 사용자의 노트북이다.

 
밀러는 "이런 암호들을 바꾸는 것이 쉽지 않다. 애플도 이런 조치를 취해야 하지만 기존 모델을 안전하게 업데이트할 수 있는 방법이 없다"고 말했다. 비록 애플과 다른 노트북 제조사들이 펌웨어 업데이트를 통해 암호들을 즉시 바꿀 수는 있지만 악의를 가진 해커들은 해당 업데이트를 역설계(Reverse-engineer)하여 새로운 암호를 알아낼 수 있다. 따라서 노트북을 공장에서 반출하기 전에 암호를 변경해야 한다는 설명이다.
 
우리는 아직까지 기기 펌웨어를 통한 사생활 침해나 악성 소프트웨어 공격에 관한 보도를 접하지 못했지만 전통적인 보안 소프트웨어들은 배터리나 기타 기기들을 무시하고 있기 때문에 문제가 자연 발생적인 것인지 아니면 조작된 것인지 알 길이 없다.
 
밀러는 "악성 소프트웨어가 배터리를 벽돌(Brick)로 만들어 다시는 작동하지 못하도록 할 수도 있다”고 경고하면서, "괜히 심통을 부리기 위한 것이 아니라면 왜 이런 일을 벌이는지 모르겠다"라고 말했다.
 
우리는 이와 관련해 애플에 연락을 취하였으나 아무런 대답도 얻지 못했다. 밀러는 이미 애플과 텍사스 인스트루먼츠측에 그가 발견한 취약성을 통보했으며, 2011 블랙 햇 보안 컨퍼런스에서 그의 연구결과를 발표할 예정이다. 또한 그는 노트북 배터리의 암호를 바꾸는데 사용할 수 있는 프로그램 컬크건(CaulkGun)을 공개할 예정이다.
 
밀러는 "좋은 소식은 악성 소프트웨어가 사용자의 노트북 배터리를 벽돌로 만들어 버릴 수 없게 되었다는 것이다는 것이다. 다만, 나쁜 소식은 애플이 배터리 펌웨어를 업데이트할 수 없게 되었다는 것이다"라고 덧붙였다. ciokr@idg.co.kr