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

An toàn CSDL thống kê

121 901 3

Đ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 121
Dung lượng 713 KB

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

Nội dung

Tài liệu này dành cho sinh viên, giáo viên khối ngành công nghệ thông tin tham khảo và có những bài học bổ ích hơn, bổ trợ cho việc tìm kiếm tài liệu, giáo án, giáo trình, bài giảng các môn học khối ngành công nghệ thông tin

Trang 1

CHƯƠNG 4

AN TOÀN CSDL THỐNG KÊ

Giảng viên:

Trần Thị Lượng

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

CSDL thống kê (SDB) là một CSDL chứa 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

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

 Select chucvu, AVG(Luong) as avg_Luong,

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ê

 MIN:

 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ệ 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.

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

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 đó

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

SDB tĩnh: SDB không thay đổi trong suốt thời gian 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ép chè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ên cứu trực tuyến, lớp học trực tuyến khi bổ sung thà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

Kiến thức bổ sung của người sử dụng (sumpl ementary knowledge): Người sử dụng có 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ột SDB

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 j M) 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

Nguyễn Văn Tài 25 HN Xanh Honda 13.30 1 1

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

4.2 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 MA03 Vũ Văn Hiển Hà Nội Phó Giám đốc 4000 1 MA04 Trần Thị Mai Nghệ An Trưởng phòng 3000 1 MA05 Nguyễn Quang Huy Hải Phòng Giám đốc 5000 1 MA06 Trần Văn Hải Hà Nam Nhân viên 2000 1

MA03 Lê Minh Sơn Nam Định Nhân viên 2500 0

Trang 27

4.2 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

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

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ác toá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).

Trang 29

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

Trang 30

4.2 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 31

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.4.4 Các kỹ thuật dựa vào mẫu ngẫu nhiên

 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 32

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

Một số tấn công suy diễn thống kê

Xét CSDL thống kê về công nhân sau::

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

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

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

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

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

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

Trang 33

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

Tấn công trực tiếp: Ví dụ

SELECT Ten FROM Employees WHERE Luong>4.360

=> Gi ải pháp: Dùng bộ lọc thống kê

Tấn công dựa vào đếm

Đây là loại tấn công bằng cách kết hợp giá trị đếm với giá trị tổng để thu được thông tin bí mật.Ví dụ:

COUNT ( ChucVu= ‘Tr ưởng phòng’, Phong=‘Kế hoạch’ ) =1

SUM (Salary, (ChucVu= ‘Tr ưởng phòng’, Phong=‘Kế hoạch’ ))

Trang 34

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

Tấn công dựa vào trình theo dõi (…)

Tấn công hệ tuyến tính (…)

Trang 35

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.4.4 Các kỹ thuật dựa vào mẫu ngẫu nhiên

 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 36

4.4 Các kỹ thuật kiểm soát suy diễn

Hai loại làm lộ SDB:

Lộ chính xác (exact compromise): Lộ chính xác xảy ra khi người sử dụng thông qua một hoặc nhiều truy vấn thống kê

có thể suy diễn ra: thuộc tính A i có giá trị 1 nếu A i là một

thuộc tính không số-thuộc tính logic, hoặc giá trị chính xác

của A i nếu A i là một thuộc tính số, với bản ghi x j trong SDB.

Lộ từng phần (partial compromise): Lộ từng phần xảy ra

khi người sử dụng có thể suy diễn ra: thuộc tính A i có giá trị

0 nếu Ai là một thuộc tính không số, hoặc thu được một ước lượng của giá trị thực của thuộc tính A i nếu A i là một thuộc tính số, và thoả mãn:

Var( ) =

A A /A

Trang 37

4.4 Các kỹ thuật kiểm soát suy diễn

Từ sự phân loại tổng quát các kỹ thuật chống suy diễn do Denning và Schlorer (1983) và Adam, Wortmann (1989) đưa ra, ta có thể phân loại các kỹ thuật này thành:

 Kỹ thuật 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

 Kỹ thuật gây nhiễu dữ liệu

 Kỹ thuật gây nhiễu đầu ra

Trang 38

Tổng quan về các kỹ thuật kiểm soát

suy diễn

Trang 39

Tổng quan về các kỹ thuật kiểm soát

suy diễn

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

Kỹ thuật gây nhiễu dữ liệu

Kỹ thuật gây nhiễu đầu ra

Trang 40

4.4.1 Kỹ thuật khái niệm

 Làm việc ở mô hình khái niệm của SDB, để tìm ra các tấn công suy diễn có thể có

 Gồm hai kỹ thuật:

 Mô hình lưới

 Phân hoạch khái niệm

Trang 41

4.4.1 Kỹ thuật khái niệm

xuất, 1983

 Là một mô hình khái niệm cung cấp nền tảng cho việc phát hiện những tấn công suy diễn có thể xảy ra với SDB

 Xuất phát từ thông tin thống kê được gộp ở

nhiều mức khác nhau có thể gây dư thừa dữ liệu

=> người dùng có thể khám phá dữ liệu nhạy

cảm

Trang 42

4.4.1 Kỹ thuật khái niệm

 Dựa vào cấu trúc lưới

 Các bảng m-chiều (0<=m<=N, N là số thuộc tính của bảng SDB): là các bảng được gộp dữ liệu từ một hay nhiều thuộc tính

 Tính trên một thống kê nào đó như: COUNT, SUM, AVG,…

Trang 43

4.4.1 Kỹ thuật khái niệm

(N=3) (Bảng SDB về công nhân như sau)

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

Bảng 3-chiều

Trang 44

4.4.1 Kỹ thuật khái niệm

Trang 45

4.4.1 Kỹ thuật khái niệm

Các bảng 2-chiều

N ăm sinh Giới tính

1941-1951 1952-1962

F M

22 16

12 Phong2 32

11 Phong1

F M

Phong3 6 11

Trang 46

4.4.1 Kỹ thuật khái niệm

Trang 47

4.4.1 Kỹ thuật khái niệm

Ưu điểm: là một mô hình an toàn hiệu quả cho nghiên cứu các vấn đề suy diễn và các phương pháp kiểm soát suy diễn Với nhiều bảng ở các mức gộp khác nhau, ta có thể phân tích:

 Các kiểu tấn công suy diễn bằng câu truy vấn COUNT, SUM, AVERAGE,…

 Các tấn công kiểu kết hợp các câu truy vấn khác nhau để suy diễn ra dữ liệu nhạy cảm…

 So sánh các kiểm soát suy diễn: hạn chế tập truy vấn

và gây nhiễu dữ liệu

Trang 48

4.4.1 Kỹ thuật khái niệm

Nhược điểm: mô hình lưới không thể cung cấp tính đầy đủ của cơ sở dữ liệu và không phù hợp với cơ sở dữ liệu động, vì khi cập nhật SDB ta phải cập nhật tất cả các bảng trong mô hình

lưới, do đó rất tốn công

Trang 49

4.4.1 Kỹ thuật khái niệm

Ozsoyoglu đề xuất, 1981.

 Giải quyết các vấn đề chống suy diễn trong giai đoạn thiết kế khái niệm của SDB

 Dựa vào việc định nghĩa tập các cá thể của

SDB tại mức khái niệm, được gọi là các lực

lượng (populations)

 Dựa vào các điều kiện cần kiểm tra nhằm tránh suy diễn

Trang 50

4.4.1 Kỹ thuật khái niệm

 Hình sau minh hoạ mô hình khái niệm của một

cơ sở dữ liệu thống kê về công nhân -

Employee SDB, trong đó lực lượng Employee được phân tách thành 5 lực lượng con, tuỳ

thuộc vào các thuộc tính “giới tính” và Code“-Mã phòng

"Dept- Lực lượng nguyên tử A-Population là lực

lượng không phân tách được nữa

Trang 51

4.4.1 Kỹ thuật khái niệm

Employee

Dept3 Dept1 Dept2

Female Male

Male Employee

Dept1

Female Employee Dept1

Male Employee Dept2

Male Employee Dept3

Female Employee Dept3

Female Employee Dept2

Trang 52

4.4.1 Kỹ thuật khái niệm

Phân hoạch khái niệm:

 Để hỗ trợ việc xác định các yêu cầu an toàn thống kê trong mô hình khái niệm này, người ta đã đề xuất hệ thống tiện ích quản lý an toàn thống kê (SSMF) gồm

có 3 modul, cụ thể là PDC, UKC và CEC:

PDC (Xây dựng định nghĩa lực lượng- Population Definition Construct)

UKC (Xây dựng trình độ người dùng - User Knowledge Construct)

CEC (Bộ thi hành và kiểm tra ràng buộc - Constraint Enforcer and Checker)

Trang 54

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

Trang 55

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

 Các kỹ thuật này chống suy diễn bằng cách hạn chế các câu truy vấn thống kê theo một điều kiện hạn chế nào đó

 Kiểm soát kích cỡ tập truy vấn

 Kiểm soát kích cỡ tập truy vấn mở rộng

 Kiểm soát chồng lấp tập truy vấn

 Kiểm soát dựa vào kiểm toán

 Gộp

 Kỹ thuật giấu ô

 Kỹ thuật kết hợp

Trang 56

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

Kiểm soát kích cỡ tập truy vấn

 Kiểm soát kích cỡ tập truy vấn mở rộng

 Kiểm soát chồng lấp tập truy vấn

 Kiểm soát dựa vào kiểm toán

 Kỹ thuật giấu ô

 Kỹ thuật kết hợp

Trang 57

4.4.2.1 Kiểm soát kích cỡ tập truy vấn

Một thống kê q(C) chỉ được phép nếu tập truy vấn của nó, X(C), thoả mãn quan hệ sau:

k  X(C) N-k

0  k  N/2

Trong đó, N là tổng số bản ghi trong SDB, k do

DBA định nghĩa

Trang 58

Query Set Restriction

Query 1

Query 1

Results

Query 2 Results

Query 2

Results

Query Results

Original Database

Trang 59

4.4.2.1 Kiểm soát kích cỡ tập truy vấn

 Kiểm soát này ngăn chặn các tấn công đơn giản, dựa vào các tập truy vấn rất nhỏ hoặc rất lớn

Đưa ra thống kê khác, ví dụ Sum(C, A i)

=> Kiểm soát kích cỡ tập truy vấn không cho phép đưa ra

q , q

Trang 60

4.4.2.1 Kiểm soát kích cỡ tập truy vấn

 Hạn chế khả năng hữu ích của SDB

 Chỉ ngăn chặn được các tấn công đơn giản, khó có thể ngăn chặn được các tấn công phức tạp, như:

Trình theo dõi, Tấn công hệ tuyến tính

Trang 61

Tấn công dựa vào trình theo dõi

( Denning&Schlorer)

Trình theo dõi (Track er) : là một tập các công thức đặc trưng, có thể được sử dụng để đưa thêm bản ghi vào các các tập truy vấn kích cỡ nhỏ, làm cho kích cỡ

của chúng nằm trong khoảng [k, N-k] Thông qua các

trình theo dõi có thể tính toán được các thống kê bị hạn chế

 Giả sử C là công thức đặc trưng người dùng yêu cầu

 T là một trình theo dõi T thỏa mãn điều kiện:

k<|T|< N-k.

Trang 62

Tấn công dựa vào trình theo dõi

 Tính gián tiếp Count (C):

Count(C)= Count (AB) = Count(A)-Count(AB) Count(C) = Count(A) - Count(T)

Trang 63

Ví dụ SDB về công nhân:

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

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

Trang 64

 Tính T = A B thỏa mãn k<Coun(T)=2< N-k.

 Tính gián tiếp Count (C):

Count(C)= Count (AB) = Count(A)-Count(AB) Count(C) = Count(A) - Count(T)

= 3-2 =1

Trang 65

Tấn công dựa vào trình theo dõi

Trang 66

Ví dụ SDB về các vụ tai nạn môtô

HoTen Tuoi Đ/C MauXe LoaiXe ThoiGian CoLoi SayRuou

Trang 69

Tấn công hệ tuyến tính:

H là ma trận truy vấn

H[i,j] = 1 nếu bản ghi x jX(C i ), (tương ứng q i)

H[i,j] = 0 nếu ngược lại

x1 , , xN là giá trị của N bản ghi

Q = (q 1 , , q k) là vector của các thống kê đưa ra

Ngày đăng: 22/10/2014, 22:12

HÌNH ẢNH LIÊN QUAN

Bảng 3-chiều - An toàn CSDL thống kê
Bảng 3 chiều (Trang 43)

TỪ KHÓA LIÊN QUAN

w