테크레시피

블루투스 장치 낚아채는 취약점 ‘블레사’ 발견

스마트폰과 PC를 비롯한 블루투스 탑재 장치에 잘못된 데이터를 수신하게 해 오작동을 일으킬 수 있게 하는 취약점이 발견됐다. 블레사(BLESA)라고 명명한 이 취약점에 영향을 받은 장치는 전 세계적으로 수십억 대에 이르는 것으로 추정된다.

미국 퍼듀대학 보안 연구팀은 2020년 8월 11일 열린 보안 콘퍼런스 WOOT20에서 블루투스를 통해 장치를 오작동시킬 수 있는 취약점 발견을 보고했다. 저전력에서 블루투스 통신을 실현한 블루투스LE(Low Energy) 기술을 통해 스푸핑 공격(spoofing attack)을 일으키는 이 문제의 취약점이 블레사라는 것.

연구팀에 따르면 블레사는 BLE 사양에 포함된 블루투스 범위 밖에 떨어진 장치끼리 블루투스로 재연결할 때 인증은 필수가 아니라 선택이라는 점과 통신 데이터 인증이 실패하면 인증이 해결될 가능성이 있다는 2가지 사양에 따라 발생된다는 것이다.

블루투스 보안 문제로 활발하게 연구되는 페어링 과정이 아니라 재연결 과정을 악용해 다양한 장치에 블레사 영향을 받는다고 연구팀은 지적하고 있다. 영상을 보면 픽셀XL과 블루투스로 페어링한 반지형 피트니스 추적기 오로라 링(Oura Ring)을 이용해 테스트한다. 블레사 공격이 이뤄지기 전 오로라 링 앱에서 장치 배터리 잔량은 43%. 앱을 종료시키고 스푸핑 공겨을 시작한 다음 다시 앱을 실행시키면 블루투스 재연결된다. 스푸핑 공격에 의한 스푸핑 데이터가 전송되면 43%였던 배터리 잔량이 0%로 바뀐다. 배터리 잔량이 0%임에도 스푸핑 공격에 의해 충전이 끝났다는 알림이 표시된다.

연구팀은 리눅스에서 블루투스 프로토콜 스택(BlueZ), 안드로이드 플루오라이드(Fluoride), iOS BLE 스택에서 블레사가 유효하다는 걸 확인했다. 참고로 윈도 블루투스 장치에선 블레사 영향이 확인되지 않았다고 한다.

이미 연구팀은 애플과 구글, 리눅스 블루Z(BlueZ) 개발팀에 블레사 발견을 통보했으며 애플은 6월 이 문제를 해결했다. 또 블루Z 개발팀도 블레사 공격 노출 코드 일부를 제거하고 적절한 BLE 재연결 절차를 구현했다고 발표했다. 하지만 2020년 6월 시점 안드로이드10에 설치된 픽셀XL 같은 경우 블레사에 대응하지 못했다고 한다.

또 BLE 사용 통계에 대해 연구팀은 블레사에 대응하는 BLE 소프트웨어 스택을 사용하는 사물인터넷 디바이스 수는 수십억 개에 달한다고 지적했다. 관련 내용은 이곳에서 확인할 수 있다.