1. Trang chủ
  2. » Luận Văn - Báo Cáo

Slide TÌM HIỂU VỀ CƠ CHẾ AN TOÀN MỨC HÀNG (ROWLEVEL SECURITY) VÀ TẤN CÔNG KÊNH KỀ VƯỢT QUA CƠ CHẾ NÀY TRONG SQL SERVER

35 60 2

Đ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

Tiêu đề Tìm hiểu về cơ chế an toàn mức hàng (row-level security) và tấn công kênh kề vượt qua cơ chế này trong sql server
Tác giả Nguyễn Thị Kim Huế
Người hướng dẫn Trần Thị Lượng
Trường học Học Viện Kỹ Thuật Mật Mã
Chuyên ngành An toàn cơ sở dữ liệu
Thể loại bài tiểu luận
Định dạng
Số trang 35
Dung lượng 1,22 MB

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

Nội dung

TÌM HIỂU VỀ CƠ CHẾ AN TOÀN MỨC HÀNG(ROWLEVEL SECURITY) VÀ TẤN CÔNG KÊNH KỀ VƯỢT QUA CƠ CHẾ NÀY TRONG SQL SERVERĐây là một tính năng cho phép kiểm soát chi tiết tốt đối với quyền truy cập vào các hàng trong bảng. RLS cho phép dễ dàng kiểm soát người dùng nào có thể truy cập dữ liệu nào Có độ trong suốt hoàn toàn cho ứng dụng. Hạn chế dữ liệu truy cập thông qua các chính sách bảo mật (security policy)1. Predicate function : Hàm có giá trị bảng nội tuyến thực hiện logic điều khiển truy cập (ví dụ: trả về một hàng hay không tùy thuộc vào tên, vai trò hoặc các thuộc tính khác của người dùng gọi).2. Security predicate: Liên kết một predicate function vào một bảng (ví dụ: áp dụng một hàm kiểm tra vai trò của nhân viên cho bảng Danh sách lương )Filter predicates: Lọc các hoạt động đọc (SELECT, UPDATE và DELETE)Block predicates: Chặn các hoạt động ghi (AFTER INSERT, AFTER UPDATE, BEFORE UPDATE, BEFORE DELETE) vị phạm predicates.3. Security policy: Một tập hợp các Security predicates được áp dụng trong một đối tượng gọi là chính sách bảo mật1. Predicate function : Hàm có giá trị bảng nội tuyến thực hiện logic điều khiển truy cập (ví dụ: trả về một hàng hay không tùy thuộc vào tên, vai trò hoặc các thuộc tính khác của người dùng gọi).2. Security predicate: Liên kết một predicate function vào một bảng (ví dụ: áp dụng một hàm kiểm tra vai trò của nhân viên cho bảng Danh sách lương )Filter predicates: Lọc các hoạt động đọc (SELECT, UPDATE và DELETE)Block predicates: Chặn các hoạt động ghi (AFTER INSERT, AFTER UPDATE, BEFORE UPDATE, BEFORE DELETE) vị phạm predicates.3. Security policy: Một tập hợp các Security predicates được áp dụng trong một đối tượng gọi là chính sách bảo mật

Trang 1

TÌM HIỂU VỀ CƠ CHẾ AN TOÀN MỨC HÀNG

Student : Nguyễn Thị Kim Huế

BAN CƠ YẾU CHÍNH PHỦ HỌC VIỆN KỸ THUẬT MẬT MÃ

Trang 3

1 Overview of

Row-Level Security

in SQL SERVER

Trang 4

Trần Công Giang (lớp trưởng lớp clc)

Chỉ nhìn thấy danh sách thông tin cá nhân

Trang 5

Þ Đây là một tính năng cho phép kiểm soát chi tiết tốt đối với quyền truy cập vào các hàng trong bảng

Þ RLS cho phép dễ dàng kiểm soát người dùng nào có thể truy cập dữ liệu nào

Þ Có độ trong suốt hoàn toàn cho ứng dụng

Þ Hạn chế dữ liệu truy cập thông qua các chính sách bảo mật (security policy)

Row-Level

Security

(RLS)

Trang 6

Ví dụ áp dụng Row-Level Security:

Ngân hàng có thể tạo chính sách để hạn chế quyền truy cập vào các hàng dữ liệu tài chính dựa trên bộ phận kinh doanh hoặc vai trò của nhân viên trong công ty.

Trang 7

3 khái niệm cốt lõi trong Row-Level Security:

1 Predicate function : Hàm có giá trị bảng nội tuyến thực hiện logic điều khiển truy cập (ví dụ: trả về một hàng hay không tùy thuộc vào tên, vai trò hoặc các thuộc tính khác của người dùng gọi)

2 Security predicate: Liên kết một predicate function vào một bảng (ví dụ: áp dụng một hàm kiểm tra vai trò của nhân viên

cho bảng Danh sách lương )

• Filter predicates: Lọc các hoạt động đọc ( SELECT, UPDATE và DELETE)

• Block predicates: Chặn các hoạt động ghi (AFTER INSERT, AFTER UPDATE, BEFORE UPDATE, BEFORE DELETE) vị phạm predicates.

3 Security policy: Một tập hợp các Security predicates được áp

dụng trong một đối tượng gọi là chính sách bảo mật

Trang 8

- Được áp dụng trong khi đọc dữ liệu từ bảng cơ sở

- Ứng dụng không biết về bất kỳ hàng nào được lọc cho các hoạt động SELECT, UPDATE và DELETE

- Ứng dụng có thể INSERT các hàng, ngay cả khi chúng

sẽ được lọc trong bất kỳ hoạt động nào khác

Filter predicates

Trang 9

Block predicates

Ảnh hưởng đến tất cả các hoạt động ghi.

- AFTER INSERT and AFTER UPDATE predicates :

- Có thể ngăn người dùng cập nhật các hàng thành các giá trị vi phạm predicate.

- BEFORE UPDATE predicates: Có thể ngăn người dùng cập nhật

các hàng hiện đang vi phạm predicate

- BEFORE DELETE predicates: Có thể chặn hoạt động delete.

Trang 10

Cách tạo security policy

Cú pháp :

Trang 12

SQL Server Row Level Security Limitations:

- SCHEMABINDING

Predicate function phải được tạo ra với SCHEMABINDING

Nếu bạn tạo một hàm không có cài đặt này và sau đó thử liên kết nó với chính sách bảo mật, sẽ gặp lỗi sau:

Trang 13

SQL Server Row Level Security Limitations:

- Performance Impact

Không có chính sách bảo mật

Áp dụng lọc cấp hàng:

Trang 14

SQL Server Row Level Security Limitations:

- Data Leakage

Chính sách bảo mật và thông đồng : Người chịu trách nhiệm quản lý

chính sách bảo mật cũng có quyền truy cập để sửa đổi các chức năng được sử

dụng bởi các chính sách đó, thì họ có thể dễ dàng thao tác logic để mở rộng phạm vi truy cập của họ

- A middle-tier application

- Side-channel attacks

- Inserting invalid rows

- RLS is incompatible with FileStream.

- RLS is incompatible with Polybase.

Trang 15

2.RLS implemen

tation

Trang 16

Có 3 bước cơ bản để triển khai RLS:

Bước 1 Tạo người dùng và cấp quyền truy cập Bước 2 Tạo một hàm có giá trị bảng nội tuyến chứa Filter Predicate /Block Predicate

Bước 3 Tạo Security Policy

Trang 17

1 Giáo viên chủ nhiệm(user_gvcn)

2 Lớp trưởng lớp CLC(user_loptruongclc)

3 Lớp trưởng lớp CT(user_loptruongct)

Create User:

Trang 18

Create Table:

Trang 19

Insert data

Trang 20

Kiểm tra giá trị trả về:

Trang 21

Grant to user:

Trang 22

Tạo hàm có giá trị bảng nội tuyến chứa Filter Predicate

Hàm này trả về giá trị 1 khi:

- Một hàng trong cột @idquanly giống như người dùng thực hiện truy vấn (@idquanly = USER_NAME ())

- Hoặc nếu người dùng thực hiện truy vấn là người có quyền cao (USER_NAME () = ‘user_gvcn’)

Trang 23

Tạo Security Policy

Trang 25

we can see that a FILTER predicate

is not blocking the user from SERTING a record which after in- sert is filtered by it for that user for any operation.

Trang 26

IN-Add the AFTER INSERT BLOCK predicate on the Players table to block user from inserting a record which after in- sert user doesn’t have access to it.

Trang 28

Xem danh sách Security Policies

SELECT

name , type _ desc , create _ date , modify_date , is_enabled , is_sch ema_bound FROM sys security _ policies

Trang 29

Xem danh sách predicates security

SELECT * FROM sys security _ predicates  

Trang 30

3 Side-Channel

Attacks

Trang 31

Tấn công kênh kề (Side-Channel Attacks):

- Malicious security policy manager

Trình quản lý chính sách bảo mật độc hại, có đủ quyền để tạo chính sách bảo mật trên cột nhạy cảm và có quyền tạo hoặc thay đổi các hàm có giá trị bảng nội tuyến,

có thể thông đồng với một người dùng khác có quyền chọn trên Bảng để thực

hiện việc lọc dữ liệu bằng cách tạo độc hại các hàm có giá trị bảng nội tuyến được thiết kế để sử dụng các cuộc tấn công kênh bên để suy ra dữ liệu

- Carefully crafted queries

Trang 32

- Là một nỗ lực truy cập dữ liệu ẩn bởi người dùng độc hại biết cơ chế bảo mật được triển khai như thế nào.

- Thủ thuật được sử dụng là buộc truy vấn đưa ra một ngoại lệ,

giả dụ như lỗi tràn hoặc chia cho số không

- Kiểu tấn công này sẽ không hiển thị cho kẻ tấn công dữ liệu cơ bản, nhưng sẽ cho phép họ suy luận dữ liệu

Carefully crafted queries

Trang 33

Ví dụ :

Trang 35

Thank you

For your attentive

listening !

Ngày đăng: 08/06/2021, 14:15

TỪ KHÓA LIÊN QUAN

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

w