▲GN⁺ 2025-02-13 | parent | ★ favorite | on: 이모티콘을 통한 임의의 데이터 인코딩하기 (paulbutler.org)Hacker News 의견 Unicode의 PUA(Private Use Area)는 내부 및 커스텀 용도로 사용되며 외부 시스템에 전달되지 않음 대부분의 시스템과 라이브러리는 이를 그대로 통과시키도록 설계됨 이는 잠재적인 데이터 유출 경로가 될 수 있음 대부분의 개발자는 "국제화 문제를 피하기 위해 항상 Unicode를 사용하라"는 것 외에는 잘 모름 Unicode를 악용하는 것은 빙산의 일각에 불과함 Unicode 문자열을 수용하는 시스템에서 버퍼 오버플로우를 유발할 수 있음 보통은 오류나 충돌을 일으키지만, 가끔은 예상치 못한 재미있는 결과를 초래할 수 있음 과거 침투 테스트 경험에서 단순한 발음 구별 기호로 백엔드 웹 서버의 버퍼를 오버플로우 시킨 기억이 있음 주로 서버를 충돌시키고 자동 재시작되었지만, 충분히 조작하면 특정 시스템이나 소프트웨어를 악용할 수 있음 Sanity는 Content Source Maps를 웹페이지의 실제 텍스트에 인코딩하는 데 이 기술을 사용함 이는 편집자가 텍스트를 클릭하여 콘텐츠 구조를 쉽게 추적할 수 있게 함 날짜, URL, ID 등 구문 분석이 필요한 항목에는 추가하지 않는 것이 좋음 LLM 출력 워터마킹에 이 기술을 사용하는 아이디어가 마음에 듦 99%의 복사 붙여넣기 생성기를 쉽게 잡아낼 수 있음 각 문자나 토큰에 얼마나 많은 정보를 삽입할지 궁금함 StegCloak은 AES-256-CTR을 통해 숨겨진 페이로드를 암호화하여 이 아이디어를 한 단계 더 발전시킴 LLM 출력 워터마킹 외에도 로그 확률 데이터를 패키징하는 데 사용할 수 있음 생성 과정의 투명성을 제공하기 위해 각 토큰에 대한 확률 정보를 포함할 수 있음 OpenAI API 사양의 일부이며, 다른 엔진에서도 지원됨 제목이 약간 오해의 소지가 있음 기본 문자는 이모지가 아니어도 되며, 변형 선택자의 처리는 일반 문자와 동일함 이모지와 함께 사용하면 더 재미있음 토크나이저가 이를 잡아냄 이전 직장에서 여러 악용 사례로 인해 사용자 닉네임 및 상태 메시지의 '문자'를 세기 위해 코드 포인터를 사용해야 했음 다른 사용자를 탐색하는 데 9MB를 다운로드하고 싶지 않았음 Unicode 태그 문자는 ASCII를 반영하며 UI 요소에서 종종 보이지 않음 일부 LLM은 숨겨진 텍스트를 ASCII로 해석하고 지시를 따르며, 심지어 이를 작성할 수도 있음 Microsoft가 Copilot에서 수정한 실제 악용 사례가 있음
Hacker News 의견
Unicode의 PUA(Private Use Area)는 내부 및 커스텀 용도로 사용되며 외부 시스템에 전달되지 않음
Unicode를 악용하는 것은 빙산의 일각에 불과함
과거 침투 테스트 경험에서 단순한 발음 구별 기호로 백엔드 웹 서버의 버퍼를 오버플로우 시킨 기억이 있음
Sanity는 Content Source Maps를 웹페이지의 실제 텍스트에 인코딩하는 데 이 기술을 사용함
LLM 출력 워터마킹에 이 기술을 사용하는 아이디어가 마음에 듦
StegCloak은 AES-256-CTR을 통해 숨겨진 페이로드를 암호화하여 이 아이디어를 한 단계 더 발전시킴
LLM 출력 워터마킹 외에도 로그 확률 데이터를 패키징하는 데 사용할 수 있음
제목이 약간 오해의 소지가 있음
토크나이저가 이를 잡아냄
이전 직장에서 여러 악용 사례로 인해 사용자 닉네임 및 상태 메시지의 '문자'를 세기 위해 코드 포인터를 사용해야 했음
Unicode 태그 문자는 ASCII를 반영하며 UI 요소에서 종종 보이지 않음
Microsoft가 Copilot에서 수정한 실제 악용 사례가 있음