DNS 스푸핑 (DNS Spoofing)

정보보안학
한 줄 정의: DNS 스푸핑은 도메인 이름을 실제 IP 주소로 변환해주는 DNS 응답을 위조해 사용자를 공격자가 지정한 가짜 서버로 유도하는 공격입니다.

쉽게 풀면

전화번호부에서 특정 이름을 찾으면 원래는 정확한 전화번호가 나와야 하는데, 누군가 전화번호부 항목을 몰래 바꿔치기해서 다른 번호로 연결되게 만드는 것과 비슷합니다. 사람들은 웹사이트에 접속할 때 도메인 이름(예: example.com)을 입력하고, 컴퓨터는 이를 실제 서버 주소(IP 주소)로 바꿔주는 DNS 조회 과정을 거칩니다. DNS 스푸핑은 이 조회 과정에서 거짓 응답을 끼워 넣어, 사용자가 원래 목적지가 아닌 공격자가 준비한 가짜 서버로 접속하게 만듭니다. 이렇게 되면 사용자는 가짜 로그인 페이지에 정보를 입력하는 등 피해를 볼 수 있습니다.

왜 중요한가

정보보안학에서 DNS는 인터넷 이용의 가장 기초적인 단계에 해당하기 때문에, 여기서 발생하는 위조는 이후의 모든 보안 조치를 무력화시킬 수 있는 근본적인 위협으로 다뤄집니다. 피싱, 중간자 공격, 트래픽 감청 등 다양한 공격의 출발점으로 활용될 수 있어 네트워크 보안 및 사용자 보호 연구에서 지속적으로 다뤄지는 주제입니다.

논문에서는 이렇게 쓰입니다

"공격자는 DNS 스푸핑을 통해 정상 은행 사이트 도메인을 가짜 IP로 연결시켜 피싱 페이지로 사용자를 유도하였다."

DNS 위조가 피싱 공격의 도구로 활용된 사례를 설명한 예입니다.

"본 연구는 DNSSEC 도입이 DNS 스푸핑 공격의 성공률을 얼마나 낮출 수 있는지 실험적으로 평가하였다."

DNS 스푸핑에 대한 방어책으로서 DNSSEC의 효과를 분석한 연구 예시입니다.

조금 더 깊게 보면

DNS 스푸핑은 캐시 포이즈닝(DNS 조회 결과를 캐싱하는 서버에 거짓 정보를 주입하는 방식)이나 중간자 공격을 통한 응답 가로채기 등 다양한 방식으로 이루어질 수 있습니다. 이런 위협에 대응하기 위해 DNS 응답에 전자서명을 추가해 무결성을 검증할 수 있게 하는 DNSSEC이 대표적인 방어 기술로 제시됩니다.

주의할 점

DNS 스푸핑 방어책인 DNSSEC이 도입되었더라도 클라이언트나 리졸버가 이를 실제로 검증하지 않으면 보호 효과가 없으며, DNSSEC 자체도 전 세계적으로 완전히 보급되지는 않았다는 한계가 있습니다.

관련 용어