EP2709033A1 - System und Verfahren zur Detektion von Datenextrusion in Softwareanwendungen - Google Patents

System und Verfahren zur Detektion von Datenextrusion in Softwareanwendungen Download PDF

Info

Publication number
EP2709033A1
EP2709033A1 EP13184725.3A EP13184725A EP2709033A1 EP 2709033 A1 EP2709033 A1 EP 2709033A1 EP 13184725 A EP13184725 A EP 13184725A EP 2709033 A1 EP2709033 A1 EP 2709033A1
Authority
EP
European Patent Office
Prior art keywords
data
code
abap
critical
sap
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
EP13184725.3A
Other languages
English (en)
French (fr)
Other versions
EP2709033B1 (de
Inventor
designation of the inventor has not yet been filed The
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Virtual Forge GmbH
Original Assignee
Virtual Forge GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US13/621,379 external-priority patent/US10025688B2/en
Application filed by Virtual Forge GmbH filed Critical Virtual Forge GmbH
Publication of EP2709033A1 publication Critical patent/EP2709033A1/de
Application granted granted Critical
Publication of EP2709033B1 publication Critical patent/EP2709033B1/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/43Checking; Contextual analysis
    • G06F8/433Dependency analysis; Data or control flow analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/556Detecting local intrusion or implementing counter-measures involving covert channels, i.e. data leakage between processes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security

Definitions

  • This invention relates generally to data loss/leak prevention and, in particular, to a system and method for detecting data extrusion in software applications, including SAP® ABAPTM applications.
  • DLP Data Loss Prevention
  • IT information technology
  • DLP solutions look for data leaks, but existing tools work by monitoring data in motion. This requires that the applications that are to be monitored are running and that the solution has direct text access to all network traffic.
  • Existing DLP tools monitor data that is interchanged between users and/or applications over a network. In order to analyze network traffic, a sensor needs to be deployed per data channel. Identification of critical data is based on heuristic rather than firm information. This can lead to false positives if meaningless data has the same format as critical data. This may also lead to false negatives, if critical data is extracted in a modified or scrambled form the heuristic does not understand, or if the heuristic has a bug. With existing solutions only running/productive applications can be monitored. If the data analysis fails, there is no second chance to prevent data loss. Users that operate DLP solutions may see the critical/confidential data that has been detected, which may raise further sensitive issues.
  • SAP Advanced Business Application Programming
  • SAP applications process the key assets of an organization, such as personal data, production data (intellectual property) and financial data. If this data is leaked to unauthorized parties, the affected company may fall prey to industrial espionage, receive bad press or even violate (privacy) laws.
  • SAP applications are increasingly connected to external systems and are (remote) accessible by a continuously growing user base. As such, the exposure of SAP systems has grown. A large amount of SAP custom coding is outsourced, and this code must be analyzed for data leaks and "backdoors.” SAP applications are more and more in the focus of hackers, which increases the likelihood of attacks.
  • This invention is directed at data loss/leak prevention in software applications, with particular emphasis on business impacts arising from the affected system.
  • the system and method provide comprehensive techniques for identifying security leaks, and measuring the impact of those defects in the context of the business configuration and environment. These techniques include data flow analysis and control flow analysis. While a disclosed example relates to the detection of data extrusion in SAP® ABAPTM software applications, the techniques are not limited in terms of implementation, particularly if the application and/or system are called upon to manipulate, distribute, or store sensitive information associated with financial, business, or personal data.
  • AFA Asset Flow Analysis
  • asset flow analysis can be used to identify read access to critical business data (like credit card numbers) and visualize the subsequent use of this data. This allows identifying that code which accesses critical data and visualizes in what context this data is used.
  • AFA greatly helps identifying back doors related to information leaks and data processing that does not adhere to compliance standards. It adds unique value to the security analysis of business applications.
  • a novel data extrusion mechanism particulary a data leak (or loss) prevention mechanism makes use of a relevant subset of all the possible data paths detected by asset flow analysis: the data paths that actually transfer the data beyond the limits of the system. This automatically removes all false positive findings where critical data is read and processed internally, without any transfer outside of the system.
  • the value of the data extrusion mechanism is specifically that only precise findings are delivered: Code that accesses critical data and also extrudes that very data.
  • the invention provides a knowledge base of critical business functions and critical database content, including the SAP standard (the knowledge base is equivalent to the ABAP specific language rules for data extrusion).
  • the system checks if any ABAP code on a given system performs read access to critical business data and subsequently transfers this data beyond the control limits of the SAP system. If such code exists, a data leak has been identified and will be flagged as security violation.
  • the knowledge base can be extended by configuring which database content is to be regarded as critical in any given organization.
  • the present application is a DLP procedure and refers to a method of detecting data extrusion in a software application, comprising the steps of:
  • the SAP system has a dedicated data dictionary (DDIC).
  • DDIC dedicated data dictionary
  • all data types are listed and described on a more abstract level (for example relating to the length of a specific data type / a size category, the name, a description and other information).
  • the present invention accesses this data dictionary in order to find and select dedicated security relevant data types (like for example: credit card number, password codes and or other confidential data).
  • the present invention also refers to a computer program product.
  • This product may comprise a list with predefined critical data types, which will be observed and monitored automatically. According to a preferred aspect this list may be extended by the user with additional data types to be observed. It may thus be possible to integrate experience knowledge with respect to the criticality of specific data types as well as data types created by the user in custom code. Thus, users may be supported by evaluating their "own" data types by means of the SAP DDIC extension.
  • the DLP system for detecting data extrusions may be at least in part implemented as a self learning system.
  • the DLP mechanism automatically finds all data processings which involve the processing of pre-defined critical data types.
  • the data processing may refer to a mere loading of critical data types or variables with a critical type, without a data base access or to outputting critical data types.
  • the system's security may be enhanced, because also those processings of critical data (independent of their origin) are filtered which do not involve a data base access.
  • the DLP analysis refers to all kind of data base transactions, including WRITE-, READ- and/or EXECUTE accesses.
  • the DLP method is not based on a heuristic but on real data processing. Particularly, the data processing of the system to be monitored is scanned and evaluated on a semantical level.
  • the present invention outputs a finding list in which all cases are mentioned in which a critical data item (data type) is loaded and is outputted (to any external source by any outputting operation).
  • the findings list is more precise, compared to other lists in which all findings have been mentioned including those findings, which are only of internal use and do not show a security risk.
  • the data loss prevention (also abbreviated with DLP) according to the present invention is based on an automatic analysis of data types or variable or tables with data types.
  • Specific data types may be pre-defined and / or configured as critical.
  • the present application relates to a computer program product according to the accompanying claim and to a computer program.
  • the computer program may be stored on a computer readable medium or may be downloaded over a network, such as the internet.
  • This invention overcomes shortcomings associated with existing DLP (data loss/leak prevention) approaches through the use of a fundamentally different concept to detect data leaks: Extrusion Prevention, which can be used in SAP environments.
  • Extrusion Prevention which can be used in SAP environments.
  • a point of novelty with this approach is to analyze source code (static analyses) rather than running applications (dynamic analysis).
  • the invention makes use of Static Code Analysis (SCA) principles in order to identify all code that extracts critical data (assets) and exposes it to the outside. This is done by performing advanced data flow analysis. Standard SCA tools do not perform Asset Flow Analysis. And while SCA has been an established concept for many years, and while there are vendors that offer SCA tools for ABAP (see for example Virtual Forge's CodeProfiler: http://tinyurl.com/sapcertified-sca), there is currently no SCA tool for SAP ABAP that can determine if critical data is transported beyond the access control limits of an SAP system.
  • SCA Static Code Analysis
  • FIG. 1 illustrates major components of the invention, the interaction of which will now be described in detail.
  • Component [100] the ABAP-code aggregator, collects code, code meta information and system configuration settings from the SAP database, and transforms the distributed SAP internal representation of this information into a complete, aggregated, interchangeable format [101].
  • the transformer can be triggered from within the SAP system or externally, e.g. via RFC (Remote Function Call - SAP's mechanism to call function modules in another SAP system or in an external application).
  • RFC Remote Function Call - SAP's mechanism to call function modules in another SAP system or in an external application.
  • the ABAP-code and metadata importer [200] imports the previously extracted interchangeable representation into a built-in database.
  • the database table model has been specifically created to store parsed ABAP code and related meta data in the most efficient way for analysis: the enhanced execution model.
  • the ABAP-code parser [300] parses the ABAP interchangeable representation and transforms it into an enhanced execution model [301] to simplify rules analysis.
  • the enhanced execution model is stored in the internal database and also contains ABAP authorization, ABAP control flow, and ABAP data flow information.
  • Rules engine [400] provides specific information and rules about critical database tables and columns as well as SAP standard commands and functions that transfer data beyond the control limits of an SAP system. These rules have been researched by the inventors in years of code analysis.
  • the ABAP code analyzer [500] applies rules from the rules engine to the enhanced ABAP execution model.
  • the probability of findings is computed based on ABAP authorization, ABAP control flow, ABAP data flow information as well as modification of the data during processing.
  • the outcome is based on information in the rules engine.
  • Report generator [600] provides the findings of the ABAP code analysis in various formats. The findings include detailed descriptions about the problem and provide guidance for a solution.
  • the ABAP-code aggregator [100] collects the ABAP source code of the various ABAP programming paradigms by resolving component inter-dependencies and by extracting all related source code from the SAP database.
  • This source code is enriched by the invention with additional metadata about the code itself (e.g. function parameters which are not directly included in the source code, RFC-flags of function modules, authorization groups...) and the SAP system (e.g. SAP release, Roles and Authorizations, Authorizations for transactions, relations between reports and transactions, active services, logs, etc.).
  • the ABAP code fragments and their meta information that are originally diversely distributed in the SAP database are actually transformed into a complete, aggregate, portable ABAP and metadata representation [101].
  • This representation includes aggregated source code, parameters, attributes, comments, code meta information and system/meta information.
  • ZVF_PATENT a sample ABAP class
  • the schematic of Figure 2 shows the code fragmentation in the SAP database based on our example ABAP class (ZVF_PATENT), which has two class attributes (pernr and authorized) and two class methods (z_example_exit and z_example_asset).
  • the schematic shows the relations between database tables that hold code fragments as well as an SAP API function (SEO_METHOD_GET_SOURCE) that provides the source code of a single method.
  • SAP table TADIR which contains a list of all ABAP code objects. Once the existence is confirmed, potential relations (super-classes or sub-classes) of this class are looked up in table SEOMETAREL. In the example, there are neither super- nor sub-classes.
  • the relevant table keys are CLSNAME (the name of the class) and CMPTYPE 0 (indicating a class variable).
  • the variables names are stored in column CMPNAME.
  • the data type of each identified variable is then read from table SEOCOMPODF.
  • the relevant table keys are CLSNAME (the name of the class) and CMPNAME (the name of each variable).
  • the column TYPTYPE indicates if the variable is of simple type (1) or an object reference (3), column TYPE determines the actual ABAP variable type.
  • the class methods are read from table TMDIR.
  • the relevant table key is CLASSNAME (the name of the class).
  • the column METHODNAME holds the name of any given the method.
  • the method parameters are read from table SEOSUBCODF.
  • the relevant table keys are CLSNAME (the name of the class) and CMPNAME (the name of each variable).
  • the column SCONAME holds the name of a parameter.
  • the column TYPTYPE indicates if the variable is of simple type (1) or an object reference (3), column TYPE determines the actual ABAP variable type.
  • the ABAP-code importer [200] imports the aggregated code and metadata representation [101] into the CodeProfiler internal format [201], which is basically an in-memory representation of the aggregated code and metadata representation [101].
  • This internal format was designed to represent data in a way that subsequent read and write access by the parser takes place with minimal performance-impact. Performance is important, since an SAP system can contain more than 160 million lines of standard code. This standard code has to be analyzed as well, since practically all custom ABAP code calls SAP standard code (APIs) and the whole data/control flow - from the custom code to the standard code - has to be considered.
  • the internal format [201] of ZVF_PATENT is shown in Figure 4 .
  • the code in the internal format [201] is then parsed and transformed by the ABAPTM-code parser and transformer [300] into an Enhanced Execution Model [301].
  • This model is stored in a database and contains ABAP specific meta-information. It also describes data transports between different variables and functions as a basis for the ABAP data flow model.
  • the parser analyzes the source code, module by module.
  • a module in this context is a given ABAP function, subroutine, class method, report etc.
  • the parser first identifies all variables per module and stores their source code positions in the database. The parser then relates read access to a (source) variable to the corresponding write access to a (destination) variable per ABAP command as transitions in the database. In order to construct a data flow, the parser then relates the various data transitions between the different commands per code module to each other in the order of the control flow in the database. This generates several database tables, representing a dataflow graph inside a given code module. We do not explain the principle of data flow analysis in further detail here, since this mechanism is well known and has been described publically several times (see for example [1,4,7]). However, we show the special methods for conducting data and control flow analysis in ABAP programs.
  • the parser adds information about SAP authorization checks in the control flow of any given code module. Based on the local data flow graphs, the parser then builds a call graph between the different code modules by relating all commands that call other code modules to the called code module. In ABAP, this requires consideration of the meta data extracted from the SAP database.
  • the parameters of any code module have to be connected to the data flow transitions. Do to so, the parameters which are not stored in the source code have to be read from the meta information of any given code module that have been previously extracted.
  • the invention builds a complete call graph of the entire SAP standard coding, together with any given custom coding which is part of the inspection and any relevant SAP authorization checks detected in the code.
  • This complete call graph represents a solid basis for all further analysis based on the rules provided by the ABAP-rules engine [400].
  • the parser In order to build a data flow graph, the parser needs to consider specialties in the ABAP language. Whereas in most other languages data flow is propagated by API functions, in ABAP most data flows are caused by commands, that are implicitly a part of the ABAP language itself. Therefore the parser needs to consider all ABAP commands that exchange data locally and in the ABAP shared memory. Commands that exchange data in shared memory are e.g.
  • Commands that exchange data locally are e.g. CONCATENATE, MOVE, REPLACE, ASSIGN, SPLIT, APPEND, APPEND TO itab, LOOP AT itab, INSERT INTO itab, MODIFY itab, READ TABLE as well as the new string operations introduced in SAP basis 7.20 (SUBSTRING, SUBSTRING_AFTER, SUBSTRING_FROM, SUBSTRING_BEFORE, SUBSTRING_TO, SEGMENT, REPLACE, REPEAT, REVERSE, SHIFT_LEFT, SHIFT_RIGHT, CONDENSE, TRANSLATE, TO_UPPER, TO_LOWER, TO_MIXED, FROM_MIXED, ESCAPE, CONCAT_LINES_OF).
  • asset sources e.g. database content
  • Assets are special variable sources that carry input, e.g. a value read from a critical database table or from an important configuration variable.
  • the list of asset sources as well as their type is defined in the ABAP-rules engine [400].
  • the Enhanced Execution Model [301] was designed to perform control and data flow analysis operations only once during a security analysis, in order to optimize performance and to keep memory resources small. Therefore, a complete control and data flow graph of the entire source code is created and persisted in the database in a compact format by the parser. An example for data and control flow graph and its compact representation is shown in Figure 5 and Figure 6 . This performance/resource optimization is required in order to scan a complete SAP system in one run, which can contain more than 160 million lines of code.
  • SAP AG continuously releases service packs and hotfixes for its various system lines. This, in return, results in constant changes in APIs. Since ABAP developed by SAP customers and consulting companies always uses SAP standard APIs, the standard functions must be part of a data extrusion analysis in order to deliver reliable results. Therefore, only a complete system scan ensures that the behavior of the code base installed on any given SAP system is analyzed correctly. An isolated scan of custom code without considering the current SAP APIs on the affected SAP would not return correct results.
  • the ABAP-rules engine [400] contains ABAP-specific language rules for data extrusion tests [401] and provides methods to maintain and customize these rules.
  • the standard rules represent an essential aspect of the invention, as they contain completely new, ABAP-specific testing approaches ("test cases") researched by the inventors. These test cases address unique functional concepts of an SAP system which have corresponding functionality in the ABAP language. The primary design of these test cases is to spot code that directly or indirectly reads critical information form the SAP system. Most of this critical information resides in the SAP database.
  • the ABAP rules engine covers many database tables and columns that mark critical business data processed by the SAP standard and these are considered by the test cases. In order to also cover custom developments, the rules engine can be extended by users by tables and columns that mark critical customer data (used by add-ons or custom code).
  • the rules engine also includes information about critical database tables (e.g. tables holding HR data or financial data) and critical SAP standard functions that leak data to the outside (e.g. ALV grids, GUI downloads, FTP transfer).
  • critical database tables e.g. tables holding HR data or financial data
  • critical SAP standard functions that leak data to the outside
  • the rule set is adapted to changes of the ABAP language and SAP standard functions.
  • the ABAP-code analyzer [500] applies the ABAP-specific language rules [401] from the rules engine [400] to the Enhanced Execution Model [301]. It performs an ABAP-specific analysis for data leaks, based on technical effects in the code and the extracted meta information. In order to do this, all data paths (data flows) from critical information to an ABAP-command or API function that transfers this data beyond the control of the SAP System are analyzed. If a connection from a variable containing critical business/customer data to the outside is detected, a data leaks is reported. An example for such coding can be found in the ZVF_PATENT application. In this instance access to table PA0002, column PERNR (holding the social security number) is traced to a WRITE command that renders this information in the user interface.
  • the ABAP-code analyzer considers numerous commands and API's researched by the inventors that extrude data. These commands and API's can be categorized the following: data downloads to SAP client, write-access to clipboard, write-access to files, Pop-up screens, outgoing emails, outgoing FTP connections, outgoing HTTP traffic, HTML output, system messages, spooler, RFC modules.
  • a Structured Representation of Findings [501] is generated that allows for prioritization by reflecting the computed business criticality per issue.
  • the Report generator [600] reads the structured representation of the findings [501] and transforms them into Human-Readable Representations (e.g. PDF documents, and results in a user interface) [601] as well as Machine-Readable Exchange Formats (e.g. XML files) [602] that can be used to feed external bug tracking systems or dashboards.
  • Human-Readable Representations e.g. PDF documents, and results in a user interface
  • Machine-Readable Exchange Formats e.g. XML files
  • this invention specifically relates to data extrusion issues in ABAP code, with a particular emphasis on the business impact on the affected SAP system.
  • the system and method identify data extrusions through static analysis of ABAP code. All current ABAP programming paradigms may be extracted, including Reports, Programs and Forms, Classes and Methods, Includes, Function Pools and Function Modules, BSP applications, Web Dynpro applications as well as relevant meta data.
  • the invention can parse the extracted ABAP coding, identify data and control flows and determine any read access to the database via Open SQL commands.
  • the invention has a predefined rule-base with a list of common critical database tables / columns in an SAP business context. Since the approach can determine read access to database tables in the code, all access to critical data can be identified with 100% accuracy. There is no need for heuristic analysis of the data.
  • the invention has a rule-base that can identify all (relevant) data exit points, i.e. ABAP commands and SAP API's that transfer the data they receive beyond the access control capabilities of an SAP system. Numerous data exit points may be identified, including server-side files, client-side files, SAPGUI user interface, HTTP traffic, FTP traffic, RFC traffic, etc., even if the destination / protocol is encrypted or scrambled. By means of data and control flow analysis, data transfers may be identified between a read access to a critical database table / column and a data exit point. The invention can also analyze other sources of critical data, such as source code, server-side files and generic access to database tables.
  • the invention can filter out any read access to critical data that does not result in a data leak (i.e. avoid false positives). Users may configure which database tables are critical in their specific business context to further reduce potential false positives.
  • the invention allows identifying access to critical data without displaying or logging the actual data, as well as the identification of data leaks without running the application. This proactive approach greatly reduces the risk of losing data.
  • a detailed human-readable report is generated with risk-values for all identified issues.
  • a detailed machine-readable report is also output with risk-values and mitigation proposals for all identified issues.

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Storage Device Security (AREA)
EP13184725.3A 2012-09-17 2013-09-17 System und Verfahren zur Detektion von Datenextrusion in Softwareanwendungen Active EP2709033B1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US13/621,379 US10025688B2 (en) 2010-03-14 2012-09-17 System and method for detecting data extrusion in software applications

Publications (2)

Publication Number Publication Date
EP2709033A1 true EP2709033A1 (de) 2014-03-19
EP2709033B1 EP2709033B1 (de) 2017-01-04

Family

ID=49382192

Family Applications (1)

Application Number Title Priority Date Filing Date
EP13184725.3A Active EP2709033B1 (de) 2012-09-17 2013-09-17 System und Verfahren zur Detektion von Datenextrusion in Softwareanwendungen

Country Status (1)

Country Link
EP (1) EP2709033B1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102021123255A1 (de) 2021-09-08 2023-03-09 Werth IT GmbH Datenverarbeitungssystem mit mindestens einem Server (S) als Zielsystem

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108763056A (zh) * 2018-04-19 2018-11-06 福建天晴数码有限公司 一种自动化测试弹框处理方法及终端

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1688856A2 (de) * 2005-02-04 2006-08-09 Microsoft Corporation Tresore für kritische Daten
US7207065B2 (en) 2004-06-04 2007-04-17 Fortify Software, Inc. Apparatus and method for developing secure software
US20120017280A1 (en) 2010-03-14 2012-01-19 Virtual Forge GmbH APPARATUS AND METHOD FOR DETECTING, PRIORITIZING AND FIXING SECURITY DEFECTS AND COMPLIANCE VIOLATIONS IN SAP® ABAPtm CODE
US20120151551A1 (en) * 2010-12-09 2012-06-14 International Business Machines Corporation Method and apparatus for associating data loss protection (DLP) policies with endpoints

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7207065B2 (en) 2004-06-04 2007-04-17 Fortify Software, Inc. Apparatus and method for developing secure software
EP1688856A2 (de) * 2005-02-04 2006-08-09 Microsoft Corporation Tresore für kritische Daten
US20120017280A1 (en) 2010-03-14 2012-01-19 Virtual Forge GmbH APPARATUS AND METHOD FOR DETECTING, PRIORITIZING AND FIXING SECURITY DEFECTS AND COMPLIANCE VIOLATIONS IN SAP® ABAPtm CODE
US20120151551A1 (en) * 2010-12-09 2012-06-14 International Business Machines Corporation Method and apparatus for associating data loss protection (DLP) policies with endpoints

Non-Patent Citations (8)

* Cited by examiner, † Cited by third party
Title
BENJAMIN LIVSHITS: "Stanford doctoral thesis", 2006, article "Static Techniques for Security"
BOHM; JACOPINI: "Comm.", vol. 9, May 1966, ACM, article "Flow diagrams, turing machines and languages with only two formation rules", pages: 366 - 371
BRIAN CHESS; GARY MCGRAW: "Static analysis for security", IEEE SECURITY ANDPRIVACY, vol. 2, no. 6, 2004, pages 76 - 79
DAHL; DIJKSTRA; HOARE: "Structured Programming", 1972, ACADEMIC PRESS
HANNE NIELSON; FLEMMING NIELSON; CHRIS HANKIN: "Principles of Program Analysis", 1999, SPRINGER
MARKUS SCHUMACHER: "Security Engineering with Patterns", 2003, SPRINGER VERLAG, pages: 153 - 154
PATRICK; RADHIA COUSOT: "Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints", 1977, ACM POPL
ZAHN, C. T.: "A control statement for natural top-down structured programming", SYMPOSIUM ON PROGRAMMING LANGUAGES, PARIS, 1974

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102021123255A1 (de) 2021-09-08 2023-03-09 Werth IT GmbH Datenverarbeitungssystem mit mindestens einem Server (S) als Zielsystem

Also Published As

Publication number Publication date
EP2709033B1 (de) 2017-01-04

Similar Documents

Publication Publication Date Title
US10025688B2 (en) System and method for detecting data extrusion in software applications
US11899818B2 (en) System and method for code-based protection of sensitive data
US11783054B2 (en) System and method for information flow analysis of application code
US8402547B2 (en) Apparatus and method for detecting, prioritizing and fixing security defects and compliance violations in SAP® ABAP™ code
US10379824B2 (en) Method for static security enforcement of a DSL
US8850581B2 (en) Identification of malware detection signature candidate code
US20070083933A1 (en) Detection of security vulnerabilities in computer programs
Ebrahimi et al. Mobile app privacy in software engineering research: A systematic mapping study
Ren et al. Making smart contract development more secure and easier
Praitheeshan et al. Security evaluation of smart contract-based on-chain ethereum wallets
Li et al. Stan: Towards describing bytecodes of smart contract
US9569335B1 (en) Exploiting software compiler outputs for release-independent remote code vulnerability analysis
Ren et al. Scstudio: a secure and efficient integrated development environment for smart contracts
Di Angelo et al. Evolution of automated weakness detection in Ethereum bytecode: a comprehensive study
Chahar et al. Code analysis for software and system security using open source tools
EP2709033B1 (de) System und Verfahren zur Detektion von Datenextrusion in Softwareanwendungen
Ma et al. Code analysis with static application security testing for python program
Furda et al. A practical approach for detecting multi-tenancy data interference
Abid et al. Prioritizing refactorings for security-critical code
Melnik et al. Enforcing secure coding rules for the C programming language using the eclipse development environment
Moffitt A framework for legacy source code audit analytics
Zhang et al. Automatic generation of security-centric descriptions for android apps
Maidl et al. Model-based threat modeling for cyber-physical systems: a computer-aided approach
Rajapaksha et al. Enhancing Security Assurance in Software Development: AI-Based Vulnerable Code Detection with Static Analysis
Di Stasio Evaluation of Static Security Analysis Tools on Open Source Distributed Applications

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

AX Request for extension of the european patent

Extension state: BA ME

RIN1 Information on inventor provided before grant (corrected)

Inventor name: SCHUMACHER, MARKUS

Inventor name: RITTER, JOACHIM

Inventor name: KASTNER, THOMAS

Inventor name: WIEGENSTEIN, ANDREAS

17P Request for examination filed

Effective date: 20140918

RBV Designated contracting states (corrected)

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

17Q First examination report despatched

Effective date: 20141212

REG Reference to a national code

Ref country code: DE

Ref legal event code: R079

Ref document number: 602013016087

Country of ref document: DE

Free format text: PREVIOUS MAIN CLASS: G06F0021550000

Ipc: G06F0021570000

GRAP Despatch of communication of intention to grant a patent

Free format text: ORIGINAL CODE: EPIDOSNIGR1

INTG Intention to grant announced

Effective date: 20160714

RIC1 Information provided on ipc code assigned before grant

Ipc: G06F 21/55 20130101ALI20160701BHEP

Ipc: G06F 9/45 20060101ALI20160701BHEP

Ipc: G06F 21/57 20130101AFI20160701BHEP

GRAJ Information related to disapproval of communication of intention to grant by the applicant or resumption of examination proceedings by the epo deleted

Free format text: ORIGINAL CODE: EPIDOSDIGR1

GRAR Information related to intention to grant a patent recorded

Free format text: ORIGINAL CODE: EPIDOSNIGR71

GRAS Grant fee paid

Free format text: ORIGINAL CODE: EPIDOSNIGR3

GRAA (expected) grant

Free format text: ORIGINAL CODE: 0009210

INTC Intention to grant announced (deleted)
AK Designated contracting states

Kind code of ref document: B1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

INTG Intention to grant announced

Effective date: 20161128

REG Reference to a national code

Ref country code: GB

Ref legal event code: FG4D

REG Reference to a national code

Ref country code: CH

Ref legal event code: EP

REG Reference to a national code

Ref country code: AT

Ref legal event code: REF

Ref document number: 859894

Country of ref document: AT

Kind code of ref document: T

Effective date: 20170115

REG Reference to a national code

Ref country code: IE

Ref legal event code: FG4D

REG Reference to a national code

Ref country code: DE

Ref legal event code: R096

Ref document number: 602013016087

Country of ref document: DE

REG Reference to a national code

Ref country code: CH

Ref legal event code: NV

Representative=s name: RENTSCH PARTNER AG, CH

REG Reference to a national code

Ref country code: LT

Ref legal event code: MG4D

Ref country code: NL

Ref legal event code: MP

Effective date: 20170104

REG Reference to a national code

Ref country code: AT

Ref legal event code: MK05

Ref document number: 859894

Country of ref document: AT

Kind code of ref document: T

Effective date: 20170104

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: NL

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20170104

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: GR

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20170405

Ref country code: HR

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20170104

Ref country code: LT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20170104

Ref country code: NO

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20170404

Ref country code: FI

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20170104

Ref country code: IS

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20170504

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: ES

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20170104

Ref country code: SE

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20170104

Ref country code: AT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20170104

Ref country code: PL

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20170104

Ref country code: RS

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20170104

Ref country code: BG

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20170404

Ref country code: LV

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20170104

Ref country code: PT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20170504

REG Reference to a national code

Ref country code: FR

Ref legal event code: PLFP

Year of fee payment: 5

REG Reference to a national code

Ref country code: CH

Ref legal event code: PCAR

Free format text: NEW ADDRESS: BELLERIVESTRASSE 203 POSTFACH, 8034 ZUERICH (CH)

REG Reference to a national code

Ref country code: DE

Ref legal event code: R097

Ref document number: 602013016087

Country of ref document: DE

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: IT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20170104

Ref country code: CZ

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20170104

Ref country code: EE

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20170104

Ref country code: RO

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20170104

Ref country code: SK

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20170104

PLBE No opposition filed within time limit

Free format text: ORIGINAL CODE: 0009261

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: DK

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20170104

Ref country code: SM

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20170104

26N No opposition filed

Effective date: 20171005

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: SI

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20170104

REG Reference to a national code

Ref country code: BE

Ref legal event code: MM

Effective date: 20170930

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: BE

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20170930

REG Reference to a national code

Ref country code: FR

Ref legal event code: PLFP

Year of fee payment: 6

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: MT

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20170917

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: HU

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT; INVALID AB INITIO

Effective date: 20130917

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: CY

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20170104

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: MK

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20170104

REG Reference to a national code

Ref country code: DE

Ref legal event code: R082

Ref document number: 602013016087

Country of ref document: DE

Representative=s name: SCHWARZ + KOLLEGEN PATENTANWAELTE, DE

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: TR

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20170104

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: AL

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20170104

REG Reference to a national code

Ref country code: CH

Ref legal event code: PVP

REG Reference to a national code

Ref country code: LU

Ref legal event code: RC

Effective date: 20201113

REG Reference to a national code

Ref country code: GB

Ref legal event code: 732E

Free format text: REGISTERED BETWEEN 20210506 AND 20210512

REG Reference to a national code

Ref country code: LU

Ref legal event code: RF

Effective date: 20220513

P01 Opt-out of the competence of the unified patent court (upc) registered

Effective date: 20230525

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: CH

Payment date: 20231001

Year of fee payment: 11

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: DE

Payment date: 20240930

Year of fee payment: 12

Ref country code: MC

Payment date: 20240926

Year of fee payment: 12

Ref country code: IE

Payment date: 20240930

Year of fee payment: 12

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: GB

Payment date: 20240930

Year of fee payment: 12

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: LU

Payment date: 20240925

Year of fee payment: 12

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: FR

Payment date: 20240930

Year of fee payment: 12