사용자를 공격자가 통제하는 도메인으로 우회시키는 공격 가능해
[보안뉴스 문가용 기자] CPU 부채널 구조에서 파생된 취약점들에 대한 이야기가 작년부터 큰 화두로 남게 되자 재미있는 현상이 발생하기 시작했다. 학계에 있던 연구자들이 CVE 취약점 데이터베이스 크레딧과 버그바운티 수상자 목록에 이름을 더 많이 올리기 시작했다는 것이다. 그러면서 민간 업체와 학계의 협업이 더 활발해졌다.

[이미지 = iclickart]
최근 발견된 DNS 캐시 포이즈닝 공격(DNS cache-poisoning attack)의 경우, mDNSResponder에 있는 취약점을 익스플로잇 하는 것이다. 이 mDNSResponder는 여러 운영 시스템에 있는 이름 분석(name resolution)의 한 요소로, 여기서 취약점이 발견되었다는 건 산업과 학계의 협업이 활성화 되었다는 것을 보여주는 좋은 사례가 된다. 이전에도 산학의 협력이 없었던 것은 아니나, 그 공동 연구와 결과 취합, 공개에 이르기까지의 과정이 훨씬 빨라졌다는 것이 DNS 캐시 포이지능 공격 연구 사례로 드러났다.
연구 팀을 이끈 건 캘리포니아대학에서 박사 과정을 밟고 있는 파테마 알하비(Fatemah Alharbi)로, 학위를 따기 위한 연구의 일환으로 이 공격 기법을 조사하게 되었다고 한다. “클라이언트 측면의 DNS 캐시 포이즈닝 공격을 기술적, 실질적 차원에서 연구한 사례가 없더라고요. 그래서 제 박사 과정 논문 주제로 선택했습니다.”
알하비가 이끄는 연구 팀은 먼저 안드로이드와 우분투 리눅스 체제에서 실험을 시작했고, 시연을 위한 모의 공격에 성공했다. 그런 후 맥OS와 윈도우로 옮겼다. “같은 취약점이 통하는지 확인하려고 한 것이었습니다. 예상대로 DNS 캐시를 포이즈닝 하는 데에 성공했습니다. 이를 통해 사용자가 관리자 권한 없이도 DNS 캐시를 오염시키는 게 가능하다는 걸 입증했습니다. 이 공격이 실제로 발생할 시 사용자들 간 완벽한 격리가 불가능하기 때문에, 같은 도메인을 방문하는 사용자라면 공격자가 제어하는 웹서버로 가게 됩니다.”
이 공격이 성립 가능한 건 mDNSResponder에서 사용되는 OS DNS 캐시가 같은 기계를 사용하는 모든 사람들 사이에서 공유되기 때문이다. “또한 캐시를 전문으로 하는 보호 장치가 없다는 것도 이 공격이 성공할 수 있는 이유입니다. 클라이언트 장비들은 DNS 체계의 일부로 인식되지 않고, 따라서 DNS 캐시 포이즈닝에 대한 방어의 요소로서 고려되지 않아왔습니다.”
연구 팀은 이러한 연구 결과를 각 OS 제조사들에 알렸다. 애플은 맥OS 모하비 10.14.3 보안 노트와 하이 시에라 보안 업데이트 2019-001, 시에라 보안 업데이트 2019-001를 통해 이 문제를 해결했다. 앞으로도 각 벤더들이 비슷한 조치를 취할 것으로 보이는데, 이 외에도 클라이언트 시스템에서 할 수 있는 일이 몇 가지 있다고 한다.
“쉽고 빠른 해결책 중 하나는 DNS 캐시 기능을 비활성화시키는 것입니다. 물론 여기에는 단점이 한 가지 있습니다. DNS의 이름 분석 과정이 좀 더 오래 걸린다는 것입니다. 왜냐하면 모든 DNS 요청에 대한 응답을 하나하나 기다려야 하기 때문입니다. 이 과정에서 DNS 리졸버가 디도스 공격에 좀 더 취약하게 됩니다.”
이 연구 결과는 올해 5월 파리에서 열리는 IEEE 인포콤(INFOCOM, IEEE International Conference on Computer Communications)에서 정식으로 발표될 예정이다.
3줄 요약
1. DNS 캐시를 오염시키는 공격, 안드로이드, 맥OS, 윈도우, 리눅스에서 가능함.
2. 공격자는 높은 권한이 없이도 사용자를 특정 도메인으로 우회시킬 수 있음.
3. 이를 완화시키려면 DNS 캐시 기능을 비활성화시켜야 하나, 단점이 없는 것 아님.
[국제부 문가용 기자(globoan@boannews.com)]
Copyrighted 2015. UBM-Tech. 117153:0515BC
<저작권자: 보안뉴스(www.boannews.com) 무단전재-재배포금지>