Systems and methods for the prevention of unauthorized use and manipulation of digital content
First Claim
1. A method for preventing unauthorized use of digital content data in a computer system comprising:
- examining system devices that are operational in the system;
determining whether at least one of the operational system devices is a subversion device; and
initiating a defensive action if it is determined that at least one of the operational system devices is a subversion device.
3 Assignments
0 Petitions
Accused Products
Abstract
A number of systems and methods, alone, or in combination, achieve various levels of protection against unauthorized modification and distribution of digital content. This encompasses at least unauthorized study, modification, monitoring, reconstruction, and any other means for subversion from the originally intended purpose and license model of the digital content. The invention combines a number of techniques that in whole, or in part, serve to protect such content from unauthorized modification, reconstructive engineering, or monitoring by third parties. This is accomplished by means of methods which protect against subversion by specific tools operating on specific platforms as well as general tools operating on general platforms. Specific time domain attacks are identified, code modification can be identified and reversed, and virtual and emulated systems are identified. In addition, identification of in-circuit emulator tools (both software and hardware), debuggers, and security threats to running programs can be achieved.
367 Citations
78 Claims
-
1. A method for preventing unauthorized use of digital content data in a computer system comprising:
-
examining system devices that are operational in the system;
determining whether at least one of the operational system devices is a subversion device; and
initiating a defensive action if it is determined that at least one of the operational system devices is a subversion device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A method for preventing unauthorized use of digital content data in a computer system in which a first process and a second process are active comprising:
-
generating a message at the first process;
receiving the message at the second process, the second process examining the message and determining whether the message is valid or invalid;
the second process continuing operation upon determination that the message is valid; and
the second process initiating a defensive action upon determination that the message is invalid. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29)
-
-
30. A method for preventing unauthorized use of digital content data in a computer system comprising:
-
recording a time value of a non-settable first timer;
recording a time value of a second timer;
processing an event in the system;
comparing an elapsed time of the first timer with an elapsed time of the second timer following the processing of the event; and
initiating a defensive action upon determination that a difference between the first elapsed time and the second elapsed time is outside a predetermined range. - View Dependent Claims (31, 32)
-
-
33. A method for preventing unauthorized use of digital content data in a computer system comprising:
-
identifying a block of digital content data;
modifying a subset of the block of digital content data from original digital content data to modified digital content data; and
processing the block of digital content data such that the modified digital content data is replaced by the original digital content data prior to processing, and such that the original digital content data is replaced by the modified digital content data following processing. - View Dependent Claims (34, 35)
-
-
36. A method for preventing unauthorized use of digital content data in a computer system comprising:
-
identifying a block of digital content data;
comparing the block of digital content data to known data; and
initiating a defensive action upon an invalid comparison between the between the block of digital content data and the known data. - View Dependent Claims (37)
-
-
38. A method for preventing unauthorized use of digital content data in a computer system comprising:
-
monitoring an input device for device events;
validating whether the event is a permitted event;
permitting processing of the event by the computer system based on the validation results; and
initiating a defensive action if the event is not permitted. - View Dependent Claims (39, 40)
-
-
41. A method for preventing unauthorized use of digital content data in a computer system comprising:
-
enumerating processes that are active on the computer system;
determining whether at least one of the processes is a subversion process; and
initiating a defensive action if it is determined that at least one of the operational system processes is a subversion process. - View Dependent Claims (42, 43, 44, 45)
-
-
46. A method for preventing unauthorized use of digital content data in a computer system comprising:
-
enumerating processes that are active on the computer system;
determining whether at least one of the processes is a subversion process by searching the computer system memory for a known signature of a subversion process; and
initiating a defensive action if it is determined that at least one of the operational system processes is a subversion process. - View Dependent Claims (47)
-
-
48. A method for preventing unauthorized use of digital content data in a computer system comprising:
-
enumerating processes that are active on the computer system;
determining whether at least one of the processes is a subversion process by searching the computer system memory for a known memory partitioning signature of a subversion process; and
initiating a defensive action if it is determined that at least one of the operational system processes is a subversion process. - View Dependent Claims (49)
-
-
50. A method for preventing unauthorized use of executable digital content data in a computer system comprising:
-
in response to initiation of a defensive action to a subversion process, generating saturation data; and
transmitting the saturation data on the system to overload the subversion process with data. - View Dependent Claims (51)
-
-
52. A method for preventing unauthorized use of executable digital content data in a computer system comprising:
-
identifying an instruction of executable digital content data to be substituted; and
substituting a synonymous instruction for the instruction to generate modified executable digital content data. - View Dependent Claims (53, 54)
-
-
55. A method for preventing unauthorized use of digital content data in a computer system comprising:
-
examining system devices that are operational in the system to determine features that characterize the system devices;
generating a signature representative of the system based on the features; and
assigning the signature to the digital content data. - View Dependent Claims (56, 57, 58, 59, 60)
-
-
61. A method for preventing unauthorized use of digital content data in a computer system wherein an entity on the system includes digital content data that is distributed among a plurality of pages comprising:
-
modifying at least one of the plurality of pages to replace original digital content data with modified digital content data;
responding to a page fault generated in the system by determining whether the entity generating the page fault is authorized to access a page requested by the entity;
determining whether the page requested by the entity is a modified page having modified digital content data; and
if the entity is authorized to access the page and if the page is a modified page, replacing the modified digital content data in the page with the original digital content data. - View Dependent Claims (62, 63, 64, 65)
-
-
66. A method for preventing unauthorized use of digital content data in a computer system wherein an entity on the system includes digital content data that is distributed among a plurality of pages comprising:
-
responding to a page fault generated in the system by determining whether the entity generating the page fault is authorized to access a page requested by the entity; and
if the entity is unauthorized, modifying the page requested by the entity to replace original digital content data with modified digital content data. - View Dependent Claims (67, 68, 69, 70)
-
-
71. A method for preventing unauthorized use of digital content data in a computer system comprising:
-
requesting an installation of the digital content data at a client;
transmitting the request for installation to a server;
verifying, at the server, whether the requested installation is authorized, if the installation is unauthorized, transmitting an installation denial message to the client, and if the installation is authorized, transmitting an installation authorization message to the client;
installing the digital content data at the client if the requested installation is authorized. - View Dependent Claims (72, 73, 74)
-
-
75. A method for preventing unauthorized use of digital content data in a computer system comprising:
-
requesting use of the digital content data at a client;
transmitting the request for use to a server;
verifying, at the server, whether the requested use is authorized, if the installation is unauthorized, transmitting a use denial message to the client, and if the installation is authorized, transmitting a use authorization message to the client;
utilizing the digital content data at the client if the requested installation is authorized. - View Dependent Claims (76, 77, 78)
-
Specification