IoT 장치, 취약성 높다
IoT 장치, 취약성 높다
  • MSD
  • 승인 2016.12.16 15:34
  • 댓글 0
이 기사를 공유합니다

기초 보안방안 무시 …다양한 공격 가능성 존재

IoT(Internet of Things) 시장이 도약하기 시작했다. 가트너에 따르면, 소비자 스마트 홈 환경에서 2015년 29억개 이상의 IoT 장치가 연결된 것으로 추정된다. 다시 말해 오늘날 소비자는 거의 모든 가전 제품의 연결된 버전을 구입할 수 있을 정도다. 그러나 IoT 장치 활용이 증가하고 있음에도 불구하고 ‘보안(Security)’은 아직 소홀하게 여겨지고 있으며, 잠재적인 위협에 노출되어 있다. 시만텍의 백서 ‘Insecurity in the Internet of Things’를 통해 IoT 환경의 위협에 대해 알아본다. 자료제공 | 시만텍(www.symantec.com)

공격자 관점에서 보면, IoT의 확산은 공격 대상이 되는 새롭고 더 넓은 영역의 생성을 의미한다. 물론 현재 대부분 발견된 IoT 공격은 개념 증명 수준으로, 아직 공격자에게 이익을 주지 못한다. 기술을 오용하거나 홈 네트워크에 지속적으로 앵커를 두는 것일 뿐이지만, 그렇다고 해서 이것이 공격자가 미래에 IoT 장치를 대상으로 삼지 않는다는 의미는 아니다.

IoT 장치 테스트, 보안 약점 확인

▲ 홈 네트워크 구성
보안과 관련해 IoT 장치가 어떻게 작동하는지 알아내기 위해 현재 사용 가능한 50개의 스마트 홈 장치를 분석해 보았다. 불행하게도 강력한 암호와 상호 인증을 사용하지 않고, 무차별 공격에 대한 보호된 계정을 제공하지 않는 장치가 발견됐다.

보다 구체적으로 IoT 장치를 제어하는데 사용된 모바일 앱 10개 중 거의 2 개 가량이 SSL(Secure Sockets Layer)을 사용하지 않아 클라우드와 암호화되지 않은 상태로 연결됐다. 특히 테스트를 거친 IoT 기술에는 공통적인 취약점이 많이 포함돼 있었는데, 잘 알려진 잠재적 취약점도 그대로 존재했다. 인증 및 트래픽 암호화 등 가장 기초적인 취약점 방어 방법도 IoT 장치에서 종종 무시되고 있음을 확인할 수 있었던 것이다.

일례로 약한 암호 사용은 IoT 장치에서 반복적으로 나타나는 보안 문제다. 대부분의 IoT 장치는 키보드가 없기 때문에 원격으로 구성해야 하는데, 모든 공급 업체가 사용자에게 장치의 기본 암호를 변경하도록 요구하지 않았다. 심지어는 길고 복잡한 암호 구현이 불가능하게 만들기도 했다. 조사 기간 동안 발견된 문제점을 정리하면 다음과 같다.

▲IoT 장치 제어에 사용되는 모바일 앱 중 약 19%가 클라우드에 대한 SSL(Secure Socket Layer) 연결을 사용하지 않았다.
▲분석된 장치 중 어느 것도 클라이언트와 서버간 상호 인증을 제공하지 않았다.
▲기본 암호변경을 제안하지 않았으며, 강력한 암호를 사용할 수 없는 경우도 많았다.
▲일부 IoT 클라우드 인터페이스는 투팩터 인증을 지원하지 않았다.
▲많은 IoT 서비스는 무차별 대입 공격으로부터 사용자의 계정을 보호하기 위해 잠금 또는 지연 조치를 수행하지 않았다.
▲일부 장치는 계정 수확 공격에 대한 보호 기능을 구현하지 않았다.
▲대부분의 IoT 클라우드 플랫폼에는 일반적인 웹 애플리케이션 취약점이 존재했다.
▲심층적인 테스트 없이도 IoT 장치 제어에 사용되는 15개의 웹 포털에서 10개의 보안 문제가 발견됐다. 그 중 6건은 심각한 문제로 백엔드 시스템에 대한 무단 액세스를 허용했다.
▲대부분의 IoT 서비스는 업데이트가 제공된 경우, 서명되거나 암호화된 펌웨어 업데이트를 제공하지 않았다.

공격 전 영역에서 속수무책
공격 가능한 영역은 크게 ▲물리적 액세스 ▲Wi-Fi/이더넷을 통한 로컬 공격 ▲클라우드 인프라 스트럭처 공격 ▲멀웨어(Malware) 등으로 나눌 수 있다. 테스트에서는 이들 영역 모두에서 취약점이 나타났다.

하나씩 살피면, 물리적 공격은 스마트 홈 장치에 공격자가 직접 물리적으로 연결해 진행되는 위협을 말한다. 이는 거의 불가능한 공격 벡터처럼 보일 수 있지만 실제로는 여전히 그럴듯한 위협으로 존재한다.

친구들이 당신 집에 방문하는 동안 장난으로 물리적 접근을 시도하거나 전 남자 친구 또는 여자 친구에 대한 액세스가 계속 유효할 경우, 일부 장치를 재구성하려고 시도할 수 있기 때문이다. 또 보안 카메라와 같은 일부 장치의 경우 공격자는 단순히 케이블을 끊어 카메라를 끄는 것도 가능하다.

가장 그럴듯한 물리적 액세스 공격 시나리오는 중고 IoT 장치 시장을 활용하는 방법으로 공격자가 감염된 기기를 팔아 스파이 기기로 활용할 수 있다.

특히 주의할 요소는 스마트 홈 장치가 공급망 해킹을 통해 손상될 수도 있다는 점이다. 이 시나리오에서 공격자는 공급자 회사의 네트워크를 손상시키고, 소프트웨어 업데이트를 트로이 목마로 만들어 위협 요소가 업데이트를 받는 모든 장치로 확산되도록 만든다.

이는 결코 허무맹랑하거나 새로운 시나리오는 아니다. 과거부터 공급망 해킹은 종종 수행된 공격이다. 하지만 불행히도 현재 IoT 장치가 악성 변경되지 않았음을 확인하는 손쉬운 방법은 없다.

▲ 허니팟에 탐지된 주요 위협 발생 국가
Wi-Fi/이더넷 기반 로컬 공격
무선 또는 이더넷 연결을 통해 로컬 홈 네트워크에 액세스함으로써 스마트 홈 장치에 대해 다양한 공격이 가능하다. 일반적으로 스마트 홈 장치에는 클라우드 폴링과 직접 연결의 두 가지 연결 모드가 있는데, 공격 역시 이들을 타깃으로 진행될 수 있다.

스마트 홈 장치가 클라우드와 지속적으로 통신하는 것이 클라우드 폴링이다. 이는 클라우드 서버를 검사해 실행할 명령이 있는지 확인한 다음 현재 상태를 업로드하기 위함으로, 다운로드 및 설치가 필요한 새 펌웨어 버전이 있는지를 확인하기 위해 클라우드 서버 폴링을 계속 유지하기도 한다.

이를 겨냥해 중간자 공격(MITM : Man in the Middle)이 이뤄질 수 있다. ARP 포이즈닝과 같은 네트워크 수준의 공격을 사용하거나 DNS(Domain Name System) 설정을 수정해 네트워크 트래픽을 리디렉션할 수 있는 것. 또 자체 서명된 인증서 또는 SSLstrip과 같은 도구를 사용하면 HTTPS 연결을 가로챌 수 있다.

그러나 유감스럽게도 테스트된 장치 중 일부는 인증서 신뢰성을 전혀 확인하지 않고 HTTPS 연결을 모두 승인한다. 설상가상으로 테스트된 장치 중 어느 것도 상호 SSL 인증을 수행하지 않았다. 따라서 침입자는 아무런 문제없이 데이터 유출을 통해 얻은 키를 사용할 수 있다.

일부 장치는 직접 연결을 사용하여 동일한 네트워크에 있는 허브나 응용 프로그램과 상호 교류하는 직접 연결을 취한다. 예를 들어 모바일 앱이 로컬 네트워크에서 새 장치를 검색하고 특정 포트에 대한 모든 IP 주소를 조사해 위치를 찾거나 Simple Service Discovery Protocol(SSDP/UPNP) 프로토콜을 사용하여 장치를 검색한다.

문제는 공격자 또한 쉽게 이러한 장치를 찾을 수 있다는 점이다. 흔히 발견되는 실수는 암호화되지 않은 네트워크 통신을 사용하는 것으로, 테스트를 거친 장치 중 일부는 SSL과 같은 암호화없이 백엔드 클라우드 서비스 또는 응용 프로그램과 통신했다.

로컬 네트워크간 통신에서는 암호화되지 않은 연결 수가 훨씬 더 많다. 암호화가 없으면 개인정보 보호는 쉽지 않다. 개인 데이터·로그인 자격 증명 또는 토큰 등이 일반 텍스트 형식으로 전달됨으로써 공격자가 이를 가로챌 수 있기 때문이다.

나아가 사용자가 IoT 장치와 상호 작용하는 가장 일반적인 방법은 웹 브라우저 또는 스마트폰 응용 프로그램을 사용하는 것이다. 강력한 장치는 작은 웹 서버를 실행하고 사용자가 웹 기반 GUI를 사용하여 명령을 보낼 수 있으며, 다른 장치는 사용자가 상호 작용할 수 있는 자체 응용 프로그램 프로그래밍 인터페이스(API)를 제공한다.

사용자가 집에 있지 않을 때 원격으로 장치를 제어하려면 라우터에서 인바운드 포트를 열어야 하는데, 이는 UPNP 요청을 통해 이뤄지거나 사용자가 수동으로 구현할 수 있다. 그러나 이러한 인터페이스의 대부분은 ▲인증되지 않은 요청을 사용한 작업 수행 ▲요청되지 않은 펌웨어 업그레이드 ▲무효화된 리디렉션 및 전달 등과 같이 잘 알려진 취약성을 갖고 있다.

클라우드 인프라 스트럭처 공격
스마트 홈 장치에는 백엔드 클라우드 서비스가 포함되기도 한다. 테스트에서는 68%의 장치가 전기 사용량 혹은 몇 개월간의 CO2 수준 기록 등의 통계를 제공하거나 전구·난방과 같은 IoT 장치의 원격 관리를 위해 클라우드 서비스를 제공했다.

이 때 일부 공급 업체는 사용자가 클라우드 백엔드 시스템에 연결하도록 강요하면서도 사용자에게 장치를 직접 관리할 수 있는 옵션을 제공하지 않았다. 또한 스마트폰 응용 프로그램이나 웹 포털을 통해 클라우드 서비스에 대한 액세스를 제공했지만, 테스트된 대부분의 IoT 클라우드 서비스에서 ‘1234’와 같은 약한 암호 선택도 가능했으며 일부에서는 강력한 암호(복잡한 암호)를 사용하지 못하는 경우도 발견됐다.

더불어 분석된 서비스의 대부분은 실패한 로그인 시도 횟수가 많아지면 사용자를 계정에서 잠그지 않고 공격자의 무차별 공격 계정을 허용했으며, 분석된 백엔드 클라우드 서비스 중 어느 것도 투팩터 인증(2FA) 옵션을 제공하지 않았다. 일부 클라우드 인터페이스는 보안되지 않은 비밀번호 복구 방법을 사용하거나 복구 프로세스 중에 계정의 유효성 표시와 같이 너무 많은 정보를 표시함으로써 계정 수확 공격을 통해 공격자가 IoT 장치를 제어하고 사용자의 개인 데이터를 수집할 수 있는 취약점을 지녔다.

일부 클라우드 서비스는 논리적인 오류가 있어 공격자가 중요한 고객 정보를 얻을 수 있거나 인증없이 장치에 액세스할 수 있었다. 이러한 서비스에는 OWASP의 10대 웹 취약점 목록에 나열된 취약점을 비롯하여 일반적인 관리 콘솔 취약점도 포함됐다.

15개의 응용 프로그램에 대한 네트워크 트래픽을 관찰하면서 교차 사이트 스크립팅(XSS), 경로 통과, 무제한 파일 업로드(원격 코드 실행) 및 SQL injection 등과 관련된 10가지 취약점을 발견할 수 있었다. 테스트된 클라우드 콘솔 중 하나는 스마트 잠금용이었기 때문에 이 취약점으로 인해 원격으로 누구나 잠금을 열 수도 있었다.

가장 중요한 부분은 이러한 웹 관리 플랫폼이 인터넷을 통해 모든 사람이 액세스 할 수 있다는 점이다. 공격자가 홈 네트워크에 대한 로컬 액세스없이 이러한 서비스에 대한 무단으로 접근할 수 있다.

멀웨어 공격

 
홈 네트워크에 연결된 장치에 설치된 악성 소프트웨어는 공격자가 앞에서 설명한 공격들을 수행할 수 있게 한다. 대부분의 경우, 스마트폰이나 컴퓨터를 감염시켜 다른 장치로 확산될 수 있다. 가장 큰 우려 사항 중 하나는 오랜 시간 동안 감염된 IoT 장치의 감염상태가 유지된다는 점이다. 현재 감염된 IoT 장치를 감지할 수 있는 통합 보안 소프트웨어가 없고 사용자에게 문제를 알릴 수있는 사용자 인터페이스가 없기 때문이다.

다행히도 현재 IoT 장치에 대한 멀웨어 공격은 널리 보급되지 않았다. 스팸 발송 냉장고에 관한 흥미로운 뉴스 보도는 사실이 아니었다. 하지만 기술적으로는 충분히 가능하다. 이미 스마트 TV와 같은 IoT 장치에 대한 개념 증명 멀웨어가 개발된 바 있으며, 멀웨어가 라우터·NAS 및 유사한 장치를 잠시 동안 공격하는 사례도 알려졌다.

공격자가 IoT 장치를 공격하여 이익을 얻는 방법을 찾는 건 시간 문제일 뿐이다. 예컨대 비트코인을 탈취하는 토스터나 스마트 TV가 나타날 수 있다. 그러나 안타깝게도 현재의 IoT 보안 상태는 침입자가 어떤 이점을 보게 되면 장치를 손상시키는 게 크게 어렵지 않은 상황이다.

‘안전에 대한 신뢰’ 필요
50개의 스마트홈 장치에 대한 분석은 불안한 그림으로 나타났다. 이들 중 대부분은 암호화된 통신이나 적절한 인증 사용 등 기초적인 보안수칙을 간과했기 때문이다. 물론 IoT 장치는 메모리가 적고 CPU 속도가 느리기 때문에 기존 컴퓨터와 동일한 암호화 방법을 사용할 수 없다. 하지만 IoT 장치의 경우 강력한 암호화가 필요하지 않으며, ECC(Elliptic Curve Cryptography)와 같은 소규모 장치용으로 설계된 효율적인 암호화 방법도 존재한다.

신뢰할 수 있는 부팅 및 보안 부팅과 같은 개념도 장치 무결성을 보장하는데 중요한 요소다. 스마트 장치에서 실행되는 모든 코드(펌웨어 또는 응용 프로그램)는 신뢰 체인을 통해 확인돼야 한다. 코드를 보호하고 장치를 보호하면 신뢰할 수 있는 기준이 만들어진다. 공급 업체는 사용자의 장치 업데이트와 같은 간단하고 자동화된 방법으로 일반적인 보안 문제를 빠르고 효율적으로 해결할 수 있도록 해야 한다.

클라우드 제어 인터페이스는 IoT의 또 다른 약점을 보여준다. 사용자가 원격으로 조명을 켜는 등의 작업을 수행하려면 클라우드 설정을 사용해야 한다. 따라서 공급 업체는 강력하고 복잡한 암호 사용을 지원해야 한다.

나아가 일반적인 웹 응용 프로그램 취약점이 이러한 클라우드 제어 포털에서도 발견되는데, 공급 업체는 자사의 서비스가 OWASP 10대 웹 애플리케이션 취약점에 취약하지 않도록 보장해야 한다. 특히 화재 경보기와 같은 IoT 장치의 경우 공급 업체가 정전이 발생하거나 네트워크가 중단될 경우, 어떤 일이 발생하는지 사전에 시나리오를 만들어 검토해야 한다.

가까운 장래에 네트워크에 연결된 다양한 장치를 갖게 될 것은 분명하다. 이렇게하면 똑똑한 스마트 허브가 생겨 ‘if this, then that’와 같은 논리적 조건을 기반으로 명령을 내릴 수 있다. 이러한 환경에서는 하나의 장치에서 문제가 발생하면 다른 장치의 종료가 트리거될 수 있으므로 문제의 복잡성이 증가한다. 이 때 스마트 허브는 공격자에게 이상적인 중앙 공격 지점이 될 수 있다.

모든 문제가 여러 수준의 장치에 영향을 미치므로 현재 스마트 장치를 안전하게 설치하는 것은 쉽지 않다. 다행히도 전반적인 보안을 개선할 수 있는 방법도 제시되고 있다. 시만텍은 가까운 미래에 스마트 장치의 보안이 향상되어 모든 사람이 업무를 자동화하는데 편리하게 사용할 수 있기를 희망한다.



주요기사
이슈포토