Skip to main content
Views 85

AI와 인공지능으로 만나는 'Images over DNS': 노는 물이 바뀌면 이미지 전송도 달라진다!

AI와 인공지능 기술이 빠르게 진화하고 있는 시대, 우리가 익숙했던 ‘이미지 파일 전송’ 방식에도 새로운 물결이 다가오고 있습니다. 오늘은 DNS(도메인 네임 시스템)를 통해 이미지를 전송하는 독특한 방법인 ‘Images over DNS’의 원리를 쉽고 흥미롭게 파헤쳐봅니다. DNS란 보통 웹사이트 주소를 IP로 바꾸는 인터넷 전화번호부 역할을 해왔는데, 과연 이걸로 이미지를 주고받는다는 건 무슨 이야기일까요? 이 글 하나면 과감하게 ‘이미지 over DNS’의 기술과 그것이 가진 가능성, 그리고 AI 시대의 기막힌 의미까지 통쾌하게 이해할 수 있습니다.

DNS란 무엇이고, 왜 이미지 전송에 쓰일까?

‘DNS’는 웹사이트 주소를 실제 서버의 IP 주소로 바꿔주는 인터넷의 필수 서비스입니다. 그런데 이 DNS는 단순히 주소 변환 이상의 재주를 숨기고 있습니다. 데이터 타입 중 ‘TXT 레코드’는 원래 문자 정보를 저장하는 데 쓰였지만, 여기에 여러 문자열을 조합하면 그림 파일을 쪼개서 비밀스럽게 실을 수도 있습니다.

일반적으로 TXT 레코드는 각 문자열이 255바이트로 제한됩니다. 하지만 여러 개를 연달아 붙이면 1,232바이트(UDP 기준) 또는 64KB(TCP 기준)까지 넉넉하게 데이터를 실어 나를 수 있습니다. 이게 바로 DNS를 통해 이미지를 전송할 수 있는 이유! 새로운 데이터 통로가 열린 셈이죠.

TCP와 UDP로 이미지 전송량을 극대화하는 방법

이미지 한 장만 보내도 수십 KB~수백 KB가 금방 넘는데, 어떻게 DNS로 이 많은 데이터를 주고받을 수 있을까요? 바로 TCP 프로토콜의 힘을 빌립니다.

  • UDP 방식: 최대 1,232바이트로 제한(간이 전송, 빠르지만 용량 적음)

  • TCP 방식: 최대 64KB까지 한 번에 척~ 하고 보낼 수 있음

‘Images over DNS’는 스케일이 필요한 대용량 이미지를 TCP 기반으로 쪼개 보냅니다. 게다가 Base64처럼 인코딩 오버헤드를 줄이면 더 많은 이미지 데이터를 알뜰하게 실어 나를 수 있습니다.

Google Public DNS, JSON API 그리고 커스텀 서버의 만남

실전 구현에서는 Google Public DNS의 JSON API와 직접 만든 Go DNS 서버(심지어 AI가 작성한 코드!)를 조합합니다. 이를 통해 큰 TXT 응답을 TCP로 서비스하고, 브라우저에서 JSON을 받아 이진 데이터로 변환합니다. 여기서 중요한 포인트! JSON은 이미지 같은 이진 데이터엔 약간 까다롭기 때문에 별도 파싱이 필요합니다.

‘dig’ 명령어와 Perl 스크립트를 섞어 쓰면, DNS에 저장된 이미지를 깔끔한 파일로 복구할 수도 있죠. 기본 DNS 재귀자는 큰 TXT 레코드에 약하니, 구글이나 공개 DNS(@dns.google, @9.9.9.9 등)를 지정하면 디지털 고양이 사진도 금세 복원할 수 있습니다.

보안과 AI 시대의 재미있는 응용

DNS와 이미지는 원래 관련 없는 영역 같지만, 공격자들은 이미 오래전부터 ‘DNS 터널링’을 악용해 데이터를 빼돌려 왔습니다. 이제는 이미지나 대용량 페이로드도 DNS 터널링으로 전송해 브라우저에 직접 띄우는 시대가 열렸습니다! AI 기술이 만든 Go DNS 서버와 짧은 TTL(캐시 시간: 10초)을 활용해, 실제 CDN처럼 데이터를 뿌릴 수도 있습니다. 물론 악의적 활용을 피하기 위한 안전장치도 필수죠.

특정 IP 인증서를 직접 활용하면 HTTPS 트래픽을 DNS 조회 없이 바로 전송하기도 합니다. 이런 ‘노는 물의 변화’는 AI 보안·네트워크 경계선에서 또 다른 혁신을 불러올 수 있습니다.

AI, 인공지능과 DNS의 협력: 기술적 구현 사례

이번 프로젝트의 핵심은 실제 서버 컴포넌트 코드를 AI(ChatGPT)로 작성했다는 점입니다. 이미지는 TXT 레코드로 쪼개서, DNS 서버가 요청 받을 때마다 응답하는 방식. 클라이언트(브라우저 또는 터미널)는 이미지를 요청하면, 각 부분을 받아 조각을 맞추는 식으로 동작합니다.

Go DNS 서버, Perl 스크립트, 그리고 브라우저 연동까지 AI가 제안한 로직에 사람의 손길로 세부 튜닝! 이미 이 코드 전체가 오픈 소스로 공개되어 있으니, 새로운 AI 활용 예로 충분히 현실적이면서도, 네트워크 지식이 있다면 누구나 따라 해볼 만합니다.

앞으로의 활용 가능성과 실용적인 조언

DNS를 통한 이미지 전송은 ‘기발한 해킹’에 가까운 재치와 기술이 만난 사례입니다. 아직은 주류 방식은 아니지만, AI와 인공지능이 DNS 통신의 한계를 극복할 수 있다는 점에서 앞으로 보안, CDN, P2P, IoT 등 여러 분야로 확장될 수 있습니다. 단, 네트워크 보안 모니터링·캐시 관리와 결합해 꼼꼼하게 운영해야 합니다.

지금 당장 이미지를 DNS로 실어 나를 필요까지는 없더라도, AI가 제안하는 네트워크 프로토콜의 변주와 새로운 가능성을 이해해 두면, 기술 트렌드에 뒤처지지 않을 수 있습니다. DNS를 넘어서는 준비, AI와 함께 시작해 보세요!


참고문헌

[1] Images over DNS - dgl.cx

[2] A Network Threat Hunter's Guide to DNS Records - Active Countermeasures

이미지 출처

AI와 인공지능으로 만나는 'Images over DNS': 노는 물이 바뀌면 이미지 전송도 달라진다!

이 노트는 요약·비평·학습 목적으로 작성되었습니다. 저작권 문의가 있으시면 에서 알려주세요.