9P by xguru 2020-08-22 | favorite | 댓글과 토론

크로미움 초기부터 나온 Omnibox 기능은 사용자가 URL 바에 입력하는 문자열을 검색어인지, 웹사이트 이름인지, URL인지 등에 따라 기능을 수행.
NXDomain Hijacking 때문에 크로미움은 존재하지 않는 3개의 랜덤문자열 도메인을 DNS에 물어보고, 만약 주소가 같다면 그 주소를 Redirect Origin 으로 기록해 둠.
ㅤ→ 사용자가 잘못친 문자열에 대해서 인트라넷에서 "did you mean?" 같은 페이지를 통해서 다른 가능한 옵션들을 보여 주는 곳이란 의미

이 세개의 랜덤쿼리는 브라우저 실행/IP변경/DNS 변경시 마다 호출됨.
실제로 크로미움 마켓셰어가 늘어나면서 루트 DNS서버 트래픽의 50%가 이 호출이라는 사실 (즉, 하루에 600억번 호출됨)

비록 루트 DNS 시스템이 대용량 트래픽을 위해서 만들어지긴 했지만, 일반적이지 않은 이 예외적인 호출을 처리하는 것은 정상적이지 않음.
크로미움이 3개가 아니라 1개 또는 2개만 호출하게 한다거나,
Firefox 가 Captive Portal Test에서 하는 것처럼 별도의 namespace 쿼리를 사용해서 루트서버에 오지 않게 하는 것등이 필요하다는 것.

* 이 코드의 원 작성자가 댓글을 달았네요.
"크로미움 개발자들이 이거에 대해서 알고 있고, 관리중이다. 이를 위해서 몇가지 수정 제안을 했다."

* 실제로 대부분은 크롬 사용자로 인한 것이겠지만, 크롬/Edge/Brave/Opera 등 꽤 많은 브라우저가 Chromium 기반이고 글에서도 크로미움이라고 계속 표현해서 그대로 사용했습니다.