UPnP 장치 해킹 취약

크롬캐스트 해킹에 이용

UPnP(Universal Plug and Play)는 네트워크에 연결된 장치들이 서로 인식하고 자동으로 설정할 수 있도록 하는 역할을 한다. 일일이 포트 포워드(port forward)를 하는 수고를 덜어준다. 라우터(공유기), 콘솔형 게임기, NAS, 프린터 등에 많이 사용된다. 크롬캐스트, DLNA, 스마트TV 등 미디어 스트리밍에도 사용된다. 온라인 게임, 토렌트 등 앱에서 이용하기도 한다.

반면에 해킹의 통로가 될 수 있는 위험도 있다. 자신의 존재를 드러내기 때문에 표적이 될 수 있다. 게다가 UPnP 라이브러리 자체에 취약점이 있는 것도 문제다. 원격 코드 실행(CVE-2013-0230), DoS(CVE-2013-0229) 공격 등의 취약점이 발견된 바 있다. 이들 UPnP library의 취약점은 패치가 됐지만, IoT 기기는 업데이트 지원이 잘 안되는 경우가 많다.

UPnP 기능은 실제로 악용된 사례가 많이 있다. 가장 최근의 예로는 Chromecast 해킹 사건을 들 수 있다.

NAT 인젝션과 UPnProxy

NAT injection이라는 공격 방법도 있다. 원래 라우터는 UPnP 서비스를 LAN(내부 네트워크)에서만 제공해야 한다. 그런데 잘못 설정된 취약한 라우터들은 UPnP 서비스를 WAN(외부 네트워크)에도 노출시키고 있음이 발견됐다. 이 경우 해커는 자신을 취약한 라우터의 NAT 테이블에 끼워 넣어, 내부 IP 주소를 얻을 수 있다. 즉, 방화벽을 우회하여 내부 네트워크에 침투하는 것이다.

이렇게 되면, 내부 네트워크의 다른 장치들을 해킹할 수 있는 발판이 마련된 셈이다. 또한 이 IP 주소를 이용해 사이버 범죄를 저질러 추적을 피할 수도 있다(UPnProxy).

UPnP 대신 포트 포워드

UPnP를 통한 공격을 피하려면, 공유기에서 이 기능을 끄는 것이 좋다. 필요할 땐 번거롭지만 수동으로 포트 포워드를 설정한다. 공유기에서만 UPnP를 해제하면, 연결된 다른 장치들은 신경 쓸 필요없다. 관련 트래픽이 외부 네트워크로 나가지 않기 때문이다.

ipTIME 공유기에서 UPnP를 끄는 방법은 그림과 같다.


포트 포워드/UPnP 릴레이

관련 설정으로 port forward, UPnP relay라는 게 있다. WAN에서 UPnP 서버가 발견된 경우, UPnP로 자동 설정됐거나 수동으로 설정한 포트 포워드 규칙을, 상위 공유기에 전송해 사용할 수 있게 하는 기능이다.

기본값은 활성화인데, 위험성이 있어 보인다. 끄는 것이 좋을 것으로 생각한다.




관련 자료

참고 자료
  1. Unpatched UPnP-Enabled Devices Left Exposed to Attacks
  2. Over 65,000 Home Routers Are Proxying Bad Traffic for Botnets, APTs
  3. How do I enable Universal Plug and Play on my NETGEAR router? 
  4. ipTIME N2E 펌웨어 버전 9.90.8

댓글

이 블로그의 인기 게시물

와이파이(Wi-Fi) 보안 설정

마이크로소프트 4K 무선 디스플레이 어댑터(MS WDA 3) 리뷰

엑셀 필터 상태에서 복사와 잘라내기