Phương pháp LSB (LEAST SIGNIFICANT BIT) trong Steganography

Một phần của tài liệu Tổng quan về computer forensics (Trang 30 - 32)

Trong xử lý ảnh, mỗi pixel nói chung được lưu dưới dạng 8 bit hay 24 bit. Với biểu diễn 24 bit, mỗi pixel trải trên 3 byte, mỗi byte ứng với các màu đỏ, xanh da trời và xanh lá cây (RGB). Các màu là sự kết hợp của 3 màu trên. Mỗi byte có giá trị từ 0 - 255 ứng với cường độ màu. Màu tối nhất có giá trị 0, màu sáng nhất có giá trị 255.

Có rất nhiều phương pháp để che giấu thông tin trong các hình ảnh số nhưng phương pháp dụng nhất là chèn bit có trọng số nhỏ nhất (LSB). Ví dụ ta có: 11110110 là một số nhị phân 8 bit. Bit tận cùng bên phải ( bit 0 ) được gọi là bit LSB vì sự thay đổi của nó có ảnh hưởng ít nhất đến giá trị của số. Dữ liệu nhị phân của thông báo mật sẽ bị chia nhỏ ra và thay thế các bit LSB của từng byte trong giá trị RGB của từng Pixel. Sỡ dĩ chúng ta chỉ thay thế các bit LSB là vì sau khi thay đổi các giá trị trong RBG chỉ dao động 1 đơn vị, dùng mắt thường sẽ khó phát hiện ra sự thay đổi của bức ảnh, giúp đạt được mục đích ẩn dấu.

Bởi mỗi pixel được tạo nên từ 3 kênh màu (RGB), nên ta có thể dấu tối đa 3 bit của thông báo mật. Hình minh họa:

bằng phương pháp LSB:

+Chuyển thông điệp bí ẩn sang dạng nhị phân.

+Thay từng 3 bit của thông điệp vào LSB của các pixel liên tiếp trong ảnh cho đến khi hết thông điệp.

+Lưu lại bức ảnh mới đã chứa thông điệp mật của ta.

Việc thực hiện dấu thông tin bằng LSB này hoàn toàn thực hiện được bằng một đoạn code ngắn mà bạn tự viết ra. Nếu không bạn có thể sử dụng các phần mềm có sẵn trên mạng để thực hiện thay. Ở đây mình thử nghiệm bằng phần mềm Stenography Tool và thấy nó thực hiện khá tốt. Ảnh sau khi che dấu thông tin nhìn chẳng khác gì ảnh gốc. Các bạn có thể tải phần mềm này tại: http://sourceforge.net/projects/stegtool/

Capture.PNG

Việc lấy lại thông điệp mật từ ảnh thì chỉ là thực hiện hoàn toàn ngược lại với việc ẩn dấu. Ta sẽ không gặp khó khăn gì trong việc lấy lại được thông điệp ẩn trừ khi nó đã được mã hóa trước khi dấu đi. Ở đây mình sử dụng tool

StegSolve để lấy một thông điệp ẩn từ một ảnh cho trước (ảnh này được lấy từ một đề thi CTF). Bạn có thể download file zip đính kèm theo bài viết để lấy ảnh thực hành.

Chú ý là trong clip trên, mình chỉ extract data từ chỉ một kênh màu đỏ (RED) chứ không phải trên cả ba kênh RGB.

Một phần của tài liệu Tổng quan về computer forensics (Trang 30 - 32)