1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài giảng Bảo mật cơ sở dữ liệu: Chapter 3 - Trần Thị Kim Chi

58 120 0
Tài liệu được quét OCR, nội dung có thể không chính xác

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 58
Dung lượng 616,1 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Bài giảng Bảo mật cơ sở dữ liệu - Chương 3: Access Control Discretionary Access Control trình bày 2 nội dung chính là Access Control và Discretionary Access Control. Đây là một tài liệu hữu ích dành cho các bạn sinh viên ngành Công nghệ thông tin dùng làm tài liệu học tập và nghiên cứu.

Trang 1

Access Control Discretionary Access Control

Trang 3

Access Control

Sx ‘“‘Access control” is where security engineering meets computer science

%x Its function is to control which (active) subject have access

to a which (passive) object with some specific access operation

Trang 4

Access Control

%x Determine whether a principal can perform a requested operation on a target object

- Principal: user, process, etc

- QOperation: read, write, etc

- Object: file, tuple, etc

%x Lampson defined the familiar access matrix and its two

interpretations ACLs and capabilities [Lampson70]

Trang 5

Why are we still talking about

access control?

xx An access control policy is a specification for an access

decision function

3x The policy aims to achieve

- Permit the principal’s intended function (availability)

- Ensure security properties are met (integrity, confidentiality)

Limit to “Least Privilege,” Protect system integrity, Prevent unauthorized leakage, etc

Also known as ‘constraints’

%x Enable administration of a changeable system (simplicity)

Trang 6

Example: Access Control

%x Prof Alice manages access to course objects

> Assign access to individual (principal: Bob)

> Assign access to aggregate (course-students)

> Associate access to relation (students(course))

> Assign students to project groups (student(course, project,

group))

%x Prof Alice wants certain guarantees

> Students cannot modify objects written by Prof Alice

> Students cannot read/modify objects of other groups

%x Prof Alice must be able to maintain access policy

> Ensure that individual rights do not violate guarantees

>» However, exceptions are possible — students may distribute

Trang 7

Access Control is Hard Because

sx Access control requirements are domain-specific

-— Generic approaches over-generalize

Xš Access control requirements can change

- Anyone could be an administrator

Xš The Safety Problem [HRU76]

- Can only know what is leaked right now

%= Access is fail-safe, but Constraints are not

- And constraints must restrict all future states

Trang 8

Safety Problem

%x Determine if an unauthorized permission is leaked given

- An initial set of permissions and

- An access control system, mainly administrative operations

Sx For a traditional approach, the safety problem is

undecidable

- Access matrix model with multi-operational commands

- Main culprit is create — create object/subject with own rights

- Prove reduction of a Turing machine to the multi-operational

access matrix system

Trang 9

- e.g., lattice models

%= Check safety on each policy change — constraint approach

of RBAC

Trang 10

Compare to Other CS Problems

%x Processor design

- Hard, but can get some smart people together to construct one,

fixed, testable design

%=x Network protocol design

- TCP: A small number of control parameters necessary to manage

all reasonable options, within a layered architecture

- Constraints, such as DDoS, are ad hoc

Sx Software design

- Specific goals in mind to achieve function, constraints are ad hoc

Trang 11

Access Control Models

%x Discretionary Access Matrix

- UNIX, ACL, various capability systems

%x Mandatory (Usually) Access Matrix

- TE, RBAC, groups and attributes, parameterized

Xš Plus Transitions

- DTE, SELinux, Java

%x Lattice Access Control Models

- Bell-LaPadula, Biba, Denning

Trang 12

Administration

%x Discretionary Access Control

- Users (typically object owner) can decide permission assignments

%=x Mandatory Access Control

- System administrator decides on permission assignments

%x Flexible Administrative Management

- Access control models can be used to express administrative

privileges

Trang 14

User Group Has

Access To Objects With the Attribute

Trang 15

Access Control

** Discretionary Access Control

- Access Matrix Model

- Implementation of the Access Matrix

- Vulnerabilities of the Discretionary Policies

- Additional features of DAC

Trang 16

Discretionary Access Control

Discretionary Access Control is an individual user can set an access control mechanism to allow or deny

access to an object

Relies on the object owner to control access

DAC is widely implemented in most operating systems, and we are quite familiar with it

Strength of DAC: Flexibility: a key reason why it is widely known and implemented in mainstream

operating systems

Trang 17

Discretionary Access Control

Access to data objects (files, directories, etc.) Is

permitted based on the identity of users

Explicit access rules that establish who can, or

Cannot, execute which actions on which resources

Discretionary: users can be given the ability of passing on their privileges to other users, where granting and revocation of privileges is regulated

by an administrative policy

Trang 18

Discretionary Access Control

* DAC 1s flexible in terms of policy specification

* This is the form of access control widely implemented in standard multi-user platforms

Unix, NT, Novell, etc

Trang 19

Limitation of DAC

%x Global policy: DAC let users to decide the access control policies on their data, regardless of whether those policies are consistent with the global policies Therefore, if there is a global policy, DAC has trouble to ensure consistency

%x Information flow: information can be copied from one object to another, so access to a copy is possible even if the owner of the original does not provide access to the riginal copy This has been a major concern for military

%x Malicious software: DAC policies can be easily changed by owner, sO a_ malicious program (e.g.,a downloaded untrustworthy program) running by the owner can change DAC policies on behalf of the owner

%x Flawed software: Similarly to the previous item, flawed software can be “instructed” by attackers to change its DAC policies

Trang 20

Discretionary Access Control

x Access control matrix

- Describes protection state precisely

- Matrix describing rights of subjects

- State transitions change elements of matrix

* State of protection system

- Describes current settings, values of system relevant to protection

Trang 21

Access Control

x Discretionary Access Control

- Access Control Matrix Model

- Implementation of the Access Matrix

- Vulnerabilities of the Discretionary Policies

- Additional features of DAC

Trang 22

Access Control Matrix Model

xx Access control matrix

- Firstly identify the objects, subjects and actions

- Describes the protection state of a system

- State of the system 1s defined by a triple (S, O, A)

* Sis the set of subject,

* Ois the set of objects,

* Ais the access matrix

- Elements indicate the access rights that subjects have on objects

’ Entry A[s, o] of access control matrix is the privilege

of sono

Trang 24

Boolean Expression Evaluation

xx ACM controls access to database fields

- Subjects have attributes

- Action/Operation/Verb define type of access

- Rules associated with objects, action pair

** Subject attempts to access object

- Rule for object, action evaluated, grants or denies access

Trang 25

Annie paint picture if:

‘artist’ in subject.role and

‘creative’ in subject.groups and

time.hour => O and time.hour < 5

Trang 26

ACM at 3AM and IOAM

At 3AM, time condition At 1OAM, time condition met; ACM 1s: not met; ACM 1s:

Trang 27

Access Controlled by History

sx Statistical databases need to Name | Position [Age [Salary |

Trang 28

Access Controlled by History

*< Query 1: [Name | Position | Age | Salary -

- sum_salary(position = teacher) -— Answer: l40K

*< Query 2:

- sum_salary(age > 40 & position =

teacher) Pe en [ae [Sa

- Should not be answered as Matt s|€ela | Teacher | 45

*x Can be represented as an ACM

Trang 29

Solution: Query Set Overlap Control

(Dobkin, Jones & Lipton `79)

* Query valid if intersection of query coverage and each previous query <r

x Can represent as access control matrix

- Subjects: entities issuing queries

- Objects: Powerset of records

— Os(i) : objects referenced by s in queries Ÿ ;

ÑY) (—D

Trang 30

Solution: Query Set Overlap Control

(Dobkin, Jones & Lipton `79)

* Query |: Ol = {Celia, Leonard, Matt} so the

query can be answered Hence

asker, Celia] = {read}

asker, Leonard] = {read}

asker, Matt] = {read}

* Query 2: O2 = {Celia, Leonard} but |O2 7™ O11=

2; so the query cannot be answered

- Ml[asker, Celia] =

- M[asker, Leonard] =

Trang 31

Access Control

x Discretionary Access Control

- Access Matrix Model

- Implementation of the Access Control Matrix

- Vulnerabilities of the Discretionary Policies

- Additional features of DAC

Trang 32

ACM Implementation

xx ACM is an abstract model

- Rights may vary depending on the object involved

xx ACM is implemented primarily in three ways

- Authorization Table

- Capabilities (rows)

- Access control lists (columns)

Trang 33

Authorization Table

“ Three columns: subjects, actions, objects

= Generally used in DBMS systems

Trang 34

Access Control List (ACL)

%x Matrix is stored by column

%x Each object is associated with a list

%x Indicate for each subject the actions that the subject can exercise on the object

Ano read

Trang 35

Capability List

Xš Matrix is stored by row

%x Each user is associated with a capability list

%x Indicating for each object the access that the user is allow

to exercise on the object Ani ile 2 Program |

Trang 36

ACLs vs Capability List

** Immediate to check the authorization holding on

an object with ACLs (subject?)

xx Immediate to determine the privileges of a subject with Capability lists (object?)

x Distributed system,

- authenticate once, access various servers

- choose which one?

xx Limited number of groups of users, small bit vectors, authorization specified by owner

-— Which one?

Trang 37

Basic Operations in Access Control

- Verifying whether the entry related to a subject

s and an object o contains a given access mode

Trang 38

Access Control Discretionary Access Control

- Access Matrix Model

- State of Protection System

- Implementation of the Access Matrix

- Vulnerabilities of the Discretionary Policies

- Additional features of DAC

Trang 39

Vulnerabilities of the Discretionary Policies

* No separation of users from subjects

*< No control on the flow the information

x Malicious code, 1.e., Trojan horse

Trang 40

Example

x Vicky, a top-level manager

X A file Market on the new products release

** John, subordinate of Vicky

X A file called “Stolen” with two hidden

operations

- Read operation on file Market

- Write operation on file Stolen

Trang 41

Example (cond)

Application

read Market write Stolen

( Vicky,write,Stolen )

Trang 42

Example (cond)

invokes

read Market write Stolen

File Market File Stolen

Trang 43

Access Control

x Discretionary Access Control

- Access Matrix Model

- State of Protection System

- Implementation of the Access Matrix

- Vulnerabilities of the Discretionary Policies

- Additional features of DAC

Trang 44

DAC — additional features and recent trends

x Flexibility is enhanced by supporting different kinds of permissions

- Positive vs negative

- Strong vs weak

- Implicit vs explicit

- Content-based

Trang 45

Positive and Negative

Permissions

Positive permissions > Give access

* Negative permissions > Deny access

* Useful to specify exceptions to a given

policy and to enforce stricter control on

particular crucial data items

Trang 46

Positive and Negative

Permissions

Main Issue: Conflicts

Trang 47

Authorization Conflicts

*< Main solutions:

- No conflicts

- Negative permissions take precedence

- Positive permissions take precedence

- Nothing take precedence

- Most specific permissions take precedence

Trang 48

Weak and Strong Permissions

x Strong permissions cannot be overwritten

* Weak permissions can be overwritten by

strong and weak permissions

Trang 49

Implicit and Explicit Permissions

x Some models support implicit permissions

* Implicit permissions can be derived:

— by a Set of propagation rules exploiting the subject, object, and privilege hierarchies

— by a Set of user-defined derivation rules

Trang 50

Derivation Rules: Example

x Ann can read file Fl from a table if Bob has an explicit denial for this access

*'Tom has on file F2 all the permissions that Bob has

x Derivation rules are a way to concisely express a Set of security requirements

Trang 51

* We need languages based on SQL and/or XML

Trang 52

employees whose salary is not greater than 30K

Trang 53

Content-based Permissions

*'T'wo most common approaches to enforce

content-based access control in a DBMS are done:

— by associating a predicate (or a Boolean combination of predicates) with the

permission

— by defining a view which selects the objects whose content satisfies a given condition, and then granting the permission on the view

instead of on the basic objects

Trang 54

DAC models - DBMS vs OS

*< Increased number of objects to be protected

*< Different granularity levels (relations, tuples,

single attributes)

*< Protection of logical structures (relations, views)

instead of real resources (files)

%x Different architectural levels with different

protection requirements

** Relevance not only of data physical representation, but also of their semantics

Trang 55

Cost Benefits

%x Saves about 7.01 minutes per employee, per year in administrative functions

- Average IT admin salary - $59.27 per hour

- The annual cost saving is:

* $6,924/1000; $692,471/100,000

%x Reduced Employee downtime

if new transitioning employees receive their system privileges faster, their productivity is increased

26.4 hours for non-RBAC; 14.7 hours for RBAC

For average employee wage of $39.29/hour, the annual productivity cost savings yielded by an RBAC system:

* $75000/1000; $7.4M/100,000

Ngày đăng: 30/01/2020, 10:34

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm