Patents Assigned to Veracode, Inc.
-
Publication number: 20180025157Abstract: The present system includes a computer-networked system that allows mobile subscribers, and others, to submit mobile applications to be analyzed for anomalous and malicious behavior using data acquired during the execution of the application within a highly instrumented and controlled environment for which the analysis relies on per-execution as well as comparative aggregate data across many such executions from one or more subscribers.Type: ApplicationFiled: May 16, 2017Publication date: January 25, 2018Applicant: Veracode, Inc.Inventors: Theodora H. Titonis, Nelson R Manohar-Alers, Christopher J. Wysopal
-
Patent number: 9824223Abstract: In a binary patching system for alleviating security vulnerabilities in a binary representation of a software application, a binary code portion determined to be associated with a security vulnerability is replaced with a replacement binary code that can avoid such vulnerability without substantially changing the functionality of the code portion that was replaced. The replacement binary code can be selected based on properties and/or context of the code portion to be replaced.Type: GrantFiled: April 1, 2016Date of Patent: November 21, 2017Assignee: Veracode, Inc.Inventor: Thomas M. Pappas
-
Patent number: 9807085Abstract: A system for automating login can determine if a web artifact, such as a web page, includes a login form, by identifying a password field, a user ID field, and a submit button or another element providing the functionality to submit credentials for authorization. Submission of user credentials may be emulated, and access to password protected areas can be ascertained, e.g., by identifying any element that permits signing out from the password protected area.Type: GrantFiled: March 14, 2014Date of Patent: October 31, 2017Assignee: Veracode, Inc.Inventor: Daniel Linszner
-
Patent number: 9798884Abstract: In a system for detecting composite vulnerabilities associated with a process or a context, individual defects/vulnerabilities in a software system/application are identified and clustered into two or more classes of defects, where each class includes one or more defects of related types. Given a pattern of defects of different types, where the pattern represents a composite vulnerability, it is determined by searching in the clusters, if the software system/application includes all of the defects/vulnerabilities associated with that pattern.Type: GrantFiled: October 11, 2016Date of Patent: October 24, 2017Assignee: Veracode, Inc.Inventors: Jack L. Bishop, III, Jason D. Montgomery, Kelley S. Campbell, Dennis Mederios
-
Patent number: 9672355Abstract: The present system includes a computer-networked system that allows mobile subscribers, and others, to submit mobile applications to be analyzed for anomalous and malicious behavior using data acquired during the execution of the application within a highly instrumented and controlled environment for which the analysis relies on per-execution as well as comparative aggregate data across many such executions from one or more subscribers.Type: GrantFiled: September 14, 2012Date of Patent: June 6, 2017Assignee: Veracode, Inc.Inventors: Theodora Heather Titonis, Nelson Roberto Manohar-Alers, Christopher John Wysopal
-
Patent number: 9645800Abstract: In system for enabling static vulnerability analysis of a software/web application that includes an indirectly modeled language portion and a directly modeled language portion, an indirectly modeled language information extractor select nodes of certain types from a syntax tree corresponding to the indirectly modeled language source code. Generally, the types of nodes that are selected are relevant to taint propagation. For one or more of the selected nodes, one or more statements corresponding to one or more of a type of the node, an input to the node, and an object associated with the node are generated. A static analyzer configured for a directly modeled language may perform vulnerability analysis of the software/web application using the generated statements.Type: GrantFiled: December 19, 2014Date of Patent: May 9, 2017Assignee: Veracode, Inc.Inventor: Mansi Sheth
-
Patent number: 9405906Abstract: In a system for determining components of a software application from binary code thereof, one or more binary files are read without loading any component/object in the files in an execution environment that can execute the software application. A component in one of the files, designated as a primary component, is visited to identify a path specifying origin of a secondary component that is associated with the primary component, and the identified path is stored. Analysis of the path can indicate whether the secondary component is provided by the developer of the software application or by a different entity.Type: GrantFiled: February 25, 2015Date of Patent: August 2, 2016Assignee: Veracode, Inc.Inventor: Mansi Sheth
-
Patent number: 9317695Abstract: In a binary patching system for alleviating security vulnerabilities in a binary representation of a software application, a binary code portion determined to be associated with a security vulnerability is replaced with a replacement binary code that can avoid such vulnerability without substantially changing the functionality of the code portion that was replaced. The replacement binary code can be selected based on properties and/or context of the code portion to be replaced.Type: GrantFiled: September 25, 2014Date of Patent: April 19, 2016Assignee: Veracode, Inc.Inventor: Thomas M. Pappas
-
Patent number: 9286041Abstract: Presently described is a decompilation method of operation and system for parsing executable code, identifying and recursively modeling data flows, identifying and recursively modeling control flow, and iteratively refining these models to provide a complete model at the nanocode level. The nanocode decompiler may be used to determine if flaws, security vulnerabilities, or general quality issues exist in the code. The nanocode decompiler outputs in a standardized, human-readable intermediate representation (IR) designed for automated or scripted analysis and reporting. Reports may take the form of a computer annotated and/or partially human annotated nanocode listing in the above-described IR Annotations may include plain English statements regarding flaws and pointers to badly constructed data structures, unchecked buffers, malicious embedded code or “trap doors,” and the like. Annotations may be generated through a scripted analysis process or by means of an expert-enhanced, quasi-autonomous system.Type: GrantFiled: June 4, 2014Date of Patent: March 15, 2016Assignee: Veracode, Inc.Inventor: Christien Rioux
-
Patent number: 9286063Abstract: The techniques and supporting systems described herein provide a comprehensive and customizable approach to identifying the use of best practices during the design and development of software applications, as well as recommending additional enhancements or courses of action that may be implemented to further improve the application. Target software application code is received specific application security best practices applicable to the target software application are identified. Locations in the code where the various best practices ought to be implemented are then identified, and a determination is made whether the relevant best practices are implemented for each location. Finally, positive feedback is provided to the developers for what appears to be their correct implementation of best practices.Type: GrantFiled: February 19, 2013Date of Patent: March 15, 2016Assignee: Veracode, Inc.Inventors: Mark Kriegsman, Brian Black
-
Patent number: 9207920Abstract: A system for testing a software application receives one or more object spaces extracted from a development or runtime environment of the software application. The extracted object space includes information about various objects associated with the software application, its dependencies, and/or environment, and some of the objects may be dynamically created and/or modified. The extracted object space does not include any source code. A language dependent extraction component can extract the object space using introspections and/or reflection APIs. The extracted object can be translated into a language-independent format and can be analyzed to identify any vulnerabilities in the software application without access to the source code, compiled binary, and runtime environment of the software application.Type: GrantFiled: May 30, 2014Date of Patent: December 8, 2015Assignee: Veracode, Inc.Inventors: Ryan O'Boyle, John Mcenerney, Christien Rioux
-
Patent number: 9195833Abstract: In a system for facilitating distributed security and vulnerability testing of a software application, each development sandbox in a set of sandboxes receives a portion of the entire application, and the received portion may be tested based on an application-level security policy to obtain a pass/fail result. The portion of the application corresponding to a certain sandbox may be modified and rescanned (i.e., retested) until the modifications, i.e., development achieves functional and quality requirements, and a pass result is obtained. Thereafter, the scan results are promoted to a policy sandbox, where a compliance result for the entire software application can be obtained based on, at least in part, the promoted results. Other sandboxes may also perform their respective pass/fail testing using the promoted results, thus minimizing the need for synchronizing the code changes in different sandboxes before testing for security policy in any sandbox and/or during application-level scanning.Type: GrantFiled: November 19, 2013Date of Patent: November 24, 2015Assignee: Veracode, Inc.Inventor: Peter John Chestna
-
Patent number: 9069967Abstract: Security analysis and vulnerability testing results are “packaged” or “bound to” the actual software it describes. By linking the results to the software itself, downstream users of the software can access information about the software, make informed decisions about implementation of the software, and analyze the security risk across an entire system by accessing all (or most) of the reports associated with the executables running on the system and summarizing the risks identified in the reports.Type: GrantFiled: September 17, 2010Date of Patent: June 30, 2015Assignee: Veracode, Inc.Inventors: Christopher J. Wysopal, Christopher J. Eng, Matthew P. Moynahan
-
Publication number: 20150106795Abstract: Presently described is a decompilation method of operation and system for parsing executable code, identifying and recursively modeling data flows, identifying and recursively modeling control flow, and iteratively refining these models to provide a complete model at the nanocode level. The nanocode decompiler may be used to determine if flaws, security vulnerabilities, or general quality issues exist in the code. The nanocode decompiler outputs in a standardized, human-readable intermediate representation (IR) designed for automated or scripted analysis and reporting. Reports may take the form of a computer annotated and/or partially human annotated nanocode listing in the above-described IR. Annotations may include plain English statements regarding flaws and pointers to badly constructed data structures, unchecked buffers, malicious embedded code or “trap doors,” and the like. Annotations may be generated through a scripted analysis process or by means of an expert-enhanced, quasi-autonomous system.Type: ApplicationFiled: June 4, 2014Publication date: April 16, 2015Applicant: Veracode, Inc.Inventor: Christien Rioux
-
Patent number: 8789027Abstract: Presently described is a decompilation method of operation and system for parsing executable code, identifying and recursively modeling data flows, identifying and recursively modeling control flow, and iteratively refining these models to provide a complete model at the nanocode level. The nanocode decompiler may be used to determine if flaws, security vulnerabilities, or general quality issues exist in the code. The nanocode decompiler outputs in a standardized, human-readable intermediate representation (IR) designed for automated or scripted analysis and reporting. Reports may take the form of a computer annotated and/or partially human annotated nanocode listing in the above-described IR. Annotations may include plain English statements regarding flaws and pointers to badly constructed data structures, unchecked buffers, malicious embedded code or “trap doors,” and the like. Annotations may be generated through a scripted analysis process or by means of an expert-enhanced, quasi-autonomous system.Type: GrantFiled: December 14, 2012Date of Patent: July 22, 2014Assignee: Veracode, Inc.Inventor: Christien Rioux
-
Patent number: 8613080Abstract: Security analysis and vulnerability testing results are “packaged” or “bound to” the actual software it describes. By linking the results to the software itself, downstream users of the software can access information about the software, make informed decisions about implementation of the software, and analyze the security risk across an entire system by accessing all (or most) of the reports associated with the executables running on the system and summarizing the risks identified in the reports.Type: GrantFiled: June 7, 2011Date of Patent: December 17, 2013Assignee: Veracode, Inc.Inventors: Christopher J. Wysopal, Matthew P. Moynahan, Jon R. Stevenson
-
Publication number: 20130227516Abstract: The techniques and supporting systems described herein provide a comprehensive and customizable approach to identifying the use of best practices during the design and development of software applications, as well as recommending additional enhancements or courses of action that may be implemented to further improve the application. Target software application code is received specific application security best practices applicable to the target software application are identified. Locations in the code where the various best practices ought to be implemented are then identified, and a determination is made whether the relevant best practices are implemented for each location. Finally, positive feedback is provided to the developers for what appears to be their correct implementation of best practices.Type: ApplicationFiled: February 19, 2013Publication date: August 29, 2013Applicant: Veracode, Inc.Inventor: Veracode, Inc.
-
Patent number: 8499353Abstract: Security assessment and vulnerability testing of software applications is performed based at least in part on application metadata in order to determine an appropriate assurance level and associated test plan that includes multiple types of analysis. Steps from each test are combined into a “custom” or “application-specific” workflow, and the results of each test may then be correlated with other results to identify potential vulnerabilities and/or faults.Type: GrantFiled: February 15, 2008Date of Patent: July 30, 2013Assignee: Veracode, Inc.Inventors: Malcolm W. Lockhart, Christopher J. Wysopal, Christopher J. Eng, Matthew P. Moynahan, Simeon Simeonov
-
Publication number: 20130152062Abstract: Presently described is a decompilation method of operation and system for parsing executable code, identifying and recursively modeling data flows, identifying and recursively modeling control flow, and iteratively refining these models to provide a complete model at the nanocode level. The nanocode decompiler may be used to determine if flaws, security vulnerabilities, or general quality issues exist in the code. The nanocode decompiler outputs in a standardized, human-readable intermediate representation (IR) designed for automated or scripted analysis and reporting. Reports may take the form of a computer annotated and/or partially human annotated nanocode listing in the above-described IR. Annotations may include plain English statements regarding flaws and pointers to badly constructed data structures, unchecked buffers, malicious embedded code or “trap doors,” and the like. Annotations may be generated through a scripted analysis process or by means of an expert-enhanced, quasi-autonomous system.Type: ApplicationFiled: December 14, 2012Publication date: June 13, 2013Applicant: Veracode, Inc.Inventor: Veracode, Inc.
-
Publication number: 20130097706Abstract: The present system includes a computer-networked system that allows mobile subscribers, and others, to submit mobile applications to be analyzed for anomalous and malicious behavior using data acquired during the execution of the application within a highly instrumented and controlled environment for which the analysis relies on per-execution as well as comparative aggregate data across many such executions from one or more subscribers.Type: ApplicationFiled: September 14, 2012Publication date: April 18, 2013Applicant: Veracode, Inc.Inventors: Theodora H. Titonis, Nelson R. Manohar-Alers, Christopher J. Wysopal