Mục đích của việc giấu thông tinlà làm cho đối phương không thể nhận biết được sự tồn tại của thông tin đã đượcgiấu.Mỗi kỹ thuật giấu tin gồm: Nhúng thông tin Trích rút thông tinThuật
Trang 1TRƯỜNG ĐẠI HỌC HẢI PHÒNG KHOA CÔNG NGHỆ THÔNG TIN
ĐẠI HỌC HẢI PHÒNG
BÁO CÁO BÀI TẬP LỚN HỌC PHẦN: AN TOÀN DỮ LIỆU
ĐỀ TÀI : GIẤU THÔNG TIN TRONG ẢNH
HỌ VÀ TÊN: TRỊNH ĐẮC NAM
Hồ Hoàng Vũ
GIẢNG VIÊN HƯỚNG DẪN: PGS.TS LÊ ĐẮC NHƯỜNG
I Tổng quan về giấu tin trong ảnh
1 Giới thiệu chung về giấu thông tin
Trang 2Giấu thông tin (steganography) là một kỹ thuật nhúng thông tin vào một nguồn đa phương tiện nào đó, ví dụ như file âm thanh, file ảnh, file text, Nguồn
đa phương tiện này được gọi là môi trường chứa Mục đích của việc giấu thông tin
là làm cho đối phương không thể nhận biết được sự tồn tại của thông tin đã được giấu
Mỗi kỹ thuật giấu tin gồm:
Nhúng thông tin
Trích rút thông tin
Thuật toán giấu tin được dùng để giấu thông tin vào một phương tiện chứa bằng cách sử dụng một khóa bí mật được dùng chung bởi người gửi và người nhận Việc giải mã thông tin chỉ có thể thực hiện được khi có khoá Sau khi giải mã, ta được thông tin mật
Trang 3Hình 1 Lược đồ thể hiện quá trình giấu tin
Hình 2 Lược đồ thể hiện quá trình trích rút thông tin
2 Các cuộc tấn công steganography hoạt động như thế nào?
Trang 4Mặc dù có nhiều dạng steganography, nhưng cách phổ biến nhất là sử dụng một công cụ được gọi là steghide (một công cụ dòng lệnh đơn giản để thực hiện việc giấu tin) Khi sử dụng steghide, tin tặc có xu hướng ẩn những payload trong các điểm ảnh Chúng chuyển đổi payload thành chương trình mã hóa Base-64 và
ẩn nó trong siêu dữ liệu Nó thường được thêm vào dưới những trường siêu dữ liệu
về chứng chỉ (certificate metadata) bởi trường chứng chỉ có độ dài vô hạn và mã hóa Base-64 thường được sử dụng trong trường này cho các chứng chỉ
Hình ảnh độc hại có thể được phát tán dưới dạng một tệp đính kèm hoặc tin tặc có thể đăng hình ảnh trên một trang web công cộng kèm liên kết để cung cấp payload Khi sử dụng phương pháp steghide, hình ảnh có thể bị sửa đổi một chút trên các bit và byte, nhưng khi tin tặc nhúng payload vào siêu dữ liệu thì hình ảnh không bị thay đổi chút nào Điều này khiến cho việc phát hiện bằng mắt thường là gần như không thể
Khi payload được phát tán, hầu hết các tin tặc tìm cách kết xuất mật khẩu băm của quản trị viên và kết nối thông qua giao thức điều khiển máy tính từ xa (Remote Desktop Protocol - RDP) với các nút khác trên mạng Chúng sẽ xâm nhập
Trang 5càng nhiều máy tính càng tốt bằng cách triển khai ransomware và yêu cầu công ty
mà chúng đã xâm nhập phải trả tiền - một kế hoặc sinh lợi cao cho các tin tặc
Các cuộc tấn công giấu tin trong ảnh là một xu hướng tấn công hấp dẫn cho các tác nhân đe dọa vì các bộ công cụ có thể dễ dàng truy nhập và tải xuống, đồng thời cũng bởi những cuộc tấn công này dễ dàng tránh được sự phát hiện của các giải pháp bảo mật truyền thống
Về mặt kỹ thuật, những công cụ sử dụng cho các cuộc tấn công này thậm chí còn không được coi là những công cụ tấn công (hack) Chúng có thể được tải xuống qua Linux shell một cách đơn giản như lệnh get cài đặt steghide hay apt-get cài đặt exiftool (ứng dụng xem, sửa, xóa siêu dữ liệu)
3 Làm thế nào để các tổ chức có thể tránh được những kiểu tấn công này?
Tin tặc sử dụng giấu tin trong ảnh như một kỹ thuật lẩn tránh và kỹ thuật phát tán, vì sau khi tin tặc có quyền truy nhập vào một máy tính trong mạng công
ty thì cả công ty sẽ mất quyền kiểm soát Sau đó các tin tặc thường triển khai mã độc tống tiền (ransomware) hoặc payload khác mà chúng kiểm soát được Vì xu
Trang 6hướng tấn công này thường hay bị bỏ ngỏ nên nhiều tổ chức dễ bị tấn công và có thể phải chịu những thiệt hại nếu họ không chủ động hơn trong các chiến lược bảo mật của mình
Điều đầu tiên mà các tổ chức cần hiểu là những kiểu tấn công này rất tinh vi
và không có quá trình đào tạo về nhận biết lừa đảo nào cho người dùng cuối để phát hiện những mối đe dọa này
Việc triển khai các giải pháp bảo mật loại bỏ hoàn toàn người dùng cuối khỏi chương trình là cần thiết trong việc ngăn chặn những kiểu tấn công này khỏi việc xâm hại dữ liệu và các mạng của doanh nghiệp Công nghệ cung cấp phương pháp tiếp cận cố định (deterministic approach) có thể xác định và chỉ cho phép thông qua những phần tử nội dung tốt với người dùng cuối – thay vì ngăn chặn mã độc và phát hiện không đáng tin cậy - là cách tốt nhất để các tổ chức tự bảo vệ mình
Các chương trình phát hiện việc giấu tin được xây dựng có mục đích hiện nay là bằng chứng chứng minh tính khả thi nhưng còn chậm và có tỷ lệ phát hiện tương đối thấp nên chưa phù hợp với các công cụ bảo mật hiện đại hiện có trên thị
Trang 7trường Để chống lại những kiểu đe dọa này, các tổ chức cần ưu tiên và áp dụng các chiến lược tập trung vào các môi đe dọa của lỗ hổng zero-day đang bị tin tặc lợi dụng để nhắm mục tiêu vào tổ chức
4 Giấu tin trong ảnh
Giấu tin trong ảnh là việc thực hiện giấu thông tin với môi trường chứa là các file ảnh Hiện nay, giấu tin trong ảnh chiếm tỉ lệ lớn trong các ứng dụng giấu tin trong dữ liệu đa phương tiện bởi vì lượng thông tin được trao đổi bằng hình ảnh
là rất lớn Giấu tin trong ảnh có nhiều ứng dụng trong thực tế, ví dụ như trong việc xác định bản quyền sở hữu, chống xuyên tạc thông tin hay truyền dữ liệu một cách
an toàn,…
Các khái niệm thường được dùng trong giấu tin trong ảnh:
Ảnh môi trường: Là ảnh gốc được dùng để nhúng thông tin
Thông tin nhúng: Là các thông tin mật cần gửi
Ảnh đã nhúng: Là ảnh gốc sau khi đã được nhúng thông tin mật
Khóa mật: Là khóa tham gia vào quá trình nhúng, được trao đổi giữa người gửi và người nhận
Trang 8Các yêu cầu trong giấu tin trong ảnh:
Tính bền vững: Thể hiện khả năng ít bị thay đổi (về nội dung, hình dạng)
trước những tấn công từ bên ngoài Hiện nay, chưa có kỹ thuật giấu tin nào đảm bảo được yêu cầu này một cách tuyệt đối
Khả năng không bị phát hiện: Thể hiện ở việc khó xác định được đối tượng
có chứa thông tin mật hay không Các kỹ thuật giấu tin hiện nay cố gắng đảm bảo yêu cầu này dựa vào hệ thống thị giác của con người
Khả năng lưu trữ: Thể hiện ở lượng thông tin được lưu trữ Do còn phải
đảm bảo “khả năng không bị phát hiện” nên với những thông tin mật lớn, ta thường chia nhỏ nó ra, nhúng nhiều lần và vào các đối tượng khác nhau
II Giấu tin trong ảnh nhị phân
Trong phần này, chúng ta sẽ đề cập đến một số kỹ thuật giấu tin sử dụng ảnh nhị phân làm môi trường giấu tin Ảnh nhị phân bao gồm các điểm ảnh chỉ có màu đen (0) hoặc trắng (1) Các kỹ thuật được đề cập là các kỹ thuật đơn giản nhưng đáng tin cậy
Ví dụ về ảnh nhị phân:
Trang 9 Để thực hiện việc giấu thông tin, ta thường chia nhỏ ma trận ảnh gốc F thành các khối bit nhỏ hơn Fi Sau đó, thực hiện việc giấu tin trên mỗi khối bit Fi nhỏ hơn đó
Một số thuật toán giấu tin trên ảnh nhị phân thường được dùng hiện nay
là Wu-Lee hay CPT
1 Một số phép toán cơ bản
Phép đảo bit
Giá trị ban đầu Giá trị sau khi đảo
Phép SUM
Trang 10SUM(F): Tổng các phần tử của ma trận F
Ví dụ:
Cho ma trận F
F=[1 0 10 0 0
1 1 1]
=> Sum(F) = 1 + 0 + 1 + 0 + 0 + 0 + 1 + 1 + 1 = 5
Phép XOR ⨁
Cho ba ma trận A, B và C
Giả sử A ⨁ B = C
Thì A[i,j] ⨁ B[i,j] = C[i,j]
Quy tắc thực hiện phép ⨁:
Ví dụ:
Giả sử có 2 ma trận A và B: A=(1 1 01 0 1
0 1 1) và B=(0 1 11 0 1
1 1 0)
Trang 11A ⨁B=(1 ⨁ 0 1 ⨁1 0 ⨁ 11 ⨁ 1 0 ⨁ 0 1 ⨁ 1
0 ⨁ 1 1 ⨁1 1 ⨁ 0)=(1 0 10 0 0
1 0 1)
Phép nhân ⨂
Cho ba ma trận A, B và C
Giả sử A ⨂ B = C
Thì A[i,j] * B[i,j] = C[i,j]
Ví dụ:
Giả sử có 2 ma trận A và B: A=(1 3 53 5 1
5 1 3) và B=(2 4 64 6 2
6 2 4)
A ⨂B=(3∗4 5∗6 1∗21∗2 3∗4 5∗6
5∗6 1∗2 3∗4)=(12 302 12 302
30 2 12)
Phép AND
Cho ba ma trận X, Y và Z
Giả sử X AND Y = Z
Thì X[i,j] AND Y[i,j] = Z[i,j]
Quy tắc thực hiện phép AND:
X[i,j] Y[i,j] Z[i,j]
Trang 121 1 1
2 Một số kỹ thuật giấu tin sử dụng khóa K cố định
Ý tưởng của kỹ thuật là chia nhỏ ảnh gốc F thành các đoạn Fi gồm k điểm ảnh
liên tiếp và giấu trong mỗi đoạn Fi một bit thông tin Sau khi giấu tin ta thu được các đoạn Fi' và các đoạn này tạo nên ảnh đã chứa thông tin F' Trong quá trình trích rút tin, ta lại chia ảnh F' thành các đoạn Fi' độ dài bằng k Sau đó trích rút ở mỗi đoạn Fi' này một bit thông tin đã giấu
Thuật toán giấu tin gồm hai bước:
Quá trình giấu tin (đối với mỗi đoạn bit Fi và một bit thông tin bi):
Bước 1: Đặt Si = Sum(Fi) mod 2
Bước 2: So sánh Si và bi:
Nếu bi ≠ Si thì chuyển sang Bước 3
Ngược lại thì Break;
Bước 3: Thực hiện việc đảo bit
Trang 13Nếu có nhiều điểm đen và có điểm trắng thì đảo một bit trắng thành đen Break.
Nếu có nhiều điểm trắng và có điểm đen thì đảo một bit đen thành trắng Break
Nếu số điểm đen và điểm trắng xấp xỉ nhau thì chọn ngẫu nhiên một bit để đảo
Nếu chỉ có điểm đen (hoặc chỉ có điểm trắng) thì chọn bất kỳ một điểm ở đầu hoặc cuối để đảo
Sau cùng ta thu được đoạn Fi'
Quá trình trích rút thông tin:
Đối với mỗi đoạn Fi', bit thông tin được giấu trong đó là
Ví dụ: > Các bit cần giấu là b = 10101, khóa K = 5 và ảnh F như sau: > >
> > Quá trình giấu tin: > - Xét F1 = 11100: > > Ta có S1
= Sum(F1) mod 2 = 1 = b(1) > > => Không thay đổi gì cả > > => Fi' = 11100 >
>
Trang 14> > - Xét F2 = 11000: > > Ta có S2 = Sum(F2) mod 2 = 0 = b(2) > > => Không thay đổi gì cả > > => F2' = 11000 > >
> > - Xét F3 = 01010: > > Ta có S3 = Sum(F3) mod 2 = 0 ≠ 1 = b(3) > > Lại có F3 = 01010 > > => Chọn F3(2) để đảo > > => F3' = 00010 > >
> > - Xét F4 = 10101: > > Ta có S4 = Sum(F4) mod 2 = 1 ≠ 0 = b(4) > > Lại có F4 = 10101 > > => Chọn F4(2) để đảo > > => F4' = 11101 > >
> > - Xét F5 = 00000: > > Ta có S5 = Sum(F5) mod 2 = 0 ≠ 1 = b(5) > > Lại có F5 = 00000 > > => Chọn F5(5) để đảo > > => F5' = 00001 > > Không còn khối ảnh nào để xét nữa nên ta kết thúc việc giấu tin > > F' là ảnh thu được sau
Quá trình trích rút thông tin: > > - Xét F1' = 11100: > > b(1) = Sum(F1') mod 2
= 1 > >
> > - Xét F2' = 11000: > > b(2) = Sum(F2') mod 2 = 0 > >
Trang 15> > - Xét F3' = 00010: > > b(3) = Sum(F3') mod 2 = 1 > >
> > - Xét F4' = 11101: > > b(4) = Sum(F4') mod 2 = 0 > >
> > - Xét F5' = 00001: > > b(5) = Sum(F5') mod 2 = 1 > >
> > Thông tin mật thu được: b = 10101
Sau khi kết phần I, chúng ta đã nắm được một số khái niệm cở bản về giấu thông tin, một số phép toán về ma trận cơ bản được sử dụng trong giấu thông tin, cũng như kỹ thuật giấu tin cơ bản và đơn giản nhất trên ảnh nhị phân