Instructor: In this lesson,
we will learn about access control mitigations.
Access control mitigations implement measures
that restrict access to system resources
and functionalities.
Access control mitigation concepts include least privilege,
least function or functionality, and allow listing.
The principle of least privilege
ensures that users or processes
are granted only the minimum levels of access
or permissions necessary to perform their tasks.
Next, lease function or functionality
limits the available system functions or features
to only those necessary for operations.
Finally, allow listing restricts access
to a predefined allowed list of approved applications
or IP addresses.
Let's learn more about least privilege,
least function or functionality, and allow listing.
First, we have least privilege.
The principle of least privilege
is a foundational access control strategy
that limits a user's or processes permissions
to only what is necessary for their role or task only.
By granting only the essential permissions,
least privilege helps reduce the risk
of unauthorized access or misuse
as users and processes are prevented
from accessing unnecessary data or functions.
In practice, this means that each user or program
operates within a restricted scope,
and if compromised cannot exceed its limited permissions.
This principle is particularly useful
for minimizing the impact of security breaches
and ensuring a contained access environment.
In action, let's consider a company's accounting software
where the payroll department
can view and update employee salaries,
but customer service staff
do not have access to this information.
By applying the principle of leased privilege,
only payroll staff can access sensitive payroll data,
while other employees are restricted
to the information required for their jobs,
which in this case does not include payroll data.
In this configuration, if an unauthorized person
were to access a customer service account,
they wouldn't be able to reach
sensitive payroll information,
limiting potential data breaches
and exposure of sensitive information.
So implementing the principle of least privilege
requires consistent access reviews, clear role definitions,
and permission adjustments when roles change.
Next, access permissions should be evaluated regularly
to ensure they align with job responsibilities,
and any unused permissions should be removed immediately,
including the offboarding process.
Finally, automated tools
such as access review automation tools,
identity and access management platforms,
and privileged access management solutions
can assist by flagging high privilege accounts
or permissions that exceed role requirements.
This approach combined with regular audits
helps enforce leased privilege
ensuring that users and processes
have only the permissions they genuinely need.
Second, we have least function or functionality.
Least function or functionality is an access control concept
that restricts system features and functions
to only those required for essential operations.
This principle minimizes the availability
of unused or unnecessary features,
which if left accessible
could become security vulnerabilities.
By limiting functionality,
systems reduce their attack surface,
decreasing the likelihood of exploitation of features
that may contain unpatched vulnerabilities
or offer unintended access to sensitive data.
Unlike the principle of least privilege,
which limits user permissions, least functionality
focuses on restricting available system features
to essential components,
reducing potential entry points for attackers.
To put this into practice, let's consider a web application
with both a user interface and an admin panel.
While the admin panel has features
like user management and configuration settings,
regular users have no need for these capabilities.
Applying the principle of least functionality,
access to the admin panel
would be restricted solely to administrative accounts,
while standard users would be limited
to only features relevant to their roles
like the standard user interface.
This separation of functionality permissions
reduces the chance of unauthorized users
accidentally or intentionally
accessing configurations or controls.
So to apply least functionality,
organizations should evaluate each system's features,
identify what is essential,
and disable or remove anything extraneous,
such as unused application programming interfaces,
unnecessary administrative tools, debugging, interfaces,
default configurations, and inactive network services.
This minimizes the number of potential vulnerabilities
by exposing only the essential parts
of an application or system to those that need it,
reducing the overall risk profile
and ensuring that only necessary functions are accessible.
Third and last, we have allow listing.
Allow listing, which you may still hear called whitelisting,
is an access control approach that limits access
to a specific list of approved applications,
IP addresses, or entities, effectively blocking anything
that is not explicitly permitted.
This method ensures that only trusted known resources
can interact with an IT system, making it more secure
by preventing unauthorized software,
devices, or network connections from accessing it.
By enforcing a strict allow only policy,
allow listing reduces the chances of malware infections,
untrusted device access, and unauthorized data transfer,
especially in high security systems.
However, it requires diligent management
as lists must be updated each time applications are modified
or new approved applications are introduced.
Allow listing can be contrasted with blocklisting,
which is another access control method
that prevents known bad or flagged items
from accessing a system.
While effective for known bad resources,
blocklisting, which is still sometimes called blacklisting,
is only as effective as the known bad resources are.
So in the end,
blocklisting is a less effective access control method.
Now, back to allow listing.
Let's consider a practical application of allow listing
that can be seen in secure corporate networks
where only trusted IP addresses
from specific regions or virtual private networks
are permitted to access sensitive internal resources.
In this configuration, if an attacker
tries to access the network from an unauthorized IP address,
allow listing will automatically block the attempt
since the unauthorized IP address is not explicitly allowed.
This type of allow list policy
ensures that only pre-approved devices
and locations can connect,
adding a layer of security to the corporate environment.
Some companies also allow list applications
by their hash values to ensure that only specific
trusted versions of software are permitted to be used,
though this approach requires updates
whenever an application version changes.
So to effectively implement allow listing,
organizations should maintain an updated list
of trusted applications, IP addresses, and devices,
periodically reviewing and adjusting the list as necessary.
Allow listing should be applied at critical network points
such as firewalls and application servers
to restrict incoming traffic to known entities.
Managing allow lists across large networks
can be streamlined using tools
like Microsoft Active Directory Group policies,
AppLocker, and Defender Application Control.
Through consistent review and updates,
allow listing serves as a powerful way
to control access strictly to trusted resources.
So, remember, access control mitigations
help secure system resources by restricting access
to authorized users and functions only.
Key concepts include least privilege,
least function or functionality, and allow listing.
The principle of lease privilege
limits user or process permissions
to the minimum necessary for their tasks,
reducing the risk of unauthorized data access or misuse.
Next, least function or functionality
restricts system features to only essential ones
minimizing vulnerabilities by preventing access
to unnecessary components and resources.
Finally, allow listing permits access
to pre-approved applications or IP addresses
blocking anything that is not explicitly approved.
Unlike blocklisting, which only prevents known risks,
allow listing takes a more secure approach
by blocking all non-approved entities by default.
Together these strategies enhance system security
by narrowing access to trusted users,
functions, and resources.