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

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

136 96 1

Đ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 136
Dung lượng 2,13 MB

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 5: An toàn CSDL thống kê trình bày các nội dung: Giới thiệu, các khái niệm cơ bản và giả định, một số kiểu tấn công suy diễn, các kỹ thuật chống suy diễn, khung làm việc chung dành cho việc so sánh các kỹ thuật chống suy diễn. Mời các bạn cùng tham khảo.

Trang 1

CHƯƠNG 5

Trang 2

Mục tiêu

 Chúng ta đi sâu vào các vấn đề suy diễn

trên các CSDL thống kê.

 Thảo luận một số kỹ thuật bảo vệ cơ bản:

 Kỹ thuật dựa vào khái niệm

 Kỹ thuật dựa vào hạn chế

 Kỹ thuật dựa vào gây nhiễu

 Đánh giá chung về đặc trưng của các kỹ

thuật này.

Trang 3

Nội dung

4.1 Giới thiệu

4.2 Các khái niệm cơ bản và giả định

4.3 Một số kiểu tấn công suy diễn

4.4 Các kỹ thuật chống suy diễn

4.4.1 Các kỹ thuật khái niệm

4.4.2 Các kỹ thuật dựa vào hạn chế

4.4.3 Các kỹ thuật dựa vào gây nhiễu

4.5 Khung làm việc chung dành cho việc so sánh các kỹ thuật chống suy diễn

Trang 4

4.1 Giới thiệu

các bản ghi nhạy cảm mô tả về các cá nhân nhưng chỉ các câu truy vấn thống kê (như: COUNT, SUM, MEAN, MAX, MIN…) mới được trả lời, ngoài các câu truy vấn này thì những truy vấn vào các mục dữ liệu riêng sẽ không được đáp lại

Trang 5

Ví dụ một số câu truy vấn thống kê

 COUNT:

 Select count(*) from Nhanvien

(Trả lại tổng số lượng các bg trong table)

 Select count(Luong) AS count_Luong from

Nhanvien

 Select count(Distinct Luong) from Nhanvien

(Trả lại số lượng các loại lương phân biệt nhau)

 select count(*) from nhanvien where

Luong<=1000

Trang 6

Ví dụ một số câu truy vấn thống kê

 Select SUM(Luong) as sum_Luong from Nhanvien

 Select SUM(Distinct Luong) as sum_Luong from

Compute SUM(Luong) by chucvu

(Thêm cột tổng lương với từng kiểu chức vụ)

Trang 7

Ví dụ một số câu truy vấn thống kê

 Select AVG(Luong) AS avg_Luong from Nhanvien

 Select AVG(Luong) AS avg_Luong from Nhanvien where Luong>1000

 Select AVG(distinct Luong) AS avg_Luong from Nhanvien

SUM(Luong) as sum_luong from Nhanvien

Group by chucvu

Order by chucvu

Trang 8

Ví dụ một số câu truy vấn thống kê

 Select MIN(Luong) from Nhanvien

 Select MIN(Distinct Luong) from Nhanvien

 Select MAX(Distinct Luong) from Nhanvien

 Select MAX(Luong) from Nhanvien

Trang 9

4.1 Giới thiệu

Ứng dụng của SDB (Statistical Database):

CSDL điều tra dân số, CSDL về số người tử

vong, về kế hoạch kinh tế, CSDL thống kê về

khám chữa bệnh, CSDL về các vụ tai nạn ô tô,

CSDL về công nhân, CSDL thống kê về tội

phạm…

 Ví dụ:

Trang 10

4.1 Giới thiệu

Vấn đề bảo vệ SDB: Vấn đề chính trong bảo

vệ SDB là dàn xếp giữa các yêu cầu cá nhân

và quyền của các tổ chức để biết và xử lý thông tin => vấn đề suy diễn trong SDB.

Suy diễn: trong một SDB có nghĩa là có thể thu được các thông tin bí mật trong các thực thể đơn lẻ, bằng cách lợi dụng các câu truy vấn thống kê.

Trang 11

4.1 Giới thiệu

Một SDB chắc chắn bị lộ: nếu người sử dụng phát hiện được một cá nhân có một đặc điểm cụ thể nào đó, nghĩa là người dùng biết cá nhân này được biểu diễn trong SDB

có một số giá trị thuộc tính nào đó.

Một SDB hoàn toàn không bị lộ: nếu người sử dụng biết được một cá nhân cụ thể không nắm giữ một đặc điểm nào đó.

Trang 12

4.1 Giới thiệu

Các đặc tính của SDB cần được bảo vệ:

SDB tĩnh: SDB không thay đổi trong suốt thờigian tồn tại của chúng

SDB động: thay đổi liên tục theo sự thay đổi của

dữ liệu thực, cho phép sửa đổi, nghĩa là được phépchèn hoặc xoá các thực thể để phản ánh các thayđổi động của thế giới thực (ví dụ các CSDL nghiêncứu trực tuyến, lớp học trực tuyến khi bổ sungthành viên,…)

Trang 13

4.1 Giới thiệu

SDB trực tuyến (online): trong đó người sử dụng nhận được các phản hồi thời gian thực cho các câu truy vấn thống kê của mình.

SDB ngoại tuyến (offline): trong đó người sử dụng không biết khi nào các thống kê của họ được xử lý, việc SDB bị lộ sẽ khó khăn.

Trang 14

4.1 Giới thiệu

Kiến thức làm việc (working knowledge) là tập

các mục thông tin liên quan đến các giá trị thuộc

tính trong SDB và các kiểu thống kê có sẵn

trong SDB

thể có kiến thức bổ sung về các cá nhân được

biểu diễn trong SDB Họ hoàn toàn có thể lợi

dụng kiến thức này cho các mục đích suy diễn.

Trang 15

Mô hình làm lộ SDB

Trang 16

Ví dụ về làm lộ một SDB

Ví dụ 1 (lộ chính xác)

Trang 17

Ví dụ 2 (lộ xấp xỉ)

Trang 18

Ví dụ 2

Trang 19

Nội dung

 4.1 Giới thiệu

4.2 Các khái niệm cơ bản và giả định

 4.3 Một số kiểu tấn công suy diễn

 4.4 Các kỹ thuật chống suy diễn

 4.4.1 Các kỹ thuật khái niệm

 4.4.2 Các kỹ thuật dựa vào hạn chế

 4.4.3 Các kỹ thuật dựa vào gây nhiễu

 4.5 Khung làm việc chung dành cho việc so

sánh các kỹ thuật chống suy diễn

Trang 20

4.2 Các khái niệm cơ bản và các giả định

CSDL thống kê (SDB): ta xem xét cấu trúc của mộtSDB là một dạng quan hệ, giả sử là R

N là số bản ghi: X i là bản ghi thứ i

M là số thuộc tính: A 1 , A 2 , …, A M

X ij là giá trị của thuộc tính A j trong bản ghi x i

Mỗi thuộc tính Aj (1 jM) có thể có |Aj | giá

trị

Trang 21

4.2 Các khái niệm cơ bản và các giả định

Trang 22

4.2 Các khái niệm cơ bản và các giả định

Ví dụ về một SDB:

SDB về công nhân (Lương):

ID Tên Chức vụ Phòng Tuổi Giới tính Lương

01 Nam Nhân viên Maketing 29 M 3500

02 Lan Trưởng phong Kế hoạch 33 F 6200

03 Huệ Nhân viên Kế hoạch 27 F 4000

04 Minh Giám sát viên Maketing 24 M 3600

05 Quỳnh Nhân viên Kế hoạch 24 F 2900

Trang 23

4.2 Các khái niệm cơ bản và các giả định

SDB về các vụ tai nạn ô tô

HoTen Tuoi Đ/C MauXe LoaiXe ThoiGian CoLoi SayRuou

Trang 24

4.2 Các khái niệm cơ bản và các giả định

Trang 25

4.2 Các khái niệm cơ bản và các giả định

SDB vĩ mô về các Sinh viên

Tổng phụ cấp theo giới tính và theo lớp

Toán1 Toán2 Tin1 Tin2

Tổng cộng 600 200 300 100

Trang 26

Các khái niệm cơ bản và các giả định

SDB về đảng viên

MaDV HoTen DiaChi ChucVu Luong DangVien

MA01 Trần Văn Nguyên Hà Nội Trưởng phòng 3000 1

MA02 Nguyễn Thị Hoa Hải Phòng Nhân viên 2000 0

MA05 Nguyễn Quang Huy Hải Phòng Giám đốc 5000 1

Trang 27

Các khái niệm cơ bản và các giả định

SDB vĩ mô về Công nhân (count)

N ăm sinh Gi ới tính

1952-1962

>1962

F M F

F M

M ã phòng

Phong1 Phong2 Phong3

0 1 8 5 3 0

10 0 2 10 0 12

20 15 20 12 1 10

BSD Table

Trang 28

Công thức đặc trưng: được ký hiệu bởi một chữ cái viết

hoa (A,B,C, ), đây là một công thức lôgíc, trong đó các

giá trị thuộc tính được kết hợp với nhau thông qua cáctoán tử Boolean như OR, AND, NOT (,,) Ví dụ:

C=(GioiTinh=F)((MaPhong=Phong1)

(MaPhong=Phong2)) (NamSinh<1965)

Tập truy vấn (query set): Một công thức đặc trưng sẽxác định một tập các bản ghi trong SDB, và tập bản ghi

này được gọi là tập truy vấn Ký hiệu là X(C).

Các khái niệm cơ bản và các giả định

Trang 29

Các quan hệ hai ngôi Thủ_trưởng và Cùng_phòng

có ý nghĩa rõ ràng trên tập D Công thức (1) là đúng nếu năm người Khang , Phong, Mai, Lan, Long làm việc trong cùng phòng và có một người là trưởng

phòng

Trang 30

Một số câu truy vấn thống kê

Trang 31

Các khái niệm cơ bản và các giả định

Khái niệm bậc: Một thống kê gồm m thuộc tính khác nhau được gọi là thống kê bậc m. Ví dụ, thống kê:

Count ((GioiTinh = F)(MaPhong = Phong1))

là một thống kê bậc 2.

Count(All) hay Count(*) chỉ là một thống kê bậc 0.

Khái niệm thống kê nhạy cảm: Thống kê được tính

toán trên một thuộc tính bí mật trong tập truy vấn có

kích cỡ bằng 1 là thống kê nhạy cảm Ví dụ:

COUNT(AGE >50) =1

=> SUM(Salary, age>50) là thống kê nhạy cảm

Trang 32

Giới thiệu CSDL suy diễn

(Deductive Database)

Khái niệm CSDL suy diễn: Khái niệm về CSDL suydiễn cũng được nhiều nhà nghiên cứu đề cập theo

hướng phát triển các kết quả mà Green đã đạt được

vào năm 1969 về các hệ thống hỏi – đáp

 Xuất phát từ quan điểm lý thuyết, các CSDL suydiễn có thể được coi như các chương trình logic với

sự khái quát hoá khái niệm về CSDL quan hệ Đó là

cách tiếp cận của Brodie và Manola vào năm 1989, của Codd vào năm 1970, của Date vào năm 1986, của Gardarin và Valdurier vào năm 1989 và của

Trang 33

CSDL suy diễn là CSDL có khả năng suy diễn ra

một số sự kiện (tri thức) mới từ những sự kiện (trithức) đã có, đã được lưu trữ trong CSDL ban đầu

CSDL suy diễn được sử dụng nhiều trong các hệ

quyết định, hệ chuyên gia Nó có khả năng lưu trữ

số lượng lớn thông tin và khả năng suy diễn trên cácthông tin đó

 Các hệ CSDL suy diễn được xem như sự tích hợpcủa dữ liệu (như trong một hệ CSDL) và tri thức(như trong một hệ chuyên gia)

Giới thiệu CSDL suy diễn

(Deductive Database)

Trang 34

4.1 Giới thiệu

Trang 35

Cấu trúc CSDL suy diễn

 Cấu trúc chung của một CSDL suy diễn gồm 3 phần chính: tập các sự kiện (facts), tập các luật suy diễn

(rules) và các RBTV

Trang 36

Cấu trúc CSDL suy diễn:

 Tập các sự kiện (facts): Sự

kiện là vị từ mô tả một sự

thật, cho phép biểu diễn

thông tin cơ sở được biết là

đúng trong CSDL

Cấu trúc CSDL suy diễn

Trang 37

Cấu trúc CSDL suy diễn:

 Tập các luật suy diễn (rules)

Luật suy diễn cũng là các vị

từ diễn tả quy luật suy diễn

mà ta công nhận chúng

 Luật suy diễn được trình bày

dưới dạng một mệnh đề Nó

cho phép suy diễn ra các sự

kiện mới từ những sự kiện

được lưu trữ trong CSDL

Cấu trúc CSDL suy diễn

Trang 38

Cấu trúc CSDL suy diễn:

như trong các mô hình CSDL

khác như: ràng buộc khóa

chính, khóa ngoại, ràng buộc

miền giá trị ( ràng buộc kiểu)

Cấu trúc CSDL suy diễn

Trang 39

Một CSDL ngoại diên (Extension Database- EDB)

 EDB là một CSDL quan hệ tiêu chuẩn như mọi hệCSDL truyền thống, được xây dựng trên một tập cáclược đồ quan hệ, có khả năng lưu trữ một khối lượnglớn dữ liệu

Các dữ liệu trong EDB gọi là các sự kiện (facts), mỗi

sự kiện là một bộ của một quan hệ, có thể cập nhật(thêm/sửa/xóa) như là các bộ trong CSDL quan hệ

 Các sự kiện biểu diễn các thông tin cơ sở (được cho

là đúng trong CSDL)

Các thành phần của CSDL suy diễn

Trang 40

Một CSDL ngoại diên (Extension Database- EDB)

 EDB là một CSDL quan hệ tiêu chuẩn như mọi hệCSDL truyền thống, được xây dựng trên một tập cáclược đồ quan hệ, có khả năng lưu trữ một khối lượnglớn dữ liệu

Các dữ liệu trong EDB gọi là các sự kiện (facts), mỗi

sự kiện là một bộ của một quan hệ, có thể cập nhật(thêm/sửa/xóa) như là các bộ trong CSDL quan hệ

 Các sự kiện biểu diễn các thông tin cơ sở (được cho

Các thành phần của CSDL suy diễn

Trang 41

Biểu diễn CSDL ngoại diên (Extension Database- EDB)

 Ví dụ: sự kiện phát biểu rằng Mai là mẹ của Bách và Dương

là bố của Tân được biểu diễn bởi:

 Mẹ (Mai, Bách)

 Bố (Dương, Tân)

 Một CSDL suy diễn chỉ chứa các sự kiện cơ sở, tức là các sự kiện trong EDB, đó là các công thức nguyên tố, trong đó các hạng thức ti đều là các hằng

 Tân từ ứng với sự kiện cơ sở gọi là tân từ cơ sở, là tân từ cùng tên và các đối là các biến Chẳng hạn với hai sự kiện trên ta sẽ

có các tân từ cơ sở tương ứng là

 Mẹ (x, y)

Các thành phần của CSDL suy diễn

41

Trang 42

Một CSDL nội hàm (Intension Database-IDB)

 IDB là một CSDL chứa các thông tin nội hàm, lưutrữ một tập các luật, cho phép định nghĩa thông tinmới từ các thông tin được lưu trữ là các sự kiện Có 2loại luật được lưu trữ trong IDB:

Các luật suy diễn (deductive rules): cho phép suy ra các

sự kiện mới từ các sự kiện được lưu trữ trong EDB.

Các ràng buộc toàn vẹn (integrity constraints): được viết

dưới dạng các luật, phát biểu các điều kiện mà mỗi trạng thái của CSDL phải thỏa.

Các thành phần của CSDL suy diễn

Trang 43

Một CSDL nội hàm (Intension Database-IDB)

Ví dụ Các luật suy diễn (deductive rules):

“nếu x là Bố của y thì x là Cha_mẹ của y”

“nếu x là Mẹ của y thì x là Cha_mẹ của y”,

 sẽ định nghĩa tân từ dẫn xuất mới “Cha_mẹ(x, y)” được biểu diễn là:

 Cha_mẹ (x, y)  Bố (x, y) (đọc: x là cha mẹ của y nếu x là bố của y)

 Cha_mẹ (x, y)  Mẹ (x, y)

 Các sự kiện ứng với các tân từ dẫn xuất gọi là các sự kiện dẫn xuất, cũng được coi là đúng Các sự kiện này được coi là các thông tin nội hàm, và không được lưu trữ trong CSDL suy diễn.

Các thành phần của CSDL suy diễn

Trang 44

Kết luận: một CSDL suy diễn D là một bộ ba

D = {F, DR, IC}

trong đó:

 F là tập hữu hạn các sự kiện cơ sở (hay sự kiện),

 DR là tập hữu hạn các luật suy diễn và

 IC là tập hữu hạn các ràng buộc toàn vẹn

 Tập F là CSDL ngoại diên (EDB), còn DR và IC làmthành CSDL nội hàm (IDB)

Các thành phần của CSDL suy diễn

Trang 45

Kết luận: một CSDL suy diễn D là một bộ ba

D = {F, DR, IC}

trong đó:

 F là tập hữu hạn các sự kiện cơ sở (hay sự kiện),

 DR là tập hữu hạn các luật suy diễn và

 IC là tập hữu hạn các ràng buộc toàn vẹn

 Tập F là CSDL ngoại diên (EDB), còn DR và IC làmthành CSDL nội hàm (IDB)

Các thành phần của CSDL suy diễn

Trang 46

Thí dụ: Cho một CSDL suy diễn mô tả các mối quan

Trang 47

Thí dụ: Cho một CSDL suy diễn mô tả các mối quan

Trang 48

Thí dụ: Cho một CSDL suy diễn mô tả các mối quan

Trang 49

Ngôn ngữ thao tác CSDL suy diễn

 CSDL suy diễn có thể được hiểu là kết quả của việc áp dụng logic và trí tuệ nhân tạo vào lĩnh vực CSDL truyền thống Ngôn ngữ được dùng để định nghĩa nội dung và cấu trúc thông tin trong CSDL suy diễn là ngôn ngữ Datalog (logic cho

dữ liệu).

 Datalog là ngôn ngữ lập trình logic (tương tự như Prolog) được phát triển dựa trên cơ sở Logic tân từ cấp một Ngôn

ngữ Datalog thao tác trên các tân từ ngoại diên (hay tân từ cơ

sở) là tên của các quan hệ trong CSDL ngoại diên (EDB) và tân từ nội hàm (hay tân từ dẫn suất) là tên của các quan hệ

trong CSDL nội hàm (IDB) Một CSDL suy diễn được biểu diễn bởi một chương trình Datalog

Các thành phần của CSDL suy diễn

49

Trang 50

Ngôn ngữ thao tác CSDL suy diễn

 Hệ quản trị CSDL suy diễn phải có tất cả các chức năng của một hệ QTCSDL thông thường, có thể cho phép khai thác và quản lý CSDL một cách tập trung hoặc phân tán, đảm bảo tính tin cậy và an toàn dữ liệu.

 Hệ quản trị CSDL suy diễn còn cho phép suy diễn ra các sự kiện mới (là các sự kiện dẫn suất của các tân từ nội hàm) từ các sự kiện đã có bằng việc sử dụng các quy tắc và các luật logic

 Hệ quản trị CSDL suy diễn cung cấp một thủ tục xử lý câu hỏi, có khả năng trả lời các câu hỏi được phát biểu theo các

Các thành phần của CSDL suy diễn

Trang 51

Ví dụ: Xem xét một số câu hỏi trong Datalog trên CSDL suy diễn:

1 ? Tổ_tiên (Dương, Mai)

 - trả về giá trị đúng (True) nếu Dương là tổ tiên của Mai Câu trả lời

là sai (False) trong trường hợp trái lại

4 ? Tổ_tiên (y, Mai)  Tổ_tiên (y, Dương)

Các thành phần của CSDL suy diễn

Trang 52

Biểu diễn khung nhìn trong CSDL suy diễn:

 Trong CSDL suy diễn, các khung nhìn tương ứng với các tân

từ dẫn xuất, và được định nghĩa nhờ vào các luật suy diễn

Chẳng hạn ta có khung nhìn “Bà” được định nghĩa bởi một

luật suy diễn có đầu luật là tân từ Bà (x, y):

Trang 53

Ưu điểm của khung nhìn trong CSDL suy diễn:

 Khung nhìn cung cấp một biện pháp bảo vệ vì chúngngăn ngừa người dùng truy cập tới dữ liệu bên ngoàikhung nhìn của họ

 Làm đơn giản giao diện người dùng, vì có thể bỏ quanhững dữ liệu không liên quan đến người dùng

Ví dụ: Bà(x, y)  Mẹ(x, z)  Cha_mẹ(z, y),

 thì khung nhìn Bà(x, y) chỉ cung cấp thông tin về người bà

x và người cháu y, còn thông tin về cha mẹ (tức z) được che dấu bởi định nghĩa của khung nhìn.

Các thành phần của CSDL suy diễn

Trang 54

Ưu điểm của khung nhìn trong CSDL suy diễn:

 Khung nhìn hỗ trợ tính độc lập logic của dữ liệu, vì nó cho phép thay đổi cấu trúc logic của dữ liệu trong CSDL suy diễn,

mà không cần phải tiến hành các thay đổi tương ứng cho các luật khác.

 Ví dụ: giả sử tân từ cơ sở Bố (x, y) phải được thay bằng hai tân từ Bố1(x, y) và Bố2(x, y), mỗi tân từ chứa một tập con các xuất hiện của Bố(x, y), khi đó ta xem Bố(x, y) là một tân từ khung nhìn được định nghĩa bởi:

Bố (x, y)  Bố1 (x, y)

Bố (x, y)  Bố2 (x, y),

 thì ta không cần phải thay đổi các luật tham chiếu tới tân từ gốc Bố (x,

Các thành phần của CSDL suy diễn

Trang 55

Nguyên lý của thuật toán suy diễn

 Thuật toán suy diễn là một thủ tục để chứng minh một công thức T từ tập các công thức {A1, A2,

,An} đã được biết là đúng

 T còn được gọi là định lý cần chứng minh, còn A1, A2, ,An gọi là các tiên đề Nếu tồn tại một chứng minh của T từ {A1, A2, ,An}thì ta ký hiệu:

{A1, A2, ,An}├ T

 Một quy tắc suy diễn là một quy tắc cho phép sinh

ra một công thức từ hai hoặc nhiều công thức Có 2

qui tắc suy diễn: Quy tắc suy diễn Modus ponens

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

TỪ KHÓA LIÊN QUAN

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