2017.09.15

53억 대 블루투스 기기에의 위협, '블루본'의 이해

Fahmida Y. Rashid | CSO
아미스(Armis) 연구진이 블루투스 프로토콜의 취약점을 악용하는 공격인 블루본(BlueBorne)을 시연했다. 공격자가 대상 기기에 대한 원격 제어 권한을 아주 쉽게 획득할 수 있다는 오싹한 사실이 드러났다.

블루본 공격의 위험성은 다양한다. 우선 기기에 저장되어 있는 모든 파일 보기가 가능하다. 그뿐만 아니라 해당 파일을 간단히 암호화해 랜섬웨어 공격도 할 수 있다. 카메라 켜기 또한 간단하다. 아무도 모르게 회의 내용을 도청하고 대화를 모니터링할 수 있다. 악성코드는 클릭 한번이면 설치할 수 있다. 아무도 눈치채지 못하게 말이다.

하지만 필자가 무엇보다 두려움을 느낀 점은 블루본이 블루투스 기반 공격에서 빙산의 일각에 불과하다는 사실이다.

사물인터넷 보안 업체 아미스의 연구진은 안드로이드, 마이크로소프트 윈도우, 리눅스, iOS용 블루투스 구현에서 8개의 취약점을 발견했다. 사실상 블루투스 기능이 있는 거의 모든 기기가 공격에 취약하다는 이야기다. 스마트폰, 태블릿, 노트북 외에도 TV, 시계, 엔터테인먼트 기기, 어린이용 장난감, 심지어 자동차와 홈 오토메이션 시스템도 해당된다.

블루투스 기능이 있는 모든 기기가 취약한 것이다. 아미스 연구진은 위험에 노출된 기기의 수가 53억 개를 넘을 것으로 추산했다.

아미스 연구진은 "블루본 공격 특징은 사용자 동작이 필요없고 모든 소프트웨어 버전과 호환된다. 블루투스가 활성화되어 있어야 한다는 점을 제외하면 어떠한 사전 조건이나 구성도 필요 없다"고 밝혔다.

상시 가동, 상시 수신의 위험
블루본은 블루투스를 지원하는 기기는 연결 가능한 다른 기기의 신호를 항상 수신 대기한다는 점을 이용한다. 첫 무선 연결을 위해서는 일반적으로 수동 페어링이 필요하지만 일단 페어링되면 이후 해당 기기들은 서로 거리가 근접해지면 자동으로 재연결된다.

블루본은 취약점을 이용해 이 페어링 프로세스를 거치지 않고 근처의 기기와 블루투스 연결을 설정한다. 일부러 블루투스 기기 목록을 확인하지 않는 한 블루본을 사용한 연결이 발각될 가능성은 거의 없다.

아미스 CTO이자 공동 창업자인 나디르 이즈라엘은 "블루본은 지금은 존재하지 않는 프로토콜의 약점 또는 취약한 PIN 코드와 관련된 인증 기반 문제를 이용했던 과거의 블루투스 기반 악용과는 다르다. 사용자가 뭔가를 해야 한다는 조건이 없다"고 말했다.

어디선가 들어본 이야기다. 코드를 실행하고 이 기기에서 저 기기로 전파되는 악성코드는 바로 웜이다. 즉, 블루본은 블루투스를 통해 확산되는 IoT 웜의 기반이 된다.

이 취약점을 무기화할 수 있는 방법은 많다. 스포츠 경기를 관람한다고 생각해 보자. 경기장 내의 모든 블루투스 지원 기기가 하나의 기기에서 실행되는 공격에 취약한 채로 노출된다. 공격자는 악성코드가 설치된 기기를 들고 건물 안으로 들어가서 가까이 접근하는 것만으로 로비에 있는 다른 기기를 감염시킬 수 있다.

로비를 오가는 사람들이 휴대한 모든 취약한 기기는 감염 위험에 노출되며, 이렇게 감염된 기기들이 건물 안을 여기저기 돌아다니면서 감염은 더욱 확산되고 악성코드는 회사 네트워크에 깊숙이 자리잡게 된다. 모든 악성 활동이 블루투스를 통해 발생하므로 일부러 조사를 하기 전까지는 누구도 악성코드의 확산을 눈치챌 수 없다.

블루투스의 자동 연결 특성, 그리고 거의 모든 기기에서 기본적으로 블루투스가 활성화된다는 사실이 결합되어 이런 취약점의 심각성과 확산 능력을 배가시킨다. 일단 악성코드에 감염되면 해당 기기는 사무실 안에서든 공공 장소에서든 근처의 다른 블루투스 기기로 손쉽게 악성코드를 전파할 수 있다.

가능한 또 다른 시나리오는 기기를 블루투스 파인애플로 만들어 중간자(man-in-the-middle) 공격을 실행, 기기 간 전송되는 트래픽을 가로채거나 정상적 기기를 스푸핑해서 연결을 하이재킹하고 트래픽 경로를 재설정하는 것이다. 공격자는 MAC 주소를 식별하는 일반적인 툴을 사용해 근처의 블루투스 기기를 보고 특정 기기를 목표로 삼아 공격할 수 있다.

아미스 연구진은 "공격자는 기기를 탐색해 운영체제를 알아내 그에 따라 적절히 수법을 조정할 수 있다. 그런 다음 해당 플랫폼의 블루투스 프로토콜 취약점을 이용해 악의적인 목표를 달성하는 데 필요한 접근 권한을 획득할 수 있다"고 설명했다.

블루투스는 여러 시스템 수준 프로세스와 엮여 있기 때문에 일반적으로 기기에서 높은 권한을 갖는다. 블루투스가 해킹된다는 것은 악성코드 역시 이런 높은 권한으로, 때로는 루트 권한으로 실행됨을 의미한다.

블루투스의 스테이지프라이트
블루투스에서의 블루본은 2015년 발견된 안드로이드 버전의 스테이지프라이트(Stagefright) 취약점과 비슷한 면이 있다. 짐퍼리움(Zimperium) 연구원들이 안드로이드에서 문자 메시지를 통해 전송된 악성 동영상을 사용해 악성코드를 실행할 수 있는 스테이지프라이트 취약점을 발견한 이후 업계에서는 동영상 및 기타 멀티미디어 파일을 처리하는 미디어서버(mediaserver) 구성 요소와 립스테이지프라이트(libstagefright) 라이브러리에 이와 관련된 다른 취약점이 있는지 더 세심하게 살피게 됐다.

구글은 1년 넘게 월별 보안 업데이트를 통해 매달 꼬박꼬박 미디어서버 픽스를 내놨다. 대부분의 취약점은 최초의 스테이지프라이트 결함과는 관계가 없었지만 코드 내에서의 위치가 비슷했으며 조사의 강도가 높아진 덕분에 발견됐다.

블루투스에 필요한 것도 마찬가지다. 아미스 랩스 수석 연구원 벤 세리는 "블루본으로 분류되는 취약점 집합을 발견하는 것은 어렵지 않았다. 제로데이 취약점을 찾는 것은 연구팀의 일상적인 작업도 아니다"고 말했다. 세리는 "원격 코드 실행 취약점을 주로 다루는 사람이라면 누구나 결함을 찾을 수 있을 것"이라고 말했다.

세리와 이즈라엘이 우려하는 점은 블루투스에 잠재한 다른 취약점의 수다. 그동안 블루투스 프로토콜의 내부 작동에 대해 진지하게 관심을 기울인 사람이 없었기 때문에 그 수가 몇 개나 될지도 아무도 모른다는 것이다.

연구진은 "블루투스를 사용하는 다양한 플랫폼에서 아직 발견되지 않은 취약점이 많을 것으로 짐작된다. 연구에서 입증된 바와 같이 이런 취약점을 악용한 공격은 충분히 가능하다"고 전했다.

주요 업체들의 블루투스 구현 외에 맞춤형 블루투스 구현도 있다. 세리는 "주요 스택에 취약점이 있다면 맞춤형 구현에도 있을 가능성이 높다"고 말했다.

대부분의 기기는 패치 불가
구글과 마이크로소프트는 각각 안드로이드와 윈도우를 위한 9월 보안 업데이트에서 취약점을 수정하는 업데이트를 내놨으며 주요 리눅스 배포판도 수정 작업을 진행 중이다.

마이크로소프트는 윈도우 폰은 취약점에 해당되지 않는다고 밝혔고, 애플은 iOS 10에서 블루투스의 구현 방식을 변경해 아미스가 문제를 보고할 시기에는 이미 취약점이 제거된 상태였다. 아직 위험에 노출된 iOS 기기는 iOS 10 이전 버전을 실행하는 기기로, 아미스는 그 수를 약 1억 3,000만 개로 추산했다.

8가지 취약점은 다음과 같다.

- 리눅스 커널 RCE 취약점 – CVE-2017-1000251
- 리눅스 블루투스 스택(BlueZ) 정보 유출 취약점 – CVE-2017-1000250
- 안드로이드 정보 유출 취약점 – CVE-2017-0785
- 안드로이드 RCE 취약점 CVE-2017-0781 및 CVE-2017-0782
- 안드로이드의 블루투스 파인애플 – 논리 결함 CVE-2017-0783
- 윈도우의 블루투스 파인애플 – 논리 결함 CVE-2017-8628
- 애플 로우 에너지 오디오 프로토콜 ECE 취약점 – CVE 보류 중

다만 이러한 기기 가운데 상당수는 앞으로도 패치나 업데이트를 받지 못한다는 점도 감안해야 한다. 예를 들어 아미스의 추산에 따르면, 안드로이드 기기 가운데 업데이트가 가능한 비율은 45%(약 9억 6,000만 대)에 불과하다. 즉, 현재 전 세계적으로 약 11억 대의 안드로이드 기기가 취약한 상태로 사용되고 있다. 패치할 방법이 없거나 업데이트 과정이 너무 복잡해서 보편적인 사용자는 업데이트를 시도할 엄두도 내기 어려운 변형 리눅스를 실행하는 기기도 상당수다.

아미스는 꼭 필요한 경우가 아니라면 기기의 블루투스를 비활성화할 것을 권장한다. 필요하더라도 그때만 사용하고 일을 마치면 꺼야 한다. 결함을 수정하는 패치가 나와 기기가 업데이트되면 블루투스를 다시 켜 놓아도 안전하겠지만 필자 개인적으로는 사용하지 않을 때는 꺼두는 것이 보안 측면에서 좋은 습관이라고 생각한다. 불필요하게 공격 표면을 늘릴 이유가 없다.

미라이(Mirai)와 같은 블루본 봇넷 또는 블루본 웜, 둘 중에 어느 쪽이 잠재적으로 더 불안한 요소인지 필자는 잘 판단이 서지 않는다. 어느 쪽이든 블루투스를 지원하는 물건을 만드는 것보다 사용자 허락 없이는 기기가 상호 연결되기 어렵게 하는 것이 더 급선무인 것으로 보인다. editor@itworld.co.kr  



2017.09.15

53억 대 블루투스 기기에의 위협, '블루본'의 이해

Fahmida Y. Rashid | CSO
아미스(Armis) 연구진이 블루투스 프로토콜의 취약점을 악용하는 공격인 블루본(BlueBorne)을 시연했다. 공격자가 대상 기기에 대한 원격 제어 권한을 아주 쉽게 획득할 수 있다는 오싹한 사실이 드러났다.

블루본 공격의 위험성은 다양한다. 우선 기기에 저장되어 있는 모든 파일 보기가 가능하다. 그뿐만 아니라 해당 파일을 간단히 암호화해 랜섬웨어 공격도 할 수 있다. 카메라 켜기 또한 간단하다. 아무도 모르게 회의 내용을 도청하고 대화를 모니터링할 수 있다. 악성코드는 클릭 한번이면 설치할 수 있다. 아무도 눈치채지 못하게 말이다.

하지만 필자가 무엇보다 두려움을 느낀 점은 블루본이 블루투스 기반 공격에서 빙산의 일각에 불과하다는 사실이다.

사물인터넷 보안 업체 아미스의 연구진은 안드로이드, 마이크로소프트 윈도우, 리눅스, iOS용 블루투스 구현에서 8개의 취약점을 발견했다. 사실상 블루투스 기능이 있는 거의 모든 기기가 공격에 취약하다는 이야기다. 스마트폰, 태블릿, 노트북 외에도 TV, 시계, 엔터테인먼트 기기, 어린이용 장난감, 심지어 자동차와 홈 오토메이션 시스템도 해당된다.

블루투스 기능이 있는 모든 기기가 취약한 것이다. 아미스 연구진은 위험에 노출된 기기의 수가 53억 개를 넘을 것으로 추산했다.

아미스 연구진은 "블루본 공격 특징은 사용자 동작이 필요없고 모든 소프트웨어 버전과 호환된다. 블루투스가 활성화되어 있어야 한다는 점을 제외하면 어떠한 사전 조건이나 구성도 필요 없다"고 밝혔다.

상시 가동, 상시 수신의 위험
블루본은 블루투스를 지원하는 기기는 연결 가능한 다른 기기의 신호를 항상 수신 대기한다는 점을 이용한다. 첫 무선 연결을 위해서는 일반적으로 수동 페어링이 필요하지만 일단 페어링되면 이후 해당 기기들은 서로 거리가 근접해지면 자동으로 재연결된다.

블루본은 취약점을 이용해 이 페어링 프로세스를 거치지 않고 근처의 기기와 블루투스 연결을 설정한다. 일부러 블루투스 기기 목록을 확인하지 않는 한 블루본을 사용한 연결이 발각될 가능성은 거의 없다.

아미스 CTO이자 공동 창업자인 나디르 이즈라엘은 "블루본은 지금은 존재하지 않는 프로토콜의 약점 또는 취약한 PIN 코드와 관련된 인증 기반 문제를 이용했던 과거의 블루투스 기반 악용과는 다르다. 사용자가 뭔가를 해야 한다는 조건이 없다"고 말했다.

어디선가 들어본 이야기다. 코드를 실행하고 이 기기에서 저 기기로 전파되는 악성코드는 바로 웜이다. 즉, 블루본은 블루투스를 통해 확산되는 IoT 웜의 기반이 된다.

이 취약점을 무기화할 수 있는 방법은 많다. 스포츠 경기를 관람한다고 생각해 보자. 경기장 내의 모든 블루투스 지원 기기가 하나의 기기에서 실행되는 공격에 취약한 채로 노출된다. 공격자는 악성코드가 설치된 기기를 들고 건물 안으로 들어가서 가까이 접근하는 것만으로 로비에 있는 다른 기기를 감염시킬 수 있다.

로비를 오가는 사람들이 휴대한 모든 취약한 기기는 감염 위험에 노출되며, 이렇게 감염된 기기들이 건물 안을 여기저기 돌아다니면서 감염은 더욱 확산되고 악성코드는 회사 네트워크에 깊숙이 자리잡게 된다. 모든 악성 활동이 블루투스를 통해 발생하므로 일부러 조사를 하기 전까지는 누구도 악성코드의 확산을 눈치챌 수 없다.

블루투스의 자동 연결 특성, 그리고 거의 모든 기기에서 기본적으로 블루투스가 활성화된다는 사실이 결합되어 이런 취약점의 심각성과 확산 능력을 배가시킨다. 일단 악성코드에 감염되면 해당 기기는 사무실 안에서든 공공 장소에서든 근처의 다른 블루투스 기기로 손쉽게 악성코드를 전파할 수 있다.

가능한 또 다른 시나리오는 기기를 블루투스 파인애플로 만들어 중간자(man-in-the-middle) 공격을 실행, 기기 간 전송되는 트래픽을 가로채거나 정상적 기기를 스푸핑해서 연결을 하이재킹하고 트래픽 경로를 재설정하는 것이다. 공격자는 MAC 주소를 식별하는 일반적인 툴을 사용해 근처의 블루투스 기기를 보고 특정 기기를 목표로 삼아 공격할 수 있다.

아미스 연구진은 "공격자는 기기를 탐색해 운영체제를 알아내 그에 따라 적절히 수법을 조정할 수 있다. 그런 다음 해당 플랫폼의 블루투스 프로토콜 취약점을 이용해 악의적인 목표를 달성하는 데 필요한 접근 권한을 획득할 수 있다"고 설명했다.

블루투스는 여러 시스템 수준 프로세스와 엮여 있기 때문에 일반적으로 기기에서 높은 권한을 갖는다. 블루투스가 해킹된다는 것은 악성코드 역시 이런 높은 권한으로, 때로는 루트 권한으로 실행됨을 의미한다.

블루투스의 스테이지프라이트
블루투스에서의 블루본은 2015년 발견된 안드로이드 버전의 스테이지프라이트(Stagefright) 취약점과 비슷한 면이 있다. 짐퍼리움(Zimperium) 연구원들이 안드로이드에서 문자 메시지를 통해 전송된 악성 동영상을 사용해 악성코드를 실행할 수 있는 스테이지프라이트 취약점을 발견한 이후 업계에서는 동영상 및 기타 멀티미디어 파일을 처리하는 미디어서버(mediaserver) 구성 요소와 립스테이지프라이트(libstagefright) 라이브러리에 이와 관련된 다른 취약점이 있는지 더 세심하게 살피게 됐다.

구글은 1년 넘게 월별 보안 업데이트를 통해 매달 꼬박꼬박 미디어서버 픽스를 내놨다. 대부분의 취약점은 최초의 스테이지프라이트 결함과는 관계가 없었지만 코드 내에서의 위치가 비슷했으며 조사의 강도가 높아진 덕분에 발견됐다.

블루투스에 필요한 것도 마찬가지다. 아미스 랩스 수석 연구원 벤 세리는 "블루본으로 분류되는 취약점 집합을 발견하는 것은 어렵지 않았다. 제로데이 취약점을 찾는 것은 연구팀의 일상적인 작업도 아니다"고 말했다. 세리는 "원격 코드 실행 취약점을 주로 다루는 사람이라면 누구나 결함을 찾을 수 있을 것"이라고 말했다.

세리와 이즈라엘이 우려하는 점은 블루투스에 잠재한 다른 취약점의 수다. 그동안 블루투스 프로토콜의 내부 작동에 대해 진지하게 관심을 기울인 사람이 없었기 때문에 그 수가 몇 개나 될지도 아무도 모른다는 것이다.

연구진은 "블루투스를 사용하는 다양한 플랫폼에서 아직 발견되지 않은 취약점이 많을 것으로 짐작된다. 연구에서 입증된 바와 같이 이런 취약점을 악용한 공격은 충분히 가능하다"고 전했다.

주요 업체들의 블루투스 구현 외에 맞춤형 블루투스 구현도 있다. 세리는 "주요 스택에 취약점이 있다면 맞춤형 구현에도 있을 가능성이 높다"고 말했다.

대부분의 기기는 패치 불가
구글과 마이크로소프트는 각각 안드로이드와 윈도우를 위한 9월 보안 업데이트에서 취약점을 수정하는 업데이트를 내놨으며 주요 리눅스 배포판도 수정 작업을 진행 중이다.

마이크로소프트는 윈도우 폰은 취약점에 해당되지 않는다고 밝혔고, 애플은 iOS 10에서 블루투스의 구현 방식을 변경해 아미스가 문제를 보고할 시기에는 이미 취약점이 제거된 상태였다. 아직 위험에 노출된 iOS 기기는 iOS 10 이전 버전을 실행하는 기기로, 아미스는 그 수를 약 1억 3,000만 개로 추산했다.

8가지 취약점은 다음과 같다.

- 리눅스 커널 RCE 취약점 – CVE-2017-1000251
- 리눅스 블루투스 스택(BlueZ) 정보 유출 취약점 – CVE-2017-1000250
- 안드로이드 정보 유출 취약점 – CVE-2017-0785
- 안드로이드 RCE 취약점 CVE-2017-0781 및 CVE-2017-0782
- 안드로이드의 블루투스 파인애플 – 논리 결함 CVE-2017-0783
- 윈도우의 블루투스 파인애플 – 논리 결함 CVE-2017-8628
- 애플 로우 에너지 오디오 프로토콜 ECE 취약점 – CVE 보류 중

다만 이러한 기기 가운데 상당수는 앞으로도 패치나 업데이트를 받지 못한다는 점도 감안해야 한다. 예를 들어 아미스의 추산에 따르면, 안드로이드 기기 가운데 업데이트가 가능한 비율은 45%(약 9억 6,000만 대)에 불과하다. 즉, 현재 전 세계적으로 약 11억 대의 안드로이드 기기가 취약한 상태로 사용되고 있다. 패치할 방법이 없거나 업데이트 과정이 너무 복잡해서 보편적인 사용자는 업데이트를 시도할 엄두도 내기 어려운 변형 리눅스를 실행하는 기기도 상당수다.

아미스는 꼭 필요한 경우가 아니라면 기기의 블루투스를 비활성화할 것을 권장한다. 필요하더라도 그때만 사용하고 일을 마치면 꺼야 한다. 결함을 수정하는 패치가 나와 기기가 업데이트되면 블루투스를 다시 켜 놓아도 안전하겠지만 필자 개인적으로는 사용하지 않을 때는 꺼두는 것이 보안 측면에서 좋은 습관이라고 생각한다. 불필요하게 공격 표면을 늘릴 이유가 없다.

미라이(Mirai)와 같은 블루본 봇넷 또는 블루본 웜, 둘 중에 어느 쪽이 잠재적으로 더 불안한 요소인지 필자는 잘 판단이 서지 않는다. 어느 쪽이든 블루투스를 지원하는 물건을 만드는 것보다 사용자 허락 없이는 기기가 상호 연결되기 어렵게 하는 것이 더 급선무인 것으로 보인다. editor@itworld.co.kr  

X