인텔에서는 이와 관련되어 있지만 위험도 조금 낮은 취약점 2개 패치 발표하기도
[보안뉴스 문가용 기자] 구글과 인텔이 리눅스 블루투스 프로토콜인 블루지(BlueZ)에서 고위험군에 속하는 취약점을 발견했다. 블루지는 리눅스 기반 사물인터넷 장비들에 탑재된 블루투스 기능을 구현하는 데 있어 핵심적인 요소 중 하나다. 구글은 여기에 블리딩투스(BleedingTooth)라는 이름을 붙였다.

[이미지 = utoimage]
구글에 의하면 리눅스 커널 5.9 이전 버전의 경우 블리딩투스 취약점에 노출되어 있다고 한다. 블루지는 공식 리눅스 커널 2.4.6부터 도입되었다. 블리딩투스 취약점의 가장 큰 특징은 ‘제로 클릭 공격’을 가능하게 한다는 것이다. 즉 피해자가 특정 링크를 누르거나 파일을 열지 않아도 공격이 성립된다는 뜻이다. 블리딩투스 취약점을 공략하는 데 성공할 경우 공격자의 권한이 상승된다.
구글은 깃허브 게시글을 통해 “블루투스 전파가 닿을 만 한 거리에 있는 공격자가 피해자의 블루투스 주소를 알아낼 경우 악성 l2cap 패킷을 보냄으로써 디도스 공격을 하거나 커널 권한을 가지고 임의 코드 실행 공격을 할 수 있게 된다”고 설명했다. 악성 블루투스 칩을 통해서도 블리딩투스 취약점을 발동시키는 게 가능하다고도 썼다.
블리딩투스 취약점의 공식 관리 번호는 CVE-2020-12351이다. CVSS를 기준으로 8.3점을 받아 고위험군으로 분류된다. 일종의 타입 컨퓨전(type confusion) 취약점이며, net/bluetooth/l2cap_core.c에서 발견된다고 한다. 타입 컨퓨전을 일으키면 영역 외 메모리에 접근할 수 있고, 이를 통해 코드를 실행하거나 일부 요소를 마비시킬 수 있게 된다. 이렇게 되는 건, 블루지를 커널 내에서 구현했을 때 사용자가 제공하는 입력값을 검증하는 과정이 불충분하기 때문이다.
구글은 이 취약점에 대한 개념증명 익스플로잇 영상을 함께 공개했다. 영상은 다음 주소(https://www.youtube.com/watch?v=qPYrLRausSw&feature=emb_logo)에서 열람이 가능하다. 앞으로 블루지 취약점에 대한 추가 정보는 여기(https://security.googleblog.com/)서 공개될 예정이다. 구글이 깃허브에 공개한 내용은 여기(https://github.com/google/security-research/security/advisories/GHSA-h637-c88j-47wq)서 열람할 수 있다.
인텔 측도 리눅스 커널 사용자들에게 5.10 이상 버전으로 업데이트 할 것을 권고하는 내용의 발표문을 공개했다. 그러면서 “권한 상승 및 정보 노출을 일으킬 수 있는 취약점이 블루지에서 발견되었다”고 설명했다. 동시에 불충분한 접근 제어 때문에 발생하는 중간급 위험군 오류 두 개에 대한 픽스를 발표했다. 두 가지 전부 블루지에 영향을 준다고 한다.
이 두 가지 취약점은 다음과 같다.
1) CVE-2020-12352 : 인증 과정을 통과하지 않은 사용자가 장비 근처에서 정보에 접근할 수 있게 해준다. 사용자의 블루투스 주소를 알고 있으면 커널 스택 정보를 취득할 수 있게 된다.
2) CVE-2020-24490 : 인증 과정을 통과하지 않은 사용자가 장비 근처에서 디도스 공격을 할 수 있게 해준다. 경우에 따라 임의 코드 실행 공격도 가능하게 된다.
인텔이 공개한 취약점 세부 내용과 픽스들은 여기(https://www.intel.com/content/www/us/en/security-center/advisory/intel-sa-00435.html)서 열람 및 다운로드가 가능하다.
3줄 요약
1. 리눅스 기반 장비들의 블루투스 요소에서 심각한 취약점 발견됨.
2. 익스플로잇 할 경우 피해자의 행동이 하나도 없어도 공격이 가능하게 됨.
3. 리눅스 커널을 5.10 이상 버전으로 올리는 것이 지금 할 수 있는 대처.
[국제부 문가용 기자(globoan@boannews.com)]
<저작권자: 보안뉴스(www.boannews.com) 무단전재-재배포금지>