What is True Responsiveness?

By Chris Heller • September 16, 2015

Designed to intelligently move functionality based on available real estate, transforming the user experience.

What is True Responsiveness? Your employees and constituents expect to be able to do everything on their mobile device that they would on their desktop without compromising functionality: finding a contact, applying for a job, reviewing their pay stub, enrolling in a class, enrolling in benefits, or make a payment.

Read on to see examples of true responsiveness in action.

iPhone in portrait view vs. iPad

Let’s look at the weekly class schedule in Campus Solutions on two form factors: iPhone in portrait view vs. iPad.

In the header bar the “Week of” identification moves below on the mobile device because there isn’t enough real estate. On the iPad it extends across the page based on the same logic.

In the example above, the real estate allows for 2 columns of the class schedule on the iPhone while displaying 4 columns on tablet. Responsiveness design is not dependent on device type and instead flows intelligently based on available real estate.

Indicator dots appear when the entire week is not visible. The reason for this is because responsive design is not about making content smaller to fit on a page, but instead, to rearrange it and present it in a useful manner to the end user.

In both of these examples the action buttons are fixed to the bottom of the screen, and visible at all times, to minimize vertical scrolling.

As you’ll notice, new device size doesn’t matter because breakpoints move fluidly based on the content.

iPhone vs. Desktop

This is how the desktop view changes based upon available real estate on a desktop computer.

As the screen becomes larger, you are able to see more at one time so the action buttons are relocated to the bottom right hand side of the screen. Additionally, in the desktop view, the navigation is expanded

The “Week of” identification reflows based on real estate.

The hamburger menu is collapsed when there is lesser real estate, but ever present when there is more space.

The action buttons are fixed to the bottom of the screen to minimize vertical scrolling on smaller devices.

Indicator dots appear when the entire week is not visible. With larger views the entire week is visible and therefore the indicator dots and arrows are not present.

Bringing back the submenu navigation

True responsiveness is not stripping out functionality for smaller form factors.

For example, earlier versions of our Campus Solutions user experience eliminated the navigation tabs that are present throughout PeopleSoft Campus Solutions to save real estate.

Due to feedback from our customers, we reintroduced this functionality in a way that moved it out of the way but made it available when desired.

Put the Appsian Security Platform to the Test

Schedule Your Demonstration and see how the Appsian Security Platform can be tailored to your organization’s unique objectives

What you need to know about the reported PS_Token vulnerability

By Chris Heller • September 4, 2015

Appsian has been offering security assessments to both customers and non-customers around the potential of a PS_TOKEN configuration vulnerability. Over the past month, we have posted to our blog that PeopleSoft is arguably the most secure ERP platform on the market. The blog contains links to the PeopleSoft red paper and additional information about proper configuration of PeopleSoft to mitigate potential vulnerabilities of PS_TOKEN configuration.

In this session, Greg Wendt, Executive Director, Security Solutions, talks about numerous takeaways learned from our PS_TOKEN assessments. Topics include:

  • Mitigation options
  • Best practices
  • Lessons learned
  • Incident Response
  • Defense-in-depth for PeopleSoft

Put the Appsian Security Platform to the Test

Schedule Your Demonstration and see how the Appsian Security Platform can be tailored to your organization’s unique objectives

Google changed its logo today – what does it mean?

By Chris Heller • September 1, 2015

Today, Google changed its logo to better represent its presence on platforms other than desktop PC’s — where people initially interacted with Google’s software.  This is just another step in its acknowledgement that people are increasingly using mobile devices as their primary computing device. Take the following support posting that encourages people to make sure their sites are mobile friendly (and that Google will be adjusting its ranking based on this).

Google’s perspective on its logo change is an interesting read.  Check it out here.

Put the Appsian Security Platform to the Test

Schedule Your Demonstration and see how the Appsian Security Platform can be tailored to your organization’s unique objectives

CarolinaGo Mobile App Single Day Downloads Hit 2,000

By Chris Heller • August 31, 2015

According to Kate Hash, Manager of ITS Communications at UNC Chapel Hill, “Up until Friday, our largest download month had been 600 downloads of the app. On Friday alone, we had 2,000. It is clear that ConnectCarolina is adding a value to the app and that the students are now discovering the app because they want to use ConnectCarolina.”

Check out the full article on dailytarheel.com to learn more about how UNC mobilized and transformed PeopleSoft using PeopleMobile®.  Read more

Put the Appsian Security Platform to the Test

Schedule Your Demonstration and see how the Appsian Security Platform can be tailored to your organization’s unique objectives

Tracking high-privileged users requires a strict security policy

By Greg Wendt • August 25, 2015

While some organizations believe hacks come from only external sources, these companies may be missing an even larger threat: internal, privileged users. According to the study, titled Ponemon Institute’s Survey on Data Security Breaches, sixty-nine percent of companies reporting serious data leaks responded that their data security breaches were the result of either malicious employee activities or non-malicious employee error. While some attacks can be unintentional, to protect your organization from internal aggravators, there are a couple of steps your business can take.

Start by defining the policy

High-privileged users by definition have access to the most sensitive information within the organization. Their access is coveted by both external hackers and malicious internal users. Safeguarding your company requires an in-depth look at current security policies and how they could be improved. There should be guidelines put in place detailing what access each member receives, as well as strict account management practices. This can include requiring privileged users to change their passwords biweekly or bimonthly to ensure important data is always secured or implementing a least privilege arrangement. This practice gives users the bare minimum for their positions’ needs when it comes to access.

In addition, your company could eradicate “all powerful” accounts that allow entitled users access to almost all information in a business’s system. Instead, delegate access to particular data to different people, using a specific identification password or username that can be tied to that person. Certain actions within the system would then be accessible by only people who have been granted that permission. Multifactor authentication would limit and verify which privileged users are able to complete specific behaviors within the system.

Multifactor authentication can prevent malicious insiders from hacking into secure data.

Add extra security measures

Users with great power, also comes great responsibility.  Our security survey results show greater than 80% of respondents expect high-privileged users to utilize  increased security measures such as multi-factor authentication.  Privileged users with particular leverage should still have to meet and pass certain security requirements for access to data and functions. To keep company information as secure as possible, it is important to increase protection by implementing specific protocols, including data masking.

Data masking is a smart backup for multifactor authentication. If a user is able to make it through one level of security but cannot view other data, the system hides secure information. Only the most basic, non-harmful data is visible. Continued failed login attempts at every level of authentication would result in increased masking of secure materials.

Log employee actions

The phone rings, the caller accuses someone of changing their data because their paycheck was not deposited into their account – now the response has to begin.  It’s vital to monitor users’ conduct within the system at every level. Specifics are necessary to audit people’s access as well as perform incident response. High-privileged users impact and influence on company data must be tracked within the overall data security solution. Although this security measure is difficult to complete, it can be done with the correct logging software. With a firewall that includes analysis of a user’s record and behaviors within the portal, companies can have a better idea of what secure information is misused.

High-privileged users can wreak just as much havoc on a system as external hackers. In fact, 25 percent of respondents said a malicious insider was the cause of a company breach in the past year, according to Forrester Research. To avoid system intrusions, whether vengeful or not, it’s vital for your company to have a security policy in place to monitor users. Multifactor authentication, data masking and logging analysis are all beneficial tools to protect your organization’s critical information.

Put the Appsian Security Platform to the Test

Schedule Your Demonstration and see how the Appsian Security Platform can be tailored to your organization’s unique objectives

What you should know about PeopleSoft and Common Web Application Vulnerabilities

By Chris Heller • August 14, 2015

Background

In recent blog posts, we’ve mentioned that PeopleSoft provides a number of security protections out of the box. In this entry, we wanted to go into more detail on this, specifically focusing on what you should know about PeopleSoft and common web application vulnerabilities.

  • Data sniffing
  • SQL Injection
  • Cross-Site Scripting
  • Content Spoofing and Injection
  • Directory Indexing
  • Information Leakage

If you hire an organization to perform penetration testing (as any organization deploying PeopleSoft on the public internet should), these are the items that they will primarily focus on.

PeopleTools as a Security Platform

One of the most important aspects of security within PeopleSoft, is that the platform ensures that security protections are built in globally.  As such, PeopleTools differs from other development platforms in the following ways:

  • Secure by Default:  Developers do not have to write specific security code in the application, because protections are applied automatically — PeopleTools takes care of it for them — thus ensuring that security is enforced consistently.
  • Rapid evolution:  Keeping up with potential vulnerabilities is an arms race where new attack vectors are constantly being created by the bad guys.  Because the security logic is applied externally to the application logic, vulnerabilities can be addressed at the platform level, delivered by Oracle, and applied platform-wide immediately.
  • Centralized Security Expertise:  PeopleTools has a team of security developers who’s job it is to stay current on best practices and potential vulnerabilities, allowing the rest of the organization to focus on business functionality.  This ensures that customers staying current on their PeopleSoft updates will be have the latest protections available.

So, let’s look at each of the common web vulnerabilities and what PeopleSoft does to remediate them.

Data Sniffing

Although this should be second nature to anybody deploying a web application, SSL termination is a critical component of ensuring secure data transportation between the end-user and the PeopleSoft system. PeopleSoft has configuration settings specifically for SSL termination and virtual addressing so that all traffic can be sent securely.  It also gives organizations the ability to utilize other tiers for SSL termination, such as the load balancer.

SQL Injection

Because many web applications access and store data through a relational database, a common attack vector is to inject SQL into edit boxes, URLs, or other user enterable fields to bypass application logic and talk directly to the database.  This could allow an unauthorized user to:

  • Gather sensitive data
  • Make unauthorized updates to application data
  • Escalate privileges and/or bypass system controls
  • Cause service interruptions

The following comic — “Bobby Tables” — pokes fun at this technique:

PeopleTools mitigates this vector through its definitional development infrastructure. When a page is developed in PeopleTools, the developer is rarely writing SQL, but placing the fields on the page.  PeopleTools will generate the SQL with the appropriate size, type, and encoding.

However, PeopleTools does not restrict developers from writing their own SQL, frequently using the infamous SQL-Exec PeopleCode function.  Therefore, it’s important that organizations incorporate strong change management techniques to review in detail any places where customizations are made with SQLExec functions.

Cross-Site Scripting

Cross-site scripting occurs when an unauthorized site or form controls a page or form in your application, making unauthorized updates.  This is commonly done with JavaScript, but can also be accomplished with other techniques.

PeopleTools protects against cross-site scripting by embedding a random token in each PeopleSoft page that is validated by servlets on the PeopleSoft web server.  If the form doesn’t have the token or the token is rejected, the traffic is also rejected.

This vulnerability existed in very early PeopleTools versions (circa 2000), but was remediated quickly platform-wide with a PeopleTools update once the threat vector was discovered and hasn’t been a risk for at least 10 years.

Content Spoofing and Injection

Content spoofing and injection is a whole category of techniques for making unexpected modifications to HTTP traffic between the browser and the application.  Examples include:

  • Modifying the URL in unexpected ways
  • Altering or removing HTTP Headers
  • Altering or removing cookies
  • Altering the HTML or XML content

A common technique followed by the bad guys is to install a proxy between the browser and the application, capture traffic, modify the different aspects of the traffic, and play back the results.

PeopleTools protects against spoofing and injection by acting as a single controller that issues and processes the HTTP traffic.  Whenever an unexpected event occurs (such as an unexpected URL), it will either issue a security error (such as You are not authorized to access this component) or will terminate your session.

That said, there are techniques that some implementation decisions that customers can make that would allow an organization to circumvent these protections.  These would include the following:

  • Adding an HTTP header to the HTML to maintain the identity of the user for single signon.  If the header is accessible to the end-user and Signon PeopleCode does not have anti-spoofing functionality, modifying the header could allow access without logging in.
  • Utilizing the %GetRequest parameter with a SQL-Exec function.  Because this function allows parameters to be embedded in the URL as a query string, improper use of it could open up a vulnerability
  • Improper implementation of location-based security rules.  Many organizations will implement location-based security by hiding URLs based on location (versus blocking them).  Because any PeopleSoft page can be accessed directly from a URL, merely hiding navigation does not block access to the content.

Directory Indexing

Directory indexing is a threat vector where a person gets a web server to disclose the list of files and folders on it.  In some cases, this can be used to determine how the application works behind the scenes, even to point of looking at the code that is running on the server.

PeopleSoft provides a few protections against this:

  • The first is that all of the security, business and database logic runs on a server separate from the PeopleSoft web server.  This means that gaining access to the web server does not provide access to the directories controlling how the application processes
  • The second is that PeopleSoft has a number of ways in which it can be deployed in conjunction with a DMZ.  One common option is to have a proxy server running in the DMZ where the web server itself is behind the corporate firewall.

Information Leakage

The last threat vector we will discuss.  From the context of this discussion, we will be covering information leakage as it relates to an external attacker trying to learn about how the system operates.  Information Leakage can also be discussed from the perspective of an authorized user’s use of sensitive application data, which will be discussed in a future post.

Anybody familiar with PeopleSoft’s Control-J function is familiar with type of data that can be leaked.  This page provides information about the version of PeopleTools, the PeopleSoft application, and the ports that are being used on the app servers.  At the weblogic level, the weblogic console provides information about the java version being run, etc.  Although it is great for troubleshooting issues in a development or test environment, an external person can utilize this to research known vulnerabilities for the versions being utilized to plan an attack.

Fortunately, PeopleSoft provides a configuration option in the web profile to turn off disclosure of this information, and the default PROD web profile has this setting made appropriately.

PeopleTools mitigates this vector through its definitional development infrastructure. When a page is developed in PeopleTools, the developer is rarely writing SQL, but placing the fields on the page.  PeopleTools will generate the SQL with the appropriate size, type, and encoding.

However, PeopleTools does not restrict developers from writing their own SQL, frequently using the infamous SQL-Exec PeopleCode function.  Therefore, it’s important that organizations incorporate strong change management techniques to review in detail any places where customizations are made with SQLExec functions.

Cross-Site Scripting

Cross-site scripting occurs when an unauthorized site or form controls a page or form in your application, making unauthorized updates.  This is commonly done with JavaScript, but can also be accomplished with other techniques.

PeopleTools protects against cross-site scripting by embedding a random token in each PeopleSoft page that is validated by servlets on the PeopleSoft web server.  If the form doesn’t have the token or the token is rejected, the traffic is also rejected.

This vulnerability existed in very early PeopleTools versions (circa 2000), but was remediated quickly platform-wide with a PeopleTools update once the threat vector was discovered and hasn’t been a risk for at least 10 years.

Content Spoofing and Injection

Content spoofing and injection is a whole category of techniques for making unexpected modifications to HTTP traffic between the browser and the application.  Examples include:

  • Modifying the URL in unexpected ways
  • Altering or removing HTTP Headers
  • Altering or removing cookies
  • Altering the HTML or XML content

A common technique followed by the bad guys is to install a proxy between the browser and the application, capture traffic, modify the different aspects of the traffic, and play back the results.

PeopleTools protects against spoofing and injection by acting as a single controller that issues and processes the HTTP traffic.  Whenever an unexpected event occurs (such as an unexpected URL), it will either issue a security error (such as You are not authorized to access this component) or will terminate your session.

That said, there are techniques that some implementation decisions that customers can make that would allow an organization to circumvent these protections.  These would include the following:

  • Adding an HTTP header to the HTML to maintain the identity of the user for single signon.  If the header is accessible to the end-user and Signon PeopleCode does not have anti-spoofing functionality, modifying the header could allow access without logging in.
  • Utilizing the %GetRequest parameter with a SQL-Exec function.  Because this function allows parameters to be embedded in the URL as a query string, improper use of it could open up a vulnerability
  • Improper implementation of location-based security rules.  Many organizations will implement location-based security by hiding URLs based on location (versus blocking them).  Because any PeopleSoft page can be accessed directly from a URL, merely hiding navigation does not block access to the content.

Directory Indexing

Directory indexing is a threat vector where a person gets a web server to disclose the list of files and folders on it.  In some cases, this can be used to determine how the application works behind the scenes, even to point of looking at the code that is running on the server.

PeopleSoft provides a few protections against this:

  • The first is that all of the security, business and database logic runs on a server separate from the PeopleSoft web server.  This means that gaining access to the web server does not provide access to the directories controlling how the application processes
  • The second is that PeopleSoft has a number of ways in which it can be deployed in conjunction with a DMZ.  One common option is to have a proxy server running in the DMZ where the web server itself is behind the corporate firewall.

Information Leakage

The last threat vector we will discuss.  From the context of this discussion, we will be covering information leakage as it relates to an external attacker trying to learn about how the system operates.  Information Leakage can also be discussed from the perspective of an authorized user’s use of sensitive application data, which will be discussed in a future post.

Anybody familiar with PeopleSoft’s Control-J function is familiar with type of data that can be leaked.  This page provides information about the version of PeopleTools, the PeopleSoft application, and the ports that are being used on the app servers.  At the weblogic level, the weblogic console provides information about the java version being run, etc.  Although it is great for troubleshooting issues in a development or test environment, an external person can utilize this to research known vulnerabilities for the versions being utilized to plan an attack.

Fortunately, PeopleSoft provides a configuration option in the web profile to turn off disclosure of this information, and the default PROD web profile has this setting made appropriately.