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
(News and Events)
(Collaboration)
 
(15 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 Leaders ==
+
== 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 Leaders ==
+
== Project Leader ==
  
 
* Daniel Miessler
 
* Daniel Miessler
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
  
 
:  
 
:  
Line 607: Line 597:
 
= Community =
 
= Community =
  
[https://www.iamthecavalry.org/ I Am The Cavalry]
+
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.
A global grassroots organization that is focused on issues where computer security intersects public safety and human life.
+
* Adding content to any of the various sections
 
+
* Input from avid gamers on how useful this is to them
Their areas of focus include:
+
* Input from app security experts
* Medical devices
+
* Input from security types working at gaming companies
* Automobiles
+
* Input from game company business types
* Home Electronics
+
If you have interest in helping, reach out to us and we'll make you a contributor.
* Public Infrastructure
 
 
 
[http://builditsecure.ly BuildItSecure.ly]
 
 
 
A project focused on helping small business connect with security researchers to aid in securing their IoT-based products before going market.
 
 
 
Their goals include:
 
* Focus effort towards small business
 
* Build partnerships
 
* Coordinate efforts
 
* Curate informational resources
 
* Present research
 
 
 
[https://otalliance.org Online Trust Alliance]
 
 
 
Formed as an informal industry working group in 2005, today OTA is an Internal Revenue Service (IRS) approved 501c3 charitable organization with the mission to enhance online trust and empower users, while promoting innovation and the vitality of the internet.  OTA is global organization supported by over 100 organizations headquartered in Bellevue, Washington with offices in Washington DC.
 
 
 
Addressing the mounting concerns, in January 2015 the Online Trust Alliance, established the [https://otalliance.org/initiatives/internet-things IoT Trustworthy Working Group (ITWG)], a multi-stakeholder initiative.  The group recognizes “security and privacy by design” must be a priority from the onset of product development and be addressed holistically. The framework focuses on privacy, security sustainability. The sustainability pillar is critical as it looks at the life-cycle issues related to long- term supportability and transfers of ownership of devices and the data collected.
 
 
 
[https://allseenalliance.org/framework AllSeen Alliance]
 
 
 
The AllSeen Alliance is a Linux Foundation collaborative project.  They're a cross-industry consortium dedicated to enabling the interoperability of billions of devices, services and apps that comprise the Internet of Things. The Alliance supports the AllJoyn Framework, an open source software framework that makes it easy for devices and apps to discover and communicate with each other. Developers can write applications for interoperability regardless of transport layer, manufacturer, and without the need for Internet access. The software has been and will continue to be openly available for developers to download, and runs on popular platforms such as Linux and Linux-based Android, iOS, and Windows, including many other lightweight real-time operating systems.
 
 
 
[http://www.iiconsortium.org/ The Industrial Internet Consortium (IIC)]
 
 
 
The Industrial Internet Consortium is the open membership, international not-for-profit consortium that is setting the architectural framework and direction for the Industrial Internet. Founded by AT&T, Cisco, GE, IBM and Intel in March 2014, the consortium’s mission is to coordinate vast ecosystem initiatives to connect and integrate objects with people, processes and data using common architectures, interoperability and open standards.
 
 
 
[http://securingsmartcities.org/ Securing Smart Cities]
 
 
 
Securing Smart Cities is a not-for-profit global initiative that aims to solve the existing and future cybersecurity problems of smart cities through collaboration between companies, governments, media outlets, other not-for-profit initiatives and individuals across the world.
 
 
 
===Talks===
 
 
 
RSA Conference San Francisco <br>
 
[https://www.owasp.org/images/5/51/RSAC2015-OWASP-IoT-Miessler.pdf Securing the Internet of Things: Mapping IoT Attack Surface Areas with the OWASP IoT Top 10 Project] <br>
 
Daniel Miessler, Practice Principal <br>
 
April 21, 2015 <br>
 
--- <br>
 
Defcon 23 <br>
 
[https://www.owasp.org/images/3/36/IoTTestingMethodology.pdf IoT Attack Surface Mapping] <br>
 
Daniel Miessler <br>
 
August 6-9, 2015
 
 
 
===Podcasts===
 
 
 
* [http://iotpodcast.com/ The Internet of Things Podcast]
 
* [http://www.iot-inc.com/ IoT Inc]
 
* [https://craigsmith.net/category/podcast/ IoT This Week]
 
* [http://farstuff.com/ Farstuff: The Internet of Things Podcast]
 
 
 
===IoT Conferences===
 
 
 
* [http://www.iotevents.org Internet of Things Events]
 
 
 
Conference Call for Papers
 
* [http://www.wikicfp.com/cfp/servlet/tool.search?q=internet+of+things&year=t WikiCFP - Internet of Things]
 
* [http://www.wikicfp.com/cfp/servlet/tool.search?q=iot&year=t WikiCFP - IoT]
 
|}
 
  
 
= Testing Tools =
 
= Testing Tools =

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