반응형
DNS 보안
dnsspoof
- dnsspoof 도구는 DNS Spoofing 공격 도구로 지정된 DNS 파일을 참조하여 DNS를 수행하게 한다.
- 특히 53번 포트로 전송되는 UDP 데이터를 모니터링하고 있다가 지정된 URL에 대해서 요청이 들어오면 특정 IP로 응답해주는 것이다.
DNS 싱크홀
- 악성 봇에 감염된 PC를 공격자가 조종하지 못하도록 악성 봇과 공격자의 명령을 차단하는 서비스
- 자체 DNS 서버를 운영하는 민간기관을 대상으로 하는 서비스이다.
DNSSEC
- DNS 캐시 포이즈닝[footnote]DNS의 메모리에 저장된 쿼리 정보를 위변조 하는 공격[/footnoet]과 같은 DNS의 보안 취약점을 보완하기 위해 등장한 기술
- DNS 응답 정보에 전자서명 값을 첨부하여 보내고 수신 측이 해당 서명 값을 검증하므로 DNS 위변조를 방지하며 정보 무결성을 제공한다.
DNSSEC 과정 (정보 제공자)
- 공개키로 서명용 키 쌍을 생성하여 사전에 배포한다.
- 개인키를 가지고 자신이 제공하려는 정보의 해시값을 서명 처리하여 전자서명 값을 생성한다.
- 원본 데이터와 추가된 전자서명 값을 함께 인터넷 상에 제공한다.
DNSSEC 과정 (정보 이용자)
- 정보 제공자로부터 수신받은 정보의 원본 데이터와 전자서명 값을 분리한다.
- 사전에 정보 제공자로부터 수신한 공개키 값을 가지고 전자서명 값을 복호화한다.
- 원본 데이터를 해시 처리한 값과 복호화된 전자서명 값을 비교하여 무결성 여부를 확인한다.
DNS Cache Poisoning Server Attack
DNS 조회 과정
- Client가 요청한 DNS 정보 : test.com
- Client가 Local DNS에게 정보(test.com에 대응하는 IP주소)를 요청한다.
- 정보가 Cache에 존재할 경우 정보를 제공하고 없을 경우 root DNS에 질의한다.
- 해당 최상위 도메인(com, net, org 등) 관리 DNS 서버 IP를 알려준다.
- Local DNS는 최상위 도메인 관리 DNS 서버에 Client가 요구한 정보(test.com에 대응하는 IP 주소)를 질의한다.
- 최상위 도메인 관리 DNS는 Local DNS에게 요구한 정보를 제공한다.
- Local DNS는 test.com에게 정보를 질의한다.
- test.com에서 Local DNS에게 정보를 제공한다.
- Local DNS는 test.com에게 받은 정보를 Client에게 제공한다.
DNS Cache Poisoning Server Attack 과정
- Local DNS Server로 정보를 요청한다.
- DNS 유효 패킷은 출발지 포트번호, 목적지 포트번호, 트랜잭션 ID가 일치해야 한다.
- 트랜잭션 ID는 16bit 필드이고 0부터 값을 유추하여 대입하면 32768번의 공격으로 트랜잭션 ID를 확정적으로 맞출 수 있다. 위 공격이 성공하면 도중에 Local DNS에게 잘못된 쿼리를 삽입한다.
- Client는 Local DNS에게 잘못된 정보를 받게 된다.
- Client는 의도하지 않은 사이트로 접속하게 된다.
반응형
댓글