Cryptoloop is a Linux kernel's disk encryption module that relies on the Crypto API, which is a cryptography framework introduced in version 2.5.45 of the Linux kernel mainline. Cryptoloop was first introduced in the 2.5.x kernel series; its functionality was later incorporated into the device mapper, a generic framework used to map one block device onto another.
Cryptoloop can create an encrypted file system within a partition or from within a regular file in the regular file system. Once a file is encrypted, it can be moved to another storage device. This is accomplished by making use of a loop device, a pseudo device that enables a normal file to be mounted as if it were a physical device. By encrypting I/O to the loop device, any data being accessed must first be decrypted before passing through the regular file system; conversely, any data being stored will be encrypted.
This attack exploits weakness in IV computation and knowledge of how file systems place files on disk. This attack works with file systems that have soft block size of 1024 or greater. At least ext2, ext3, reiserfs and minix have such property. This attack makes it possible to detect presence of specially crafted watermarked files. Watermarked files contain special bit patterns that can be detected without decryption.
Newer versions of cryptoloop's successor, dm-crypt, are less vulnerable to this type of attack if used correctly.
- "Kernel development". LWN.net. October 2002. Retrieved 2015-02-15.
- SecuriTeam (2005-05-26). "Linux Cryptoloop Watermark Exploit". Retrieved 2006-08-09.
- Saarinen, Markku-Juhani O. (2004-02-19). "Re: Oopsing cryptoapi (or loop device?) on 2.6.*". Retrieved 2006-08-09.
- Markus Reichelt (2004-06-20). "Why Mainline Cryptoloop Should Not Be Used". Retrieved 2007-04-20.