블로그

프로토콜, 보안 사건, 그리고 인터넷이 실제로 작동하는 방식. 147편.

DNSSEC 채택률은 레지스트리 할인 지도다

.nl 도메인은 60% 안팎이 DNSSEC를 켜는데 .com은 4%쯤이다. 프로토콜 때문이 아니다. 돈을 따라가라 — 채택률은 레지스트리가 등록기관에 서명 값을 치르는지를 따라간다.

글루 레코드: DNS의 부트스트랩 역설

example.com을 찾으려면 그 네임서버에 물어봐야 하는데, 그 네임서버는 example.com 안에 산다. 모든 도메인 뿌리에 놓인 순환 의존성이다. 그리고 그걸 푸는 건 대부분 고장 나기 전까진 눈에 띄지도 않는, 작고 깨지기 쉬운 장치 — 글루 레코드다.

존 전송은 당신의 DNS 지도를 통째로 넘긴다

DNS는 이름을 알아야 물어볼 수 있게 만든다 — 존 전체를 목록으로 뽑는 명령은 없다. 단 하나, AXFR만 빼고. 이걸 열어 두면 낯선 사람이 네임서버에게 전화번호부 전체를 부쳐 달라고 요청할 수 있다.

맨 끝의 점: example.com. 이 진짜 이름인 이유

맨 끝의 점은 도메인 이름을 쓰는 가장 기술적으로 정확한 방식이다 — DNS 루트를 글자로 적어낸 것이니까. 그런데 DNS 위의 모든 계층이 그 의미에 서로 다른 답을 내고, 그 불일치가 계속 보안 버그로 터진다.

국가 방화벽은 DNS를 어떻게 오염시키는가

국가 방화벽은 검열 대상 DNS 조회를 막지 않는다. 진실보다 먼저 도착하는 위조 응답으로 '답'을 준다. 그 거짓말은 때로 실제 회사의 서버를 가리키고, 때로는 검열자가 의도하지 않은 사람들에게까지 새어 나간다.

루트 키가 처음으로 바뀌던 날

8년 동안 서명된 DNS의 보안 전체가 단 한 번도 바뀐 적 없는 키 하나에 매달려 있었다. 2018년 마침내 그 키를 교체했을 때, 무서웠던 건 암호학이 아니라 — 어느 리졸버가 따라올 준비가 됐는지 아무도 볼 수 없다는 사실이었다.

패시브 DNS: 방어자들은 어떻게 DNS에 기억을 심었나

DNS에는 기억이 없다 — 도메인이 무엇을 가리키는지 물으면 오늘의 답만 나오고, 작년의 답은 절대 나오지 않는다. 패시브 DNS는 누가 물었는지는 결코 기록하지 않으면서, 인터넷이 내놓은 모든 답을 기억하는 우연한 감시 데이터베이스다.

카민스키 버그: DNS가 무너질 뻔한 날

2008년, 연구자 한 명이 인터넷의 어떤 도메인이든 몇 초 만에 위조하는 법을 찾아냈다. 해결책은 새 프로토콜이 아니라 25년 된 설계에 덧댄 16비트의 무작위성이었고, 우리는 아직도 거기 기대고 있다.

미라이: 카메라로 만든 봇넷

2016년, 가정용 카메라와 DVR로 만든 봇넷이 인터넷의 한 조각을 마비시켰다. 대단한 취약점을 찌른 게 아니다. 공장 초기 비밀번호로 그냥 로그인했다.

페이스북이 인터넷에서 스스로를 지운 날

2021년 10월, 페이스북은 해킹당하지도 DDoS를 맞지도 않았다. 명령어 하나를 실행했고, 자사의 안전장치가 페이스북을 인터넷 지도에서 지워버렸다 — 그리고 해결책이 있는 방에서 엔지니어들을 잠가버렸다.