ERP security


ERP Security is a wide range of measures aimed at protecting Enterprise resource planning systems from illicit access ensuring accessibility and integrity of system data. ERP system is a computer software that serves to unify the information intended to manage the organization including Production, Supply Chain Management, Financial Management, Human Resource Management, Customer Relationship Management, Enterprise Performance Management. Common ERP systems are SAP, Oracle E-Business Suite, Microsoft Dynamics.

Review

ERP system integrates business processes enabling procurement, payment, transport, human resources management, product management, and financial planning.
As ERP system stores confidential information, the Information Systems Audit and Control Association recommends to regularly conduct a comprehensive assessment of ERP system security, checking ERP servers for software vulnerabilities, configuration errors, segregation of duties conflicts, compliance with relevant standards and recommendations, and recommendations of vendors.

Causes for vulnerabilities in ERP systems

Complexity

ERP systems process transactions and implement procedures to ensure that users have different access privileges. There are hundreds of authorization objects in SAP permitting users to perform actions in the system. In case of 200 users of the company, there are approximately 800,000 ways to customize security settings of ERP systems. With the growth of complexity, the possibility of errors and segregation of duties conflicts increases.

Specificity

Vendors fix vulnerabilities on the regular basis since hackers monitor business applications to find and exploit security issues. SAP releases patches monthly on Patch Tuesday, Oracle issues security fixes every quarter in . Business applications are becoming more exposed to the Internet or migrate to the cloud.

Lack of competent specialists

ERP Cybersecurity survey revealed that organizations running ERP systems "lack both awareness and actions taken towards ERP security".
ISACA states that "there is a shortage of staff members trained in ERP security" and security services have the superficial understanding of risks and threats associated with ERP systems. Consequently, security vulnerabilities complicate undertakings such as detecting and subsequent fixing.

Lack of security auditing tools

ERP security audit is done manually as various tools with ERP packages do not provide means for system security auditing. Manual auditing is a complex and time-consuming process that increases the possibility of making a mistake.

Large number of customized settings

The system includes thousands of parameters and fine settings including segregation of duties for transactions and tables, and the security parameters are set for every single system. ERP system settings are customized according to customers' requirements.

Security issues in ERP systems

Security issues occur in ERP systems at different levels.

Network layer

Traffic interception and modification
In 2011, Sensepost specialists analyzed DIAG protocol used in SAP ERP system for transferring data from the client to the SAP server. Two utilities were published that allowed to intercept, decrypt, and modify client-server requests containing critical information. This made attacks possible including Man-in-the-middle attack. The second utility operates like a Proxy and was created to identify new vulnerabilities. It allowed modifying requests coming to client and server.
In the SAP ERP system, it is possible to perform administering functions via Telnet protocol, which encrypts passwords.
Vulnerabilities in encryption or authentication protocols
  • Authentication by hash
  • XOR password encryption
  • Imposing the use of outdated authentication protocols
  • Incorrect authentication protocols
Vulnerabilities in protocols.
'
RFC protocol is used to connect two systems by TCP/IP in SAP ERP. RFC call is a function that enables calling and running a functional module located in a system. The ABAP language that is used for writing business applications for SAP have functions to make RFC calls. Several critical vulnerabilities were found in SAP RFC Library versions 6.x and 7.x:
OS software vulnerabilities
Weak OS passwords
Insecure OS settings
ERP systems transfer more functionality on the web applications level with a lot of vulnerabilities:
In ERP systems, RBAC model is applied for users to perform transactions and gain access to business objects.
In the model, the decision to grant access to a user is made based on the functions of users, or roles. Roles are a multitude of transactions the user or a group of users performs in the company. Transaction is a procedure of transforming system data, which helps perform this transaction. For any role, there is a number of corresponding users with one or multiple roles. Roles can be hierarchical. After the roles are implemented in the system, transactions corresponding to each role rarely change. The administrator needs to add or delete users from roles. The administrator provides a new user with a membership in one or more roles. When employees leave the organization, the administrator removes them from all the roles.

Segregation of Duties

Segregation or Separation of duties, also known as SoD, is the concept according to which a user cannot make a transaction without other users and a risk of fraud is much lower. SoD can be implemented by RBAC mechanisms, and a notion of mutually exclusive roles is introduced. For instance, to pay a supplier, one user initiates payment procedure and another accepts it. In this case, initiating payment and accepting are mutually exclusive roles. Segregation of duties can be either static or dynamic. With static SoD, a user cannot belong to two mutually exclusive roles. With dynamic SoD, a user does but cannot perform them within one transaction. Both of them have their own advantages. SSoD is simple, while DSoD is flexible. Segregation of Duties is explained in SoD matrix. X and Y matrixes describe system roles. If the two roles are mutually exclusive, there is a flag at the interception of the corresponding rows and columns.

ERP Security scanners

ERP Security scanner is a software intended to search for vulnerabilities in ERP systems. Scanner analyzes configurations of ERP system, searches for misconfigurations, access control and encryption conflicts, insecure components, and checks for updates. The scanner checks system parameters for compliance with the manufacturer's recommendations and auditing procedures :en:ISACA|ISACA. ERP Security scanners produce reports with the vulnerabilities listed according to their criticality.
The examples of scanners: