You are on page 1of 10

I.

Tổng quan về giấu tin trong ảnh

1. Giới thiệu chung về giấu thông tin

Giấ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.
Hì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?
Mặ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
cà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 apt-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
hướ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ị
trườ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.
Cá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:
 Để 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
0 1
1 0
 Phép SUM
SUM(F): Tổng các phần tử của ma trận F
Ví dụ:
Cho ma trận F

[ ]
1 0 1
F= 0 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 ⨁:
A[i,j] B[i,j] C[i,j]
1 1 0
1 0 1
0 1 1
0 0 0
Ví dụ:

( ) ( )
1 1 0 0 1 1
Giả sử có 2 ma trận A và B: A= 1 0 1 và B= 1 0 1
0 1 1 1 1 0

( )( )
1 ⨁ 0 1 ⨁1 0 ⨁ 1 1 0 1
A ⨁ B= 1 ⨁ 1 0 ⨁ 0 1 ⨁ 1 = 0 0 0
0 ⨁ 1 1 ⨁1 1 ⨁ 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ụ:

( ) ( )
1 3 5 2 4 6
Giả sử có 2 ma trận A và B: A= 3 5 1 và B= 4 6 2
5 1 3 6 2 4

( )( )
1∗2 3∗4 5∗6 2 12 30
A ⨂ B= 3∗4 5∗6 1∗2 = 12 30 2
5∗6 1∗2 3∗4 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]
1 1 1
1 0 0
0 1 0
0 0 0
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
 Nế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à
bi = Sum(Fi') mod 2
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 >
>
> > - 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 > >
> > - 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.

You might also like