This covers some security-related topics you may want to consider when evaluating or specifying an information technology product.


The general area of recoverability of data has been included since this is directly related to availability.

General Topics

Cryptography

PKI

Data formats

This particular topic is not traditionally considered a security topic. It is here because it represents an issue that can be very costly when it is time to replace a software product. The ability to compare various data or configuration snapshots is quite useful in incident analysis though.

Consider an application like Banner. The data are stored in Oracle tables which we can access with applications other than Banner. If we want to convert to some product, we know what data we have and where it is. If we want to generate reports not directly supported by Banner, we can do it with the normal database tools. Think about the
risk we would be taking if Banner stored the data in some proprietary format we couldn't directly access. Virtually all of our captive.

A second aspect of this issue is the usefulness of data over time. A 30-year old ASCII (or even EBCDIC) data file can still be used today. The same thing is true for a
LaTeX or nroff document. Even though formats may change over time, XML and associated tools will likely be around for a while and it provides a reasonable format for long-term data use.

Software

All

Client Components

Server Components

 On what Operating System (OS) platforms is your service supported?

a. What OS version and release does your product support on those platforms?

b. What OS services are required for your product?

What ports does your product use?

OS version/patching

Use of standard libraries

defined APIs

Hardware

Embedded OS

Networking

AAA

Authorization:

How is access to your product controlled?

a. Can access permissions be assigned at multiple levels (group, departmantal, individual)?

b. Can document access be managed at the document section and field level?

Can administrative functions (assigning account permissions, for example) be delegated as opposed to being centrally performed?

How does your product authenticate and authorize users?

Does your system support multifactor authentication? For example, a token or smart card and PIN represent two factors: something you have and something you know.

Virginia Tech must comply with regulations such as FERPA and HIPPA. How does your product facilitate such compliance?

Authentication

External Auth

SSL Certificate auth

Audit

Are you compliant (VISA, PCI) with audit standards for data center security? 

Can we see the components of the audit review - AICPA ?  Price-Waterhouse Audit Report?  

syslog

debugging

Procurement

' i-Transact ' can process credit cards. Are we looking at a product that requires credit cards?

How do we raise awareness for software & liability that do not go though the' Request For Purchase' (RFP) process?  

Can we include minimums in 'Item For Bid' (IFB)?

Contract

Who is responsiible for the financial burden of notification of people if there is a compromise? This should be a part of contract discussions.

If our service experiences downtime, due to an unresolved security issue with your product, what type of financial compensation are we granted?

If the product is not in compliance with our procurement agreement. What do we do?  Return for refund?  Return product?  Fix product? 

Support

How are system or customer changes planned, reviewed, approved and documented?

How are systems monitored?

How does your company alert your customers to vulnerabilities and securtiy issues?

What are your technical support hours and response time for a reported incident?

What is the mean-time-to-fix an unknown problem?

Hosted Services

Disaster Recovery

What are disaster recovery capabilities?

What type of application and OS redundancy is designed into your system?

What is your guaranteed up time?

Access

What type of intrusion detection systems and firewalls are utilized on the servers that would host our systems?

Does your network or facility undergo penetration testing to ensure your systems cannot be hacked? Penetration testing involves your instructing someone to attempt to exploit vulnerabilities in your systems from outside your internal network.

a. If penetration testing is done, who performs it?

b. May we know the results?        

 Administrative   

                                                                                                                                                              
 What other services are installed on the server on which our service resides?
If other services reside on the same server as ours, how is our service configured to segregate it from the others?
What are your password rules for operating system administrators and users of our server?
How is our service isolated from internal company and test systems?
Do you perform vulnerability scanning  on your servers?
 Administrative  
How many people administer the server on which our system resides?
How many people have accounts on the server that would host our service?
a. How are those accounts provisioned & decommissioned?
b. Are default accounts disabled?
How is your facility physically secured?
How are patches and upgrades tested and applied?
a. When are patches applied?
b. How are emergency patches/upgrades handled?
   

Links

Leftover Bad Stuff

Here are some things that can happen but need to be turned in to something that can be evaluated above.