Defense Against the Dark Arts of Game Piracy and Cheating
Transcript of Defense Against the Dark Arts of Game Piracy and Cheating
Windows is an open platform, unlike the Xbox The client cannot be trusted
DRM
DRM is a temporary hurdle
Mitigation: Raise the protection bar high enough to frustrate and discourage most attackers
Mitigation: Since the client is not trustworthy, don’t trust the client
Games for Windows – LIVE can assist in each stage
Release Control Copy Protection Anti-Cheat/Anti-Hack Online
Module Authentication,
Protected Buffers, Anti-Debug
Zero Day Piracy Protection Supports major DRM technologies Server-side Authentication
(SSA)
Achievements
DLC Multiplayer
Community
Features
Almost impossible for pirates to access LIVE: Needs an unused LIVE Access Code that the server will validate
Implemented with a single checkbox in the Games for Windows - LIVE SDK
Provide a superior experience to legitimate users while blocking off pirates from LIVE
Option 1
Connected to LIVEOffline
Full Single PlayerMultiplayer,
Achievements, DLC
Option 2
Connected to LIVEOffline Connect Once
Full Single PlayerMultiplayer,
Achievements, DLC
Option 3
Connected to LIVEOffline
Single Player, Multiplayer,
Achievements, DLC
Option 4
Connected to LIVEOffline
Full Single Player, Multiplayer,
Achievements, DLC
Level 1 Level 2
Level 3
Demo with first few levels
Take advantage of the flexibility and optimize for your game and community
More value in LIVE implementation -> Less value for Pirates -> More value from SSA
Choose your SSA model early Have a strong DLC plan
Family Games can be Non-SSA:
LIVE Access Code still tied to the game Not optimal for publisher-hosted GFWL
Dedicated Servers
SSA works great for Betas
Release Control Copy Protection Anti-Cheat/Anti-Hack Online
Module Authentication,
Protected Buffers, Anti-DebugZero Day Piracy Protection Supports major DRM technologiesServer-side Authentication
(SSA)
Anti-debug checks protect from hackers using debuggers
Secure network layer protects from man-in-the-middle attacks
Module Authentication verifies protected executable files
Dynamic verification ensures code in
memory is not modified
XliveProtected* APIs verify files at
load time
Obfuscate, store, verify data in memory
Hash data to avoid performance impact Use Copy in Regular Memory as Bait
Fix Buffer
Overflows
Verify File
Formats
Remove
Problematic
APIs
Ensure
High
Quality
Code
Design the game with security in mind
Move validation (data and logic) to servers
Deliberately ignore suspicious input patterns
Protect against common attacks and tools
Obfuscate Final Version of Code
100 -> 7389412
Obfuscate Data in Memory
Release Control Copy Protection Anti-Cheat/Anti-Hack Online
Module Authentication,
Protected Buffers, Anti-DebugZero Day Piracy Protection Supports major DRM technologiesServer-side Authentication
(SSA)
GFWL supports copy-protection solutions but does not require them
Can now inter-operate with SecuROM®
Can be applied directly on game executable
No launcher application required
Release Control Copy Protection Anti-Cheat/Anti-Hack Online
Module Authentication,
Protected Buffers, Anti-DebugZero Day Piracy Protection Supports major DRM technologiesServer-side Authentication
(SSA)
Prevents leaked games from being usable before release date
Dummy Game.exe
Encrypted Game.exe.zdpp
Strong AES 128-bit encryption Decryption keys stored on Microsoft
servers till release date
Launcher UI customizable to fit title’s look and feel
One time fast online verification required: Only decryption keys downloaded
Lightweight launcher attached: Removed completely on decryption
Community Feedback System Targeted Banning using LIVE Access Codes
•
•
•https://xds.xbox.com/GamesForWindowsLive
•http://www.microsoft.com/games/en-us/aboutgfw/pages/gfwpublish.aspx
•
www.microsoft.com