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 1CHƯƠNG 4
AN TOÀN CSDL THỐNG KÊ
Giảng viên:
Trần Thị Lượng
Trang 2Mụ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 3Nộ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 44.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 5Ví 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 6Ví 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 7Ví 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 8Ví 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 94.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 104.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 114.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 124.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 134.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 144.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 15Mô hình làm lộ SDB
Trang 16Ví dụ về làm lộ một SDB
Ví dụ 1 (lộ chính xác)
Trang 17Ví dụ 2 (lộ xấp xỉ)
Trang 18Ví dụ 2
Trang 19Nộ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 204.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 214.2 Các khái niệm cơ bản và các giả định
Trang 224.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 234.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 244.2 Các khái niệm cơ bản và các giả định
Trang 254.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 264.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 274.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 284.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 294.2 Các khái niệm cơ bản và các giả định
Trang 304.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 31Nộ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 324.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 334.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 344.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 35Nộ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 364.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 374.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 38Tổng quan về các kỹ thuật kiểm soát
suy diễn
Trang 39Tổ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 404.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 414.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 424.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 434.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 444.4.1 Kỹ thuật khái niệm
Trang 454.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 464.4.1 Kỹ thuật khái niệm
Trang 474.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 484.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 494.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 504.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 514.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 524.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 544.4.2 Kỹ thuật dựa vào hạn chế
Trang 554.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 564.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 574.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 58Query Set Restriction
Query 1
Query 1
Results
Query 2 Results
Query 2
Results
Query Results
Original Database
Trang 594.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 604.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 61Tấ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 62Tấn công dựa vào trình theo dõi
Tính gián tiếp Count (C):
Count(C)= Count (AB) = Count(A)-Count(AB) Count(C) = Count(A) - Count(T)
Trang 63Ví 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 (AB) = Count(A)-Count(AB) Count(C) = Count(A) - Count(T)
= 3-2 =1
Trang 65Tấn công dựa vào trình theo dõi
Trang 66Ví dụ SDB về các vụ tai nạn môtô
HoTen Tuoi Đ/C MauXe LoaiXe ThoiGian CoLoi SayRuou
Trang 69Tấ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 jX(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