SlideShare a Scribd company logo
Security                                          eBooks



   Fight Cheating
                                        The Easy
                                          Way




                               Steven Davis



                                         steve@free2secure.com
Games, iGaming, and Gambling                   +1.650.278.7416
Security                                                           eBooks

                           Control
    CARRDS                                    • The building blocks that
    Reference                                   comprise a game
                                                       – Control
     Model                                             – Action
                                     Action
                                                       – (Random) – I.e.,
                       Random                            the creation of
                                                         random events in
                                     Rules               the game
                                                       – Rules
                                                       – Display Elements
                                                       – State
                                     State
             Display



                                                          steve@free2secure.com
Games, iGaming, and Gambling                                    +1.650.278.7416
Security                                                                            eBooks


   Standard Multi-player Strategy -
    Distributed Object Networking                                                    Control




                                                                           s ta te
                                                                           emote
                                                 Action                                 Action

• State-based networking occurs




                                                                     ew” r
  “below” the game level, and                  Game Engine                           Game Engine

  therefore is vulnerable to raw




                                                                       n
  spoofing




                                                                erify “
   – Two models:                                 State                                  State
      ∆ (State)/∆Time          State(time+1)




                                                              y to v
   – Tools for re-synchronization become
     tools for attack




                                                             No wa
      State(time+x) is newer, so replaces
        State(time)


                                                             steve@free2secure.com
Games, iGaming, and Gambling                                       +1.650.278.7416
Security                                                                  eBooks
            •   Transaction-based
                Networking occurs at or
                above the game engine                     Distributed
                level
            •   Initialization is to a known              Transaction
                or agreed to state based
                on the rules of the Game                  Networking
            •   Network Model:
                (Action,time) or (Old
                State, Action, time)              •   If the Game Engine Verifies
                                                      Actions, invalid action & state
                                                      injection cheating is stopped
            Action                     Action           – If (Action, Time) given
Control                                                    (Local Old State) is OK, then
                                                         proceed
          Game Engine               Game Engine
                                                       – Transactions have to make
                                                         logical sense given the
                                                         previous state
            State                      State      •   Timing attacks can be reduced
                                                      much more easily (and
                                                      stopped with SecurePlay)

                                                                steve@free2secure.com
Games, iGaming, and Gambling                                          +1.650.278.7416
Security                                                                  eBooks

              Distributed Object Systems vs.
     Distributed Transactions Systems – Summary 1

   • Most networked games use a distributed object based design
      – Easy to program
      – Multi-player can be added as an “afterthought”
      – Numerous standard tools
      – Network design does not need to understand the game design

      – Problems
         • Makes attacks easy
         • Synchronization is inherently trusting because it occurs below the level
           of the game
         • Lack of understanding of game means it is impossible to validated
           remote updates
         • Can be limiting:
           Even simple games like poker will not work with a distributed object
           model

                                                               steve@free2secure.com
Games, iGaming, and Gambling                                         +1.650.278.7416
Security                                                                           eBooks
              Distributed Object Systems vs.
     Distributed Transactions Systems – Summary 2
   • Distributed Transaction Systems naturally reflect games
       – Games are rule-based transaction systems that migrate from state
         to state based on player actions and random events
       – Does require game developers to think about game rules (at least a bit)
             • Change from game objects focus to game object action focus – nouns to
               verbs. Also more naturally supports control of information sharing
       – Rules & Action Validation becomes possible
             • Validating state differences is hard. Validating actions tends to be much
               easier
       – Time hacks are also more naturally stopped
             • Re-synchronization is based on rolling back to a known state or updating
               from a known state. Multiple updates/actions are clearly detectable – and
               should be verifiable.
   • Transaction base synchronization is as Bandwidth Efficient as state-
     based synchronization
       – Players actions are inherently narrow-band
       – If local or AI activities are automatic, then this is WORST CASE the
         same as Distributed Object approaches (RTS games with many units)

                                                                      steve@free2secure.com
Games, iGaming, and Gambling                                                +1.650.278.7416
Security                                                                eBooks

               Safer Networking with Server
                 Control                                                  Control

                                      or
                           Action                      or        Action
             Client                                                             Client
                           Partial                              Partial
                            State                                State

              Display
                                                                             Display

                                      Random
   • Push Actions
     to Server
                                               Rules
   • Let Server or
     Other Players
     Validate
                                     Server
                                               State

                                                            steve@free2secure.com
Games, iGaming, and Gambling                                      +1.650.278.7416
Security                                                                               eBooks

                                     Proxy Security
   Some online games dangerously include a SQL client and talk directly to the game server




                                                           Rules Validation
                                         Data Validation
                        Validation
                        Message


    Incoming
    Message                                                                      Database




   • Protecting Database from SQL injection / direct queries
   • Allows Rules Validation on Server or reallocation to other
     players

                                                                              steve@free2secure.com
Games, iGaming, and Gambling                                                        +1.650.278.7416
Security                                                                                     eBooks
  •   How “out of synch” should players
      be allowed to get?
       –   Delays -There is effectively an
           underlying notion of time “ticks” where
                                                             The Trouble with
       –
           the game must stop
           Interaction – There is an important
           game play notion of how players are able
                                                                  Time
           to interact with each other (action/re-
           action) in terms of information available.   •
           For a network game this sets a notion of         Lifecycle of a Network Player
           “minimum duration”.                              Action
       –   Interference – The interaction of                 –   Decision – the instant at which the
           different player actions need to have                 action enters the game play engine
           reasonable and understandable                     –   Commitment – the instant before
           consequences based on each player’s                   which the action will be automatically
           notion of state and action.                           aborted/changed to address new
       –   Prediction & Confusion – The                          incoming information that was not
           interaction of the player presentation and            available
           the actual game state can become                  –   Success – the instant after which the
           complicated by poor predictions by the                action has some probability of
           game presentation engine and the actual               resolving successfully.
           actions of the remote player. This is a           –   Resolution – the instant when the
           problem for presentation & control                    action triggers consequences in the
  •   How long does something take?                              game
       –   Click-driven play fails for network games             play engine.
           – when computers must share or                    –   Conclusion – the instant after which
           coordinate state, simple physical                     the player is allowed to choose a
           interaction as a basis for temporal                   next action
           control breaks down


                                                                               steve@free2secure.com
Games, iGaming, and Gambling                                                         +1.650.278.7416
Security                                                                  eBooks

       Platform and Architectural Security Issues

•   Increasing complexity often leads to architectural compromises… often
    unintentional
     – Move from traditional games to more complicated games may undermine
       server-based model
         • Frequent examples in MMOs and casual games
•   Server-based model is not the only security approach
     – Server-based design does not necessarily address player trust issues
         • Why should players trust the server?
         • How can the operator trust the developer?
         • How can the regulator trust anyone?
     – Server-based design does not solve all threats
•   Distributed and Peer-based Designs have potential benefits

•   Developers are often the biggest “cheaters”
     – Implicit design decisions can have substantial, and surprising, security impacts


                                                                 steve@free2secure.com
Games, iGaming, and Gambling                                           +1.650.278.7416
Security                                                             eBooks




   What next?
   • Don’t give up!

   • More security presentations at:
     http://free2secure.com/

   • Check out my book “Protecting Games”
       – Additional information at http://playnoevil.com/


   • You can “win” the security game
                                                            steve@free2secure.com
Games, iGaming, and Gambling                                      +1.650.278.7416
Security                                                                  eBooks

      About Me
  •   Steven Davis
       – 25+ Years of Security Expertise
       – I have worked on everything from
         online games and satellite TV to
         Nuclear Command and Control and
         military communications
           • http://www.linkedin.com/in/playnoevil
       – Author, “Protecting Games”

  •   Why Free2Secure?
       – Security is too expensive and isn’t working. There has to be a better way.
         I’m exploring these issues for IT security, ebooks, games, and whatever
         else strikes my fancy at http://free2secure.com/
       – Join me there, ask questions, challenge assumptions, let’s make things
         better

                                                               steve@free2secure.com
Games, iGaming, and Gambling                                         +1.650.278.7416

More Related Content

Recently uploaded

Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
abdulrafaychaudhry
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
Globus
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
Drona Infotech
 
Game Development with Unity3D (Game Development lecture 3)
Game Development  with Unity3D (Game Development lecture 3)Game Development  with Unity3D (Game Development lecture 3)
Game Development with Unity3D (Game Development lecture 3)
abdulrafaychaudhry
 
Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
Deuglo Infosystem Pvt Ltd
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Crescat
 
AI Genie Review: World’s First Open AI WordPress Website Creator
AI Genie Review: World’s First Open AI WordPress Website CreatorAI Genie Review: World’s First Open AI WordPress Website Creator
AI Genie Review: World’s First Open AI WordPress Website Creator
Google
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus
 
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Globus
 
Pro Unity Game Development with C-sharp Book
Pro Unity Game Development with C-sharp BookPro Unity Game Development with C-sharp Book
Pro Unity Game Development with C-sharp Book
abdulrafaychaudhry
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
Aftab Hussain
 
Enterprise Software Development with No Code Solutions.pptx
Enterprise Software Development with No Code Solutions.pptxEnterprise Software Development with No Code Solutions.pptx
Enterprise Software Development with No Code Solutions.pptx
QuickwayInfoSystems3
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Łukasz Chruściel
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
Łukasz Chruściel
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
Globus
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
Aftab Hussain
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Globus
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
Globus
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
timtebeek1
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Mind IT Systems
 

Recently uploaded (20)

Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
 
Game Development with Unity3D (Game Development lecture 3)
Game Development  with Unity3D (Game Development lecture 3)Game Development  with Unity3D (Game Development lecture 3)
Game Development with Unity3D (Game Development lecture 3)
 
Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
 
AI Genie Review: World’s First Open AI WordPress Website Creator
AI Genie Review: World’s First Open AI WordPress Website CreatorAI Genie Review: World’s First Open AI WordPress Website Creator
AI Genie Review: World’s First Open AI WordPress Website Creator
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
 
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
 
Pro Unity Game Development with C-sharp Book
Pro Unity Game Development with C-sharp BookPro Unity Game Development with C-sharp Book
Pro Unity Game Development with C-sharp Book
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
 
Enterprise Software Development with No Code Solutions.pptx
Enterprise Software Development with No Code Solutions.pptxEnterprise Software Development with No Code Solutions.pptx
Enterprise Software Development with No Code Solutions.pptx
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
 

Featured

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
Marius Sescu
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
Expeed Software
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
Pixeldarts
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
ThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
marketingartwork
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
Skeleton Technologies
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
SpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Lily Ray
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
Rajiv Jayarajah, MAppComm, ACC
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
Christy Abraham Joy
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
Vit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
MindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
RachelPearson36
 

Featured (20)

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 

Fight Game Cheating the Easy Way

  • 1. Security eBooks Fight Cheating The Easy Way Steven Davis steve@free2secure.com Games, iGaming, and Gambling +1.650.278.7416
  • 2. Security eBooks Control CARRDS • The building blocks that Reference comprise a game – Control Model – Action Action – (Random) – I.e., Random the creation of random events in Rules the game – Rules – Display Elements – State State Display steve@free2secure.com Games, iGaming, and Gambling +1.650.278.7416
  • 3. Security eBooks Standard Multi-player Strategy - Distributed Object Networking Control s ta te emote Action Action • State-based networking occurs ew” r “below” the game level, and Game Engine Game Engine therefore is vulnerable to raw n spoofing erify “ – Two models: State State ∆ (State)/∆Time State(time+1) y to v – Tools for re-synchronization become tools for attack No wa State(time+x) is newer, so replaces State(time) steve@free2secure.com Games, iGaming, and Gambling +1.650.278.7416
  • 4. Security eBooks • Transaction-based Networking occurs at or above the game engine Distributed level • Initialization is to a known Transaction or agreed to state based on the rules of the Game Networking • Network Model: (Action,time) or (Old State, Action, time) • If the Game Engine Verifies Actions, invalid action & state injection cheating is stopped Action Action – If (Action, Time) given Control (Local Old State) is OK, then proceed Game Engine Game Engine – Transactions have to make logical sense given the previous state State State • Timing attacks can be reduced much more easily (and stopped with SecurePlay) steve@free2secure.com Games, iGaming, and Gambling +1.650.278.7416
  • 5. Security eBooks Distributed Object Systems vs. Distributed Transactions Systems – Summary 1 • Most networked games use a distributed object based design – Easy to program – Multi-player can be added as an “afterthought” – Numerous standard tools – Network design does not need to understand the game design – Problems • Makes attacks easy • Synchronization is inherently trusting because it occurs below the level of the game • Lack of understanding of game means it is impossible to validated remote updates • Can be limiting: Even simple games like poker will not work with a distributed object model steve@free2secure.com Games, iGaming, and Gambling +1.650.278.7416
  • 6. Security eBooks Distributed Object Systems vs. Distributed Transactions Systems – Summary 2 • Distributed Transaction Systems naturally reflect games – Games are rule-based transaction systems that migrate from state to state based on player actions and random events – Does require game developers to think about game rules (at least a bit) • Change from game objects focus to game object action focus – nouns to verbs. Also more naturally supports control of information sharing – Rules & Action Validation becomes possible • Validating state differences is hard. Validating actions tends to be much easier – Time hacks are also more naturally stopped • Re-synchronization is based on rolling back to a known state or updating from a known state. Multiple updates/actions are clearly detectable – and should be verifiable. • Transaction base synchronization is as Bandwidth Efficient as state- based synchronization – Players actions are inherently narrow-band – If local or AI activities are automatic, then this is WORST CASE the same as Distributed Object approaches (RTS games with many units) steve@free2secure.com Games, iGaming, and Gambling +1.650.278.7416
  • 7. Security eBooks Safer Networking with Server Control Control or Action or Action Client Client Partial Partial State State Display Display Random • Push Actions to Server Rules • Let Server or Other Players Validate Server State steve@free2secure.com Games, iGaming, and Gambling +1.650.278.7416
  • 8. Security eBooks Proxy Security Some online games dangerously include a SQL client and talk directly to the game server Rules Validation Data Validation Validation Message Incoming Message Database • Protecting Database from SQL injection / direct queries • Allows Rules Validation on Server or reallocation to other players steve@free2secure.com Games, iGaming, and Gambling +1.650.278.7416
  • 9. Security eBooks • How “out of synch” should players be allowed to get? – Delays -There is effectively an underlying notion of time “ticks” where The Trouble with – the game must stop Interaction – There is an important game play notion of how players are able Time to interact with each other (action/re- action) in terms of information available. • For a network game this sets a notion of Lifecycle of a Network Player “minimum duration”. Action – Interference – The interaction of – Decision – the instant at which the different player actions need to have action enters the game play engine reasonable and understandable – Commitment – the instant before consequences based on each player’s which the action will be automatically notion of state and action. aborted/changed to address new – Prediction & Confusion – The incoming information that was not interaction of the player presentation and available the actual game state can become – Success – the instant after which the complicated by poor predictions by the action has some probability of game presentation engine and the actual resolving successfully. actions of the remote player. This is a – Resolution – the instant when the problem for presentation & control action triggers consequences in the • How long does something take? game – Click-driven play fails for network games play engine. – when computers must share or – Conclusion – the instant after which coordinate state, simple physical the player is allowed to choose a interaction as a basis for temporal next action control breaks down steve@free2secure.com Games, iGaming, and Gambling +1.650.278.7416
  • 10. Security eBooks Platform and Architectural Security Issues • Increasing complexity often leads to architectural compromises… often unintentional – Move from traditional games to more complicated games may undermine server-based model • Frequent examples in MMOs and casual games • Server-based model is not the only security approach – Server-based design does not necessarily address player trust issues • Why should players trust the server? • How can the operator trust the developer? • How can the regulator trust anyone? – Server-based design does not solve all threats • Distributed and Peer-based Designs have potential benefits • Developers are often the biggest “cheaters” – Implicit design decisions can have substantial, and surprising, security impacts steve@free2secure.com Games, iGaming, and Gambling +1.650.278.7416
  • 11. Security eBooks What next? • Don’t give up! • More security presentations at: http://free2secure.com/ • Check out my book “Protecting Games” – Additional information at http://playnoevil.com/ • You can “win” the security game steve@free2secure.com Games, iGaming, and Gambling +1.650.278.7416
  • 12. Security eBooks About Me • Steven Davis – 25+ Years of Security Expertise – I have worked on everything from online games and satellite TV to Nuclear Command and Control and military communications • http://www.linkedin.com/in/playnoevil – Author, “Protecting Games” • Why Free2Secure? – Security is too expensive and isn’t working. There has to be a better way. I’m exploring these issues for IT security, ebooks, games, and whatever else strikes my fancy at http://free2secure.com/ – Join me there, ask questions, challenge assumptions, let’s make things better steve@free2secure.com Games, iGaming, and Gambling +1.650.278.7416