Báo cáo Phát hiện ảnh có giấu tin bằng phương pháp phân tích độ lệch chuẩn - Hồ Thị Hương Giang
Bạn đang xem tài liệu "Báo cáo Phát hiện ảnh có giấu tin bằng phương pháp phân tích độ lệch chuẩn - Hồ Thị Hương Giang", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tài liệu đính kèm:
- bao_cao_phat_hien_anh_co_giau_tin_bang_phuong_phap_phan_tich.pdf
Nội dung text: Báo cáo Phát hiện ảnh có giấu tin bằng phương pháp phân tích độ lệch chuẩn - Hồ Thị Hương Giang
- PHÁT HIỆN ẢNH CÓ GIẤU TIN BẰNG PHƯƠNG PHÁP PHÂN TÍCH ĐỘ LỆCH CHUẨN Hồ Thị Hương Thơm(1), Hồ Văn Canh(2), Trịnh Nhật Tiến(3) (1) Trường Đại Học Dân Lập Hải Phòng (2) Cuc kỹ thuật nghiệp vụ I - Bộ Công An (3) Đại Học Công nghệ - Đại Học Quốc gia Hà Nội Tóm tắt: Trong bài báo này, chúng tôi đề xuất một phương pháp mới trong kỹ thuật phát hiện ảnh giấu thông tin ẩn. Chúng tôi đã nghiên cứu và vận dụng một số lý thuyết thống kê dựa trên phân tích độ lệch xấp xỉ chuẩn để đưa ra một phương pháp phát hiện tin cậy ảnh có giấu tin mật bằng các kỹ thuật giấu trên LSB của ảnh màu hoặc ảnh cấp xám. Phương pháp này có thể triển khai cho các kỹ thuật giấu thông tin khác. Từ khoá: Steganography, steganalysis, LSB, cover, stego 1. GIỚI THIỆU Từ Steganography xuất phát từ tiếng Hy lạp được ghép bởi hai từ “steganos” (nghĩa là hidden hoặc secret) và “graphy” (nghĩa là writing hoặc drawing). Steganography sử dụng một số kỹ thuật để ẩn giấu thông tin mật trong các loại dữ liệu đa phương tiện. Mục đích chính của nó là làm cho con người khó có thể phát hiện được thông tin ẩn bằng kỹ thuật thông thường trong dữ liệu đa phương tiện, điều này khác với mã hoá thông tin là kỹ thuật mã hoá làm cho thông tin khó có thể hiểu theo nghĩa thông thường nếu không có khoá để giải mã bản mã. Tuy nhiên, người ta có thể biết được giữa hai đối tượng đang có sự liên lạc mật với nhau. Các loại dữ liệu đa phương tiện có thể dùng để giấu tin là ảnh, video, audio hoặc một số dạng tệp máy tính khác. Dữ liệu dùng để giấu tin người ta gọi là vật bao tin “cover” hoặc cover- media (ví dụ vật bao tin là image thì người ta gọi là cover-image). Sau khi dùng kỹ thuật để giấu tin mật vào cover-image ta được một ảnh mới có chứa tin gọi là stego-image hay stego. Ở đây chúng tôi tập trung nghiên cứu kỹ thuật giấu tin trong ảnh vì tính hiển của nó nhưng đồng thời cũng dễ dàng mở rộng sang các mồi trường giấu khác nhưVideo, Audio, Mỗi kỹ thuật giấu thông tin mật trong các vật mang cover đều làm thay đổi ít nhiều dữ liệu ban đầu của nó. Phát hiện được sự thay đổi này là mục đích cơ bản của steganalysis. Steganalysis là kỹ thuật phát hiện sự tồn tại của thông tin ẩn giấu trong multimedia. Giống như thám mã, mục đích của Steganalysis là phát hiện ra thông tin ẩn. Các phương pháp phát hiện của Steganalysis có thể phân thành hai nhóm: phát hiện theo trực quan và phát hiện theo thống kê. Phát hiện theo trực quan (visual detection): là hình thức phát hiện dựa vào các khuôn mẫu lặp đi lặp lại trong ảnh, các mẫu hình này cũng có thể phát hiện ra dấu hiệu của kỹ thuật steganography đã dùng để giấu thông tin. Thậm trí một số dấu hiệu dị thường trong ảnh cũng có thể dẫn đến nghi ngờ. Bạn có thể phân tích các mẫu hình đó bằng cách so sách thử nghiệm giữa một ảnh gốc và ảnh có giấu tin nhằm tìm ra sự khác biệt giữa chúng. Hoặc có thể dựa vào histogram của ảnh để so sánh. Phát hiện theo phương pháp này sẽ gặp rất nhiều khó khăn với ảnh có dữ liệu
- lớn hoặc ảnh có độ nhiễu cao và đôi khi kết quả phát hiện có độ chính xác không cao và không đáng tin cậy. Và cách giải quyết tốt nhất là dùng lý thuyết thống kê. Phát hiện theo thống kê là dựa vào thống kê toán học để phát hiện ra sự thay đổi và phân bổ bất thường trong cấu trúc của ảnh nào đó, từ đó có thể kết luận là ảnh đó có giấu tin hay không. Trong bài báo ([4], [5]) các tác giả Westfeld và Pfitzmann đã trình bày một ví dụ về phát hiện theo phương pháp thông kê toán học. Hai tác giả đã phát hiện ra rằng một ảnh số sau khi giấu thông tin bằng kỹ thuật giấu LSB sẽ sinh ra các POVs (Pairs of Values) trong ảnh. Những ảnh này có thể phát hiện bằng tiêu chuẩn thống kê Khi bình phương ( Chi- Squared test ). 2. PHÂN TÍCH SỰ KHÁC BIỆT GIỮA ẢNH GỐC VÀ ẢNH CÓ GIẤU TIN Một số kỹ thuật giấu tin như Flipembed [4], Simplembed hay wu_lee [3] tạo ra các POVs. Các kỹ thuật này có thể dễ dàng bị phát hiện bằng tiêu chuẩn Khi bình phương do westfeld và Pfizmann đề xuất [4], [5] vào năm 1998. Trong một số trường hợp các phương pháp này không có hiệu quả khi thông tin được giấu ngẫu nhiên và không liên tục. Kỹ thuật Khi bình phương phiên bản đầu tiên chỉ có thể phát hiện ra khi thông tin được giấu liên tục từ trên xuống. Bây giờ, giả sử ta có C1, C2, , Ck là k ảnh chưa giấu tin. Chúng ta thử thống kê tần số các pixel của các ảnh lần lượt là C1, , Ck kết quả thống kê được ký hiệu bởi các vector tương ứng sau: 26x10 26x10 26x10 26x10 mn C1 ,C2 , ,Ck trong đó Ci (0<=i<=k) với mỗi giá trị của nó ci (0<=m<=25, 23 0<=n<=9) là tấn số của pixel mn trong ảnh Ci (ví dụ: ci =34 nghĩa là tần số của pixel 23 trong ảnh Ci bằng 34). Sau đó tập k ảnh này được giấu một lượng thông điệp bất kỳ một cách ngẫu nhiên vào các pixel của ảnh ta được tập k ảnh kết quả tương ứng là S1, S2, , Sk. Tương tự như trên ta thống kê tần số pixel của các ảnh S1, S2, , Sk ta được kết quả thống kê ký hiệu bởi các vector tương ứng 26x10 26x10 26x10 S1 ,S2 , ,Sk . So sánh hai vector giữa ảnh gốc và ảnh có giấu tin, nhóm tác giả phát hiện được một vấn 26x10 đề rất quan trọng đó là tổng giá trị trên từng hàng của và Si tương ứng là không thay đổi. Chỉ có giá trị của các phần tử trong hàng đó là thay đổi. Trong ảnh gốc trên từng hàng của vector xuất hiện nhiều điểm đột biến tức giá trị trong cùng hàng thay đổi rất khác biệt nhau. mn Trong khi đó với ảnh có giấu tin thì các điểm giá trị biến thiên rất đều nhau hay các giá trị si rất gần nhau. Để thử nghiệm vấn đề này cho một loạt các cặp ảnh (Ci và Si) bằng cách lấy logarit của tích các , trong từng dòng tương ứng trên các cặp ảnh Ci và Si thấy rằng logarit của ảnh giấu tin lớn hơn ảnh chưa giấu tin. Còn dòng nào có giá trị logarit xấp xỉ nhau nghĩa là thông tin không giấu hoặc được giấu rất ít thông tin trên dòng đó. Ví dụ cho trước một cặp ảnh gốc và ảnh đã giấu tin có kích cỡ 119x119. Sau khi tính tần số ảnh gốc và ảnh có chứa thông tin ẩn được biểu diễn dưới dạng vector C26x10 và S26x10. Lấy logarit trên từng dòng của C26x10 ta được: Dòng 1: log(29*49*83*84*115*124*162*195*275*239)=17.4673512
- Dòng 2: log(238*262*211*199*180*173*119*152*128*103)=22.28877 Dòng 3: log(110*89*95*87*80*55*54*53*58*58)=18.53500394 Dòng 4: log(50*46*39*46*37*43*43*36*49*44)=16.34064017 Dòng 5: log(39*34*41*30*25*28*28*40*29*35)=15.11323074 Lấy logarit trên từng dòng của ảnh stego ta được Dòng 1: log(38*40*86*81*115*124*183*174*269*245) 18.5008653 Dòng 2: log(246*254*216*194*165*188*145*126*132*99) 22.297614 Dòng 3: log(97*102*89*93*72*63*45*62*65*51) 18.53600564 Dòng 4:log(48*48*41*44*43*37*42*37*45*48) 16.3462935 Dòng 5: log(36*37*31*40*24*29*36*32*32*32) 15.13228759 3. PHÁT HIỆN THÔNG TIN ẨN DỰA VÀO PHÂN TÍCH ĐỘ LỆCH CHUẨN Từ vấn đề phân tích trong phần 2, nhóm tác giả đưa ra bài toán sau: Bài toán: Cho một tập hợp C các ảnh bất kỳ (gồm cả ảnh giấu tin và ảnh chưa giấu tin). Hãy tìm cách phân hoạch tập đó thành 2 tập con A, B trong đó một trong hai tập( chẳng hạn A) là tập gồm các ảnh có chứa thông tin ẩn và tập còn lại (chẳng hạn B) gồm các ảnh không chứa thông tin ẩn và sao cho sai số của việc phân lớp là nhỏ nhất. Phương pháp giải Có hai trường hợp xẩy ra: a/ mẫu được lấy từ một tập hợp tuỳ ý; và b/ là mẫu được lấy từ một họ có phân bố xác suất đã biết.Trong phạm vi nghiên cứu này chúng tôi giả thiết là các mẫu được lấy từ một họ có phân bố chuẩn N(a, 2) với trung bình a và phương sai 2, có hàm mật độ xác suất (x a)2 1 2 p(x)= e 2 với - < x < 2 2 x (x a) 1 2 Còn phân bố của X được xác định bằng F(x)=P{X<x}= e 2 du (với - 2 <x< ) Tại sao chúng ta lại giả thiết là mẫu được lấy từ họ phân bố chuẩn? Ta biết rằng: một ảnh số bất kỳ cũng giống như một văn bản nào đó chẳng hạn là tiếng Anh được viết bằng 26 chữ cái La tinh. Ở đây chỉ khác là ở chỗ: ảnh được thể hiện bằng 256 chữ số. Mà người ta đã chứng minh được rằng, ngôn ngữ tự nhiên được thể hiện như là họ có phân bố xấp xỉ chuẩn.
- Bổ đề 1: Cho X1, X2 , Xn là hai đại lượng ngẫu nhiên, độc lập cùng phân bố chuẩn N(a, 2). Khi đó đại lượng ngẫu nhiên X1+X2+ +Xn sẽ có phân bố chuẩn N(na,n 2). Chứng minh: Thật vậy, theo tính chất của kỳ vọng toán ta có kỳ vọng của một tổng bằng tổng các kỳ vọng của từng thành phần, do đó kỳ vọng E( X1+X2+ +Xn)= E(X1)+ +E(Xn)= na. Tương tự, do tính độc lập của chúng, ta có: phương sai của một tổng bằng tổng các phương sai. Vậy phương sai thành phần tức là: D(X1+X2 + Xn)= D(X1) + + D(Xn)= n 2. Định Lý: Cho X là đại lượng ngẫu nhiên có phân bố chuẩn chuẩn N(a, 2). Khi đó đại lượng ngẫu nhiên Y= (X-a)/б có phân bố chuẩn Nn(0,1 ). (Xem chứng minh [1][7][8]) Trong thực tế a và 2 chưa biết cho nên ta phải ước lượng a, 2. Có nhiều phương pháp để ước lượng các đại lượng này nhưng một phương pháp thông dụng và đơn giản nhất là phương pháp n 1 2 hợp lý cực đại. Bằng phương pháp này ta thay a bởi ước lượng x xi và bởi ước lượng n i 1 n 2 1 2 Ŝ = (xi x) khi đó = Ŝ n i 1 Ta ký hiệu: xmax = max { X1,X2, , Xn } và xmin= min { X1,X2, , Xn } Ta biết rằng, lúc đó các đại lượng ngẫu nhiên: xmax x x xmin V1 = , V2 = , sẽ phân bố chuẩn Nn(0,1) không phụ thuộc vào a S S và vào 2 mà chỉ phụ thuộc vào n (xem chứng minh trong [7]). Bây giờ ta đặt V=V1+V2, theo bổ đề 1 do đại lượng ngẫu nhiên V1, V2 có phân bố chuẩn V Nn(0,1) nên V có phân bố chuẩn Nn(0,2). Áp dụng định lý giới hạn trung tâm, ta có (3) sẽ có 2 phân bố chuẩn Nn(0,1) đã được lập thành bảng XII trong [1- trang 247] với n=1,2,3, và mức ý nghĩa =0.1, 0.05, Ta có đại lượng ngẫu nhiên V cho ở (3) có phân bố chuẩn Nn(0,1) tức là ta có xác xuất P {V xo} = pn (t)dt xo trong đó Pn(t) là hàm mật độ xác suất chuẩn Nn(0,1) nếu cho trước n và giá trị xác suất sai lầm loại một = 0, ta tìm được giá trị ngưỡng x0 bởi phương trình sau đây: x0 Pn (t)dt 1 pn (t)dt 1 0 x0 Ví dụ theo [1-trang 247], nếu n=15, 0=0.1 thì x0 =2.326. Vậy nếu giả thiết Ho đúng (tức H1 bị bác bỏ) thì V>=2.326 với xác xuất là 90%. Trái lại, nếu V<2.326 thì H1 đúng (tức là H0 bị bác bỏ)
- Đó là những vấn đề cơ bản, làm cơ sở để xây dựng thuật toán phát hiện ảnh có chứa thông tin mật. V1 V2 Do V= mà {V>=x0} {V1+V2 >= 2 x0} nên sau khi xác định được x0 ta có thể 2 tìm được ngưỡng t0 = x0 Ví dụ: cho n=10, 0 =0.1 theo [1- trang 247] ta được x0 =2.146 từ đó xác định được ngưỡng t0= 2 x0 3.0349 3. Áp dụng giải quyết bài toán Sau khi tìm được ngưỡng của bài toán ta áp dụng đề phân loại ảnh như sau: Biểu diễn dữ liệu của một ảnh C bất kỳ dưới dạng vector Y26x10 với các giá trị yịj là tần số của pixel có giá trị ij (0 =3 kết luận C H1 (ảnh không giấu thông tin) - Nếu V<3 kết luận C H0 (ảnh có giấu thông tin) Ví dụ: Ta có một ảnh gốc cấp xám bất kỳ img01.bmp. Ta thống kê dữ liệu của ảnh đưa vào 25 26x10 10 ji vector C sau đó tiếp tục tính X với các giá trị xi = c với (0<=i<=9) ta được giá trị cụ thể j 0 như sau: x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 1862 1435 1351 1307 1325 1349 1309 1438 1361 1425 Ta được Xmax=1826, Xmin =1307, X =1416, Ŝ=155.946016300513. Từ đó ta xác định được V=3.55892387100478. Vậy img01.bmp không giấu tin. Sau đó ta dùng ảnh img01.bmp giấu một lượng thông điệp bất kỳ vào ảnh ta được ảnh Fimg01.bmp. Thực hiện các bước giống như ảnh img01.bmp ta được X10 như sau:
- x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 1629 1668 1323 1335 1361 1313 1353 1394 1379 1407 Xác định được Xmax=1668, Xmin=1313, X =1416.2, Ŝ=119.84139518547. Suy ra V=2.9622485573586. Vậy Fimg01.bmp có giấu thông tin. 4. KẾT QUẢ THỰC NGHIỆM Chúng tôi thử nghiệm thuật toán trên với tập dữ liệu gồm 50 ảnh cấp xám (các ảnh này được chuyển dạng từ các ảnh chụp bằng máy ảnh kỹ thuật số Canon với các loại ảnh phong cảnh, chân dung, hoạt hoạ ). Sau đó 50 ảnh này tôi đem giấu thông điệp bằng 2 thuật toán sau: - Flipembed cải tiến: thuật toán nhúng thông điệp bằng cách trộn các bit LSB của ảnh với bit của thông điệp giấu (các bit LSB của ảnh được chọn một cách ngẫu nhiên). Các bit thông điệp được sinh ngẫu nhiên. Thuật toán thử nghiệm với độ dài (tính theo tỉ lệ % so với độ dài của ảnh) giấu khác nhau: 0%, 10%, 20%, ,100%. - SimpleEmbed: thuật toán giấu các bit thông điệp trên từng khối LSB theo tính đồng chẵn lẻ. Các bit thông điệp được sinh ngẫu nhiên. Thuật toán thử nghiệm với các khối có kích thước: 1x1, 1x2, 2x2, 2x3, 3x3 Dưới đây là bảng kết quả sau khi thử nghiệm thuật toán 0 Độ dài thông điệp (%) 10 20 30 40 50 60 70 80 90 100 (ảnh gốc) Khả năng phát hiện (%) 24 7 10 15 26 43 58 60 65 70 75 Bảng 1: Kết quả thực hiện kỹ thuật phân tích độ lệch xấp xỉ chuẩn trên 50 ảnh cấp xám giấu thông tin bằng thuật toán Flipembed 0x0 Độ dài thông điệp (%) 1x1 1x2 2x2 1x3 2x3 3x3 (ảnh gốc) Khả năng phát hiện (%) 23 75 71 50 32 20 15 Bảng 2: Kết quả thực hiện kỹ thuật phân tích độ lệch xấp xỉ chuẩn trên 50 ảnh cấp xám giấu thông tin bằng thuật toán Simplembed 5. KẾT LUẬN Hạn chế của kỹ thuật này phụ thuộc vào dữ liệu ảnh và độ dài của thông điệp đem giấu trong ảnh. Nếu dữ liệu của ảnh có độ nhiễu cao (tức độ trong suốt thấp) thì rất khó phát hiện vì dữ liệu của ảnh phân bố rất đều phát hiện theo độ lệch chuẩn sẽ khó tin cậy. Còn nếu dữ liệu ảnh đem giấu thấp thì cũng khó phát hiện ra. Nếu dữ liệu đem giấu thấp nó gần như không làm thay đổi nhiều dữ liệu ban đầu của ảnh nếu khó có thể ảnh hưởng đến sự phân bố đều dữ liệu của ảnh trong công thức phát hiện.
- Thuật toán này so với thuật toán chi_square là khó ước lượng được độ dài của thông điệp giấu trong thuật toán. Nhưng kỹ thuật này cũng giúp cho người nghiên cứu kỹ thuật giấu tin tìm ra được ảnh có thể dùng để đem giấu mà khó phát hiện. Tức là người nghiên cứu giấu tin có thể sử dụng thuật toán tìm ra ảnh có độ nhiễu phù hợp để đem giấu tin. Hướng phát triển của đề tài là sẽ nghiên cứu kỹ thuật phát hiện có độ tin cậy cao hơn bằng thống kê toán học và có thể phát hiện được với ảnh giấu lượng thông tin thấp và có khả năng ước lượng được thông điệp giấu trong ảnh. TÀI LIỆU THAM KHẢO [1]. Trần Tuấn Điệp, Lý Hoàng Tú, Lý thuyết xác xuất và thống kê toán học, Nhà xuất bản giáo dục, 1999 [2]. Phan Đình Diệu, Lý thuyết mật mã và An toàn thông tin, 2007 [3]. Nguyễn Xuân Huy, Trần Quốc Dũng, Giáo trình giấu tin và thuỷ vân ảnh, Trung tâm thông tin tư liệu, TTKHTN - CN 2003. [4]. A. Westfeld and A. Pfitzmann, Attacks on Steganographic Systems, Lecture Notes in Computer Science, vol.1768, Springer-Verlag, Berlin, 2000 [5]. A. Westfeld, Detecting Low Embedding rates. In: Petitcolas et al. (eds.): Preproceedings 5th Information Hiding Workshop, Noordwijkerhout, Netherlands, Oct. 7−9, 2002. [6]. Christy A. Stanley, Pairs of Values and the Chi-squared Attack, May 1, 2005 [7]. Λ.H. Бoљшeв, H.B.Cмupнoв, Taблицы Maтeмatичecкoй Cтaтиcтики, Hayкa Mocкaвa, 1983 [8] Tổng Đình Quỳ, Giáo trình xác xuất thống kê, NXB Giáo dục, 2002.