1. Trang chủ
  2. » Luận Văn - Báo Cáo

Phân tích định lượng luồng tin trong bảo mật chương trình đa luồng

89 17 0

Đ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 89
Dung lượng 4,33 MB

Nội dung

Luận văn nghiên cứu về vấn đề bảo mật trong chương trình đa luồng đồng thời xây dựng một công cụ mô phỏng tự động phân tích định lượng luồng tin của chương trình đa luồng Công cụ này dựa vào phương pháp phân tích định lượng trong đó người tấn công sẽ lựa chọn bộ lập lịch để thực thi chương trình đa luồng từ đó có thể suy ra được một số thông tin nhất định về dữ liệu bí mật Phương pháp lập lịch được sử dụng để xây dựng mô hình chuyển trạng thái của chương trình đa luồng và tính toán lượng tin rò rỉ của dữ liệu bí mật Luận văn này mô tả thuật toán của chương trình cũng như tổng hợp kết quả của một số ví dụ để kiểm chứng độ chính xác của chương trình

ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC BÁCH KHOA  DƯƠNG TUẤN QUANG PHÂN TÍCH ĐỊNH LƯỢNG LUỒNG TIN TRONG BẢO MẬT CHƯƠNG TRÌNH ĐA LUỒNG Chuyên ngành Mã số : Kỹ thuật điện tử : 60.52.02.03 LUẬN VĂN THẠC SĨ KỸ THUẬT Người hướng dẫn khoa học : TS NGƠ MINH TRÍ Đà Nẵng, năm 2017 LỜI CAM ĐOAN Tôi xin cam đoan nội dung luận văn “Phân tích định lượng luồng tin bảo mật chương trình đa luồng” chép luận văn cơng trình có từ trước Các số liệu, kết nêu luận văn trung thực chưa công bố cơng trình khác Tác giả luận văn Dương Tuấn Quang MỤC LỤC MỞ ĐẦU CHƯƠNG CƠ SỞ LÝ THUYẾT BẢO MẬT THÔNG TIN 1.1 Lý thuyết xác suất .4 1.2 Lý thuyết thông tin 1.2.1 Khái niệm thông tin 1.2.2 Lượng tin 1.3 Entropy 1.3.1 Shannon entropy 1.3.2 Min-entropy 10 1.4 Kết luận chương 10 CHƯƠNG LƯỢNG TIN RÒ RỈ CỦA CHƯƠNG TRÌNH .11 2.1 Bảo mật luồng thông tin 11 2.1.1 Phân tích định tính luồng thông tin 12 2.1.2 Phân tích định lượng luồng thơng tin 12 2.2 Lượng tin rò rỉ 14 2.2.1 Lượng tin rò rỉ theo Shannon entropy 16 2.2.2 Lượng tin rò rỉ theo min-entropy .17 2.3 Kết luận chương 18 CHƯƠNG LƯỢNG TIN RỊ RỈ CỦA CHƯƠNG TRÌNH ĐA LUỒNG 19 3.1 Bảo mật luồng thông tin chương trình đa luồng 19 3.1.1 Chương trình đa luồng .19 3.1.2 Tính bảo mật chương trình đa luồng 19 3.1.3 Ảnh hưởng lập lịch chương trình đa luồng 20 3.1.4 Mơ hình chương trình đa luồng .21 3.2 Lượng tin rị rỉ chương trình đa luồng .22 3.2.1 Lượng tin rị rỉ theo vệt chương trình 22 3.2.2 Lượng tin rò rỉ chương trình đa luồng 24 3.2.3 Ví dụ minh hoạ 24 3.2.4 Ví dụ minh hoạ 26 3.2.5 Ví dụ minh hoạ 28 3.2.6 Ví dụ minh hoạ 30 3.3 Kết luận chương 34 CHƯƠNG XÂY DỰNG CHƯƠNG TRÌNH MƠ PHỎNG PHÂN TÍCH ĐỊNH LƯỢNG LUỒNG TIN 35 4.1 Tổng quan chương trình mơ 35 4.2 Cấu trúc chung chương trình mơ 35 4.3 Thuật tốn chương trình mơ 37 4.3.1 Thuật tốn phân tích khơng gian trạng thái .37 4.3.2 Thuật tốn tính tốn lượng tin rò rỉ 39 4.4 Tính tốn lượng tin rị rỉ với min-entropy 40 4.5 Tính tốn lượng tin rò rỉ với Shannon entropy .41 4.6 Kết tính tốn mơ 41 4.7 Đánh giá chương trình mơ 42 4.8 Kết luận chương 42 KẾT LUẬN VÀ KIẾN NGHỊ 43 DANH MỤC TÀI LIỆU THAM KHẢO 44 PHỤ LỤC PHÂN TÍCH ĐỊNH LƯỢNG LUỒNG TIN TRONG BẢO MẬT CHƯƠNG TRÌNH ĐA LUỒNG Học viên: Dương Tuấn Quang Chuyên ngành: Kỹ thuật điện tử Mã số: 60.52.02.03 Khóa: K31 KTĐT ĐHĐN Trường Đại học Bách khoa – Tóm tắt – Luận văn nghiên cứu vấn đề bảo mật chương trình đa luồng, đồng thời xây dựng công cụ mô tự động phân tích định lượng luồng tin chương trình đa luồng Cơng cụ dựa vào phương pháp phân tích định lượng người cơng lựa chọn lập lịch để thực thi chương trình đa luồng, từ suy số thơng tin định liệu bí mật Phương pháp lập lịch sử dụng để xây dựng mơ hình chuyển trạng thái chương trình đa luồng, tính tốn lượng tin rị rỉ liệu bí mật Luận văn mơ tả thuật tốn chương trình tổng hợp kết số ví dụ để kiểm chứng độ xác chương trình Từ khóa – bảo mật; đo lường; định lượng luồng tin; lượng tin rị rỉ; cơng cụ; QUANTITATIVE INFORMATION FLOW ANALYSIS OF MULTITHREADED PROGRAM Abstract – This thesis studies the security of multi-threaded programs and presents a tool for analysing quantitative information flow (QIF) for multi-threaded programs written in a core imperative language The aim of the tool is to measure the leakage of secret data The tool is based on a method of the quantitative analysis where the attacker is able to select the scheduling policy to attack the program The scheduling policy is used to construct the execution model of the program We outline the workings of the tool and summarise results derived from running the tool on a range of case studies Keywords – security; measurement; quantitative information flow; information leakage; tool; DANH MỤC CÁC HÌNH Số hiệu Tên hình Trang 3.1 Cây trạng thái chương trình ví dụ 26 3.2 Cây trạng thái chương trình ví dụ 28 3.3 Cây trạng thái chương trình ví dụ 29 3.4 Cây trạng thái chương trình ví dụ 32 4.1 Cấu trúc chương trình mơ 36 4.2 Thuật tốn chương trình mơ 38 4.3 Thuật tốn hàm cập nhật khơng gian trạng thái 39 4.4 Thuật tốn hàm tính tốn lượng tin rị rỉ 40 MỞ ĐẦU Tính cấp thiết đề tài Cùng với phát triển mạnh mẽ cơng nghệ thơng tin, ngày có nhiều liệu xử lý, lưu trữ gửi mạng truyền thông Một thực trạng tránh khỏi người tham gia hệ thống có khả truy cập liệu Vấn đề quan trọng an tồn thơng tin phải đảm bảo việc truy cập nằm phạm vi cho phép Những thông tin bị truy cập đối tượng không cấp quyền xem thơng tin bị rị rỉ Hậu việc rị rỉ thông tin ảnh hưởng nghiêm trọng đến người sử dụng khai thác hệ thống hợp pháp Có thể lấy số ví dụ vụ việc rị rỉ thơng tin cá nhân nhạy cảm bao gồm mã số tài khoản ngân hàng, thẻ tín dụng hay tiết lộ hồ sơ mang tính bí mật công ty, quốc gia mạng công cộng gần Chính vậy, điều quan trọng truyền thơng phải đảm bảo tính an tồn, bí mật thơng tin Có ba phương pháp sử dụng để bảo vệ thơng tin [9] là: điều khiển truy cập, mật mã, điều khiển luồng tin Điều khiển truy cập, ví dụ tường lửa, phương pháp phổ biến để bảo mật thông tin Chỉ có đối tượng hợp pháp cấp quyền truy cập vào liệu Tuy nhiên, phương pháp không đảm bảo đối tượng hợp pháp không tiết lộ thông tin mật sau truy nhập thông tin Mật mã kỹ thuật mã hóa liệu q trình truyền dẫn lưu trữ Phương pháp ngăn chăn đối tượng không cấp phép truy cập vào liệu thơng qua q trình nghe hay can thiệp vào việc truyền tin hệ thống Cũng giống phương pháp điều khiển truy cập, phương pháp không đảm bảo việc người sử dụng hay chương trình phát tán liệu sau giải mã liệu Hơn nữa, kỹ thuật mã hóa sử dụng không hiệu quả, nhiều khả đối tượng truy cập bất hợp pháp giải mã liệu cách dễ dàng Lúc này, chức mã hóa khơng cịn ý nghĩa Một phương pháp bảo mật thơng tin mạnh điều khiển luồng tin, nghĩa giám sát thông tin di chuyển đến đâu hệ thống Một hệ thống xem khơng an tồn liệu mật cách lại lưu trữ vị trí mà đối tượng khơng cấp phép truy cập Phương pháp điều khiển luồng tin phát điều Đây điểm khác biệt so với hai phương pháp nêu trên; phương pháp điều khiển luồng tin đảm bảo thơng tin khơng bị phát tán (Smith, 2007) [10] Phương pháp điều khiển luồng tin đảm bảo mục tiêu ngăn chặn rị rỉ thơng tin hiệu hai phương pháp lại Quá trình phân tích luồng tin thực dựa hai phương pháp, định tính observe = mod(secret,4); [ProbSpace,state,number_of_transition3] = ProbUpdate(state,state_end,observe,secret,probdis_temp(m,:),number_of_tra nsition2,prev_probtrace); ProbEnv = [ProbEnv,ProbSpace]; end else for m = 1:number_of_transition2 secret = ProbEnv(length(ProbEnv)).secret; % Line of code observe = mod(secret,4); [ProbSpace,state,number_of_transition3] = ProbUpdate(state,state_end,observe,secret,ProbSpace(length(ProbSpace)).pr obdis,number_of_transition2,prev_probtrace); ProbEnv = [ProbEnv,ProbSpace]; end end end end % PROCESS DATA % Create another structure array to hold all "end state" elements ProbTerminate = struct('state',{},'observe',{},'secret',{},'probdis',{},'probtrace',{}); for k = : length(ProbEnv) thisStruct = ProbEnv(k); thisString = thisStruct.state; if strcmp(thisString, 'end') ProbTerminate = [ProbTerminate,thisStruct]; end end % Remove the identical elements in structure array isUnique = true(size(ProbTerminate)); for ii = 1:length(ProbTerminate)-1 for jj = ii+1:length(ProbTerminate) if isequal(ProbTerminate(ii),ProbTerminate(jj)) isUnique(ii) = false; break; end end end ProbTerminate(~isUnique) = []; % CALCULATE LEAKAGE % Calculate final uncertainty % Renyi = zeros(1,length(ProbTerminate)); % final_uncertainty = 0; % % for i=1:length(ProbTerminate) % Renyi(i) = -log2(max(ProbTerminate(i).probdis)); % final_uncertainty = final_uncertainty + ProbTerminate(i).probtrace * Renyi(i); % % % % % % % % end % Calculate leakage initial_uncertainty = -log2(max(initial_distribution)); leakage = initial_uncertainty - final_uncertainty; disp('Leakage of program'); disp(leakage); % Calculate final uncertainty Renyi = zeros(1,length(ProbTerminate)); Shannon = zeros(1,length(ProbTerminate)); final_uncertainty_Renyi = 0; final_uncertainty_Shannon = 0; for i=1:length(ProbTerminate) Renyi(i) = -log2(max(ProbTerminate(i).probdis)); Shannon(i) = -sum(ProbTerminate(i).probdis * log2(ProbTerminate(i).probdis)); final_uncertainty_Renyi = final_uncertainty_Renyi + ProbTerminate(i).probtrace * Renyi(i); final_uncertainty_Shannon = final_uncertainty_Shannon + ProbTerminate(i).probtrace * Shannon(i); end % Calculate leakage secret = [0 7]; [initial_uncertainty_Renyi initial_uncertainty_Shannon] = entropy(secret,initial_distribution); leakage_Renyi = initial_uncertainty_Renyi - final_uncertainty_Renyi; leakage_Shannon = initial_uncertainty_Shannon final_uncertainty_Shannon; disp('Leakage of program:'); disp(leakage_Renyi); disp(leakage_Shannon); Case3_QIF.m % % % % % % % Quantitative informative flow S is bit integer S = S mod 2; O := S; || (O := || O := 1;) clear all; close all; % Multithreaded program N = 10; % Number of times to run program ... CHƯƠNG LƯỢNG TIN RÒ RỈ CỦA CHƯƠNG TRÌNH ĐA LUỒNG 19 3.1 Bảo mật luồng thơng tin chương trình đa luồng 19 3.1.1 Chương trình đa luồng .19 3.1.2 Tính bảo mật chương trình đa luồng ... Ảnh hưởng lập lịch chương trình đa luồng 20 3.1.4 Mơ hình chương trình đa luồng .21 3.2 Lượng tin rò rỉ chương trình đa luồng .22 3.2.1 Lượng tin rị rỉ theo vệt chương trình ... 1.4 Kết luận chương 10 CHƯƠNG LƯỢNG TIN RỊ RỈ CỦA CHƯƠNG TRÌNH .11 2.1 Bảo mật luồng thông tin 11 2.1.1 Phân tích định tính luồng thơng tin 12 2.1.2 Phân tích định

Ngày đăng: 22/04/2021, 14:22

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN