Cryptographic Registry Provenance: Structural Defense Against Dependency Confusion in AI Package Ecosystems
본 논문은 AI 패키지 생태계에서의 의존성 혼란 공격에 대응하기 위해 소프트웨어 배포의 구조적 격차를 제거하고자 강제적인 발행자 및 레지스트리 이중 서명과 소비자 측 암호화 강제를 구현하는 암호화 레지스트리 출처 시스템을 제안한다.
원본 논문은 CC0 1.0 (http://creativecommons.org/publicdomain/zero/1.0/)에 따라 공공 도메인에 제공됩니다. 이것은 아래 논문에 대한 AI 생성 설명입니다. 저자가 작성하거나 승인한 것이 아닙니다. 기술적 정확성을 위해서는 원본 논문을 참조하세요. 전체 면책 조항 읽기
당신은 동네에 있는 사적이고 신뢰할 수 있는 제과점 (귀하 회사의 내부 레지스트리) 과 누구나 케이크를 팔 수 있는 거대한 공개 시장 (공개 인터넷 레지스트리) 이 있다고 상상해 보세요.
문제: "가짜 제빵사" 속임수
현재 "초콜릿 케이크"를 요청하면, 배달 기사에게 우연히 "초콜릿 케이크"라는 이름을 붙이고 더 높은 가격표를 단 낯선 사람의 케이크를 공개 시장에서 실수로 가져올 수 있습니다. 배달 기사는 케이크 상자가 똑같이 생겼고, 쉽게 변경되거나 무시될 수 있는 지시 목록 (설정) 만 확인하기 때문에 그 차이를 알지 못합니다.
이것을 의존성 혼란 (Dependency Confusion) 공격이라고 합니다. 해커들은 회사의 사적 소프트웨어인 척 가장하여 공개되고 신뢰할 수 없는 소스에서 악성 소프트웨어를 다운로드하도록 회사를 속입니다. 일단 나쁜 소프트웨어가 설치되면, 그것이 실제로 어디에서 왔는지를 증명할 방법이 없습니다.
해결책: "위조 방지 여권" 시스템
이 논문은 모든 소프트웨어 패키지가 정확히 어느 제과점 (레지스트리) 에서 배달되었는지를 증명하는 암호학적 "여권"을 함께 제공한다는 새로운 시스템을 제안합니다. 이는 3 단계 보안 점검과 같이 작동합니다:
1 단계: 제빵사의 신분증 (레지스트리 신원)
모든 제과점 (레지스트리) 에 고유하고 위조할 수 없는 신분증 (암호학적 키) 이 발급됩니다.
- 작동 방식: 주문하기 전에 귀하의 회사가 "우리는 동네 제과점만 신뢰한다"고 말합니다. 시스템은 케이크를 배달하는 제과점의 신분증을 확인합니다. 만약 동네 제과점이 아니라면 배달은 즉시 거절됩니다.
- 비유: 특정 VIP 명단을 확인하는 클럽의 도어맨과 같습니다. 이 특정 클럽의 명단에 이름이 없으면 입장할 수 없습니다.
2 단계: 이중 서명 (이중 서명 모델)
모든 케이크 상자에는 공증인과 제빵사 모두 서류에 서명하듯이 두 개의 서명이 붙습니다.
- 제빵사의 서명: 케이크를 구운 사람이 먼저 "내가 이걸 만들었다"고 서명합니다.
- 배달 서비스의 서명: 레지스트리 (배달 서비스) 는 케이크를 받은 후 "이 케이크를 확인하고 제빵사를 검증했으며, 내가 당신에게 배달하는 사람이다"라고 서명합니다.
- 왜 두 개인가요? 이는 누가 만들었는지와 정확히 어떤 배달 서비스가 문까지 가져왔는지를 증명합니다. 해커가 상자를 바꿔치기하려고 하면, 두 번째 서명은 귀하가 신뢰하는 배달 서비스와 일치하지 않습니다.
3 단계: 잠긴 상자 (권위 있는 네임스페이스 바인딩)
단순히 배달 서비스를 신뢰하는 것이 아니라, 해당 특정 서비스에게만 열리도록 부엌 문을 잠급니다.
- 작동 방식: 귀하의 컴퓨터는 "패키지가 '회사' 네임스페이스에서 왔다고 말한다면, 반드시 '회사' 레지스트리의 신분증에서 와야 한다"고 프로그램되어 있습니다. 이름은 맞지만 신분증이 잘못된 패키지가 도착하면 (완벽해 보일지라도), 귀하의 컴퓨터는 문을 닫고 거절합니다.
- 비유: 특정 우편배달부에게만 편지를 받아주는 우편함과 같습니다. 낯선 사람이 우편물과 똑같이 생긴 편지를 남겨도 우편함은 그들에게 열리지 않습니다.
"3 단계" 방어
이 논문은 이 시스템을 성공적으로 해킹하려면 범죄자가 정확히 같은 시점에 세 가지 다른 잠금을 깨야 한다고 주장합니다.
- 레지스트리를 속여 귀하의 이름으로 게시하도록 허용하게 만들기 (1 단계).
- 귀하의 컴퓨터를 속여 잘못된 레지스트리를 신뢰하게 만들기 (2 단계).
- 레지스트리의 비밀 디지털 키를 훔쳐 서명을 위조하기 (3 단계).
이 논문은 세 번째 단계 (디지털 서명) 가 개인 키 없이는 수학적으로 깨뜨릴 수 없기 때문에, 첫 두 단계가 혼란스러워지더라도 공격 확률은 0 으로 떨어진다고 주장합니다.
그렇다면 "케이크" 자체는 어떨까요?
이 논문은 소프트웨어 (케이크) 를 포장하는 특별한 방법 ("이중 레이어 아카이브") 을 소개합니다.
- 소프트웨어를 상자 안의 깨지기 쉬운 케이크라고 상상해 보세요.
- 안쪽 상자: 케이크 자체 (압축됨).
- 바깥쪽 상자: "여권" (서명 및 신분증) 이 들어 있는 투명하고 으깨지지 않는 봉투.
- 장점: 배달 기사 (컴퓨터) 는 안쪽 상자를 열지 않고도 바깥쪽 상자의 여권을 확인할 수 있습니다. 이로 인해 보안 점검이 매우 빨라집니다 (밀리초 단위) 그리고 여권이 케이크와 분리되거나 분실될 수 없음을 보장합니다.
결론
이 논문은 현재 보안 방법이 쉽게 분실되거나 변경될 수 있는 지시 사항을 적은 종이를 배달 기사에게 주는 것과 같다고 결론지었습니다. 이 새로운 시스템은 기원의 증명을 패키지 자체 안에 넣습니다. 이는 "나를 믿어"라는 상황을 "증명해 봐"라는 상황으로 바꾸어, 암호학의 법칙을 깨지 않고는 사적 패키지를 공개 패키지와 혼동하는 것을 수학적으로 불가능하게 만듭니다.
이 시스템이 하지 않는 것:
이 논문은 이 시스템이 패키지에 가짜 이름을 쓰는 것 (타입스쿼팅) 이나 인간을 속여 키를 넘기게 하는 것 (사회공학적 공격) 을 막지는 못한다고 인정합니다. 이 시스템은 엄격히 "어떤 레지스트리가 실제로 이 파일을 배달했는가?"라는 문제를 해결합니다.
연구 분야의 논문에 파묻히고 계신가요?
연구 키워드에 맞는 최신 논문의 일일 다이제스트를 받아보세요 — 기술 요약 포함, 당신의 언어로.