Testing requires accurately documented controls that are tested to ensure conformance to a requirement and, therefore, compliance.
The PCI Audit, for example, requires Merchants to undergo an annual onsite review. This audit (for the top tiers of merchant providers) consists of assessment and reporting conducted by a Qualified Security Assessor (QSA). Otherwise a merchant who processes a lesser amount of transactions will provide answers to the PCI certification questionnaire, with the scope of compliance validation focused on any system(s) or system component(s) related to authorization and settlement where cardholder data is stored, processed, or transmitted. The PCI security standards council provide a security audit procedures document or a self-assessment questionnaire. Reporting requires a completed PCI Report on Compliance (ROC) document or self assessment questionnaire with answers suitable for presentation to the PCI certification committee.
Each control documented as design effective can be tested, and therefore an actual test script is developed for each actual control. The development of a test script for each actual control should take into consideration the following 3 components:
A. Direction of the test, and coverage of the full population
B. Evidence that the control has been performed
C. Evidence of the quality of the control that has been performed
Applying the 'ABC' approach forces an embedded level of quality in the test scripts. Each of these components is described in more detail below.
The main purpose of the 'A' component is to ensure the test starts from the correct point in the flow of the process and that the test has the right direction, and that it covers the full population.
The test will either start from the initiating documents within a process such as purchase order / requisitions, for the Purchasing process or the test starts from the end of the process, i.e. the records in the accounting system. This flow of the test is determined by the assertions that need to be addressed.
For Sarbanes Oxley, assertions are claims that management make when they produce the financial statements. That is, once financial statements have been produced, management make the following claims:
-
That the financial statements are complete
-
That all assets / liabilities included in the financial statements actually do exist
-
That all transactions recorded actually did occur
-
That the transaction values are measured accurately
-
That the assets and liabilities are valued accurately
-
That the information in the accounts is presented and disclosed as required
-
That the company has rights over the reported assets and that it has obligations to pay off the reported liabilities
The words highlighted above are the assertions that need to be tested via Self-testing for Sarbanes Oxley.
For other compliance efforts like PCI/DSS or ISO 27001/2 then the assertions will be different but they will exist and you should list them. The general rule is that all assertions other than 'completeness' require the testing to be undertaken from the system back to source documents; 'completeness' on the other hand requires testing to be undertaken from source documents to the system. Where there are multiple assertions, i.e. completeness, and say existence and occurrence, the test direction and sample selection should be based on the 'completeness' assertion. However, the test script should involve checking that the details on the originating document agree to the system records to cover off the 'existence or occurrence' assertion. For example, relating to the 'existence or occurrence' assertion, 'All updates to master data for SAP are requested on standard forms that are reviewed and approved by a delegated authority who does not have access to update SAP Master Data'.
The population is all updates that are in the system, and evidence should then be obtained that those updates in the system have actually been made as the result of a properly completed and appropriately authorised form. Hence, here the testing is from the system back to source documents.
Alternatively; 'A checklist of leavers is prepared, confirmed with appropriate personnel where necessary, e.g., HR, to confirm that they have notified the appropriate person of staff leavers. The signed-off checklist is reviewed and approved by a delegated authority within Information Security'. This control also covers off the assertion of 'completeness' as well as 'existence and occurrence'.
The 'completeness' assertion means that a leavers checklist should have been prepared even if there was not a leaver to record. As 'completeness' is a more difficult assertion to test than the other assertions the 'completeness' assertion must take priority in the determination of source of the test and the test direction. Therefore, assuming the leavers' checklist is prepared on a monthly basis then the sample should be based on selecting months, and then ensuring that the checklist had been prepared and approved, and that the leavers as detailed on the checklist are actually dealt with (existence or occurrence) accurately. Hence, here the testing goes from the source documents to the system.
Completeness of the Full Population
Consideration should be given to ensure that tests cover the full population. For example, 'All orders are assigned a unique number by the system. A review is performed to ensure that all orders received are entered in the system with a unique number Here the assertion is 'completeness' and therefore testing will start from source i.e., orders. When performing testing and choosing a sample, consideration must be given to the possibility that orders could potentially not be processed at all. Therefore assessors should give consideration to obtaining full coverage of the population by making enquiries of the relevant people to ensure that they (assessors) understand the entire population, i.e. they understand the entire manner in which orders can be received, e.g. by web, e-mail, in the post etc. This enquiry could be supplemented by observation within the orders department of the receipt of orders on a particular day, together with inspection of the date that orders were actually received compared to the date that they were actually processed. The overall aim of this is to evidence that the population from which samples are to be picked is a complete population.
Once the sample has been selected from the complete population, evidence must be obtained that the control has been performed. For example, for a manual authorization control this evidence will be the signature of the person who performs that control.
Documented evidence must be obtained to ascertain that the control has been performed as it has been designed. For manual controls; the evidence that the control has been performed should be available through physical records created when these controls have operated.
For system controls, the evidence of the control will be obtained through obtaining appropriate reports and screen shots to prove that the system configuration, system access, and system reports are as documented within the design.
'C' - Evidence of the quality of the control has been performed
System controls, once established either work, or they do not. Evidence gathered to prove that a system control operated also proves that the control operated consistently and effectively. Therefore system embedded application controls would not have a 'C' element.
Manual controls however, are subject to human error, and therefore we should test the quality of the control to gain assurance that the control has operated consistently and effectively. For example a signature on a User Access request does not necessarily mean that the person has carefully reviewed it. The signature itself does not provide sufficient evidence that the control has operated as intended; therefore we also need to test that the control has been performed correctly.
This would involve selecting a sample of the user access request process that is being tested (sampling guidance is provided below for 'sample within a sample') and inspecting that the details on user access requests followed the process, so as to provide after the fact evidence that the individual carefully reviewed the user access request before approving it and was authorised to do so.
In some circumstances it may be appropriate to re-perform the control. For example in the testing of a manual depreciation calculation it will be necessary to recalculate the accuracy of the depreciation calculation, i.e. to undertake the same activity as the individual who performed the control.
Another example would be the review and approval of an exception report. The signature in itself does not provide evidence that the items on the report were carefully reviewed. Therefore a sample of the items on the exception report should be followed up to provide the evidence that the control has been performed properly. This would involve discussion with the person who reviewed the report, an inspection of any annotations on the report as to why items were accepted, or corrected, and a follow up for any adjustments.