SI Tested

Enterprise Application - Test Plan Criteria

Following are the test criteria that Enterprise applications have to meet in order to be issued the SI Tested seal. Enterprise applications fall into two classifications:

  • Client/Server.  An  application that consists of multiple components at least one of which is on a client machine and one of which is on a server machine with components communicating with each other over a network.
  • Web.  An application delivered to users over the internet via a web server and a web browser.

Scope of Assessment
Our assessment focuses on the immediate application under test and its environment. Items out of scope for this assessment include, but are not limited to, the following:

Backend systems
Physical security of the customer site, servers, firewall configuration etc
Effectiveness of failover or redundant systems, power protection, etc.
Protection from insider threats from employees or others with physical or electronic access
Review of internal IT security policy
Social engineering, industrial espionage, etc.
Review of documentation/requirements for compliance with laws, standards or certification programs

Enterprise - Web Application Criteria

1.0  Authorization
SUMMARY: Verify that the authorization mechanism is not subject to attacks aimed at bypassing it.
 
  U1.  Server-side authorization checks are performed for each server resource that is accessed
U2.  Security decisions are not based on client-side validation
 
2.0  Cryptography
SUMMARY: Verify that cryptography is well implemented.
  C1.  Industry standard cryptographic methods are used
C2.  Sufficient key length is used
 
3.0  Data Access
SUMMARY: Verify that strong data access controls are in place.
  D1.  Connection strings conform to the least privilege principle
D2.  The application protects data from malicious modification
D3.  The application protects data from being disclosed to unauthorized users
 
4.0  Error Handling
SUMMARY: Verify error messages do not reveal confidential information
  E1.  Error messages don’t contain internal application details
 
5.0  Logging
SUMMARY: Verify that logging is performed and is not subject to attacks aimed at altering the logging functionality.
  L1.  The application restrict users from interacting directly with the logging framework
L2.  The application must be protected against attacks aimed at deceiving the logging framework into attributing actions to other users.
L3.  The application must be protected against attacks aimed at modifying the behavior of the logging functionality via abnormal input.
L4.  The application is protected against Denial of Service attacks performed using repeated actions to fill server log files
L5.  The application logs enough appropriate data to detect and deconstruct an attack against the system
L6.  Logs do not contain sensitive data
L7.  The logging framework is appropriately protected to prevent logs from being stolen or modified
 
6.0  Input & Data Validation
SUMMARY: Verify Input/Output is validated properly and securely
  I1.  All user input is validated for type, length, format and range
I2.  All input is properly encoded before being echoed back to the user
I3.  User supplied filename and path input is filtered
I4.  Client side validation is not relied upon
 
7.0  Sensitive Data
SUMMARY: Verify sensitive data is stored and encrypted properly.
  S1.  Sensitive data is stored with great care
S2.  Sensitive data is encrypted before being sent on the network
 
8.0  Session Management
SUMMARY: Verify tokens are formatted and sent securely.
  M1.  Authentication tokens are transmitted over a secure connection
M2.  Authentication tokens are not predictable

Enterprise - Client/Server Application Criteria

1.0  Authentication
SUMMARY: Verify that the authentication mechanism is not subject to attacks aimed at bypassing it.
  A1.  User cannot elevate privileges with malformed input
A2.  Passwords are stored securely
A3.  User identity is verified before resetting a password
A4.  Predefined passwords are unique and require reset
A5.  Only administrators can add, modify or delete user IDs
A6.  Lockouts are enforced with a limited duration
A7.  Strong passwords are enforced
A8.  Password renewal is enforced
A9.  Error pages do not give away usernames
A10. SSL/TLS is used when transmitting credentials
 
2.0  Authorization
SUMMARY: Verify that the authorization mechanism is not subject to attacks aimed at bypassing it.
  U1.  Server-side authorization checks are performed for each server resource that is accessed
U2.  Security decisions are not based on client-side validation
 
3.0  Cryptography
SUMMARY: Verify that cryptography is well implemented.
  C1.  Industry standard cryptographic methods are used
C2.  Sufficient key length is used
 
4.0  Data Access
SUMMARY: Verify that the authorization mechanism is not subject to attacks aimed at bypassing it.
  D1.  Database accounts conform to principle of least privilege
D2.  The application protects data from malicious modification
D3.  The application protects data from being disclosed to unauthorized users
D4.  Connection strings are stored securely
 
5.0  Error Handling
SUMMARY: Verify error messages do not reveal confidential information
  E1.  Error messages don’t contain internal application details
 
6.0  Logging
SUMMARY: Verify that logging is performed and is not subject to attacks aimed at altering the logging functionality.
  L1.  The application restrict users from interacting directly with the logging framework
L2.  The application must be protected against attacks aimed at deceiving the logging framework into attributing actions to other users.
L3.  The application must be protected against attacks aimed at modifying the behavior of the logging functionality via abnormal input.
L4.  The application is protected against Denial of Service attacks performed using repeated actions to fill server log files
L5.  Logs do not contain sensitive data
L6.  The logging framework is appropriately protected to prevent logs from being stolen or modifiedd
 
7.0  Input & Data Validation
SUMMARY: Verify Input/Output is validated properly and securely
  I1.  All user input is validated for type, length, format and range
I2.  All input is properly encoded before being echoed back to the user
I3.  User supplied filename and path input is filtered
I4.  Client side validation is not relied upon
 
8.0  Sensitive Data
SUMMARY: Verify sensitive data is stored and encrypted properly.
  S1.  Sensitive data is encrypted before being stored on the local machine
S2.  Sensitive data is encrypted before being sent on the network
S3.  Sensitive data is encrypted in the database
S4.  Log files do not contain sensitive information
 
9.0  Session Management
SUMMARY: Verify tokens are formatted and sent securely.
  M1.  Authentication tokens are transmitted over a secure connection
M2.  Authentication tokens are not predictable

back to the top of the page