Transparent system integrity framework that proves to remote servers (e.g., game servers) that a Linux system is untampered.
I am incredibly absorbed in creating this project and I hope that one day it will become the standard in the Linux gaming industry. Stallman said that maybe it is TiVoization, but any solution seems better to me than none at all. In the end I really *don't care** about the politics around, just on the technology behind it. You want it? You have it (when it will be ready), you don't want it? Fine, then no gaming or some sort. It's just an option, not a required way to run a fully blown distro. Linux will always be fully open-source, so if you don't want to give up the tinkering with the kernel - just have 2 of those and pick it up through GRUB or your desired bootloader. It's that simple.
The project is in active development toward its first functional release. If it succeeds, it could enable anti-cheat solutions on Linux, unlocking a broader gaming ecosystem on the platform.
Anti-cheat vendors have historically declined to support Linux because they cannot establish the same trust guarantees available on locked-down platforms. LOTA provides the missing cryptographic trust chain to address this gap.
LOTA establishes a cryptographic chain of trust from hardware (TPM 2.0) through the kernel (eBPF/LSM) to a user-space agent, and finally to a remote verifier.
TPM 2.0 (Hardware: PCRs) -> eBPF LSM Kernel (Binary Monitoring) -> LOTA Agent User-Space (Attestation Report) -> Remote Verifier (Validation)
- Hardware Root of Trust: TPM 2.0 PCR measurements for Measured Boot
- IOMMU Verification: Ensures VT-d/AMD-Vi is enabled (DMA attack protection)
- Binary Execution Monitoring: eBPF LSM hooks track all program executions
- Challenge-Response Protocol: Nonce-based attestation prevents replay attacks
- CO-RE Support: BPF program works across different kernel versions
- TPM 2.0 chip
- Intel VT-d or AMD-Vi IOMMU
- Linux 5.7+ with:
CONFIG_BPF_LSM=yCONFIG_DEBUG_INFO_BTF=y- LSM includes
bpf(check/sys/kernel/security/lsm)
| Attack Vector | Protection |
|---|---|
| AIK not in a genuine TPM | Credential activation via the Privacy CA |
| Hardware identity spoofing | Identity is the CA-issued device pseudonym |
| Binary / library tampering | eBPF LSM gates on exec / mmap / mprotect |
| Kernel rootkits | Measured Boot (PCR 0/1/7) + PCR14 self-measure |
| DMA attacks | IOMMU verification |
| Replay attacks | One-time nonce bound into the TPM quote |
The AIK that signs attestation quotes is proven to live in a genuine,
manufacturer-certified TPM through TPM 2.0 credential activation performed
by the self-hosted attestation CA (lota-attest-ca); verifiers trust the
CA-issued AIK certificate and never see the Endorsement Key. Each host
enrolls once with lota-agent --enroll; see
examples/enrollment/.
A scripted, single-host walk-through of the full attestation chain
lives under examples/demo/: an isolated
swtpm sandbox, the LOTA agent, a Go reference verifier/server, a
C heartbeat producer, and an SDL2 client.
sudo -E examples/demo/setup.shThe runner pauses between phases so the operator can narrate each
step. A companion script,
examples/demo/demo_tamper.sh,
arms an out-of-band tamper marker that flips the next heartbeat
from TRUSTED to UNTRUSTED without touching the agent or the
swtpm sandbox; the SDL2 client mirrors the verdict in its banner
and freezes after two consecutive UNTRUSTED ticks.
See examples/demo/README.md for the
five-step operator walk-through, dependency list,
setup.sh / demo_tamper.sh flag references, and the
asciinema-capture invocation used for the recorded session.
development.
I don't even want to give up the setting up this project in the README right now (of course it can be done, I documented it inside the code), but it instantly reducing the number of people trying to get this to work on right now.
Update: This will eventually become my BEng Thesis Project. I have so little time to grow this project up right now. I did not forget about it.