Patents by Inventor Yuan Xiang Gu
Yuan Xiang Gu has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).
-
Patent number: 9471776Abstract: Methods and nodes for securing execution of a web application by determining that a call dependency from a first to a second function needs to be protected, adding a Partial Execution Stub (PES) function comprising code to establish a communication connection with a trusted module. Methods and nodes for secured execution of a web application by invoking a function of the web application, invoking a Partial Execution Stub (PES) function during execution of the function of the web application, sending, from the PES function, a message call with current execution information to a trusted module and receiving, a verification result from the trusted module.Type: GrantFiled: March 30, 2012Date of Patent: October 18, 2016Assignee: Irdeto B.V.Inventors: Yuan Xiang Gu, Garney David Adams
-
Patent number: 9460281Abstract: A method to secure a non-native application. The non-native application is processed to obtain an application stub to be triggered within a virtual machine. The processing of the non-native application also provide a native code function upon which the application stub depends. The non-native function is part of a trusted module that extends security services from the trusted module to the virtual machine. The trusted module is a native code application that creates a trusted zone as a root of trustiness extending to the virtual machine by an execution-enabling mechanism between the application tab and the non-native function.Type: GrantFiled: March 31, 2011Date of Patent: October 4, 2016Assignee: Irdeto B.V.Inventors: Garney David Adams, Yuan Xiang Gu, Jack Jiequn Rong
-
Publication number: 20160239647Abstract: Methods and devices for thwarting code and control flow based attacks on software. The source code of a subject piece of software is automatically divided into basic blocks of logic. Selected basic blocks are amended so that their outputs are extended. Similarly, other basic blocks are amended such that their inputs are correspondingly extended. The amendments increase or create dependencies between basic blocks such that tampering with one basic block's code causes other basic blocks to malfunction when executed.Type: ApplicationFiled: January 12, 2016Publication date: August 18, 2016Inventors: Harold Joseph Johnson, Yuan Xiang Gu, Yongxin Zhou
-
Patent number: 9213826Abstract: A method and system that provides secure modules that can address Java platform weaknesses and protect Java bytecode during execution time. The secure modules are implemented in C/C++ as an example. Because implementation of the security modules is made in C/C++, this enables use of security technology that secures C/C++ software code.Type: GrantFiled: November 12, 2010Date of Patent: December 15, 2015Assignee: Irdeto B.V.Inventors: Yuan Xiang Gu, Garney Adams, Jack Rong
-
Publication number: 20150326389Abstract: Systems and techniques for securing accessible computer-executable program code and systems are provided. One or more base functions may be generated and blended with existing program code, such that it may be difficult or impossible for a potential attacker to distinguish the base functions from the existing code. The systems and code also may be protected using a variety of other blending and protection techniques, such as fractures, variable dependent coding, dynamic data mangling, and cross-linking, which may be used individually or in combination, and/or may be blended with the base functions.Type: ApplicationFiled: March 28, 2013Publication date: November 12, 2015Inventors: Harold Johnson, Yuan Xiang Gu, Michael Wiener
-
Patent number: 9141787Abstract: A system and method for transforming a software application comprising binary code and optionally associated data, from an original form to a more secure form. The method includes performing a combination of binary transmutations to the application, and interlocking the transmutations by generating and placing interdependencies between the transmutations, wherein a transmutation is an irreversible change to the application. Different types of the transmutations are applied at varied granularities of the application. The transmutations are applied to the application code and the implanted code as well. The result is a transformed software application which is semantically equivalent to the original software application but is resistant to static and/or dynamic attacks.Type: GrantFiled: May 6, 2010Date of Patent: September 22, 2015Assignee: Irdeto B.V.Inventors: Yuan Xiang Gu, Paul McRae, Bogdan Nicolescu, Valery Levitsky, Xijian Zhu, Hongrui Dong, Daniel Elie Murdock
-
Publication number: 20150213239Abstract: Methods and devices for thwarting code and control flow based attacks on software. The source code of a subject piece of software is automatically divided into basic blocks of logic. Selected basic blocks are amended so that their outputs are extended. Similarly, other basic blocks are amended such that their inputs are correspondingly extended. The amendments increase or create dependencies between basic blocks such that tampering with one basic block's code causes other basic blocks to malfunction when executed.Type: ApplicationFiled: April 8, 2015Publication date: July 30, 2015Inventors: Harold Joseph Johnson, Yuan Xiang Gu, Yongxin Zhou
-
Publication number: 20150161384Abstract: Methods and nodes for securing execution of a web application by determining that a call dependency from a first to a second function needs to be protected, adding a Partial Execution Stub (PES) function comprising code to establish a communication connection with a trusted module. Methods and nodes for secured execution of a web application by invoking a function of the web application, invoking a Partial Execution Stub (PES) function during execution of the function of the web application, sending, from the PES function, a message call with current execution information to a trusted module and receiving, a verification result from the trusted module.Type: ApplicationFiled: March 30, 2012Publication date: June 11, 2015Inventors: Yuan Xiang Gu, Garney David Adams
-
Publication number: 20150113518Abstract: A method and system for renewing software at the component-level is provided. A client program includes a base component for loading a software component into at least one loadable region of the program to update the program. Code in the software component is for writing state data associating the state of the update in storage, upon execution of the software component, and testing the state data to verify condition of the updated program and disallowing rollback and roll-forward attacks, the state data comprising hash chain values. The state data for verifying the correctness of the updated program is entangled with application data used for the program functionality. A server includes: an update pool having a plurality of software updates deployed in each client, and a policy control for monitoring and controlling at least one of: the length of time the client runs until the software update is invoked, a chain of the updates; and the granularity of the update.Type: ApplicationFiled: March 22, 2012Publication date: April 23, 2015Applicant: Irdeto Canada CorporationInventors: Clifford Liem, Hongrui Dong, Sam Martin, Yuan Xiang Gu, Michael Weiner
-
Publication number: 20150082425Abstract: Systems and techniques for securing accessible computer-executable program code and systems are provided. One or more base functions may be generated and blended with existing program code, such that it may be difficult or impossible for a potential attacker to distinguish the base functions from the existing code. The systems and code also may be protected using a variety of other blending and protection techniques, such as fractures, variable dependent coding, dynamic data mangling, and cross-linking, which may be used individually or in combination, and/or may be blended with the base functions.Type: ApplicationFiled: March 28, 2013Publication date: March 19, 2015Inventors: Harold Johnson, Yuan Xiang Gu, Michael Wiener, Yongxin Zhou
-
Publication number: 20150074803Abstract: Methods and devices for thwarting code and control flow based attacks on software. The source code of a subject piece of software is automatically divided into basic blocks of logic. Selected basic blocks are amended so that their outputs are extended. Similarly, other basic blocks are amended such that their inputs are correspondingly extended. The amendments increase or create dependencies between basic blocks such that tampering with one basic block's code causes other basic blocks to malfunction when executed.Type: ApplicationFiled: April 30, 2014Publication date: March 12, 2015Applicant: IRDETO CANADA CORPORTATIONInventors: Harold Joseph Johnson, Yuan Xiang Gu, Yongxin Zhou
-
Publication number: 20150067875Abstract: Systems and techniques for securing accessible computer-executable program code and systems are provided. One or more base functions may be generated and blended with existing program code, such that it may be difficult or impossible for a potential attacker to distinguish the base functions from the existing code. The systems and code also may be protected using a variety of other blending and protection techniques, such as fractures, variable dependent coding, dynamic data mangling, and cross-linking, which may be used individually or in combination, and/or may be blended with the base functions.Type: ApplicationFiled: March 28, 2013Publication date: March 5, 2015Applicant: IRDETO CANADA CORPORATIONInventors: Harold Johnson, Yuan Xiang Gu, Michael Wiener, Yongxin Zhou
-
Publication number: 20150067874Abstract: Systems and techniques for securing accessible computer-executable program code and systems are provided. One or more base functions may be generated and blended with existing program code, such that it may be difficult or impossible for a potential attacker to distinguish the base functions from the existing code. The systems and code also may be protected using a variety of other blending and protection techniques, such as fractures, variable dependent coding, dynamic data mangling, and cross-linking, which may be used individually or in combination, and/or may be blended with the base functions.Type: ApplicationFiled: March 28, 2013Publication date: March 5, 2015Applicant: IRDETO CANADA CORPORATIONInventors: Harold Johnson, Yuan Xiang Gu, Michael Wiener
-
Patent number: 8752032Abstract: Methods and devices for thwarting code and control flow based attacks on software. The source code of a subject piece of software is automatically divided into basic blocks of logic. Selected basic blocks are amended so that their outputs are extended. Similarly, other basic blocks are amended such that their inputs are correspondingly extended. The amendments increase or create dependencies between basic blocks such that tampering with one basic block's code causes other basic blocks to malfunction when executed.Type: GrantFiled: February 23, 2007Date of Patent: June 10, 2014Assignee: Irdeto Canada CorporationInventors: Harold Joseph Johnson, Yuan Xiang Gu, Yongxin Zhou
-
Publication number: 20140026214Abstract: A method to secure a non-native application. The non-native application is processed to obtain an application stub to be triggered within a virtual machine. The processing of the non-native application also provide a native code function upon which the application stub depends. The non-native function is part of a trusted module that extends security services from the trusted module to the virtual machine. The trusted module is a native code application that creates a trusted zone as a root of trustiness extending to the virtual machine by an execution-enabling mechanism between the application tab and the non-native function.Type: ApplicationFiled: March 31, 2011Publication date: January 23, 2014Applicant: IRDETO B.V.Inventors: Garney David Adams, Yuan Xiang Gu, Jack Jiequn Rong
-
Publication number: 20140013427Abstract: A method and system is provided to automatically propagate dependencies from one part of a software application to another previously unrelated part. Propagation of essential code functionality and data to other parts of the program serves to augment common arithmetic functions with Mixed Boolean Arithmetic (MBA) formulae that are bound to pre-existing parts of the program. A software application is first analyzed on a compiler level to determine the program properties which hold in the program. Thereafter, conditions are constructed based on these properties and encoded in formulae that encode the condition in data and operations. Real dependencies throughout the application are therefore created such that if a dependency is broken the program will no longer function correctly.Type: ApplicationFiled: March 24, 2011Publication date: January 9, 2014Applicant: IRDETO B.V.Inventors: Clifford Liem, Yongxin Zhou, Yuan Xiang Gu
-
Patent number: 8458792Abstract: Attacks by computer viruses, worm programs, and other hostile software (‘malware’), have become very serious problems for computer systems connected to large communication networks such as the Internet. One potential defense against such attacks is to employ diversity—that is, making each copy of the attacked software different. However, existing diversity techniques do not offer sufficient levels of protection. The invention provides an effective diversity solution by applying tamper resistant software (TRS) encoding techniques, to the communications that take place between software components, with corresponding changes to the code handling those communications. These communications may include, for example, data passed between software routines via parameters or mutually accessible variables, light-weight messages, signals and semaphores passed between threads, and messages passed between software processes. Effective TRS encoding techniques include data-flow encoding and mass-data encoding techniques.Type: GrantFiled: May 12, 2011Date of Patent: June 4, 2013Assignee: Irdeto Canada CorporationInventors: Stanley T. Chow, Harold T. Johnson, Alexander Main, Yuan Xiang Gu
-
Patent number: 8424077Abstract: Systems and methods for unattended authentication of software applications to provide these applications with access to shared resources. A server password manager (SPM) module resident on a node also occupied by a requester software application requesting access to resources receives the requestor's request. The SPM module creates a request package containing the requestor's information as well as the node's identifying information. The request package is then transmitted to a credentials manager (CM) module in a CM node. The request package, encrypted by the SPM module with encryption keys previously generated by the CM module, is decrypted by the CM module. The contents are checked against data stored by the CM module regarding the SPM module and the requestor application when these were registered with the CM. If the data matches, then the CM provides credentials which are used to give the requestor application access to the requested resources.Type: GrantFiled: December 18, 2006Date of Patent: April 16, 2013Assignee: Irdeto Canada CorporationInventors: Garney David Adams, Robert Grapes, Yuan Xiang Gu, Richard Edward Johnston Mehan, Jack Jiequn Rong
-
Publication number: 20120246487Abstract: A method and system that provides secure modules that can address Java platform weaknesses and protect Java bytecode during execution time. The secure modules are implemented in C/C++ as an example. Because implementation of the security modules is made in C/C++, this enables use of security technology that secures C/C++ software code.Type: ApplicationFiled: November 12, 2010Publication date: September 27, 2012Applicant: IRDETO CANADA CORPORATIONInventors: Yuan Xiang Gu, Garney Adams, Jack Rong
-
Publication number: 20120192283Abstract: A system and method for transforming a software application comprising binary code and optionally associated data, from an original form to a more secure form. The method includes performing a combination of binary transmutations to the application, and interlocking the transmutations by generating and placing interdependencies between the transmutations, wherein a transmutation is an irreversible change to the application. Different types of the transmutations are applied at varied granularities of the application. The transmutations are applied to the application code and the implanted code as well. The result is a transformed software application which is semantically equivalent to the original software application but is resistant to static and/or dynamic attacks.Type: ApplicationFiled: May 6, 2010Publication date: July 26, 2012Applicant: IRDETO CANADA CORPORATIONInventors: Yuan Xiang Gu, Paul McRae, Bogdan Nicolescu, Valery Levitsky, Xijian Zhu, Hongrui Dong, Daniel Elie Murdock