Dbms Mod4
Dbms Mod4
Dbms Mod4
MODULE 4
● Authentication
Authentication Authorization
● Role-Based Access
● Password-Based
Controls (RBAC)
Authentication
● JSON web token (JWT)
● Passwordless
Authorization
Authentication
● SAML Authorization
● 2FA/MFA (Two-Factor ● OpenID Authorization
Multi-Factor
Authentication)
● Social authentication
It’s also important to point out that the cost of a breach without a Zero Trust approach in
2021 was $5.04 million but dropped down to $3.28 million when Zero Trust was
implemented. Role-based access control is essential when securing remote access and
preventing external attacks that can lead to major breaches.
Advantages of RBAC
Helps to easily integrate third-parties such as contractors and partners into your
Disadvantages of RBAC
Access to specific actions in your system may be restricted but not to all data
Under MAC system controls, users cannot accidentally override a security policy as a
system administrator sets all permissions. MAC systems are typically found in
governments due to the high-level of security.
Advantages of MAC
MAC provides tighter security as only an admin can alter controls, making it
Subjects and objects have clearances and labels which are defined by secret or
Disadvantages of MAC
Complex to implement
The classification labeling can overwhelm users and limit productivity
Discretionary access control is a security system that allows users to access resources
based on their permissions. DAC is among the most common types of access control
and relies on a hierarchical structure in which administrators are granted greater
privileges than regular users.
Originally defined by the Trusted Computer System Evaluation Criteria (TCSEC) “as a
means of restricting access to objects based on the identity of subjects and/or groups to
which they belong.” DAC is based on access control lists (ACLs) to specific company
resources. Discretionary access control is often discussed and paired with mandatory
access control as both focus on securing the system from a higher level.
Advantages of DAC
Flexible
Disadvantages of DAC
So, which access control model is the best? The answer is it depends on your
organization’s needs. If you are looking for a reliable and secure option, RBAC is a
good choice. If you are looking for a system that is easy to configure and manage, DAC
is a good option. If you are looking for a system that is extremely secure, then MAC is
ideal.
Discretionary access control (DAC) offers the most flexibility as it allows anyone to
assign controls and permissions to users without the approval of the IT department.
Security policies should be enforced before granting any type of authorization to
anyone. Make sure everyone is up to date on policies.
● Intrusion detection
A system called an intrusion detection system (IDS) observes network traffic for
malicious transactions and sends immediate alerts when it is observed. It is
software that checks a network or system for malicious activities or policy
violations. Each illegal activity or violation is often recorded either centrally
using a SIEM system or notified to an administration. IDS monitors a network or
system for malicious activity and protects a computer network from
unauthorized access from users, including perhaps insiders. The intrusion
detector learning task is to build a predictive model (i.e. a classifier) capable of
distinguishing between ‘bad connections’ (intrusion/attacks) and ‘good (normal)
connections’.
● The IDS compares the network activity to a set of predefined rules and
intrusion.
● The system administrator can then investigate the alert and take action
HIDS monitors the incoming and outgoing packets from the device only
with the previous snapshot. If the analytical system files were edited or
then this system would need to reside in this interface, between to use
the HTTPS.
Benefits of IDS
● Detects malicious activity: IDS can detect any suspicious activities and
performance.
security.
is used by the malware. The detected patterns in the IDS are known as
IDS and firewall both are related to network security but an IDS differs from a
firewall as a firewall looks outwardly for intrusions in order to stop them from
happening. Firewalls restrict access between networks to prevent intrusion and
if an attack is from inside the network it doesn’t signal. An IDS describes a
suspected intrusion once it has happened and then signals an alarm.
Conclusion:
Intrusion Detection System (IDS) is a powerful tool that can help businesses in
detecting and prevent unauthorized access to their network. By analyzing
network traffic patterns, IDS can identify any suspicious activities and alert the
system administrator. IDS can be a valuable addition to any organization’s
security infrastructure, providing insights and improving network performance.
● SQL injection
SQL Injection
The SQL Injection is a code penetration technique that might cause loss to our
database. It is one of the most practiced web hacking techniques to place malicious
code in SQL statements, via webpage input. SQL injection can be used to manipulate
the application's web server by malicious users.
SQL injection generally occurs when we ask a user to input their username/userID.
Instead of a name or ID, the user gives us an SQL statement that we will unknowingly
run on our database. For Example - we create a SELECT statement by adding a variable
"demoUserID" to select a string. The variable will be fetched from user input
(getRequestString).
1. demoUserI = getrequestString("UserId");
2. demoSQL = "SELECT * FROM users WHERE UserId =" +demoUserId;
SQL injections can do more harm other than passing the login algorithms. Some of the
SQL injection attacks include:
○ Updating, deleting, and inserting the data: An attack can modify the cookies to
poison a web application's database query.
○ It is executing commands on the server that can download and install malicious
programs such as Trojans.
○ We are exporting valuable data such as credit card details, email, and passwords
to the attacker's remote server.
○ Getting user login details: It is the simplest form of SQL injection. Web
application typically accepts user input through a form, and the front end passes
the user input to the back end database for processing.
We have an application based on employee records. Any employee can view only their
own records by entering a unique and private employee ID. We have a field like an
Employee ID. And the employee enters the following in the input field:
236893238 or 1=1
The SQL code above is valid and will return EMPLOYEE_ID row from the EMPLOYEE
table. The 1=1 will return all records for which this holds true. All the employee data is
compromised; now, the malicious user can also similarly delete the employee records.
Example:
Now the malicious user can use the '=' operator sensibly to retrieve private and secure
user information. So instead of the query mentioned above, the following query, when
exhausted, retrieve protected data, not intended to be shown to users.
1. SELECT * from EMPLOYEE where (Employee_name =" " or 1=1) AND (Password="
" or 1=1)
Several databases support batched SQL statements. It is a group of two or more SQL
statements separated by semicolons.
The SQL statement given below will return all rows from the Employee table, then delete
the Employee_Add table.
Creating a SQL Injection attack is not difficult, but even the best and good-intentioned
developers make mistakes. The detection of SQL Injection is, therefore, an essential
component of creating the risk of an SQL injection attack. Web Application Firewall can
detect and block basic SQL injection attacks, but we should depend on it as the sole
preventive measure.
Intrusion Detection System (IDS) is both network-based and host-based. It can be tuned
to detect SQL injection attacks. Network-based IDSec can monitor all connections to
our database server, and flags suspicious activities. The host-based IDS can monitor
web server logs and alert when something strange happens.
● We should use user authentication to validate input from the user by pre-defining
length, input type, and the input field.
● Restricting the access privileges of users and defining the amount of data any
outsider can access from the database. Generally, the user cannot be granted
permission to access everything in the database.
Data
RDBMS stores Stores data as well as
Handlin
only data. methods to use it.
g
Data
Main
Independence
Objectiv Data Encapsulation.
from application
e
program.
An object identifier
A Primary key
(OID) is an
distinctively
Key unambiguous, long-term
identifies an
name for any type of
object in a table..
object or entity.
Data
SQL (Structured Object Query Language
Retrieva
Query Language) (OQL)
l
RDBMS has
OODBMS has Highly
Scalabil Limited
scalable due to flexible
ity scalability due to
schema
rigid schema
Concurr RDBMS has
OODBMS has Optimistic
ency Fine-grained
concurrency control
Control locking
In RDBMS
Data Relational data is In OODBMS faster for
Relatio stored in tables complex object-oriented
nships and linked via queries
foreign keys
RDBMS is
Efficient for OODBMS is Faster for
Perform
complex queries complex object-oriented
ance
involving multiple queries
tables
RDBMS has
OODBMS has highly
Flexibili Limited flexibility
flexible due to
ty due to fixed
object-oriented nature
schema
Data In RDBMS Data In OODBMS Data is
Persiste is stored in tables stored in objects in
nce on disk memory or on disk
● Logical database
A Logical Database is a special type of ABAP (Advance Business Application
and Programming) that is used to retrieve data from various tables and the data
is interrelated to each other. Also, a logical database provides a read-only view
of Data.
is maintained.
● With the help of the Logical database, we will read the same data
programs.
sensitive database.
statements, which will improve response time and this will increase
● SELECT
● READ
● PROCESS
● DISPLAY
In order to work with databases efficiently. The data of the Logical Database is
hierarchical in nature. The tables are linked to each other in a Foreign Key
relationship.
Points To Remember:
● Structure of Database
● Database Program
Logical Database.
Example:
Suppose in a University or College, a HOD wants to get information about a
specific student. So for that, he firstly retrieves the data about its batch and
Branch from a large amount of Data, and he will easily get information about
the required Student but didn’t alter the information about it.
amount of data.
● In this Coding, the part is less required to retrieve data from the
● Logical Database takes more time when the required data is at the last
because if that table which is required at the lowest level then firstly all
upper-level tables should be read which takes more time and this slows
● In Logical Database ENDGET command doesn’t exist due to this the code
block associated with an event ends with the next event statement.
Requirements :
● Web database
The Web-based database management system is one of the essential parts of
DBMS and is used to store web application data. A web-based Database
management system is used to handle those databases that are having data
regarding E-commerce, E-business, blogs, e-mail, and other online applications.
While many DBMS sellers are working for providing a proprietary database for
connectivity solutions with the Web, the majority of the organizations necessitate a more
general way out to prevent them from being tied into a single technology. Here are the
lists of some of the most significant necessities for the database integration applications
within the Web. These requirements are standards and not fully attainable at present.
There is no ranking of orders, and so the requirements are as follows:
● The ability and right to use valuable corporate data in a fully secured manner.
● Provides data and vendor's autonomous connectivity that allows freedom of
choice in selecting the DBMS for present and future use.
● The capability to interface to the database, independent of any proprietary Web
browser and/or Web server.
● A connectivity solution that takes benefit of all the features of an organization's
DBMS.
● An open-architectural structure that allows interoperability with a variety of
systems and technologies; such as:
○ Different types of Web servers
○ Microsoft's Distributed Common Object Model (DCOM) / Common Object
Model (COM)
○ CORBA / IIOP
○ Java / RMI which is Remote Method Invocation
○ XML (Extensible Markup Language)
○ Various Web services (SOAP, UDDI, etc.)
● A cost-reducing way which allows for scalability, development, and changes in
strategic directions and helps lessen the costs of developing and maintaining
those applications
● Provides support for transactions that span multiple HTTP requests.
● Gives minimal administration overhead.
● Provides simplicity
● Web-DBMS is Platform independence
● Provides Graphical User Interface (GUI)
● Standardization
● Provides Cross-platform support
● Facilitates transparent network access
● Scalability
● Innovation
● Distributed database
Types:
1. Homogeneous Database: A homogeneous database stores data uniformly across all
locations. All sites utilize the same operating system, database management system,
and data structures. They are therefore simple to handle.
Pause
Next
Unmute
Current TimeÂ
0:00
DurationÂ
18:10
Loaded: 1.10%
Fullscreen
Data may be stored on several places in two ways using distributed data storage:
○ Separating the relation into groups of tuples using rows results in horizontal
fragmentation, where each tuple is allocated to at least one fragment.
Distributed databases are logically connected to one another when they are part of a
collection, and they frequently form a single logical database. Data is physically stored
across several sites and is separately handled in distributed databases. Each site's
processors are connected to one another through a network, but they are not set up for
multiprocessing.
○ Place unrelated
○ Independent of hardware
○ Transparency of transactions
○ DBMS unrelated<
The hardware, operating systems, or database software at each site may vary in a
heterogeneous distributed database. Although separate sites may employ various
technologies and schemas, a variation in schema might make query and transaction
processing challenging.
Various nodes could have dissimilar hardware, software, and data structures, or they
might be situated in incompatible places. Users may be able to access data stored at a
different place but not upload or modify it. Because heterogeneous distributed
databases are sometimes challenging to use, many organizations find them to be
economically unviable.
○ If the data is near to where it is most often utilized, administrators can reduce
transmission costs for distributed database systems. Centralized systems are
unable to accommodate this<
○ Only the initial instance of replicated data can be changed in read-only versions;
all subsequent corporate data replications are then updated. Data that is writable
can be modified, but only the initial occurrence is affected.
○ Primary keys that point to a single database record are used to identify
horizontally fragmented data. Horizontal fragmentation is typically used when
business locations only want access to the database for their own branch.
○ Using primary keys that are duplicates of each other and accessible to each
branch of the database is how vertically fragmented data is organized. When a
company's branch and central location deal with the same accounts differently,
vertically fragmented data is used.
○ Data that has been edited or modified for decision support databases is referred
to as reorganised data. When two distinct systems are managing transactions
and decision support, reorganised data is generally utilised. When there are
numerous requests, online transaction processing must be reconfigured, and
decision support systems might be challenging to manage.
● Large data sets may be stored and processed with Apache Ignite across node
clusters. GridGain Systems released Ignite as open source in 2014, and it was
later approved into the Apache Incubator program. RAM serves as the database's
primary processing and storage layer in Apache Ignite.
● Apache Cassandra has its own query language, Cassandra Query Language, and
it supports clusters that span several locations (CQL). Replication tactics in
Cassandra may also be customized.
● Data warehousing
● Data mining
Data Warehouse:
A Data Warehouse refers to a place where data can be stored for useful mining. It is like
a quick computer system with exceptionally huge data storage capacity. Data from the
various organization's systems are copied to the Warehouse, where it can be fetched
and conformed to delete errors. Here, advanced requests can be made against the
warehouse storage of data.
Data warehouse combines data from numerous sources which ensure the data quality,
accuracy, and consistency. Data warehouse boosts system execution by separating
analytics processing from transnational databases. Data flows into a data warehouse
from different databases. A data warehouse works by sorting out data into a pattern
that depicts the format and types of data. Query tools examine the data tables using
patterns.
Data warehouses and databases both are relative data systems, but both are made to
serve different purposes. A data warehouse is built to store a huge amount of historical
data and empowers fast requests over all the data, typically using Online Analytical
Processing (OLAP). A database is made to store current transactions and allow quick
access to specific transactions for ongoing business processes, commonly known as
Online Transaction Processing (OLTP).
1. Subject Oriented
2. Time-Variant:
The different data present in the data warehouse provides information for a specific
period.
3. Integrated
A data warehouse is built by joining data from heterogeneous sources, such as social
databases, level documents, etc.
4. Non- Volatile
Data Mining:
Data mining refers to the analysis of data. It is the computer-supported process of
analyzing huge sets of data that have either been compiled by computer systems or
have been downloaded into the computer. In the data mining process, the computer
analyzes the data and extract useful information from it. It looks for hidden patterns
within the data set and try to predict future behavior. Data mining is primarily used to
discover and indicate relationships among the data sets.
Data mining aims to enable business organizations to view business behaviors, trends
relationships that allow the business to make data-driven decisions. It is also known as
knowledge Discover in Database (KDD). Data mining tools utilize AI, statistics,
databases, and machine learning systems to discover the relationship between the
data. Data mining tools can support business-related questions that traditionally
time-consuming to resolve any issue.
i. Market Analysis:
Data Mining can predict the market that helps the business to make the decision. For
example, it predicts who is keen to purchase what type of products.
Data Mining methods can help to find which cellular phone calls, insurance claims,
credit, or debit card purchases are going to be fraudulent.
Data Mining techniques are widely used to help Model Financial Market
Analyzing the current existing trend in the marketplace is a strategic benefit because it
helps in cost reduction and manufacturing process as per market demand.
Differences between Data Mining and Data
Warehousing:
engineers.
data applications.
are not 100 percent possibility that the data required for
data.