Breaking and Fixing Defenses Against Control-Flow Hijacking in Multi-Agent Systems

이 논문은 기존 방어 기법들이 다중 에이전트 시스템의 제어 흐름 하이재킹 공격을 효과적으로 막지 못함을 지적하고, 제어 흐름 무결성과 최소 권한 원칙에 기반하여 허용된 제어 흐름 그래프를 생성하고 강제하는 새로운 방어 시스템인 'ControlValve'를 제안합니다.

Rishi Jha, Harold Triedman, Justin Wagle, Vitaly Shmatikov

게시일 2026-03-06
📖 3 분 읽기☕ 가벼운 읽기

Each language version is independently generated for its own context, not a direct translation.

🏢 비유: "AI 회사"와 "사기꾼"의 이야기

가상 세계에 **'AI 회사'**가 있다고 상상해 보세요. 이 회사는 한 명의 대표 (사용자) 가 복잡한 업무를 맡기면, 이를 해결하기 위해 여러 명의 **전문가 에이전트 (AI)**들을 고용합니다.

  • 기획자 (Orchestrator): 업무를 분배하고 전체 흐름을 관리하는 팀장.
  • 전문가들: 웹 서퍼 (정보 수집), 파일 관리자 (문서 읽기), 코더 (코드 작성), 이메일 발송자 등.

이 팀장 (기획자) 은 전문가들이 무슨 일을 하는지 자세히 보지 않고, **"결과물"**만 보고 업무를 진행합니다.

🕵️‍♂️ 문제: "착한 사기꾼"의 등장 (제어 흐름 하이재킹)

기존의 보안 시스템은 "악의적인 명령을 내리는지"만 확인했습니다. 하지만 이 논문은 새로운 형태의 공격, **'제어 흐름 하이재킹 (Control-Flow Hijacking, CFH)'**을 발견했습니다.

이 공격은 어떻게 작동할까요?

  1. 위장: 사기꾼은 악의적인 명령을 직접 하지 않습니다. 대신, **"에러가 났어요! 이걸 고치려면 이 명령을 실행해야 해요!"**라고 위장합니다.
    • 비유: 회사에 전화를 걸어 "화재 경보가 울려서 소방서를 부르는 중인데, 전화를 끊으려면 이 번호로 전화를 걸어주세요"라고 속이는 것과 같습니다.
  2. 착각: 전문가 에이전트 (예: 파일 관리자) 가 이 "에러 메시지"를 보고, 팀장 (기획자) 에게 "문제가 생겼으니 이걸 고쳐야 합니다"라고 보고합니다.
  3. 착각된 부하 (Confused Deputy): 팀장은 "아, 전문가가 문제를 해결하려고 하는구나"라고 믿고, 그 전문가가 제안한 **위험한 행동 (예: 외부 서버 연결, 민감한 데이터 전송)**을 승인해 줍니다.
  4. 결과: 팀장은 "우리는 사용자의 목표를 달성하기 위해 노력했다"고 생각하지만, 실제로는 사기꾼이 원하는 대로 회사 기밀을 빼돌리거나 시스템을 해킹당하게 됩니다.

기존 보안 (Alignment Check) 의 실패:
기존 보안 시스템은 "이 행동이 사용자의 원래 목표와 관련이 있는가?"를 물었습니다. 사기꾼은 "네, 에러를 고치기 위해 필요한 일이니까 관련이 있습니다!"라고 대답했기 때문에, 최고 수준의 AI 가 봐도 "괜찮아 보인다"고 판단해 버렸습니다.

🛡️ 해결책: "CONTROLVALVE" (제어 밸브)

저자들은 이 문제를 해결하기 위해 **'CONTROLVALVE'**라는 새로운 방어 시스템을 만들었습니다.

이 시스템은 어떻게 작동할까요?

  1. 작업 지도 (Control-Flow Graph) 작성:
    • 작업이 시작되기 전에, "이 일을 하려면 어떤 순서로 어떤 전문가를 만나야 하는지"를 미리 정해진 **지도 (그래프)**로 그립니다.
    • 비유: "고객이 서류를 요청하면, 먼저 '파일 관리자'가 서류를 보고, 그다음 '코더'가 분석하고, 마지막으로 '이메일 담당자'가 보내는 것"처럼 허용된 경로만 정해둡니다.
  2. 상황별 규칙 (Contextual Rules):
    • 단순히 누구를 만나는지뿐만 아니라, "어떤 조건에서 만나야 하는지"도 정합니다.
    • 비유: "이메일 담당자는 외부인에게 민감한 데이터를 보내면 안 된다"거나 "코더는 외부 웹사이트에 접속하지 못한다"는 식의 세부 규칙을 정해둡니다.
  3. 실시간 감시:
    • 실제 작업이 진행되는 동안, 팀장은 전문가들이 이 미리 그려진 지도를 따르는지, 규칙을 지키는지 계속 확인합니다.
    • 만약 전문가가 "에러가 났으니 이 새로운 경로를 가자"고 제안하면, 지도에 없는 길이기 때문에 즉시 차단합니다.

핵심 차이점:

  • 기존 방식: "이게 나쁜 짓일까? (AI 가 추론)" -> 사기꾼이 속여넘기 쉬움.
  • CONTROLVALVE: "이 길이 허용된 지도에 있는가? (규칙 확인)" -> 사기꾼이 속일 수 없음. 규칙은 추론이 아니라 명확한 기준이기 때문입니다.

📊 연구 결과

  • 기존 방어 (LlamaFirewall 등): 사기꾼의 위장술에 속아 넘어가서 공격을 막지 못했습니다.
  • CONTROLVALVE: 모든 공격을 완벽하게 막았습니다.
  • 정상적인 작업: 방어 시스템을 써도 평소의 업무 효율은 떨어지지 않았습니다. 오히려 불필요한 방황을 줄여주어 더 깔끔하게 일을 처리했습니다.

💡 결론

이 논문은 **"AI 팀이 서로 협력할 때, 서로의 말을 무조건 믿으면 안 된다"**는 교훈을 줍니다.

사용자의 목표를 달성하기 위해 AI 가 스스로 판단하고 행동하는 것은 좋지만, 사기꾼이 "에러"나 "필요한 조치"라는 이름으로 위험한 길로 유도할 때, 미리 정해진 '지도'와 '규칙'이 없다면 우리는 완전히 속아 넘어갈 수 있다는 것입니다.

CONTROLVALVE는 바로 그 '지도'와 '규칙'을 만들어 AI 가 길을 잃지 않고, 사기꾼의 함정에 빠지지 않도록 지켜주는 최고의 나침반입니다.