CISA Official Review Manual-CISA (2024) - OCR - p226-250
CISA Official Review Manual-CISA (2024) - OCR - p226-250
Method Description
Before and after Computer data in a file prior to and after a transaction is processed can be recorded and reported.
image reporting The before and after images make it possible to trace the impact that transactions hâve on computer
records.
Maintenance Control procedures should be in place to ensure that ail error reports are properly reconciled and
error reporting corrections are submitted on a timely basis. To ensure séparation of duties (SoD), error corrections
and handling should be reviewed properly and authorized by personnel who did not initiate the transaction.
Source Source documentation should be retained for an adéquate time period to enable retrieval,
documentation reconstruction or vérification of data. Policies regarding the rétention of source documentation should
rétention be enforced. Originating departments should maintain copies of source documentation and ensure that
only authorized personnel hâve access. When appropriate, source documentation should be destroyed
in a secure, controlled environment.
Internai and Internai and external labeling of removable storage media is impérative to ensure that the proper data
external labeling are loaded for Processing. External labels provide the basic level of assurance that the correct data
medium is loaded for processing. Internai labels, including file header records, provide assurance that
the proper data files are used and allow for automated checking.
Version usage For processing to be correct, it is critical that the proper version of a file and the correct file are used.
For example, transactions should be applied to the most current database, while restart procedures
should use earlier versions.
Data file security Data file security Controls prevent unauthorized access by unauthorized users that may hâve access to
the application to alter data files. These Controls do not provide assurances relating to the validity of
data but ensure that unauthorized users who may hâve access to the application cannot alter stored
data improperly.
One-for-one Individual documents agréé with a detailed listing of documents processed by the computer. It is
checking necessary to ensure that ail documents hâve been received for processing.
Prerecorded Certain information fields are preprinted on blank input forms to reduce initial input errors.
input
Transaction logs Ail transaction input activity is recorded by the computer. A detailed listing, including date of input, time
of input, user ID and terminal location, can then be generated to provide an audit trail. It also permits
operations personnel to détermine which transactions hâve been posted. This will help to decrease the
research time needed to investigate exceptions and decrease recovery time if a System failure occurs.
File updating Proper authorization for file updating and maintenance is necessary to ensure that stored data are
and correct, up to date and safeguarded adequately. Application programs may contain access restrictions
maintenance in addition to the overall System access restrictions. The additional security may provide levels of
authorization authorization and an audit trail of file maintenance.
Parity checking Data transfers in a computer System are expected to be made in a relatively error-free environment.
However, when programs or vital data are transmitted, additional Controls are needed. Transmission
errors are controlled primarily by error-detecting or correcting codes. The former is used more often
because error-correcting codes are costly to implement and are unable to correct ail errors. Generally,
error détection methods such as a check bit and redundant transmission are adéquate. Redundancy
checking is a common error-detection routine. A transmitted block of data containing one or more
records or messages is checked for the number of characters or patterns of bits contained in it. If the
numbers or patterns do not conform to predetermined parameters, the receiving device ignores the
transmitted data and instructs the user to retransmit. Check bits are often added to the transmitted
data by the télécommunications control unit and may be applied either horizontally or vertically.
These checks are similar to the parity checks normally applied to data characters within on-premises
equipment. A parity check on a single character generally is referred to as a vertical or column check,
and a parity check on ail the équivalent bits is known as a horizontal, longitudinal or row check. Use of
both checks greatly improves the possibilities of detecting a transmission error, which may be missed
when either of those checks is used alone.
The Controls built into an application represent the Even with the most reliable and accurate data sources,
management design of Controls on how a business improperly configured, constructed and prepared
process should be run. While an application contains reports are still a significant risk. Report design
the rules for the business, the data that are the outcome and génération spécifications, templates and création/
of the processing are stored in the database. An entity change request processes are critical System output
may hâve the best Controls built into the application, Controls.
but if management personnel directly update data in the • Reports generated from the System—These
database, then the benefit of the best Controls in the represent the data that management relies on for
application will be overridden. business decisions and review of business results.
Therefore, ensuring the integrity of data in reports is
However, in some situations, enterprises may hâve to
key for the reliability of information in information
carry out direct updates to a database. For example,
Systems. An IS auditor should validate that the reports
if, due to a Systems outage, transactions cannot be
are accurate and provide correct représentation of the
processed in real time, it is not practical to insist that
source data.
the backlog should be entered through the application
(front end) when the System becomes available, before IS auditors need to apply an assessment approach
the transactions of the subséquent days are entered or in validating reports depending on the situation
processed. In such cases, management may décidé to (more évaluation is required when the organization
directly update the backlog transactions in the database has undergone a System change or when evaluating
(back end). customized reports against standard reports of a widely
used application). Methods to validate reports include the
An IS auditor should ensure that there are Controls in
following:
place to ensure that such direct back-end data fixes
• Report distribution—Output reports should be
are supported by authorization of the business for
distributed according to authorized distribution
completeness and accuracy and are processed subject
parameters. Operations personnel should verify that
to computer operations Controls. The important point
reports are complété and delivered according to
to remember is that, in any enterprise, the quality of
schedule. Ail reports should be logged prior to
application Controls is only as good as the quality of
distribution. In most environments, processing output
Controls around direct back-end data fixes.
is spooled to a buffer or print spool on completion of
job processing, where it waits for an available printer.
3.4.2 Output Controls
Controls over access to the print spools are important
Output Controls provide assurance that the data delivered to prevent reports from being deleted accidentaily
to users will be presented, formatted and delivered in a from print spools or directed to a different printer.
consistent and secure manner. In addition, changes to the output print priority can
delay printing of critical jobs. Access to distributed
Output Controls include:
reports can compromise confidentiality; therefore,
• Logging and storage of negotiable, sensitive and
physical distribution of reports should be controlled
critical forms in a secure place—Negotiable,
adequately. Reports containing sensitive data should
sensitive or critical forms should be properly logged
be printed under secure, controlled conditions. Secure
and secured to provide adéquate safeguards against
output drop-off points should be established. Output
theft, damage or disclosure. The form log should be
disposai should also be secured to ensure that no
routinely reconciled to hâve inventory on hand and
unauthorized access can occur. Electronic distribution
any discrepancies should be properly researched.
should also be considered, and logical access Controls
• Computer génération of negotiable instruments,
should be put in place.
forms and signatures—The computer génération
• Balancing and reconciling—Data processing
of negotiable instruments, forms and signatures
application program output should be balanced
should be properly controlled. A detailed listing of routinely to the control totals. Audit trails should
generated forms should be compared to the physical
be provided to facilitate the tracking of transaction
forms received. One should properly account for ail
processing and the réconciliation of data.
exceptions, rejections and mutilations. • Output error handling—Procedures for reporting
• Report accuracy, completeness and timeliness—
and controlling errors contained in the application
Often reports are generated using third-party data program output should be established. The error
analysis and reporting applications (e.g., Essbase).
report should be timely and delivered to the
of testing to apply should be incorporated into the Although acquired Systems are tested by the vendor
enterprise’s QA methodology. QA activities should prior to distribution, these Systems and any subséquent
proactively encourage adéquate levels of testing to changes should be tested thoroughly by the end user and
be performed on ail software development projects. the System maintenance staff. These supplémentai tests
Final acceptance testing has two major parts: quality help ensure that programs function as designed by the
assurance testing (QAT), focusing on technical vendor and the changes do not interact adversely with
aspects of the application, and UAT, focusing on existing Systems. In the case of acquired software, after
functional aspects of the application. QAT and UAT attending to the changes during testing by the vendor,
hâve different objectives and, therefore, should not be the accepted version should be controlled and used for
combined. implémentation. In the absence of Controls, the risk of
introducing malicious patches/Trojan horse programs is
QAT focuses on the documented spécifications and the
very high.
technology employed. It vérifiés that the application
works as documented by testing the logical ‘design and Some enterprises rely on integrated test facilities
the technology itself. It also ensures that the application (ITFs). Test data usually are processed in production-
meets the documented technical spécifications and like Systems. This confirms the behavior of the new
deliverables. QAT is performed primarily by the IT application or modules in real-life conditions. These
départaient. The participation of the end user is minimal conditions include peak volume and other resource-
and on request. QAT does not focus on functionality related constraints. In this environment, IS performs tests
testing. with a set of fictitious data whereas client représentatives
use extracts of production data to cover the most possible
UAT supports the process of ensuring that the System
scénarios and some fictitious data for scénarios that
is production ready and satisfies ail documented
would not be tested by the production data. In some
requirements. The methods include:
enterprises that use a subset of production data in a test
• Définition of test strategies and procedures
environment, such production data may be altered to
• Design of test cases and scénarios
scramble the data so that the confidential nature of the
• Execution of the tests
data is obscured from the tester. This is often the case
• Use of the results to verify System readiness
when the acceptance testing is done by team members
Acceptance criteria are defined éléments that a who, under usual circumstances, would not hâve access
deliverable must meet to satisfy the predefined needs to such production data.
of the user. A UAT plan must be documented for the
After acceptance testing is complété, certification and
final test of the completed System. The tests are written
accréditation processes are performed. These should
from a user’s perspective and should use the System in a
be done after the System has been implemented and
manner as close to production as possible. For example,
in operation for enough time to produce the evidence
tests may be based around typical, predefined business
needed for these processes. This includes evaluating
process scénarios. If a new business process has been
program documentation and testing effectiveness and
developed to accommodate the new or modified System,
results in a final decision for deploying the business
it should also be tested at this point. A key aspect of
application System. For information security issues, the
testing should also include testers seeking to verify that
évaluation process includes reviewing security plans, the
supporting processes integrate into the application in
risk assessments performed and test plans, and results in
an acceptable fashion. Successful completion generally
an assessment of the effectiveness of the security Controls
enables a project team to hand over a complété integrated
and processes to be deployed. Generally involving
package of application and supporting procedures.
security staff and the business owner of the application,
Ideally, UAT should be performed in a secure testing this process provides some degree of accountability to
or staging environment. A secure testing environment, the business owner regarding the State of the System
in which both source code and exécutable code are that they will accept for deployment. See section 3.7.5
protected, helps to ensure that unauthorized or last- Certification/Accreditation for more information.
minute changes are not made to the System without going
When the tests are completed, an IS auditor should issue
through the standard System maintenance process. The
an opinion to management as to whether the System
nature and extent of the tests will be dépendent on the
meets the business requirements, has implemented
magnitude and complexity of the System change.
appropriate Controls and is ready to be migrated to
production. This report should specify the deficiencies
in the System that need to be corrected and should and comparing the results. The purpose of parallel
identify and explain the risk that the enterprise is taking testing is to détermine whether the new application
by implementing the new System. See section 5.12.6 performs in the same way as the original System and
Security Testing Techniques for more information. meets end-user requirements.
• Sociability testing—Tests to confirm that the new
Other Types of Testing or modified System can operate in its target
Other types of testing include the following: environment without adversely impacting existing
• Alpha and beta testing—The two phases of testing Systems. This should cover the platform that will
that software undergoes before being considered perform primary application processing and interfaces
finished. The first stage, called alpha testing, is often with other Systems and, in a client server or web
performed only by users within the enterprise who development, those that perform changes to the
are developing the software (i.e., Systems testing). desktop environment.
The second stage, called beta testing, a form of UAT,
generally involves a limited number of external users.
3.5.2 Software Testing
This involves real-world exposure, sending the beta Test plans identify the spécifie portions of the System to
version of the product to independent test sites or be tested and may include a categorization of types of
offering it free to interested users. deficiencies that can be found during the test. Categories
• Pilot testing—A preliminary test that focuses on of such deficiencies may be System defects, incomplète
spécifie and predetermined aspects of a System. It requirements, designs, spécifications or errors in the
is not meant to replace other testing methods, but to test case itself. Test plans also specify severity levels
provide a limited évaluation of the System. POCs are of problems found and guidelines on identifying the
early pilot tests—usually over intérim platforms and business priority. The tester détermines the severity of
with only basic functionalities. the problem found during testing. Based on the severity
• White box testing—A test that assesses the level, the problem may be fixed prior to implémentation
effectiveness of software program logic. Specifically, or may be noted for correction following implémentation.
test data are used in determining procédural accuracy The project sponsor, end-user management and the
or conditions of a program’s spécifie logic paths (i.e., project manager décidé early in the test phase on the
applicable to unit and intégration testing). However, severity définitions.
testing ail possible logic paths in large information
Systems is not feasible and would be cost prohibitive; Test plans also identify test approaches, such as the
therefore, white box testing is used on a select basis following two reciprocal approaches, to software testing:
only. • Bottom up—Testing begins with atomic units, such
• Black box testing—An integrity-based form as programs or modules, and works upward until
of testing associated with testing components a complété System testing has taken place. The
of an information system’s functional operating advantages include:
effectiveness without regard to any spécifie internai ■ There is no need for stubs or drivers.
program structure. It is applicable to intégration ■ Testing can be started before ail programs are
(interface) and UAT processes. complété.
• Function/validation testing—Similar to System ■ Errors in critical modules are found early.
• Top down—Testing follows the opposite path, either
testing but often used to test the functionality of the
System against the detailed requirements to ensure in depth-first or breadth-first search order. The
that the software that has been built is traceable to advantages include:
■ Tests of major functions and processing are
customer requirements (i.e., Are we building the right
conducted early.
product?).
■ Interface errors can be detected sooner.
• Régression testing—The process of rerunning a
■ Confidence in the System is increased because
portion of a test scénario or test plan to ensure
programmers and users see a working System.
that changes or corrections hâve not introduced new
errors. The data used in régression testing should be Generally, most application testing of large Systems
the same as the data used in the original. follows a bottom-up testing approach that involves
• Parallel testing—The process of feeding test data
into two Systems—the modified System and an
alternative System (possibly the original System)—
ascending levels of intégration and testing (e.g., unit or insertions, délétions and updates to these relations.
program, subsystem/integration, System): Database software generally provides varions built-
• Conduct and report test results—Describe in automated procedures for checking and ensuring
resources implied in testing, including personnel referential integrity. Referential integrity checks
involved and information resources/facilities used involve ensuring that ail references to a primary
during the test and actual versus expected test results. key from another table (i.e., a foreign key) exist
Results reported and the test plan should be retained in their original table. In nonpointer databases
as part of the System’s permanent documentation. (e.g., relational), referential integrity checks involve
• Address outstanding issues—Identify errors and making sure that ail foreign keys exist in their original
irregularities from the actual tests conducted. When table.
such problems occur, the spécifie tests in question
must be redesigned in the test plan until acceptable Data Integrity in Online Transaction Processing
conditions occur when the tests are redone. Systems
In multiuser transaction Systems, it is necessary to
3.5.3 Data Integrity Testing manage parallel user access to stored data typically
Data integrity testing is a set of substantive tests controlled by a DBMS and deliver fault tolérance.
that examines accuracy, completeness, consistency and Of particular importance are four online data integrity
authorization of data presently held in a System. requirements known collectively as the ACID principle:
It employs testing similar to that used for input • Atomicity—From a user perspective, a transaction
control. Data integrity tests indicate failures in input or is either completed in its entirety (i.e., ail relevant
Processing Controls. Controls for ensuring the integrity of database tables are updated) or not at ail. If an error or
accumulated data in a file can be exercised by regularly interruption occurs, ail changes made up to that point
checking data in the file. When this checking is done are backed out.
against authorized source documentation, it is common • Consistency—Ail integrity conditions in the database
to check only a portion of the file at a time. Because are maintained with each transaction, taking the
the whole file is regularly checked in cycles, the control database from one consistent State into another
technique is often referred to as cyclical checking. consistent State.
• Isolation—Each transaction is isolated from other
Two common types of data integrity tests are relational transactions, so each transaction accesses only data
and referential integrity tests: that are part of a consistent database State.
• Relational integrity tests—Performed at the data • Durability—If a transaction has been reported back
element and record-based levels. Relational integrity to a user as complété, the resulting changes to the
is enforced through data validation routines built into database survive subséquent hardware or software
the application or by defining the input condition failures.
constraints and data characteristics at the table
définition in the database stage. Sometimes it is a 3.5.4 Application Systems Testing
combination of both.
• Referential integrity tests—Define existence Testing the effectiveness of application Controls involves
relationships between entities in different tables of analyzing computer application programs, testing
a database that needs to be maintained by the computer application program Controls or selecting and
DBMS. It is required for maintaining interrelation monitoring data process transactions. Testing Controls
integrity in the relational data model. Whenever by applying appropriate audit procedures is important to
two or more relations are related through referential ensure their functionality and effectiveness. Methods and
constraints (primary and foreign key), it is necessary techniques for each category are described in figure 3.24.
that references be kept consistent in the event of
To facilitate the évaluation of application System tests, IS Auditor’s Rôle in Information Systems Testing
an IS auditor may want to use generalized audit
Testing is crucial in determining that user requirements
software (GAS). This is particularly useful when spécifie
hâve been validated, the System is performing as
application control weaknesses are discovered (e.g., ones
anticipated and internai Controls work as intended.
that affect updates to master file records and certain error
Therefore, it is essential that an IS auditor be involved
conditions on spécifie transaction records). Additionally,
in reviewing this phase and perform the following:
GAS can be used to perform certain application control
• Review the test plan for completeness; indicate
tests, such as parallel simulation, in comparing expected
evidence of user participation, such as user
outcomes to live data.
development of test scénarios and/or user sign-off of
Automated Application Testing results; and consider rerunning critical tests.
• Reconcile control totals and converted data.
Test data generators can be used to systematically • Review error reports for their précision in recognizing
generate random data that can be used to test programs. erroneous data and resolution of errors.
The generators work by using the field characteristics, • Verify cyclical processing for correctness (month-end,
layout and values of the data. In addition to test data year-end processing, etc.).
generators, there are interactive debugging aids and code • Verify accuracy of critical reports and output used by
logic analyzers available to assist in the testing activities. management and other stakeholders.
• Interview end users of the System for their The objective of such a project is to develop and
understanding of new methods, procedures and establish the support structure that will exist for the
operating instructions. new technical infrastructure. The main goals are to
• Review System and end-user documentation to accomplish the following:
détermine its completeness and verify its accuracy • Provide appropriate support structures for first-,
during the test phase. second- and third-line support teams.
• Review parallel testing results for accuracy. • Provide a single point of contact.
• Verify that System security is functioning as designed • Provide rôles and skills définitions with applicable
by developing and executing access tests. training plans.
• Review unit and System test plans to détermine
Often the project sponsor’s organization opérâtes and
whether tests for internai Controls are planned and
supports a legacy solution and will implement a new
performed.
System environment based on new System architecture.
• Review the UAT and ensure that the accepted
The existing support procedures and the organizational
software has been delivered to the implémentation
units will hâve to maintain the future System to provide
team. The vendor should not be able to replace this
the appropriate level of support for the new platform and
version.
for the old one.
• Review procedures used for recording and following
through on error reports. To achieve significant success in updating staff on
changes to the business process and introducing new
3.5.5 System Implémentation software, it is necessary to address some important
questions, such as:
Implémentation is initiated only after a successful testing
• How can the existing support staff be involved in
phase. The System should be installed according to the
the setup of the new project without neglecting the
enterprise’s change control procedures.
currently running System?
An IS auditor should verify that appropriate signoffs • What is the gap of knowledge/skills that must be
hâve been obtained prior to implémentation and perform addressed in the training plan?
the following: • How large is the différence between the current
• Review the programmed procedures used for legacy environment operation and the operation of the
scheduling and running the System and System new platform?
parameters used in executing the production schedule.
Generally, a transition project should conform to the
• Review ail System documentation to ensure its
following guidelines:
completeness and confirm that ail recent updates from
• There should be a smooth transition from the existing
the testing phase hâve been incorporated.
platform to the new platform, without any négative
• Verify ail data conversions to ensure that they are
effect on users of the System.
correct and complété before implementing the System
• There should be maximum employment of the
in production.
existing support staff to operate the new System
environment and keep the effort of new hires at a
Implémentation Planning
minimum level.
After it is developed and ready for operation, the new
System delivered by the project will need an efficient A primary challenge is to manage the phases from build
support structure. It is not enough to set up rôles for a to integrate, to migrate and for the phasing-out of the
support structure and name people to fulfil 1 these rôles. existing System and the phasing-in of the new one. The
Support personnel will need to acquire new skills. The migration cannot be accomplished via a single event.
workload has to be distributed such that the right people Instead, a step-by-step transition of the affected services
support the right issues; thus, new processes hâve to must take place. Further, the implemented processes for
be developed while respecting the specificities of IT a legacy environment might be different from what may
department requirements. Additionally, an infrastructure be implemented with the new platform and any changes
dedicated to support staff has to be made available. For must be communicated to users and System support staff.
these and other reasons, setting up a support structure
normally is a project in itself and requires planning, a
methodology and good practices adaptation from past
expériences.
Implémentation Plan/Knowledge Trans fer Plan These processes provide systematic, consistent and
unambiguous control on attributes of IT components
In accordance with good practices, the transfer
comprising the System (hardware, software, firmware
should follow the shadowing and relay-baton method.
and network connectivity, including physical connecting
Shadowing gives staff the opportunity to become
media wire, fiber and radio frequency). Knowledge of
accustomed to the System by observation. The relay-
the configuration status of computing environments is
baton approach is the most suitable concept to transfer
critical to System reliability, availability and security and
knowledge and responsibility in a transparent way. The
achieving timely maintenance of these Systems. Changes
metaphor of the relay-baton expresses exactly what must
to IT Systems must be carefully assessed, planned, tested,
be achieved (i.e., knowledge is transferred in small
approved, documented and communicated to minimize
portions).
any undesirable conséquences to the business processes.
TrainingPlan An IS auditor should be aware of the tools availabié for
After the rôles and responsibilities are defmed, they will managing configuration, change and release management
be documented in the form of a chart to allow for a clear and of the Controls in place to ensure SoD between
and easy-to-read overview. development staff and the production environment.
Tools for managing configuration, change and release
For example, a staff training plan should show ail of the management include ManageEngine Service Desk,
required training in tenus of: SysAid and ServiceNow.
• Content
• Scheduling information 3.6.1 Configuration Management
• Duration Systems
• Delivery mechanism (classroom and/or web-based)
• Train-the-trainer concept Because of the difficultés associated with exercising
control over System and programming maintenance
The plan should consider the rôle définitions and skill
activities, more enterprises are implementing
profiles for the new to-be structure and the results of
configuration management Systems. In many cases,
the gap analysis. The plan considers that the staff who
regulatory requirements mandate these levels of control
need to be trained must still run the current System, so
to provide a high degree of reliability and repeatability
that detailed coordination with the daily business tasks is
in ail associated System processes. In a configuration
maintained.
management System, maintenance requests must be
The following list gives an example of work tasks formally documented and approved by a change control
defmed to fulfill the overall project goal: group (e.g., configuration control boards). In addition,
• Collate existing support structure documentation. careful control is exercised over each stage of the
• Review the existing IT organization model. maintenance process via checkpoints, reviews and sign-
• Defme the new support organization structure. off procedures.
• Defme the new support processes.
Configuration management involves procedures
• Map the new process to the organization model.
throughout the System hardware and software life cycle
• Exécuté the new organization model.
(from requirements analysis to maintenance) to identify,
• Establish support functions.
defme and baseline software items in the System
• Develop communications material for support staff.
and provide a basis for problem management, change
• Conduct briefing and training sessions.
management and release management. This process is
• Review mobilization progress.
usually facilitated with a configuration management
• Transfer to the new organization structure.
database (CMDB), which documents information on the
• Review the preceding items.
hardware and software assets within the organization.
3.6 Implémentation Configuration and The process of checking out prevents or manages
simultaneous code edits, with hardware, network and
Release Management
System architects reviewing and approving the changes
The effective and efficient development and maintenance or updates to the hardware asset and inventory tracking
of complicated IT Systems requires that rigorous Systems.
configuration, change and release management processes
Checking in is the process of moving an item to the
be implemented and adhered to within an enterprise.
controlled environment. When a change is required (and
supported by a change control form), the configuration evidence of management’s commitment to careful control
manager checks out the item. After the change is made, over the maintenance process.
it can be checked using a different version number.
The process of checking out also prevents or manages 3.7 System Migration, Infrastructure
simultaneous code edits. With hardware, network and Deployment and Data Conversion
System architects review and approve the changes or
updates to both the hardware asset and the inventory New software applications tend to be more
tracking Systems. comprehensive and integrated than older applications.
Furthermore, enterprises rely increasingly on data
For configuration management to work, management
warehouses, models and simulation for decision making;
support is critical. The configuration management
thus, importing data from old (and legacy) Systems into
process is implemented by developing and following
the new application is crucial. Data format, coding,
a configuration management plan and operating
structure and integrity are to be preserved or properly
procedures. This plan should not be limited to just the
translated. A migration scénario must be set up and
software developed but should also include ail System
a rollback plan needs to be in place. There are many
documentation, test plans and procedures.
direct (old to new application) and indirect (using intérim
Commercial software products are often used to automate repositories) strategies and tools. Data conversion is
some processes. Such tools should allow control to be a one-time task in many development projects. The
maintained for applications software from the outset of importance of correct results is critical, and success
System analysis and design to running live. Configuration dépends on the use of good practices by the development
management tools support change management and team because the programmed input checks under
release management through the: development will not be available for the conversion.
1. Identification of items affected by a proposed Source data must be correctly characterized, and the
change to assist with impact assessment (functional, destination database must accommodate ail existing
operational and security) data values. Resulting data should be carefully tested.
2. Recording of configuration items affected by Steps for the conversion that are developed in the test
authorized changes environment must be recorded so they can be repeated on
3. Implémentation of changes in accordance with the production System.
authorization records
An IS auditor should ensure that any tools and techniques
4. Registering of configuration item changes when
selected for the process are adéquate and appropriate,
authorized changes and releases are implemented
data conversion achieves the necessary objectives
5. Recording of baselines that are related to releases
without data loss or corruption and any loss of data is
(with known conséquences) to which an enterprise
minimal and formally accepted by user management.
would revert if an implemented change fails
6. Preparing a release to avoid human errors and
3.7.1 Data Migration
resource costs
A new version of the System (or builds) should be A data conversion (also known as data porting) is
built only from the baselined items. The baseline required if the source and target Systems use different
becomes the trusted recovery source for these Systems field formats or sizes, file/database structures or coding
and applications. These baselines should be built or schemes. For example, a number may be stored as text,
based on industry recognized sources or benchmarks. floating point or binary-coded décimal.
For example, the Center for Internet Security (CIS) Conversions are often necessary when the source and
provides benchmarks that are configuration baselines target Systems are on different hardware and/or OS
and practices to configure a System securely. It is platforms, and different file or database structures (e.g.,
important to use baselines not only for recovery but also relational database, fiat files, or Virtual storage access
to ensure that Systems are implemented with the least method) are used.
amount of functionality necessary so as not to introduce
unnecessary vulnerabilities into the environment. The objective of data conversion is to convert existing
data into the new required format, coding and structure
From an IS audit perspective, effective use of while preserving the meaning and integrity of the data.
configuration management software provides important The data conversion process must provide some means,
such as audit trails and logs, to allow for the vérification
of the accuracy and completeness of the converted data. • Conflicts and contention between legacy and migrated
This vérification of accuracy and completeness may be operations
performed through a combination of manual processes, • Data inconsistencies and loss of data integrity during
System utilities, vendor tools and one-time-use spécial the migration process
applications.
The data model and the new application model should
A large-scale data conversion can potentially become a be stored in an enterprise repository. Using a repository
project within a project because considérable analysis, allows a simulation of the migration scénario and
design and planning will be required. Among the steps traceability during the project. An enterprise repository
necessary for a successful data conversion are: enables an overview of the reengineering and data
• Determining which data should be converted using migration process (e.g., which modules and entities are
programs and which data, if any, should be converted in which stage, such as in service or already migrated).
manual ly These models will be modified in the course of the
• Performing any necessary data cleansing ahead of processes described in the following sections.
conversion
• Identifying the methods to be used to verify the Refîning the Migration Scénario
conversion, such as automated file comparisons, To détermine the scope of the implémentation project,
comparing record counts and control totals, module analysis should be undertaken to identify the
accounting balances and individual data items on a affected functional modules and data entities. The
sample basis plan for the implémentation project should be refined
• Establishing the parameters for a successful based on this information and an analysis of business
conversion (e.g., Is 100-percent consistency between requirements.
the old and new Systems necessary, or will some
différences within defined ranges be acceptable?) The next step is to develop a migration plan. This is a
• Scheduling the sequence of conversion tasks detailed listing of tasks for the production deployment
• Designing audit trail reports to document of a new System. Within this plan, decision points are
the conversion, including data mappings and defined to make go or no-go decisions. The following
transformations processes require decision points:
• Designing exception reports to record any items that • Support migration process—A support process
cannot be converted automatically to administer the enterprise repository must be
• Establishing responsibility for verifying and signing implemented. Because this repository should be used
off on individual conversion steps and accepting the after completion of the project to manage the software
overall conversion components of the new architecture, this process
• Developing and testing conversion programs, should be capable of supporting future development
including functionality and performance processes. The enterprise repository administration
• Performing one or more conversion dress rehearsals and report génération support the migration by
to familiarize personnel with the sequence of events supporting the reverse engineering of changes in the
and their rôles, and testing the conversion process end legacy architecture and facilitating the création of
to end with real data impact analysis reports.
• Controlling the outsourcing of the conversion process • Migration infrastructure—The project develops
with a proper agreement covering nondisclosure, data spécifications for the infrastructure of the migration
privacy, data destruction and other warranties project. This approach ensures consistency and
• Running the actual conversion with ail necessary increases confidence in the functionality of the
personnel onsite or able to be contacted fallback scénario. The migration project team
complétés a high-level analysis of the legacy and new
A successful data migration delivers the new System on data models to establish links between them that will
time, on budget and with the required quality. The data be refined later. The migration infrastructure is the
migration project should be carefully planned and use basis for specifying the following components:
appropriate méthodologies and tools to minimize the risk ■ Data redirector (temporary adapters)—Good
of: practices suggest the staged deployment of
• Disruption of routine operations applications to minimize the end-user impact
• Violation of the security and confidentiality of data of their implémentation and limit the risk by
having a fallback scénario with minimum impact.
For this reason, an infrastructure component is The first component consists of:
needed to handle distributed data on different • Unload components to execute the unloading of the
platforms within distributed applications. The data from the new data structures
design of a data redirector on the new architecture • Transfer components for the data conversion
corresponds to service-oriented architectures and • Load components to execute the loading of the data
should cover features such as access to the not- into the legacy data structures
yet-migrated legacy data during run time, data
The second component consists of:
consistency due to the usage of standards such
• A log component to log the data modifications within
as Open Group for Unix Systems eXtended
the new data model during runtime within the service
Architecture (X/Open XA) interface and a
layer
homogeneous new architecture.
• Transfer components for the data conversion
■ Data conversion components—The need to
• Load components to execute the load of the data into
create an enterprise data model to eliminate
the legacy data structures
data redundancies and inconsistencies often
is identified. For this reason, infrastructure Another important considération is the new system’s
components to transform the legacy data model data structure. This can be determined by reading the
to the new data model must be provided. These software user guides, analyzing the ERDs, understanding
components can be described as follows: the relationships between data éléments and reviewing
• Unload components to copy the data (either as définitions of key terms (e.g., entity and record) in the
is or suitably modified to align with the data new System.
format of the target System) in legacy databases
Next, it is important to review the decisions on how
that hâve been identified for migration
business processes should be conducted in the new
• Transfer components to execute the data
System. Changes are identified, and the output of this
transfer from the legacy System to the new
exercise is a table of new data terminology against
System
current définitions of data éléments. In this step, the
• Load components to execute the load of the
project team identifies how current data are defined in
data into the new database
the new System. Following this step, a data cleanup
Software packages that support data migration, such as is completed to eliminate inconsistencies in the current
ERP and document management software, should be database, if possible, and duplications of data sets
acquired as soon as the software évaluation is done. The are discovered and resolved. The rules of conversion
data conversion plan should be based on the available are defined and documented, with the objective of
databases and migration tools provided by the selected ensuring that the business processes executed in the
vendor(s). new System yield results that maintain data integrity and
relationships.
The decision on which method to use for data conversion
has to be made as part of the implémentation project Data conversion rules are programmed by the software
and should be based on transaction volume and change development team. Data conversion scripts are created
degree of the data model. to convert the data from the old database to the new
database. These are tested on a discrète sélection of
Fallback (Rollback) Scénario data that are carefully selected to include ail cases.
Not ail new System deployments go as planned. To This process is referred to as program or unit testing.
mitigate the risk of downtime for mission-critical Following the sign-off of data conversion scripts by
Systems, good practices dictate that the tools and programmers, the scripts are run on a test copy of the
applications required to reverse the migration are production database. The values of data are verified by
available prior to attempting the production cutover. executing assessments including business process tests.
Some or ail of these tools and applications may need to Users and developers complété cycles of testing until
be developed as part of the project. conversion scripts are fine tuned. After testing has been
completed, the next step is to promote the converted
Components hâve to be delivered that can back out ail database to production.
changes and restore data to the original applications in
case of nonfunctioning new applications. Two types of The key points to be taken into considération in a data
components should be considered as part of a fallback conversion project are to ensure:
contingency plan. • Completeness of data conversion
• Integrity of data
• Storage and security of data under conversion Figure 3.25—Parallel Changeover
• Consistency of data
• Continuity of data access
The last copy of the data before conversion from the old Module n
platform and the first copy of the data after conversion to Module n1 ।
the new platform should be maintained separately in the Module 2 1
« Module 2
Changeover refers to an approach to shift users from
Module 1
using the application from the existing (old) System to
the replacement (new) System. This is appropriate only Rollout Schedule
after testing the new System with respect to its program
and relevant data. Changeover is sometimes called the
go-live technique because it enables the start of the
new System. This approach is also called the cutover Phased Changeover
technique because it helps in cutting out from the older In this approach, the older System is broken into
System and moving over to the newer System. deliverable modules. Initially, the first module of the
This technique can be achieved in three different ways. older System is phased out using the first module of
the newer System. Then, the second module of the older
Parallel Changeover System is phased out using the second module of the
newer System, and so forth until reaching the last module.
This technique includes running the old System, then
Thus, the changeover from the older System to the newer
running both the old and new Systems in parallel and,
System takes place in a preplanned, phased manner. See
finally, fully changing over to the new System after
figure 3.26.
gaining confidence in the working of the new System.
With this approach, the users must use both Systems
during the period of overlap. This minimizes the risk Figure 3.26—Phased Changeover
of using the newer System and, at the same time, helps
in identifying problems, issues or concerns that the user
Old Subsystem
cornes across in the newer System in the beginning. (Modules) New Subsystem
• Extension of the project life cycle to cover two 3.7.3 System Change Procedures and the
Systems Program Migration Process
• Change management for requirements and
customizations to maintain ongoing support of the Following implémentation and stabilization, a System
older System enters the ongoing development, or maintenance, stage.
This phase continues until the System is retired. The
Abrupt Changeover phase involves those activities required to either correct
errors in the System or enhance the capabilities of the
In this approach, the newer System is changed over from System.
the older System on a cutoff date and time, and the
older System is discontinued after changeover to the new In this regard, an IS auditor should consider the
System takes place. See figure 3.27. following:
• The existence and use of a methodology for
Figure 3.27—Abrupt Changeover authorizing, prioritizing and tracking System change
requests from the user
• Whether emergency change procedures are addressed
Old Subsystem
(Modules)
in the operations manuals
New Subsystem
• Whether change control is a formai procedure for the
Module n Module n user and the development groups
Module n-1
• Whether the change control log ensures ail changes
Module n-1
shown were resolved
Module 3 Module 3
• The user’s satisfaction with the turnaround—
Module 2 Module 2 timeliness and cost—of change requests
• The adequacy of the security access restrictions over
Module 1 Module 1
production source and exécutable modules
Rollout Schedule
• The adequacy of the enterprise’s procedures for
dealing with emergency program changes
• The adequacy of the security access restrictions over
Changeover to the newer System in volves four major the use of the emergency logon IDs
steps or activities: The IS auditor should examine a sélection of changes on
1. Conversion of files and programs; test running on test
the change control log to:
bed
• Détermine whether changes to requirements resulted
2. Installation of new hardware, OS, application System
in appropriate change-development documents, such
and the migrated data
as program and operations documents.
3. Training employées or users in groups
• Détermine whether changes were made as
4. Scheduling operations and test running for go-live or
documented.
changeover
• Détermine whether current documentation reflects the
Some of the risk items related to changeover include: changed environment.
• Asset safeguarding • Evaluate the adequacy of the procedures in place for
• Data integrity testing System changes.
• System effectiveness • Review evidence (test plans and test results) to ensure
• System efficiency that procedures are carried out as prescribed by
• Change management challenges (depending on the organizational standards.
configuration items considered) • Review the procedures established for ensuring
• Duplicate or missing records (possible existence of exécutable and source code integrity.
duplicate or erroneous records if data cleansing is not • Review production exécutable modules and verify
done correctly) that there is only one corresponding version of the
program source code.
• Check the technical Controls of the change
management tool.
Additionally, an IS auditor should review the
overall change management process for possible
improvements in acknowledgment, response time, • Practical sessions on how to use the System
response effectiveness and user satisfaction with the • Remédiai computer training (if needed)
process. • Online sessions on the web or on physical media
Step Action
1 Assign responsibility for any outstanding issues to spécifie individuals and identify the related budget for
addressing these issues (if applicable).
2 Assign custody of contracts, and either archive documentation or pass it on to those who need it.
3 Conduct a postimplementation review with the project team, development team, users and other stakeholders to
identify lessons learned that can be applied to future projects. Include the following information:
• Content-related criteria, such as:
■ Fulfillment of deliverable targets and any additional objectives
■ Attainment of project-related incentives
■ Adhérence to the schedule and costs
• Process-related criteria, such as:
■ Team dynamics and internai communication
■ Relationships between the project team and external stakeholders
4 Document any risk that was identified in the course of the project, including risk that may be associated with
proper use of the deliverables, and update the risk register.
5 Complété a second postimplementation review after the project deliverables hâve been completed for long enough
to realize the true business benefits and costs, and use the results of this review to measure the project’s overall
success and impact on the business.
It is important to note that, for a postimplementation and design phase and collected during each stage of
review to be effective, the information to be reviewed the project. For example, the project manager might
should be identified during the project feasibility establish certain checkpoints to measure effectiveness
of software development processes and accuracy of collected before the project begins and after the project is
software estimâtes during the project execution. Business implemented (figure 3.29).
measurements should also be established up front and
It is also important to allow enough business cycles to be business objectives in a cost-effective manner and control
executed in the new System to realize the new System’s integrity still exists.
actual ROI.
An IS auditor should perform the following functions:
A postimplementation project review should be • Détermine if the System objectives and requirements
performed jointly by the project development team were achieved. During the postimplementation
and appropriate end users. Typically, the focus of this review, careful attention should be paid to the end
type of internai review is to assess and critique the users’ use, trouble tickets, work orders and overall
project process, whereas a postimplementation review satisfaction with the System. This review indicates
has the objective of assessing and measuring the value whether the System’s objectives and requirements
that the project has on the business. Alternatively, an were achieved.
independent group that is not associated with the project • Détermine if the cost benefits identified in the
implémentation (internai or external audit) can perform a feasibility study are being measured, analyzed and
postimplementation review. accurately reported to management.
• Review program change requests performed to assess
3.8.1 IS Auditor's Rôle in the type of changes required of the System. The
Postimplementation Review type of changes requested may indicate problems
in the design, programming or interprétation of user
An IS auditor performing a postimplementation review requirements.
should be independent of the System development • Review Controls built into the System to ensure that
process. Therefore, an IS auditor involved in Consulting they are operating according to design. If enterprise
with the project team on the development of the System asset management (EAM) was included in the System,
should not perform this review. Unlike internai project this module should be used to test key operations.
team reviews, postimplementation reviews performed by • Review operators’ error logs to détermine if
an IS auditor tend to concentrate on the control aspects of there are any resource or operating problems
the System development and implémentation processes. inhérent within the System. The logs may indicate
It is important that ail audit involvement in the inappropriate planning or testing of the System prior
development project be thoroughly documented in the to implémentation.
audit work papers to support an IS auditor’s findings and • Review input and output control balances and reports
recommendations. This audit report and documentation to verify that the System is processing data accurately.
should be reused during maintenance and changes to
validate, verify and test the impact of any changes made
to the System. The System should periodically undergo a
review to ensure that the System is continuing to meet
Chapter 4
Case Study
Case Study................................................................................................................................................ 345
Chapter 4 Answer Key............................................................................................................................. 348