TL;DR

  • 뉴질랜드 정부의 무료 모바일 데이터 서비스인 zero.govt.nz에서 허용 목록 검증이 미흡해 임의의 웹사이트를 정부 도메인으로 프록시할 수 있었고, 보고 후 수정됨.
  • portal.zero.govt.nz는 정부 서비스 웹사이트를 모아 제공하며, 목록에 있는 사이트 방문은 모바일 제공업체가 데이터 요금을 부담하는 구조임.
  • Squid Proxy가 *.zero.govt.nz를 통한 트래픽을 처리하고, 프록시가 외부 웹사이트에 스타일시트를 삽입하는 방식이 확인됨.
  • 도메인 이름을 해시로 구성하던 방식을 바꾸기 전에는 임의의 도메인을 프록시할 수 있었으며, 이는 정부 도메인을 이용한 사기 페이지 제작으로 악용될 가능성이 있음.
  • 문제를 National Cyber Security Centre(NCSC)에 보고한 뒤 도메인 허용 목록 방식으로 프록시가 제한됐으며, 공개까지의 보고 경과가 날짜별로 정리됨.

정부 웹사이트를 휴대전화에서 무료로 이용할 수 있음?

  • 뉴질랜드 정부는 더 많은 사람이 알아야 할 여러 서비스를 운영하며, 그중 하나가 portal.zero.govt.nz임.
  • 이 서비스는 일종의 디렉터리 역할을 하며, 더 중요한 점은 목록에 있는 웹사이트 방문의 데이터 요금을 모바일 제공업체가 전액 부담한다는 것임.
  • 지원 도메인은 www-diabetes-org-nz.zero.govt.nz처럼 도메인 이름을 슬러그 형태로 변환해 구성됨.
  • 글 상단의 스크린샷에 나온 것처럼 과거에는 해시를 사용했지만, 제보한 취약점 이후 어느 시점에 방식이 바뀜.

이 구조는 어떻게 작동함?

  • 정보공개법(Official Information Act, OIA)에 따른 공개로, 몇 년 전 공개된 답변에 아키텍처 다이어그램이 포함됨.
  • 상세 내용은 많지 않지만, 이동통신 제공업체가 *.zero.govt.nz로 향하는 트래픽을 확인하고 데이터 요금을 부담하는 구조로 보임.
  • 같은 OIA 답변은 zero.govt.nz를 “여러 정부 기관의 협력 사업”으로 설명하며, 기관이 제공하는 직원 시간과 웹 호스팅·인터넷 트래픽 비용·3차 지원 등 외부 서비스 비용을 위한 공동 기금으로 운영비를 충당한다고 밝힘.
  • 구성 요소는 다음과 같음.
  • portal.zero.govt.nz의 포털
  • my.zero.govt.nz에서 제공된 것으로 추정되는 Squid Proxy
  • 인터넷에 직접 노출됐는지 확실하지 않은 ICAP 서버
  • 이상하게도 zero.education.govt.nz도 존재하며, 같은 인프라의 복사본을 운영하는 것으로 보이지만 데이터 요금이 면제되지 않음.
  • 이는 서비스의 취지와 어긋나는 듯하지만, 별도 도메인을 갖추기 전의 오래된 배포 환경일 가능성도 있음.

사용자 지정 웹사이트에 접근하기

  • 사용자가 비용을 내지 않고 내 블로그를 볼 수 있는 상태로 이어진 과정은 다음과 같음.
  • 과거에 zero.govt.nz를 알고 있었고, 기억나지 않는 이유로 웹을 둘러보다가 다시 접속함.
  • 학교 웹사이트 몇 곳을 눌러 보자 Squid 오류 페이지가 나타났으며, 페이지 소스에는 my.zero.govt.nz:8889/429.php가 언급돼 있었던 것으로 기억함.
  • my.zero.govt.nz를 살펴봐도 별다른 정보는 없었던 것 같지만, 이것저것 오가던 중 다음 형식의 웹페이지에 도달함: portal.zero.govt.nz/ZMD5/blah.govt.nz.
  • 해시를 계속 보던 중 이것이 해석되지 않은 URL일 수 있다고 판단해 portal.zero.govt.nz/ZMD5/utf9k.net을 입력했고, 실제로 해당 페이지가 표시됨.
  • 프록시가 내 웹사이트에 CSS를 삽입하고 있었지만 웹사이트는 내가 제어하므로, 가장 강력한 스타일 지정 무기인 !important를 적용해 배너를 가리는 데 성공함.
  • 이 방식으로 웹사이트를 무료로 둘러볼 수 있었는지는 직접 시험하지 못했지만, 아키텍처 다이어그램을 보면 가능했을 것으로 보임.

마무리 생각

  • 겉보기에는 비교적 무해해도, 이 방법으로 사기 페이지를 제공하는 상황을 상상할 수 있음.
  • 녹색 자물쇠 아이콘을 확인하라는 안내도 있었지만, 실제 정부 도메인을 통해 콘텐츠를 제공하는 것보다 더 권위 있어 보이기는 어려움.
  • 링크를 더 그럴듯하게 보이게 하려고 다른 매체까지 악용하면 문제가 한층 복잡해짐.
  • 진짜 정부 도메인과 매우 진짜처럼 보이는 결제 포털을 결합하면 나조차 속을 수 있다고 생각함.
  • 제보 후 프록시는 슬러그 형태로 바뀐 호스트 이름을 기준으로 도메인을 명시적으로 허용하도록 잠긴 것으로 보이지만, 내부적으로 무슨 조치가 있었는지는 알지 못함.
  • 앞서 언급한 OIA에는 출시 전에 “보안 검토 보고서(Security Review Report)”와 침투 테스트를 수행했다고 적혀 있음. 다만 이 문제는 발견하기 그리 어려워 보이지 않았음.
  • 현재는 문제가 수정된 상태임.

공개 경과

  • 2026-06-21 오후: 웹을 살펴본 뒤 처음으로 내 웹사이트를 프록시하는 데 성공함. 공격 가능성을 파악하기 위해 몇 가지 실험을 진행함.
  • 2026-06-22 오후 1시: 점심시간에 재현 절차를 작성하고 최종 테스트를 진행함. 차단되기 전에 동료 두 명에게도 보여 줌.
  • 2026-06-22 오후 2~3시경: 조사 결과를 National Cyber Security Centre에 보고함.
  • 2026-06-22 오후 3시 31분: NCSC가 보고를 접수했다고 확인함.
  • 2026-09-04: 문제가 해결됐는지 NCSC에 문의하고, 글을 공개하고 싶다고 알림. 이 일이 있었다는 사실을 다시 떠올린 시점임.
  • 2026-09-23: NCSC는 “적절한 기관에 우려 사항이 없는지 확인을 요청했다”고 답변함. 주말까지 NCSC로부터 추가 연락이 없으면 글을 공개해도 된다고 안내함.
  • 2026-09-25: 주말이 됐으므로 글을 공개할 예정이라고 후속 이메일을 보냄.
  • 2026-10-01: NCSC는 해당 기관에서 아무런 답변도 받지 못했다며 “그러므로 그쪽에서 개의치 않는 것으로 추정한다”고 확인함.
  • 2026-10-06: 글을 작성해 게시함.
  • NCSC의 문구는 원문 그대로임. 이 OIA에는 Te Whatu Ora가 호스팅 인프라를 제공한다고 나와 있으므로, 해당 기관이 이 사안의 담당 기관일 수도 있음.↩︎