Application Security By Prashant Mali.

Slides:



Advertisements
Similar presentations
INTERNAL CONTROLS.
Advertisements

Chapter 6 Computer Assisted Audit Tools and Techniques
Group 3 Maria Fernandez de Castro Sonia Canessa-Gonzalez Andres Suarez
Presented to the Tallahassee ISACA Chapter
Information Technology Control Day IV Afternoon Sessions.
Auditing Computer-Based Information Systems
Lecture Outline 10 INFORMATION SYSTEMS SECURITY. Two types of auditors External auditor: The primary mission of the external auditors is to provide an.
Auditing Computer Systems
Coping with Electronic Records Setting Standards for Private Sector E-records Retention.
The Islamic University of Gaza
Chapter 10: Auditing the Expenditure Cycle
Chapter 5 Expenditure Cycle Applications. Expenditure Documents i.Purchase Requisitions ii.Purchase Orders iii.Receiving Report iv.Voucher Systems v.Invoice.
P-1: Enter cash receipts close to originating source Ensure effectiveness of operations: As reflected by the entries in goal columns A and B under process.
Internal Control Concepts Knowledge. Best Practices for IT Governance IT Governance Structure of Relationship Audit Role in IT Governance.
Chapter 9 - Control in Computerized Environment ATG 383 – Spring 2002.
Chapter 3: System design. System design Creating system components Three primary components – designing data structure and content – create software –
1 Output Controls Ensure that system output is not lost, misdirected, or corrupted and that privacy is not violated. Exposures of this sort can cause serious.
Chapter 4-1 The Islamic University of Gaza Accounting Information System The Expenditure Cycle : Purchases and Cash Disbursements Procedures Dr. Hisham.
Chapter 4 IDENTIFYING RISKS AND CONTROLS IN BUSINESS PROCESSES.
PowerPoint Presentation by Charlie Cook Copyright © 2004 South-Western. All rights reserved. Chapter 9 Controlling Information Systems: Process Controls.
General Ledger and Reporting System
INTERNAL CONTROLS. Session Objectives Understand why an organization should have internal controls Understand the key components of internal controls.
Copyright © 2015 Pearson Education, Inc. Processing Integrity and Availability Controls Chapter
Processing Integrity and Availability Controls
Chapter 10 Information Systems Controls for System Reliability—Part 3: Processing Integrity and Availability Copyright © 2012 Pearson Education, Inc.
CHAPTER 6 ELECTRONIC DATA PROCESSING SYSTEMS
Copyright © 2013 by The McGraw-Hill Companies, Inc. All rights reserved.McGraw-Hill/Irwin.
Today’s Lecture application controls audit methodology.
Input Design Objectives
Auditing Purchases, Trade Payables and Payroll
Topics Covered: Data preparation Data preparation Data capturing Data capturing Data verification and validation Data verification and validation Data.
Chapter 17: Computer Audits ACCT620 Internal Accounting Otto Chang Professor of Accounting.
Copyright © 2015 McGraw-Hill Education. All rights reserved. No reproduction or distribution without the prior written consent of McGraw-Hill Education.
Computer Based Information Systems Control UAA – ACCT 316 – Fall 2003 Accounting Information Systems Dr. Fred Barbee.
Chapter 13 Sequential File Processing. Master Files Set of files used to store companies data in areas like payroll, inventory Usually processed by batch.
Copyright © 2007, Oracle. All rights reserved. Managing Concurrent Requests.
Copyright © 2007 Pearson Education Canada 1 Chapter 13: Audit of the Sales and Collection Cycle: Tests of Controls.
Information Systems Security Operational Control for Information Security.
Objectives of Control The objectives of control are:  To ensure that all data are processed  To preserve the integrity of maintained data  To detect,
Understanding the IT environment of the entity. Session objectives Defining contours of financial accounting in an IT environment and its characteristics.
I.Information Building & Retrieval Learning Objectives: the process of Information building the responsibilities and interaction of each data managing.
S4: Understanding the IT environment of the entity.
System Analysis and Design
 2001 Prentice Hall Business Publishing, Accounting Information Systems, 8/E, Bodnar/Hopwood Chapter 10 Electronic Data Processing Systems.
13-1 COBOL for the 21 st Century Nancy Stern Hofstra University Robert A. Stern Nassau Community College James P. Ley University of Wisconsin-Stout (Emeritus)
Sequential Files Chapter 13. Master Files Set of files used to store companies data in areas like payroll, inventory Set of files used to store companies.
Chapter 10 THE ACQUISITION CYCLE— PURCHASE INVOICES AND PAYMENTS.
Auditing the Revenue Cycle. Learning Objectives After studying this chapter, you should: Understand the operational tasks associated with the revenue.
Chapter 9 Controlling Information Systems: Application Controls.
Enterprise Resource Planning System (ERP) Flowchart #7
Today’s Lecture Covers
McGraw-Hill/Irwin © 2003 The McGraw-Hill Companies, Inc., All Rights Reserved. 6-1 Chapter 6 CHAPTER 6 INTERNAL CONTROL IN A FINANCIAL STATEMENT AUDIT.
AUDIT IN COMPUTERIZED ENVIRONMENT
 2004 Prentice Hall Business Publishing, Accounting Information Systems, 9/e, by Bodnar/Hopwood 13 – 1 Chapter 13 Auditing Information Technology.
13-1 Sequential File Processing Chapter Chapter Contents Overview of Sequential File Processing Sequential File Updating - Creating a New Master.
Hall, Accounting Information Systems, 7e ©2011 Cengage Learning. All Rights Reserved. May not be scanned, copied or duplicated, or posted to a publicly.
13- 1 Chapter 13.  Overview of Sequential File Processing  Sequential File Updating - Creating a New Master File  Validity Checking in Update Procedures.
1 Banking and Reconciliation. 2 To Certify As A Cash Handler  Visit the training website  Review the Payment Card Industry (PCI)
Welcome. Contents: 1.Organization’s Policies & Procedure 2.Internal Controls 3.Manager’s Financial Role 4.Procurement Process 5.Monthly Financial Report.
Stock, Payroll & Non –current assets
Electronic Data Processing Systems Chapter 6.
Auditing Information Technology
Processing Integrity and Availability Controls
Managing the IT Function
Internal Controls.
CHAPTER 6 ELECTRONIC DATA PROCESSING SYSTEMS
Internal Control Internal control is the process designed and affected by owners, management, and other personnel. It is implemented to address business.
Internal Controls.
Internal Controls.
Presentation transcript:

Application Security By Prashant Mali

Application Controls Application controls are controls over input, processing, and output functions. Application controls include methods for ensuring that: Only complete,accurate, and valid data is entered and updated in a computer system. Processing accomplishes the correct task. Processing results meet expectations Data is maintained.

Auditor’s Tasks Identifying the significant application components and the flow of transactions through the system. Identifying the application control strengths and evaluating the impact of the control weaknesses to develop a control testing strategy. Testing the controls to ensure their functionality and effectiveness. Considering the operational aspects of the application to ensure its efficiency and effectiveness by comparing against industry standard benchmarks.

Session Agenda 1. Input / Origination Controls 2. Validation, Editing, and Processing Controls 3. Output Controls 4. Auditing Application Controls

Input/Origination Controls Input control procedures must ensure that every transaction to be processed is received, processed and recorded accurately and completely. These controls should ensure that only valid and authorized data is input and that these transactions are processed only once. In an integrated environment, output generated by one system is input for another system, therefore, edit checks, validations, and access controls of the system generating the output must be reviewed as input controls.

Input/Origination Controls Input Authorization Batch Controls and Balancing Input Error Reporting and Handling

Validation, Editing, Processing Data Validation and Editing Types of Data Validation Processing Controls Data File Control Procedures

Output Controls Output controls provide assurance that the data delivered to the users will be presented, formatted, and delivered in a consistent and secure manner. Following are the types of Output Controls

Auditing Application Controls Review Application Systems Documentation Observe and Test Users Performing Procedures Data Integrity Testing

Input Authorization Input Authorization verifies that all transactions have been authorized and approved by management. Authorization of input helps ensure that only authorized data is entered into the computer system for processing. Authorization can be performed online at the time when the data is entered into the system. It is important that controls exist throughout processing to ensure that authorized data remains unchanged. This can be done through various accuracy and completeness checks incorporated into the application’s design.

Types of Authorization Signatures on batch forms - provide evidence of proper authorization Online Access Controls Unique passwords Terminal Identification Source Documents - are forms used to record data. It may be a piece of paper or an image displayed for online data input. A well designed source document increases speed and accuracy of data recording, controls work flow, facilitates the preparation of machine readable data, and facilitates subsequent reference checking.

Source Documents Ideally Source Documents should be preprinted forms to provide accuracy, consistency, and legibility. The source document layout should: Emphasize ease of use and readability Group similar fields together to facilitate input Provide predetermined input code to reduce errors Contain appropriate cross reference numbers or a comparable identifier to facilitate research and training Use boxes to identify field size errors Include an appropriate area for management to document authorization.

Batch Controls and Balancing Batch controls group input transactions in order to provide control totals. The batch control can be based on total monetary amount, total items, total documents, or hash totals. Batch header forms are a data preparation control. All input forms are clearly identified with the application name and transaction codes. Where possible, preprinted and pre-numbered forms with transaction identification codes and other constant data items are recommended. This would help reduce data recording / entry errors.

Types of Batch Controls Total Monetary Amount Verification that the total monetary value of items processed equals the total monetary value of the batch documents. For example, the total monetary value of sales invoices in the batch agrees with the total monetary value of the sales invoices processed.

Types of Batch Controls Total Items Verification that the total number of items included on each document in the batch agrees to the total number of items processed. For example, the total number of units ordered in the batch of invoices agrees with the total number of units processed.

Types of Batch Controls Total Documents Verification that the total number of documents in the batch equals the total number of documents processed. For example, the total number of invoices in the batch agrees with the total number of invoices processed.

Types of Batch Controls Hash Totals Verification that a predetermined numeric field existing for all documents in a batch agrees with the total of the documents processed.

Batch Balancing Batch Balancing can be performed through manual or automated reconciliation. It involves batch totaling followed by adequate follow-up procedures. Types of batch balancing include: Batch Registers - enable manual recording of batch totals. Control Accounts - an initial edit file is used to determine batch totals. The data is then processed to the master file which is reconciled against the edit file. Computer Agreement - performed through the use of batch header slips that record the batch total.

Input Error Reporting Errors can occur due to duplication of transactions or inaccurate data entry. Input errors can be handled by: Rejecting only Transactions with Errors Rejecting the Whole Batch of Transactions Accepting Batch in Suspense Accepting Batch and Flagging Error Transactions

Input Control Techniques Transaction Log Contains a detailed list of all updates. The log can either be manually maintained or provided through automatic computer logging. A transactions log can be reconciled to the number of source documents received to verify that all transactions have been input.

Input Control Techniques Reconciliation of Data - Controls are needed to ensure that all data received is recorded and properly processed. Documentation - of user, data entry, and data control procedures. Transmittal Log - This log documents transmission or receipt of data. Cancellation of Source Documents - Procedures to cancel source documents by, say, punching holes or marking, to avoid duplicate entry.

Input Control Techniques Error Correction Procedures Logging of errors Timely corrections Upstream resubmission Approval of corrections Suspense file Error file Validity of corrections

Data Validation and Editing Procedures for ensuring that all input data is validated and edited as close as possible to the point of origin. Pre-programmed input formats ensure that data is input to the correct field in the correct format. If input procedures allow supervisor overrides of data validation and editing, automatic logging should occur. A management individual who did not initiate the override should review this log.

Data Validation Edits Data validation identifies data errors, incomplete or missing data and inconsistencies among related data items. Front-end data editing and validation can be performed if smart terminals are used. Edit controls are preventive controls that are used in a program before data is processed. Following are the various types of data validation edit controls.

Data Validation Edits Sequence Check The control number follows sequentially and any control numbers out of sequence or duplicated are rejected or noted on an exception report for follow-up purposes. For example, invoices are numbered sequentially. The day’s begin with 12001 and end with 15045. If any invoice larger than 15045 is encountered during processing, that invoice would be rejected as an invalid invoice number.

Data Validation Edits Limit Check Data should not exceed a predetermined amount. For example, payroll amounts should not exceed Rs. 1,00,000. If a cheque exceeds Rs. 1,00,000 the data would be rejected for further verification/authorization.

Data Validation Edits Range Check Data should be within a predetermined range of values. For example, product type codes range from 100 to 250. Any code outside this range should be rejected as an invalid product code.

Data Validation Edits Validity Check Programmed checking of the data validity according to predetermined criteria. For example, a payroll record contains a field for marital status, and the acceptable status codes are M or S. If any other code is entered, the record should be rejected.

Data Validation Edits Reasonableness Check Input data are matched to predetermined reasonable limits or occurrence rates. For example, in most instances, a widget manufacturer receives orders for no more than 20 widgets. If an order for 200 widgets is received, the computer program should be designed to display a warning indicating that the order appears unreasonable.

Data Validation Edits Table Look-ups Input data complies with predetermined criteria is maintained in a computerized table of possible values. For example, the input operator enters a city code between 1 and 10. This number corresponds with a computerized table that matches the code to a city name.

Data Validation Edits Existence Check Data is entered correctly and agrees with valid predetermined criteria. For example, a valid transactions code must be entered in the transactions code field.

Data Validation Edits Key Verification Keying-in process is repeated by a separate individual using a machine that compares the original keystrokes to the repeated input. For example, the employee number is keyed twice and compared to verify the keying process.

Data Validation Edits Check Digit A numeric value that has been calculated mathematically is added to data to ensure that the original data has not been altered or an incorrect but valid value submitted. This control is effective in detecting transposition and transcription errors. For example, a check digit is added to an account number so it can be checked for accuracy when it is used.

Data Validation Edits Completeness Check A field should always contain data and not zeros or blanks. A check of each byte of that field should be performed to determine that some form of data, not blanks or zeros, is present. For example, the employee number field on a new employee record is kept blank. This is identified as a key field and the record would be rejected, with the request that the field be completed before the record is accepted for processing.

Data Validation Edits Duplicate Check New transactions are matched to those preciously input to ensure that they have not already been entered. For example, an invoice number is checked against previously entered invoice numbers to make sure that the number is unique and a duplicate number is not being assigned.

Data Validation Edits Logical Relationship Check If a particular condition is true, then one or more additional conditions or data input relationships may be required to be true to consider the input valid. For example, the wedding date of an employee may be required to be more than sixteen years past his or her date of birth.

Processing Controls Processing Controls ensure the completeness and accuracy of accumulated data. They ensure that data on a file or in a database remains complete and accurate until changed as a result of authorized processing or modification routines. The following are processing control techniques: Manual Recalculations - A sample of transactions may be recalculated manually to ensure that processing is accomplishing the anticipated task.

Processing Controls Edit Check - is a program instruction or subroutine that tests for accurate, complete and valid input and updates in an operation. Run-to-Run Totals - provide the ability to verify data values through the stages of application processing. Run-to-run total verification ensures that data read into the computer was accepted and then applied to the updating process.

Processing Controls Programmed Controls Software can be used to detect and initiate corrective action for errors in data and processing. For example, if the incorrect file or file version is provided for processing, the application program could display messages instructing that the proper file and version be used.

Processing Controls Reasonableness Verification of Calculated Amounts Application programs can verify the reasonableness of calculated amounts. The reasonableness can be tested against predetermined criteria to ensure appropriateness. Any transactions determined to be unreasonable may be rejected pending further review.

Processing Controls Limit Checks on Calculated Amounts An edit check can provide assurance through the use of predetermined limits that calculated amounts have not been keyed incorrectly. Any transactions exceeding the limit may be rejected for further investigation.

Processing Controls Reconciliation of File Totals Should be performed on a routine basis. Reconciliation may be performed through use of a manually maintained account, a file control record or an independent control file.

Processing Controls Exception Reports An exception report is generated by a program that identifies transactions or data that appear to be incorrect. These items may be outside a predetermined range or may not conform to specified criteria.

Data File Controls Before and After Image Reporting Computer data on a file before and after a transaction is processed can be recorded and reported. The before and after image makes it possible to trace the impact transactions have on the computer records.

Data File Controls Maintenance Error Reporting and Handling Control procedures should be in place to ensure that all error reports are properly reconciled and corrections submitted on a timely basis. To ensure segregation of duties, error corrections should be properly reviewed and authorized by personnel who did not initiate the transaction.

Data File Controls Source Document Retention Source documentation should be retained for an adequate period to enable retrieval, reconstruction, or verification of data. Policies regarding the retention of source documents should be enforced. Originating departments should maintain copies of source documentation and ensure that only authorized personnel have access. When appropriate, source documentation should be destroyed in a secure, controlled environment.

Data File Controls Internal and External Labeling Internal and external labeling of removable storage media is imperative to ensure that the proper data are loaded for processing. External labels provide the basic level of assurance that the correct data medium is loaded for processing. Internal labels, including file header records, provide assurance that the proper data files are used and allow for automated checking.

Data File Controls Version Usage It is critical that the proper version of a file, such as date and time of data, be used as well as the correct file in order for the processing to be correct. For example, transactions should be applied to the most current database, while restart procedures should use earlier versions.

Data File Controls Data File Security Data File Security controls prevent access by unauthorized users who may have access to the application to alter data files. These controls do not provide assurances about the validity of the data, but prevent unauthorized alteration to the data.

Data File Controls One-on-one Checking Individual documents agree with a detailed listing of documents processed by the computer. It is necessary to ensure that all documents have been received for processing.

Data File Controls Transaction Logs All 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 determine which transactions have been posted. This will help to decrease the research time needed to investigate exceptions and decrease recovery time if system failure occurs.

Data File Controls File Updating Authorization Proper authorization for file updating and maintenance is necessary to ensure that stored data are adequately safeguarded, correct and up-to-date. Application programs may contain access restrictions in addition to overall system access restrictions. The additional security may provide levels of authorization in addition to providing an audit trail of file maintenance.

Data File Controls Parity Checking Use of horizontal and vertical parity checks greatly enhances the ability of detecting a transmission error which may be missed when either of those checks is used alone.

Output Controls Logging and Storage of Sensitive Forms Negotiable, sensitive, or critical forms should be properly logged and secured to provide adequate safeguards against theft or damage. The form log should be routinely reconciled to inventory on hand and any discrepancies should be properly researched.

Output Controls Computer Generation of Negotiable Instruments The computer generation of negotiable instruments, forms, and signatures should be properly controlled. A detailed listing of generated forms should be compared to the physical forms received. All exceptions, rejections, and mutilations should be accounted for properly.

Output Controls Report Distribution Controls over print spools are necessary to avoid unauthorized printing of copies. Physical distribution of reports should be properly controlled. Reports containing sensitive data should be printed under secured, controlled conditions. Also to be considered are reports distributed electronically. Logical access to these reports should be carefully controlled and subject to authorization.

Output Controls Balancing and Reconciling Output should routinely be reconciled against the control totals. Audit trails should be provided to facilitate the tracking of transaction processing and the reconciliation of data.

Output Controls Output Error Handling Procedures for reporting and controlling errors contained in the application program output should be established. The error report should be timely and delivered to the originating department for review and error correction.

Output Controls Output Report Retention A record retention schedule should be firmly adhered to. Any governing legal regulations should be included in the retention policy. Verification of Receipt of Reports To provide assurance that sensitive reports are properly distributed, the recipient should sign a log as an evidence for receipt of output.

Review Documentation System Development Methodology Document Functional Design Specifications Document Program Changes User Manuals Technical Reference Documentation

Observation of Users Separation of Duties Ensures that no individual has the capability of performing more than one of the following processes: Origination Authorization Verification Distribution

Observation of Users Authorization of Input Evidence of input authorization can be obtained via written authorization on input documents or with the use of unique passwords. Supervisor overrides of data validation should be reviewed. Excessive overrides may indicate the need for modification of validation and editing routines to improve efficiency.

Observation of Users Balancing Balancing should be performed to verify that run-to-run control totals and other application totals are reconciled on a timely basis. This may be tested by independent balancing or reviewing past reconciliations.

Observation of Users Error Control and Correction Error report should provide evidence of appropriate review, research, timely correction and resubmission. Input errors and rejections should be reviewed prior to resubmission. Managerial review and authorization of corrections should be evidenced. Testing of this effort can be achieved through retabulating or reviewing past error corrections.

Observation of Users Distribution of Reports The distribution process can be tested by observation and review of distribution output logs. Access to online output reports should be restricted. Online access may be tested through a review of access rules or by monitoring user output.

Observation of Users Review of Access Authorizations Access control tables provide information regarding access levels by individuals. Access should be based upon job descriptions and should provide for a separation of duties. Testing can be performed through review of access rules to ensure access has been granted as management intended.

Data Integrity Testing Domain Integrity This testing is really aimed at verifying that the data conforms to definitions, that is, that the data items are all in correct domains. The major objective of this exercise is verify that the edit and validation routines are working satisfactorily. These tests are data field level based and ensure that the data item really has a legitimate value in the correct range or set.

Data Integrity Testing Relational Integrity These tests are performed at the record level and usually involve calculating and verifying various calculated fields such as control totals. Examples would be in checking aspects such as payroll calculations or interest payments. These tests will also detect direct modification of sensitive data (if someone has bypassed application programs).

Data Integrity Testing Referential Integrity Involve ensuring that all references to a primary key from another file actually exist in their original file. For example, a customer code in the invoice file should have a corresponding record in the customer table.

Thank You prashant.mali@cyberlawconsulting.com