Shufflecake, một công cụ để tạo các tập ẩn

bánh trộn

Shufflecake là một công cụ dành cho Linux cho phép tạo nhiều tập đĩa ẩn trên thiết bị lưu trữ theo cách mà rất khó, ngay cả dưới sự kiểm tra pháp y, để chứng minh sự tồn tại của những tập đĩa đó.

Công ty kiểm toán an ninh Kudelski Security ra mắt bộ công cụ Shufflecake, cho phép bạn tạo các hệ thống tệp ẩn được phân phối trên không gian trống có sẵn trên các phân vùng hiện có và không thể phân biệt được với dữ liệu còn lại ngẫu nhiên. Các phần được tạo theo cách mà nếu không biết khóa truy cập, sẽ rất khó để chứng minh sự tồn tại của nó ngay cả khi thực hiện pháp y.

Dự án được định vị là một giải pháp tiên tiến hơn Truecrypt và Veracrypt để ẩn dữ liệu nhạy cảm, có hỗ trợ riêng cho nền tảng Linux và cho phép bạn đặt tối đa 15 phân vùng ẩn trên thiết bị, được lồng vào nhau để phân tích sự tồn tại của chúng.

Các phân vùng ẩn được tạo, theo quyết định của người dùng, có thể được định dạng để phù hợp với bất kỳ hệ thống tập tin nào, ví dụ: ext4, xfs hoặc btrfs. Mỗi phân vùng được coi là một thiết bị khóa ảo riêng biệt với khóa mở khóa riêng.

Để làm xáo trộn các dấu vết, mô hình hành vi «từ chối hợp lý» được đề xuất, bản chất của nó là dữ liệu có giá trị được ẩn dưới dạng các lớp bổ sung trong các phần được mã hóa với dữ liệu ít giá trị hơn, tạo thành một loại phân cấp ẩn của các phần. Trong trường hợp bị áp lực, chủ sở hữu thiết bị có thể tiết lộ khóa của phần được mã hóa, nhưng các phần khác (tối đa 15 cấp độ lồng nhau) có thể bị ẩn trong phần này và việc xác định sự hiện diện cũng như chứng minh sự tồn tại của chúng là một vấn đề.

Shufflecake và mô-đun hạt nhân mới chỉ được thử nghiệm trên Debian và Ubuntu với kernel 5.13 và 5.15 (Ubuntu 22.04 được hỗ trợ). Cần lưu ý rằng dự án vẫn nên được coi là một nguyên mẫu làm việc, không nên được sử dụng để lưu trữ dữ liệu quan trọng.

Trong tương lai, chúng tôi dự định thực hiện các tối ưu hóa bổ sung cho hiệu suất, độ tin cậy và bảo mật cũng như cung cấp khả năng khởi động từ các phân vùng Shufflecake.

Giới thiệu về Shufflecake

sự che giấu đạt được bằng cách hình thành từng phân vùng dưới dạng một tập hợp các phân đoạn được mã hóa được đặt ở các vị trí ngẫu nhiên trên thiết bị lưu trữ. Mỗi lát được tạo động khi phân vùng cần thêm dung lượng lưu trữ. Để làm phức tạp việc phân tích, các vết cắt từ các phần khác nhau được xen kẽ.

Các phần Shufflecake không được liên kết với các vùng liền kề và các phần từ tất cả các phần được trộn lẫn với nhau. Thông tin về các phần đã sử dụng và miễn phí được lưu trữ trong bản đồ vị trí đính kèm với từng phần, được tham chiếu bởi tiêu đề được mã hóa. Các thẻ và tiêu đề được mã hóa và không cần biết mã khóa, không thể phân biệt được với dữ liệu ngẫu nhiên.

Tiêu đề được chia thành các khoảng trắng, mỗi người trong số đó xác định phần riêng của nó và các lĩnh vực liên quan của nó. Các vị trí trong tiêu đề được xếp chồng lên nhau và được liên kết theo cách đệ quy: vị trí hiện tại chứa khóa để giải mã các tham số của phần trước đó (ít ẩn nhất) trong cấu trúc phân cấp, cho phép sử dụng một mật khẩu duy nhất để giải mã tất cả các phần ít ẩn hơn được liên kết với tiêu đề .được chọn. Mỗi phần ít ẩn hơn coi các phần của các phần lồng nhau là miễn phí.

Theo mặc định, tất cả các phần lồng nhau của Shufflecake có cùng kích thước hiển thị hơn phần cấp cao nhất. Ví dụ: nếu ba phân vùng được sử dụng trên thiết bị 1 GB, mỗi phân vùng sẽ hiển thị với hệ thống dưới dạng phân vùng 1 GB và tổng dung lượng ổ đĩa khả dụng sẽ được chia sẻ giữa tất cả các phân vùng nếu tổng lượng dữ liệu được lưu vượt quá kích thước thực tế của thiết bị, nó sẽ bắt đầu tạo ra lỗi I/O.

Các phần lồng nhau chưa mở không tham gia phân bổ không gian, tức là cố gắng điền vào phần cấp cao nhất sẽ ghi đè lên dữ liệu trong các phần lồng nhau, nhưng sẽ không tiết lộ sự hiện diện của nó thông qua phân tích kích thước dữ liệu có thể được đặt trong phần trước khi xảy ra lỗi (các phần cao hơn được giả định là chứa dữ liệu không thay đổi) dữ liệu do phân tâm và không bao giờ được sử dụng riêng biệt và công việc thông thường luôn được thực hiện với phần lồng nhau gần đây hơn, bản thân lược đồ ngụ ý rằng điều chính là giữ bí mật về sự tồn tại của dữ liệu, ngay cả khi phải trả giá bằng việc mất dữ liệu).

Việc thực hiện Shufflecake có hiệu suất khá cao, nhưng do có chi phí chung, nó có hiệu suất thấp hơn hai lần so với mã hóa đĩa dựa trên hệ thống con LUKS. Sử dụng Shufflecake cũng phát sinh thêm chi phí cho RAM và không gian để lưu trữ dữ liệu dịch vụ trên đĩa. Chi phí bộ nhớ được ước tính là 60 MB cho mỗi phân vùng và không gian đĩa được ước tính bằng 1% tổng kích thước. Để so sánh, kỹ thuật WORAM với mục đích tương tự dẫn đến tốc độ chậm 5-200 lần với 75% dung lượng ổ đĩa có thể sử dụng bị mất.

Mã cho các tiện ích (shufflecake-userland) và mô-đun nhân Linux (dm-sflc) được viết bằng C và được phát hành theo giấy phép GPLv3, điều này khiến không thể đưa mô-đun nhân đã xuất bản vào nhân Linux chính do không tương thích theo giấy phép GPLv2 mà hạt nhân được vận chuyển.

Nếu bạn quan tâm muốn biết thêm về nó, bạn có thể tham khảo chi tiết Trong liên kết sau đây.


Để lại bình luận của bạn

địa chỉ email của bạn sẽ không được công bố. Các trường bắt buộc được đánh dấu bằng *

*

*

  1. Chịu trách nhiệm về dữ liệu: Miguel Ángel Gatón
  2. Mục đích của dữ liệu: Kiểm soát SPAM, quản lý bình luận.
  3. Hợp pháp: Sự đồng ý của bạn
  4. Truyền thông dữ liệu: Dữ liệu sẽ không được thông báo cho các bên thứ ba trừ khi có nghĩa vụ pháp lý.
  5. Lưu trữ dữ liệu: Cơ sở dữ liệu do Occentus Networks (EU) lưu trữ
  6. Quyền: Bất cứ lúc nào bạn có thể giới hạn, khôi phục và xóa thông tin của mình.