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로 자동 설정됐거나 수동으로 설정한 포트 포워드 규칙을, 상위 공유기에 전송해 사용할 수 있게 하는 기능이다.기본값은 활성화인데, 위험성이 있어 보인다. 끄는 것이 좋을 것으로 생각한다.
관련 자료
참고 자료
댓글
댓글 쓰기