Skip to content

Finding and Exploiting Bugs in Multiplayer Game Engines (Q&A)

Jack Baker

Jack Baker answers audience questions on auditing multiplayer game protocols in Unreal and Unity, reverse engineering netcode, and fuzzing.

Summary

Security researcher Jack Baker fields technical questions in this DEF CON Safe Mode Q&A session about bug hunting, reverse engineering, and exploit development in commercial multiplayer game engines, focusing on Epic Games' Unreal Engine and Unity [00:05]. Baker explains that modern commercial game engines are massive monolithic software suites that present a uniquely challenging attack surface because client-server game synchronization protocols prioritize low latency over security checks [04:56].

Baker contrasts the security architectures of Unreal Engine and Unity, highlighting how Unreal's authoritative server architecture provides native structures to validate player movement, inventory, and physics state [10:01]. However, when developers fail to enforce strict server-side validation on Remote Procedure Calls (RPCs), vulnerabilities like memory corruption, deserialization bugs, and client-side trust assumptions emerge [25:09]. He describes his methodology for analyzing Unreal's source code on Linux, creating custom debug instrumentation, and tracing network serialization code to spot logic flaws and buffer overflows [15:09].

The session also addresses ethical disclosure and bug bounties within the gaming industry. Baker shares his experiences working with game publishers, discussing how bounty reward structures and non-disclosure agreements affect vulnerability research [20:10]. He provides recommendations for developers looking to harden networked multiplayer games, stressing rigid RPC argument validation, state sanitization, and deterministic server-side physics simulation.

(AI summary — Gemini Flash)

Related talks