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

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

15 3 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Tiêu đề Giấu thông tin trong ảnh
Tác giả Trịnh Đắc Nam, Hồ Hoàng Vũ
Người hướng dẫn PGS.TS Lê Đắc Nhưỡng
Trường học Trường Đại học Hải Phòng, Khoa Công nghệ Thông tin
Chuyên ngành An toàn dữ liệu
Thể loại Báo cáo bài tập lớn
Thành phố Hải Phòng
Định dạng
Số trang 15
Dung lượng 492,73 KB

Nội dung

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 1

TRƯỜ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 2

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

Trang 3

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?

Trang 4

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

Trang 5

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 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 6

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ị

Trang 7

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

Trang 8

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:

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 10

SUM(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 11

A ⨁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 12

1 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 13

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à

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

Ngày đăng: 15/05/2024, 06:04

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

TÀI LIỆU LIÊN QUAN

w