Cách giấu dữ liệu bí mật vào hình ảnh hoặc file âm thanh chỉ trong một nốt nhạc

Steganography là nghệ thuật che giấu thông tin và trong hướng dẫn này, chúng ta sẽ sử dụng Steghide - một công cụ dòng lệnh đơn giản để thực hiện điều đó.

Steganography là gì?

Không giống như mã hóa có một thông tin được ẩn một cách rõ ràng, Steganography ẩn dữ liệu ở chế độ xem đơn giản, bên trong một tệp tin như hình ảnh, file âm thanh.

Steganography rất hữu ích trong các tính huống gửi tin nhắn được mã hóa chẳng hạn như ở những quốc gia không được tự do ngôn luận. Nó cũng thường được sử dụng như một watermark kỹ thuật số để tìm các hình ảnh hoặc tập tin âm thanh bị đánh cắp.

Cách Steganography hoạt động

Có một số kỹ thuật khác nhau để ẩn dữ liệu bên trong các tệp thông thường. Một trong những cách sử dụng rộng rãi nhất và có lẽ đơn giản nhất là kỹ thuật bit có trọng số nhỏ nhất (Least Significant Bit), thường được biết đến dưới tên LSB.

Kỹ thuật này thay đổi vài bit cuối cùng trong một byte để mã hoá một thông điệp, đặc biệt hữu ích với hình ảnh, trong đó các giá trị màu đỏ, xanh lá cây và xanh da trời của mỗi pixel được biểu diễn bằng 8 bit (một byte) có phạm vi từ 0 đến 255 theo thập phân hoặc 00000000 đến 11111111 ở dạng nhị phân.

Thay đổi hai bit cuối cùng trong một pixel màu đỏ hoàn toàn từ 11111111 xuống 11111101 sẽ chỉ thay đổi giá trị màu đỏ từ 255 xuống 253, mà mắt thường không thể nhận ra sự thay đổi màu sắc nhưng vẫn cho phép chúng ta mã hóa dữ liệu bên trong bức tranh.

Thay đổi bit màu sắc

Kỹ thuật bit có trọng số nhỏ nhất cũng được sử dụng cho các tệp âm thanh. Có hai thứ cần xem xét khi ẩn thông tin là mã hóa và nén. Mã hóa dữ liệu trước khi nhúng nó vào lớp bảo mật bổ sung trong khi nén dữ liệu.

Cách ẩn dữ liệu trong hình ảnh hoặc file âm thanh

Bước 1: Nhúng dữ liệu vào một tệp

Sử dụng Steghide rất dễ dàng, để cài đặt nó từ Terminnal trong Linux, chỉ cần sử dụng apt.

apt-get install steghide

Khi hoàn tất cài đặt, nhúng dữ liệu vào một tệp, nhập lệnh dưới đây.

steghide embed -ef secretFile -cf coverFile -sf outputFile -z compressionLevel -e scheme

Các thành phần câu lệnh được chia nhỏ như sau:

  • -ef xác định đường dẫn của tệp muốn ẩn, có thể nhúng bất kỳ loại tệp nào bên trong tệp bìa như script Python hoặc tệp tin shell.
  • -cf là tệp mà dữ liệu được nhúng vào, nó giới hạn ở các định dạng BMP, JPEG, WAV và AU.
  • -sf là một đối số tùy chọn xác định tập tin đầu ra. Nếu bỏ qua, tệp gốc sẽ bị ghi đè bởi tệp steganographic mới.
  • -z xác định mức độ nén, từ 1 đến 9. Nếu không muốn nén tệp, hãy sử dụng đối số -Z.
  • -e xác định kiểu mã hóa. Steghide hỗ trợ nhiều kiểu mã hóa, và nếu bỏ qua đối số theo mặc định, Steghide sẽ sử dụng mã hóa AES 128-bit. Nếu không muốn sử dụng mã hóa, chỉ cần gõ -e none.

Trong ví dụ này, thông tin bí mật được ẩn trong hình ảnh của một chú mèo, không ghi đè lên hình ảnh ban đầu hoặc nén nó, chỉ mã hóa hình ảnh

steghide embed -ef secret.txt -cf StegoCat.jpg -e none -Z

Câu lệnh ẩn thông tin trong ảnh

Sau khi thực hiện lệnh Steghide, có một thông báo đặt mật khẩu để trích xuất dữ liệu nhúng xuất hiện, nhập mật khẩu và xác nhận lại.

So sánh hai hình ảnh

Bước 2: Trích xuất dữ liệu ẩn từ tệp

Trích xuất dữ liệu ẩn từ một hình ảnh steganographic thậm chí còn dễ dàng hơn với lệnh sau:

$ steghide extract -sf stegoFile -xf outputFile

Khi chạy lệnh này, bạn sẽ được nhắc nhở để nhập cùng một mật khẩu đã tạo ra ở trên.

Trích xuất dữ liệu ẩn trong tệp

Chúc các bạn thực hiện thành công! 

Ngoài ra, bạn có thể sử dụng cmd để giấu tài liệu mật vào hình ảnh Giấu tài liệu mật dưới dạng hình ảnh

Xem thêm: Hướng dẫn đặt mật khẩu bảo vệ tập tin và thư mục trong Windows

Thứ Bảy, 25/11/2017 10:34
31 👨 1.407