Oracle PeopleSoft applications are quite complex and consist of many components, so their security is not a simple thing. While there is almost no research on PS security, successful attacks against such systems happen from time to time. That’s why we decided to start series of articles about some aspects of PS security.
These applications are designed to address the most complex business requirements. They provide comprehensive business and industry solutions, enabling organizations to increase productivity, accelerate business performance, and lower cost of ownership.
Among Oracle's PeopleSoft applications are Human Resource Management Systems (HRMS), Financial Management Solutions (FMS), Supply Chain Management (SCM), customer relationship management (CRM), Enterprise Performance Management software (EPM), as well as software solutions for manufacturing and student administration. These applications can work as one big portal or separately.
PeopleSoft applications are used worldwide with more than 72% of customers in the USA. These applications are implemented in enterprises (more than 7000 companies), governments, and universities. The popularity of the solutions makes them an attractive target for cybercriminals.
Let's start with the basics. It is important to understand the architecture of PeopleSoft and to know some specific terms if you want to know more about methods of attacks against PeopleSoft. Today’s post is just a quick review of Oracle PeopleSoft Applications.
PeopleSoft's product suite was initially based on a client–server approach with a dedicated client. With the release of version 8, the entire suite moved to a web-centric design called PeopleSoft Internet Architecture (PIA). The new format allowed all of a company's business functions to be accessed and run on a web browser.
The PeopleSoft Internet Architecture is built around PeopleSoft’s proprietary PeopleTools technology. The PeopleTools development and runtime environment includes the basic technology features on which PeopleSoft Enterprise Portal is based.
The PeopleTools consist of Application Designer, Application Engine, Data Mover and various other developer tools. PeopleTools contains many different components used to create web-based applications: a scripting language known as PeopleCode, design tools to define various types of metadata, standard security structure, batch processing tools, and the ability to interface with an SQL database. The metadata describe data for user interfaces, tables, messages, security, navigation, portals, etc. This set of tools allows the PeopleSoft suite to be platform-independent solution.
PeopleCode is an object-oriented proprietary (case-insensitive) language used to express business logic for PeopleSoft applications. In its fundamentals, PeopleCode syntax resembles other programming languages (like Java). Some aspects of the PeopleCode language, however, are specifically related to the PeopleTools environment.
PeopleSoft Internet Architecture (PIA)
PeopleSoft Internet Architecture consists of several components. You can see them on the picture below.
The web server receives application requests from web browsers/external systems and forwards the requests to the Oracle Jolt port on the application server. A number of PeopleSoft servlets running on the web server handle incoming requests. Like the server processes on the application server, each PeopleSoft servlet is designed to perform unique functions.
Oracle WebLogic (more popular) or IBM WebSphere can be used as the web server.
The application server is the core of the PeopleSoft Internet Architecture; it provides the business logic, processes all users’ requests and gets information from the database server. The application server consists of PeopleSoft services that handle transaction requests and a special connection dispatched (Oracle Tuxedo). Unique PeopleSoft services run on the application server, with each service type designed to handle specific types of transactions. For example, some server services are designed to handle browser requests, others are designed to handle Integration Broker requests. PeopleSoft services perform business logic of PeopleSoft applications.
PeopleSoft uses Oracle Tuxedo to manage database transactions, and Jolt, Tuxedo's counterpart, to facilitate transaction requests issued from the users’ browsers.
The PeopleSoft servlets on the web server transmit requests and data through a connection to Jolt, which runs on the application server. Jolt is the communication layer between the web-based environment and the C++ environments.
Database server (RDBMS)
The database server houses your database engine and your PeopleSoft database, which includes all of your object definitions, system tables, application tables, and data.
There are three distinct layers within the RDBMS that work in concert to store and manage data for the PeopleSoft system: database system tables, tables with PeopleTools metadata and tables with data of applications. The PeopleSoft application tables reside within the infrastructure defined by the PeopleTools metadata.
PeopleTools provides an abstraction layer, which insulates application developers from the intricacies of each of the specific database platforms.
PeopleTools development environment (2-/3-Tier Developers)
While many development and administrative tools and interfaces are accessible by browser, some tools are only available from a Windows-based workstation. There are Windows-based PeopleTools, which enables application developers, technical specialists, and system administrators to perform a variety of tasks.
It was a brief introduction to PeopleSoft Architecture. To discover more about PeopleSoft Security, stay tuned for the next part. Follow ERPScan on Twitter, LinkedIn and Facebook to keep up-to-date with the latest news and research on business application security.