Thanks to visit codestin.com
Credit goes to www.scribd.com

0% found this document useful (0 votes)
28 views24 pages

Database Security Essentials

Uploaded by

my5911319
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
28 views24 pages

Database Security Essentials

Uploaded by

my5911319
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 24

Database Security

• Any circumstances or event with the potential


to adversely impact an information through
unauthorized access ,destruction, discloser,
modification of data and/or denial of services.
• Ensure Confidentiality, integrity and
availability
Three main aspect
• Secrecy/Confidentiality
• Integrity
• availability
Secrecy/confidentiality
• Protecting database form unauthorized access
• Ensure user are allowed to do the things they
are trying to do
• Encryption tis technique used to encode data
in such away that only that authorized user
are able to read the data.
Integrity
• Protecting database from unauthorized users.
• Ensure that what user are trying to do is
correct and does lead to inconsistency of
data.
• For example: an employee should be able to
modify his/her own information.
Availability
• Database must have not unplanned downtime
• To ensure this, following step should be taken
• Restrict the amount of storage space given to
each user in the database.
• Limit the number of concurrent sessions made
available to each database user.
• Backup the data at periodic intervals to ensure
data recovery in case of application user.
Types of threats
1. Fraudulent threats
2. Non-fraudulent threats
Fraudulent Threats:
• Fraudulent threats refer to malicious actions aimed
at unauthorized access, manipulation, or theft of
data for personal gain.
• SQL Injection Attacks:
– What it is: Attackers sneak harmful commands into a
website’s input fields, tricking the database into giving
them access to private information or letting them
change data.
– Example: A hacker enters a specially crafted input in a
login form that gives them access to other users’ data.
• Insider Threats:
• What it is: People within an organization, like employees or
contractors, misuse their access to steal or tamper with data.
• Example: An employee with access to customer data exports it
for personal use or sells it.
• Data Theft:
• What it is: Unauthorized copying or stealing of sensitive data, like
personal identification information (PII) or credit card details.
• Example: Hackers steal a database of customer names,
addresses, and credit card numbers to commit identity theft.
• Account Takeover:
• What it is: Attackers gain control of someone’s account, often
by using stolen passwords or through phishing, and carry out
unauthorized activities.
• Example: A hacker steals a user’s login credentials and uses
their account to make fraudulent purchases.
• Privilege Escalation:
• What it is: Attackers find weaknesses in the system to get higher
access levels than they should have, allowing them to view or
alter sensitive data.
• Example: A user with limited access rights tricks the system to
gain admin-level control.
• Ransomware Attacks:
• What it is: Malicious software encrypts important files,
making them inaccessible until a ransom is paid.
• Example: Attackers lock down a company’s customer
database and demand payment to unlock it.
• Data Manipulation:
• What it is: Deliberate changes to data to achieve
fraudulent goals, like altering financial records or customer
information.
• Example: A hacker changes transaction records to cover up
fraudulent activities or mislead an audit.
Non-Fraudulent Threats

• Non-fraudulent threats often arise from unintentional actions, technical failures, or


environmental factors. They can lead to data loss, corruption, or exposure. Key types include:
• Human Error
– Accidental deletion, incorrect data entry, or misconfiguration by users can lead to data loss or
corruption.
• Malware
– Malware infections can compromise databases, leading to unauthorized access or data corruption, even
if there is no direct intent to steal data.
• System Failures
– Hardware or software failures can lead to data loss or corruption, especially if proper backup and
recovery procedures are not in place.
• Natural Disasters
– Events like floods, earthquakes, or fires can damage physical servers, leading to data loss or
unavailability.
• Network Vulnerabilities
– Unsecured networks can expose databases to attacks, even if no specific fraudulent intent exists. This
includes risks from poorly secured APIs or unencrypted connections.
• Compliance Violations
– Failing to comply with regulations (like GDPR or HIPAA) due to negligence can result in legal penalties
and data breaches, even if there is no malicious intent.
Security Controls
• Authorization
• Encryption
• Authentication
• logical
1. Authentication
• Definition: Authentication is the process of verifying the identity of a
user or system before granting access to a database.
• Key Components:
• Methods of Authentication:
– Passwords: The most common form, where users provide a secret word or
phrase.
– Multi-Factor Authentication (MFA): Requires multiple forms of verification
(e.g., something you know, something you have, and something you are),
enhancing security.
– Biometric Authentication: Uses unique biological traits (e.g., fingerprints,
facial recognition) for identity verification.
– Single Sign-On (SSO): Allows users to access multiple applications with one
set of credentials, improving usability while maintaining security.
– SSO can integrate with database management systems (DBMS), allowing
users to seamlessly access different databases (e.g., production, test, or
analytics databases) or other related services without needing to re-enter
login information for each.
1. Authentication
• Importance:
• Prevents unauthorized access to databases,
protecting sensitive information.
• Helps maintain accountability by ensuring that
actions within the database can be traced
back to specific users.
2. Authorization
• Definition: Authorization determines what an
authenticated user is allowed to do within the
database, specifying access rights and permissions.
• Key Components:
• Role-Based Access Control (RBAC): Users are
assigned roles that dictate their permissions. For
example, a database administrator (DBA) might
have full access, while a data analyst has limited
access to specific datasets.
2. Authorization
• Attribute-Based Access Control (ABAC): Access decisions are based
on attributes (user attributes, resource attributes, environmental
conditions). More robust than RBAC .This allows for more granular
control.
1. User Attributes: Characteristics of the user accessing the database,
such as username/ID, department (e.g., HR, IT), role (e.g., manager),
clearance level (e.g., top-secret), or location (e.g., office IP).
2. Resource Attributes: Properties of the data being accessed, like
sensitivity level (e.g., confidential), specific table/row data (e.g., by
department), or file type (e.g., reports).
3. Environmental Conditions: Contextual factors like time of access
(e.g., business hours), location of access (e.g., remote or on-site), or
device type (e.g., personal or company-issued).
2. Authorization
• Access Control Lists (ACLs): Define which users or system processes have
permissions to access specific resources, like tables or views.ACLs does
the following.
1. User-Specific Permissions: ACLs define which users or system processes
can perform actions (e.g., read, write) on specific database objects like
tables or rows. For example, an ACL might allow a data analyst to read
data from a customer table but not to modify it.
2. Resource-Specific Access: ACLs are applied at the resource level (e.g.,
table or view), allowing administrators to control access to sensitive
data for specific users.
3. Action-Specific Control: ACLs offer fine-grained control, granting users
certain permissions (e.g., read) while restricting others (e.g., modify or
delete). For instance, a user might be granted read access to a certain
table but denied the ability to insert, update, or delete records.
Importance:

• Enforces the principle of least privilege,


limiting access to only those who need it to
perform their job functions.
• Reduces the risk of accidental or malicious
data manipulation or exposure by controlling
user capabilities.
Encryption
• Encryption is a key method to secure sensitive data in databases,
making it unreadable to unauthorized users. Two main types of
encryption are used:
• Data-at-Rest Encryption: Protects data stored in the database by
encrypting it while it’s stored on disk. This ensures that if the
storage media is stolen, the data remains protected.
• Data-in-Transit Encryption: Encrypts data when it is being
transmitted between systems or users (e.g., using SSL/TLS). This
ensures that data intercepted during transmission remains secure.
• Encryption can be applied to entire databases, specific columns
(e.g., credit card numbers), or backups. Asymmetric encryption
(e.g., RSA) and symmetric encryption (e.g., AES) are commonly
used algorithms.
Logical Security
• Logical security involves using software and rules to protect a database from
cyber threats by controlling who can access it and how. Here’s a simple
breakdown:
1. Firewalls and Network Segmentation: These are like barriers that block
unauthorized users from getting into the database by controlling network access.
2. Virtual Private Networks (VPNs): Secure connections that let people access the
database remotely while keeping the data safe from hackers.
3. Intrusion Detection and Prevention Systems (IDPS): Tools that watch for
suspicious activities in the network and stop attacks before they reach the
database.
4. Data Masking and Redaction: Techniques that hide sensitive data (like credit
card numbers) from people who don’t have permission to see it. For example, a
real credit card number like "1234 5678 9012 3456" might be replaced with
"9876 5432 1098 7654.“(Data Masking).
• where in Redaction For example, a credit card number "1234 5678 9012 3456"
might be displayed as "XXXX XXXX XXXX 3456" to authorized users. Only the last
four digits are visible.
Privileges in database
• privileges in a database refer to the rights or
permissions granted to users or roles, defining
what actions they can perform within the
database system.
• Privileges help ensure that users can only
access or modify the data they are authorized
to, minimizing the risk of unauthorized access,
data breaches, and misuse.
Key Types of Database Privileges:

• System Privileges
– These refer to permissions that allow users to perform administrative
tasks within the database system. These tasks include managing the
database itself, such as creating or deleting objects (e.g., tables,
views, or indexes) or altering the structure of the database.
– Examples of system privileges:
• CREATE: Allows the user to create objects like tables, views, or databases.
• ALTER: Permits the user to modify existing database objects.
• DROP: Enables the user to delete database objects.
• BACKUP: Allows the user to back up the database.
• DBA Privileges: Full administrative rights that allow users to perform all
possible actions on the database.
Object Privileges
– These permissions apply to specific objects within the
database, like tables, views, sequences, and stored
procedures. Object privileges determine how users can
interact with particular objects.
– Examples of object privileges:
• SELECT: Grants the ability to read data from a table or view.
• INSERT: Allows the user to insert new records into a table.
• UPDATE: Permits the user to modify existing data within a
table.
• DELETE: Grants the ability to remove data from a table.
• EXECUTE: Allows the user to run stored procedures or
functions.

You might also like