2021.10.07

에어태그를 '악성코드 배포기'로 만든 치명적인 코딩 오류

Evan Schuman | Computerworld
2021년 모바일 IT의 무서운 진실 가운데 하나는 애플 워치, 에어태그, 건강 상태를 추적하는 링, 스마트 헤드폰 등 소형 기기의 단순성과 편의가 지나치게 유혹적이라는 점이다.



노트북이나 데스크톱과 비교했을 때 이들 기기에서는 URL에 문제가 없는지, 스팸, 악성코드 문자, 이메일이 열리지는 않는지, 직원이 IT 부서가 요청한 최소한의 사이버보안 예방 조치를 따르고 있는지 확인하기가 지극히 어렵다. 에를 들어 데스크톱 이메일에는 극도의 주의를 기울이는 사람이 애플 워치를 통해 유입되는 메시지에는 별 생각 없이 경계를 푸는 경우가 많다.  

더구나 사소한 프로그래밍 오류는 쉽게 일어나고 그냥 지나치는 경우가 많다. 하지만 이 사소한 오류가 거대한 보안 허점이 될 수 있다. 애플과 에어태그의 사례를 살펴보자. 한 보안 연구자가 전화번호를 입력하는 필드가 의도치 않게 에어태그를 악성 코드 범죄자를 위한 '신의 선물'로 만들었음을 발견했다.  

아스 테크니카(Ars Technica)는 "보안 컨설턴트이자 침투 테스터인 보비 로치가 애플의 에어태크, 즉 노트북, 전화기, 자동차 열쇠 등 자주 분실하는 물품에 부착될 수 있는 소형 기기를 분석한 결과 이용자가 입력한 정보를 삭제하지 않는다는 사실을 알아냈다. 이는 에어태그가 드롭 공격에 이용될 여지를 있음을 의미한다. 노리는 사람의 차가 주차된 곳에 악성코드가 담긴 USB 드라이브를 뿌리는 대신, 준비된 에어태그를 투하할 수 있게 됐다"라고 보도했다.  

보도에 따르면, 이런 종류의 공격은 고도의 전문 지식이 필요 없다. 공격자는 단순히 에어태그의 전화번호 필드에 정당한 XSS를 입력한 후 에어태그를 ‘분실’ 모드에 두고 표적이 이를 발견한만한 장소에 두면 된다. 이론적으로, 분실된 에어태그를 스캔하는 일은 안전한 행동이다. https://found.apple.com 웹페이지를 열도록 되어 있을 뿐이다. 문제는 found.apple.com 웹사이트가 피해자의 브라우저에 표시된 대로 웹사이트의 전화번호 필드에 정보를 저장한다는 것이다. 다시 말해 삭제되지 않는다.

이 허점이 심각한 것은 피해가 공격자의 창의성 영역에 있다는 점이다. 즉, 이 창에 어떤 URL이든지 입력할 수 있고, 피해자가 무슨 일이 일어나고 있는지를 지나치기 쉽기 때문에 공격자가 할 수 있는 일이 거의 무한하다.  

<아스 테크니카>의 기사를 보면 apple.com은 스캔 된 에어태그에 대한 반응으로 XSS를 단순히 장착한다. 피해자에게 badside.tld/page.html 컨텐츠를 표시한 팝업창이 뜬다. 이는 브라우저 제로-데이 익스플로잇이거나 단순히 피싱 문구일 수 있다. 

로치는 "가짜 아이클라우드 로그인 문구를 가정하면 어떻게 될까. 진짜처럼 보이도록 만들어 피해자의 애플 인증정보를 요구하는 것이다. 이는 괜찮은 익스플로잇이긴 하지만, 이게 전부가 아니다. 웹페이지에서 할 수 있는 거의 모든 것을 할 수 있다. 예를 들어 단순한 피싱, 피해자의 전화를 제로 데이 노-클릭 취약점에 노출시키는 것 등이다”라고 말했다.

이것이 에어태그 같은 기기의 편의성이 주는 위험이다. 이들은 소형이고 단일 기능이라는 특성상 무해해 보이지만 전혀 그렇지 않다. 기기가 제멋대로 아무 사람, 아무 것과 통신할 수 있다면 이는 중대한 위협이다. 그렇다. 사물인터넷(IoT) 및 산업사물인터넷(IIoT) 도어 록, 전구, 온도 센서 등이다. 

이는 소비자에게도 위협이지만, 기업 IT 및 보안 운영에는 훨씬 더 유해하다. 직원과 계약업체가 (네트워크 인증 정보를 가진 대리점, 공급업체, 파트너, 대형 고객은 말할 것도 없음) 이들 소형 기기와 상호작용할 때는 사이버 보안 교육 지침을 아예 잊어버리는 경향이 있기 때문이다. 데스크톱에서는 이메일에 주의를 기울더라도 (모두가 그렇다는 것은 아니다) 극도로 편리한 소형 기기에서는 방심할 수 있다. 그래서는 안되지만 그렇게 된다.  

그리고 ‘그래서는 안 된다’는 말은 그냥 하는 말이 아니다. 이들 가운데 몇몇 기기, 예를 들어 에어태그, 스마트 워치 등은 최종 이용자 측의 사이버보안 경계를 사실상 불가능하게 만든다. 이번 에어태그 사태는 이를 다시 한번 환기시켜준다.  

크렙스온시큐리티(KrebsOnSecurity)는 이 에어태그 문제의 한층 위협적인 요소를 다음과 같이 심층 분석했다.  

“에어태그의 ‘분실 모드’는 이용자가 에어태그를 분실했을 때 애플에 경보를 보낼 수 있다. 에어태그를 ‘분실 모드’로 설정하면 https://found.apple.com에서 고유한 URL이 생성되고, 이용자는 사적인 메시지와 연락 전화번호를 입력할 수 있다. 에어태그를 발견한 사람은 누구든지 이를 애플 또는 안드로이드 폰으로 스캔해 이 URL과 소유자의 메시지를 즉시 볼 수 있다. ‘분실 모드’에 있는 에어태그가 스캔되면 지정한 전화번호로 소유자에게 전화하도록 발견자에게 요청하는 짧은 메시지가 뜬다. 이 정보는 발견자에게 로그인하거나 개인 정보를 제공하도록 요청하지 않은 채 나타난다”

더 흥미로운 부분은 애플이 이 허점에 대해 매우 소홀했다는 점이다. 필자는 애플 제품에서 이런 부주의를 반복적으로 목격했다. 애플은 주의한다고 주장하지만 정작 행동은 반대다.  

크렙스온시큐리티의 보도에 따르면, 로치는 6월 20일 이 버그와 관련해 애플에 알렸지만 3개월 동안 조사중이라고는 답변만 받았다. 최근 애플은 응답 이메일을 통해 후속 업데이트에서 이에 대처할 계획이라며 이 버그를 공개적으로 밝히지 말아달라고 요청했다.

로치는 애플이 버그에 대해 자신이 질문한 기본적인 질문도 확인해주지 않았다고 지적했다. 예를 들어 버그 수정 일정이 어떻게 되는지, 일정이 있다면 수정에 따른 보안 공지에서 자신의 이름을 밝힐 계획인지 등이다. 또한 그의 버그 제출이 애플의 버그 현상금 프로그램에 부합하는지도 알려주지 않았다. 애플 제품의 보안 버그를 신고하는 보안 연구자는 최대 100만 달러의 금전적 보상을 받을 수 있다. 

로치는 "지난 수년간 여러 기업에 여러 가지 소프트웨어 취약점을 알려줬지만, 애플의 경우 소통 부재로 인해 내가 발견한 사항을 공표하지 않을 수 없었다. 애플이 버그가 수정될 때까지 침묵을 지키는 것이 보안 공지에서 인정을 받는 조건이라고 했다"라고 말했다.  

우선, 로치는 여기서 잘못한 게 전혀 없다. 어떤 업체든 보안 문제를 신고 받고 이를 수개월 또는 그 이상 방치한다면 이용자와 업계가 피해를 입는다. 또한 연구자에게 보상을 받을 것인지 신속히 알리지 않는다면 연구자는 이를 공개적으로 알리는 것 외에는 자신의 공로를 인정 받을 별다른 방법이 없다.  

최소한 업체는 언제 패치가 배포될 것인지에 대해 명확하고 구체적이어야 한다. 애플이 이에 한동안 대처할 수 없다면 이를 잠재적 피해자에게 공지할 의무가 있다. 그래야 사용자가 보안 허점을 피할 수 있는 예방적 행동을 할 수 있다. 허점을 수정하는 것이 가장 좋지만, 이를 신속히 하지 못한다면 그렇게라도 해야 한다.   

이는 오래된 버그 공개 문제이고, 이에 대처하기 위해 버그 현상금 프로그램이 있는 것이다. 패치 이전에 버그를 공개하면 사이버 범죄자에게 허점을 알리는 것이다. 이들은 허점을 알게 되면 곧장 이용하려 할 것이다. 공개를 안 한다고 해서 허점을 미리 알고 있는 공격자가 없는 것도 아니다. 이 경우 애플의 부작위는 피해자를 공격에 방치하는 것이 된다.

애플의 행동은 분노를 자아낸다. 지급 약속을 침묵 요구와 연계시키는 버그 현상금 프로그램이라면 애플은 위 2가지 모두를 진지하게 취급했어야 했다. 이러한 프로그램이 있고(침묵 요구가 동반됨), 허점을 수정하는 데 시간이 너무 오래 걸린다면 전체 버그 현상품 프로그램의 본래 취지가 훼손될 뿐 아니라 소비자와 기업에게도 피해가 간다. editor@itworld.co.kr


2021.10.07

에어태그를 '악성코드 배포기'로 만든 치명적인 코딩 오류

Evan Schuman | Computerworld
2021년 모바일 IT의 무서운 진실 가운데 하나는 애플 워치, 에어태그, 건강 상태를 추적하는 링, 스마트 헤드폰 등 소형 기기의 단순성과 편의가 지나치게 유혹적이라는 점이다.



노트북이나 데스크톱과 비교했을 때 이들 기기에서는 URL에 문제가 없는지, 스팸, 악성코드 문자, 이메일이 열리지는 않는지, 직원이 IT 부서가 요청한 최소한의 사이버보안 예방 조치를 따르고 있는지 확인하기가 지극히 어렵다. 에를 들어 데스크톱 이메일에는 극도의 주의를 기울이는 사람이 애플 워치를 통해 유입되는 메시지에는 별 생각 없이 경계를 푸는 경우가 많다.  

더구나 사소한 프로그래밍 오류는 쉽게 일어나고 그냥 지나치는 경우가 많다. 하지만 이 사소한 오류가 거대한 보안 허점이 될 수 있다. 애플과 에어태그의 사례를 살펴보자. 한 보안 연구자가 전화번호를 입력하는 필드가 의도치 않게 에어태그를 악성 코드 범죄자를 위한 '신의 선물'로 만들었음을 발견했다.  

아스 테크니카(Ars Technica)는 "보안 컨설턴트이자 침투 테스터인 보비 로치가 애플의 에어태크, 즉 노트북, 전화기, 자동차 열쇠 등 자주 분실하는 물품에 부착될 수 있는 소형 기기를 분석한 결과 이용자가 입력한 정보를 삭제하지 않는다는 사실을 알아냈다. 이는 에어태그가 드롭 공격에 이용될 여지를 있음을 의미한다. 노리는 사람의 차가 주차된 곳에 악성코드가 담긴 USB 드라이브를 뿌리는 대신, 준비된 에어태그를 투하할 수 있게 됐다"라고 보도했다.  

보도에 따르면, 이런 종류의 공격은 고도의 전문 지식이 필요 없다. 공격자는 단순히 에어태그의 전화번호 필드에 정당한 XSS를 입력한 후 에어태그를 ‘분실’ 모드에 두고 표적이 이를 발견한만한 장소에 두면 된다. 이론적으로, 분실된 에어태그를 스캔하는 일은 안전한 행동이다. https://found.apple.com 웹페이지를 열도록 되어 있을 뿐이다. 문제는 found.apple.com 웹사이트가 피해자의 브라우저에 표시된 대로 웹사이트의 전화번호 필드에 정보를 저장한다는 것이다. 다시 말해 삭제되지 않는다.

이 허점이 심각한 것은 피해가 공격자의 창의성 영역에 있다는 점이다. 즉, 이 창에 어떤 URL이든지 입력할 수 있고, 피해자가 무슨 일이 일어나고 있는지를 지나치기 쉽기 때문에 공격자가 할 수 있는 일이 거의 무한하다.  

<아스 테크니카>의 기사를 보면 apple.com은 스캔 된 에어태그에 대한 반응으로 XSS를 단순히 장착한다. 피해자에게 badside.tld/page.html 컨텐츠를 표시한 팝업창이 뜬다. 이는 브라우저 제로-데이 익스플로잇이거나 단순히 피싱 문구일 수 있다. 

로치는 "가짜 아이클라우드 로그인 문구를 가정하면 어떻게 될까. 진짜처럼 보이도록 만들어 피해자의 애플 인증정보를 요구하는 것이다. 이는 괜찮은 익스플로잇이긴 하지만, 이게 전부가 아니다. 웹페이지에서 할 수 있는 거의 모든 것을 할 수 있다. 예를 들어 단순한 피싱, 피해자의 전화를 제로 데이 노-클릭 취약점에 노출시키는 것 등이다”라고 말했다.

이것이 에어태그 같은 기기의 편의성이 주는 위험이다. 이들은 소형이고 단일 기능이라는 특성상 무해해 보이지만 전혀 그렇지 않다. 기기가 제멋대로 아무 사람, 아무 것과 통신할 수 있다면 이는 중대한 위협이다. 그렇다. 사물인터넷(IoT) 및 산업사물인터넷(IIoT) 도어 록, 전구, 온도 센서 등이다. 

이는 소비자에게도 위협이지만, 기업 IT 및 보안 운영에는 훨씬 더 유해하다. 직원과 계약업체가 (네트워크 인증 정보를 가진 대리점, 공급업체, 파트너, 대형 고객은 말할 것도 없음) 이들 소형 기기와 상호작용할 때는 사이버 보안 교육 지침을 아예 잊어버리는 경향이 있기 때문이다. 데스크톱에서는 이메일에 주의를 기울더라도 (모두가 그렇다는 것은 아니다) 극도로 편리한 소형 기기에서는 방심할 수 있다. 그래서는 안되지만 그렇게 된다.  

그리고 ‘그래서는 안 된다’는 말은 그냥 하는 말이 아니다. 이들 가운데 몇몇 기기, 예를 들어 에어태그, 스마트 워치 등은 최종 이용자 측의 사이버보안 경계를 사실상 불가능하게 만든다. 이번 에어태그 사태는 이를 다시 한번 환기시켜준다.  

크렙스온시큐리티(KrebsOnSecurity)는 이 에어태그 문제의 한층 위협적인 요소를 다음과 같이 심층 분석했다.  

“에어태그의 ‘분실 모드’는 이용자가 에어태그를 분실했을 때 애플에 경보를 보낼 수 있다. 에어태그를 ‘분실 모드’로 설정하면 https://found.apple.com에서 고유한 URL이 생성되고, 이용자는 사적인 메시지와 연락 전화번호를 입력할 수 있다. 에어태그를 발견한 사람은 누구든지 이를 애플 또는 안드로이드 폰으로 스캔해 이 URL과 소유자의 메시지를 즉시 볼 수 있다. ‘분실 모드’에 있는 에어태그가 스캔되면 지정한 전화번호로 소유자에게 전화하도록 발견자에게 요청하는 짧은 메시지가 뜬다. 이 정보는 발견자에게 로그인하거나 개인 정보를 제공하도록 요청하지 않은 채 나타난다”

더 흥미로운 부분은 애플이 이 허점에 대해 매우 소홀했다는 점이다. 필자는 애플 제품에서 이런 부주의를 반복적으로 목격했다. 애플은 주의한다고 주장하지만 정작 행동은 반대다.  

크렙스온시큐리티의 보도에 따르면, 로치는 6월 20일 이 버그와 관련해 애플에 알렸지만 3개월 동안 조사중이라고는 답변만 받았다. 최근 애플은 응답 이메일을 통해 후속 업데이트에서 이에 대처할 계획이라며 이 버그를 공개적으로 밝히지 말아달라고 요청했다.

로치는 애플이 버그에 대해 자신이 질문한 기본적인 질문도 확인해주지 않았다고 지적했다. 예를 들어 버그 수정 일정이 어떻게 되는지, 일정이 있다면 수정에 따른 보안 공지에서 자신의 이름을 밝힐 계획인지 등이다. 또한 그의 버그 제출이 애플의 버그 현상금 프로그램에 부합하는지도 알려주지 않았다. 애플 제품의 보안 버그를 신고하는 보안 연구자는 최대 100만 달러의 금전적 보상을 받을 수 있다. 

로치는 "지난 수년간 여러 기업에 여러 가지 소프트웨어 취약점을 알려줬지만, 애플의 경우 소통 부재로 인해 내가 발견한 사항을 공표하지 않을 수 없었다. 애플이 버그가 수정될 때까지 침묵을 지키는 것이 보안 공지에서 인정을 받는 조건이라고 했다"라고 말했다.  

우선, 로치는 여기서 잘못한 게 전혀 없다. 어떤 업체든 보안 문제를 신고 받고 이를 수개월 또는 그 이상 방치한다면 이용자와 업계가 피해를 입는다. 또한 연구자에게 보상을 받을 것인지 신속히 알리지 않는다면 연구자는 이를 공개적으로 알리는 것 외에는 자신의 공로를 인정 받을 별다른 방법이 없다.  

최소한 업체는 언제 패치가 배포될 것인지에 대해 명확하고 구체적이어야 한다. 애플이 이에 한동안 대처할 수 없다면 이를 잠재적 피해자에게 공지할 의무가 있다. 그래야 사용자가 보안 허점을 피할 수 있는 예방적 행동을 할 수 있다. 허점을 수정하는 것이 가장 좋지만, 이를 신속히 하지 못한다면 그렇게라도 해야 한다.   

이는 오래된 버그 공개 문제이고, 이에 대처하기 위해 버그 현상금 프로그램이 있는 것이다. 패치 이전에 버그를 공개하면 사이버 범죄자에게 허점을 알리는 것이다. 이들은 허점을 알게 되면 곧장 이용하려 할 것이다. 공개를 안 한다고 해서 허점을 미리 알고 있는 공격자가 없는 것도 아니다. 이 경우 애플의 부작위는 피해자를 공격에 방치하는 것이 된다.

애플의 행동은 분노를 자아낸다. 지급 약속을 침묵 요구와 연계시키는 버그 현상금 프로그램이라면 애플은 위 2가지 모두를 진지하게 취급했어야 했다. 이러한 프로그램이 있고(침묵 요구가 동반됨), 허점을 수정하는 데 시간이 너무 오래 걸린다면 전체 버그 현상품 프로그램의 본래 취지가 훼손될 뿐 아니라 소비자와 기업에게도 피해가 간다. editor@itworld.co.kr


X