Thor's Study Guide - CISSP Domain 8
Thor's Study Guide - CISSP Domain 8
Introduction to Domain 8
In this domain we cover:
• Security has for a long time been an afterthought in software development, we need to
design it in and not bolt it on.
• Security in the software development lifecycle.
⬧ How we include security in the software requirements of our SDLC.
▪ Development environment security controls.
⬧ How security should be designed and planned in, and should be a
requirement of our development.
▪ Software security effectiveness
⬧ How we assess the effectiveness of our software security controls
▪ Acquired software security impact.
⬧ How we test and secure software we buy from 3rd parties.
2|Page
https://thorteaches.com/
Thor’s Study Guide – CISSP® Domain 8
3|Page
https://thorteaches.com/
Thor’s Study Guide – CISSP® Domain 8
Programming Concepts
• Machine Code:
▪ Software executed directly by the CPU, 0's and 1's understood by the CPU.
• Source Code:
▪ Computer programming language, written in text and is human understandable,
translated into machine code.
• Assembler Languages:
▪ Short mnemonics like ADD/SUB/JMP, which are matched with the full length
binary machine code; assemblers convert assembly language into machine
language. A disassembler does the reverse.
• Compiler Languages:
▪ Translates the higher level language into machine code and saves, often as
executables, compiled once and run multiple times.
• Interpreted Languages:
▪ Similar to compiler languages, but interprets the code each time it is run into
machine code.
• Bytecode:
▪ An interpreted code, in intermediary form, converted from source code to
interpreted, but still needs to be converted into machine code before it can run
on the CPU.
• Procedural Languages (Procedure-oriented):
▪ Uses subroutines, procedures and functions.
• Object-oriented Programming (OOP):
▪ Based on the concept of objects, which may contain data, in the form of fields,
often known as attributes, and code, in the form of procedures, often known as
methods.
▪ An object's procedures can access and often modify the data fields of the
objects with which they are associated.
▪ In OOP, computer programs are designed by making them out of objects that
interact with one another.
• 4th Generation languages (4GL):
▪ Fourth-generation languages are designed to reduce programming effort and
the time it takes to develop software, resulting in a reduction in the cost of
software development.
▪ Increases the efficiency by automating the creation of machine code.
▪ Often uses a GUI, drag and drop, and then generating the code, often used for
websites, databases and reports.
• Programming Languages and Generations:
▪ 1st generation: Machine Code
▪ 2nd Generation: Assembler languages
▪ 3rd Generation: C, C++, Java, Python, PHP, Perl, C#, BASIC, Pascal, Fortran,
ALGOL, COBOL, …
▪ 4th Generation: ABAP, Unix Shell, SQL, PL/SQL, Oracle Reports, R, …
▪ 5th Generation: Prolog, OPS5, Mercury, …
4|Page
https://thorteaches.com/
Thor’s Study Guide – CISSP® Domain 8
• Software Release:
▪ Open source:
⬧ We release the code publicly, where it can be tested, improved and
corrected, but it also allows attackers to find the flaws in the code.
▪ Closed Source:
⬧ We release the software, but keep the source code a secret, may be
sound business practice, but can also be security through obscurity.
▪ Proprietary Software:
⬧ Software protected by intellectual property and/or patents, often used
interchangeably with Closed Source software, but it really is not. It can
be both Open and Closed Source software.
⬧ Any software not released into the public domain is protected by
copyright.
5|Page
https://thorteaches.com/
Thor’s Study Guide – CISSP® Domain 8
▪ Free Software:
⬧ Freeware:
▫ Actually free software, it is free of charge to use.
⬧ Shareware:
▫ Fully functional proprietary software that is initially free to use.
▫ Often for trials to test the software, after 30 days you have to
pay to continue to use.
⬧ Crippleware:
▫ Partially functioning proprietary software, often with key
features disabled.
▫ The user is required to make a payment to unlock the full
functionality.
▪ EULAs (End-User License Agreements):
⬧ Electronic form where the user clicks “I agree” to the software terms
and conditions while installing the software.
• Software Licenses:
▪ Open source software can be protected by a variety of licensing agreement.
⬧ GNU (General Public License) also called GPL:
▫ Guarantees end users the freedom to run, study, share and
modify the software.
▫ A copyleft license, which means that derivative work can only
be distributed under the same license terms.
⬧ BSD (Berkeley Software Distribution):
▫ A family of permissive free software licenses, imposing minimal
restrictions on the use and redistribution of covered software.
▫ This is different than copyleft licenses, which have reciprocity
share-alike requirements.
⬧ Apache:
▫ Software must be free, distribute, modify and distribute the
modified software.
▫ Requires preservation of the copyright notice and disclaimer.
6|Page
https://thorteaches.com/
Thor’s Study Guide – CISSP® Domain 8
• Waterfall:
▪ Very linear, each phase leads directly into the next.
▪ The unmodified waterfall model does not allow us to go back to the previous
phase.
7|Page
https://thorteaches.com/
Thor’s Study Guide – CISSP® Domain 8
8|Page
https://thorteaches.com/
Thor’s Study Guide – CISSP® Domain 8
9|Page
https://thorteaches.com/
Thor’s Study Guide – CISSP® Domain 8
10 | P a g e
https://thorteaches.com/
Thor’s Study Guide – CISSP® Domain 8
▪ Scrum:
⬧ Scrum is a framework for managing software development. Scrum is
designed for teams of approximately 10 individuals, and generally relies
on two-week development cycles, called "sprints", as well as short daily
stand-up meetings.
⬧ The three core roles in the Scrum framework.
▫ The Product Owner:
→ Representing the product's stakeholders, the voice of
the customer, and is accountable for ensuring that the
team delivers value to the business.
▫ Development Team:
→ Responsible for delivering the product at the end of
each sprint (sprint goal).
→ The team is made up of 3–9 individuals who do the
actual work (analysis, design, develop, test, technical
communication, document, etc.).
→ Development teams are cross-functional, with all of the
skills as a team necessary to create a product
increment.
▫ Scrum Master:
→ Facilitates and accountable for removing impediments
to the ability of the team to deliver the product goals
and deliverables.
→ Not a traditional team lead or project manager but acts
as a buffer between the team and any distracting
influences.
→ The scrum master ensures that the Scrum framework is
followed.
▪ XP (Extreme Programming):
⬧ Intended to improve software quality and responsiveness to changing
customer requirements.
⬧ Uses advocates frequent releases in short development cycles,
intended to improve productivity and introduce checkpoints at which
new customer requirements can be adopted.
⬧ XP uses:
▫ Programming in pairs or doing extensive code review.
▫ Unit testing of all code.
▫ Avoiding programming of features until they are actually
needed.
▫ Flat management structure.
▫ Code simplicity and clarity.
▫ Expecting changes in the customer's requirements as time
passes and the problem is better understood.
▫ Frequent communication with the customer and among
programmers.
11 | P a g e
https://thorteaches.com/
Thor’s Study Guide – CISSP® Domain 8
• Prototyping:
▪ Breaks projects into smaller tasks, creating multiple prototypes of system design
features.
▪ A working model of software with some limited functionality, rather than
designing the full software up front.
▪ Has a high level of customer involvement, the customer inspects the prototypes
to ensure that the project is on track and meeting its objective.
12 | P a g e
https://thorteaches.com/
Thor’s Study Guide – CISSP® Domain 8
13 | P a g e
https://thorteaches.com/
Thor’s Study Guide – CISSP® Domain 8
14 | P a g e
https://thorteaches.com/
Thor’s Study Guide – CISSP® Domain 8
15 | P a g e
https://thorteaches.com/
Thor’s Study Guide – CISSP® Domain 8
• DevOps:
▪ Cooperation between development, operations, and Quality Assurance.
▪ Aligned with Agile, code is deployed rapidly, multiple
times a day.
▪ CI/CD (Continuous Integration/Continuous
Delivery):
The D in CD can also be referred to as
Deployment or Development.
⬧ Code rollouts may happen many
times per day, with that we need
to rely on much more automation
(integrating code repositories,
deployment, infrastructure changes,
software configuration management, and
moving code between development, testing,
production environments, …).
• DevSecOps:
▪ Evolved from DevOps to add security into the process.
▪ We want security to be integrated
throughout the development process.
▪ Security is not just added on later as an
afterthought, it is designed in.
16 | P a g e
https://thorteaches.com/
Thor’s Study Guide – CISSP® Domain 8
17 | P a g e
https://thorteaches.com/
Thor’s Study Guide – CISSP® Domain 8
Databases
• An organized collection of data.
• It is the collection of schemas, tables, queries, reports, views, and other objects.
• The data are typically organized to model aspects of reality in a way that supports
processes requiring information. This could be modelling the availability of rooms in
hotels in a way that supports finding a hotel with vacancies.
18 | P a g e
https://thorteaches.com/
Thor’s Study Guide – CISSP® Domain 8
• Database management systems are often classified according to the database model
they support, the most common database systems since the 1980s have all supported
the relational model as represented by the SQL language.
• A database model is a type of data model that determines the logical structure of a
database and fundamentally determines in which manner data can be stored,
organized, and manipulated. The most popular example of a database model is the
relational model (the SQL version), which uses a table-based format.
• Common logical data models for databases include:
▪ Navigational databases: Hierarchical database model, Network model, Graph
database.
▪ Relational model.
▪ Entity–relationship model, Enhanced entity–relationship model.
▪ Object model.
▪ Document model.
▪ Entity–attribute–value model.
▪ Star schema.
• Relational Model:
▪ Organizes data into one or more tables (or relations) of columns and rows, with
a unique key identifying each row.
▪ Rows are also called records or
tuples.
▪ Generally, each table/relation
represents one entity type.
▪ The rows represent instances of that
type of entity and the columns
representing values attributed to
that instance.
▪ Foreign Key:
⬧ They are in relational
databases the matching
primary key of a parent
database table.
⬧ It is always the primary key
in the local DB.
⬧ The SSN is Primary key in the
Paygrade/scale table, but
Foreign key in the Name
one, seen from the
Paygrade/scale table.
19 | P a g e
https://thorteaches.com/
Thor’s Study Guide – CISSP® Domain 8
• Integrity:
▪ Referential integrity:
⬧ When every foreign key in
a secondary table matches
a primary key in the parent
table.
⬧ It is broken if not all
foreign keys match the
primary key.
▪ Semantic integrity:
⬧ Each attribute value is
consistent with the
attribute data type.
▪ Entity integrity:
⬧ Each tuple (row) has a
unique primary value that
is not null.
▪ User-Defined Integrity:
⬧ A set of rules specified by a user, which do not belong to the entity,
domain and referential integrity categories.
⬧ If a database supports these features, it is the responsibility of the
database to ensure data integrity as well as the consistency model for
the data storage and retrieval.
⬧ If a database does not support these features it is the responsibility of
the applications to ensure data integrity while the database supports
the consistency model for the data storage and retrieval.
▪ Having a single, well controlled, and well defined data-integrity system
increases:
⬧ Stability: One centralized system performs all data integrity operations
⬧ Performance: All data integrity operations are performed in the same
tier as the consistency model.
⬧ Re-usability: All applications benefit from a single centralized data
integrity system.
⬧ Maintainability: One centralized system for all data integrity
administration.
▪ Modern databases support these features, and it has become the de facto
responsibility of the database to ensure data integrity.
▪ If our databases are older we can use companies or database systems, who
offer products and services to migrate legacy systems to modern databases.
▪ Databases normally run multiple threads simultaneously and they are all
capable of altering data.
20 | P a g e
https://thorteaches.com/
Thor’s Study Guide – CISSP® Domain 8
▪ When two threads try to change the same record, the DBBMS will attempt to
commit the update.
▪ If the commit is unsuccessful, the DBMSs can do rollbacks/aborts and restore
from a save point.
▪ A database journal is a log of all database transactions.
▪ If a database become corrupted, the database can be reverted to a back-up
copy, and then transactions are replayed from the journal, restoring database
integrity.
• Database Normalization:
▪ Used to clean up the data in a database table to make it logically concise,
organized, and consistent.
▪ Removes redundant data, and improves the integrity and availability of the
database.
▪ Normalization has three forms (rules):
⬧ First Normal Form: Divides the base data into tables, primary key is
assigned to most or all tables.
⬧ Second Normal Form: Move data that is partially dependent on the
primary key to another table.
⬧ Third normal Form: Remove data that is not dependent on the primary
key.
▪ The major benefits of using normalization include:
⬧ Greater overall database organization
⬧ Reduction of redundant data
⬧ Data consistency within the database
⬧ A much more flexible database design
⬧ A better handle on database security
• Database Views:
▪ Database tables may be queried, what we see when we query them is called a
database view.
▪ They can give users a view of the parts of the database they are allowed to
access.
▪ For a normal employee this could be their own employee data, where HR can
access all employee's data. Remember the need to know principle, even if you
have the access that doesn't mean you are allowed to access it.
• Data Dictionary:
▪ Contains a description of the database tables (metadata).
▪ It has the database view information, information about authorized database
administrators, user accounts names and privileges, auditing information,
database schema,...
▪ Database Schema:
⬧ Describes the attributes and values of the database tables.
⬧ Names should only contain letters, in the US SSN’s should only contain 9
numbers,…
21 | P a g e
https://thorteaches.com/
Thor’s Study Guide – CISSP® Domain 8
• Hierarchical Databases
▪ Use a tree-like structure for how data is organized.
▪ The data is stored as records which are connected
to one another through links.
▪ A record is a collection of fields, with each field
containing only one value.
▪ The entity type of a record defines which fields the
record contains.
22 | P a g e
https://thorteaches.com/
Thor’s Study Guide – CISSP® Domain 8
▪ Classes:
⬧ Define the data and methods the object will contain, they are the
template for the object.
⬧ Does not itself contain data or methods but defines the data and
methods contained in the object.
• We have covered these before, but it makes sense to revisit them now:
▪ Database Shadowing:
⬧ Exact real time copy of the database or files to another location.
⬧ It can be another disk in the same server, but best practices dictates
another geographical location, often on a different media.
▪ Electronic Vaulting (E-vaulting):
⬧ Using a remote backup service, backups are sent off-site electronically
at a certain interval or when files change.
▪ Remote Journaling:
⬧ Sends transaction log files to a remote location, not the files
themselves. The transactions can be rebuilt from the logs if we lose the
original files.
• Coupling:
▪ The degree of interdependence between software modules, a measure of how
closely connected two routines or modules are.
• Cohesion:
▪ Refers to the degree to which the elements inside a module belong together.
▪ Measures the strength of relationship between pieces of functionality within a
given module.
▪ In highly cohesive systems functionality is strongly related.
• Coupling is usually contrasted with cohesion.
• Low coupling often correlates with high cohesion, and vice versa.
• Low coupling is often a sign of a well-structured computer system and a good design,
and when combined with high cohesion, supports the general goals of high readability
and maintainability.
• ORB (Object Request Broker):
▪ Middleware which allows program calls to be made from one computer to
another via a network, providing location transparency through remote
procedure calls.
▪ ORBs promote interoperability of distributed object systems, enabling such
systems to be built by piecing together objects from different vendors, while
different parts communicate with each other via the ORB.
▪ Common object brokers included .NET remoting, COM, DCOM, and CORBA.
⬧ COM (Component Object Model):
▫ A language-neutral way of implementing objects that can be
used in environments different from the one in which they were
created, even across machine boundaries.
▫ It is used to enable inter-process communication object creation
in a large range of programming languages.
23 | P a g e
https://thorteaches.com/
Thor’s Study Guide – CISSP® Domain 8
24 | P a g e
https://thorteaches.com/
Thor’s Study Guide – CISSP® Domain 8
25 | P a g e
https://thorteaches.com/
Thor’s Study Guide – CISSP® Domain 8
• OWASP:
▪ A01:2021 - Broken Access Control:
⬧ It is not implemented consistently across an entire application.
⬧ It can be done correctly in one location but incorrectly in another.
⬧ We need a centralized access control mechanism, and we write the
tricky logic once and reuse it everywhere.
⬧ This is essential both for writing the code correctly and for making it
easy to audit later.
⬧ Many access control schemes were not deliberately designed but have
simply evolved along with the website.
⬧ Inconsistent access control rules are often inserted in various locations
all over the code, making it near impossible to manage.
⬧ One especially dangerous type of access control vulnerability arises
from web-accessible administrative interfaces, frequently used to allow
site administrators to efficiently manage users, data, and content on
their site.
26 | P a g e
https://thorteaches.com/
Thor’s Study Guide – CISSP® Domain 8
▪ A03:2021 – Injection:
⬧ Can be any code injected into user forms. Often seen is SQL/NoSQL/OS
command/LDAP.
⬧ Attackers can do this because our software does not use:
▫ Strong enough input validation and data type limitations input
fields.
▫ Input length limitations.
⬧ CGI (Common Gateway Interface):
▫ Standard protocol for web servers to execute programs running
on a server that generates web pages dynamically. We use the
interface to ensure only proper input makes it to the database.
▫ The CGI separates the untrusted (user) from the trusted
(database).
27 | P a g e
https://thorteaches.com/
Thor’s Study Guide – CISSP® Domain 8
28 | P a g e
https://thorteaches.com/
Thor’s Study Guide – CISSP® Domain 8
29 | P a g e
https://thorteaches.com/
Thor’s Study Guide – CISSP® Domain 8
30 | P a g e
https://thorteaches.com/
Thor’s Study Guide – CISSP® Domain 8
31 | P a g e
https://thorteaches.com/
Thor’s Study Guide – CISSP® Domain 8
32 | P a g e
https://thorteaches.com/
Thor’s Study Guide – CISSP® Domain 8
33 | P a g e
https://thorteaches.com/
Thor’s Study Guide – CISSP® Domain 8
• Privilege Escalation:
▪ Exploiting a bug, design flaw or configuration oversight in an OS or application
to gain access to resources that are normally protected from an application or
user.
▪ Attacker often use this to elevate the user account they have gained access to,
in order to get administrator access.
▪ The result is that an application with more privileges than intended by the
application developer or system administrator can perform unauthorized
actions.
• Backdoors:
▪ Often installed by attackers during an attack to allow them access to the
systems after the initial attack is over, to exfiltrating data over time or to come
back and compromise other systems.
▪ Bypassing normal authentication or encryption in a computer system, a product,
or an embedded device,...
▪ Backdoors are often used for securing remote access to a computer, or
obtaining access to plaintext in cryptographic systems.
• Ethical disclosure:
▪ What do you do when you discover a vulnerability? We covered some of this in
the white, gray, black hat hacker section.
▪ Full Disclosure: Tell everyone, make it public, assuming attackers already know
and are using it.
▪ Responsible/Partial Disclosure: Telling the vendor, they have time to develop a
patch and then disclose it.
⬧ If they do nothing we can revert to the full disclosure forcing them to
act.
▪ No Disclosure: Attackers finding a vulnerability would try to exploit it and keep
it secret as long as possible.
34 | P a g e
https://thorteaches.com/
Thor’s Study Guide – CISSP® Domain 8
35 | P a g e
https://thorteaches.com/
Thor’s Study Guide – CISSP® Domain 8
• Runtime:
▪ Runtime is the amount of time when a program is running. Starting when a
program is executed/started and stopping with the program terminated/closed.
▪ The term, runtime, is most often used in software development. Commonly
used with "runtime error," an error that occurs while a program is running. This
error is used to differentiate from other types of errors, like syntax errors and
compilation errors, which happen before a program is run.
36 | P a g e
https://thorteaches.com/
Thor’s Study Guide – CISSP® Domain 8
▪ Level 5: Optimizing
⬧ Processes at this level focus on continually improving process
performance through both incremental and innovative
technological changes/improvements.
⬧ Addressing statistical common causes of
process variation and changing the
process to improve process
performance.
37 | P a g e
https://thorteaches.com/
Thor’s Study Guide – CISSP® Domain 8
• SAMM principles
▪ An organization’s behavior changes slowly over time.
▪ Changes must be iterative while working toward long-term goals.
▪ There is no single recipe that works for all organizations.
▪ A solution must enable risk-based choices tailored to the organization.
▪ Guidance related to security activities must be prescriptive.
▪ A solution must provide enough details for non-security-people.
▪ Overall, it must be simple, well-defined, and measurable.
• https://owasp.org/www-project-samm/
• Acceptance Testing:
▪ There are many different testing types we use throughout the development
lifecycle.
▪ At the end of development we also use acceptance testing, we need to test it to
ensure it does what it is supposed to and it is robust and secure.
▪ Compatibility/Production Testing:
⬧ Does the software interface as expected with other applications or
systems?
⬧ Does the software perform as expected in our production environment
vs. the development environment?
38 | P a g e
https://thorteaches.com/
Thor’s Study Guide – CISSP® Domain 8
39 | P a g e
https://thorteaches.com/
Thor’s Study Guide – CISSP® Domain 8
• Cloud Computing:
▪ Cloud Computing can be divided into 4 main types:
▪ Private Cloud Computing - Organizations build and run their own cloud
infrastructure (or they pay someone to do it for them).
▪ Public Cloud Computing - Shared tenancy – A company builds massive
infrastructures and rents it out to anyone who wants it. (Amazon AWS,
Microsoft, Google, IBM).
▪ Hybrid Cloud Computing – A mix of Private and Public Cloud Computing. An
organization can choose to use Private Cloud for sensitive information and
Public Cloud for non-sensitive data.
▪ Community Cloud Computing – Only for use by a specific community of
consumers from organizations that have shared concerns. (Mission, policy,
security requirements, and/or compliance considerations.)
As with any other outsourcing, make sure you have the right to audit, pen test (clearly agreed
upon criteria), conduct vulnerability assessment, and check that the vendor is compliant with
your industry and the standards you adhere to.
▪ Platforms are normally offered as:
⬧ IaaS (Infrastructure as a Service) The vendor provides infrastructure up
to the OS, the customer adds the OS and up.
⬧ PaaS (Platform as a Service) The vendor provides pre-configured OSs,
then the customer adds all programs and applications.
⬧ SaaS (Software as a Service) The vendor provides the OS and
applications/programs. Either the customer interacts with the software
manually by entering data on the SaaS page, or data is automatically
pushed from your other applications to the SaaS application (Gmail,
Office 365, Dropbox, Payroll, …).
40 | P a g e
https://thorteaches.com/
Thor’s Study Guide – CISSP® Domain 8
41 | P a g e
https://thorteaches.com/
Thor’s Study Guide – CISSP® Domain 8
▪ Prioritize and triage SCA findings based on factors like vulnerability severity,
component criticality, and remediation difficulty.
▪ Automate and integrate SCA into the development workflow (e.g., integrating
with build systems, automatically opening tickets for identified issues, blocking
builds that don't meet quality gates).
▪ Monitor and update components continuously throughout the development
process.
▪ Foster a culture of collaboration (DevSecOps) where Development, Security, and
Operations teams work together to understand and mitigate risks.
• Limitations of SCA:
▪ Cannot find issues in proprietary code or detect novel attack vectors.
▪ Should be part of a larger application security program that includes secure
coding training, static and dynamic analysis, penetration testing, and threat
modeling.
• Challenges with SCA:
▪ Managing false positives (components flagged as vulnerable when they are not)
and false negatives (missed vulnerabilities).
▪ Tuning SCA tool settings and thresholds based on the organization's risk
tolerance and application-specific criteria.
▪ Implementing processes for manually reviewing and validating SCA findings,
especially for high-risk or business-critical applications.
▪ Staying up to date with the latest developments in the rapidly evolving field of
SCA and continually improving the organization's SCA-based processes based on
feedback and lessons learned.
AI (Artificial Intelligence)
• Intelligence exhibited by machines, rather than
humans or other animals.
• What true AI is, is a topic of discussion, what
was considered AI years ago we have
achieved and when once goal is reached the
AI definition is tweaked a little.
• From what we are seeing published we do
in my mind not currently have true AI, but
very highly simulated intelligence, that being
said IBM and Google do seem to be getting a
lot closer.
• It is also used when a machine mimics
cognitive functions that humans associate with
other human minds, such as learning and
problem solving.
42 | P a g e
https://thorteaches.com/
Thor’s Study Guide – CISSP® Domain 8
• AI currently defined as advice that perceives its environment and takes actions that
maximize its chance of success at some goal, not through experience/programming, but
through reasoning.
• Expert Systems:
▪ A computer system that emulates the decision-making ability of a human
expert.
▪ Designed to solve complex problems by reasoning about knowledge,
represented mainly as if–then rules rather than through conventional
procedural code.
▪ An expert system is divided into two subsystems:
1. The knowledge base represents facts and rules.
2. The inference engine applies the rules to the known facts to deduce
new facts, and can also include explanation and debugging abilities.
• GP (Genetic Programming):
▪ A technique where computer programs are encoded as a set of genes that are
then modified (evolved) using an evolutionary algorithm often a GA (Genetic
Algorithm).
▪ The results are computer programs able to perform well in a predefined task.
▪ The methods used to encode a computer program in an artificial chromosome
and to evaluate its fitness with respect to the predefined task are central in the
GP technique and still the subject of active research.
▪ GP evolves computer programs, traditionally represented in memory as tree
structures.
▪ Trees can be easily evaluated in a recursive manner.
43 | P a g e
https://thorteaches.com/
Thor’s Study Guide – CISSP® Domain 8
▪ Every tree node has an operator function and every terminal node has an
operand, making mathematical expressions easy to evolve and evaluate.
▪ Traditionally GP favors the use of programming languages that naturally
embody tree structures for example, Lisp or other functional programming
languages.
▪ The process is in its simple form like this:
⬧ Generate an initial population of random computer programs.
⬧ Execute each program in the population and assign it a fitness value
according to how well it solves the problem.
⬧ Create a new population of computer programs.
⬧ Copy the best existing programs
⬧ Create new computer programs by mutation.
⬧ Create new computer programs by crossover.
▪ Genetic Algorithms and Genetic Programming have been used to program a
Pac-Man playing program, robotic soccer teams, networked intrusion detection
systems, and many others.
44 | P a g e
https://thorteaches.com/
Thor’s Study Guide – CISSP® Domain 8
45 | P a g e
https://thorteaches.com/