DNS 재 바인딩

DNS rebinding

DNS 리바인딩은 컴퓨터 공격의 한 형태로 일반적으로 사용되는 도메인 이름의 해상도를 조작하는 방법이다.이 공격에서 악의적인 웹 페이지는 방문자들이 네트워크상의 다른 곳에 있는 기계를 공격하는 클라이언트측 스크립트를 실행하게 한다.이론적으로, 동일한 오리진 정책은 이러한 현상을 방지한다: 클라이언트측 스크립트는 스크립트를 제공한 동일한 호스트의 컨텐츠에만 액세스할 수 있다.도메인 이름을 비교하는 것은 이 정책을 시행하는 데 필수적인 부분이기 때문에 DNS 재결합은 DNS(Domain Name System)를 남용하여 이 보호를 우회한다.

이 공격은 공격 대상자의 웹 브라우저가 개인 IP 주소의 컴퓨터에 접속해 그 결과를 공격자에게 반환하게 함으로써 개인 네트워크를 침해하는 데 이용될 수 있다.또한 스팸 발송, 분산된 서비스 거부 공격 또는 기타 악의적인 활동에 공격 대상 시스템을 사용하는 데도 사용할 수 있다.

DNS 재 바인딩 작동 방식

공격자는 도메인(예: attacker.com)을 등록하고 이를 공격자의 통제 하에 있는 DNS 서버에 위임한다.서버는 TTL(Time to Live) 레코드에 매우 짧은 시간 동안 응답하도록 구성되어 DNS 응답이 캐시되지 않도록 한다.피해자가 악의적인 도메인을 탐색하면 공격자의 DNS 서버는 먼저 악의적인 클라이언트측 코드를 호스팅하는 서버의 IP 주소로 응답한다.예를 들어, 그들은 피해자의 컴퓨터에서 실행되도록 의도된 악의적인 자바스크립트플래시 스크립트가 포함된 웹사이트를 피해자의 브라우저로 가리킬 수 있다.

악의적인 클라이언트측 코드는 원래 도메인 이름(예: attacker.com)에 추가 액세스를 만든다.이것들은 같은 원산지 정책에 의해 허용된다.그러나 공격 대상자의 브라우저가 스크립트를 실행하면 도메인에 대한 새로운 DNS 요청을 하고 공격자는 새로운 IP 주소로 응답한다.예를 들어, 그들은 인터넷상의 다른 곳에 있는 대상의 내부 IP 주소나 IP 주소로 응답할 수 있다.

보호

DNS 재 바인딩 공격을 방지하는 방법은 다음과 같다.[1][2][3][4]

  • 체인의 DNS 서버는 개인 IP 주소루프백 IP 주소를 필터링할 수 있다.
    • 외부 공개 DNS 서버(예: OpenDNS)는 DNS 필터링을 구현할 수 있다.[5]
    • 로컬 시스템 관리자는 조직의 로컬 네임 서버를 구성하여 내부 IP 주소로 외부 이름의 확인을 차단할 수 있다.(이는 공격자가 사용 중인 내부 주소 범위를 매핑할 수 있다는 단점이 있다.)
  • 게이트웨이 또는 로컬 pc에 있는 방화벽(예: dnswall)은 방화벽을 통과하는 DNS 응답을 필터링하여 로컬 주소를 삭제할 수 있다.[6][7]
  • 웹 브라우저는 DNS 재 바인딩을 거부할 수 있음:
    • 웹 브라우저는 DNS 고정 기능을 구현할 수 있다:[8] IP 주소가 첫 번째 DNS 응답에서 수신한 값으로 잠겨 있다.이 기술은 동적 DNS의 합법적인 사용을 차단할 수 있으며 모든 공격에 대해 작동하지 않을 수 있다.그러나 TTL 만료가 지난 IP 주소를 사용하면 IP 주소가 합법적으로 변경되고 만료된 IP 주소가 이제 공격자에 의해 제어될 수 있을 때 반대편 취약성을 열 수 있기 때문에 IP 주소가 변경되면 페일 세이프(렌더링 중지)가 중요하다.
    • 파이어폭스노스크립트 확장에는 브라우저 내부의 방화벽과 유사한 기능인 ABE가 포함되어 있는데, 기본 구성에서는 외부 웹 페이지가 로컬 IP 주소에 액세스하지 못하도록 하여 로컬 네트워크에 대한 공격을 방지한다.
  • 웹 서버는 인식되지 않는 호스트 헤더가 있는 HTTP 요청을 거부할 수 있다.

참고 항목

참조

  1. ^ "Protecting Browsers from DNS Rebinding Attacks" (PDF). crypto.stanford.edu. November 2007. Retrieved 2018-12-10.
  2. ^ "Protecting Browsers from DNS Rebinding Attacks" (PDF). www.adambarth.com. January 2009. Retrieved 2018-12-10.
  3. ^ "DNS REBINDING" (PDF). www.ptsecurity.com. 2012. Retrieved 2018-12-10.
  4. ^ "Protecting Your Router Against Possible DNS Rebinding Attacks - TrendLabs Security Intelligence Blog". blog.trendmicro.com. 2010-08-04. Retrieved 2018-12-10.
  5. ^ Ulevitch, David (2008-04-14). "Finally, a real solution to DNS rebinding attacks". Cisco. Retrieved 2017-07-15.
  6. ^ GitHubGoogle-dnswall
  7. ^ "Services — DNS — DNS Rebinding Protections pfSense Documentation". www.netgate.com. Retrieved 2018-12-10.
  8. ^ "FireDrill: Interactive DNS Rebinding" (PDF). www.usenix.org. Retrieved 2018-12-10.

외부 링크