← 최신 논문
💻 computer science

Kops: Safely Extending the eBPF Compilation Pipeline with Native Operations

Kops는 사용자 공간 컴파일러와 커널 모듈이 새로운 네이티브 연산을 도입할 수 있도록 허용하여 eBPF 프로그램을 가속화하는 보안 확장 인터페이스로, 이는 바닐라 eBPF 증명 시퀀스를 통해 검증됨으로써 커널의 신뢰 컴퓨팅 기반을 확장하지 않고도 상당한 성능 이득을 달성합니다.

원저자: Yusheng Zheng, Zhengjie Ji, Weichen Tao, Hao Sun, Wei Zhang, Dan Williams, Andi Quinn

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

원저자: Yusheng Zheng, Zhengjie Ji, Weichen Tao, Hao Sun, Wei Zhang, Dan Williams, Andi Quinn

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

운영체제(컴퓨터의 "두뇌")가 매우 엄격한 보안 요원을 가지고 있다고 상상해 보세요. 이 요원은 **eBPF 검증기(Verifier)**라고 불리며, 커널 내부에서 실행되는 모든 작은 프로그램(예: 교통 경찰이나 보안 스캐너)을 실행하기 전에 꼼전하게 검사합니다. 이 요원은 매우 신중합니다. 오직 매우 단순하고 안전한 언어로 작성된 프로그램만을 허용합니다.

요원이 "좋아, 이건 안전해"라고 말하면, 번역기(JIT 컴파일러)는 이 단순한 언어를 컴퓨터의 고유 언어로 바꾸어 컴퓨터가 빠르게 실행할 수 있도록 만듭니다.

문제점: "한 번에 한 단어씩"만 말하는 번역기

이 논문은 현재의 번역기가 매우 단순하고 신뢰할 수 있도록 설계되었다고 설명합니다. 번역기는 안전한 프로그램을 한 번에 하나의 명령어씩, 단 한 번의 통과 과정으로 번역합니다. 앞을 내다보거나 영리하게 굴려고 하지 않습니다.

이것은 마치 관용구나 지름길을 사용하는 것이 금지된 번역가와 같습니다. 만약 당신이 "숫자를 회전시키라"고 말하고 싶다면, 안전한 언어에는 이를 위한 단일 단어가 없습니다. 그래서 번역가는 똑같은 일을 설명하기 위해 열 개의 서로 다른 단어를 사용하여 길고 투박한 문장을 써 내려가야 합니다.

  • 결과: 컴퓨터는 단 하나의 강력한 명령을 실행하는 대신, 길고 지저분한 문장을 읽고 실행해야 합니다. 이로 인해 eBPF 프로그램은 원래의 네이티브 언어로 직접 작성되었을 때보다 최대 두 배 더 느리게 실행됩니다.

해결책: Kops ( "마법 여권")

저자들은 Kops라고 불리는 시스템을 만들었습니다. Kops를 보안 요원의 규칙을 어기지 않으면서도 컴퓨터가 강력한 네이티브 지름길을 사용할 수 있게 해주는 특별한 "마법 여권" 시스템이라고 생각하면 됩니다.

작동 방식은 다음과 같은 간단한 비유를 사용합니다:

  1. 두 부분으로 된 여권: 모든 새로운 "지름길"(예: 하드웨어 회전 또는 조건부 선택)은 두 부분으로 구성됩니다:

    • 증명 (안전한 버전): 안전한 언어로 작성된 길고 지루하며 단계적인 설명입니다. 보안 요원은 이것이 안전한지 확인하기 위해 검사합니다.
    • 네이티브 방출 (마법 버전): 컴퓨터 하드웨어가 실제로 실행하는 단 하나의 강력한 명령어입니다.
  2. 과정:

    • 프로그램이 실행되기 전, "인식기(Recognizer)"(커널 외부의 스마트한 도구)가 패턴을 찾습니다. 만약 인식기가 알려진 지름길과 일치하는 길고 투박한 문장을 발견하면, 그것을 "마법 여권"으로 교체합니다.
    • 보안 요원은 여전히 긴 "증명" 버전만을 봅니다. 요원은 이를 검사하여 "안전함"을 확인하고 승인을 내립니다.
    • 그 후 번역기는 "마법 여권"을 보게 됩니다. 번역기는 긴 문장을 번역하는 대신, 그것을 단 하나의 강력한 네이티브 명령어로 단순히 교체합니다.
  3. 안전 보장: 보안 요원은 "마법" 버전을 절대 보지 못합니다. 요원은 오직 "증명"만을 신뢰합니다. 이 시스템에서 새로 신뢰해야 하는 유일한 것은 "증명"을 "마법" 명령어로 바꾸는 특정 코드뿐입니다. 저자들은 Lean 4라는 도구를 사용하여 "마법" 명령어가 긴 "증명" 문장과 정확히 동일한 일을 수행한다는 것을 수학적으로 증명했습니다.

무엇을 만들었는가? (EInsn)

Kops를 사용하여, 그들은 EInsn이라 불리는 7가지의 특정 지름길 세트를 구축했습니다. 이것들은 컴퓨터가 한 단계로 수행하는 데 매우 능숙한 작업들(예: 비트 회전 또는 두 값 중 하나를 선택하는 것)이지만, 안전한 언어에서는 보통 여러 단계에 걸쳐 수행하도록 강제되는 작업들입니다.

결과

  • 속ness: 이 지름길들을 사용함으로써, 그들은 일부 컴퓨터에서 eBPF 프로그램을 24% 더 빠르게, 다른 컴퓨터에서는 22% 더 빠르게 만들었습니다. 실제 응용 분야(네트워크 트래픽 관리 등)에서는 최대 12%의 속도 향상을 보였습니다.
  • 안전성: 보안 요원의 규칙을 변경하거나 번역기를 더 복잡하게 만들 필요가 없었습니다. "신뢰받는" 부분의 시스템은 아주 작고 안전하게 유지되었습니다.
  • 유연성: 만약 컴퓨터가 특정 지름길을 지원하지 않는다면, 시스템은 그냥 길고 안전한 버전으로 되돌아갑니다. 시스템이 고장 나는 일은 없습니다.

큰 그림

당신이 자동차(컴퓨터)를 운전하고 있다고 상상해 보세요. 현재 규칙은 속도계가 고장 나서 5마일 단위로만 읽을 수 있기 때문에 당신이 반드시 시속 20마일로 운전해야 한다고 말합니다. 도로가 뚫려 있더라도 더 빨리 달릴 수 없습니다.

Kops는 다음과 같은 특별한 면허증과 같습니다: "우리는 당신이 안전하게 운전하고 있다는 것을 알고 있으므로(증명), 특정하게 사전 승인된 도로에서만 자동차의 실제 속도계를 사용하여(네이티브 방출) 더 빨리 달릴 수 있도록 허용합니다."

그들은 이 새로운 운전 방식이 기존의 방식만큼 안전하면서도, 목적지에 훨씬 더 빨리 도착할 수 있다는 것을 증명했습니다.

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

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

Digest 사용해 보기 →