OWASP Game Security Framework Project

From OWASP
Revision as of 12:46, 23 March 2017 by Daniel Miessler (talk | contribs) (Collaboration)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
OWASP Project Header.jpg

OWASP Game Security Framework (GSF)

The OWASP Game Security Framework (GSF) represents a modular approach to understanding the security issues that surround video game ecosystems.

In 2016 the videogame market became 99.6 Billion dollar industry... any why shouldn't it be? Some of the most prolific and complex software developed today are video games. They are professionally played, sponsored, scrutinized, monetized, and celebrated, just like many sports. They handle clients, servers, web components, monetary transfers, social interactions, virtual markets, etc, with every bit the need of security that most internet hosted apps have (if not more in some cases). The GSF is designed to help threat model gaming issues that have devastated new games. Most importantly we hope the GSF can help new developers and security testers alike root out bugs in your favorite titles.

The framework is broken into three main concepts / sections:


1. Identifying and clustering the components of risk within the overall game security space, and then giving instances of each component.


Components include the following:

  • Attack Surfaces: the various surface areas that can be attacked by attackers in order to cause harm to the gaming ecosystem.
  • Vulnerabilities: the specific weaknesses in design or implementation that allows attackers to successfully target a given game.
  • Attacker Goals: a list of the reasons that an attacker might want to attack a given game.
  • Negative Outcomes: a collection of ways that the gaming company could ultimately be impacted negatively by attacks to its game and associated infrastructure.


2. A natural language semantic structure for thinking about and articulating game security issues, which uses the modular risk components as sentence structure.


Example:

"The attacker attacked and edited the LOCAL GAME CLIENT (Attack Surface), which had a LACK OF CLIENT INTEGRITY CONTROLS (Vulnerability), which allowed her to ARTIFICIALLY INCREASE HER ABILITIES (Attacker Goal), ultimately leading to an UNHAPPY PLAYER BASE (Negative Outcome) and DECLINING GAME REVENUE (Negative Outcome) , which could have been prevented by DEFENSE.


Using this structure, security testers can clearly communicate the various aspects of a game security issue to many different types of stakeholder—from pentesting peers to business executives in the gaming industry.


3. Examples of real-world examples of previous attacks against games, and how the attacks map to the GSF framework components.

Licensing

The OWASP Game Security Framework is free to use. It is licensed under the http://creativecommons.org/licenses/by-sa/3.0/ Creative Commons Attribution-ShareAlike 3.0 license], so you can copy, distribute and transmit the work, and you can adapt it, and use it commercially, but all provided that you attribute the work and if you alter, transform, or build upon this work, you may distribute the resulting work only under the same or similar license to this one.


What is the OWASP Game Security Framework?

The goal of the OWASP Game Security Framework is to provide a structure for discussing the various aspects around the security of video games.

The target audience for the project includes:

  • Gamers
  • QA
  • Game designers
  • Penetration testers
  • Gaming executives
  • Anyone else with a vested interest in game security

Project Leaders

  • Jason Haddix
  • Daniel Miessler

Contributors

  • Kevin Hemmingsen
  • Troy Cunefare
  • Ryan Lawrence
  • Martin Mendoza
  • Koray Algan
  • Tom Simkovic
  • Matt Espinoza
  • Chad Lynch

Related Projects

Collaboration

The Slack Channel

Quick Download

COMING SOON

News and Events

  • January, 2017: Doing a complete redesign of the project.
  • March 2017: Presenting version 1.0 at HouSecCon 2017.

Classifications

Owasp-incubator-trans-85.png Owasp-builders-small.png
Owasp-defenders-small.png
Cc-button-y-sa-small.png
Project Type Files DOC.jpg
OWASP Project Header.jpg

Attack Surfaces

The following is a list of the attack surfaces that can be found in video games of various types.

Attack Surface Description
Local Game Client The locally running game client that is accessible to the gamer because it's running on his/her machine.
Game Network Traffic The network which game traffic traverses in order to reach the game's server or peers who are playing the game.
Game Server The game server that is hosting the instance that gamers connect to in order to play the game.
Game Economy The economic system that exists within the game.
Game Mechanics The physics engine, logic, and other environmental components within the game.


What is the Attack Surfaces Section?

This section provides an overview of the various places an attacker can target to harm a given game infrastructure.

Sub-project Leader

  • Daniel Miessler

Related Projects

Collaboration

The Slack Channel

Quick Download

  • Coming Soon

News and Events

  • Coming Soon
OWASP Project Header.jpg

Game Security Vulnerabilities

The following is a list of the vulnerabilities that can be found in video games of various types, and the attack surfaces they're likely to be associated with.

Attack Surface Vulnerability Name
Local Game Client
  • Ability to edit in-game resources
  • Ability to bypass license requirement
Game Network Traffic
  • Network Denial of Service (player)
    • Player bandwidth exhaustion
    • Player game client resource exhaustion
Game Application Traffic
  • Application Level Denial of Service (Player)
    • Player application logic Denial of Service
Game Server
  • Application Level Denial of Service (Server)
    • Server application logic Denial of Service
  • Ability to modify game ladder rankings
  • Ability to modify own player resources
Game Economy
  • Ability to generate unlimited money on client side
  • Ability to generate unlimited money through network/application traffic modification
  • Ability to modify prices for in-game items
  • Ability to replay financial actions such as buying or selling through network/application manipulation


What is the Game Security Vulnerabilities Project?

The Security Vulnerabilities Project provides information on what types of vulnerabilities exist within games, and which attack surfaces they fall under.

Sub-project Leader

  • Jason Haddix

Related Projects

Collaboration

The Slack Channel

Resources

News and Events

  • Coming Soon
OWASP Project Header.jpg

Exploits

This list refers to what a given attacker might use to take advantage of a given bug within the game.

Exploit Description
DDoS Force a player to DC, or attack the game itself so that it cannot serve customers.
Client Modification Modify the client in a way that gives advantage.
Malicious Macros Implementation of macros that perform unwanted actions.
Social Engineering Getting a player, mod, or game staff member to perform an action that helps the attacker.
Use Physics Bug Interact with the world in a way that makes the physics engine do what the attacker wants.
Malform Network Traffic Send modified network traffic that tricks or disrupts an opposing player or the game itself.


The Exploits Project

The Exploits provides information on what types of tools and techniques an attacker might use to accomplish his/her goal.

Sub-project Leader

  • Daniel Miessler

Related Projects

Collaboration

The Slack Channel

Resources

News and Events

  • Coming Soon
OWASP Project Header.jpg

Attacker Goals

This list refers to what a given attacker might be trying to accomplish within the game by performing a given attack. This could relate very closely (or not) with the technical impact or business impact cause by the behavior.

Attacker Goal Description
Avoid Damage Allows the player to avoid being killed by other players or NPCs.
Gain Gear Improve the amount or quality of gear the player has.
Gain In-game Currency Gain more currency than would normally be allowed.
Enhance Gear Give weapons or other gear powers that they wouldn't normally have.
Take Opponent Offline Take a player out of the game so that the attacker's position is improved.
Skip Content Allows player to skip content resuting in a faster completion or objective time


What is the Attacker Goals Project

The Attacker Goals Project provides information on what types of outcomes attackers might try to achieve within or outside of the game they're attacking.

Sub-project Leader

  • Daniel Miessler

Related Projects

Collaboration

The Slack Channel

Resources

News and Events

  • Coming Soon
OWASP Project Header.jpg

Negative Outcomes

The following is a list of possible negative outcomes that can occur as the result of someone successfully attacking a given game.

Outcomes Description
Currency Magnification A player ends up with more currency than they were supposed to have.
Player Anger Players become extremely agitated by one or more bugs.
Players Stop Playing the Game Players become so frustrated with the bugs and exploits that they stop playing and/or paying for the game.
Invulnerable Positions Locations on the map make bases or players unassailable and therefore invulnerable.
Item Multiplication Items are duplicated, multiplied, or otherwise increased in an unintended way.
Unfair Ladder Victory A victory is scored in favor of a player or team when they should not have won.
Unauthorized Admin Command Use Regular users are somehow able to execute administrative commands.
Lost Revenue The game company loses revenue due to bugs, hacks, and player anger.


What is the Negative Outcomes Project?

The Negative Outcomes Project provides information on what types of situations could manifest within the game if bugs or exploits are not successfully addressed.

Project Leader

  • Daniel Miessler

Related Projects

Collaboration

The Slack Channel

Resources

News and Events

  • Coming Soon
OWASP Project Header.jpg

Defenses

These are some of the common defenses that can be used to counter attacks against various components of a game.

Outcomes Description
Cryptographic Validation of Client Ensure that the client will not run if it has been modified.
Enterprise-level DDoS Protection Implement protection against low to mid-tier DDoS attacks against the core gaming infrastructure.
Basic Application Security Defenses Code-based protections against common application security flaws, such as SQLi, XSS, CSRF, LFI/RFI, etc.
Authentication Lockouts Lock out a user's account after a certain number of failed attempts.
Two-factor Authentication Require use of 2FA on a given player's account.
Better Code Any fixes that can be done in code that aren't covered by other defenses. Could include net code, physics engine, logic fixes, etc.
Server-side Validation Ensure that validations are performed on the server and not (only) the client.


What is the Game Security Vulnerabilities Project?

The Security Vulnerabilities Project provides information on what types of vulnerabilities exist within games, and which attack surfaces they fall under.

Project Leaders

  • Daniel Miessler

Related Projects

Collaboration

The Slack Channel

Resources

News and Events

  • Coming Soon

Real-world Examples of Gaming Vulnerabilities

Vulnerability

ID Vulnerabilty Name Description Surface Area Goal Techical Impact Business Impact Defense Ref Game Genre
V1 Local Resource Modification, Client-side Logic Flaw In 2015 The Division experienced an exploit that allowed an attacker to switch weapons rapidly, applying weapon buffs in a stacking manner, with no cap. Game Client Unfair Player Advantage Player Anger Players leave, Lost Revenue Cryptographic Integrity Checks on Game Client http://www.gamesradar.com/theres-a-division-damage-stacking-glitch-if-youve-got-fast-fingers/ 3PS/1PS/MMO
VN1 "The attacker attacked and edited the LOCAL GAME CLIENT (Attack Surface), which had a LACK OF CLIENT INTEGRITY CONTROLS (Vulnerability), which allowed her to ARTIFICIALLY INCREASE HER ABILITIES (Attacker Goal), ultimately leading to an UNHAPPY PLAYER BASE (Negative Outcome) and DECLINING GAME REVENUE (Negative Outcome) due to cheating, which could have been prevented by CRYPTOGRAPHIC INTEGRITY CHECKS ON GAME CLIENT

Working Data Collection Spreadsheet:

https://docs.google.com/spreadsheets/d/1Og08wyHsqtODBDkU_M2zHAvdxc63GSu-OmT8NjCc9Ak/edit#gid=0



We are actively looking for people to help in the following areas:

  • Improving the framework schema, e.g., vulns, attack surfaces, technical impacts, business impacts, defenses, etc.
  • Adding content to any of the various sections
  • Input from avid gamers on how useful this is to them
  • Input from app security experts
  • Input from security types working at gaming companies
  • Input from game company business types

If you have interest in helping, reach out to us and we'll make you a contributor.

Commonly Used Game Hacking Tools



PROJECT INFO
What does this OWASP project offer you?
RELEASE(S) INFO
What releases are available for this project?
what is this project?
Name: OWASP Internet of Things Project
Purpose: N/A
License: CC-BY 3.0 for documentation and GPLv3 for code.
who is working on this project?
Project Leader(s):
  • Daniel Miessler
  • Craig Smith
Project Contributor(s):
how can you learn more?
Project Pamphlet: Not Yet Created
Project Presentation:
Mailing list: N/A
Project Roadmap: Not Yet Created
Key Contacts
  • Contact Daniel Miessler to contribute to this project
  • Contact Daniel Miessler to review or sponsor this project
  • Contact the GPC to report a problem or concern about this project or to update information.
current release
Not Yet Published
last reviewed release
Not Yet Reviewed


other releases