Domain 30 - CISA
Domain 30 - CISA
COM 229
Domain 4 : IS
Domain 5 : Protection
Operations and
of Information Assets
Business Resilience
(27%)
(23%)
About domain 3
The main objective of Domain 3 is to ensure that information systems are acquired, developed, and implemented
in a manner that fulfills business objectives, meets user requirements, and complies with regulatory and legal
requirements.
12% of the questions on the CISA exam, around 18 questions in the CISA exam
1. Technology Acquisition process
2. Project management
3. Development process and development methodologies
4. Software testing
5. Software implementation and Post implementation
6. Application controls
7. Emerging technologies and their challenges on Auditing
HTTPS://CYVITRIX.COM - 2023 - [email protected] 236
IT computing node
components
Server components
Processor (CPU): The CPU is the "brain" of the server and performs the calculations and
processing required to run the server software and services.
Memory (RAM): RAM provides temporary storage for data and instructions that the
CPU needs to access quickly. The amount of RAM a server has can affect its
performance when running multiple services or applications simultaneously.
Storage: Servers typically have one or more hard drives or solid-state drives (SSDs) for
storing data and software applications. Storage can be configured in various ways,
such as RAID arrays or network-attached storage (NAS).
Network interface: The network interface allows the server to communicate with other
devices on the network, such as client devices or other servers. This can be a wired
Ethernet interface or a wireless interface.
WEB WEB
APPLICATION DB
BROWSER SERVER
MOBILE WEB
APPLICATION SERVICE
FRONTEND BACKEND
HTTPS://CYVITRIX.COM - 2023 - [email protected] 242
Logical layers in application
architecture
Application architecture
DEPENDENT
APP
WEB Sockets
API CALLS FILE
STORAGE
CDN
API Calls
HTTP Calls
HTTPS://CYVITRIX.COM - 2023 - [email protected] 244
Sequence diagram
Network architecture
VLAN
Service Intranet APP OR
Provider Router / SUBNET
Servers DB OR
Network WAN
Switch SEGMENT
L3
IPS VLAN
SERVICES OR
Firewall SUBNET
SECURITY OR
WAF SEGMENT
Internet Internet
Router USERS
DMZ
Switch
Users
Switch PRINTERS
FrontEnd L3
GUESTS
HTTPS://CYVITRIX.COM - 2023 - [email protected] 246
Software product types AND
LICENSES
Software/SYSTEM Product
Software products are either
◦ Generic / Commercial off the Shelf
◦ Customized / Developed
◦ In House development
◦ Developed by another company
Proprietary license
Perpetual license
Subscription based
Enterprise license
OEM license
Site license
Named user license
Licenses also can be based on user count, cpus count, or based on
performance required “per transaction or per size of data processed”
For support licenses, it vary depend on the SLA and level of support
Copyright
A Copyright is a form of legal protection for original works of authorship,
including literary, artistic, and musical works, as well as software code,
databases, and other types of creative works.
Copyright protection gives the owner of the copyright the exclusive right to
reproduce, distribute, display, and perform the copyrighted work, as well as to
create derivative works based on the original work.
Copyright protection typically lasts for the life of the author plus a certain
number of years after their death.
patent
A patent is a form of legal protection for inventions, including machines,
processes, and compositions of matter, as well as designs and plant varieties.
Patent protection gives the owner of the patent the exclusive right to make, use,
and sell the invention for a certain period, typically 20 years from the date of
filing.
To obtain a patent, the invention must be novel, non-obvious, and useful, and
the patent application must meet certain legal requirements.
• research potential solutions that can address the need. This may involve reviewing product
Research potential solutions specifications, consulting with experts or vendors, and evaluating the costs and benefits of
different options.
• develop a business case for the new technology. This may involve defining the expected benefits,
Develop a business case estimating the costs and return on investment, and identifying any risks or challenges associated
with the new technology.
Obtain funding • obtain funding to acquire and implement the new technology. This may involve securing budget
allocations, obtaining grants or loans, or seeking investment from stakeholders.
• begin the process of procuring the new technology. This may involve issuing a request for
Procure the technology proposal (RFP), evaluating vendor proposals, negotiating contracts, and finalizing the purchase
agreement.
Implement and integrate • implement and integrate it into its existing systems and processes. This may involve installing
hardware or software, configuring settings, and training staff on how to use the new technology.
• Once the new technology has been implemented, the organization should evaluate its
Evaluate and optimize effectiveness and optimize its use. This may involve monitoring performance metrics, conducting
user surveys, and making adjustments to workflows or processes as needed.
HTTPS://CYVITRIX.COM - 2023 - [email protected] 257
Business Case
A document that outlines the rationale for a proposed project or
investment, and provides a detailed analysis of the costs, benefits,
risks, and potential returns on investment.
A business case is a justification for a proposed project, developed
after the feasibility analysis has been conducted
A business case provides the information required for an
organization to decide whether a project should proceed.
Followed by either RFP or Request for Budget to assess the budget
cost.
Project Management
Project VS PROGRAM
Project
• Has specific objectives, deliverables, and start and end dates
• Shorter time
Programs
• Group of projects have a common objective
• Longer duration
HTTPS://CYVITRIX.COM - 2023 - [email protected] 270
Project Management Structures
Project Planning
several key factors that need to be considered to ensure that the project is completed
successfully:-
Project Objectives
Project Scope
Project Deliverables
Project Schedule
Project Resources
Project Risks
Project Budget
Communication Plan and escalation matrix
Project Planning help in eliminating Project creep faster
HTTPS://CYVITRIX.COM - 2023 - [email protected] 274
Project Objectives
The specific action statements that support the project goals.
Should be well defined and communicated
Should be tracked for the progress by identified KPIs (Key Performance Indicators)
Tracked and monitored by project steering committee
Can be divided to smaller sub-objectives for easier management and execution
(Object Breakdown & Work Breakdown)
OBS (Object Breakdown Structure) and WBS (Work Breakdown Structure) are two
important project management tools that are used to help plan, organize and
manage projects.
Object breakdown
Object Breakdown Structure (OBS) is a hierarchical structure that
breaks down a system or product into smaller components or
objects.
The OBS is typically used in engineering and manufacturing industries
to help organize and manage complex systems or products.
The OBS typically starts with the highest level of the system or product
and breaks it down into smaller components or subsystems. Each
component is then further broken down into smaller objects until the
entire system or product is fully defined.
Gantt chart
Gantt chart is a horizontal bar chart that represents project tasks and activities
along a timeline.
Show the chronological order of activities, and show when activity should start
and end to monitor the overall project progress
Gantt charts are useful for visualizing the project schedule and identifying task
dependencies.
Gantt chart typically uses a single estimate for task duration
Gantt chart does not explicitly show the critical path
Gantt chart focuses more on schedule management, risk is not in focus
Suitable for simpler and more predictable projects.
Project closure
Project Closure
Lessons Learned: A lessons learned process is conducted to identify areas of
improvement and best practices to be applied to future projects.
Project Closure Report: A project closure report is prepared to document the
results of the project and to provide a record of the project for future reference.
Communication: The project closure is communicated to all stakeholders,
including the project team, sponsors, and other relevant stakeholders.
Software development
overview
AGILE METHODOLOGY
Agile methodology is an iterative and incremental approach to software development
that emphasizes flexibility, collaboration, and customer satisfaction.
developed as a response to the rigid and inflexible approach of traditional software
development methodologies, such as the Waterfall model.
The Agile process is typically divided into short iterations, or sprints, which can last from
one to four weeks. During each sprint, the development team works on a set of
prioritized tasks, called user stories, which are identified and prioritized by the product
owner or customer.
In each iteration, the full SDLC is considered
Emphasizes collaboration, transparency, and continuous improvement.
SCRUM Roles
The product owner, who is responsible for defining
and prioritizing the product backlog and represent
end user and communicate their requirements
The development team, who responsible for
delivering the product increment, consist of 5-9
members
The scrum master, who is responsible for promoting
and facilitating the scrum process and act as the
project manager
Spiral model
Combination between waterfall and prototyping
Project is divided to phases
In each phase, risk assessment and alternative
evaluation is performed
The result of risk assessment and requirements review will
devide if project will continue or not
Help to avoid losses very early
Use case
Testing technique that involves creating and executing tests based on how a
user would interact with the software in real-world scenarios.
used to validate the functionality, usability, and reliability of the software
application, and to ensure that it meets the requirements and expectations of
end-users.
Use case testing typically involves creating test scenarios based on user stories,
personas, or other representations of typical users, and executing these scenarios
to validate the behaviour of the software application.
Helpful in identifying user requirements and acceptance criteria
Application controls
Application controls
Processing controls:
parity bit
A parity bit is an extra bit added to a binary code to detect errors during data
transmission or storage.
It is used to ensure that the number of bits with a value of one in a transmission or
storage block is either even or odd.
The parity bit is calculated based on the values of the other bits in the block, and
is set to either a one or a zero
When the block is received or retrieved, the parity bit is recalculated and
compared to the original value. If the values do not match, an error has
occurred, and corrective action can be taken.
The use of a parity bit can help to improve the reliability of data transmission and
storage by detecting and correcting errors.
Output controls
Output controls are a set of procedures and techniques used to ensure the
accuracy, completeness, and security of data output from an application.
Examples of output controls
◦ Reconciliation : comparing output to input (Automated system balancing)
◦ Validity checking : Ensure output data is within acceptable range
◦ Accuracy check : Ensure output data is accurate and is not corrupted
◦ Filtering : Remove sensitive or unnecessary data from output
◦ Access Control : Ensure output is visible only to authorized people
Software testing
TESTING APPROACHES
Top-down testing involves testing higher-level modules first and progressively integrating
lower-level modules
Top-down testing is often more appropriate when there is a clear and well-defined overall
architecture or design for the software system, and where the higher-level modules or
components have a greater impact on the overall functionality of the system.
By testing the higher-level user interface first, any design or functional issues can be
identified early in the testing process, which can help to reduce the overall development
time and cost. – Example Web Application FE&BE
bottom-up testing involves testing lower-level modules first and progressively integrating
higher-level modules.
Bottom-up testing is often more preferred when the software system is large and complex,
and when the individual components are relatively independent and can be tested in
isolation. – Example complex financial system
Compatibility, SOCIABILITY
Compatibility testing
◦ Testing the software application's compatibility with different hardware, operating
systems, and browsers. This helps ensure that the software application can function
properly in different environments.
◦ Done by developer and tester (QC)
Sociability testing
◦ evaluate how well a software system or application interacts with external systems or
components.
◦ The goal of sociability testing is to ensure that the system or application is able to
communicate and exchange data with other systems or components in a reliable and
efficient manner.
Performance testing
◦ Testing the software application's performance under various conditions, such as heavy user loads
or high volumes of data. This helps ensure that the software application can handle these
conditions without performance degradation.
Load Testing
◦ Evaluate how well the software application or system performs under expected or peak load
conditions, such as high user traffic or data volume.
Stress Testing
◦ Evaluate how well the software application or system performs under unexpected or extreme load
conditions, such as sudden spikes in user traffic or data volume, ensure exception handling in place
HTTPS://CYVITRIX.COM - 2023 - [email protected] 338
Security Testing
◦ Testing the software application's security measures to ensure that it is secure
and protected against unauthorized access or attacks. This includes testing
for vulnerabilities in the software application's code and testing for
compliance with regulatory requirements.
◦ Vulnerability scanning – testing internal modules and libraries to identify if
there any vulnerable or outdated components
◦ VA testing better to be authenticated scan not unauthenticated
Penetration testing
◦ Penetration testing – Black box (No knowledge) and grey box (Partial
knowledge)
◦ PT consist of stages (Planning, Gathering information, Attack, Reporting)
◦ PT should be performed based on clear rules of engagement
◦ Penetration tester perform it, using many tools related to ethical hacking
◦ Try to predict the vulnerability based on providing input and fuzzing
◦ Fuzz testing, also known as fuzzing, is a type of software testing that involves
inputting random and unexpected data into a software application or system,
with the aim of identifying vulnerabilities or defects that could lead to
unexpected or incorrect behaviour, fuzzing can mutate, generate and flap
which make it more intelligent
RELEASE MANAGEMENT
Release management is the process of planning, scheduling, coordinating, and
controlling the release of software and other applications into production environments.
It involves the management of all activities related to the release of software, including
planning, testing, deployment, and monitoring.
The goal of release management is to ensure that software releases are delivered on
time, with the required functionality, and with minimal disruption to users.
Change
Release planning: management: Build and test: Deployment: Monitoring:
This involves This involves This involves This involves This involves
defining the scope managing changes building and deploying the monitoring the
of the release, to the software and testing the software software into software in
setting release ensuring that to ensure that it production production
dates, and changes are meets quality environments and environments to
identifying any properly tested standards and is ensuring that it ensure that it is
dependencies or and documented. ready for release. operates as functioning
risks. expected. properly and to
identify any issues
that may arise.
• major release is a • minor release is a • patch release is a • hotfix release is a • beta release is a • release candidate is
significant update smaller update that small update that is small update that is pre-release version a near-final version
that includes major includes minor new used to fix specific used to address of the software that of the software that
new features or features or bugs or security critical issues or is made available to is made available to
functionality. It functionality, bug vulnerabilities in vulnerabilities that a limited group of a larger group of
may also involve fixes, and other the software. Patch need to be fixed users for testing users for testing
changes to the user improvements. releases are immediately. Hotfix and feedback. Beta and feedback.
interface or other Minor releases are typically numbered releases are releases are used to Release candidates
significant changes typically numbered using a third typically released identify and are used to identify
to the software. using a decimal decimal point, such outside of the address issues any remaining
Major releases are point, such as from as from version regular release before a full release. issues before the
typically numbered version 1.2 to 1.2.1 to version cycle and may not final release.
using a new version 1.3. 1.2.2. include full
version number, regression testing.
such as from
version 1.0 to
version 2.0.
Certification vs Accreditation
Certification refers to a process in which an independent third-party
organization, such as a certification body, evaluates a product or service to
determine if it meets certain standards or requirements. Certification can be
voluntary or mandatory, and it can cover a wide range of areas, such as quality
management, information security, and software development.
In software development, certification can be used to ensure that products
meet certain standards, such as the ISO 9001 quality management standard, the
ISO 27001 information security standard, or the IEEE software engineering
standards.
Changeover types
Parallel Changeover
◦ Old and new system are live
◦ Once new system is fully ready and tested, old system will be decommissioned
◦ Require 2x resources as two systems are there
◦ More safe
Phased Changeover
◦ New system introduction is based on planned phases
◦ Implementation is broken down into multiple phases
◦ One phase complete, the function in old system replicate it will be discontinued
Abrupt or Direct Changeover / cutover
◦ Remove old system completely and introduce the new one during a downtime
window agreed upon
System/software maintenance
System development and maintenance is continuing process
Maintenance aim to fix code defects, introduce new features, and patch security
issues
Across the life of product, there are many versions until software reach the End-of-life
stage
Product life consist of following stages usually
◦ Public availability
◦ End of Sale
◦ End of Support
◦ End of Life
CHANGE MANAGEMENT
OVERVIEW
Change management is the process of managing changes to an organization's
systems, processes, and procedures in a controlled and systematic manner.
It involves identifying, documenting, and evaluating proposed changes, and
implementing changes in a way that minimizes disruption to the organization
and ensures that the changes are effective.
It is a preventive control
Involvement of business is very important as change advisory board members
Impact analysis, risk analysis should be prepared
Backout or rollback plan should be ready
Change scheduling
Change implementation
Change monitoring
Change closure
Change types
Standard changes Normal changes Emergency changes Major changes
•Standard changes are low- •Normal changes are •Emergency changes are •Major changes are
risk, pre-approved changes that are not changes that are required changes that have a
changes that follow a considered standard or immediately to address a significant impact on the
predetermined process emergency changes and critical situation, such as a organization, such as
and do not require require a formal security breach or system changes to core business
extensive evaluation or evaluation and approval outage. Emergency processes or the
approval. Examples of process. Normal changes changes are typically implementation of new
standard changes might may involve changes to expedited and may systems or technologies.
include routine systems, processes, or involve bypassing some of Major changes require
maintenance tasks or procedures and may the normal change extensive evaluation and
minor configuration require significant management processes. approval processes and
changes. evaluation and testing may involve significant
before being risks and costs.
implemented.
PATCH MANAGEMENT
Patch management and vulnerability management is the same
Vulnerability is weakness in system that can be exploited during attack leading
to system disruption
Patch management is the process of identifying, testing, deploying, and
verifying software patches to address security vulnerabilities, performance issues,
and other bugs in software applications and systems.
An effective patch management process is critical for maintaining the security
and reliability of software systems.
Patch management process include testing, testing is very important before
deploying patch at scale
Example for Patch management software is Tenable & Qualys
Configuration management
A key process for managing the changes made to software or application
configuration or network devices configuration over time and ensuring that these
changes are properly tracked, documented, and tested before being released to
production environments.
Configuration management involves the management of all aspects of the software
development lifecycle, including planning, development, testing, deployment, and
maintenance. It includes the management of source code, build scripts,
documentation, test plans, and other artifacts related to the software.
Identifying the specific version of the software and its dependencies that are required
to run in different environments, such as development, testing, and production.
Help to identify the baseline of required configurations that need to be implemented
Help to ensure that the correct version of the software is deployed in each
environment, and that any changes made to the software are properly tested and
approved before being released to production.
HTTPS://CYVITRIX.COM - 2023 - [email protected] 366
Systematic configuration
management process
Develop release
procedures.