IP Library Granted Patent US 8,713,652
Granted Patent B2
US 8,713,652 · App. 11/568,794 · Granted Apr 29, 2014

Protecting a gaming machine from rogue code

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,713,652
App. No.
11/568,794
Granted
Apr 29, 2014
Kind
B2
Abstract

Systems and methods provide a gaming machine that is protected from the introduction of rogue code. One aspect of the systems and methods includes disabling a user access feature, such as a login or network access feature of an operating system executing on the gaming machine. A further aspect of the systems and methods includes removing debuggers and debugging information from an operating system or application executing on the gaming machine.

Claims (45)

1. A method for protecting network-attached gaming machines by isolating a gaming machine the method comprising:

providing an operating system for use on a controller of the gaming machine;

providing a wagering game controlled by the operating system and operable to receive a wager of monetary value and to generate a game outcome;

recognizing unauthorized attempts by rogue code to manipulate the game outcome of the wagering game; and

securing, by the operating system, the gaming machine from recognized unauthorized attempts to manipulate the game outcome of the wagering game by the rogue code by:

isolating the gaming machine from other gaming machines by disabling a network access feature of the operating system, the disabling including disabling a network interface of the operating system and removing at least one transport layer of a network stack from the gaming machine; and

removing debugging information from the wagering game controlled by the operating system, the debugging information including a symbol table, wherein

the symbol table maps functions and variables of the wagering game to memory locations of the gaming machine.

2. The method of claim 1 , wherein manipulating the game outcome includes an unauthorized user attempting to access the software on the gaming machine.

3. The method of claim 1 , wherein disabling a network access feature comprises removing a remote login component from the gaming machine.

4. The method of claim 3 , wherein the remote login component is a telnet component.

5. The method of claim 3 , wherein the remote login component is a rlogin component.

6. The method of claim 1 , wherein recognizing an attempt to manipulate the game outcome includes detecting an invalid userid entered into a login program.

7. The method of claim 1 , wherein recognizing an attempt to manipulate the game outcome includes detecting an invalid password entered into a login program.

8. The method of claim 1 , wherein disabling the network access feature of the operating system comprises setting a password entry to an invalid password.

9. The method of claim 8 , wherein the password entry corresponds to a privileged user.

10. The method of claim 1 , wherein the operating system is a non-proprietary operating system.

11. The method of claim 10 , wherein the non-proprietary operating system is a version of a Linux operating system.

12. The method of claim 1 , wherein disabling the network access feature of the operating system comprises disabling a network device driver of the operating system.

13. The method of claim 1 , wherein disabling the network interface comprises disabling an Ethernet interface.

14. The method of claim 1 , further comprising:

temporarily enabling the network access feature;

transferring data to the gaming machine using the network access feature; and

disabling the network access feature again after transferring the data.

15. A computer readable, non-transitory medium having executable computer program code to perform the method of claim 1 when said computer program code is run on a computer.

16. A method for protecting gaming machine software operating on a gaming machine controller, the method comprising:

providing an operating system for use on the gaming machine controller, the operating system being a version of a Linux non-proprietary operating system;

receiving the gamine machine software for execution on the gaming machine controller and controlled by the operating system;

configuring the gaming machine software to conduct a wagering game on the gaming machine to receive a wager of monetary value and to generate a game outcome;

recognizing unauthorized attempts by rogue code to manipulate the game outcome of the wagering game; and

securing the wagering game from unauthorized manipulations of the game outcome of the wagering game by the rogue code by:

isolating the gaming machine from other gaming machines by disabling a network access feature of the operating system, the disabling including disabling a network device driver; and

removing debugging information from the wagering game controlled by the operating system, the debugging information including a symbol table, wherein

the symbol table maps functions and variables of the wagering game to memory locations of the gaming machine.

17. The method of claim 16 , wherein disabling the network access feature of the operating system comprises disabling a network interface.

18. A gaming machine comprising:

a controller;

a storage device with an operating system and gaming software stored thereon;

one or more processors, the one or processors configured to execute the operating system and gaming software to perform operations comprising:

executing a wagering game controlled by the operating system and operable to receive a wager of monetary value and to generate a game outcome;

recognizing unauthorized attempts by rogue code to manipulate the game outcome of the wagering game; and

securing, by the operating system, the gaming machine from recognized unauthorized attempts to manipulate the game outcome of the wagering game by the rogue code by:

isolating the gaming machine from other gaming machines by disabling a network access feature of the operating system, the disabling including disabling a network interface of the operating system and removing at least one transport layer of a network stack from the gaming machine; and

removing debugging information from the wagering game controlled by the operating system, the debugging information including a symbol table, wherein

the symbol table maps functions and variables of the wagering game to memory locations of the gaming machine.

Assignments (7)
RELEASE OF SECURITY INTEREST Recorded Apr 21, 2022
From: BANK OF AMERICA, N.A.
To: SCIENTIFIC GAMES INTERNATIONAL, INC.; WMS GAMING INC.; BALLY GAMING, INC.; DON BEST SPORTS CORPORATION
Reel/Frame 059756/0397 →
CHANGE OF NAME Recorded Jan 20, 2020
From: BALLY GAMING, INC.
To: SG GAMING, INC.
Reel/Frame 051649/0139 →
RELEASE OF SECURITY INTEREST IN PATENTS (RELEASES REEL/FRAME 034530/0318) Recorded Nov 5, 2018
From: DEUTSCHE BANK TRUST COMPANY AMERICAS
To: SCIENTIFIC GAMES INTERNATIONAL, INC.; BALLY GAMING, INC.; WMS GAMING INC.
Reel/Frame 047924/0701 →
MERGER Recorded Jul 29, 2015
From: WMS GAMING INC.
To: BALLY GAMING, INC.
Reel/Frame 036225/0201 →
SECURITY AGREEMENT Recorded Dec 4, 2014
From: BALLY GAMING, INC; SCIENTIFIC GAMES INTERNATIONAL, INC; WMS GAMING INC.
To: DEUTSCHE BANK TRUST COMPANY AMERICAS, AS COLLATERAL AGENT
Reel/Frame 034530/0318 →
SECURITY AGREEMENT Recorded Dec 18, 2013
From: SCIENTIFIC GAMES INTERNATIONAL, INC.; WMS GAMING INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 031847/0110 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 13, 2013
From: SYLLA, CRAIG J.
To: WMS GAMING INC.
Reel/Frame 029826/0124 →