Software Validation Security Testing – 12 Items to Consider

I haven’t see a system yet that didn’t check password access, but most testing of Security features stops there. Even though Security is one of the critical “Big Three” drop-dead validation issues, it doesn’t get much attention by most companies. Therefore, you often see findings like this one made in an FDA 483:

Testing of system security was inadequate. Example: multiple levels of user access testing was insufficient to demonstrate that authorized users of the system are prevented access to unauthorized areas.

You should thoroughly demonstrate that the security on the system is adequate to prevent unauthorized entry.

So, in addition to the “front door” of the system (i.e the usual method of access), attempt system break-ins through the “back door, side door, and windows” as well. For example, in a Windows environment, attempt to access secured files through Windows Explorer and DOS.

In addition, here’s the minimal Security Testing that needs to get done at the Operating System and Application levels:

1. Operating System

Operating System Logon Verification as follows

Combination Attempted Expected Results
Invalid Username / Invalid Password Access Denied
Valid Username / Invalid Password Access Denied
Invalid Username / Valid Password Access Denied
Valid Username / Valid Password Access Granted

2. Application Server

Application System Logon Verification as follows:

Combination Attempted Expected Results
Invalid Username / Invalid Password Access Denied
Valid Username / Invalid Password Access Denied
Invalid Username / Valid Password Access Denied
Valid Username / Valid Password Access Granted

3. Failed Logins

Verify that three failed logon attempts results in lockout for the user. Verify for Operating System access, as well as Application Systems access.

4. Admin Creation

Verify the creation of an Administrator User.

5. User Access

Logon as the Administrator. Verify the creation of Multiple Levels of User Access.

6. Acces Levels

Verify the creation of Multiple Users with different Levels of Access assigned.

7. Access Level Testing

For each level of access, sign on as a user at that level and verify they have access to every screen/function they should have, and no access to any screen/function they shouldn’t have.

8. Changing Access Level

Verify that a user cannot modify another user definition. Verify that a user cannot change their own or another user’s Access Level.

9. Admin Modification

Logon as the administrator. Verify that a user can be modified by the Administrator. Verify that the Administrator can change a user’s Access Level.

10. Old Access Level Testing

Logon as the changed user. Verify that the user now can access all screens/functions at the new Access Level and none of the Old Access Level.

11. Restricted Access – Application

Verify that a user can be deleted from the Application but not from the Operating System. Verify that the user has no access to the Application at all, but can still log on to the Operating System.

11. Restricted Access – Operating System

Verify that a user can be deleted from the Operating System. Verify that a deleted user no longer has any access to the Operating System or the Application at all.

These are the basic Security tests that need to be run. Some systems will have more or less security features and therefore, the above tests will need to be adjusted.

Few validation efforts show this level of comprehensive testing!

Author

Tamara Follett

Subject Matter Expert in Computer Validation The 100 Worst Mistakes You Can Make