← 최신 논문
🤖 AI

Governing the KV Cache: Preventing Timing Side-Channel Leakage in Multi-Tenant LLM Inference

이 논문은 원칙별 솔팅(per-principal salting)과 감사 스케줄러를 통해 테넌트 간 KV 캐시 키를 암호학적으로 격리함으로써, 프리픽스 캐시 효율의 93%를 유지하면서도 테넌트 간 누출을 제거하여 멀티 테넌트 LLM 추론에서의 타이밍 부채널 공격을 방지하는 거버넌스 계층인 KVGov를 소개한다.

원저자: Tejasvi C. Addagada

게시일 2026-08-11
📖 6 분 읽기🧠 심층 분석

원저자: Tejasvi C. Addagada

원본 논문은 CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) 라이선스로 제공됩니다. 이것은 아래 논문에 대한 AI 생성 설명입니다. 저자가 작성하거나 승인한 것이 아닙니다. 기술적 정확성을 위해서는 원본 논문을 참조하세요. 전체 면책 조항 읽기

활기차고 첨단 기술이 집약된 도서관을 상상해 보세요. 이곳의 마법 같은 사서(AI)는 당신의 어떤 질문에도 답할 수 있습니다. 매우 빠르게 움직이기 위해, 사서는 가장 흔한 이야기의 시작 부분을 바로 옆 책상 위에 놓인 '참조 시트'에 적어둡니다. 만약 당신이 다른 사람과 같은 단어로 시작하는 질문을 한다면, 사서는 책 전체를 다시 읽을 필요 없이 참조 시트를 슬쩍 보고 바로 정답으로 건너뛸 수 있습니다. 이는 엄청나게 효율적이며, 막대한 시간을 절약해 줍니다. 하지만 많은 사람(테넌트)이 같은 책상을 사용하는 바쁜 도서관에서는, 교활한 사람이 다른 사람들이 무엇을 읽고 있는지 알아낼 수도 있습니다. 그들은 책을 직접 볼 필요가 없습니다. 그저 사장이 답을 찾는 데 시간이 얼마나 걸리는지만 관찰하면 됩니다. 만약 사장이 즉시 답을 가져온다면, 그 사람은 "아, 저 사람이 방금 내가 물어봤던 것과 똑같은 이야기를 물어봤구나!"라고 알게 됩니다. 만약 사장이 뒤쪽 선반까지 걸어가야 한다면, 그것은 새로운 이야기라는 뜻입니다. 이러한 미세한 지연 시간을 측정함으로써, 악의적인 행위자는 다른 사람들의 사적인 비밀이나 프롬프트를 재구성할 수 있습니다. 이는 속도라는 기능이 보안 누출로 변질되는 것입니다.

이 논문은 오늘날 우리가 사용하는 초지능형 AI 챗봇인 대규모 언어 모델(LLM)의 세계에서 발생하는 바로 그 문제를 다룹니다. 이 모델들은 대화의 이전 부분을 기억함으로써 응답 속도를 높이기 위해 "KV 캐시"(참조 시트)를 사용합니다. 저자는 공유 환경에서 이 속도 트릭이 "타이밍 사이드 채널(timing side channel)", 즉 시간의 길이에 숨겨진 비밀 신호를 만들어낸다는 사실을 발견했습니다. 저자는 세 그룹의 해커들이 이미 이 신호를 이용해 거의 100%의 성공률로 개인적인 프롬프트를 훔칠 수 있음을 보여주었습니다. 이 논문은 이 문제를 해결하기 위해 KVGov라는 새로운 시스템을 제안합니다. 단순히 타이밍을 숨기려고 노력하는 대신(그것은 어렵습니다), KVGov는 게임의 규칙을 바꾸어 모든 사용자에게 각기 완전히 다른 참조 시트를 제공합니다. 이는 마치 모든 도서관 방문객에게 자신만의 고유하고 투명한 잉크를 주어, 그들의 특정 참조 시트를 다른 누구도 읽을 수 없게 만드는 것과 같습니다. 저자는 시뮬레이션과 실제 하드웨어 테스트를 통해 이 방법이 세 가지 유형의 공격을 모두 완벽하게 차단하면서도, 도서관을 여전히 유용할 만큼 빠르게 유지한다는 것을 보여줍니다. 또한, 누가 가장 주의 깊게 감시되어야 하는지 정확히 아는 스마트한 "보안 요원" 시스템을 도입하며, 참조 시트 공유를 완전히 중단하는 것이 더 안전해지는 임계점을 계산합니다.

거대한 캐시 강도 사건

AI의 메모리를 거대한 공유 화이트보드라고 생각해보세요. 당신이 AI에게 질문을 하면, AI는 나중에 유사한 질문을 받았을 때 다시 계산하지 않도록 문장의 핵심 부분을 보드에 적어둡니다. 이것이 바로 KV 캐시입니다. 멀티 테넌트 설정(여러 기업이나 사용자가 동일한 AI 서버를 공유하는 환경)에서, 모든 사람은 시간을 절약하기 위해 이 화이트보드를 공유합니다.

문제는 이 화이트보드가 너무 눈에 띈다는 점입니다. 만약 교활한 사용자(공격자)가 "프랑스의 수도는 어디인가요?"라고 묻고 AI가 즉시 답한다면, 공격자는 "오, 누군가 최근에 이 질문을 했었나 보군!"이라고 알게 됩니다. 만약 AI가 시간이 걸린다면, 공격자는 "아직 아무도 묻지 않았구나"라고 알게 됩니다. 수천 개의 다양한 질문을 던지고 그 답변 시간을 측정함으로써, 공격자는 비록 답변 자체를 볼 수는 없더라도 다른 사람들이 정확히 무엇을 묻고 있는지 지도로 그려낼 수 있습니다. 이를 **타이밍 사이드 채널 공격(timing side-channel attack)**이라고 합니다.

논문은 해커들이 이를 사용한 세 가지 구체적인 방법을 강조합니다:

  1. PROMPTPEEK: 해커는 가능한 질문 목록을 추측하고 그 시간을 모두 측정합니다. 만약 그들의 타이밍이 피해자의 패턴과 일치하면, 그들은 피해자가 무엇을 물었는지 정확히 알게 됩니다.
  2. EarlyBird: 해커는 피해자의 질문을 한 단어씩 추측하려고 시도합니다. 만약 AI가 빠르다면, 그들은 자신이 맞는 단어를 맞혔다는 것을 압니다.
  3. InputSnatch: 이것은 양식을 채우는 것과 같은 구조화된 질문을 위한 것입니다. 해커는 템플릿(예: "계좌 [번호]에 대한 거래 내역을 보여줘")을 알고 있으며, AI가 빨라질 때까지 다양한 숫자를 시도하여 비밀 계좌 번호를 밝혀냅니다.

저자는 NVIDIA A100 GPU라는 실제 하드웨어에서 이를 테스트했으며, 타이밍 차이가 매우 크다는 것을 발견했습니다. "콜드(cold)" 요청(새로운 정보)은 149.6밀리초가 걸린 반면, "캐시된(cached)" 요청(재사용된 정보)은 단 32.8밀리초밖에 걸리지 않았습니다. 이는 0.22의 비율로, 해커가 포착하기 매우 쉬운 거대한 신호입니다.

해결책: KVGov와 마법의 잉크

이 논문은 문지기 역할을 하는 새로운 보안 계층인 KVGov를 소개합니다. 이 시스템의 주요 기술은 **HMAC 키 기반 네임스페이스 격리(HMAC-keyed namespace isolation)**입니다.

모든 도서관 방문객이 자신만의 고유하고 비밀스러운 도장("솔트", salt)을 가지고 있다고 상상해 보세요. 사서가 화이트보드에 질문을 적을 때, 먼저 사용자의 비밀 잉크로 질문을 찍습니다. 설령 두 사람이 정확히 같은 질문을 하더라도, 이 잉크는 화이트보드의 항목이 다른 모든 사람에게는 완전히 다르게 보이도록 만듭니다.

  • 작동 방식: 시스템은 사용자의 ID와 비밀 키를 사용하여 고유한 코드를 생성합니다. 이 코드는 캐시 키를 생성하는 아주 첫 번째 단계에 혼합됩니다.
  • 결과: 해커가 피해자가 무엇을 물었는지 추측하려 해도, 해커 자신의 비밀 도장은 피해자의 것과 일치하지 않을 것입니다. 따라서 해커의 탐색은 항상 "미스(miss/느림)"로 나타나게 됩니다(데이터가 일치하지 않으므로). 이로 인해 타이밍 신호가 사라집니다.

저자는 1,000회의 시뮬레이션 실험을 수행했으며, 이 "HMAC-솔트"만으로도 세 가지 유형의 공격에 대한 공격 성공률을 **100%**에서 **0%**로 떨어뜨릴 수 있음을 발견했습니다. 이것이 시스템에서 엄격하게 필요한 유일한 부분이었습니다. 나머지 부분은 단지 추가적인 안전 계층을 더할 뿐입니다.

도서관의 속도를 유지하기 (경계 트릭)

당신은 "모두가 자신만의 비밀 화이트보드를 가진다면, 도서관이 느려지지 않을까?"라고 생각할 수 있습니다. 만약 모든 사용자가 완전히 분리된 보드를 갖게 된다면, 공통된 질문(예: "안녕하세요, 어떻게 지내세요?")을 공유하여 얻는 속도 이점을 잃게 될 것입니다.

논문은 **경계 솔팅(Boundary Salting)**이라는 영리한 해결책을 제시합니다.
이야기에서 처음 2,000단어는 모두에게 동일하고(공유된 서문), 마지막 100단어만 서로 다르다(사적인 부분)고 가정해 봅시다.

  • 기존 방식: 전체 이야기에 비밀 잉크를 찍습니다. 그러면 아무도 처음 2,000단어를 공유할 수 없습니다.
  • KVGov 방식: 처음 2,000단어는 도장을 찍지 않은 채로 두어 모두가 공유할 수 있게 합니다. 오직 이야기가 갈라지는 첫 번째 단어에만 도장을 찍습니다.
  • 보상: 이 방식은 속도 이점의 **93%**를 유지하면서도 사적인 부분을 비밀로 유지합니다. 저자는 2,0로 단어의 공유 서문과 119단어의 사적인 뒷부분을 가정했을 때, 시스템이 여전히 매우 빠를 것(사적인 부분에 대해 약 41.2ms)이며 대부분의 효율성을 유지할 것이라고 추정합니다.

스마트 보안 요원: ORIGAMI

마법의 잉크가 있더라도, 저자는 누군가 몰래 침입하려 하지 않는지 확인하고 싶었습니다. 그래서 그들은 스마트한 감사 스케줄러인 ORIGAMI를 만들었습니다.

도서관 관리자가 제한된 예산의 보안 요원을 보유하고 있다고 생각해보세요. 그들은 모든 사람을 항상 감시할 수는 없습니다. ORIGAMI는 수학적 전략(Stackelberg water-filling 방식)을 사용하여 누구를 감시할지 결정합니다.

  • 논리: 만약 사용자가 매우 가치 있고(높은 위험도) 수상한 행동 이력이 있다면, 더 많은 경비원이 배치됩니다. 위험도가 낮은 사용자에게는 더 적은 경비원이 배치됩니다.
  • 결과: 10명의 테넌트와 현실적인 사용자 유형의 혼합(지니 계수 0.63)을 포함한 시뮬레이션에서, 이 스마트한 스케줄링은 무작위로 사람을 감시하는 것보다 공격자의 예상 성공률을 12.6% 감소시켰습니다.

언제 공유를 멈춰야 하는가

마지막으로, 이 논문은 중요한 질문을 던집니다. "언제 화이트보드 공유를 완전히 중단하는 것이 더 나은가?"

그들은 **진화적 안정성(Evolutionary Stability)**이라는 개념을 사용하여 임계점을 찾았습니다. 그들은 일부는 캐시를 공유하고(빠르지만 위험함), 일부는 공유하지 않는(느리지만 안전함) 사용자들로 구성된 인구를 모델링했습니다.

  • 발견: 시스템 내의 해커 비율이 **31.6%**를 넘어서면, 모든 사람이 캐시 공유를 중단하고 각자의 개인 보드로 돌아가는 것이 수학적으로 더 유리해집니다. 그 수치 아래에서는 공유하는 것이 여전히 승리하는 전략입니다. 이는 도서관 관리자에게 명확한 규칙을 제공합니다: 만약 당신이 3명 중 1명 이상의 사용자가 악의적인 행위자라고 의심된다면, 캐시 공유를 중단하십시오.

이 논문이 해결하지 못하는 것

이 논문은 자신들이 해결하지 못하는 부분에 대해서도 매우 명확하게 밝히고 있습니다.

  • 해커가 AI의 뇌(모델 가중치)를 훔치는 것을 막지 못합니다.
  • 해커가 AI를 속여 나쁜 말을 하게 만드는 것(프롬프트 인젝션)을 막지 못합니다.
  • "시맨틱 캐시(semantic caches, 단어가 아닌 아이디어를 매칭하는 방식)"를 고치지 못합니다. 이를 위해서는 다른 종류의 잠금 장치가 필요합니다.
  • EarlyBird 공격(단어별로 추측하는 방식)은 더 큰 "블록" 단위로 작동하는 최신 AI 엔진들에 의해 대부분 차단되지만, 저자는 구조화된 양식(예: 계좌 번호)의 경우 블록 크기가 중요하지 않으며 타이밍 누출은 여전히 존재한다고 경고합니다.

결론

저자는 우리가 사랑하는 AI의 속도 향상이 숨겨진 비용, 즉 개인 정보를 유출하는 타이밍 신호를 동반한다는 것을 증명했습니다. 단순히 신호를 숨기는 것만으로는 부족하며, 사용자와 캐시 사이의 연결 고리를 끊어야 한다는 것을 보여주었습니다. 암호학적 "마법의 잉크"(HMAC-salt)를 사용하고 비밀이 시작되는 지점에만 이를 적용함으로써, KVGov는 AI를 빠르게 유지하면서도 정보 유출을 완벽하게 차단합니다. 이는 AI의 미래를 늦추지 않으면서도 프라이버시를 지키는 승리입니다.

연구 분야의 논문에 파묻히고 계신가요?

연구 키워드에 맞는 최신 논문의 일일 다이제스트를 받아보세요 — 기술 요약 포함, 당신의 언어로.

Digest 사용해 보기 →