What Is Database Security?
It is a collection of information stored in a computer.
It is being free from danger.
It is the mechanisms that protect the database
against intentional or accidental threats.
Three Main Aspects
What data base
Secrecy Integrity Availability
It is protecting the database from unauthorized users.
Ensures that users are allowed to do the things they are
trying to do.
The employees should not
see the salaries of their managers.
Only authorized users should be allowed to modify
Ensures that what users are trying to do is correct.
An employee should be able to modify his or her
Authorized users should be able to access data at any
time they need for Legal purposes as necessary
Payment orders regarding taxes should be made on
time by the tax law.
Threat is any intentional or accidental event that may adversely
affect the system.
Examples of threats:
- Using another person’s log-in name to access data.
- Unauthorized copying data.
- Program/Data alteration.
- Illegal entry by hacker
Kinds of Threat
1. Non-fraudulent Threat
Natural or accidental disasters.
Errors or bugs in hardware or software.
2. fraudulent Threat
Exploitation of Vulnerable .
Input Injection (Formerly SQL Injection) .
Input Injection (Formerly SQL Injection)
SQL injection is a technique where malicious users can inject SQL commands into
an SQL statement, via web page input.
Injected SQL commands can alter SQL statement and compromise the security of a
There are two major types of database injection attacks :
1) SQL Injection that targets traditional database systems .
2) NoSQL (stands for not only SQL( Injection that targets Big Data platforms.
SQL Injection attacks usually involve inserting (or “injecting”) unauthorized or
malicious statements into the input fields of web applications. On the other hand,
NoSQL injection attacks involve inserting malicious statements into Big Data
In both types, a successful Input Injection attack can give an attacker unrestricted
access to an entire database.
Big websites usually use a variety of databases,
because different databases serve different purposes.
How the Injection (Statements ) work?
the web application is literally asking the database server:
((do we have a user with the username 'Ahmed' and the password
'AAAA' registered in the system? ))
the Sql Syntax is broken and an error occurs.
This plays a key role in Sql injection
if an attacker is able to "smuggle " special character (which is
not filtered by web application)
It is possible to modify the Sql queries, their logic and hence
the application's behavior.
checking the web design if it pass special character to
What happen if we pass this command throw
the web application
What in fact happen inside the Database
The statement which always true 1=1
The attacker is successfully authenticated as the first
user from the top of the list (the first row) for ex:
The granting of a privilege that enable a user to have legitimate access
to a system.
A system administrator is responsible for allowing users to have access
to the system by creating individual user accounts.
Backup & Recovery
Is the process of periodically taking a copy of the database and log file
onto offline storage media.
hiding parts of the database from certain users that provides a
powerful and flexible security mechanism.
Redundant Array of Independent Disks (RAID)
The hardware that the DBMS is running on must be fault-tolerant,
meaning that the DBMS should continue to operate even if one of the
hardware components fails.