Chapter 10
Chapter 10
Chapter 10
make poor decisions that cost them millions of dollars. She wanted to be sure that such
problems did not happen to Northwest Industries. She also stressed the need to con'
tinue to improve the monthly closing process so that management would have more
timely information. The CIO expressed concern about the company's lack of planning
for how to continue business operations in the event of a major natural disaster such as
the recent floods in the Midwest, which had forced several small businesses to close.
Jason thanked them for their input and set about collecting evidence about the effec'
tiveness of Northwest Industries' procedures for ensuring processing integrity and
availability.
lntroduction
The previous two chapters discussed the first three principles of systems reliability identified
in the Trust Services Framework: security, confidentiality, and privacy. This chapter addrcsses
the remaining two principles ofreliable systems: processing integrity and availability. We conclude with a discussion of the importance of controlling changes to systems to ensure that the
294
new system continues to satisfy all flye principles of systems reliability identified in the Trust
Services Framework.
Processing lntegrity
The Processing Integdty principle of the Trust Services Framework states that a reliable system
is one that produces information that is accurate, complete, timely, and valid. As discussed in
CoBIT control objective DS 1 1 . 1 , this requires controls over the input, processing, and output of
data. Table 10-1 presents the six basic categories of application controls discussed in the COBIT
framework for ensuring processing integdty.
to Ensure Processing
lntegritY
Process
CoBIT
stage and
Category
Input:
AC
l---Souce Data
Prepamtion and
Authorization
. Ac2-source Data
ThreatyRisk
Controls
.
.
.
.
Invalid
Unauthorized
Incomplete
Jnaccurate
. Ac3-Accuacy,
Completeness, and
Authenticity Checks
Prccessitrg:
.
Ac4--Processing
and Validity
Integdty
coqllols
Output:
.
.
Ac5--Oufput Review,
Reconciliation and Error
Handling
AC6-Transaction
Airthefl ticity and Integdqy
.
.
Use of inaccurate or
ircomplete reports
llnauthodzed disclosure
of sensitive inforrnation
Loss, altention, ol
disclosure of information
in transit
295
296
PART
ll .
lnput Controls
The phrase "garbage in, garbage out" highlights the importance of input controls. If the data
entered into a system are inaccurate, incomplbte, or invalid. the outpu{ will be too. Consequently,
source documents should be prepared only by authorized personnel ac!ing within their authority.
In addition, forms design, chncellation and storage of source documLnts, and automated data
entry conbols are needed to {,erify the validily of input data.
FoRMS DESIGN Source d$cuments and other forms should be d{signed to minimize the
chances for errors and omi{sions. Two parlicularly important formJ design controls involve
sequentially prenumbering sQurce documents and using tumaround dotuments.
1.
All
trol by making it possible to verify that no documents are missing. (To underctand this,
consider the difficulty you would have in balancing your checking account if none of your
checks were numbered.) When sequentially prenumbered source data documents are used,
the system should be programmed to identify and report missing or duplicate source
documents.
2. A turnaround document is a rccotd of company data sent to an extemal party and tien
retumed by the extemal party to the system as inpui. Tumaround documents are prepared
in machine-readable form to facilitate their subsequent processing as input records. An
example is a utility bill that a special scaaning device reads when the bill is retumed with a
payment. Tumaround documents improve accuracy by eliminating the potential for input
e[ors when entering data manually.
CANCELLATION AND S'IORAGE OF SOURCE DOCUMENTS Source documents that have been
entered into the system should be canceled so they ca[not be inadvertently or fraudulently
reentered iIlto the system. Paper documents should be defaced, for example, by stamping them
"paid." Electronic documents can be similarly "canceled" by setting a flag field to indicate that
the document has already been processed. Nore. Calcellation does flo, mean disposal. Original
source documents (or their electronic images) should be retained for as long as needed to satisfy
legal and regulatory requircments and provide an audit tlail.
DATA ENTRY CONTROIS Source documents should be scanned for reasonableness and propriety
before being entered into the system. However, this manual contol must be supplemented with
automated data entry controls, such as the following:
a
a
a
a
a
a
a
lield check determines whether the chamcters in a fleld are of the proper type. For
example, a check on a freld that is supposed to contain only numeric values, such as a U.S.
Zip code, would indicate an eror if it contained alphabetic cha.racters.
A sign check determines whether the data in a field have the appropriate adthmetic sign.
For example, the quantity-ordered field should never be negative.
A limit check tests a numerical amount against a fixed yalue. For example, the regular
houn-worked field in weekly payroll input must be less than or equal to 40 hours,
Similarly, the hourly wage field should be greater than or equal to the minimum wage.
A, range check tests whether a numerical amount falls between predetermined lower and
upper limits. For example, a marketing promotion might be directed only to prospects with
incomes between $50,000 and $99,999.
A size check e$ures that the input data will fit into the assigned field. For example, the
value 458,976,253 will not fit in an eight-digit field.
A completeness chack on each input record detemines whether all required data items
haye been entered. For example, sales transaction records should not be accepted for processing unless they include the customer's shipping and billing addresses.
A validity check compares the ID code or account number in transaction data with similar
data in the master file to verify that the account exists. For example, if product number
65432 is entered on a sales order, the computer must verify that there is indeed a product
654J2 in the invenrory database.
A rmsonableness res, determines the cofectness of the logical relalionship between two
data items. For example, overtime hours should be zero for someone who has not worked
the maximum number of regular hours in a pay period.
A
,
o
CHAPTER
10
Authorized lD numbers (such as employee numbers)can c or.taitrr a check digit that is computed from the other digits. For example, the system could assign each new employee a
nine-digit number, then calculate a tenth digit from the original nine and append that calculated number to thq original nine to form a ten-digit ID num$r. Data entry devices can
then be
rc pertorm check digit veriJicdtion Uy Jtirg m" n.rirlr" aigi,, io
calculati thi tentn {igit iach time an ID number is entered. If an error is made in intering
the calculation made on the first nine difits will llot match the tellth,
any of the ten
or bheck digit.
ry tesrs are used for both barch proqessing and online real-time
input controls differ for the two proceFsing methods.
a
a
*.
Batch processing works more efficiently if the tansactions are soded so that the accounts
affected arc in the same sequence as records in the master file. For example, accurate batch
processing of sales txansactions to update customer account balances requires that the
ftansactions first be sorted by customer account number A sequence check tests whelher a
batch of input data is in the proper numerical or alphabetical sequence.
An erot_lqg that identifies data input enors (date, cause, prcblem) facilitates timely review
and resubmission of halsaetions that canlot be processed.
ffi=tch totals s,Jmmadze important values for a batch of input records. The following are
tkee commonly used batch totals:
t A linaneial total sums a field that contains monetary values, such as the total dollar
amount of all sales for a batch of sales tansactions.
2. A hash tonl sums a nonfinancial numeric field, such as the total of the quantity ordered
''field
in a batsh of sales transactions.
3. A. record count is the number of records in a batch.
These batch totals are calculated and stored by the system when data is
will be recalculEd later to verify that all input was processed correcdy.
Prompting,ln which the system requests each input data item and waits for an acceptable
response, e[sures that all lecessary data are entered (i.e., prompting is an online completeness check).
Closeil-loop veriJicarion checks the accuracy of input data by using it to retrieve and display other related information. For example, if a clerk enters an account number, the system
could retrieve and display the accourt name so that the user could verify that the correct
accoult number had been entered.
A transaction log includes a detailed record of all transactions, including a unique transaction identifier, the date and time of entry, and who entered the hansaction. If an online file
is damaged, the transaction log can be used to reconstuct the fi1e. If a malfunction temporarily shuts down the system, the transaction log can be used to ensure that transactions
are not lost or entercd twice.
Processing Controls
Conaols are also needed to ensure that data is processed corecdy. Important processing controls
include the following:
Data motching. In certain cases, two or more items of data must be matched before an
action can take place. For example, before paying a vendor, the system should verify that
infomation oll the vendor invoice matches information on both the purchase order and the
receiving report,
File labels. File labels need to be checked to ensure that the correct and most cu(ent files
are being updated. Both extemal labels that are reada$le by humans and intemal labels that
are written in machine-readable form on the data recording media should be used. Two
important types of intemal labels arc header and trailer records.Tlrc header record is
located at the beginning of each hle and contains the file name, expiration date, and other
297
PART
ll .
identification data. The trailer record is located at the end of the file and contains the
batch totals calculated duriog input. Progams shoutd be designed to read the header record
prior to processing, to ensure that the correct file is being updated. Programs should also
be designed to rehd the information in the trailer recotd afier processing, to verify that all
input records hale been correctly processed.
I
Recdlculation ol batch totals. Batch totals should be recomputed as eacir ransaction
record is processpd, and the total for the barch should then be compared torthe va.lues in the
trailer record. Arf discrepancies indicate a processing error. Often, the nature of the discrepancy providqs a clue about the type of error that occurred. For example, if the recomputed record count is smaller than the original, one or more transaction records were not
processed. Conversely, if the recomputed record count is larger than the original, either
additional unauthorized transactions were processed, or some trausaction records were
If a financial or hash total discrepanry is evenly divisible by 9, the likely
canse is a transposition rror, in which two adjacent digits were inadvertendy teversed
(e.g,, 46 instead of 64). Transposition errors may appear to be trivial but can have enormous financial consequences. Fot example, consider the effect of misrecording the'interest
mte on a loan as 6.4% irstead of 4.67o.
Cross-footing and zero-balfrnce tests. Often totals can be calculated in multiple ways.
For example, in spreadsheets a grand total can be computed either by summing a column
of row totals or by summing a row of column totals. These two methods should produce
the same result. A cross-footing balance les, compares the results produced by each
method to vedfy accttacy. A zero-balance ,es, applies this same logic to control
accounts. For example, the payroll cleadng account is debited for the total gross pay of
all employees in a particular time period. It is then credited for the amount of a1l labor
costs allocated to yadous expense categodes. The payroll clearing account should have
a zero balance after both sets of entries have been made; a nonzero balalce indicates
a processing error.
Wite-protection mechsnisms. These protect against overwriting or eras\Dg of data fi1es
stored on magnetic media. Write-protection mechanisms have long been used to protect
master files from accidentally being damaged. Technological innovations also necessitate
the use of write-protection mechanisms to protect the integrity of transaction data. Far
example, radio frequency identification (RFID) tags used to tack inventory need to be
write-protected so that unscrupulous customers cannot change the prici of merchandise.
Concurrent upiklte controk. Errors can occur when two or more users attempt to
update the same record simultaneously. Concurrent upilate con rrors prevent such err6rs .=
by locking out one user until the system has finished processing the transaction entered by
processed twice.
Output Controls
Careful checking of system output provides additional control over processing iDtegrity.
Impodant output controls include the following:
a
a
User review ol ourpur. Users should carefully examine system output to veriry that it is
reasonable, that it is complete, aDd that they are the intended recipielts.
Reconciliation procedures. Peiodically, all transactions and other system updates
should be reconciled to control reports, file status/update reports, or other control mechanisms. In addition, general ledger accounts should be reconciled to subsidiary account
totals on a regular basis. For example, the balance of the inyentory contuol account in the
general ledger should equal the sum of the item balances in the inventory database. The
same is fue for the accounts receivable, capital assets, and accounts payable control
accounts.
External data reconciliation. Database totals should periodically be reconciled with dita
maintained outside the system. For example, the number of employee records in the payroll
file can be compared with the total number of employees in the human resources database
to detect attempts to add fictitious employees to the payroll database. Similarly, inventory
on hand should be physically counted and compared to the quantity on hand rectrded in
the database.
CHAPTER 1O
the result
be accurate. Otherwise, the file is resent.
2. Parity bits. Computers reprcsent characters as a set of binary digits called bits' Each
bit has two possible values: 0 or 1. Many computers use a seven-bit coding scheme'
*.
(both
which is more than enough to represent the 26 letters in the English alphabet
($' %'
upper- and lowercase), thi numben 0 through 9, and a variety of special symbols
&, etc.). A parixy bit is an extxa digit added to the beginning of every character that can
parbe used to ;heck transmission acquracy. Two basic schemes are rcferredto as even
an
even
has
chamcter
each
ity an&odd parity.In even parity, the parity bit is set so t}Iat
of bits with the value 1; in odd parity, the parity bit is set so that an odd number
number
*JIf
bits in the character have the value l. For example, the digits 5 and 7 can be repreparity syssented by rhe seven-bit pattems 0000101 and 0000111, respectively. An even
-tem wouid set the parity bit for 5 to 0, so that it would be transmitted as 00000101
(because the binary code for 5 already has two bits with the value 1)' The parity bit for
(because the binary
7 would be sei to i so that it would be transmitted as 10000111
parity checking'
performs
device
receiving
1).
The
value
with
the
bits
code for 7 has 3
value
I in each
to
the
set
are
of
bits
proper
number
that
the
verifying
entails
which
character rcceived.
the application
BATCH PRoCESSING INTEGRITY CoNTROLS Figure 10-1 shows
transactions:
sales
credit
batch
of
processing
a
shoutd be applied at each step of
conhols that
tionofthebatchtotalscalculatedinsteplvedfiesthatnoffansactionsaremissing.
A control report lists all data entry erors. Data enty errors that occurred because
an
can
key
operator read a ;ource document incorrectly or accidentally struck the wrong
as an
such
data'
source
lncorrect
detected
being
after
immediately
corrected
usually be
299
PART
ll .
FIGURE 10.1
ConEol Pro.edurc3
Protesslng Proreduret
Application Controls in
Batch Processihg
of
Credit Sales
I SreD I
. R*..d c","r JI n,-her of soles orderc
. Hosh totols o[ &uontiry sold ond price
. Finoftiol totdl 6t Jollor bls
1
SreP 2
Slep 3
.
.
rcrdlr \
unauthorized sales transaction or an invalid account number, are more problematic ahd
should be retumed to the sales department for correction.
4, Sort and edit the transaction lile. The transaction file is now sorted by customer
account number. Additional validation checks are performed, including sign checks that
both the quantity ordered and price fields contain positive trumbers, and a range check on
promised delivery dates to yeriry that it is not earlier than the date of the order nor later
than the company's advertised policies. Rejected transactions are listed on a control repof
along with the computed batch totals. Data control reconciles the batch totals, investigates
and corrects any errors, and submits the corrected tmnsactions for processing.
5. Update thz masterfles. The sales transaction file is processed against customer
(accounts receivable) and inventory databases or master files. The operator reads the external label, and the program reads the intemal header record to ensure that the correct master
file is being updated. Sales transactions witl customer numbers or item numbers that do
not exist in the corresponding master frle are not plocessed: instead, they are entered on, an
error report. After a sales transaction is processed, a sign check is performed to ensure tltat
the quantity-on-hand field in the inventory master record is not negative. Tests arc also performed to ensure that sales prices fall within normal ranges, that ihe order dos not exceed
the customer's credit limit, alld that the quantity ordered is reasonable given the nahlre of
the item and the customer's order history. Redundant data check-for exampb, comparing inventory item number and description-are used to ensure that the correct master file
CHAPTER 1O
Cortrol Prcaedutet
Pro<essing Procedurel
I
Step 4
S.ou.n.e c eck on occount number
.
.
r Comoletenels
.
.
.
SleP 5
A/R ond
inveniory
mosier
files
SleP 6
.
.
.
.
SleP 7
n.conciliJtion of both
ttk
the identity
When an employee accesses the online system, logical access controls confirm
the
ernployee's
of
of the data entry device (pe$onal computer, terminal) and the validity
user ID number and Password.
301
3O2
PART
ll .
FIGURE 1O-2
Online Processing
Application Controls in
Online Processing of
Credit 5ales
Controls Applied os
Tronsoction Updotes the
Cuslomer ond lnveniory
Dotoboses
a
a
a
a
A compatibility test ensures that the employee is authorized to perform that task.
The system automatically assigns the txansaction the next sequential sales order number
and the current date as the date of the invoice.
The system prompts for all required input (completeness test). After each prompt, the system waits for a response.
Each response is tested using one or more of the following contols: validity checks (valid
customer and inventory numbers), field and sign checks (only positiye, numeric characters
in the quantity, date, and price fields), and Iimit or range checks (delivery d{tc versus
curTent date).
When the customer number is entergd, the system retrieves the coflespolding customer
name from the database and displays it on the screen (closed-loop verification). The operator visually examines the customer name. Ifit matches the name on the sales order document, the operator signals the system to proceed with the txansaction. If not. the operator
rechecks the customer number and enters the correct value.
When the inyentory item number is entered, the system and the operator go through the_
same procedures as they do with the customer number.
Online Processing Controls. Because the file update program accesses the custorGf and
inyentory database records, it performs additional input validation tests by compaiing data in
each transaction record with data in the corresponding database record. These tests often include
the following:
a
o
a
o
a
Limit
Orline Output Controls. Outputs of this process include bilting and/or shipping documents and
a conhol report. The following output conhols are used:
a
a
a
Billing
CHAPTER
10
a
a
a
systems
The preceding example illusbated the use of application contlols to ensure the integdty of processing busines\transactions. Focus 10-1 explairls the importance ofprocessing integrity controls
at a large Dutch university.
(2UJ7): Volume 1.
304
PART
II .
Availability
Interruptions to business processes due to the unavailability of systems or information caD cause
significant financial losses. Consequent,y, COBIT seftion DS 4 addresses the importance of
ensuring that systems and information are availablelfor use whenever needed. The primary
objective is to minimize the risk of system downtime.Jlt is impossible, howeyer, to completely
eliminate the risk of downtime, Therefore, organizations also need conhols designed to enable
quick resumption of normal operations after an event disrupts system availability. Table 10-2
summarizes tie key conuols related to these two objectives.
o
a
a
a
a
a
Training can also reduce the risk of system downtime. Well-trained operators are less likety
to make mistakes and will know how to recover, with minimal damage, from e[ors they do
commit. That is why COBIT conEol objective DS 13.1 stresses the importance of defining and
documenting operational procedures and ensuring that IT staff understand their responsibilities.
System downtime can also occur because of computer malware (viruses and worms).
Therefore, it is important to install, run, and keep current antivirus and anti-spyware programs.
These programs should be automatically invoked not only to scan e-mail, but also any removable
sysrem downlime
.
.
2. Quick
of normal operations
Prcventive maintenance
Fault tolennce
Data center locadon and
design
. Training
. Patch management and antivirus soffware
. Backup procedures
. Disasrer recovery plan (DRP)
. Business continuity plan (BCP) ,
CHAPTER
Timo o[ lost
DOCXUp
t0 .
much doic
poienfiolly lost
Hc'r,v
sysl,em
down
Time system
reslored
computer media (CDs, DVDS, USB drives, etc.) that are brought isto the organization. A patch
management system provides additional protection by ensuring that vulnerabilities that can be
exploited by malware are fixed in a timely manner
Figure 10-3 ihows the relationship between these two questions. When a problem occurs,
data about everything that has happened since the last backup is lost unless it can be reentered
into the system. Thus, management's answer to the hISt question determines thc organization's
recovery point objecfire (RPO), which represents the maximum amount of data that ttle organization is willing to potentially lose. The answer to the second question determines the otgatizatiola's recovery time objective (RTO), wbich represents the length of time that the organization is
willing to attempt to function without its information system.
For some organizations, the answer to both questions is close to zero. Airlines and financial
institutions, for example, cannot operate without their information systems, nor can they afford
to lose inforrnation about tuansactions. For such organizations, the goal is not quick recovery
from problems, but resiliency. The solution is to employ real-time mtrroir,g. Real-time mirroing
involved maintaining two copies of the database at two separate data centers at all times arld
updating both copies in real-time as each tmnsaction occurs. In the event that something happens
to one data center, the organization can immediately switch all daily activities to the other
For other organizations, however, acceptable RPO and RTO may be measurcd in hours or
even days. Achieving those goats requires data backup procedures plus disaster recovery and
business continuity plans.
DATA BACKUP PROCEDURES Data backup procedures are designed to deal with situations
where information is not accessible because the relevant files or databases have become
comrpted as a result of hardware failure, software problems, or human error, but tbe information
system itself is still functioning. Several different backup procedures exist. A Jull backup is an
exact copy of the entire database. Full backups are time-consuming, so most organizations only
do full backups weekly and supplement them with daily partial backups. Figure 1G4 compares
the two types of daily partial backups:
l.
An incremental backup involves copying only the data items that have changed since the
last partial backup. This produces a set of inqremental backup files, each containing the
FIGURE 10.3
Relationship of Recovery
Point Objective and
Recovery Time Objective
PART
ll .
SYSTEMS
CONTROL AND AUDIT OF ACCOUNTING INFORMATION
FIGURE 1O-4
Comparison of
lncremental and
Differential DailY
Backups
l.
I
Bockup
Mondoy
Activity
Sundoy
[londoy
Bockup
Tuesdoy
Bockup
bockup
Activity
TuesdoY
Sundoy full
bockup
Mondoy bockup
Tuesdoy bockup
WednesdoY
Mondoy &
Mondoy
Aclivity
Tuesdoy
Mondoy
Tuesdoy &
Acliviry
Tuesdoy
WednesdoY
iarv i"e-
t--"
unarnirrion. e"""ts to backup files also needs to be carefully
iit at" t.p""ant to peri;dically practice restoring a system from its backups'
This verifies
su"k ;, ar" ."tuined for only a relatively short period of time' For example' many organizations
*art ln onty a"*t"t months oflackuPs. Some information, horr'ever' must be stolEd much longer'
An archive
(x)py
FoR sYsrEMs
;::'::#
"#-t"
-"::-Ls
RE,ABT,ry
307
PART
ll .
to fully anticipate everything that could go wrong. The time to discover such problems is not during an actual emergency, but mther in a setting in which weaknesses can be carefully and thoroughly analyzed and appropriate changes in procedures made. Therefore, ilisaster recovery and
business continuity plans need to be tested on at least an annual basis to ensure that they accurately reflect rccent changes in equipment and procedures. It is especially important to tPst the
procedures involved in the transfer of actual operations to cold or hot sites. Finally, DRP and
BCP documentation needs to be updated to reflect any changes in procedures made in-rcsponse
ro problems identified during tesls of those plans.
EFFEC|S OF VIRTUALIZATION AND CLoUD COMPUTING A virtual machine isjusi a collection of
software files. Therefore, if the physical seryer hosting that machire fails, the files can be
installed on another host machine within minutes. Thus, virtualization significantly reduces the
time needed to recoyer (RTO) from hardware problems. Note that virtualization does not
eliminate the need for backups; organizations still need to create periodic "snapshots" of desktop
and server virtual machines and then store those snapshots on a network drive so that the
machines can be recreated. Virtualization can also be used to support real-time mirroring in
which two copies of each virtual machine are run in tandem on two separate physical hosts.
Every transaction is Eocessed on both yirtual machines. If one fails, the other picks up rvithout
any break in service.
Cloud computing has both positive and negative effects on availability. Cloud computing
typically utilizes banks of redundant servers in multiple locations, thereby reducing the risk that
a single catastophe could result in system downtime and the loss of all data. However, if a Public ctoud provider goes out ofbusiness, it may be difhcult, ifnot impossible, to retrieve any data
stored in the cloud. Therefore, a policy of making regular backups and storing tbose backups
somewhere other than with the cloud provider is critical. In addition, accountants need to assess
the long-run financial viability of a cloud provider before their organization colrmits to outsource any of its data or applications to a public cloud.
CHAPTER
10
Change Control
'::j.$.-
'tT:]:r.r.i{ri
COBIT sections AI 6, AI 17, and DS 9 address different aspects of thp critically important topic of
clange control. OrganizEtions constantly modify thei informatiorl systems to reflect new busiriess practices and to takg advantage of advances in information technology. Change control is
the formal process used io ensure that modifications to hardware, software- or processes do not
reducri systems reliabihtf. In fact, good change control often results in overall better oprat:Lg
performance: careful tes]ing prior to implementation reduces the llketihood of making changes
that cause system downtllne, and thorough documentation facilitatis quicker "trouble-shooting"
and resolution of any problems that do occur. Companies with a good change conEol process are
also less likely to suffer financial or reputational harm from secudty incidents.
Effective change control procedures require regularly monitoring for unauthorized
changes and sanctioning anyone who intentionally introduces such changes. Other principles of
a well{esigned change control process include the following:
*.
All change requests should be documented and follow a standardized format that clearly
identifies the nature of the change, the reason for the request, the date of the request, and
the outcome of the request.
t All chiirges should be approved by appropriate levels of management. Approyals should be
tlearly documented to provide an audit trail. Managers should consult with the CISO or
other II managers about the effects of the proposed changes on systems reliability.
o-To assess the impact of the proposed change on all five principles of systems reliability,
changes should be thoroughly tested prior to implementation in a separate, nonproduction
environment, not the system actually used for daily business Processes. (Virtualization
technology can be used to reduce the costs of creating a separate testing and development
system). As data from old frles and databases are entered into new data structures, conversion controls are needed to ensure that the new data storage media are ftee of errors. The old
a
o
o
a
and new systems should be run in parallel at least once and the results compared to identify
discrepandes. Intemal auditors should review data conyersion processes for accuracy.
All documantatiol (program instxuctions, systems descriptions, backup and disaster recovery plans, etc.) should be updated to reflect authorized changes to the system.
"Emergency" changes or deviations from standard operating policies must be documented
and subjected to a formal review and approval process as soon after implementation as
practicable. All emergency changes need to be logged to provide an audit trail.
"Backout" plans need to be developed for reverting to previous configurations in case
approved changes need to be interrupted or abandoned.
User rights and privileges must be carefully monitored durlng the change process to ensure
that proper segregalion of duties is maintained.
Probably the most important charge conaol is adequate monitoring aad review by top management to ensure that proposed and implemented changes are consistent with the organization's
multiyear strategic plan. The objective of this oversight is to make certain that the organization's
information system continues to effectiyely support its stategy. Many organizations create IT
steering comnittees to perform this important monitoring function.
310
PART
ll .
Jason concluded his rcport with specific recommendations to addrcss the weaknesses he had
found. He recommended that Northwest Industries iDmediately test its backup restoration prccedures and encrlpt its backup f,les. Jason also recommended testing the DRP and BCP plam. Another
recommendation was to purchase a server that would use virtualization software to create a'testing
and developmelt system and resaict progmmmers' access to only that virtual system. Finally, he
suggested the CIO should assign someone to update the documentation to record the effects of
"emergency changes" made during the past year and implement procedures to ensure that all
future changes be documented. Jason felt confident that once those recommendations were implemented, management could be reasonably assured that Northwest Industries' infomation systems
had satisfied the AICPA s Trust Services fiamework criteria and pdnciples for systems reliability.
Key Terms
tumaround document 296
field check 296
sign check 296
limit check 296
range check 296
size check 296
completeness check 296
Yalidity check 296
reasonableDesstest 296
check digit 297
check digit verification 297
sequence check 297
batch totals 297
\-
record 297
trailer record 298
header
transpositionerror
298
cross-footing balance
test
controls
298
299
total 297
hash total 297
financial
count 297
Fompting 297
record
backup
(RTO)
305
real-timemirroring
298
checksum
(DRP)
307
305
ACI'ON
AIS
'N
Chapter Ouiz
l.
Which of the following measures the amount of data that might be potentially lost as a
result of a system failure?
CHAPTER 1O
2.
Which data entry application control would detect and prevent entry of alphabetic characters as the price of an inventory item?
c. reasonableness check
a. field check
d.
b- limit check
sign check
a. field check I
b. completeness check
4-
c. validitY check
d. batch total
Which disaster recovery stategy involYes cont acting for use of a physical site to which
all necessary computing equipment will be delivered within 24 to 36 hours?
a.
virtualization
c. hot site
d. data mirroring
b. cold site
5.
'
6.
Information that needs to be stored securely for 10 years or more would most likely be
stored in which type offile?
c. encrypted
d. Iog
a. backup
b. archive
7.
Which of the following is an example of the kind of batch total called a hash total?
a. the sum bf the purchase amount field in a set of purchase ordels
b. the sum ;f the purchase ordet number field in a set of purchase orders
c. the number of completed documents in a set of purchase orderc
10.
are
tue.
Which of the following provides detailed procedures to resolve the problems resulting
ftom a flash flood that completely destoys a company's data center?
c. business continuity plan (BCP)
a. backup plan
d. archive plan
(DRP)
recovery
b. disaster
Plan
Which of the following is
b. check digit
c. parity bit
d. size check
Discussion Questions
10.1. Two ways to create processing integrity controls in Excel spreadsheets are to use the
built-in bata Vatidation tool or to write custom code with IF statements. What are the relative advantages and disadvantages of these two approaches?
l0.2.whatisthedifferencebetweenusingcheckdigitverificationandusingavaliditycheck
to test the accuracy of an account number entered on a transaction record?
RELIABTLITY 311
312
PART
II .
10.3. For each of the tbrce basic options for replacing IT infrastruchrre (cold sites, hot sites,
andreal-timemirroring),giveanexampleofanorganizationthatcouldusethatapproach
as
10.4. Use the num$ers 10-19 to show why tansposition enors are always divisible by 9'
I
10.5. What are so{e business processes for which an organization might use batch processing?
10.6. Why do you lhink that surveys continue to find that a sizable percentage of organizations
either do not have formal disaster recovery and business continuity plaBs or have not
tested and revised those plans for more than a year?
Problems
10.1. Match the following terms with the appropriate definition or example:
1. Business continuity
2.
Completeness check
3. Hash total
time
4. Incremental daily
disaster
backup
a cus-
tomer is 18 or older
6. Field check
f.
7.
Sign check
g. A
8.
Change control
h. A disaster
9. Cold site
i.
of
of an
use
altemate site that is prewired for Intemet connectivity but has no computing or network equipment
of
5. Archive
ity after
a. A file
plan (BCP)
j.
An application control that ensures that a customer's ship-to address is entered in a sales order
k.
l.
objective (RPO)
use of an account
processing
after
not
have
a
balance
rhat shoutd
o. A batch total
meaJnnS
CHAPTER 1O
_
'
Atr application control that validates tlle co[ectness of one data item in a transaction record by
comparing it to the value of another data item in
17. Closed-loop
verification
-t-----
that
---- trahsaction record
,--
I
!
--l
,r.
A plan Jthar describes how to resume business operations 4fter a major calamity, such as Hurricane
Katrind, that destroys not only an organization's
data center but also its headquarte$
Reasonableness test
l
1
21. Tumaround
document
an
informa-
Pay
Rate
Hours Worked
12355
10.55
38
21789
2M56
11.00
95.00
3456'7
10.00
40
90
40
Gross
Pay
400.90
440.00
8550.00
400.00
Deductions
125.00
395.00
145.00
105.00
Net Pay
2'15.90
45.00
8405.00
505-00
.
.
.
A hash total
A financial total
A record count
b. Assume the following rules govem normal data:
.
.
.
.
Employee numbers are hve digits in length and range from 10000 through 99999.
Maximum pay rate is $25, and minimum is $9.
RELIABILITY 313
.:
314
PART
ll .
/R
Member #
t234
Flight Date
09/10/10
4ttl
Used*
Plane
ThkeoffTime
G
C
09lo,/10
Landing Time
6:25
8:49
1zto
@t01110
0023
012A
0999
09/01n0
09/01/10
1,59
12:29
ogtouto
15:31
8:46
l0:23
5t42
12i43
15i32
13i45
Required
a. Identify and describe any eEors in the data.
b. For each of the five data fields, suggest one or more input edit controls that could
c.
d.
be
used to detect input errors.
Enter the data in a sprcadsheet, and create appropriate controls to prcyent or at least
detect the input errors.
Suggest other controls to minimize the risk of input errors.
(SMAC adapted)
10.4. The fust column in Table l0-3 lists transaction amounts that have been sumned to obtain a
batch total. Assume that all data in the fust column are colrect. Cases A thro\gh D each contain an input error in one record, along with a batch total computed from that set of records.
Required
For each case (a thrcugh d), compute the difference between the corlect and erroneous
batch totals, and explain how this difference could help identify the ca\rse of the error.
TABLE
Batch total
10.4
Case
Case B
Case
c;G
$3,630.62
$3,630.62
$3,630.62
$3,630.62
1,484.86
1,484.86
I,484.86
1,484.86
1,484.86
1,',123.46
1,723.46
t,'123.46
1,721.46
1,123.46
9,233.25
9,233.25
9,233.25
9,233.25
9,233.25
r23.45
't,832.44
123.45
t23.45
123.45
123.45
7,832.44
1,832.44
7,832.44
7,832.44
2,398.33
2,398.33
239A33
2,398.33
2,398.33
3,766.24
3,766.24
3,766.24
3,',766.24
3,766.24
4,400.00
4,400.00
4,400.00
-4,400.00
4,400.00
2,833.00
2,833.00
2,833.00
2,833.00
2,833.00
1,918.95
r,987.95
1,978.95
1,9'78.95
1,978.95
654.32
6s4.32
654.32
654.32
9,876.2i
9,876.23
9,876.23
9,816.23
9,8'16.23
2,138.10
2,138.10
2,138.10
2,138.10
2,138.10
5,533.99
5.533.99
5-533.99
5.533.99
5.533.99
$57,60'1.24
$5',1,616.U
$5r,6U.24
$48,807.24
$3,630.62
ise,ssz.sz
'
c"orrr*,o .
. Plainlext character
l. ASCtr code (seven bis, binary number)
l. F stbit
L Second bit
. Th d bit
. Fourth bit
. Fifth bit
. Sixth bit
. Seventh bit
. Number of bits with value = 1
. Parity bit for odd parity coding
. Parity bit for even parity coding
,
{
Required
a. Enter a-e, A-E, 0-9, ?,1,7o, &, arld:, in the plaintext column.
b. TIid ASCII column should conyert the plaintext chamcter to the binary
*
*
-'
code used by
your computer.
seven columns should each display one bit of the ASCII code, beginning with
the lefEnost digit. (Flilrr. Excel provides text functions that can select individual characters from a string.)
The tenthcolumn should sum the number of bits that have the value 1. (Iiinr.' The text
functions used to populate columns 3-9 retum a text stdng that you will need to con-
c. The next
d.
'
e. Column 1l should
have a
10 is odd, and 0
if
the number in
column 10 is even.
f.
a0
if
the number
in coluhn 10 is odd.
10.6. The ABC Company is considering the following options for its backup plan:
l.
.
.
.
Size of backup = 50 GB
Time to restore from backup = 30 minutes
2. Weekly futl backups plus daily incremental backup:
. Same requirements as option 1 to do a full backup on Friday, plus
. Time to perfom daily backup = l0 minutes
. Size of daily backup = 19 69
' . Time to restore each daily backup file = 5 minutes
3. Weekly full backups plus daily differential backup:
. Same requirements as option 1 to do a full backup on Friday, plus
. Time to perform daily backup = 10 minutes first day, growing by 5 minutes each
day thereafter
. Size of daily backup = 10 GB frrst day, growing by 10 cB each day
. Time to restore differential backup flle = 5 minutes first day, increasing by 2 minutes each subsequent day
'
316
PART
ll .
correctly, and the customer erroneously receiYed a letter that the account was
delinquent.
d. A salesprson mistakenly entered an online order for 50 laser pdnters instead of 50 laser
printer toner
cartridges.
f.
temporarily.
A fue deskoyed the data center, including all backup copies of the accounts redeivable
files.
g, After processing
hand for several
quairtity on
items.
i.
j.
A visitor to the company's Web site entered 400 chamcters into the five-digit zip code
the customer was not billed for another week, delaying receipt of Payment.
lhe company.
The wananty department marlager was upset because special discount eoupons were
mailed to every customer who had purchased the product within the patt tkee years,
instead ofto only those customers who had purchased the product within the past tfuee
months.
m. The clerk entering details about a large credit sale mistakenly typed in a
nonexistent account number. Consequently, the company never received payment
for the items.
n. A customer filled in the wrcng account mmber on the portion of the invoice being retumed
I.
with payment. Consequently, the payment was credited to another customer's accounti
sheets was sent to the payroll department for weekly processing.
Somehow, one of the time sheets did not get processed. The mistake was not catght
until payday, when one employee complained about not receiving a paycig4k.
p. Su[spot activity resulted in the loss of some data being sent to the regional ofEce. The
problem was not discovered until several days late1 when managers attemPted to
query the database for that information.
o. A batch of ?3 time
10.8. MonsterMed Inc. (MMI) is an online pharmaceutical flrm. MMI has a small systems stafl
that designs and writes MMI'S customized software. The data center is installed in the
basement of its two-story headquarte$ building. The data center is equipped with halongas fire suppression equipment and an uninteruptitlle power supply system.
The computer operations staff works a two-shift schedule, five days per week. MMI's
programming staff, located in the same building, has access to the data center and can
test new programs and program changes when the operations staff is not available.
Programmers make cha[ges in response to oral requests by employees using fie system.
Because the programming staff is small and the work demands haYe increased, systems.
and programming documentation is deyeloped only when time is available. Backups 7
are made whenever time permits. The backup files are stored in a locked cabinet in the
data center. Unfortunately, due to several days of heavy rains, MMI's building recendy
experienced serious flooditrg that destroyed not only the computer hardware but also all
the data and program files that were
on-site,
CHAPTER 1O
ReqEired
a. Identify at least five weaknesses in MonsterMed Inc.'s backup
b, Evaluate change conholp ar MoDsterMed Inc.
ld9.
ExcelProblem
Create data validation rule! in a spreadsheet to perform each of the following control!:
a- Limit check-that valu* in the cell are < 70
b. Range check-that valuls in the cell are between 15 and 65
c. Sign check-that valueslin the cell are positive
EN
reI
Required
*'
a. Crdale a spreadsheet th-at will take as input a fiye-digit account number, and calculate
'*--a check digit using this formula: (5 X left-most digit + 4 X next digit + 3 X th d
digit + 2 x fourth digit + fifth digit) modulus division by 7. (Modulus division
example: 11 modulus division by 3 = 2). The check digit
- retums the remainder-for
then becomes the sixth (righrmost) digit in the account number Your spreadsheet
should loo[< like this:
Check digits----creatiolr and use
a. Creating check
R"x
accorint#
digits
First
digit
Fomula = (5x left-most digit + 4x next digit.r 3x third digit + 2x foufth digit + fifth digit) mod 7
Second
Third
disit
digit
12350
2
2
2
2
2
2
1.2351
12352
2
2
12345
12346
1234'.1
12348
12349
1?353
Fourth
digit
Fifth
disit
Check digit
Actual
calculation
account #
4
4
4
4
4
5
5
5
5
123450
123461
123472
r23483
4
4
123494
123504
r23515
123526
123530
b.. Add another panel to the spreadsheet that takes as input a six-digit account number
and uses the check digit formula in part a to test whether or not the account number
Account
tlumber
Fourth
digit
Fifth
Check Valid?
digit
disit (Y
23530Y
23534N
t23530
123534
10.11. For each of the following scenarios, determine whether the company's curent backup
procedures enable it to meet its recovery objectives, and explain why:
a. Scenario
.
.
.
1:
318
PART
ll .
b. Scenario 2: Company
.
.
.
.
.
c.
minutes
'l
.
.
.
.
.
2.
(Aptil
(Apil
2003); 57-66.
Required
Read one or more
CHAPTER
lo .
l.
RELIABILITY 319
Whar
ACT'ON SOLUTIONS
AI5
'N
Ouiz Key
1.
*
)
$nrich of the following measures the amount of data that might be potentially lost as a
result of a system failure?
31 recovery time objective (RTO) (Incorect. The RTO measures the time that an organization may have to function witlout its information system.)
b. recovery po,int objective (RPO) (Correct. The RPO measures the time between the last
. dara backup and the occurrence of a problem.)
c. disaster recovery plan @RP) (Incorrect. A DRP specifres the procedures to rcstore IT
operations.)
d.
business continuity plan (BCP) (Incorrect. A BCP speciies the procedures to resume
busineslprocesses.)
2.
)
Which data entry application contlol would detect and prevent entry of alphabetic characters as the price of an inventory item?
a. field check (Correct. Field checks test whether data arc rumeric or alphabetic.)
b. limit check (Incorect. A limit check compares an input value against a fixed number')
c. reasonableness check (Incorrect. A reasonableness check compares two data items to
determine whether the values of both are reasonable.)
d. sign check (Incorrect. A sign check determines whether a numeric field is positive or
negative.)
3.
a sales transaction ?
betic.)
b.
> c.
d.
4.
Which disaster recovery strategy involves conhacting for use of a physical site to which
all necessary computing equipment will be delivered within 24 to 36 hours?
a. virtualization (Incofiect. Vinualization is a strategy to make better use of resources by
running multiple virtual machines on one physical host. It is not a disaster recovery
strategy.)
PART
ll .
d.
l-
5.
)
(Correcr.)
complex.)
required.)
6.
Information that needs to be stored securely for l0 years or more would most likely be
stored in which type of file?
a. backup (Incomect. Backups are for short-term storage; archives arc for long-term storage')
uses archives,
encrypted.)
d. log (Incorrect. A log is part of an audit tuail.)
7.
>
8.
)
9.
Which of the following is an example of the kind of batch total called a lash total?
a. the sum of the purchase amount field in a set of purchase orders (Incorrect. This is an
example of a financial total.)
b. the sum of the purchase order number held in a set of purchase orders (Correct. The
sum of purchase order numbers has no intrinsic meaning.)
c. the number of completed documents in a set of purchase orders (lncorrect. This is an
example of a record count.)
d. all of the above (Incorect. Choices a and c are incorect.)
Which of the following statements is true?
a. "Emergency" changes need to be documented once ttle problem is resolvd. (Incorrect.
This statement is true, but so are b and c.)
b. Changes should be tested in a system separate from the one used to process tansactions. (Incorect. This statement is true, but so are a and c.)
c. Change conkols are necessary to maintail adequate segrcgation of duties. (Incorrect.
This statement is true, but so are a ard b.)
d. All of the above are true. (Correct.)
Which of the foltowing provides detailed procedures to resolve the problems resulting
from a flash flood that completely destroys a company's data center?
a. backup plan (Incorrect. Backup plans focus solely on making a duplicate copy of files
in the event that the original becomes comrpted because of hardware malfunctions,
software problems, or human error.)
b.
c.
business continuity plan (BCP) (Incorrect. A BCP focuses on restoring not only
all aspects business prccesses.)
archive plan (Incorrect. An archive plan deals with long-term retention of data.)
IT functionality.)
d.
I'l:but
qHAFTER
10.
--'
t0
'
INFORMATION sYsr:Ms-
coNr:ols
of information
Which of the following is a control that can be used to verify the accuracy
,.un-r-#n"d ouer a netiork?
control to onsue
completeness check (Incorect. A completeness check is a data input
a.
i-po*uol fo,
overflow attacks.)
FoR sYsrEMS
RELIABILITY
'21