Trong phần thứ 6 của loạt bài Pháp y Kỹ thuật số, Quản Trị Mạng sẽ cùng với các bạn tìm hiểu về Steganography, một kỹ thuật giấu dữ liệu.
1. Steganography là gì?
Theo wikipedia, Steganography là nghệ thuật và khoa học về việc giấu thông điệp, hình ảnh, hoặc dữ liệu trong một thông điệp khác, hỉnh ảnh khác hoặc dữ liệu khác. Thông thường, thông điệp ẩn sẽ được ẩn dấu trong một ảnh, một bài viết, một đoạn văn bản, hay thậm chí là một danh sách mua sắm.
Ví dụ cụ thể: thông điệp ẩn có thể được viết bằng mực vô hình (invisible ink), nằm giữa các dòng chữ nhìn thấy được bởi mắt thường của một bức thư.
2. Phân biệt Steganography và Cryptography
Ưu điểm của Steganography so với Cryptography là thông điệp bí mật không gây bất kì sự chú ý nào từ phía đối tượng giám sát bởi nó đã được giấu đi. Tất nhiên điều này tốt hơn so với một thông điệp đã được mã hóa nhưng lại không ẩn đi (ở đây không nói đến việc thông điệp này có thể giải mã được không) mà để cho người ta nhìn thấy và quan tâm.
Kết hợp Steganography với Cryptography một cách hợp lý, ta sẽ đảm bảo được tính an toàn của thông điệp hơn nhiều lần.
3. Phương pháp LSB (LEAST SIGNIFICANT BIT) trong Steganography
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:
Tóm gọn lại thì ta có các bước để dấu một thông điệp ẩn vào một bức ảnh 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. Bạn có thể tải về và dùng thử Stenography Tool ở link bên dưới:
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. Bạn có thể sử dụng công cụ StegSolve để làm công việc này:
4. Ứng dụng của Steganography
Với sự hoàn hảo của các tiện ích đa phương tiện số và những tiến bộ của công nghệ, Steganography ngày càng phát triển và được ứng dụng khắp nơi. Trong lĩnh vực an toàn thông tin, nó được kết hợp với các phương pháp trong Cryptography để có thể chuyển các thông báo mật đi dưới một bức tranh, một bản nhạc vô hại, nhờ thế làm tăng thêm vòng bảo mật của chúng.
Trong lĩnh vực sở hữu trí tuệ, nó được xem như một cơ chế tuyệt hảo để chống gian lận, giả mạo và lạm dụng bản quyền. Các nhà công nghiệp đã đầu tư hàng triệu đô la vào các kỹ thuật che giấu các logo của các công ty và các dấu hiệu bản quyền khác trong các hình ảnh số, các bản ghi video và âm nhạc…