This site is the archived OWASP Foundation Wiki and is no longer accepting Account Requests.
To view the new OWASP Foundation website, please visit https://owasp.org

Difference between revisions of "OWASP Game Security Framework Project"

From OWASP
Jump to: navigation, search
(Collaboration)
(Collaboration)
 
(13 intermediate revisions by 2 users not shown)
Line 21: Line 21:
  
 
''Components include the following:''
 
''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.
 
* '''Attack Surfaces''': the various surface areas that can be attacked by attackers in order to cause harm to the gaming ecosystem.
Line 37: Line 36:
 
''Example:''
 
''Example:''
  
 
+
: "The attacker attacked and edited the <code>LOCAL GAME CLIENT (Attack Surface)</code>,  which had a <code>LACK OF CLIENT INTEGRITY CONTROLS (Vulnerability)</code>, which allowed her to <code>ARTIFICIALLY INCREASE HER ABILITIES (Attacker Goal)</code>, ultimately leading to an <code>UNHAPPY PLAYER BASE (Negative Outcome)</code> and <code>DECLINING GAME REVENUE (Negative Outcome)</code> , which could have been prevented by <code>DEFENSE.</code>
: "The attacker attacked and edited the <code>LOCAL GAME CLIENT (Attack Surface)</code>,  which had a <code>LACK OF CLIENT INTEGRITY CONTROLS (Vulnerability)</code>, which allowed her to <code>ARTIFICIALLY INCREASE HER ABILITIES (Attacker Goal)</code>, ultimately leading to an <code>UNHAPPY PLAYER BASE (Negative Outcome)</code> and <code>DECLINING GAME REVENUE (Negative Outcome)</code> due to cheating.”
 
  
  
Line 131: Line 129:
 
|-  
 
|-  
 
| '''Local Game Client'''
 
| '''Local Game Client'''
|
+
|The locally running game client that is accessible to the gamer because it's running on his/her machine.
* The locally running game client that is accessible to the gamer because it's running on his/her machine.
 
 
|-  
 
|-  
 
| '''Game Network Traffic'''
 
| '''Game Network Traffic'''
|
+
|The network which game traffic traverses in order to reach the game's server or peers who are playing the game.
* The network which game traffic traverses in order to reach the game's server or peers who are playing the game.
 
 
|-  
 
|-  
 
| '''Game Server'''
 
| '''Game Server'''
|
+
|The game server that is hosting the instance that gamers connect to in order to play the game.
* The game server that is hosting the instance that gamers connect to in order to play the game.
 
 
|-  
 
|-  
 
| '''Game Economy'''
 
| '''Game Economy'''
|
+
|The economic system that exists within the game.
* The economic system that exists within the game.
+
|-
 +
|'''Game Mechanics'''
 +
|The physics engine, logic, and other environmental components within the game.
 
|-
 
|-
 
|}
 
|}
Line 251: Line 248:
 
|}
 
|}
  
= Attacker Goals =
+
= Exploits =
  
 
<div style="width:100%;height:160px;border:0,margin:0;overflow: hidden;">[[File:OWASP_Project_Header.jpg|link=]]</div>
 
<div style="width:100%;height:160px;border:0,margin:0;overflow: hidden;">[[File:OWASP_Project_Header.jpg|link=]]</div>
Line 258: Line 255:
 
| valign="top" style="border-right: 1px dotted gray;padding-right:25px;" |
 
| valign="top" style="border-right: 1px dotted gray;padding-right:25px;" |
  
== Game Security Vulnerabilities ==
+
== Exploits ==
  
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.
+
This list refers to what a given attacker might use to take advantage of a given bug within the game.
  
 
{| class="wikitable" border="1" style="text-align: left"
 
{| class="wikitable" border="1" style="text-align: left"
! Attack Surface
+
! Exploit
 
! Description
 
! Description
 
|-  
 
|-  
| '''Local Game Client'''
+
| '''DDoS'''
|
+
|Force a player to DC, or attack the game itself so that it cannot serve customers.
* Ability to edit in-game resources
 
* Ability to bypass license requirement
 
 
|-  
 
|-  
| '''Game Network Traffic'''
+
| '''Client Modification'''
|
+
|Modify the client in a way that gives advantage.
* Network Denial of Service (player)
 
** Player bandwidth exhaustion
 
** Player game client resource exhaustion
 
 
|-  
 
|-  
| '''Game Application Traffic'''
+
| '''Malicious Macros'''
|
+
|Implementation of macros that perform unwanted actions.
* Application Level Denial of Service (Player)
 
** Player application logic Denial of Service
 
 
|-  
 
|-  
| '''Game Server'''
+
| '''Social Engineering'''
|
+
|Getting a player, mod, or game staff member to perform an action that helps the attacker.
* 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'''
+
| '''Use Physics Bug'''
|
+
|Interact with the world in a way that makes the physics engine do what the attacker wants.
* Ability to generate unlimited money on client side
+
|-
* Ability to generate unlimited money through network/application traffic modification
+
|'''Malform Network Traffic'''
* Ability to modify prices for in-game items
+
|Send modified network traffic that tricks or disrupts an opposing player or the game itself.
* Ability to replay financial actions such as buying or selling through network/application manipulation
 
 
|-
 
|-
 
|}
 
|}
Line 302: Line 287:
 
| valign="top" style="padding-left:25px;width:300px;border-right: 1px dotted gray;padding-right:25px;" |
 
| valign="top" style="padding-left:25px;width:300px;border-right: 1px dotted gray;padding-right:25px;" |
  
== What is the Game Security Vulnerabilities Project? ==
+
== The Exploits Project ==
  
The Security Vulnerabilities Project provides information on what types of vulnerabilities exist within games, and which attack surfaces they fall under.
+
The Exploits provides information on what types of tools and techniques an attacker might use to accomplish his/her goal.
  
 
== Sub-project Leader ==
 
== Sub-project Leader ==
Line 326: Line 311:
 
|}
 
|}
  
= Technical Impacts =
+
= Attacker Goals =
  
 
<div style="width:100%;height:160px;border:0,margin:0;overflow: hidden;">[[File:OWASP_Project_Header.jpg|link=]]</div>
 
<div style="width:100%;height:160px;border:0,margin:0;overflow: hidden;">[[File:OWASP_Project_Header.jpg|link=]]</div>
Line 333: Line 318:
 
| valign="top" style="border-right: 1px dotted gray;padding-right:25px;" |
 
| valign="top" style="border-right: 1px dotted gray;padding-right:25px;" |
  
== Game Security Vulnerabilities ==
+
== Attacker Goals ==
  
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.
+
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.
  
 
{| class="wikitable" border="1" style="text-align: left"
 
{| class="wikitable" border="1" style="text-align: left"
! Attack Surface
+
! Attacker Goal
 
! Description
 
! Description
 
|-  
 
|-  
| '''Local Game Client'''
+
| '''Avoid Damage'''
|
+
|Allows the player to avoid being killed by other players or NPCs.
* Ability to edit in-game resources
 
* Ability to bypass license requirement
 
 
|-  
 
|-  
| '''Game Network Traffic'''
+
| '''Gain Gear'''
|
+
|Improve the amount or quality of gear the player has.
* Network Denial of Service (player)
 
** Player bandwidth exhaustion
 
** Player game client resource exhaustion
 
 
|-  
 
|-  
| '''Game Application Traffic'''
+
| '''Gain In-game Currency'''
|
+
|Gain more currency than would normally be allowed.
* Application Level Denial of Service (Player)
 
** Player application logic Denial of Service
 
 
|-  
 
|-  
| '''Game Server'''
+
| '''Enhance Gear'''
|
+
|Give weapons or other gear powers that they wouldn't normally have.
* 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'''
+
| '''Take Opponent Offline'''
|
+
|Take a player out of the game so that the attacker's position is improved.
* Ability to generate unlimited money on client side
+
|-
* Ability to generate unlimited money through network/application traffic modification
+
|'''Skip Content'''
* Ability to modify prices for in-game items
+
|Allows player to skip content resuting in a faster completion or objective time
* Ability to replay financial actions such as buying or selling through network/application manipulation
 
 
|-
 
|-
 
|}
 
|}
Line 377: Line 350:
 
| valign="top" style="padding-left:25px;width:300px;border-right: 1px dotted gray;padding-right:25px;" |
 
| valign="top" style="padding-left:25px;width:300px;border-right: 1px dotted gray;padding-right:25px;" |
  
== What is the Game Security Vulnerabilities Project? ==
+
== What is the Attacker Goals Project ==
  
The Security Vulnerabilities Project provides information on what types of vulnerabilities exist within games, and which attack surfaces they fall under.
+
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.
  
== Project Leader ==
+
== Sub-project Leader ==
  
 
* Daniel Miessler
 
* Daniel Miessler
Line 401: Line 374:
 
|}
 
|}
  
= Business Impacts =
+
= Negative Outcomes =
  
 
<div style="width:100%;height:160px;border:0,margin:0;overflow: hidden;">[[File:OWASP_Project_Header.jpg|link=]]</div>
 
<div style="width:100%;height:160px;border:0,margin:0;overflow: hidden;">[[File:OWASP_Project_Header.jpg|link=]]</div>
Line 408: Line 381:
 
| valign="top" style="border-right: 1px dotted gray;padding-right:25px;" |
 
| valign="top" style="border-right: 1px dotted gray;padding-right:25px;" |
  
== Game Security Vulnerabilities ==
+
== Negative Outcomes ==
  
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.
+
The following is a list of possible negative outcomes that can occur as the result of someone successfully attacking a given game.
  
 
{| class="wikitable" border="1" style="text-align: left"
 
{| class="wikitable" border="1" style="text-align: left"
! Attack Surface
+
! Outcomes
 
! Description
 
! Description
 
|-  
 
|-  
| '''Local Game Client'''
+
| '''Currency Magnification'''
|
+
|A player ends up with more currency than they were supposed to have.
* Ability to edit in-game resources
 
* Ability to bypass license requirement
 
 
|-  
 
|-  
| '''Game Network Traffic'''
+
| '''Player Anger'''
|
+
|Players become extremely agitated by one or more bugs.
* Network Denial of Service (player)
 
** Player bandwidth exhaustion
 
** Player game client resource exhaustion
 
 
|-  
 
|-  
| '''Game Application Traffic'''
+
| '''Players Stop Playing the Game'''
|
+
|Players become so frustrated with the bugs and exploits that they stop playing and/or paying for the game.
* Application Level Denial of Service (Player)
 
** Player application logic Denial of Service
 
 
|-  
 
|-  
| '''Game Server'''
+
| '''Invulnerable Positions'''
|
+
|Locations on the map make bases or players unassailable and therefore invulnerable.
* 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'''
+
| '''Item Multiplication'''
|
+
|Items are duplicated, multiplied, or otherwise increased in an unintended way.
* Ability to generate unlimited money on client side
+
|-
* Ability to generate unlimited money through network/application traffic modification
+
|'''Unfair Ladder Victory'''
* Ability to modify prices for in-game items
+
|A victory is scored in favor of a player or team when they should not have won.
* Ability to replay financial actions such as buying or selling through network/application manipulation
+
|-
 +
|'''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.
 
|}
 
|}
  
Line 452: Line 418:
 
| valign="top" style="padding-left:25px;width:300px;border-right: 1px dotted gray;padding-right:25px;" |
 
| valign="top" style="padding-left:25px;width:300px;border-right: 1px dotted gray;padding-right:25px;" |
  
== What is the Game Security Vulnerabilities Project? ==
+
== What is the Negative Outcomes Project? ==
  
The Security Vulnerabilities Project provides information on what types of vulnerabilities exist within games, and which attack surfaces they fall under.
+
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 ==
 
== Project Leader ==
Line 483: Line 449:
 
| valign="top" style="border-right: 1px dotted gray;padding-right:25px;" |
 
| valign="top" style="border-right: 1px dotted gray;padding-right:25px;" |
  
== Common Game Security Defenses ==
+
== Defenses ==
 
+
These are some of the common defenses that can be used to counter attacks against various components of a game.
Table Here
+
{| class="wikitable" border="1" style="text-align: left"
 
+
! 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.
 +
|}
  
 
{{Social Media Links}}
 
{{Social Media Links}}
Line 598: Line 586:
 
|  
 
|  
 
|}
 
|}
''Template''
+
''Working Data Collection Spreadsheet:''
 +
 
 +
https://docs.google.com/spreadsheets/d/1Og08wyHsqtODBDkU_M2zHAvdxc63GSu-OmT8NjCc9Ak/edit#gid=0
  
 
:  
 
:  

Latest revision as of 17:46, 23 March 2017

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