Social Network For Security Executives: Network, Learn & Collaborate
Oracle PeopleSoft applications are quite complex and consist of many components, so does their security. 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 a 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 PS 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 application can work as one big portal or separately.
PS applications are used worldwide with more than 72% of customers in the USA. This 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 PS and to know some specific terms if you want to know more about methods of attacks against PS. Today’s post is just a quick review of Oracle PS Applications.
PS'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 PS Internet Architecture is built around PS’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 a SQL database. The metadata describe data for user interfaces, tables, messages, security, navigation, portals, etc. This set of tools allows the PS suite to be platform-independent solution.
PeopleCode is an object-oriented proprietary (case-insensitive) language used to express business logic for PS 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 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 PS servlets running on the web server handle incoming requests. Like the server processes on the application server, each PS 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 PS services that handle transaction requests and a special connection dispatched (Oracle Tuxedo). Unique PS 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. PS services perform business logic of PS applications.
PS uses Oracle Tuxedo to manage database transactions, and Jolt, Tuxedo's counterpart, to facilitate transaction requests issued from the users’ browsers.
The PS 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.
The database server houses your database engine and your PS 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 PS system: database system tables, tables with PeopleTools metadata and tables with data of applications. The PS 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.
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.