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
(Licensing)
(Collaboration)
 
(58 intermediate revisions by 2 users not shown)
Line 1: Line 1:
= Main =
+
= About the Project =
  
 
<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>
  
 
{| style="padding: 0;margin:0;margin-top:10px;text-align:left;" |-
 
{| style="padding: 0;margin:0;margin-top:10px;text-align:left;" |-
| valign="top" style="border-right: 1px dotted gray;padding-right:25px;" |
+
| valign="top" style="border-right: 1px dotted gray;padding-right:25px;" |
  
 
==OWASP Game Security Framework (GSF)==
 
==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.'''
 
  
 +
'''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:''
 
''The framework is broken into three main concepts / sections:''
Line 20: Line 22:
 
''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.
+
* '''Vulnerabilities''': the specific weaknesses in design or implementation that allows attackers to successfully target a given game.
 
 
* ''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.
+
* '''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.  
+
* '''Negative Outcomes''': a collection of ways that the gaming company could ultimately be impacted negatively by attacks to its game and associated infrastructure.  
  
  
Line 35: 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 '''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.”
 
  
  
Line 47: Line 47:
 
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.
 
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.
  
== ==
 
 
{{Social Media Links}}
 
{{Social Media Links}}
  
| valign="top" style="padding-left:25px;width:200px;border-right: 1px dotted gray;padding-right:25px;" |
+
| valign="top" style="padding-left:25px;width:200px;border-right: 1px dotted gray;padding-right:25px;" |
  
 
== What is the OWASP Game Security Framework? ==
 
== What is the OWASP Game Security Framework? ==
Line 59: Line 58:
  
 
* Gamers
 
* Gamers
 +
* QA
 
* Game designers
 
* Game designers
 
* Penetration testers
 
* Penetration testers
Line 70: Line 70:
  
 
== Contributors ==
 
== Contributors ==
* LFG
+
* Kevin Hemmingsen
 +
* Troy Cunefare
 +
* Ryan Lawrence
 +
* Martin Mendoza
 +
* Koray Algan
 +
* Tom Simkovic
 +
* Matt Espinoza
 +
* Chad Lynch
  
 
== Related Projects ==
 
== Related Projects ==
Line 77: Line 84:
 
* [[OWASP_Mobile_Security_Project|OWASP Mobile Security]]
 
* [[OWASP_Mobile_Security_Project|OWASP Mobile Security]]
  
| valign="top" style="padding-left:25px;width:200px;" |
+
| valign="top" style="padding-left:25px;width:200px;" |
  
 
== Collaboration ==
 
== Collaboration ==
Line 87: Line 94:
  
 
== News and Events ==
 
== News and Events ==
* ''[JANUARY 2017]'' Doing a complete redesign of the project.
+
* January, 2017: Doing a complete redesign of the project.
 +
* March 2017: Presenting version 1.0 at HouSecCon 2017.
  
 
==Classifications==
 
==Classifications==
Line 93: Line 101:
 
   {| width="200" cellpadding="2"
 
   {| width="200" cellpadding="2"
 
   |-
 
   |-
   | align="center" valign="top" width="50%" rowspan="2"| [[File:Owasp-incubator-trans-85.png|link=https://www.owasp.org/index.php/OWASP_Project_Stages#tab=Incubator_Projects]]
+
   | rowspan="2" align="center" valign="top" width="50%" | [[File:Owasp-incubator-trans-85.png|link=https://www.owasp.org/index.php/OWASP_Project_Stages#tab=Incubator_Projects]]
   | align="center" valign="top" width="50%"| [[File:Owasp-builders-small.png|link=]]   
+
   | align="center" valign="top" width="50%" | [[File:Owasp-builders-small.png|link=]]   
 
   |-
 
   |-
   | align="center" valign="top" width="50%"| [[File:Owasp-defenders-small.png|link=]]
+
   | align="center" valign="top" width="50%" | [[File:Owasp-defenders-small.png|link=]]
 
   |-
 
   |-
   | colspan="2" align="center" | [[File:Cc-button-y-sa-small.png|link=http://creativecommons.org/licenses/by-sa/3.0/]]
+
   | colspan="2" align="center" | [[File:Cc-button-y-sa-small.png|link=http://creativecommons.org/licenses/by-sa/3.0/]]
 
   |-
 
   |-
   | colspan="2" align="center" | [[File:Project_Type_Files_DOC.jpg|link=]]
+
   | colspan="2" align="center" | [[File:Project_Type_Files_DOC.jpg|link=]]
 
   |}
 
   |}
  
 
|}
 
|}
  
= IoT Attack Surface Areas =
+
= Attack Surfaces =
  
 
<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>
  
 
{| style="padding: 0;margin:0;margin-top:10px;text-align:left;" |-
 
{| style="padding: 0;margin:0;margin-top:10px;text-align:left;" |-
| valign="top" style="border-right: 1px dotted gray;padding-right:25px;" |
+
| valign="top" style="border-right: 1px dotted gray;padding-right:25px;" |
  
== IoT Attack Surface Areas Project ==
+
== Attack Surfaces ==
  
The OWASP IoT Attack Surface Areas (DRAFT) are as follows:
+
The following is a list of the attack surfaces that can be found in video games of various types.
  
{| border="1" class="wikitable" style="text-align: left"
+
{| class="wikitable" border="1" style="text-align: left"
 
! Attack Surface
 
! Attack Surface
! Vulnerability
+
! Description
 
|-  
 
|-  
| '''Ecosystem (general)'''
+
| '''Local Game Client'''
|
+
|The locally running game client that is accessible to the gamer because it's running on his/her machine.
* Interoperability standards
 
* Data governance
 
* System wide failure
 
* Individual stakeholder risks
 
 
|-  
 
|-  
| '''Ecosystem Access Control'''
+
| '''Game Network Traffic'''
|
+
|The network which game traffic traverses in order to reach the game's server or peers who are playing the game.
* Implicit trust between components
 
* Enrollment security
 
* Decommissioning system
 
* Lost access procedures
 
 
|-  
 
|-  
| '''Device Memory'''
+
| '''Game Server'''
|
+
|The game server that is hosting the instance that gamers connect to in order to play the game.
* Cleartext usernames
 
* Cleartext passwords
 
* Third-party credentials
 
* Encryption keys
 
 
|-  
 
|-  
| '''Device Physical Interfaces'''
+
| '''Game Economy'''
|
+
|The economic system that exists within the game.
* Firmware extraction
 
* User CLI
 
* Admin CLI
 
* Privilege escalation
 
* Reset to insecure state
 
* Removal of storage media
 
* Tamper resistance
 
* Debug port
 
* Device ID/Serial number exposure
 
 
|-
 
|-
| '''Device Web Interface'''
+
|'''Game Mechanics'''
|
+
|The physics engine, logic, and other environmental components within the game.
* SQL injection
 
* Cross-site scripting
 
* Cross-site Request Forgery
 
* Username enumeration
 
* Weak passwords
 
* Account lockout
 
* Known default credentials
 
|-
 
| '''Device Firmware'''
 
|
 
* Hardcoded credentials
 
* Sensitive information disclosure
 
* Sensitive URL disclosure
 
* Encryption keys
 
* Encryption (Symmetric, Asymmetric)
 
* Firmware version display and/or last update date
 
* Backdoor accounts
 
* Vulnerable services (web, ssh, tftp, etc.)
 
* Security related function API exposure
 
* Firmware downgrade
 
|-
 
| '''Device Network Services'''
 
|
 
* Information disclosure
 
* User CLI
 
* Administrative CLI
 
* Injection
 
* Denial of Service
 
* Unencrypted Services
 
* Poorly implemented encryption
 
* Test/Development Services
 
* Buffer Overflow
 
* UPnP
 
* Vulnerable UDP Services
 
* DoS
 
* Device Firmware OTA update block
 
* Replay attack
 
* Lack of payload verification
 
* Lack of message integrity check
 
|-
 
| '''Administrative Interface'''
 
|
 
* SQL injection
 
* Cross-site scripting
 
* Cross-site Request Forgery
 
* Username enumeration
 
* Weak passwords
 
* Account lockout
 
* Known default credentials
 
* Security/encryption options
 
* Logging options
 
* Two-factor authentication
 
* Inability to wipe device
 
|-
 
| '''Local Data Storage'''
 
|
 
* Unencrypted data
 
* Data encrypted with discovered keys
 
* Lack of data integrity checks
 
* Use of static same enc/dec key
 
|-
 
| '''Cloud Web Interface'''
 
|
 
* SQL injection
 
* Cross-site scripting
 
* Cross-site Request Forgery
 
* Username enumeration
 
* Weak passwords
 
* Account lockout
 
* Known default credentials
 
* Transport encryption
 
* Insecure password recovery mechanism
 
* Two-factor authentication
 
|-
 
| '''Third-party Backend APIs'''
 
|
 
* Unencrypted PII sent
 
* Encrypted PII sent
 
* Device information leaked
 
* Location leaked
 
|-
 
| '''Update Mechanism'''
 
|
 
* Update sent without encryption
 
* Updates not signed
 
* Update location writable
 
* Update verification
 
* Update authentication
 
* Malicious update
 
* Missing update mechanism
 
* No manual update mechanism
 
|-
 
| '''Mobile Application'''
 
|
 
* Implicitly trusted by device or cloud
 
* Username enumeration
 
* Account lockout
 
* Known default credentials
 
* Weak passwords
 
* Insecure data storage
 
* Transport encryption
 
* Insecure password recovery mechanism
 
* Two-factor authentication
 
|-
 
| '''Vendor Backend APIs'''
 
|
 
* Inherent trust of cloud or mobile application
 
* Weak authentication
 
* Weak access controls
 
* Injection attacks
 
* Hidden services
 
|-
 
| '''Ecosystem Communication'''
 
|
 
* Health checks
 
* Heartbeats
 
* Ecosystem commands
 
* Deprovisioning
 
* Pushing updates
 
|-
 
| '''Network Traffic'''
 
|
 
* LAN
 
* LAN to Internet
 
* Short range
 
* Non-standard
 
* Wireless (WiFi, Z-wave, Zigbee, Bluetooth)
 
* Protocol fuzzing
 
|-
 
| '''Authentication/Authorization'''
 
|
 
* Authentication/Authorization related values (session key, token, cookie, etc.) disclosure
 
* Reusing of session key, token, etc.
 
* Device to device authentication
 
* Device to mobile Application authentication
 
* Device to cloud system authentication
 
* Mobile application to cloud system authentication
 
* Web application to cloud system authentication
 
* Lack of dynamic authentication
 
|-
 
| '''Privacy'''
 
|
 
* User data disclosure
 
* User/device location disclosure
 
* Differential privacy
 
|-
 
| '''Hardware (Sensors)'''
 
|
 
* Sensing Environment Manipulation
 
* Tampering (Physically)
 
* Damaging (Physically)
 
 
 
 
|-
 
|-
 
|}
 
|}
  
== ==
 
 
{{Social Media Links}}
 
{{Social Media Links}}
  
| 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 IoT Attack Surface Areas Project? ==
+
== What is the Attack Surfaces Section? ==
  
The IoT Attack Surface Areas Project provides a list of attack surfaces that should be understood by manufacturers, developers, security researchers, and those looking to deploy or implement IoT technologies within their organizations.
+
This section provides an overview of the various places an attacker can target to harm a given game infrastructure.
  
== Project Leaders ==
+
== Sub-project Leader ==
  
 
* Daniel Miessler
 
* Daniel Miessler
* Craig Smith
 
  
 
== Related Projects ==
 
== Related Projects ==
Line 330: Line 163:
  
 
== Collaboration ==
 
== Collaboration ==
[https://owasp-iot-security.slack.com The Slack Channel]
+
[https://game-security.slack.com The Slack Channel]
  
 
== Quick Download ==
 
== Quick Download ==
Line 340: Line 173:
 
|}
 
|}
  
= IoT Vulnerabilities =
+
= Vulnerabilities =
  
 
<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>
  
 
{| style="padding: 0;margin:0;margin-top:10px;text-align:left;" |-
 
{| style="padding: 0;margin:0;margin-top:10px;text-align:left;" |-
| 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 ==
  
== IoT Vulnerabilities Project ==
+
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.
  
{| border="1" class="wikitable" style="text-align: left"
+
{| class="wikitable" border="1" style="text-align: left"
! Vulnerability
 
 
! Attack Surface
 
! Attack Surface
! Summary
+
! Vulnerability Name
|-
+
|-  
| '''Username Enumeration'''
+
| '''Local Game Client'''
 
|
 
|
* Administrative Interface
+
* Ability to edit in-game resources
* Device Web Interface
+
* Ability to bypass license requirement
* Cloud Interface
+
|-
* Mobile Application
+
| '''Game Network Traffic'''
 
|
 
|
* Ability to collect a set of valid usernames by interacting with the authentication mechanism
+
* Network Denial of Service (player)
|-
+
** Player bandwidth exhaustion
| '''Weak Passwords'''
+
** Player game client resource exhaustion
 +
|-  
 +
| '''Game Application Traffic'''
 
|
 
|
* Administrative Interface
+
* Application Level Denial of Service (Player)
* Device Web Interface
+
** Player application logic Denial of Service
* Cloud Interface
+
|-
* Mobile Application
+
| '''Game Server'''
 
|
 
|
* Ability to set account passwords to '1234' or '123456' for example.
+
* Application Level Denial of Service (Server)
|-
+
** Server application logic Denial of Service
| '''Account Lockout'''
+
* Ability to modify game ladder rankings
|
+
* Ability to modify own player resources
* Administrative Interface
+
|-  
* Device Web Interface
+
| '''Game Economy'''
* Cloud Interface
 
* Mobile Application
 
|
 
* Ability to continue sending authentication attempts after 3 - 5 failed login attempts
 
|-
 
| '''Unencrypted Services'''
 
|
 
* Device Network Services
 
|
 
* Network services are not properly encrypted to prevent eavesdropping by attackers
 
|-
 
| '''Two-factor Authentication'''
 
|
 
* Administrative Interface
 
* Cloud Web Interface
 
* Mobile Application
 
|
 
* Lack of two-factor authentication mechanisms such as a security token or fingerprint scanner
 
|-
 
| '''Poorly Implemented Encryption'''
 
|
 
* Device Network Services
 
|
 
* Encryption is implemented however it is improperly configured or is not being properly updated, e.g. using SSL v2
 
|-
 
| '''Update Sent Without Encryption'''
 
|
 
* Update Mechanism
 
|
 
* Updates are transmitted over the network without using TLS or encrypting the update file itself
 
|-
 
| '''Update Location Writable'''
 
|
 
* Update Mechanism
 
|
 
* Storage location for update files is world writable potentially allowing firmware to be modified and distributed to all users
 
|-
 
| '''Denial of Service'''
 
|
 
* Device Network Services
 
|
 
* Service can be attacked in a way that denies service to that service or the entire device
 
|-
 
| '''Removal of Storage Media'''
 
|
 
* Device Physical Interfaces
 
|
 
* Ability to physically remove the storage media from the device
 
|-
 
| '''No Manual Update Mechanism'''
 
|
 
* Update Mechanism
 
|
 
* No ability to manually force an update check for the device
 
|-
 
| '''Missing Update Mechanism'''
 
|
 
* Update Mechanism
 
|
 
* No ability to update device
 
|-
 
| '''Firmware Version Display and/or Last Update Date'''
 
|
 
* Device Firmware
 
 
|
 
|
* Current firmware version is not displayed and/or the last update date is not displayed
+
* 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
 
|-
 
|-
 
|}
 
|}
  
== ==
 
 
{{Social Media Links}}
 
{{Social Media Links}}
  
| 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 IoT Vulnerabilities Project? ==
+
== What is the Game Security Vulnerabilities Project? ==
  
The IoT Vulnerabilities Project provides:
+
The Security Vulnerabilities Project provides information on what types of vulnerabilities exist within games, and which attack surfaces they fall under.
  
* Information on the top IoT vulnerabilities
+
== Sub-project Leader ==
* The attack surface associated with the vulnerability
 
* A summary of the vulnerability
 
  
== Project Leaders ==
+
* Jason Haddix
 
 
* Daniel Miessler
 
* Craig Smith
 
  
 
== Related Projects ==
 
== Related Projects ==
Line 469: Line 238:
  
 
== Collaboration ==
 
== Collaboration ==
[https://owasp-iot-security.slack.com The Slack Channel]
+
[https://game-security.slack.com The Slack Channel]
  
 
== Resources ==
 
== Resources ==
Line 479: Line 248:
 
|}
 
|}
  
= Firmware Analysis =
+
= 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>
  
 
{| style="padding: 0;margin:0;margin-top:10px;text-align:left;" |-
 
{| style="padding: 0;margin:0;margin-top:10px;text-align:left;" |-
| valign="top" style="border-right: 1px dotted gray;padding-right:25px;" |
+
| valign="top" style="border-right: 1px dotted gray;padding-right:25px;" |
  
== Firmware Analysis Project ==
+
== Exploits ==
  
The Firmware Analysis Project is intended to provide security testing guidance for the IoT Attack Surface "Device Firmware":
+
This list refers to what a given attacker might use to take advantage of a given bug within the game.
  
{| border="1" class="wikitable" style="text-align: left"
+
{| class="wikitable" border="1" style="text-align: left"
! Section
+
! 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'''
Device Firmware Vulnerabilties
+
|Interact with the world in a way that makes the physics engine do what the attacker wants.
|
 
* Out-of-date core components
 
* Unsupported core components
 
* Expired and/or self-signed certificates
 
* Same certificate used on multiple devices
 
* Admin web interface concerns
 
* Hardcoded or easy to guess credentials
 
* Sensitive information disclosure
 
* Sensitive URL disclosure
 
* Encryption key exposure
 
* Backdoor accounts
 
* Vulnerable services (web, ssh, tftp, etc.)
 
|-
 
|
 
Manufacturer Recommendations
 
|
 
* Ensure that supported and up-to-date software is used by developers
 
* Ensure that robust update mechanisms are in place for devices
 
* Ensure that certificates are not duplicated across devices and product lines.
 
* Ensure supported and up-to-date software is used by developers
 
* Develop a mechanism to ensure a new certificate is installed when old ones expire
 
* Disable deprecated SSL versions
 
* Ensure developers do not code in easy to guess or common admin passwords
 
* Ensure services such as SSH have a secure password created
 
* Develop a mechanism that requires the user to create a secure admin password during initial device setup
 
* Ensure developers do not hard code passwords or hashes
 
* Have source code reviewed by a third party before releasing device to production
 
* Ensure industry standard encryption or strong hashing is used
 
 
|-
 
|-
|
+
|'''Malform Network Traffic'''
Device Firmware Guidance and Instruction
+
|Send modified network traffic that tricks or disrupts an opposing player or the game itself.
|
 
* Firmware file analysis
 
* Firmware extraction
 
* Dynamic binary analysis
 
* Static binary analysis
 
* Static code analysis
 
* Firmware emulation
 
* File system analysis
 
|-
 
|
 
Device Firmware Tools
 
|
 
* [https://github.com/craigz28/firmwalker Firmwalker]
 
* [https://code.google.com/archive/p/firmware-mod-kit/ Firmware Modification Kit]
 
* [https://github.com/angr/angr Angr binary analysis framework]
 
* [http://binwalk.org/ Binwalk firmware analysis tool]
 
* [http://www.binaryanalysis.org/en/home Binary Analysis Tool]
 
* [https://github.com/firmadyne/firmadyne Firmadyne]
 
|-
 
|
 
Vulnerable Firmware
 
|
 
* [https://github.com/praetorian-inc/DVRF Damn Vulnerable Router Firmware]
 
 
|-
 
|-
 
|}
 
|}
  
== ==
 
 
{{Social Media Links}}
 
{{Social Media Links}}
  
| 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 Firmware Analysis Project? ==
+
== The Exploits Project ==
  
The Firmware Analysis Project provides:
+
The Exploits provides information on what types of tools and techniques an attacker might use to accomplish his/her goal.
  
* Security testing guidance for vulnerabilities in the "Device Firmware" attack surface
+
== Sub-project Leader ==
* Steps for extracting file systems from various firmware files
 
* Guidance on searching a file systems for sensitive of interesting data
 
* Information on static analysis of firmware contents
 
* Information on dynamic analysis of emulated services (e.g. web admin interface)
 
* Testing tool links
 
* A site for pulling together existing information on firmware analysis
 
  
== Project Leaders ==
+
* Daniel Miessler
 
 
* Craig Smith
 
  
 
== Related Projects ==
 
== Related Projects ==
Line 580: Line 301:
  
 
== Collaboration ==
 
== Collaboration ==
[https://owasp-iot-security.slack.com The Slack Channel]
+
[https://game-security.slack.com The Slack Channel]
  
 
== Resources ==
 
== Resources ==
* [https://www.owasp.org/index.php/IoT_Firmware_Analysis IoT Firmware Analysis Primer]
+
* [https://www.owasp.org/index.php/Top_IoT_Vulnerabilities Top 10 IoT Vulnerabilities from 2014]
* [https://otalliance.org/initiatives/internet-things Online Trust Alliance - Internet of Things]
 
* [https://people.debian.org/~aurel32/qemu/ Pre-compiled QEMU images]
 
* [https://code.google.com/archive/p/firmware-mod-kit/ Firmware Modification Kit]
 
* [https://craigsmith.net/episode-11-1-firmware-extraction/ Short Firmware Extraction Video]
 
* [https://craigsmith.net/episode-12-1-firmware-emulation-with-qemu/ Firmware Emulation with QEMU]
 
* [https://craigsmith.net/episode-18-1-file-extraction-from-network-capture/ File Extraction from Network Capture]
 
  
 
== News and Events ==
 
== News and Events ==
Line 596: Line 311:
 
|}
 
|}
  
= IoT Event Logging Project=
+
= 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>
  
 
{| style="padding: 0;margin:0;margin-top:10px;text-align:left;" |-
 
{| style="padding: 0;margin:0;margin-top:10px;text-align:left;" |-
| valign="top" style="border-right: 1px dotted gray;padding-right:25px;" |
+
| valign="top" style="border-right: 1px dotted gray;padding-right:25px;" |
  
== IoT Logging Events==
+
== Attacker Goals ==
  
This is a working draft of the recommended minimum IoT Device logging events. This includes many  different types of devices, including consumer IoT, enterprise IoT, and ICS/SCADA type devices.
+
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.
  
{| border="1" class="wikitable" style="text-align: left"
+
{| class="wikitable" border="1" style="text-align: left"
! Event Category
+
! Attacker Goal
! Events
+
! Description
|-
+
|-  
| '''Request Exceptions'''
+
| '''Avoid Damage'''
|
+
|Allows the player to avoid being killed by other players or NPCs.
* Attempt to Invoke Unsupported HTTP Method
+
|-  
* Unexpected Quantity of Characters in Parameter
+
| '''Gain Gear'''
* Unexpected Type of Characters in Parameter
+
|Improve the amount or quality of gear the player has.
|-
+
|-  
| '''Authentication Exceptions'''
+
| '''Gain In-game Currency'''
|
+
|Gain more currency than would normally be allowed.
* Multiple Failed Passwords
+
|-  
* High Rate of Login Attempts
+
| '''Enhance Gear'''
* Additional POST Variable
+
|Give weapons or other gear powers that they wouldn't normally have.
* Deviation from Normal GEO Location
+
|-  
|-
+
| '''Take Opponent Offline'''
| '''Session Exceptions'''
+
|Take a player out of the game so that the attacker's position is improved.
|
 
* Modifying the Existing Cookie
 
* Substituting Another User's Valid SessionID or Cookie
 
* Source Location Changes During Session
 
|-
 
| '''Access Control Exceptions'''
 
|
 
* Modifying URL Argument Within a GET for Direct Object Access Attempt
 
* Modifying Parameter Within a POST for Direct Object Access Attempt
 
* Forced Browsing Attempt
 
|-
 
| '''Ecosystem Membership Exceptions'''
 
|
 
* Traffic Seen from Disenrolled System
 
* Traffic Seen from Unenrolled System
 
* Failed Attempt to Enroll in Ecosystem
 
* Multiple Attempts to Enroll in Ecosystem
 
|-
 
| '''Device Access Events'''
 
|
 
* Device Case Tampering Detected
 
* Device Logic Board Tampering Detected
 
|-
 
| '''Administrative Mode Events'''
 
|
 
* Device Entered Administrative Mode
 
* Device Accessed Using Default Administrative Credentials
 
|-
 
| '''Input Exceptions'''
 
|
 
* Double Encoded Character
 
* Unexpected Encoding Used
 
|-
 
| '''Command Injection Exceptions'''
 
|
 
* Blacklist Inspection for Common SQL Injection Values
 
* Abnormal Quantity of Returned Records
 
|-
 
| '''Honey Trap Exceptions'''
 
|
 
* Honey Trap Resource Requested
 
* Honey Trap Data Used
 
 
|-
 
|-
| '''Reputation Exceptions'''
+
|'''Skip Content'''
|
+
|Allows player to skip content resuting in a faster completion or objective time
* Suspicious or Disallowed User Source Location
 
 
 
 
|-
 
|-
 
|}
 
|}
  
== ==
 
 
{{Social Media Links}}
 
{{Social Media Links}}
  
| 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 IoT Security Logging Project? ==
+
== What is the Attacker Goals Project ==
  
The IoT Secure Logging Project provides a list of core events that should be logged in any IoT-related system. The project exists because IoT systems in general are not logging nearly enough events to constitute input for a solid detection and response program around IoT devices, and for companies that want to do this there are not many good resources for what should be logged.
+
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 690: Line 360:
 
== Related Projects ==
 
== Related Projects ==
  
* [https://www.owasp.org/index.php/OWASP_AppSensor_Project The OWASP AppSensor Project]
+
* [[OWASP_Mobile_Security_Project|OWASP Mobile Security]]
 +
* [[OWASP_Top_Ten_Project|OWASP Web Top 10]]
  
 
== Collaboration ==
 
== Collaboration ==
[https://owasp-iot-security.slack.com The Slack Channel]
+
[https://game-security.slack.com The Slack Channel]
  
== Quick Download ==
+
== Resources ==
* Coming Soon
+
* [https://www.owasp.org/index.php/Top_IoT_Vulnerabilities Top 10 IoT Vulnerabilities from 2014]
  
 
== News and Events ==
 
== News and Events ==
Line 703: Line 374:
 
|}
 
|}
  
= ICS/SCADA =
+
= 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>
  
 
{| style="padding: 0;margin:0;margin-top:10px;text-align:left;" |-
 
{| style="padding: 0;margin:0;margin-top:10px;text-align:left;" |-
| valign="top" style="border-right: 1px dotted gray;padding-right:25px;" |
+
| valign="top" style="border-right: 1px dotted gray;padding-right:25px;" |
  
== ICS/SCADA Project ==
+
== Negative Outcomes ==
  
The OWASP ICS/SCADA Top 10 software weaknesses are as follows:
+
The following is a list of possible negative outcomes that can occur as the result of someone successfully attacking a given game.
  
{| border="1" class="wikitable" style="text-align: left"
+
{| class="wikitable" border="1" style="text-align: left"
! Rank and ID
+
! Outcomes
! Title
+
! Description
 
|-  
 
|-  
| '''1 - CWE-119'''
+
| '''Currency Magnification'''
|
+
|A player ends up with more currency than they were supposed to have.
* Improper Restriction of Operations within the Bounds of a Memory Buffer
 
 
|-  
 
|-  
| '''2 - CWE-20'''
+
| '''Player Anger'''
|
+
|Players become extremely agitated by one or more bugs.
* Improper Input Validation
 
 
|-  
 
|-  
| '''3 - CWE-22'''
+
| '''Players Stop Playing the Game'''
|
+
|Players become so frustrated with the bugs and exploits that they stop playing and/or paying for the game.
* Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')
 
|-
 
| '''4 - CWE-264'''
 
|
 
* Permissions, Privileges, and Access Controls
 
 
|-  
 
|-  
| '''5 - CWE-200'''
+
| '''Invulnerable Positions'''
|
+
|Locations on the map make bases or players unassailable and therefore invulnerable.
* Information Exposure
 
|-
 
| '''6 - CWE-255'''
 
|
 
* Credentials Management
 
|-
 
| '''7 - CWE-287'''
 
|
 
* Improper Authentication
 
|-
 
| '''8 - CWE-399'''
 
|
 
* Resource Management Errors
 
|-
 
| '''9 - CWE-79'''
 
|
 
* Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')
 
|-
 
| '''10 - CWE-189'''
 
|
 
* Numeric Errors
 
 
|-  
 
|-  
 +
| '''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.
 
|}
 
|}
  
== ==
 
 
{{Social Media Links}}
 
{{Social Media Links}}
  
| 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 ICS/SCADA Project? ==
+
== What is the Negative Outcomes Project? ==
  
The ICS/SCADA Project provides:
+
The Negative Outcomes Project provides information on what types of situations could manifest within the game if bugs or exploits are not successfully addressed.
  
* A list of the Top 10 most dangerous software weaknesses
+
== Project Leader ==
  
== Project Leaders ==
+
* Daniel Miessler
 
 
* NJ Ouchn
 
  
 
== Related Projects ==
 
== Related Projects ==
Line 781: Line 432:
  
 
== Collaboration ==
 
== Collaboration ==
[https://owasp-iot-security.slack.com The Slack Channel]
+
[https://game-security.slack.com The Slack Channel]
  
== Quick Download ==
+
== Resources ==
* Coming Soon
+
* [https://www.owasp.org/index.php/Top_IoT_Vulnerabilities Top 10 IoT Vulnerabilities from 2014]
  
 
== News and Events ==
 
== News and Events ==
Line 791: Line 442:
 
|}
 
|}
  
= IoT Security Policy Project =
+
= Defenses =
  
 
<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>
  
 
{| style="padding: 0;margin:0;margin-top:10px;text-align:left;" |-
 
{| style="padding: 0;margin:0;margin-top:10px;text-align:left;" |-
| valign="top" style="border-right: 1px dotted gray;padding-right:25px;" |
+
| valign="top" style="border-right: 1px dotted gray;padding-right:25px;" |
  
== IoT Security Policy Project ==
+
== Defenses ==
 
+
These are some of the common defenses that can be used to counter attacks against various components of a game.
The OWASP IoT Security Policy Project provides:
+
{| 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}}
  
| 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 IoT Security Policies Project? ==
+
== What is the Game Security Vulnerabilities Project? ==
  
The IoT Security Policy Project provides:
+
The Security Vulnerabilities Project provides information on what types of vulnerabilities exist within games, and which attack surfaces they fall under.
  
 
== Project Leaders ==
 
== Project Leaders ==
  
* Saša Zdjelar
+
* Daniel Miessler
  
 
== Related Projects ==
 
== Related Projects ==
 +
 +
* [[OWASP_Mobile_Security_Project|OWASP Mobile Security]]
 +
* [[OWASP_Top_Ten_Project|OWASP Web Top 10]]
  
 
== Collaboration ==
 
== Collaboration ==
[https://owasp-iot-security.slack.com The Slack Channel]
+
[https://game-security.slack.com The Slack Channel]
  
== Quick Download ==
+
== Resources ==
* Coming Soon
+
* [https://www.owasp.org/index.php/Top_IoT_Vulnerabilities Top 10 IoT Vulnerabilities from 2014]
  
 
== News and Events ==
 
== News and Events ==
Line 827: Line 504:
  
 
|}
 
|}
 +
= Examples =
  
 +
== Real-world Examples of Gaming Vulnerabilities==
  
 +
''Vulnerability''
  
= Community =
+
{| class="wikitable"
 +
!ID
 +
! style="font-weight: bold;" | Vulnerabilty Name
 +
! style="font-weight: bold;" | Description
 +
! style="font-weight: bold;" | Surface Area
 +
! style="font-weight: bold;" | Goal
 +
! style="font-weight: bold;" | Techical Impact
 +
!Business Impact
 +
! style="font-weight: bold;" | 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
 +
| colspan="10" style="text-align: center;" | "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, which could have been prevented by <code>CRYPTOGRAPHIC INTEGRITY CHECKS ON GAME CLIENT</code>”
 +
|-
 +
|
 +
|
 +
|
 +
|
 +
|
 +
|
 +
|
 +
|
 +
|
 +
|
 +
|
 +
|-
 +
|
 +
|
 +
|
 +
|
 +
|
 +
|
 +
|
 +
|
 +
|
 +
|
 +
|
 +
|-
 +
|
 +
|
 +
|
 +
|
 +
|
 +
|
 +
|
 +
|
 +
|
 +
|
 +
|
 +
|-
 +
|
 +
|
 +
|
 +
|
 +
|
 +
|
 +
|
 +
|
 +
|
 +
|
 +
|
 +
|}
 +
''Working Data Collection Spreadsheet:''
  
[https://www.iamthecavalry.org/ I Am The Cavalry]
+
https://docs.google.com/spreadsheets/d/1Og08wyHsqtODBDkU_M2zHAvdxc63GSu-OmT8NjCc9Ak/edit#gid=0
  
A global grassroots organization that is focused on issues where computer security intersects public safety and human life.
+
:
  
Their areas of focus include:
+
{{Social Media Links}}
* Medical devices
 
* Automobiles
 
* Home Electronics
 
* 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:
+
= Community =
* 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]
 
  
 +
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.
  
 +
= Testing Tools =
  
 +
== Commonly Used Game Hacking Tools ==
  
 +
{{Social Media Links}}
  
  
Line 924: Line 634:
 
| links_url1 =  
 
| links_url1 =  
 
| links_name1 =
 
| links_name1 =
| links_url1 =
 
| links_name1 =
 
 
}}   
 
}}   
  
  
  
 +
__NOTOC__ <headertabs></headertabs>
  
 
+
[[Category:OWASP_Project]]  
 
+
[[Category:OWASP_Document]]  
 
+
[[Category:OWASP_Download]]  
__NOTOC__ <headertabs />
+
[[Category:OWASP_Release_Quality_Document]]
 
 
[[Category:OWASP_Project]] [[Category:OWASP_Document]] [[Category:OWASP_Download]] [[Category:OWASP_Release_Quality_Document]]
 

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
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
current release
Not Yet Published
last reviewed release
Not Yet Reviewed


other releases