목록과 스케줄러 관측은 같은 화면이 아닙니다
SPiCa 커밋 49d1185f의 README는 /proc와 sched_switch 등 서로 다른 관측을 비교하는 구조를 설명합니다. 스케줄러에서 보였는데 목록에서 보이지 않는 항목은 조사할 불일치입니다. 관측 시점·수명·범위가 다른 두 집합이 서로 다르다고 해서 곧바로 악성코드로 확정할 수는 없습니다.
이 글은 특정 버전의 문서를 바탕으로 설계를 설명합니다. 임의의 대상 커널에서 해당 관측이 정확하게 동작한다고 검증한 결과가 아닙니다.
NMI가 무엇을 확인하는지 버전별로 구분합니다
기존 원고가 설명한 과거 도식에서는 NMI가 실행 중인 TGID를 보고했지만, 이 README는 NMI의 역할을 tracepoint 무결성 확인으로 바꿨다고 밝힙니다. sched_switch 프로그램이 공유 .bss의 SCHED_HEARTBEAT를 갱신하고 NMI 측이 진행 여부를 비교합니다.
| 관측 | 문서가 구분하는 신호 | 다음 확인 |
|---|---|---|
| 프로세스 집합 불일치 | cross-view 차이 | 같은 시점·수명·범위인지 |
| NMI는 동작하나 sched heartbeat 정지 | TAMPER 경고 경로 | attach·관측 실패와 환경 조건 |
| 사용자 공간에 채널 이벤트가 도착하지 않음 | SILENT 경고 경로 | 채널·소비자·시간 기준의 상태 |
공유 값이 계속 늘어나면 프로그램이 실행됐다는 단서는 되지만, 모든 이벤트가 사용자 공간에 전달됐다는 증거는 아닙니다. NMI를 사용한다고 해서 모든 환경에서 계측할 수 있거나 공격에 전혀 영향을 받지 않는다고 볼 수는 없습니다.
난독화와 암호학적 보호를 구분합니다
고정 README는 반복 XOR을 읽기 누출에 대한 난독화로 한정하고 known-plaintext의 한계를 적습니다. 예측할 수 있는 입력과 출력에서 키의 단서를 얻을 수 있다면 암호학적으로 기밀성을 보장한다고 할 수 없습니다.
같은 문서의 PCR-bound TPM sealing은 Design phase, not yet implemented로 표시되어 있습니다. 설계 아이디어와 구현된 기능을 섞지 않습니다. 외부 문서에 보호 계층이 그려져 있다는 이유만으로 사용자의 시스템에서 활성화됐다고 가정하지도 않습니다.
도입 판단에는 별도의 실행 증거가 필요합니다
대상 커널·PMU·권한 조건에서 attach 성공, 실제 heartbeat와 이벤트 수신, 정상 상태의 경고, 채널 장애와 부하별 비용을 각각 확인해야 합니다. 이 목록은 검증 계획입니다. 이 글을 쓰면서 보안 도구를 설치·실행하거나 권한·보안 설정을 바꾸지는 않았습니다.
원고에 있던 632.9 ns·739.6 ns는 당시 자료에 보고된 값으로만 남기고, 시스템 전체 오버헤드로 쓰지 않습니다. 고정 README 자체도 운영 투입 전 코드의 보안·성능 검토를 권합니다. 원본 그림을 다시 확인하거나 실제 루트킷을 상대로 한 실험을 재현하지는 않았습니다.
English summary. Cross-view discrepancies and channel liveness are separate signals. The pinned README assigns NMI a shared-heartbeat check rather than process reporting, labels XOR as obfuscation and TPM sealing as unimplemented design. No detection or performance experiment was run.