CISSP考试指南笔记:8.12 数据库管理

admin 2023年6月16日02:38:52评论13 views字数 8788阅读29分17秒阅读模式

Database Management Software

A database is a collection of data stored in a meaningful way that enables multiple users and applications to access, view, and modify that data as needed.

A database management system (DBMS) is a suite of programs used to manage large sets of structured data with ad hoc query capabilities for many types of users. A DBMS can also control the security parameters of the database.

Any type of database should have the following characteristics:

  • It ensures consistency among the data held on several different servers throughout the network.
  • It allows for easier backup procedures.
  • It provides transaction persistence.
  • It provides recovery and fault tolerance.
  • It allows the sharing of data with multiple users.
  • It provides security controls that implement integrity checking, access control, and the necessary level of confidentiality.

Transaction persistence means the database procedures carrying out transactions are durable and reliable.

Database Models

The database model defines the relationships between different data elements; dictates how data can be accessed; and defines acceptable operations, the type of integrity offered, and how the data is organized.

A relational database model uses attributes (columns) and tuples (rows) to contain and organize information. A primary key is a field that links all the data within a record to a unique value.

A hierarchical data model combines records and fields that are related in a logical tree structure.

The hierarchical model is almost always employed when building indexes for relational databases.

The most commonly used implementation of the hierarchical model is in the Lightweight Directory Access Protocol (LDAP) model.

The network database model allows each data element to have multiple parent and child records.

An object-oriented database is designed to handle a variety of data types (images, audio, documents, video). An object-oriented database management system (ODBMS) is more dynamic in nature than a relational database, because objects can be created when needed and the data and procedure (called method) go with the object when it is requested.

An object-relational database (ORD) or object-relational database management system (ORDBMS) is a relational database with a software front end that is written in an object-oriented programming language.

Database Programming Interfaces

Open Database Connectivity (ODBC) An API that allows an application to communicate with a database, either locally or remotely.

Object Linking and Embedding Database (OLE DB) Separates data into components that run as middleware on a client or server.

ActiveX Data Objects (ADO) An API that allows applications to access back-end database systems.

Java Database Connectivity (JDBC) An API that allows a Java application to communicate with a database.

Relational Database Components

Data definition language (DDL) Defines the structure and schema of the database.

Data manipulation language (DML) Contains all the commands that enable a user to view, manipulate, and use the database.

Query language (QL) Enables users to make requests of the database.

Report generator Produces printouts of data in a user-defined manner.

Data Dictionary

A data dictionary is a central collection of data element definitions, schema objects, and reference keys. The schema objects can contain tables, views, indexes, procedures, functions, and triggers. A data dictionary can contain the default values for columns, integrity information, the names of users, the privileges and roles for users, and auditing information.

Primary vs. Foreign Key

The primary key is an identifier of a row and is used for indexing in relational databases. Each row must have a unique primary key to properly represent the row as one entity.

If an attribute in one table has a value matching the primary key in another table and there is a relationship set up between the two of them, this attribute is considered a foreign key.

Integrity

Like other resources within a network, a database can run into concurrency problems. Concurrency issues come up when there is data that will be accessed and modified at the same time by different users and/or applications.

Database software performs three main types of integrity services:

  • A semantic integrity mechanism makes sure structural and semantic rules are enforced.
  • A database has referential integrity if all foreign keys reference existing primary keys.
  • Entity integrity guarantees that the tuples are uniquely identified by primary key values.

The rollback is an operation that ends a current transaction and cancels the current changes to the database.

The commit operation completes a transaction and executes all changes just made by the user.

Savepoints are used to make sure that if a system failure occurs, or if an error is detected, the database can attempt to return to a point before the system crashed or hiccupped.

Checkpoints are very similar to savepoints. When the database software fills up a certain amount of memory, a checkpoint is initiated, which saves the data from the memory segment to a temporary file.

A two-phase commit mechanism is yet another control that is used in databases to ensure the integrity of the data held within the database.

Batch Processing means that requests for database changes are put into a queue and activated all at once

Database Security Issues

Aggregation happens when a user does not have the clearance or permission to access specific information, but she does have the permission to access components of this information.

To prevent aggregation, the subject, and any application or process acting on the subject’s behalf, needs to be re-vented from gaining access to the whole collection, including the independent components.

The other security issue is inference, which is the intended result of aggregation. The inference problem happens when a subject deduces the full story from the pieces he learned of through aggregation.

The trick is to prevent the subject, or any application or process acting on behalf of that subject, from indirectly gaining access to the inferable information. This problem is usually dealt with in the development of the database by implementing contentand context-dependent access control rules.

Content-dependent access control is based on the sensitivity of the data.

Context-dependent access control means that the software “understands” what actions should be allowed based upon the state and sequence of the request.

Some other common attempts to prevent inference attacks are cell suppression, partitioning the database, and noise and perturbation. Cell suppression is a technique used to hide specific cells that contain information that could be used in inference attacks. Partitioning a database involves dividing the database into different parts, which makes it much harder for an unauthorized individual to find connecting pieces of data that can be brought together and other information that can be deduced or uncovered. Noise and perturbation is a technique of inserting bogus information in the hopes of misdirecting an attacker or confusing the matter enough that the actual attack will not be fruitful.

Database Views

Databases can permit one group, or a specific user, to see certain information while restricting another group from viewing it altogether. This functionality happens through the use of database Views.

Polyinstantiation

Poly-instantiation enables a table that contains multiple tuples with the same primary keys, with each instance distinguished by a security level.

Polyinstantiation is a process of interactively producing more detailed versions of objects by populating variables with different values or other variables. It is often used to prevent inference attacks.

Online Transaction Processing

Online transaction processing (OLTP) is generally used when databases are clustered to provide fault tolerance and higher performance. OLTP provides mechanisms that watch for problems and deal with them appropriately when they do occur.

The main goal of OLTP is to ensure that transactions either happen properly or don’t happen at all.

ACID test:

  • Atomicity Divides transactions into units of work and ensures that all modifications take effect or none takes effect.
  • Consistency A transaction must follow the integrity policy developed for that particular database and ensure all data is consistent in the different databases.
  • Isolation Transactions execute in isolation until completed, without interacting with other transactions.
  • Durability Once the transaction is verified as accurate on all systems, it is committed and the databases cannot be rolled back.

Data Warehousing and Data Mining

Data warehousing combines data from multiple databases or data sources into a large database for the purpose of providing more extensive information retrieval and data analysis.

Data mining is the process of massaging the data held in the data warehouse into more useful information. Data-mining tools are used to find an association and correlation in data to produce metadata. Metadata can show previously unseen relationships between individual subsets of information.

The goal of data warehouses and data mining is to be able to extract information to gain knowledge about the activities and trends within the organization.

Data mining is the process of analyzing a data warehouse using tools that look for trends, correlations, relationships, and anomalies without knowing the meaning of the data. Metadata is the result of storing data within a data warehouse and mining the data with tools. Data goes into a data warehouse and metadata comes out of that data warehouse.

Data mining is also known as knowledge discovery in database (KDD), and is a combination of techniques to identify valid and useful patterns.

The following are three approaches used in KDD systems to uncover these patterns:

  • Classification Groups together data according to shared similarities
  • Probabilistic Identifies data interdependencies and applies probabilities to their relationships
  • Statistical Identifies relationships between data elements and uses rule discovery

Big data is broadly defined as very large data sets with characteristics that make them unsuitable for traditional analysis techniques.


原文始发于微信公众号(debugeeker):CISSP考试指南笔记:8.12 数据库管理

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年6月16日02:38:52
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   CISSP考试指南笔记:8.12 数据库管理https://cn-sec.com/archives/923205.html

发表评论

匿名网友 填写信息