Tóm tắt báo cáo tổng kết đề tài khoa học và công nghệ cấp Đại học Đà Nẵng: Phân tích định lượng luồng thông tin trong bảo mật phần mềm

26 86 1
Tóm tắt báo cáo tổng kết đề tài khoa học và công nghệ cấp Đại học Đà Nẵng: Phân tích định lượng luồng thông tin trong bảo mật phần mềm

Đ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

Tóm tắt báo cáo tổng kết đề tài khoa học và công nghệ: Phân tích định lượng luồng thông tin trong bảo mật phần mềm có nội dung trình bày tổng quan về các phương pháp phân tích luồng tin; nghiên cứu tổng quan về vấn đề bảo mật thông tin trong các chương trình tính toán; tổng quan về các phương pháp phân tích định tính, định lượng luồng tin; khảo sát các nghiên cứu liên quan trong lĩnh vực của đề tài trong những năm gần đây. Entropy và phương pháp tiếp cận phân tích định lượng luồng tin; nghiên cứu các khái niệm entropy được sử dụng trong phân tích định lượng luồng tin; đánh giá tính chính xác của các phương pháp đã có đối với chương trình đa luồng; đề xuất các đại lượng tính toán mới cho các chương trình đa luồng. Kỹ thuật/Thuật toán ước lượng luồng tin cho các ứng dụng đa luồng. Case studies: Ứng dụng của phương pháp trong các trường hợp thực tiễn... Để tìm hiểu rõ hơn, mời các bạn cùng xem và tham khảo.

ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC BÁCH KHOA TÓM TẮT BÁO CÁO TỔNG KẾT ĐỀ TÀI KHOA HỌC VÀ CƠNG NGHỆ CẤP ĐẠI HỌC ĐÀ NẴNG PHÂN TÍCH ĐỊNH LƯỢNG LUỒNG THÔNG TIN TRONG BẢO MẬT PHẦN MỀM Mã số: B2016-ĐN02-13 Chủ nhiệm đề tài: TS NGƠ MINH TRÍ ĐÀ NẴNG, 05/2018 NHỮNG THÀNH VIÊN THAM GIA NGHIÊN CỨU ĐỀ TÀI TT Họ tên Đơn vị công tác lĩnh vực chuyên môn Nội dung nghiên cứu cụ thể giao TS Ngơ Minh Trí Khoa Điện tử - Viễn thông Chủ nhiệm TS Huỳnh Việt Thắng Khoa Điện tử - Viễn thơng Thành viên TS Nguyễn Quỳnh KS Vũ Vân Thanh Quang Như Khoa Điện tử - Viễn thông Khoa Điện tử - Viễn thông Thành viên Thư ký khoa học ĐƠN VỊ PHỐI HỢP CHÍNH Tên đơn vị ngồi nước Trường Đại học Bách khoa Twente, Hà Lan Nội dung phối hợp nghiên cứu Tư vấn phần thuật toán Họ tên người đại diện đơn vị GS Marieke Huisman MỤC LỤC MỤC LỤC a THÔNG TIN KẾT QUẢ NGHIÊN CỨU TỔNG QUAN VỀ ĐỀ TÀI Tổng quan tình hình nghiên cứu thuộc lĩnh vực đề tài nước Tính cấp thiết đề tài Mục tiêu đề tài Đối tượng, phạm vi nghiên cứu 5 Cách tiếp cận, phương pháp nghiên cứu Nội dung nghiên cứu CHƯƠNG CƠ SỞ LÝ THUYẾT BẢO MẬT THÔNG TIN 1.1 Entropy 1.1.1 Shannon Entropy 1.1.2 Min-entropy CHƯƠNG PHÂN TÍCH ĐỊNH LƯỢNG LUỒNG TIN RỊ RỈ CỦA CHƯƠNG TRÌNH 10 2.1.1 Phân tích định tính luồng thơng tin 10 2.1.2 Phân tích định lượng luồng thông tin 10 2.2 Lượng tin rò rỉ 11 CHƯƠNG THUẬT TOÁN ƯỚC LƯỢNG LUỒNG TIN RỊ RỈ CHO CÁC CHƯƠNG TRÌNH ĐA LUỒNG 13 3.1 Bảo mật luồng thông tin chương trình đa luồng 13 3.1.1 Chương trình đa luồng 13 3.1.2 Tính bảo mật chương trình đa luồng 13 3.1.3 Ảnh hưởng lập lịch chương trình đa luồng 14 3.1.4 Mơ hình chương trình đa luồng 15 3.2 Lượng tin rò rỉ chương trình đa luồng 16 3.2.1 Lượng tin rò rỉ theo vệt chương trình 16 3.2.2 Lượng tin rò rỉ chương trình đa luồng 17 3.2.3 Ví dụ minh hoạ 18 CHƯƠNG CHƯƠNG TRÌNH MƠ PHỎNG PHÂN TÍCH ĐỊNH LƯỢNG LUỒNG TIN 21 4.1 Tổng quan chương trình mơ 21 4.2 Cấu trúc chung chương trình mơ 21 a ĐẠI HỌC ĐÀ NẴNG Đơn vị: Trường Đại học Bách Khoa THƠNG TIN KẾT QUẢ NGHIÊN CỨU Thơng tin chung: - Tên đề tài: PHÂN TÍCH ĐỊNH LƯỢNG LUỒNG THÔNG TIN TRONG BẢO MẬT PHẦN MỀM - Mã số: B2016-ĐN02-13 - Chủ nhiệm đề tài: TS Ngơ Minh Trí - Tổ chức chủ trì: Trường Đại học Bách khoa – Đại học Đà Nẵng - Thời gian thực hiện: 10/2016 – 09/2018 Mục tiêu: - Mục tiêu 1: Xây dựng thuật tốn phân tích định lượng luồng tin cho chương trình đa luồng - Mục tiêu 2: Xây dựng quy trình đảm bảo an tồn, an ninh thơng tin cho ứng dụng, phần mềm Tính sáng tạo: Trong thời đại thông tin nay, liệu nguồn tài nguyên quý giá Vì vậy, đảm bảo tính bí mật cho thơng tin quan trọng nhiệm vụ có tầm ảnh hưởng đến tất lĩnh vực sống Chính phủ, qn đội, cơng ty, hệ thống tài chính, dịch vụ trực tuyến muốn đảm bảo liệu an tồn Nếu thông tin quan trọng rơi vào tay kẻ xấu, hậu nghiêm trọng, thông tin liên quan đến an ninh quốc gia Do đó, đứng trước thách thức cần phải làm để đảm bảo an tồn cho thơng tin, xác định phương thức hiệu cho mục tiêu Nhiều phương pháp bảo đảm an tồn, an ninh thơng tin cho ứng dụng đề xuất mật mã học (cryptography) hay điều khiển truy nhập hệ thống (access control) Tuy phương pháp hữu dụng chúng có giới hạn bản: chúng đảm bảo thông tin hệ thống bảo mật toàn vẹn từ đầu đến cuối (end-to-end) Một phương pháp thu hút ý cộng đồng bảo mật thông tin gần phương pháp phân tích luồng tin Phương pháp phân tích liệu hệ thống có tồn chép từ liệu mật đến liệu cơng cộng hay khơng Khi đó, người dùng truy xuất liệu mật thông qua liêu công cộng Trong thực tiễn, nhiều ứng dụng, dịch vụ mạng, sở liệu hay hệ điều hành chương trình đa luồng tác nhiệm thực thi đồng thời, song song với Cùng với phát triển máy tính với xử lý đa lõi, chương trình đa luồng trở nên phổ biến Tuy nhiên, việc đảm bảo an tồn, an ninh thơng tin cho ứng dụng chương trình đa luồng khó khăn Đó khó truy vết phụ thuộc lẫn dòng tin tác nhiệm chạy song song với Hiện tại, có nhiều nhà nghiên cứu quan tâm đến lĩnh vực phương pháp tiếp cận chưa đạt hiệu mong muốn Mục tiêu đề tài xây dựng phương pháp hữu hiệu để phân tích tính bảo mật cho chương trình phần mềm đa luồng Kết nghiên cứu: Phương pháp phân tích định lượng luồng tin cho chương trình đa luồng Sản phẩm: - Sản phẩm khoa học: 01 báo tạp chí khoa học chuyên ngành quốc tế (SCI,Q2) 01 báo hội nghị quốc tế (Springer) (Trong thuyết minh, đề tài đăng ký báo tạp chí khoa học chuyên ngành nước) - Sản phẩm ứng dụng: Phương pháp/thuật tốn phân tích định lượng luồng tin cho chương trình - Báo cáo phân tích - Sản phẩm đào tạo: Thạc sĩ: Dương Tuấn Quang, Đề tài: Phân tích định lượng luồng tin bảo mật chương trình đa luồng Ngành Kỹ thuật Điện tử, K35 (Trong thuyết minh khơng có sản phẩm đào tạo q trình thực đề tài, đào tạo 01 ThS.) Phương thức chuyển giao, địa ứng dụng, tác động lợi ích mang lại kết nghiên cứu: TỔNG QUAN VỀ ĐỀ TÀI Tổng quan tình hình nghiên cứu thuộc lĩnh vực đề tài nước Ngoài nước: phương pháp phân tính định tính luồng tin ứng dụng bảo mật phần mềm nghiên cứu rộng rãi từ nhiều năm Tuy nhiên, phương pháp định lượng luồng tin bị rò rỉ ứng dụng nghiên cứu gần đây, chủ yếu cho chương trình đơn luồng đơn giản Cụ thể qua công bố sau: [1] Miguel E Andrés, Catuscia Palamidessi, Geoffrey Smith: Preface to the special issue on quantitative information flow Mathematical Structures in Computer Science 25(2): 203-206 (2015) [2] Catuscia Palamidessi: Quantitative Approaches to the Protection of Private Information: State of the Art and Some Open Challenges POST 2015: 3-7 [3] Barbara Espinoza, Geoffrey Smith: Min-entropy as a resource Inf Comput 226: 57-75 (2013) [4] Geoffrey Smith: Recent Developments in Quantitative Information Flow (Invited Tutorial) LICS 2015: 23-31 Trong đề tài này, nghiên cứu phương pháp định lượng luồng tin cho chương trình phần mềm đa luồng Trong nước: theo hiểu biết chủ nhiệm đề tài tại, Việt Nam khơng có nhóm nghiên cứu nghiên cứu lĩnh vực Tính cấp thiết đề tài Trong thời đại thông tin nay, liệu nguồn tài nguyên quý giá Vì vậy, đảm bảo tính bí mật cho thơng tin quan trọng nhiệm vụ có tầm ảnh hưởng đến tất lĩnh vực sống Chính phủ, qn đội, cơng ty, hệ thống tài chính, dịch vụ trực tuyến muốn đảm bảo liệu an tồn Nếu thông tin quan trọng rơi vào tay kẻ xấu, hậu nghiêm trọng, thông tin liên quan đến an ninh quốc gia Do đó, đứng trước thách thức cần phải làm để đảm bảo an tồn cho thơng tin, xác định phương thức hiệu cho mục tiêu Nhiều phương pháp bảo đảm an tồn, an ninh thơng tin cho ứng dụng đề xuất mật mã học (cryptography) hay điều khiển truy nhập hệ thống (access control) Tuy phương pháp hữu dụng chúng có giới hạn bản: chúng đảm bảo thông tin hệ thống bảo mật toàn vẹn từ đầu đến cuối (end-to-end) Một phương pháp thu hút ý cộng đồng bảo mật thông tin gần phương pháp phân tích luồng tin Phương pháp phân tích liệu hệ thống có tồn chép từ liệu mật đến liệu cơng cộng hay khơng Khi đó, người dùng truy xuất liệu mật thông qua liêu công cộng Trong thực tiễn, nhiều ứng dụng, dịch vụ mạng, sở liệu hay hệ điều hành chương trình đa luồng tác nhiệm thực thi đồng thời, song song với Cùng với phát triển máy tính với xử lý đa lõi, chương trình đa luồng trở nên phổ biến Tuy nhiên, việc đảm bảo an tồn, an ninh thơng tin cho ứng dụng chương trình đa luồng khó khăn Đó khó truy vết phụ thuộc lẫn dòng tin tác nhiệm chạy song song với Hiện tại, có nhiều nhà nghiên cứu quan tâm đến lĩnh vực phương pháp tiếp cận chưa đạt hiệu mong muốn Mục tiêu đề tài xây dựng phương pháp hữu hiệu để phân tích tính bảo mật cho chương trình phần mềm đa luồng Mục tiêu đề tài - Mục tiêu 1: Xây dựng thuật toán phân tích định lượng luồng tin cho chương trình đa luồng - Mục tiêu 2: Xây dựng quy trình đảm bảo an tồn, an ninh thơng tin cho ứng dụng, phần mềm Đối tượng, phạm vi nghiên cứu - Đối tượng nghiên cứu: Nghiên cứu đặc tính chương trình phần mềm đa luồng Nghiên cứu phương pháp phân tích định lượng luồng thơng tin cho chương trình phần mềm đa luồng - Phạm vi nghiên cứu: Quy trình bảo mật dựa kỹ thuật phân tích định lượng luồng tin cho chương trình đa luồng Cách tiếp cận, phương pháp nghiên cứu - Cách tiếp cận: Kế thừa cơng trình nghiên cứu phân tích định tính luồng tin cho chương trình đa luồng trước chủ nhiệm đề tài nghiên cứu gần phân tích định lượng luồng tin cho chương trình đơn luồng nhóm nghiên cứu khác giới, chủ nhiệm đề tài đề xuất phương pháp thuật tốn để ước tính luồng tin bị rị rỉ ứng dụng đa luồng - Phương pháp nghiên cứu: - Xem xét cơng trình liên quan, so sánh đánh giá ưu điểm khuyết điểm phương pháp có - Đề xuất thuật tốn phân tích định lượng luồng tin cho chương trình đa luồng - Xây dựng chương trình tính tốn - Kiểm tra tính hiệu phương pháp đề xuất dựa việc phân tích đánh giá kết đạt so với phương pháp trước Nội dung nghiên cứu Nội dung 1: Tổng quan phương pháp phân tích luồng tin + Nghiên cứu tổng quan vấn đề bảo mật thông tin chương trình tính tốn + Tổng quan phương pháp phân tích định tính, định lượng luồng tin + Khảo sát nghiên cứu liên quan lĩnh vực đề tài năm gần Nội dung 2: Entropy phương pháp tiếp cận phân tích định lượng luồng tin + Nghiên cứu khái niệm entropy sử dụng phân tích định lượng luồng tin + Đánh giá tính xác phương pháp có chương trình đa luồng + Đề xuất đại lượng tính tốn cho chương trình đa luồng + Viết báo cáo khoa học Nội dung 3: Kỹ thuật/Thuật toán ước lượng luồng tin cho ứng dụng đa luồng + Đề xuất thuật tốn định lượng dịng tin cho chương trình đa luồng + Viết báo cáo khoa học Nội dung 4: Case studies: Ứng dụng phương pháp trường hợp thực tiễn + Áp dụng phương pháp vào chương trình thực tiễn + Đánh giá, so sánh kết đạt + Viết báo cáo khoa học Nội dung 5: Kết luận/Đánh giá đề tài/Định hướng phát triển đề tài + Viết báo cáo tổng kết toàn đề tài, sở tổng hợp tất cơng trình nghiên cứu cơng bố liên quan đến đề tài CHƯƠNG CƠ SỞ LÝ THUYẾT BẢO MẬT THÔNG TIN 1.1 Entropy Lượng tin riêng tin ∈ có ý nghĩa tin mà thơi, khơng phản ánh giá trị tin tức nguồn Nói cách khác, đánh giá mặt tin tức tin đứng riêng rẽ khơng đánh giá tin tức tập hợp chứa tin Từ dẫn đến khái niệm giá trị trung bình củ thơng tin Giá trị trung bình cịn gọi lượng tin trung bình trình bày trên, hay cịn gọi entropy Để tính tốn lượng tin trung bình, lý thuyết thơng tin sử dụng khái niệm entropy, ℋ, để xác định bất định việc dự đoán giá trị biến ngẫu nhiên Ở đây, ta xem xét hai loại entropy sử dụng khái niệm khía cạnh bảo mật thơng tin trình bày chương 1.1.1 Shannon Entropy Định nghĩa 1.7 [Shannon entropy [10]] Gọi x, entropy ℋ xác suất biến X nhận giá trị biến ngẫu nhiên X định nghĩa sau: ℋ = log ∈ Entropy có đơn vị tính bit, xác định độ bất định biến ngẫu nhiên Về bản, entropy lượng bit thơng tin trung bình dung để mơ tả biến ngẫu nhiên Ví dụ Entropy biến ngẫu nhiên mơ tả q trình tung hạt xúc xắc (với xác suất xuất mặt 1/6) ∑ ∈ ,…, log ≈ 2.58 !" Giả sử hạt xúc xắc có lượng khơng khiến cho mặt số sáu luôn xuất lần gieo (hay phân bố xác suất gieo mặt số sáu xác suất gieo mặt lại 0), entropy biến ngẫu nhiên lúc ∑ ∈ ,…,$ log + ∑ ∈ log = !" Điều có nghĩa giá trị biến ngẫu nhiên xác định, ln dự đốn xác Định nghĩa entropy cho biến ngẫu nhiên mở rộng cho hai biến ngẫu nhiên, gọi entropy hợp Như xác định theo cơng thức trên, có giá trị phân bố xác suất lớn tập phân bố xác suất biến ngẫu nhiên X sử dụng để tính tốn min-entropy Điều có nghĩa min-entropy quan tâm đến thành phần có ảnh hưởng lớn đến kết Định nghĩa 1.12 [Min-entropy có điều kiện theo Smith [5]] Min-entropy có điều kiện biến ngẫu nhiên X với biến ngẫu nhiên Y cho trước xác định theo công thức sau: ℋ892:; |& = − 345 (∈) & = ' ∙ 67 ∈ = |& = ' Định nghĩa 1.13 [Min-entropy có điều kiện theo Cachin [7]] Min-entropy có điều kiện biến ngẫu nhiên X với biến ngẫu nhiên Y cho trước xác định theo công thức sau: ℋ=>?;21 |& = − (∈) & = ' ∙ 345 67 ∈ = |& = ' CHƯƠNG PHÂN TÍCH ĐỊNH LƯỢNG LUỒNG TIN RỊ RỈ CỦA CHƯƠNG TRÌNH 2.1.1 Phân tích định tính luồng thơng tin Một phương pháp phân tích luồng tin phương pháp phân tích định tính luồng thơng tin Phương pháp xác định thơng tin bí mật có bị tiết lộ thơng qua thơng tin cơng cộng hay khơng Nếu có, hệ thống bị xem không bảo mật Luồng thông tin luồng di chuyển thơng tin từ biến đến biến khác chương trình hay hệ thống thơng tin Trong phương pháp phân tích luồng thơng tin, biến gán mức độ bảo mật Thơng thường, mơ hình bao gồm hai mức độ bảo mật: thấp (low) (L) cao (high) (H), hay cịn gọi thơng tin cơng cộng quan sát (publicly observable) thơng tin bí mật (private) Phương pháp phân tích định tính luồng thơng tin xác định liệu có luồng thông tin từ mức độ bảo mật cao di chuyển đến mức độ bảo mật thấp hay không Ví dụ với chương trình đây: @ A > !ℎDE F ≔ 0 D3"D F ≔ 1; S biến bí mật, O biến cơng cộng, khơng thoả mãn tính chất định tính bảo mật, thơng qua giá trị O, người cơng biết thơng tin S 2.1.2 Phân tích định lượng luồng thơng tin Nếu mục đích phân tích định tính nhằm xác định hệ thống có an tồn không cách trả lời câu hỏi hệ thống có bị rị rỉ thơng tin hay khơng, phân tích định lượng, ngồi việc xác định luồng di chuyển thơng tin, cịn cho phép xác định hay ước lượng lượng tin mà người cơng thu thập hệ thống bị bảo mật Hay nói cách khác, phân tích định lượng cho phép xác định có lượng thơng tin bị tiết lộ bên ngồi trường hợp hệ thống rị rỉ thơng tin Rõ ràng, phương pháp phân tích định lượng hiệu khía cạnh bảo mật thơng tin Phương pháp phân tích luồng thơng tin có u cầu xác định có lượng thơng tin bị tiết lộ gọi phương pháp định lượng luồng thông tin (Quantitative Information Flow) Như trình bày trên, tính chất khơng can nhiễu sử dụng để chứng minh hệ thống hoạt động an toàn, tính can nhiễu số điểm khơng hoạt động tốt Tuy nhiên, điều trường hợp can nhiễu lớn mức ngưỡng (threshold) Một ví dụ điển hình hệ thống thông tin sử dụng điều khiển truy cập Để đăng nhập vào hệ thống, người sử dụng cần phải thực bước chứng thực cách sử dụng khố mật Trong q trình này, thông tin chứng thực nhập vào hay sai, làm rỏ rỉ phần nhỏ lượng thơng tin Điều giải thích người công sử dụng sai mật khẩu, mật khơng phải mật đúng, từ làm tiết 10 lộ phần nhỏ thơng tin bí mật Trường hợp này, hệ thống xuất can nhiễu Nếu can nhiễu đủ nhỏ, ta xem hệ thống đảm bảo tính bảo mật Để q trình phân tích định lượng luồng tin rõ ràng sáng tỏ, giả sử rằng: Thứ nhất, chương trình ln ln kết thúc, người cơng biết mã nguồn chương trình Chúng ta giới hạn chương trình có đầu vào có độ bảo mật cao S đầu có độ bảo mật thấp O Mục tiêu tính tốn lượng thơng tin S bị thu cách quan sát O Chúng ta giả sử tập giá trị liệu hữu hạn Thứ hai, giả sử có phân bố xác suất tiền định, biết trước giá trị biến bí mật Cuối cùng, mơ hình sử dụng phân tích mơ hình lần thử (one-try guessing), có nghĩa sau quan sát đầu chương trình, người cơng dự đốn giá trị S lần Mơ hình phù hợp với nhiều trường hợp an ninh, ví dụ hệ thống kích hoạt chng báo động khố tài khoản người công bấm sai mật lần Xét số ví dụ để hiểu rõ lượng tin bị tiết lộ thực thi chương trình bên dưới: H F ≔ A; H F ≔ A 64I 2; HJ @ A == !ℎDE F ≔ 0 D3"D F ≔ 1; S biến bí mật, O biến cơng cộng Chương trình H , người cơng biết hồn tồn thơng tin bí mật S Chương trình H cho biết biến S chẵn hay lẻ thông qua biến O, hay chương trình làm tiết lộ bit thơng tin S Tương tự, chương trình HJ làm bit thông tin S di chuyển vào O, O biết biến S có hay khơng Ta nhận thấy q trình thực thi chương trình làm giảm khơng chắn thơng tin bí mật gây tiết lộ thông tin Phương pháp định lượng luồng thơng tin cung cấp cơng cụ để tính tốn lượng thơng tin bị tiết lộ, từ so sánh với mức ngưỡng cho trước để xác định chương trình có bảo mật hay khơng Các phương pháp tính tốn định lượng luồng thơng tin chủ yếu dựa sở lý thuyết thơng tin Shannon Để tính tốn định lượng thơng tin, ta xem chương trình kênh thơng tin Khi đó, lý thuyết tốn học thơng tin Shannon phù hợp để tính tốn lượng thơng tin qua kênh truyền 2.2 Lượng tin rị rỉ 11 Phương pháp phân tích định lượng cổ điển sử dụng lý thuyết thông tin để mơ hình luồng thơng tin định nghĩa luồng thơng tin rò rỉ Điều phương pháp xem chương trình kênh thơng tin Cho kênh thơng tin ℳ có thơng số sau ℳ = , &, L X biểu diễn tập hữu hạn giá trị bí mật đầu vào, Y biểu diễn tập hữu hạn giá trị đầu quan sát được, M ma trận kênh | | × |&| chứa xác suất có điều kiện '| với ∈ ' ∈ & Mỗi phần tử ma trận M giá trị thực khoảng 1, tổng hàng Về bản, phương pháp phân tích định lượng luồng tin cổ điển mơ hình chương trình kênh đầu vào-đầu tiêu chuẩn với biến bí mật S đầu vào O biến đầu công cộng Phương pháp phân tích có thông tin S mà người công thu từ thơng tin quan sát từ O Hay nói cách khác, tính tốn lượng tin rị rỉ chương trình Giả sử chương trình P mơ ma trận kênh với S đầu vào O đầu Lượng tin rò rỉ P định nghĩa hiệu độ bất định mà người công biết S trước thực thi chương trình độ bất định sau quan sát O Gọi ℋ A độ bất định ban đầu, ℋ A|F độ bất định sau chương trình thực thi đầu quan sát Lúc này, lượng tin rị rỉ chương trình cho bởi, ℒ O = ℋ A − ℋ A|F Trong ℒ O lượng tin rò rỉ P ℋ tính theo định nghĩa Shannon định nghĩa min-entropy Lượng tin rị rỉ có đơn vị tính bit 12 CHƯƠNG THUẬT TỐN ƯỚC LƯỢNG LUỒNG TIN RỊ RỈ CHO CÁC CHƯƠNG TRÌNH ĐA LUỒNG 3.1 3.1.1 Bảo mật luồng thông tin chương trình đa luồng Chương trình đa luồng Có nhiều hệ thống yêu cầu tính bảo mật cao hoạt động dựa sở đa luồng tin (multi-threading) Khái niệm đa luồng tin sử dụng để hệ thống có nhiều tiến trình hoạt động song song đồng thời với Một số ví dụ hệ thống dịch vụ hướng web (web-based services), sở liệu hệ điều hành Cùng với phổ biến vi xử lý đa nhân, hay hệ thống song song xử lý đồ hoạ, đa luồng dần trở thành tiêu chuẩn xử lý thông tin Tuy nhiên, để đảm bảo vấn đề bảo mật chương trình đa luồng thách thức thực sự, liệu chương trình thường khó dự đốn q trình thực thi chương trình, khó để dự đốn người cơng quan sát Xét ví dụ chương trình đa luồng bên dưới, với A biến lưu thơng tin bí mật, F biến lưu thơng tin cơng cộng, A ∈ P (tập biến có mức độ bảo mật cao, thơng tin bí mật), F ∈ Q (tập biến có mức độ bảo mật thấp, thơng tin cơng cộng quan sát được) Ví dụ (Chương trình đa luồng) F ≔ 0; @ F = !ℎDE F ≔ A D3"D "R F ≔ 1; ∥ F ≔ 1; Gọi O O hai toán hạng bên trái bên phải toán tử song song ∥ O O hai luồng chương trình đa luồng Khi thực thi chương trình này, ta thu vệt chương trình T|U theo biến F, trạng thái F thực chương trình, phụ thuộc vào luồng thực trước W0,1,1X EếZ O !ℎự\ ℎ ệE !^ướ\ T|U = V W0,1, A, 1X EếZ O !ℎự\ ℎ ệE !^ướ\ 3.1.2 Tính bảo mật chương trình đa luồng Như trình bày trên, tính chất khơng can nhiễu (non-interference) tính chất bảo mật thường sử dụng chương trình Tính chất khơng can nhiễu chương trình xem bảo mật tập giá trị cuối có biến 13 công cộng độc lập với tập giá trị ban đầu biến bí mật Tuy nhiên, tính chất lại khơng phù hợp với chương trình đa luồng Có hai lý để giải thích điều Thứ nhất, trao đổi kết trung gian trình thực thi chương trình đa luồng, việc phân tích lng thơng tin cần phải xem xét them rị rỉ thơng tin trạng thái trung gian Xét lại Ví dụ (chương trình đa luồng), chương trình xem bảo mật, giá trị cuối F độc lập với giá trị ban đầu A Tuy nhiên, chương trình rị rỉ tồn thơng tin bí mật, người cơng truy cập A thơng qua trạng thái trung gian vệt liệu công cộng luồng O thực trước Do đó, định nghĩa tính chất khơng can nhiễu xét đến rị rỉ thơng tin trạng thái cuối chưa đủ để đảm bảo tính bảo mật chương trình đa luồng Trong trường hợp này, cần phải đảm bảo liệu bí mật khơng bị tiết lộ tồn tiến trình thực thi chương trình đa luồng, trình tự trạng thái trình thực thi chương trình Thứ hai, chương trình đa luồng thực thi luồng từ tập luồng không kết thúc Trong trình thực thi này, lập lịch lựa chọn lập lặp lại luồng thực thi với xác suất xác định Do đó, vệt liệu chương trình đa luồng phụ thuộc vào lập lịch áp dụng chương trình Trong trường hợp này, sử dụng khái niệm chương trình có tính xác suất (probabilistic programs), giả sử biết trước xác suất lập lịch lựa chọn luồng 3.1.3 Ảnh hưởng lập lịch chương trình đa luồng Vì đầu chương trình đa luồng phụ thuộc vào lập lịch, để xây dựng mơ hình phù hợp cho chương trình đa luồng, cần phải biết người cơng thu thơng tin dựa lập lịch lựa chọn Ta xem xét ví dụ bên Ví dụ: F ≔ A/2 ∥ F ≔ A 64I 2 Giả sử người công thực thi chương trình với lập lịch có xác suất phân bố đều, nghĩa lập lịch chọn hai luồng để thực với xác suất Nếu A có kiểu liệu 2-bit có phân bố đều, có vệt chương trình có với xác suất xuất hiện, 00,01,10,11 14 S T|U 0 1 1 0 0 1 Nếu vệt chương trình thu 00 11, người công biết xác A tương ứng 0, Tuy nhiên, vệt chương trình 01 10, người dự đốn A hoặc 2, với xác suất xác Do đó, với lập lịch này, thơng tin bí mật khơng bị tiết lộ hồn tồn Tuy nhiên, người cơng sử dụng lập lịch luôn chọn luồng F ≔ A/2 để thực trước, có vệt chương trình có 00,01,10,11 Tuy nhiên trường hợp này, người cơng ln biết xác giá trị A Vì vậy, để xây dựng mơ hình phân tích định lượng luồng tin cho chương trình đa luồng, ta cần phải xem xét số yếu tố sau: (1) giá trị biến công cộng trạng thái trung gian có ảnh hưởng đến liệu bí mật mà người cơng thu được, (2) ảnh hưởng lập lịch đến lượng thơng tin rị rỉ chương trình 3.1.4 Mơ hình chương trình đa luồng Mơ hình chương trình đa luồng xây dựng dựa lập lịch có tính xác suất Định nghĩa 3.1 (Mơ hình chương trình đa luồng) Mơ hình chương trình biểu diễn dạng b = 〈d, ℐ, e7^, f, →〉, đó: d tập trạng thái có chương trình, ℐ ∈ d trạng thái e7^ = P ∪ Q tập hữu hạn biến chương trình đa luồng Hàm nhãn f ∶ d → k A , với A ∈ P, đánh nhãn trạng thái với phân bố xác suất biến bí mật A, nghĩa ánh xạ phân bố xác suất l ∈ k A đến trạng thái \ ∈ d, mô tả thông tin mà người công biết A trạng thái → mối quan hệ chuyển trạng thái, → ⊆ d → k A Phân bố xác suất A thay đổi từ trạng thái sang trạng thái dọc theo đường thực thi chương trình, phụ thuộc vào giá trị biến cơng cộng trạng thái lệnh chương trình Xét chương trình bên dưới: F ≔ A/2 ∥ F ≔ A 64I 2 15 Giả sử người công biết trước giá trị A khoảng 0, 1, 2, , A có phân bố xác suất đều: o = p0 ↦ , ↦ , ↦ , ↦ s Với lập lịch lựa chọn hai luồng để r r r r thực thi trước với xác suất nhau, có chung kết F, với F = Nếu luồng F ≔ A/2 thực thi trước, ta có phân bố xác suất cập nhật lại p0 ↦ 0, ↦ 0, ↦ , ↦ s Ngược lại, luồng F ≔ A 64I 2 thực thi trước, phân bố xác suất lúc p0 ↦ 0, ↦ , ↦ 0,3 ↦ s Ta nhận thấy chương trình có biến đổi phân bố xác suất, từ phân bố xác suất ban đầu A trạng thái đến phân bố xác suất cuối trạng thái kết thúc Bằng cách quan sát thay đổi phân bố xác suất này, người cơng biết thơng tin liệu bí mật ban đầu Mục tiêu phân tích định lượng luồng thơng tin tính tốn, đo đạc lượng thơng tin bí mật mà người cơng thu dựa quan sát 3.2 3.2.1 Lượng tin rị rỉ chương trình đa luồng Lượng tin rị rỉ theo vệt chương trình Ví dụ cách tính lượng tin rị rỉ theo vệt chương trình Ví dụ F ≔ 0; F ≔ A & 001 F ≔ A & 011 Gọi " " "J u u biểu diễn giá trị nhị phân A Giả sử phân bố ban đầu A phân bố Quá trình thực thi chương trình vệt chương trình sau, 〈 000 u 〉 ⟶ 〈 00" u 〉 ⟶ 〈 0" " u 〉, 〈 〉 biểu diễn giá trị biến công cộng F u Giả sử " = " = 1, vệt chương trình thu trở thành 〈 000 u 〉 ⟶ 〈 001 u 〉 ⟶ 〈 011 u 〉 Tại trạng thái ban đầu 〈 000 u 〉, độ bất định người công biểu diễn phân bố xác suất A, p0 ↦ w , ↦ w , ↦ w , ↦ w , ↦ w , ↦ w , ↦ w , ↦ ws Tại trạng thái 〈 001 u 〉, người công biết bit cuỗi A 1, hay A không chẵn Lúc này, phân bố xác suất cập nhật p0 ↦ 0, ↦ r , ↦ 0, ↦ r , ↦ 0, ↦ r , ↦ 0, ↦ rs 16 s Tương tự, trạng thái 〈 011 u 〉, phân bố xác suất cập nhật lại p3 ↦ , ↦ Dựa vào phân bố xác suất cuối A, người công biết giá trị A Độ bất định lúc giảm xuống dựa vào giá trị biến cơng cộng quan sát Vì chương trình có biến đổi phân bố xác suất, phân bố xác suất biến bí mật trạng thái ban đầu biểu diễn cho độ bất định ban đầu người cơng thơng tin bí mật, phân bố xác suất biến bí mật trạng thái cuối biểu diễn độ bất định cịn lại, sau quan sát chương trình thực thi Từ đó, lượng tin rị rỉ chương trình tính bằng: Lượng tin rị rỉ = Độ bất định ban đầu – Độ bất định lại Tính độ bất định Với phân bố xác suất bí mật cho trước, mơ hình dự đốn cho lần thử, phương án tốt chọn giá trị với xác suất lớn nhất, có nghĩa xác suất cho việc dự đoán sai nhỏ Gọi { tập giá trị A, giá trị ảnh hưởng đến độ bất định 67 |∈} " Nếu 67 |∈} " = 1, mức độ bất định phải 0, lúc người cơng biết hồn tồn giá trị A Do đó, biểu thức tính độ bất định trừ logarithm 67 " , hay độ bất định = − 345 67 |∈} " , dấu “-” biểu thị cho không âm độ bất định Biểu thức hoàn toàn phù hợp với cơng thức tính min-entropy Rényi |∈} Định nghĩa 3.2 Gọi ~ tập hữu hạn giá trị biến ngẫu nhiên Biểu thức tính min- entropy Rényi X định nghĩa bởi: ℋ/é1(2 = 345 67 ∈ = − 345 67 ∈ Với phân bố xác suất A cho trước, độ bất định người cơng thơng tin bí mật là: Độ bất định = ℋ/é1(2 A Do vậy, lượng thông tin rị rỉ theo vệt chương trình T, ℒ T , tính theo cơng thức, ℒ T = ℋ/é1(2 •A€2 • − ℋ/é1(2 •A€ • ‚ ℋ/é1(2 •A€2 • min-entropy A ứng với phân bố xác suất ban đầu, ℋ/é1(2 •A€ • ‚ min-entropy tương ứng với phân bố xác suất cuối cùng, thời điển trạng thái cuối kết thúc chương trình 3.2.2 Lượng tin rị rỉ chương trình đa luồng Quá trình thực thi chương trình đa luồng O điều khiển lập lịch ƒ có kết tập vệt chương trình T^7\D b„ Do đó, lượng tin rị rỉ O giá trị rị rỉ tính tất vệt chương trình 17 ℒ O, o = = €∈€…>?† b‡ €∈€…>?† b‡ T ∙ℒ T T ∙ ˆℋ/é1(2 •A€2 • − ℋ/é1(2 •A€ •‰ ‚ Vì ℋ/é1(2 •A€2 • T ∈ T^7\D b„ , ta viết lại ℋ/é1(2 •A • Biểu thức trở thành, với 3.2.3 ℒ O, o = ℋ/é1(2 •A • − €∈€…>?† b‡ T xác suất tích luỹ dọc theo vệt chương trình T T ∙ ℋ/é1(2 •A€ • ‚ Ví dụ minh hoạ Ví dụ minh hoạ phương pháp tính lượng tin rị rỉ chương trình đa luồng Xét chương trình bên dưới, A biến kiểu nguyên không dấu 3-bit, F ≔ 0; @ F = !ℎDE F ≔ A⁄4 D3"D F ≔ A 64I 2 ∥ F ≔ 1; F ≔ A 64I 4; Quá trình thực thi chương trình này, với lập lịch phân bố đều, ta thu 20 trạng thái đánh số từ (trạng thái ban đầu) đến 19 Nội dung trạng thái giá trị biến F trạng thái Ví dụ, trạng thái ban đầu, giá trị F 0, tương ứng với dịng lệnh chương trình F ≔ Gọi O O luồng chương trình bên trái bên phải Vì áp dụng lập lịch phân bố đều, việc lựa chọn O hay O để thực thi trước có xác suất Nếu lập lịch lựa chọn O thực trước O , trạng thái chuyển sang trạng thái 1, với F = Ngược lại, O thực trước, trạng thái chuyển sang trạng thái với xác suất r Vì giá trị F trạng thái 0, câu lệnh F ≔ A 64I 2 thực Vì tập giá trị của A 0, 1, 2, 3, 4, 5, 6, , giá trị F (trạng thái 2) A ∈ 0, 2, 4 ,6 , (trạng thái 3) A ∈ 1, 3, 5, Tại trạng thái 1, chương trình chuyển sang trạng thái trạng thái với xác suất Lúc này, F = 1, nên câu lệnh F ≔ A⁄4 thực Do đó, giá trị F A ∈ 0, 1, 2, , A ∈ 4, 5, 6, Chương trình kết thúc câu lệnh cuối thực hiện, F ≔ A 64I 4 18 Tại trạng thái ban đầu, độ bất định người công biến A tuân theo phân bố xác suất sau, 1 1 1 1 o = V0 ↦ , ↦ , ↦ , ↦ , ↦ , ↦ , ↦ , ↦ ‹ 8 8 8 8 Tại trạng thái 1, phân bố xác suất A không thay đổi, người công chưa thu thông tin thông qua câu lệnh F ≔ Tại trạng thái 4, kết câu lệnh F ≔ A⁄4 0, người công biết giá trị thực A nằm tập 0, 1, 2, , với xác suất giống Do đó, phân bố xác suất cập nhật A trạng thái là: p0 ↦ , ↦ , ↦ , ↦ s r r r r Tiếp theo, câu lệnh F ≔ A 64I 4 thực hiện, người công biết giá trị A xác Ví dụ, trạng thái 8, F = 0, phân bố xác suất A là: ↦ Tương tự trạng thái 9, …, 15, người công biết giá trị xác A dựa phân bố xác suất cuối Ở trạng thái 2, kết câu lệnh F ≔ A 64I 2 cho kết F = 0, phân bố xác suất trạng thái là: p0 ↦ r , ↦ r , ↦ r , ↦ rs Phân bố xác suất không thay đổi trạng thái 6, thực thi câu lệnh F ≔ không thu thêm thông tin Tại trạng thái 16, cập nhật phân bố A là: p0 ↦ r , ↦ rs, kết câu lệnh F ≔ A 64I 4 Tương tự với trạng thái 17, 18, 19, ta có phân bố xác suất có dạng tương tự Chương trình kết thúc với 12 vệt chương trình Trong tổng số 12 vệt chương trình này, có vệt chương trình có độ bất định cuối 0, hay ℋ/é1(2 •A€ • = − log = 0, vệt ‚ chương trình cịn lại có độ bất định 1, hay ℋ/é1(2 •A€ • = − log ‚ = Xác suất xảy vệt chương trình với độ bất định bằng với xác suất xảy vệt chương trình với độ bất định Do đó, theo phân tích trên, lượng tin rị rỉ là, 1 ℒ O, o = − Œ ∙ + ∙ 1• = 2.5 2 !" Giá trị tính tốn phù hợp với lượng tin rị rỉ thực chương trình Rõ ràng câu lệnh F ≔ A 64I 4 làm tiết lộ bits thông tin A Bit bị tiết lộ với xác suất , tuỳ thuộc vào lập lịch lựa chọn thực luồng O trước hay khơng Chính vậy, lập lịch có phân bố đều, lượng tin rị rỉ thực 2.5 bits 19 Hình Cây trạng thái chương trình ví dụ 20 CHƯƠNG CHƯƠNG TRÌNH MƠ PHỎNG PHÂN TÍCH ĐỊNH LƯỢNG LUỒNG TIN 4.1 Tổng quan chương trình mơ Đề tài giới thiệu phương pháp xây dựng chương trình mơ tính tốn lượng thơng tin rị rỉ chương trình đa luồng Chương trình mơ xây dựng dựa biến đổi phân bố xác suất biến thơng tin bí mật tính tốn lượng thơng tin rò rỉ theo phân bố xác suất cập nhật Dựa phân bố xác suất ban đầu, tập giá trị biến bí mật, mã nguồn chương trình đa luồng, chương trình mơ thực câu lệnh, tính tốn cập nhật lại phân bố xác suất, hình thành khơng gian trạng thái chương trình Từ đó, cơng cụ dựa khơng gian trạng thái phân bố xác suất cuối để tính tốn lượng thơng tin rị rỉ Đầu chương trình mơ lượng thơng tin rị tỉ thời điểm kết thúc chương trình Chương trình mơ tính tốn lượng thơng tin rị rỉ lập trình phần mềm MATLAB® Tất cú pháp câu lệnh, kiểu liệu, biểu thức, hàm tn theo ngơn ngữ lập trình MATLAB 4.2 Cấu trúc chung chương trình mơ Cấu trúc cơng cụ gồm ba phần chính: Đầu vào (Input), Tính tốn mơ (Analyser), Đầu (Output) Đầu vào (Input) chứa khai báo đầu vào chương trình bao gồm: - Khai báo biến bí mật, biến cơng cộng Khai báo tập giá trị biến bí mật Khởi tạo giá trị cho biến công cộng Khởi tạo cấu trúc không gian trạng thái Chương trình đa luồng để thực thi Các giá trị cho biến bí mật, biến cơng cộng, phân bố xác suất ban đầu khởi tạo dựa vào yêu cầu đầu vào chương trình cho Không gian trạng thái lưu trữ trạng thái tương ứng q trình thực thi chương trình Khơng gian trạng thái mảng có n phần tử có liệu kiểu struct, số phần tử tương ứng với số trạng thái có thực thi chương trình, mơ tả sau: 21 "!7!D ‘ • "D^’D "D\^D! 〈"!7!D 〉 = • ^4 “ "! • Ž ^4 T^7\D đó, trạng thái thứ i 〈"!7!D 〉 chứa nội dung sau: (1) "!7!D số thứ tự trạng thái, (2) "D^’D chứa giá trị biến quan sát (biến công cộng) trạng thái i, (3) "D\^D! chứa tập giá trị biến bí mật tương ứng, (4) ^4 “ "! chứa phân bố xác suất cập nhật lại dựa tập giá trị biến "D\^D!, (5) ^4 T^7\D lưu xác suất chuyển trạng thái tích luỹ Chương trình mơ Chọn luồng Đầu vào Phân bố xác suất ban đầu biến bí mật Tập giá trị biến bí mật Phân tích khơng gian trạng thái - Lựa chọn luồng dựa phân bố xác suất cho trước lập lịch - Thực câu lệnh chương trình - Giá trị biến cơng cộng đầu - Đánh số trạng thái Đầu Lượng tin rị rỉ chương trình - Cập nhật phân bố xác suất biến bí mật Chương trình Phân bố xác suất ban đầu Phân bố xác suất cuối Tính tốn lượng thơng tin rị rỉ Hình Cấu trúc chương trình mơ Q trình thực thi chương trình để khám phá khơng gian trạng thái bắt đầu trình lựa chọn luồng để thực thi Chương trình mơ thực vịng lặp với số lần lặp định để đảm bảo trường hợp thực thi luồng tin khai phá đầy đủ 22 Tại q trình khám phá khơng gian trạng thái, câu lệnh thực Dựa kết câu lệnh này, cụ thể giá trị biến cơng cộng, chương trình tính tốn cập nhật giá trị biến bí mật phân bố xác suất tương ứng Sau thu tồn khơng gian trạng thái thời điểm kết thúc chương trình đa luồng cần phân tích, chương trình mơ thực tính tốn lượng tin rò rỉ dựa độ bất định ban đầu độ bất định cuối cùng, theo công thức trình bày chương Từ đó, chương trình mơ hiển thị lượng tin rị rỉ chương trình đa luồng 23 ... 21 a ĐẠI HỌC ĐÀ NẴNG Đơn vị: Trường Đại học Bách Khoa THÔNG TIN KẾT QUẢ NGHIÊN CỨU Thông tin chung: - Tên đề tài: PHÂN TÍCH ĐỊNH LƯỢNG LUỒNG THƠNG TIN TRONG BẢO MẬT PHẦN MỀM - Mã số:... pháp/thuật tốn phân tích định lượng luồng tin cho chương trình - Báo cáo phân tích - Sản phẩm đào tạo: Thạc sĩ: Dương Tuấn Quang, Đề tài: Phân tích định lượng luồng tin bảo mật chương trình đa luồng Ngành... mềm đa luồng Nghiên cứu phương pháp phân tích định lượng luồng thơng tin cho chương trình phần mềm đa luồng - Phạm vi nghiên cứu: Quy trình bảo mật dựa kỹ thuật phân tích định lượng luồng tin cho

Ngày đăng: 13/01/2020, 16:16

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan