CƠ SỞ LÝ THUYẾT
Giới thiệu
Khác với các trang web điện tử truyền thống tập trung vào nội dung, mạng xã hội chú trọng đến con người Người dùng tham gia bằng cách chia sẻ thông tin cá nhân và kết nối với những người quen Điều này tạo ra một nền tảng vững chắc để duy trì và phát triển các mối quan hệ xã hội, tìm kiếm những người có cùng sở thích, định vị nội dung và khám phá tri thức từ những người khác.
Trong những năm gần đây, sự phát triển của các trang web mạng xã hội và truyền thông đã làm tăng cường sự quan tâm và hiểu biết về các hiện tượng xã hội thông qua các liên kết và tương tác của người dùng Những trang web này thu hút hàng triệu người dùng, những người sẵn lòng cung cấp thông tin cá nhân để nhận được các dịch vụ như duy trì tình bạn và chia sẻ hình ảnh, âm nhạc, tài liệu Thông tin cá nhân này có thể được khai thác để nghiên cứu sở thích cá nhân, mô hình truyền thông và luồng thông tin.
Phân tích mạng xã hội (SNA) là một lĩnh vực nghiên cứu ra đời từ cuối thế kỷ 19, nhằm đánh giá vai trò của cá nhân trong các nhóm và cộng đồng thông qua việc phân tích mạng kết nối Hiện nay, SNA bao gồm việc thu thập dữ liệu lớn từ nhiều nguồn khác nhau, phân tích để xác định mối liên kết và khai thác thông tin mới từ các mối quan hệ đó.
Trong lĩnh vực khai phá dữ liệu và học máy, các phương pháp thống kê thường được áp dụng để mô hình hóa và phân tích các mẫu trong dữ liệu, đặc biệt là dữ liệu mạng Truyền thống, học máy tập trung vào việc nghiên cứu các dữ liệu độc lập và phân bố đồng nhất Tuy nhiên, với sự phát triển hiện nay, lĩnh vực này đã có những bước tiến mới đáng kể.
Mạng xã hội trực tuyến đã thúc đẩy sự phát triển của các thuật toán xử lý dữ liệu phụ thuộc lẫn nhau, trong đó khai phá liên kết là một phần quan trọng của khai phá dữ liệu Khai phá liên kết nghiên cứu các mô hình tiên đoán hoặc mô tả dựa trên các liên kết có sẵn trong dữ liệu Phần lớn các nghiên cứu khai phá liên kết trong mạng xã hội tập trung vào các mối quan hệ giữa các người dùng (actor – actor link) như quan hệ bạn bè Tuy nhiên, dữ liệu từ truyền thông xã hội rất phong phú với các liên kết không chỉ giữa người dùng mà còn giữa người dùng với các đối tượng khác như nhóm, sự kiện và trang cộng đồng, được gọi là các affiliation link Việc nghiên cứu đặc điểm của người sử dụng, cả tường minh và ẩn, sẽ hỗ trợ phát triển các thuật toán tiên đoán hiệu quả hơn.
Cấu trúc đồ thị
2.2.1 Các định nghĩa cơ bản
Mạng xã hội có thể được mô tả như một đồ thị G = (V, E), trong đó mỗi đỉnh đại diện cho người dùng và mỗi cạnh biểu thị mối quan hệ giữa họ Các liên kết trong đồ thị có thể là có hướng, với một đỉnh là nguồn và một đỉnh là đích, hoặc vô hướng, nghĩa là không phân biệt nguồn và đích Đồ thị xã hội (Social Graph) thể hiện mối quan hệ bạn bè giữa các người dùng, trong khi đồ thị tương tác (Interaction Graph) không chỉ thể hiện mối quan hệ bạn bè mà còn ghi nhận các tương tác giữa họ.
Hành vi tương tác trong mạng xã hội được định nghĩa là việc người dùng A ghi lên tường (Wall) của người bạn B Khi A thực hiện ghi nhận này, nó không chỉ thể hiện sự tương tác mà còn tạo ra một mối quan hệ vô hướng giữa A và B.
Bậc của một đỉnh trong đồ thị, hay còn gọi là bậc người dùng, được định nghĩa là tổng số cạnh kết nối với đỉnh đó Trong đồ thị xã hội, bậc này thể hiện tổng số bạn bè của người dùng (bậc xã hội), trong khi trong đồ thị tương tác, nó phản ánh tổng số bạn bè mà người dùng tương tác (bậc tương tác), được ký hiệu là d i.
14 Đối với đồ thị có hướng, bậc của đỉnh i được phân biệt thành:
- Indegree: tổng số cạnh kết thúc tại đỉnh i, ký hiệu d in
- Outdegree: tổng số cạnh bắt đầu từ đỉnh i, ký hiệu d out
Mạng liên kết được biểu diễn là một đồ thị phân đôi với hai loại node V và H và các liên kết giữa chúng E h
Bảo vệ tính riêng tư cho dữ liệu bằng phương pháp nặc danh dựa trên nhóm
Các thuộc tính được chia thành các loại:
- Key identifier: là những thuộc tính xác định cụ thể cá thể như tên, số bảo hiểm xã hội
- Quasi-identifier (QI): các thuộc tính khi kết hợp với nhau sẽ xác định cụ thể cá thể như tuổi tác, zip-code, giới tính
- Sensitive: là những thuộc tính nhạy cảm như: bệnh, tiền lương, tiểu sử phạm tội
Trong nhiều ứng dụng, để bảo vệ dữ liệu, các thuộc tính xác định cụ thể như tên và số bảo hiểm xã hội thường bị loại bỏ Tuy nhiên, các thuộc tính quasi-identifier như tuổi, mã vùng và giới tính vẫn có thể được sử dụng để xác định chính xác cá thể Việc kết hợp những thuộc tính này trong một tập dữ liệu có thể giúp thu hẹp phạm vi tìm kiếm hoặc xác định các cá thể tương ứng, do đó việc loại bỏ các thuộc tính xác định không đủ để bảo vệ dữ liệu khỏi nguy cơ lộ thông tin Các phơi bày thông tin này được phân loại thành hai loại khác nhau.
Phơi bày định danh (identity disclosure) xảy ra khi một cá nhân bị liên kết với một dòng dữ liệu cụ thể trong bảng dữ liệu được khai thác.
- Phơi bày thuộc tính (attribute disclosure): là những thông tin mới của một cá thể nào đó bị bộc lộ
Kỹ thuật biến đổi dữ liệu gốc nhằm đảm bảo rằng bất kỳ sự kết hợp nào của các thuộc tính riêng tư của một cá thể đều có ít nhất k cá thể khác có cùng giá trị cho sự kết hợp đó trong dữ liệu khai thác Nhóm tối thiểu k dòng này được gọi là lớp tương đương (equivalence class).
Có 2 kỹ thuật được dùng để biến đổi một bảng đạt được k-anonymity:
Tổng quát hóa là quá trình thay thế các giá trị của một thuộc tính bằng một giá trị tổng quát hơn, dựa trên một phân cấp tổng quát hóa miền trị và một phân cấp tổng quát hóa giá trị tương ứng Phân cấp tổng quát hóa miền trị có thứ tự toàn phần, trong khi phân cấp tổng quát hóa giá trị tương ứng được thể hiện dưới dạng một cây, thể hiện mối quan hệ cha/con giữa tổng quát hóa và chuyên biệt hóa Kỹ thuật tổng quát hóa được chia thành hai loại.
Mức cell là phương pháp thay thế giá trị của một số ô bằng một giá trị tổng quát hơn, giúp hạn chế việc thay thế toàn bộ giá trị của một thuộc tính Tuy nhiên, phương pháp này cũng có nhược điểm là có thể dẫn đến sự không đồng nhất trong các giá trị của một thuộc tính cụ thể.
Mức thuộc tính cho phép thay thế giá trị của cột thuộc tính bằng các giá trị tổng quát hơn, giúp tạo ra sự đồng nhất trong dữ liệu Tuy nhiên, việc này cũng có thể dẫn đến sự thay đổi đáng kể trên dữ liệu gốc và mất mát nhiều thông tin quan trọng.
Kỹ thuật loại bỏ (Suppression) là phương pháp xóa thông tin nhạy cảm, có thể áp dụng cho từng ô (cell) nhận giá trị null hoặc unknown, toàn bộ một dòng hoặc cột Phương pháp này giúp giảm mức độ tổng quát hóa cần thiết để đạt được k-anonymity, tuy nhiên, việc loại bỏ thông tin cũng làm giảm độ chính xác của các ứng dụng khai phá dữ liệu trên tập dữ liệu đã bị biến đổi.
Một ví dụ về biến đổi dữ liệu để đạt k-anonymity
Marital status Sex Hours #tuples (Hyp values) divorced M 35 2 (0Y,2N) divorced M 40 17 (16Y,1N) divorced F 35 2 (0Y,2N) married M 35 10 (8Y, 2N) married F 50 9 (2Y,7N) single M 40 26 (6Y, 20N)
Bảng 2.1: Ví dụ đơn giản về bảng riêng tư [2]
Giả sử rằng Marital Status, Sex và Hour là các thuộc tính quasi-identifier, bảng 2.2 tổng hợp các hàng có giá trị giống nhau cho tất cả các thuộc tính này Cột #tuples thể hiện số lượng hàng giống nhau, trong khi cột Hyp.values cho biết số người bị cao huyết áp và số người không bị Cụ thể, hàng đầu tiên cho thấy có 2 người đã ly hôn, giới tính nam, làm việc 35 giờ trong tuần và không có ai bị bệnh cao huyết áp Mức độ nặc danh của bảng là k = 2, với phân cấp tổng quát hóa cho các thuộc tính được trình bày trong tài liệu tham khảo [6, chương 5, trang 108].
Hình 2.1: Thuộc tính Marital_status
Từ sơ đồ phân cấp này, giả sử ta tổng quát hóa mức thuộc tính cho thuộc tính Sex (từ S0 S1) ta được bảng có mức nặc danh k = 4
Marital status Sex Hours #tuples (Hyp values) divorced Any_sex 35 4 (0Y,4N) divorced Any_sex 40 17 (16Y,1N) married Any_sex 35 10 (8Y, 2N) married Any_sex 50 9 (2Y,7N)
Bảng 2.2: Tổng quát hóa bảng 2.1 dựa trên thuộc tính Sex Tiếp tục áp dụng tổng quát hóa mức thuộc tính lên thuộc tính Marital status (Từ M0
M1), ta được bảng với k = 9 như sau:
Marital status Sex Hours #tuples (Hyp values)
Bảng 2.3: Tổng quát hóa bảng 2.2 dựa trên thuộc tính Marital status
Tiếp tục áp dụng tổng quát hóa mức thuộc tính lên thuộc tính Marital status (Từ M1 M2), ta được bảng với k = 9, mức độ nặc danh không tăng lên
Marital status Sex Hours #tuples (Hyp values)
Any_marital_status Any_sex 35 14 (8Y,6N)
Any_marital_status Any_sex 40 43 (22Y,21N)
Any_marital_status Any_sex 50 9 (2Y,7N)
Bảng 2.4: Tổng quát hóa bảng 2.3 dựa trên thuộc tính Marital status
Tiếp tục áp dụng tổng quát hóa mức thuộc tính lên thuộc tính Hours (Từ H0
Marital status Sex Hours #tuples (Hyp values)
Any_marital_status Any_sex [1-40) 14 (8Y,6N)
Any_marital_status Any_sex [40-100) 52 (24Y,28N)
Bảng 2.5: Tổng quát hóa bảng 2.4 dựa trên thuộc tính Hour
Tiếp tục áp dụng tổng quát hóa mức thuộc tính lên thuộc tính Hours (Từ H1
Marital status Sex Hours #tuples (Hyp values)
Any_marital_status Any_sex [1-100) 66 (32Y,34N)
Bảng 2.6: Tổng quát hóa bảng 2.5 dựa trên thuộc tính Hour b ℓ – diversity (ℓ-đa dạng)
K-anonymity chỉ giúp chống tái xác định các cá thể chứ không đảm bảo che giấu các giá trị nhạy cảm Dựa vào đó, kẻ tấn công có thể suy luận chính xác hoặc gần đúng các giá trị nhạy cảm của các cá thể
Bảng 2.7: Thông tin bệnh nhân [2]
Bảng 2.8: Bảng 2.7 đã được nặc danh (4-anonymity) c T – closeness (t-gần nhau) [10]
Mô hình t-closeness là một cải tiến của mô hình ℓ-diversity, nhằm khắc phục hạn chế trong việc xử lý các giá trị thuộc tính mà không phân biệt sự phân phối của chúng trong tập dữ liệu Trong thực tế, sự chênh lệch lớn về tần suất xuất hiện của các giá trị thuộc tính trong tập dữ liệu làm cho việc xây dựng các biểu diễn ℓ-diversity trở nên khó khăn hơn.
Trong một tập dữ liệu với 100.000 dòng, chỉ có một thuộc tính nhạy cảm liên quan đến việc kiểm tra nhiễm virus, với 99% giá trị là negative và 1% là positive Sự chênh lệch này khiến giá trị negative chiếm ưu thế rõ rệt Do đó, việc tạo ra một bảng dữ liệu thỏa mãn ℓ-diversity với ℓ = 2 cho thuộc tính nhạy cảm này là không cần thiết Hơn nữa, không phải tất cả các giá trị của thuộc tính đều có mức độ nhạy cảm như nhau; ví dụ, giá trị positive có thể nhạy cảm hơn so với giá trị negative trong một số trường hợp nhất định.
Một hạn chế khác của ℓ-diversity là có thể không đủ mạnh để ngăn chặn phơi bày thuộc tính trong một số trường hợp:
Bảng 2.9: Thông tin tiền lương – bệnh
Bảng 2.10: Thông tin tiền lương – bệnh đã được đa dạng (3-diversity)
Giả sử kẻ tấn công muốn tìm thông tin của một bệnh nhân mà thuộc các dòng
Bảng 1, 2, 3 cho thấy thông tin nhạy cảm về bệnh nhân, bao gồm mức lương thấp và bệnh liên quan đến dạ dày, dẫn đến kiểu tấn công tương tự (Similarity) Định nghĩa t-closeness [10] giúp bảo vệ dữ liệu nhạy cảm này.
T-closeness là một khái niệm liên quan đến lớp tương đương, trong đó độ khác biệt giữa phân phối của thuộc tính nhạy cảm trong lớp tương đương và phân phối của cùng thuộc tính đó trong toàn bộ bảng không được vượt quá một ngưỡng t đã định Một bảng được xem là đạt tiêu chuẩn t-closeness khi tất cả các lớp tương đương của nó đều thỏa mãn điều kiện này Độ khác biệt giữa hai phân phối có thể được tính toán theo các phương pháp cụ thể.
Phân phối của một thuộc tính nhạy cảm trong một lớp tương đương được gọi là phân phối riêng biệt, trong khi phân phối của cùng thuộc tính nhạy cảm trong toàn bộ bảng được gọi là phân phối tổng thể Độ sai biệt giữa hai phân phối này được xác định để đánh giá mức độ nhạy cảm.
2.4 Bảo vệ tính riêng tƣ trong mạng xã hội, liên kết
2.4.1 Các vi phạm tính riêng tƣ trong mạng xã hội, liên kết [1,
Tiết lộ định danh (Identity Disclosure) bao gồm ba loại truy vấn chính Đầu tiên, truy vấn ánh xạ (Mapping query) tìm hồ sơ cá nhân v trong mạng xã hội G tương ứng với cá nhân cụ thể p và trả về p Thứ hai, truy vấn tồn tại (Existence query) xác định xem cá nhân p có hồ sơ v trong mạng G hay không, trả về true hoặc false Cuối cùng, truy vấn giải quyết đồng tham chiếu (Co-reference resolution query) kiểm tra xem hai hồ sơ cá nhân v i và v j có cùng tham chiếu đến một cá nhân p hay không, cũng trả về true hoặc false.
CÁC CÔNG TR NH LIÊN QUAN
TỔNG KẾT
Những công việc đã làm
Đề tài đã tìm hiểu các kiến thức về:
- Tìm hiểu khái niệm mạng xã hội, mạng liên kết
- Tìm hiểu cấu trúc mạng xã hội, cấu trúc đồ thị tương tác, cấu trúc mạng liên kết và hành vi người dùng
- Tìm hiểu các vấn đề về tính riêng tư và các phương pháp bảo vệ tính riêng tư trong mạng xã hội, liên kết
- Phân tích, đánh giá các kết quả nghiên cứu được.
Đóng góp của đề tài
Khai phá dữ liệu và bảo vệ tính riêng tư trong mạng xã hội là hai lĩnh vực nghiên cứu mới mẻ và thu hút sự quan tâm hiện nay Bài viết đã hệ thống hóa các vấn đề liên quan đến khái niệm và cấu trúc của mạng xã hội, đồng thời phân tích tính riêng tư và các phương pháp bảo vệ nó Ngoài ra, bài viết cũng chú trọng vào một số giải thuật nổi bật trong lĩnh vực này, từ đó đưa ra các nhận xét về kết quả nghiên cứu nhằm làm tiền đề cho các hướng phát triển trong tương lai.
Hướng phát triển
Nghiên cứu chỉ ra rằng các vi phạm về tính riêng tư trên mạng xã hội có thể dẫn đến rủi ro tiết lộ thông tin nhạy cảm như danh tính, thuộc tính cá nhân và các mối liên kết xã hội Mặc dù đã có nhiều phương pháp và giải thuật được đề xuất để bảo vệ tính riêng tư của người dùng, phần lớn chúng đều dựa vào k-anonymity Tuy nhiên, phương pháp này cũng gặp phải một số vấn đề nhất định.
Bảng 4.1: thông tin bệnh nhân
Bảng 4.2: thông tin bệnh nhân đã được nặc danh (4 – anonymity)
Tấn công đồng nhất (Homogeneity Attack)
Trong một lớp tương đương với k dòng, tất cả các giá trị của thuộc tính nhạy cảm đều giống nhau Mặc dù dữ liệu đã đạt được k-anonymity, nhưng giá trị của thuộc tính nhạy cảm trong nhóm k dòng này vẫn có thể được dự đoán một cách chính xác.
Ví dụ: Alice muốn biết bệnh nhân Bob đang bị bệnh gì và biết các thông tin của Bob như: 31 tuổi, quốc tịch Mỹ, zipcode = 13053 Từ bảng thông tin
Alice đã nặc danh 30 bệnh nhân và cho rằng thông tin về Bob chỉ xuất hiện trong các dòng 9, 10, 11, 12 Hơn nữa, tất cả những bệnh nhân này đều mắc bệnh ung thư, vì vậy Alice có thể kết luận rằng Bob cũng bị ung thư.
Tấn công dựa trên tri thức nền tảng (Background Knowledge Attack)
Kẻ tấn công có khả năng thu thập thông tin liên quan đến các cá nhân, từ đó xác định và hạn chế phạm vi của các thuộc tính nhạy cảm Những thông tin này được phân loại thành hai dạng chính.
Instance Level Background Knowledge: tri thức liên quan đến thuộc tính nhạy cảm của các cá thể cụ thể
Alice biết rằng Umeko, 21 tuổi, là người Nhật và sống tại Zipode 13086 Tuy nhiên, với thông tin hạn chế chỉ từ các dòng 1 đến 4, cô không thể xác định liệu Umeko có bị nhiễm virus hay mắc bệnh tim Dựa vào thông tin rằng "tỷ lệ người Nhật mắc bệnh tim rất thấp", Alice kết luận rằng Umeko gần như chắc chắn bị nhiễm virus.
Việc áp dụng kỹ thuật tổng quát hóa trong k-nặc danh có ảnh hưởng lớn đến dữ liệu, từ đó làm giảm giá trị khai thác thông tin từ dữ liệu đó.
Do đó có thể phát triển đề tài theo các hướng sau:
1 Tìm hiểu kỹ hơn về các giải thuật của các tác giả, hiện thực hoặc cải tiến các giải thuật Phân tích, đánh giá kết quả thực nghiệm trên các tập dữ liệu mẫu hoặc thực tế
2 Áp dụng các phương pháp khác ngoài k-anonymity để bảo vệ tính riêng tư tốt hơn như ℓ-diversity, t-closeness
3 Sử dụng các kỹ thuật khác ngoài tồng quát hóa để thực hiện biến đổi dữ liệu nhằm duy trì tối đa giá trị khai thác của dữ liệu