Protect Application or System Software Final
Protect Application or System Software Final
.
Chapter One
User Accounts Control
Introduction on user access control
❑What is user access control(UAC)?
• User access control(UAC) is a feature in computer systems that helps protect the
system from unauthorized changes or harmful actions.
• It controls who can access file, program, and setting, ensuring only trusted user
or application can make important changes.
• UAC prevents malware or users without proper permissions from changing
system settings or installing harmful software.
❑Example:- if a program tries to make a significant change to your system, like
installing software, UAC asks for your permission or requires on administrator’s
password.
Why Do we Use UAC
1. Protection from malware: UAC prevents malicious programs (malware) from
making unauthorized changes to your system.
❑Example:- you accidentally download a suspicious program from the internet.
Without UAC, the program could secretly install a virus that steals your personal
data.
❑With UAC:
• The program attempt to install itself.
• UAC promotes you for permission.
• You notice the program is unfamiliar and block it, protecting your system.
Why Do we Use UAC
2. Preventing Unauthorized Changes: UAC ensures only authorized
users or programs make changes to system settings.
❑Example:- a child using your computer tries to disable antivirus software or
change important settings.
❑With UAC:
• The action requires administrative rights.
• UAC promotes for the admin password.
• With out the password, the setting remain secure.
Why Do we Use UAC
3. Limiting Damage from Errors: sometimes even trusted programs or users can
make mistakes. UAC ensure critical change are deliberate.
❑Example:- You accidentally open a ligtimate-looking file that modifies system
files.
❑With UAC:
• The modification requires admin approval.
• You notice the unusual request and deny it, avoiding potential harm.
Why Do we Use UAC
4. Safe Use of Shared Systems: UAC allows multiple users to share the same
system without risking its stability.
❑Example:- On a shared family computer, your sibling downloads a game that
needs system wide changes.
❑With UAC :
• The system promotes for admin credentials.
• You decide weather to allow the installation, preventing unnecessary risks.
Why Do we Use UAC
5. User Accountability: UAC ensures users are aware of action requiring administrative
privileges and holds them accountable for decisions,
❑Example:- you try to install a new media player.
❑With UAC:
• Promotes you to confirm the installation.
• This makes you pause and check if the software is safe.
• By approving the action, you acknowledge responsibility for the changes made.
❑Why it matter:
• Prevents accidental installations of harmful software.
• Ensures users actively approve changes reducing unintentional security breaches.
Why Do we Use UAC
6. System stability: UAC ensure only necessary and verified changes are made to
the system, reducing risks of crashes or errors.
❑Example:- Your friend attempts to modify critical windows setting (e.g disabling
the firewall) with out realizing the potential impact.
❑With UAC:
• Prompts for an administrator password.
• Without it, the system blocks the action, maintaining security and stability.
❑Why it Matter:
• Protect against accidental or malicious changes that could corrupt the system.
• Ensure smooth operation by limiting unnecessary disruptions.
Why Do we Use UAC
7. Ease of Use: UAC allows non-administrator users to perform everyday tasks
without requiring full admin rights.
❑Example:- You’re logged in as a standard user and need to connect to a Wi-Fi
network.
❑With UAC:
• Allow you to configure basic network settings with out admin credentials.
• However, if you try to install network drivers, UAC prompts for an admin
password.
❑Why it Matter:
• Enables users to perform common tasks without security risks.
• Reduce the need to log out and switch accounts, improving productivity
How Does UAC Work
1. Blocking unauthorized Actions
• When a program tries to make system changes, UAC access its permission and
decides if it needs administrative rights.
❑Example:- You install a new printer.
❑UAC:
• Prompts you for admin approval since it needs to add drivers to the system.
• You approve, and the printer installs securely.
How Does UAC Work
2. Prompting for Consent:
• UAC asks for your approval before granting elevated permissions to programs or
users.
❑Example:- A software update attempt to modify system files.
❑UAC:
• Displays a consent prompt for admin users to approve.
• You confirm to the update, ensuring only trusted programs make changes.
How Does UAC Work
3. Differentiating User Roles:
• UAC assigns specific access levels to different users.
❑Standard Users: Limited permissions, cannot make critical changes.
❑Administrator Users: Full permissions but still require UAC prompts for safety.
❑Example:- Your coworker uses your laptop to browse the internet but cannot
install new software without your approval.
How Does UAC Work
4. Color-coded prompts for safety
• UAC prompts are color-coded to indicate the risk level of the program or action.
❑Green: verified system changes(e.g updates from microsoft).
❑Yellow: verified third-party programs(e.g Adobe).
❑Red: Unverified or unknown programs(e.g suspicious downloads).
❑Example:- you download a file, and the UAC prompts is red. This warns you the
file is unverified. Allowing you to reconsider running it.
Components of User Access Control
• Users access control (UAC) relies on three core components to manage and
enforce access restrictions effectively:
➢Identification and Authentication,
➢Authorization and
➢Accountability
• Each component plays a specific role in ensuring systems security.
Components of User Access Control
1. Identification and Authentication:
• Identification: verifies who is trying to access the system by requiring unique identification (e.g
username or IDs).
• Authentication: Confirms the user’s identity using credential like passwords, smart cards, or
biometrics.
❑Why is important:
• Ensures only verified users can access the system.
• Prevents unauthorized users or processes from gaining entry.
❑Examples:- Scenario: you log in to your office computer.
• Identification: You enter your unique username (e.g “Ashenafi.wube”).
• Authentication: You provide your password or scan your fingerprint to confirm it’s really you.
❑What happens if absent:
• Without proper identification and authentication anyone could access your data. Posing server security
risks
Components of User Access Control
2. Authorization:
• Defines what an authenticated user or object can access and the extent of their access
❑Why is important:
• Restricts users from accessing or modifying data or systems they’re not authorized to handle.
• Protect sensitive information and system integrity.
❑Examples:- Scenario: You are a standard user trying to install software on a shared family
computer.
• The system checks your access level.
• Since you’re not an administrator UAC blocks the installation and prompts for admin credentials.
• If approved by admin, the software installs.
❑What happens if Absent:
• Without authorization controls, all users could access sensitive files or make changes, leading to
security breaches or accidental system damage.
Components of User Access Control
3. Accountability:
• Tracks and records what actions a user or process perform once access is granted.
❑Why is important:
• Provide a clear record of user activities,
• Helps identify and resolve security incidents by tracking who did, what and when.
❑Example:- Scenario: an admin user changes a security policy in a company system.
• UAC logs the activity, including the username, time and detail of the change.
• If something goes wrong later (e.g a security breach), you can trace it back to the admin
user.
❑What happens if Absent:
• Without accountability, there’s no way to determine responsibility for unauthorized or
harmful actions.
Summary Table of Components
Component Role Examples
Identification & Authentication Verifies user identity Logging in with username and
password or scanning a fingerprint.
Accountability Tracks user activates UAC logs show who disabled the
firewall and when, helping resolve
security incidents.
Real-World Scenario
• Imagine a company system with sensitive financial data:
1. Identification: Each employee has a unique ID to log in.
2. Authentication: They must also enter a password or use biometrics
authentication to confirm their identity.
3. Authorization: a junior employee can view basic financial reports but cannot
access payroll data or modify settings.
4. Accountability: if someone tries to access restricted data, UAC logs the
attempt, enabling the IT team to investigate.
• These components together from a robust security framework, ensuring only
trusted users perform authorized actions,
User Access Control Policies
• UAC policies define the rules and methods for identifying, authenticating and
managing access for users or objects with in a system.
• These policies enforce restrictions to ensure secure operation and protect
sensitive data.
Key policies:
➢Identification Policies and
➢Authentication Policies
User Access Control Policies
1. Identification Policies:
• Ensure users and objects (e.g devices) are uniquely identified in the system.
• Methods include username MAC addresses, or IP addresses.
❑Example:- Scenario: A company’s systems requires employee to log in using their
unique username (e.g “Hanna”).
• This ensures that each user’s actions are tied to their identity, preventing
anonymity and unauthorized access.
❑What Happens without these Policies:
• If user names are not unique, multiple users could share the same account,
making it impossible to trace who performed certain actions.
User Access Control Policies
2. Authentication Policies:
• Verifies the identity of users or objects using secure methods like passwords, biometrics or
hardware tokens.
❑Requirements:
• Strong Passwords (e.g minimum length, special character, no similarity to username).
• Use of secure authentication tools like smart cards or biometric readers.
❑Examples:-
• scenario: An employee logs in to a secure database using a password and fingerprint scanner.
• Outcome: Even if someone steals their password, they can’t log in without the fingerprint.
❑What Happens without this Policies:
• A weak password policy allows users to set simple passwords like “123456” making it easy for
hackers to breach the system.
User account control process and interaction
UAC manages how applications and users interact with system permissions,
ensuring only authorized actions are executed.
How works:
❑Access token creation :
• When a user logs in, an access token is created, defining their permissions.
• Administrators get two tokens:
• Standard Access Token: used for regular tasks like browsing or reading files.
• Admin Access Token: used for actions requiring elevated privileges, like installing
software
❑Example:- Scenario: an admin browses the web using a standard token to
minimize risks. When they need to install software, UAC prompts them to use the
admin token.
Logon Process
• The logon process in a system with UAC determines how user gain access and
what permission they receive.
• It create access token that define a user’s permission for application and tasks
during a session.
Key Steps in Logon Process:
1. Access Token Creation:
• When a user logs in the system generate an access token containing:
➢User-specific security identifiers (SIDs)
➢Privileges assigned to the user.
❑Example:-
• Standard user logs in to browse the web and check emails.
• The system assigns a standard user token, restricted actions like installing
software.
Key Steps in Logon Process:
2. Role-Based Access:
• Standard users:
➢ Can access files and run application but cannot modify system setting.
• Administrators:
➢Use a standard token by default for safety but can switch to the admin token
when required.
❑Example:-
• an administrator logs in and launch their email client
• The email client uses the standard token for security.
• To install a software update. The admin must switch to the elevated token.
Key Steps in Logon Process:
3. Elevation prompts:
• Consent prompt:
➢ If a program requests admin access, the user must approve it.
• Credential prompt:
➢ Standard users must provide an admin password to continue.
❑Example:- A user tries to install new software.
• UAC detects the action needs admin rights and prompts for consent or credentials.
• Benefits of The Logon Process:
• Separates daily tasks from admin actions, reducing accidental system changes
• Limits the impact of malware by running most applications with standard permissions,
The consent and credential prompts
• UAC uses consent and credential prompts to manage tasks requiring elevated
privileges.
• These prompts ensure that only authorized users or administrators can approve
critical changes to the system.
Consent prompt
• The consent prompt is shown when an administrator attempts to perform a task
requiring elevated privileges.
❑How it works:
• The system displays a message asking the admin to confirm or deny the action
• If the admin approves, the task proceeds.
• If denied. The action is blocked.
Consent prompt
❑Example:- Scenario : you try to install a new application as an admin.
• UAC shows a consent prompts asking: “Do you want to allow this app to make
changes to your device?”
• You click Yes to proceed or No to cancel.
❑Why is important:
• Prevents unauthorized programs from making changes without the admin’s
explicit approval.
• Reduce risks from accidental actions or malware.
Example
Credential prompt
• The credential prompt appears when a standard user tries to perform an action
requiring admin privileges.
• It requires the user to enter valid admin credentials (e.g username and
password).
❑How it works:
• The system displays a logon prompts asking for admin credentials.
• The user enters the credential to proceed.
• Without the credentials, the action is blocked.
Credential prompt
❑Example:- Scenario: A standard user attempts to change firewall settings.
• UAC displays a prompt asking for the admin’s username and password.
• The action is only allowed if the credentials are entered correctly.
❑Why is important:
• Prevents unauthorized users from making critical changes.
• Ensure tasks requiring elevated privileges are handled securely by trusted
individuals.
Example
Key d/f b/n Consent and Credential prompts
Prompt Type Who see it Action Require Purpose
Consent prompt Admin Users Approve of deny the Confirms that the admin
action authorizes the task .
Credential prompt Standard Users Enter Admin username Verifies admin credential
and password to allow access.
Advantages of Consent and Credential prompts:
• Prevents unauthorized actions by ensuring all changes are intentional.
• Reduce malware risks by alerting users before harmful actions occur.
• Enhances accountability by requiring users approval or credential for sensitive tasks.
❑Real-World Scenarios:
➢ Consent prompt:
• An administrator tries to disable the antivirus .
• UAC shows a yellow consent prompt. The admin clicks yes after reviewing the request.
➢ Credential prompts:
• A student using a shared school computer wants to install a new browser extension.
• UAC displays a red credential prompts, requiring the IT admin’s password.
• The action is blocked without the password.
CON’T
3. Color-Coded or elevation prompts:
• Both prompts are Color-coded to indicate the source and risk level of the action :
❑Green: Trusted system changes (e.g window updates).
❑Yellow: verified third-party apps (e.g software from a recognized vendor).
❑Red: unverified or potentially unsafe program (download from unknown
sources).
Here's how to turn UAC on or off in Windows 10 and later:
❑Real-World Scenarios
• An organization enforces a policy requiring employees to use password like
“passw0rd!2023” instead of weak option like “password123.”
• Password strength tools flags “Summer2023” as weak and recommend
“S@fe#Summer23!” instead.
Password Strength Tools Checkers and Validation Tools
These tools analyze passwords to determine there strength based on predefined
complexity rules.
Key Tools
1. Comparitech Password Strength Test:
• Tests password against common lists and evaluates length and complexity.
• Provide educational feedback to improve weak passwords.
2. Thycotic Password Strength Checker:
• Identifies weak patterns, dictionary words and commonly used passwords.
❑Example:- Enter “Hello@123” and it suggests adding more characters and avoiding dictionary
terms.
3. Lastpass:
• Demonstrates how long it takes to crack a password using modern tools.
4. My1Login:
• Provides a detailed breakdown of potential weakness in passwords.
Why are Password Checkers Important?
• Educate users on strong password practices.
• Identify weak passwords before they are used.
• Encourage better compliances with organizational security policies
Identify Security Gaps
• Identify a security gaps involves finding vulnerabilities in your system that your system
that could allow unauthorized access, data breeches or other malicious activity.
• This process is critical for maintaining robust security and preventing potential exploits.
Key Steps in Identifying Security Gaps
1. Analyze Authentication Method:
• Check if current user authentication methods (e.g passwords, biometrics logins)
are secure and meet organizational policies.
❑Example:- If a system uses weak passwords without multi-factor authentication
(MFA), it’s a security gap.
2. Assess Access Controls:
• Ensure only authorized users can access sensitive resources.
• Review permissions regularly.
❑Example:- An old employee’s account still active on the system is a security gap.
Key Steps in Identifying Security Gaps
3. Check Software Updates:
• Outdated software or operating system often contain unpatched vulnerabilities.
❑Example:- using an outdated version of windows with known exploits creates a security gap.
4. Audit Event Log:
• Regularly check system logs for unusual activity like repeated login failures or unauthorized access
attempts.
❑Example:- A high number of failed login attempts could indicate a brute force attack.
5. Test Firewall and Network Security:
• Evaluate whether firewall and security rules effectively block unauthorizes traffic.
❑Example:- Allowing unrestricted access to all port is a significant gap.
6. Review Security Configurations:
• Verify that all devices and applications follow the organization’s policies.
Authenticating Users
• Authentication is the process of verifying that a user is who they claim to be.
• It ensures only legitimate users gain access to systems or data, making it critical
component of security.
Types of Authentication
1. Password-Based Authentication:
• Users provide a unique username and password to access a system.
❑Example:- Logging in to online banking account with a username or password.
2. Biometric Authentication:
• Verifies identity using unique physical characteristics like fingerprints, facial
recognition or iris scans.
❑Example:- Unlocking smart phone with a fingerprint scanner.
Types of Authentication
3. Multi-Factor Authentication (MFA):
• Combines two or more authentication factors:
➢ Something you know (password).
➢ Something you have (smart card, one-time code).
➢ Something you are (biometric).
❑Example:- Logging in to an email account with a password and a one-time code sent to your phone.
4. Smart Card Authentication:
• Using a physical card embedded with chips containing a user’s credentials.
❑Example:- Employees in secure facilities use smart cards to log into their workstations.
5. Third-Party Authentication:
• Relies on external providers (e.g Google, Microsoft) for authentication.
❑Example:- Logging in to a website using your Google account credentials.
Best Practice for Authentication
1. Enforcing Strong Password Policies:
• Require complex, unique passwords for all accounts.
❑Example:- Mandate at least 12 characters, including uppercase, lowercase, number and special
characters.
2. Implement Multi-Factor Authentication (MFA):
❑Example:- require a code from an authenticator app in addition to a password.
3. Use Biometrics or Smart Card Authentication:
❑Example:- replace password-only logins with fingerprint or smart card access for sensitive systems.
4. Regularly Review Authentication Logs:
❑Example:- Monitor for repeated failed login attempts, which could indicate a brute force attack.
5. Educate Users on Authentication Risks:
❑Example:- train employees not to share passwords or reuse them across platforms.
Real-World Scenarios
1. Identifying Security Gaps:
• A company finds that employees are reusing weak passwords across systems.
• Solution: Implement MFA and conduct regular password audits.
2. Authenticating Users:
• A school introduce biometrics authentication for teachers to access student
records, ensure only authorized personnel can view sensitive data
❑Importance of These Steps
• Security Gaps: Addressing them reduces vulnerability and strengthens system
defenses.
• Authentication: Ensures only verified users access critical recourses, minimizing
the risk of data breaches.
Chapter Two
Detect and remove destructive software
Detect and remove destructive software
This unit focuses on identifying, managing and removing harmful software
(malware) to ensure the security and functionality of computer systems.
What Is Destructive Software?
• Destructive Software, often referred to as malware (malicious software), is any
program or code intentionally designed to cause harm, steal data or disrupt the
normal operations of a computer system, network or application.
Characteristics of Destructive Software
1. Hostile: Designed to infiltrate systems without user consent.
2. Intrusive: Often hidden within legitimate software or files.
3. Varied Impact: Can corrupt files, steal sensitive data, slow down systems or even render them
unusable.
4. Spyware:
• Collect user data (e.g browsing habits, keystrokes) without consent.
• Often used for identify theft or targeted advertising.
❑Example:- A malicious browser plugin records login credentials.
The Common Types of Destructive Software
5. Adware:
• Displays intrusive advertisements and redirects users to malicious websites.
• Slow down systems and compromises user privacy.
❑Example:- Pop-up ads appear every time you open a browser, redirecting you to
spammy sites.
6. Ransomware:
• Encrypts files and demands payment to restore access.
• Targets businesses, hospitals and individual.
❑Example:- A ransomware attack locks a company’s file and demands $10,000 in
bitcoin for decryption.
The Common Types of Destructive Software
7. Keylogger:
• Monitors and records keystrokes to steal sensitive information like
passwords or credit card details.
❑Example:- A keylogger captures login credential for an online banking
account.
8. Rootkit:
• Provides attackers with administrative control over a system, often hiding
its presence.
❑Example:- A rootkit disable antivirus programs and allows attackers to
steal data undetected.
The Common Types of Destructive Software
9. Logic Bomb:
• Malicious code triggered by specific conditions, like a data or user
action.
• Can delete files, crash systems or display messages.
❑Example:- A logic bomb is programmed to delete data on a specific
employee’s termination date.
Virus Origin, History and Evolution
The development of computer viruses parallels the evolution of technology,
starting as experiments and progressing to sophisticated tools for harm.
Early History
1. 1940s – 1960s: Conceptual Beginnings
• Mathematician John von Neumann proposed the idea of Self-replicating
automata, laying the foundation for viruses
2. 1971: The creeper Program
• The first recognized virus, created by Bob Thomas, replied across
networked computers.
• It was harmless, displaying the message: “I’m the creeper, catch me if you
can!”
3. 1974: Rabbit Virus
• The first virus designed with malicious intent, it replicated excessively,
slowing systems to a halt.
The Rise of Malicious Viruses
1. 1975: The First Trojan Horse
• Created by John Walker, the Trojan disguised itself as a game but secretly copied
itself to all directories on the host system.
❑Conclusion:
• Understanding the history and types of destructive software helps
organizations prepare for and defend against threats.
• From early harmless experiments to today’s sophisticated cyber threats,
malware continues to evolve alongside technology.
Types of Viruses
1. File Infecting Virus
• Attaches itself to executable file and activates when the file is opened or run.
• Can delete or corrupt files and program.
❑Example:- A file infecting virus hides in a game installer, when the game is
opened, the virus spreads to other executable files.
4. Polymorphic Virus.
• Changes its code or appearance each time it replicates, making it difficult
to detect.
❑Example:- A polymorphic virus mutates with each infection, bypassing
traditional antivirus programs.
Types of Viruses
5. Resident Virus
• Installs itself in the system’s memory and stays active even after the
infected application is closed.
❑Example:- A resident virus infects a computer’s memory, allowing it
corrupt files opened by the user.
6. Multipartite Virus
• Combines characteristics of multiple viruses, attacking both boot sector
and file.
❑Example:- A multipartite virus infects the boot sector, causing startup
issues and spreads to application files to corrupt them.
Types of Viruses
7. Overwriting Virus
• Overwriting files and data, rendering them unusable, recovery of the
original file is often impossible.
❑Example:- An overwriting virus deletes the contents of text file, leaving
them empty.
5. Network Exploits:
• Worms and viruses exploit vulnerabilities in networks to spread.
❑Example:- A worm spreads across a company’s network, infecting all connected
devices.
Virus Infection Symptoms
Viruses can affect computer systems in various ways, recognizing the symptoms
early is crucial for minimizing damage and removing the virus effectively.
Common Symptoms of Virus Infections
1. Slow Systems Performance:
• The computer becomes sluggish or unresponsive due to excessive recourses usage by the
virus.
❑Example:- Applications take much longer to open or crash frequently.
2. Frequent Crashes or Errors:
• The system crashes unexpectedly or displays error messages.
❑Example:- The infamous “blue screen of death” (BSOD) appears frequently on infected
Windows systems.
3. Unusual Pop-Ups:
• Random ads or alerts appear, often redirecting to suspicious websites.
❑Example:- Pop-ups promoting fake antivirus software.
Common Symptoms of Virus Infections
4. Unauthorized Changes:
• Files are deleted, rename or appear without user action.
❑Example:- Important document disappear or unknown shortcut are created on
the desktop.
5. High Network Activity:
• Unusually high internet or network usage occurs, often caused by a worm or
spyware.
❑Example:- Your data usage spikes despite minimal online activity.
6. Disable Security Features:
• Antivirus programs or firewall are turned off without user consent.
❑Example:- The antivirus program cannot be reopened or updated.
Common Symptoms of Virus Infections
7. Strange Emails or Messages Sent Automatically:
• Your email account sends spam or phishing messages without your knowledge.
❑example:- Friend or coworkers report receiving suspicious emails from your
address.
2. In the left pane, expand Task Scheduler Library --> Microsoft --> Windows, and
then scroll down and select the Windows Defender folder.
❑Example Scenario
• Problem: A user receives daily phishing emails pretending to be form their bank.
• Solution: The user reports the email as spam, enables 2FA on their bank account and
avoids clicking on suspicious links.
Configuring and Using Spam Filters
• Spam filters are essential tools for managing and reducing unwanted messages
in email system.
• They automatically identify and block spam, ensuring your inbox remains clean
and secure.
What is a Spam Filter?
• A spam filter is a program or feature that examines incoming messages, identifies
spam and prevent it from reaching your inbox.
• Purpose: To protect users from spam, phishing attempts and malicious messages.
❑How it Works:
• Filter scan message content, sender information, attachments and links.
• Messages are categorized as span or legitimate based on predefined rule or
machine learning algorithms.
Key Feature of Spam Filters
1. Keyword Scanning: Flags messages containing suspicious words (e.g “free
money ” or “lottery”).
2. Blacklist Checking: Blocks messages from known spammers or flagged IP
addresses.
3. Attachment Scanning: Detect harmful files, such as viruses or malware.
• This unit focuses on how to effectively receive, interpret and follow instructions
in a workplace setting as well as understanding written sources of information
commonly used in the workplace.
Receiving and Following Instructions
❑ Key Point:
1. Importance of Following Instructions:
• Ensure tasks are completed accurately and efficiently.
• Maintains workplace safety and professionalism.
2. Steps to Receive Instructions:
• Listen Carefully: Pay attention to verbal or written instructions without distractions.
• Clarify Doubts: Ask questions if instructions are unclear.
• Take Notes: Write down Key points to avoid forgetting details.
• Acknowledge Instructions: Confirm that you understand by summarizing them.
3. Following Instructions:
• Break the task into smaller steps if it’s complex.
• Prioritize tasks based on urgency or deadlines.
• Refer back to written instructions or guideline as needed.
Examples of Following Instructions:
❑Scenario: Your manager emails you instructions to update a client database.
• You carefully read the email, take notes on key steps and clarify unclear points.
• Then, you update the database following the exact steps provided.