라이브 패칭 (Live Patching, Kpatch): 커널 정지 없는 무중단 보안

핵심 인사이트 (3줄 요약)

  1. 본질: 커널 라이브 패칭 (Kernel Live Patching)은 치명적인 보안 취약점(CVE)이 터졌을 때, 수백 대의 서버를 재부팅(Reboot)하여 서비스 중단(Downtime)을 겪는 대신 운영체제가 켜진 상태(런타임)에서 램(RAM)에 떠 있는 낡은 커널 함수 코드를 최신 코드로 실시간 교체해 버리는 무중단 외과수술 기법이다.
  2. 가치: 글로벌 클라우드 인프라, 금융망, 통신사 서버 등 "단 1분의 다운타임도 수십억의 손실"로 직결되는 Mission-Critical 환경에서, 해커의 공격을 방어하는 보안 패치를 서버 중단 0초 만에 완벽히 적용하여 '보안'과 '가용성(Availability)'이라는 두 마리 토끼를 동시에 잡았다.
  3. 융합: C 컴파일러(GCC)의 함수 포인터 우회 기술, 하드웨어 CPU 명령어(Jump) 덮어쓰기, 그리고 ftrace/kprobe 같은 커널 동적 트레이싱 엔진이 하나로 융합되어, 달리는 자동차의 엔진을 멈추지 않고 실린더를 교체하는 컴퓨터 공학 극강의 핫스왑(Hot-swap) 마법을 이뤄냈다.

Ⅰ. 개요 및 필요성 (Context & Necessity)

  • 개념:

    • 리눅스 커널의 보안 버그나 치명적인 오류가 발견되었을 때, 수정된 소스 코드로 컴파일된 '패치 모듈(*.ko)'을 메모리에 동적으로 밀어 넣는다.
    • 커널은 기존의 버그 난 함수로 진입하려는 CPU의 흐름을 낚아채어, 방금 새로 밀어 넣은 깨끗한 함수로 실행 흐름을 꺾어버린다(Redirection).
  • 필요성(문제의식):

    • 과거에는 커널 취약점(예: Dirty COW)이 뜨면 무조건 ① 새 커널 다운로드 ② 서버 종료 ③ 재부팅 의 과정을 거쳐야 했다.
    • 재부팅을 하려면 데이터베이스의 거대한 메모리 캐시가 날아가므로 밤 12시 롤아웃 작업을 위해 수많은 엔지니어가 야근해야 했고, 시스템 복구 시까지 10분 넘게 웹사이트가 마비되었다.
    • 하지만 해커들은 재부팅을 기다려주지 않는다. 취약점 발표 후 몇 시간 만에 무차별 공격을 퍼붓는다.
    • 해결책: "재부팅할 시간도 아깝다! 램(RAM)에 로드된 커널 기계어 코드 뭉치에서, 버그가 난 그 함수의 시작점에 '무조건 새 함수로 가라'는 점프(JMP) 명령어 한 줄만 몰래 덮어써 버리자!"
  • 💡 비유:

    • 전통적 커널 패치 (재부팅): 기차(서버)를 달리게 하는 엔진(커널 함수)에 결함이 생기면, 기차를 무조건 다음 역에 세우고(Downtime) 승객을 다 내리게 한 뒤 새 엔진으로 통째로 교체하고 다시 출발해야 한다.
    • 라이브 패칭: 기차가 시속 300km로 맹렬히 달리고 있는 도중에, 정비사(Kpatch)가 지붕에 매달려 엔진의 결함 난 부품을 쏙 빼고 새 부품을 번개처럼 끼워 넣는다. 승객(사용자)들은 기차가 수리된 줄도 모른 채 목적지에 도착한다.
  • 등장 배경:

    • 2008년 MIT 연구진의 Ksplice를 시작으로, Red Hat의 Kpatch와 SUSE의 kGraft가 경쟁하다 리눅스 커널 4.0(2015년)에서 이들의 장점만 모은 Livepatch라는 이름의 커널 통합 표준 뼈대가 완성되어 엔터프라이즈 리눅스(RHEL, Ubuntu Livepatch)의 킬러 서비스로 상용화되었다.
  ┌─────────────────────────────────────────────────────────────┐
  │                 라이브 패칭의 작동 원리 (Function Redirection)        │
  ├─────────────────────────────────────────────────────────────┤
  │                                                             │
  │  [ 1. 패치 전: 버그가 있는 기존 함수 실행 ]                        │
  │   메모리 주소 `0x1000`:                                         │
  │   `vuln_func()` (버그 난 커널 함수)                             │
  │   ├── 명령어 1 (push rbp)                                   │
  │   ├── 명령어 2 (버그 취약점 로직) 💥  ◀ 해커의 먹잇감               │
  │   └── 명령어 3 (ret)                                        │
  │                                                             │
  │  [ 2. 라이브 패치 모듈 (Kpatch) 메모리 적재 ]                     │
  │   메모리 주소 `0x5000`:                                         │
  │   `new_func()` (완벽하게 고쳐진 새 커널 함수)                    │
  │   ├── 명령어 1 (버그 픽스 완료 로직) 🛡️                          │
  │   └── 명령어 2 (ret)                                        │
  │                                                             │
  │  [ 3. 운명의 1바이트 덮어쓰기 (Hot-Patching) ]                     │
  │   관리자가 패치 적용 버튼을 누르는 찰나의 순간!                          │
  │   메모리 주소 `0x1000` (기존 버그 함수 시작점)의 첫 줄을 갈아엎음!         │
  │                                                             │
  │   `vuln_func()`:                                            │
  │   ├── [ jmp 0x5000 ] 🚀 ◀ "명령어 1"을 찢고 강제 점프문으로 덮어씀!  │
  │   ├── 명령어 2 (버그 로직 - 이제 영원히 도달할 수 없는 쓰레기가 됨)         │
  │                                                             │
  │  ▶ 결과: 어떤 프로그램이 기존 버그 함수를 호출해도, CPU는 시작하자마자       │
  │          강제로 `0x5000` (안전한 새 함수)으로 튕겨 나감. 무중단 보안 수술 성공!│
  └─────────────────────────────────────────────────────────────┘

[다이어그램 해설] 이것이 커널 라이브 패칭의 물리적 실체인 트램펄린(Trampoline) 라우팅 기술이다. 커널은 메모리에 얹혀진 거대한 기계어(Assembly) 덩어리다. Kpatch 데몬은 버그가 있는 옛날 함수의 주소(예: 0x1000)를 찾아내서, 첫 5바이트를 무식하게 jmp <새 함수 주소>라는 어셈블리 명령어로 덮어써(Overwrite) 버린다. 이후 CPU가 옛날 함수를 실행하러 들어오면 입구에서 곧바로 스프링보드(트램펄린)를 밟고 저 멀리 떨어진 깨끗한 새 함수로 튕겨 날아간다. 서버 전원을 끄지 않고 오직 CPU 레지스터 포인터 조작만으로 시간과 공간을 속이는 극한의 마법이다.

  • 📢 섹션 요약 비유: 도로에 싱크홀(버그)이 생겼을 때, 도로 공사를 한다고 톨게이트를 막아버리면(재부팅) 엄청난 교통 체증이 생깁니다. 라이브 패칭은 싱크홀 바로 1m 앞에 "우회도로(jmp)" 표지판과 임시 다리를 1초 만에 깔아버려 차들이 멈춤 없이 쌩쌩 달리게 만드는 기적의 응급 도로 복구술입니다.

Ⅱ. 아키텍처 및 핵심 원리 (Deep Dive)

덮어쓰기의 치명적 딜레마: 일관성 모델 (Consistency Model)

"아무 때나 덮어쓰면 안 될까?" 절대 안 된다. 이게 라이브 패칭의 가장 무서운 난제다.

  • 상황: 어떤 프로세스 A가 이미 옛날 함수(vuln_func) 안에 들어와서 2번째 줄을 실행 중이다.
  • 이때 커널이 옛날 함수 첫 줄에 점프문을 덮어써 버리고, 나중에 프로세스 B가 들어와서 새 함수(new_func)를 실행한다.
  • 파국: A는 옛날 로직으로 커널 데이터를 조작하고 있고, B는 새 로직으로 같은 데이터를 조작한다. 데이터 구조가 꼬여서 서버가 1초 만에 커널 패닉(Kernel Panic)으로 붕괴한다.

이를 막기 위해 Red Hat의 Kpatch와 SUSE의 kGraft는 서로 다른 사상으로 락(Lock)을 푼다.

패칭 철학일관성(Consistency) 확보 메커니즘장점 및 단점
Kpatch (Stop-the-world)무식하지만 완벽함. 모든 CPU 코어의 인터럽트를 끄고(Stop), 싹 다 검사해서 "옛날 함수 안에서 놀고 있는 놈이 1명도 없다!"는 것이 100% 증명되는 그 1밀리초의 찰나에만 점프문을 덮어쓴다.장점: 논리적으로 가장 안전함.
단점: 시스템이 아주 찰나(ms) 멈칫함. 만약 누가 함수 안에서 자고(Sleep) 있으면 패치가 계속 지연됨.
kGraft (Lazy Migration)유연하고 부드러움. 시스템을 안 멈추고, 프로세스별로 꼬리표(Flag)를 단다. "너는 옛날 함수로, 너는 새 함수로 가라"며 프로세스들이 스스로 최신 상태로 적응(Migrate)할 때까지 두 개의 우주를 병행 유지한다.장점: 멈춤 현상(Latency) 0초.
단점: 데이터 구조를 완전히 바꾸는 복잡한 패치에는 적용하기 극도로 힘듦.

※ 현대 리눅스의 표준 Livepatch는 Kpatch의 하드코어 방식과 kGraft의 부드러움을 적절히 섞은 Consistency Model을 커널 4.12에 공식 통합하였다.

ftrace 훅을 활용한 하부 아키텍처

라이브 패칭은 맨땅에서 태어난 게 아니라 커널 디버깅 및 트레이싱 도구인 ftrace 인프라에 기생하여 완성되었다. gcc 컴파일러는 커널을 빌드할 때 모든 함수의 시작 부분에 몰래 5바이트짜리 NOP(아무것도 안 함) 여백을 만들어둔다(-pg 옵션). 라이브 패칭은 바로 이 예쁘게 비워진 5바이트 빈칸 공간에 점프(JMP) 명령어를 쏙 끼워 넣는 것이기 때문에 주변 기계어 코드를 훼손하지 않고 완벽하게 이식할 수 있다.

  • 📢 섹션 요약 비유: 옛날 버그가 있는 화장실(구형 함수)을 폐쇄하고 새 화장실(신형 함수)을 열 때, "누가 안에 똥을 싸고 있는데 무식하게 화장실 문을 벽돌로 막아버리면(강제 점프) 그 사람은 갇혀 죽습니다(커널 패닉). 그래서 Kpatch 아저씨는 "안에 사람 다 나갈 때까지 문 앞에서 기다렸다가" 아무도 없을 때 0.1초 만에 문에 '폐쇄/옆 화장실 이용' 팻말을 붙이는 가장 안전한 배관공입니다.

Ⅲ. 융합 비교 및 다각도 분석

라이브 패칭이 "할 수 있는 것" vs "절대 못 하는 것"

아키텍트라면 벤더의 환상적인 마케팅(서버 재부팅 영원히 안 해도 됩니다!)에 속지 말아야 한다.

구분완벽히 가능한 영역 (Live Patching 🟢)불가능하거나 위험한 영역 (Reboot 필수 🔴)
수정 대상로직 버그 수정, if문 누락 추가, 버퍼 오버플로우 길게 막기 (보안 CVE 방어)자료구조(Struct) 뼈대가 통째로 바뀌는 경우 (변수가 추가되거나 타입이 바뀔 때)
패치 볼륨함수 1~2개 단위의 핀포인트 보안 핫픽스 (수 KB)커널 마이너/메이저 버전 업데이트 통교체 (수백 MB의 대격변)
실무 의미"재부팅을 수개월 늦춰주는(연기) 응급 지혈제""재부팅을 영원히 안 해도 되는 불로장생 약이 아님"

과목 융합 관점

  • 운영체제 메모리 공간 (커널 메모리 파편화): Kpatch로 패치를 1번, 2번, 10번 연속해서 바르면 커널의 RAM 공간에 옛날 함수 찌꺼기들과 점프문(트램펄린)들이 거미줄처럼 뒤엉키게 된다(Spaghetti Code). 점프를 두세 번씩 타다 보면 L1 캐시 효율이 떨어져 OS 성능이 미세하게 깎인다. 따라서 라이브 패칭은 영구적인 해결책이 아니며, 응급 지혈을 해놓고 나중에 정기 PM(유지보수) 날짜에 서버를 싹 내리고 한방에 진짜 패치된 커널로 재부팅하여 엉킨 메모리 공간을 청소해야 한다.

  • 가상화 및 클라우드 (IaaS 보안): 수만 명의 고객이 입주한 AWS EC2나 구글 클라우드의 밑바탕을 지탱하는 하이퍼바이저(KVM, Xen) 호스트 머신에 치명적 탈출 버그(VM Escape)가 터졌을 때, AWS가 10만 대의 호스트를 재부팅하면 고객들 난리가 난다. 글로벌 클라우드 기업들은 이 Kpatch 기술을 써서, 고객의 가상 머신(VM)은 단 1초도 안 끄고 백그라운드 호스트 하이퍼바이저의 구멍만 몰래 용접해버리는(Live patching) 기적의 무중단 보안 인프라를 운영하고 있다.

  • 📢 섹션 요약 비유: 라이브 패치는 전쟁터에서 총에 맞았을 때 피가 멎게 붙이는 '지혈대(응급 패치)'이지 '새로운 몸'이 아닙니다. 지혈대 덕분에 살아서 당장 총은 계속 쏠 수 있지만, 결국 나중에 전쟁이 소강상태(정기점검)가 되면 야전 병원으로 가서 꿰매고(재부팅) 수술을 받아야만 흉터 없이 완치됩니다.


Ⅳ. 실무 적용 및 기술사적 판단

실무 시나리오 및 트러블슈팅

  1. 시나리오 — 대형 은행망의 Zero-day 취약점 출현 (Dirty Pipe 사태): 리눅스 커널에서 일반 유저가 루트 권한을 탈취할 수 있는 역대급 버그(Dirty Pipe, CVE-2022-0847)가 터졌다. 은행의 인터넷 뱅킹 메인 서버 100대가 위험하다. 재부팅 승인을 받으려면 금감원과 경영진 결재에 3일이 걸린다. 3일이면 이미 해커가 다 털어먹을 시간이다.

    • 아키텍트 판단 (Canonical Livepatch / RHEL Kpatch 도입): 인프라 아키텍트는 이미 서버에 kpatch 서비스를 구독 연동해 두었다. 명령줄에 kpatch apply dirty-pipe-fix.ko 한 줄만 치면 0.5초 만에 커널 램의 파일 시스템 파이프(pipe) 함수에 점프문이 덮어씌워진다. 결재 서류를 올릴 필요도 없이 트래픽 단절 0초 만에 완벽한 면역력을 확보한다. 아키텍트는 3일 뒤 주말 새벽에 여유롭게 공식 재부팅(Permanent fix) 일정을 잡는다. 경영진의 심장을 보호하는 마법이다.
  2. 시나리오 — 패치 적용 실패 현상 (Task Blocked 에러): Kpatch를 이용해 라이브 패치를 쐈는데, "Patching failed: tasks stalling" 에러가 뜨면서 패치가 5분째 메모리에 적재되지 않고 빙빙 맴돌고 있다.

    • 원인 분석: Kpatch의 깐깐한 일관성 검사 때문이다. 아까 비유했듯 "누군가 낡은 화장실(버그 함수)에 똥을 싸고 있으면 문을 잠글 수 없다." 하필 어떤 무거운 프로세스 하나가 디스크 I/O를 기다리느라(Sleep) 그 낡은 커널 함수 한가운데서 깊은 잠(D-State)에 빠져버린 것이다. 이놈이 깨어나서 함수 밖으로 완전히 탈출할 때까지 Kpatch는 무한 대기하며 덮어쓰기를 멈춘 상태다.
    • 아키텍트 판단 (수동 개입): 라이브 패치가 마법의 요술봉은 아니다. 아키텍트는 dmesg/sys/kernel/livepatch/ 로그를 뒤져서 대체 어떤 불효자 프로세스(PID)가 그 함수 안에서 자고 있는지 색출해야 한다. 그 프로세스가 쓸데없는 로그 수집기라면 과감히 kill 해서 쫓아내고 커널의 진입 공간을 비워주어야 대기하던 라이브 패치가 "찰칵" 하고 메모리에 물리적으로 덮어씌워 진다.
  ┌───────────────────────────────────────────────────────────────────┐
  │                 무중단 커널 보안 아키텍처 설계를 위한 결정 트리             │
  ├───────────────────────────────────────────────────────────────────┤
  │                                                                   │
  │   [ 중대한 커널 보안 취약점(CVE)이 발표되었다! 방어 스탠스는? ]               │
  │                │                                                  │
  │                ▼                                                  │
  │      서버를 5분 껐다 켜도 비즈니스 매출이나 평판에 아무 타격이 없는가?          │
  │          ├─ 예 ─────▶ [ 고전적 재부팅 (Reboot) 패치 수행 ]             │
  │          │             (가장 깔끔하고 메모리 찌꺼기도 안 남는 최고의 방법)       │
  │          └─ 아니오 (초당 수천만 원이 결제되는 미션 크리티컬 서버다!)          │
  │                │                                                  │
  │                ▼                                                  │
  │      발견된 버그가 커널의 핵심 자료구조(Struct) 형태 자체를 바꾸는 거대한 버그인가?│
  │          ├─ 예 ─────▶ 🚨 [ 라이브 패치 불가! 로드밸런서 교체 전략(Blue/Green) ]│
  │          │             (L4 스위치에서 트래픽을 예비 서버로 돌리고 강제 재부팅) │
  │          │                                                        │
  │          └─ 아니오 ──▶ 🟢 [ Live Patching (Kpatch / kGraft) 투입! ]│
  │                        (서버 멈춤 없이 램(RAM) 함수 포인터 덮어쓰기로 즉시 핫픽스)│
  └───────────────────────────────────────────────────────────────────┘

[다이어그램 해설] 라이브 패칭은 결코 공짜가 아니다(상용 리눅스 벤더의 비싼 유료 구독 모델인 경우가 많다). 무작정 모든 서버에 라이브 패칭을 도입하는 것은 오버엔지니어링이다. 무중단 롤링 배포(K8s)나 로드밸런서 스위칭이 완벽하게 되어 있는 웹 프론트엔드 환경이라면 그냥 서버를 죽였다가 새 버전으로 켜는 것(Immutable Infrastructure)이 100배 깔끔하다. 라이브 패칭이 절실한 곳은 끄는 순간 몇 시간 동안 메모리 캐시를 다시 데워야 하는 거대한 인메모리 DB(SAP HANA, Redis) 물리 서버나, 가상머신을 수백 개 품고 있는 뚱뚱한 하이퍼바이저 호스트 머신(Node)뿐이다.

안티패턴

  • 수년 동안 재부팅 안 한 것을 훈장처럼 자랑하기: 관리자 화면에 uptime: 1200 days 라고 찍힌 걸 보고 "우리 서버는 안 뻗고 3년 동안 돌았다"고 자랑하는 쌍팔년도 서버 관리자의 전형적 허세. 라이브 패치로 3년간 땜질만 덕지덕지 해놨다면 그 커널 메모리는 누더기가 되어 L1 캐시 미스 지옥에 빠져있을 확률이 높다. 모던 인프라의 미덕은 "서버(OS)가 안 죽는 것"이 아니라, "서버를 매일 죽여도 서비스(앱)가 안 죽게 설계된 분산 아키텍처"다. 분기에 한 번은 깨끗하게 껐다 켜라(Reboot).

  • 📢 섹션 요약 비유: 상처가 날 때마다 꿰매지도 않고 계속 반창고(라이브 패치)만 덧붙여서 1년 버텼다고 자랑하는 건 미련한 짓입니다. 당장 피(해킹)를 멎게 하려고 반창고를 썼으면, 주말에 시간 날 때 병원에 가서 반창고 싹 떼고 흉터 없이 깨끗하게 꿰매고 치료(재부팅)해야 염증(메모리 파편화) 없이 진짜 건강을 되찾습니다.


Ⅴ. 기대효과 및 결론

정량/정성 기대효과

구분고전적 보안 패치 (재부팅 필수)라이브 패칭 (Kpatch) 적용개선 효과
정량 (Downtime)장비당 5~10분의 시스템 정지 발생0초 (무중단)99.999%(Five 9s) 이상의 서버 극한 가용성 확보
정량 (보안 패치 속도)심야 점검일까지 수일~수주간 위험 방치취약점 확인 즉시 1분 내 서버 전체 배포제로데이 공격 노출 시간(Window of Vulnerability) 원천 차단
정성 (운영자 피로도)새벽 2시 주말 롤아웃 작업으로 피로 누적평일 낮 업무 시간에 우아하게 커피 마시며 적용인프라 운영팀의 워라밸 및 치명적 휴먼 에러(실수) 방지

미래 전망

  • eBPF 기반 자체 보안 핫픽스 (런타임 제압): 제조사(RedHat)가 Kpatch 모듈을 만들어줄 때까지 기다리는 것도 답답해졌다. 이제는 넷플릭스 같은 1티어 인프라 팀들은 치명적 CVE 버그가 뜨면, 취약한 커널 함수 앞단에 직접 eBPF 코드를 걸어서(XDP나 kprobe) "해커의 패턴이 들어오면 함수를 실행시키지 말고 그 즉시 에러(Error)를 뱉고 튕겨내라"는 자체 런타임 쉴드(Runtime Shield)를 1시간 만에 코딩해 씌워버린다. 커널 벤더에 의존하지 않는 DIY 커널 핫픽스의 시대가 열렸다.
  • QEMU/KVM 라이브 마이그레이션 융합: 클라우드 시대의 궁극적 무중단 패치 기법이다. 호스트 커널을 패치하기 위해 굳이 Kpatch 트램펄린 꼼수를 안 쓰고, 그냥 A 서버에 얹혀있는 고객의 가상 머신(VM) 상태를 통째로 얼려서 B 서버로 0.1초 만에 텔레포트(Live Migration) 시켜버린다. 고객의 짐을 다 빼서 빈 깡통이 된 A 서버를 편안하게 재부팅시키고 최신 커널로 올리는, 인프라 레벨의 물리적 교차 핫스왑이 대세로 자리 잡았다.

참고 표준

  • Linux Kernel Livepatch Subsystem: 커널 4.0부터 통합된 프레임워크로, ftrace를 이용한 명령어 덮어쓰기 및 일관성(Consistency) 상태 머신을 제공하는 리눅스 공식 백본 규격.
  • kallsyms (Kernel All Symbols): 패치를 위해 덮어쓸 "구형 함수의 정확한 메모리 16진수 주소"를 런타임에 동적으로 찾아낼 수 있게 해주는 커널 심볼 매핑 표준 인프라.

라이브 패칭 (Kpatch)은 운영체제가 마치 생명체처럼 "스스로의 살(메모리)을 찢고 새로운 DNA(코드)를 이식하는" 경이로운 진화의 산물이다. 소프트웨어 공학의 절대 룰이었던 "코드를 고치려면 프로그램을 다시 켜라"는 상식을 하드웨어 점프문(JMP)과 깐깐한 일관성(Consistency) 철학으로 부숴버렸다. 비록 한 땀 한 땀 어셈블리어를 엮어내는 지독한 꼼수의 산물이지만, 단 1초도 멈출 수 없는 현대 클라우드와 자본주의의 심장을 든든하게 지켜내는 가장 현실적이고 우아한 방패임에는 틀림없다.

  • 📢 섹션 요약 비유: 심장(커널) 수술을 하기 위해 환자를 죽였다가 다시 살려내는 고전적 의학(재부팅)에서 벗어나, 환자가 눈을 뜨고 밥을 먹는 일상생활(무중단)을 하는 도중에 0.1초의 마취도 없이 마이크로 로봇(Kpatch)을 투입해 혈관(함수 흐름)을 싹 뜯어고치는 미래 공상과학 메디컬의 실사판입니다.

📌 관련 개념 맵 (Knowledge Graph)

개념 명칭관계 및 시너지 설명
ftrace / kprobe원래 디버깅 용도로 함수의 입구에 쳐놓은 낚싯바늘(5바이트 빈칸)이었는데, Kpatch가 이 바늘을 훔쳐 써서 덮어쓰기를 꽂아 넣는 완벽한 숙주다.
가상 메모리 (Virtual Memory)라이브 패칭이 "물리적 램" 주소가 아닌 함수 단위의 "가상 주소"로 점프를 뛸 수 있게 해주는 논리적 추상화 도화지다.
문맥 교환 (Context Switch)Kpatch(Stop-the-world 방식)가 패치를 바를 때, 다른 프로세스가 그 함수에 없는지 확인하기 위해 아주 짧게 스케줄링을 강제 멈추는 부작용과 연관된다.
eBPF (Extended BPF)커널을 수정(Kpatch)하는 대신, 커널 함수의 흐름을 모니터링하고 가로막아(eBPF) 보안을 달성하는 라이브 패칭의 최신 라이벌이자 보완재다.
블루스크린 (Kernel Panic)라이브 패칭 도중 일관성 검사(누가 함수를 쓰고 있는지)가 실패해서 메모리가 꼬였을 때 OS가 맞이하는 가장 끔찍한 결말이다.

👶 어린이를 위한 3줄 비유 설명

  1. 달리는 기차(서버)의 엔진에 나사 하나가 풀렸어요! 옛날에는 기차를 무조건 다음 역에 멈추고 승객을 다 내리게 한 뒤 엔진을 통째로 바꿨어요(서버 재부팅).
  2. 하지만 '라이브 패치'라는 슈퍼맨 정비사가 나타났어요! 기차가 시속 300km로 맹렬히 달리고 있는데, 지붕에 매달려서 풀린 나사만 쏙 빼고 새 나사를 번개처럼 갈아 끼웠어요.
  3. 승객들은 기차가 멈춘 줄도, 고장 났던 줄도 전혀 모른 채 편안하게 목적지까지 갈 수 있었답니다. 컴퓨터 세상에서 가장 멋진 마술이에요!