UPnP는 보안 위험입니까?
UPnP는 많은 새 라우터에서 기본적으로 활성화됩니다. 한때 FBI와 다른 보안 전문가들은 보안상의 이유로 UPnP를 비활성화 할 것을 권장했습니다. 하지만 오늘날 UPnP는 얼마나 안전합니까? UPnP를 사용할 때 편의를 위해 보안을 거래하고 있습니까?
UPnP는 "Universal Plug and Play"를 의미합니다. UPnP를 사용하면 애플리케이션이 라우터의 포트를 자동으로 전달할 수 있으므로 수동으로 포트를 전달해야하는 번거 로움을 덜 수 있습니다. 사람들이 UPnP 비활성화를 권장하는 이유를 살펴보고 보안 위험을 명확하게 파악할 수 있습니다.
이미지 크레딧 : Flickr의 comedy_nose
네트워크의 맬웨어가 UPnP를 사용할 수 있음
로컬 네트워크의 컴퓨터를 감염시키는 바이러스, 트로이 목마, 웜 또는 기타 악성 프로그램은 합법적 인 프로그램과 마찬가지로 UPnP를 사용할 수 있습니다. 라우터는 일반적으로 들어오는 연결을 차단하여 일부 악의적 인 액세스를 방지하지만 UPnP는 악성 프로그램이 방화벽을 완전히 우회하도록 허용 할 수 있습니다. 예를 들어 트로이 목마는 컴퓨터에 원격 제어 프로그램을 설치하고 라우터의 방화벽에 구멍을 열어 인터넷에서 컴퓨터에 연중 무휴 24 시간 액세스 할 수 있습니다. UPnP가 비활성화 된 경우 프로그램은 다른 방법으로 방화벽을 우회하고 집으로 전화를 걸 수 있지만 포트를 열 수 없습니다.
이것이 문제입니까? 예. 이 문제를 피할 수 없습니다. UPnP는 로컬 프로그램이 신뢰할 수 있다고 가정하고 포트를 전달할 수 있도록합니다. 포트를 전달할 수없는 맬웨어가 중요한 경우 UPnP를 비활성화하는 것이 좋습니다.
FBI는 사람들에게 UPnP를 비활성화하라고 말했습니다.
2001 년 말에 FBI의 국립 인프라 보호 센터는 Windows XP의 버퍼 오버 플로우로 인해 모든 사용자에게 UPnP를 비활성화 할 것을 권고했습니다. 이 버그는 보안 패치에 의해 수정되었습니다. NIPC는 문제가 UPnP 자체에 있지 않다는 것을 깨닫고 나중에이 조언에 대한 수정을 발표했습니다. (출처)
이것이 문제입니까? 아니요 . 일부 사람들은 NIPC의 권고를 기억하고 UPnP에 대해 부정적인 견해를 가지고있을 수 있지만,이 조언은 당시 잘못 안내되었으며 특정 문제는 10 년 전에 Windows XP 용 패치로 수정되었습니다.
이미지 크레딧 : Flickr의 Carsten Lorentzen
플래시 UPnP 공격
UPnP는 사용자의 인증을 요구하지 않습니다. 컴퓨터에서 실행되는 모든 응용 프로그램은 라우터에게 UPnP를 통해 포트를 전달하도록 요청할 수 있으며, 이것이 위의 맬웨어가 UPnP를 남용 할 수있는 이유입니다. 로컬 장치에서 맬웨어가 실행되지 않는 한 안전하다고 생각할 수 있지만 아마도 틀렸을 것입니다.
Flash UPnP 공격은 2008 년에 발견되었습니다. 웹 브라우저 내부의 웹 페이지에서 실행되는 특수 제작 된 Flash 애플릿은 라우터에 UPnP 요청을 보내고 포트를 전달하도록 요청할 수 있습니다. 예를 들어, 애플릿은 포트 1-65535를 컴퓨터로 전달하여 전체 인터넷에 효과적으로 노출하도록 라우터에 요청할 수 있습니다. 공격자는이 작업을 수행 한 후 컴퓨터에서 실행되는 네트워크 서비스의 취약점을 악용해야합니다. 컴퓨터에서 방화벽을 사용하면 사용자를 보호하는 데 도움이됩니다.
불행히도 상황은 더 나빠집니다. 일부 라우터에서는 Flash 애플릿이 UPnP 요청으로 주 DNS 서버를 변경할 수 있습니다. 포트 포워딩은 걱정할 필요가 없습니다. 악의적 인 DNS 서버가 트래픽을 다른 웹 사이트로 리디렉션 할 수 있습니다. 예를 들어 Facebook.com이 다른 IP 주소를 완전히 가리킬 수 있습니다. 웹 브라우저의 주소 표시 줄에 Facebook.com이 표시되지만 악의적 인 조직에서 설정 한 웹 사이트를 사용하게됩니다.
이것이 문제입니까? 예. 이 문제가 해결되었다는 표시를 찾을 수 없습니다. 수정 된 경우에도 (UPnP 프로토콜 자체의 문제이므로 어려울 수 있음) 여전히 사용중인 많은 오래된 라우터가 취약 할 수 있습니다.
라우터에서 잘못된 UPnP 구현
UPnP Hacks 웹 사이트에는 여러 라우터가 UPnP를 구현하는 방식에 대한 자세한 보안 문제 목록이 포함되어 있습니다. 이는 반드시 UPnP 자체의 문제는 아닙니다. 종종 UPnP 구현에 문제가 있습니다. 예를 들어, 많은 라우터의 UPnP 구현은 입력을 제대로 확인하지 않습니다. 악의적 인 응용 프로그램은 네트워크 트래픽을 인터넷의 원격 IP 주소 (로컬 IP 주소 대신)로 리디렉션하도록 라우터에 요청할 수 있으며 라우터는이를 준수합니다. 일부 Linux 기반 라우터에서는 UPnP를 이용하여 라우터에서 명령을 실행할 수 있습니다. (출처) 웹 사이트에는 이러한 문제가 많이 나와 있습니다.
이것이 문제입니까? 예! 수백만 개의 라우터가 취약합니다. 많은 라우터 제조업체가 UPnP 구현을 안전하게 보호하지 못했습니다.
이미지 크레디트 : Flickr의 Ben Mason
UPnP를 비활성화해야합니까?
이 글을 쓰기 시작했을 때, 나는 UPnP의 결함이 상당히 사소하다는 결론을 내릴 것으로 예상했습니다. 약간의 편의를 위해 약간의 보안을 거래하는 간단한 문제였습니다. 불행히도 UPnP에는 많은 문제가있는 것으로 보입니다. 피어 투 피어 응용 프로그램, 게임 서버 및 많은 VoIP 프로그램과 같이 포트 전달이 필요한 응용 프로그램을 사용하지 않는 경우 UPnP를 완전히 비활성화하는 것이 좋습니다. 이러한 응용 프로그램을 많이 사용하는 사용자는 편의를 위해 일부 보안을 포기할 준비가되어 있는지 고려하고 싶을 것입니다. UPnP 없이도 포트를 전달할 수 있습니다. 그것은 단지 조금 더 많은 일입니다. 포트 포워딩 가이드를 확인하세요.
반면에 이러한 라우터 결함은 야생에서 활발히 사용되고 있지 않으므로 라우터의 UPnP 구현에서 결함을 악용하는 악성 소프트웨어를 발견 할 실제 가능성은 상당히 낮습니다. 일부 맬웨어는 UPnP를 사용하여 포트를 전달하지만 (예 : Conficker 웜) 이러한 라우터 결함을 악용하는 맬웨어의 예를 보지 못했습니다.
어떻게 비활성화합니까? 라우터가 UPnP를 지원하는 경우 웹 인터페이스에서 비활성화하는 옵션을 찾을 수 있습니다. 자세한 내용은 라우터 설명서를 참조하십시오.
UPnP의 보안에 동의하지 않습니까? 코멘트를 남겨주세요!