Mounir IDRASSI
1688779bc3
Windows: Fix failure to format some disks (e.g. VHDX) caused by partition offset not 4K aligned
...
Now we set offset to 1MB which is a typical values used for MBR disks.
We also use a more standard way to calculate legacy number of cylinders
2023-11-08 22:43:18 +01:00
Mounir IDRASSI
5192eac233
Windows Driver: Use KeQueryInterruptTimePrecise on Windows 8.1 and newer as better seed for internal RNG compared to KeQueryInterruptTime
2023-09-29 22:14:43 +02:00
Mounir IDRASSI
f84d235cf1
Windows: Implement support for mounting partially encrypted system partitions
...
For now, we force ReadOnly mounting for such partitions.
2023-08-13 22:50:37 +02:00
Mounir IDRASSI
fa6359d424
Windows: Remove TrueCrypt support. Increment version to 1.26.4.
2023-07-22 10:25:22 +02:00
Mounir IDRASSI
c51a209879
Windows: Add registry setting to disable erasing encryption keys on Windows shutdown/reboot. This helps solve BSOD during shutdown/reboot on some machines.
...
Under "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\veracrypt", create a REG_DWORD value named "VeraCryptEraseKeysShutdown" and set its value to 0.
2022-02-06 09:52:24 +01:00
Mounir IDRASSI
f63c2ec13c
Windows driver: Set maximum values for encryption queue parameters. Add IOCTL code to read used values from user space maximum value for EncryptionFragmentSize is 2048 maximum value for EncryptionIoRequestCount is 8192 maximum value for EncryptionItemCount is (EncryptionIoRequestCount/2)
2021-12-30 00:42:39 +01:00
Mounir IDRASSI
fac35ab08a
Windows Driver: Better code for EncryptionFragmentSize variable handling
2021-12-30 00:42:30 +01:00
Mounir IDRASSI
5640de3584
Windows Driver: Add registry settings to control driver internal encryption queue Under HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\veracrypt: - VeraCryptEncryptionFragmentSize (REG_DWORD): size of encryption data fragment in KiB. Default is 256. - VeraCryptEncryptionIoRequestCount (REG_DWORD): maximum number of parallel I/O requests. Default is 16. - VeraCryptEncryptionItemCount (REG_DWORD): maximum number of encryption queue items processed in parallel. Default is 8.
2021-12-20 00:18:58 +01:00
Mounir IDRASSI
fb1a4893b8
Windows: Fix some VS static analyzed warnings
2021-08-30 00:26:57 +02:00
Mounir IDRASSI
09206053d5
Windows Driver: Potential memory corruption caused by integer overflow in IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES (reported by I.V. Sprundel)
2021-08-24 09:29:24 +02:00
Mounir IDRASSI
c6d63e9365
Windows: Block Windows from resizing system partition if it is encrypted. This avoid issues during Windows Upgrade that sometimes resizes system partition which create problems if it is encrypted by VeraCrypt
2021-02-27 23:07:10 +01:00
Mounir IDRASSI
21674c6aec
Windows: Fix various compiler warnings
2020-12-11 23:42:14 +01:00
Mounir IDRASSI
b48d437c80
Windows Driver: Fix build error using Windows 10 WDK caused by name conflict for KeSaveExtendedProcessorState/KeRestoreExtendedProcessorState functions
2020-12-11 23:42:08 +01:00
Mounir IDRASSI
3f587a3629
Windows: Don't use API for Processor Groups support if there is only 1 CPU group in the system. This can fix slowness issue observed on some PCs with AMD CPUs.
2020-07-02 02:20:42 +02:00
Mounir IDRASSI
b270a453aa
Windows: remove unused code targeting Windows 2000.
2020-06-28 01:06:14 +02:00
Mounir IDRASSI
bec929ce03
Windows Driver: Use real disk sector size instead of generic 512 bytes value when probing disk real size
2020-06-21 17:42:08 +02:00
Mounir IDRASSI
94d3a1919c
Windows: Implement support for processor groups in the driver and fix build issues caused by previous implementation
2020-02-10 02:23:25 +01:00
Mounir IDRASSI
5eaa204d83
Windows Driver: Reduce memory usage of IOCTL_DISK_VERIFY handler. Now we reader disk by chunks of at most 64 KiB. Fix https://github.com/veracrypt/VeraCrypt/issues/562 .
2019-12-09 18:59:27 +01:00
Mounir IDRASSI
b7a21b8a76
Windows Driver: Fix strange crashes caused by probably by APC queue issues from calls to IoBuildDeviceIoControlRequest and ZwCreate (cf https://www.osr.com/blog/2018/02/14/beware-iobuilddeviceiocontrolrequest/ )
2019-11-07 00:48:09 +01:00
Mounir IDRASSI
5c934d8122
Windows Driver: Add IOCTL code to query RAM encryption status in VeraCrypt driver
2019-03-03 23:48:49 +01:00
Mounir IDRASSI
edd1b00126
Windows Driver: Enable RAM encryption only after its security parameters were created
2019-03-01 00:35:54 +01:00
Mounir IDRASSI
8d7a318795
Windows: use specific order for EFI boot arguments memory regions that matches the one used by EFI bootloader.
2019-03-01 00:35:20 +01:00
Mounir IDRASSI
cf48b532b4
Windows: Implement RAM encryption for keys on 64-bit machines using ChaCha12 cipher and t1ha non-cryptographic fast hash ( https://github.com/leo-yuriev/t1ha )
2019-03-01 00:35:13 +01:00
Mounir IDRASSI
86f0fde6e7
Windows: Use Hardware RNG based on CPU timing jitter "Jitterentropy" by Stephan Mueller as a good alternative to RDRAND ( http://www.chronox.de/jent.html , smueller@chronox.de)
2019-02-12 19:06:14 +01:00
Mounir IDRASSI
ba5da0946c
Windows: Add implementation of ChaCha20 based random generator. Use it for driver need of random bytes (currently only wipe bytes but more to come later).
2019-02-08 01:50:12 +01:00
Mounir IDRASSI
e5b9cee868
Windows: Add option to enable use of CPU RDRAND/RDSEED as source of entropy which is now disabled by default
2019-02-08 01:50:03 +01:00
Mounir IDRASSI
54e46c260c
Windows Driver: force the input size for some IOCTLs to have a fixed value
2019-01-28 17:16:23 +01:00
Mounir IDRASSI
a20b3083b0
Windows: Add a build configuration containing EFI bootloader signed with custom SecureBoot key instead
2019-01-26 01:20:51 +01:00
Mounir IDRASSI
d3e7ed96f3
Windows: Implement feature that enables clearing of encryption keys when a new device is inserted. Better implementation for update of EFI bootloader without usage of drive letters (this can fix random issues encountered during Windows upgrade).
2019-01-14 10:49:05 +01:00
Mounir IDRASSI
652e989d23
Windows Security: Add new entry point in driver that allows emergency clearing of all encryption keys from memory. This entry point requires administrative privileges and it will caused BSDO when system encryption is active. It can be useful for example to applications that monitors physical access to the machine and which need to erase sensitive key material from RAM when unauthorized access is detected.
2019-01-09 00:30:12 +01:00
Mounir IDRASSI
3290ef4f75
Windows Driver: Don't interact with the volume's filesystem if mount manager integration is disabled
2018-12-19 12:41:49 +01:00
Mounir IDRASSI
1967bd862e
Windows: Add mount option that allows mounting a volume without attaching it to the specified drive letter. This is useful in situation where Windows has issue with the filesystem (e.g. ReFS on Windows 10 1809) and we need to use third party software to be able to use the filesystem under Windows through low level VeraCrypt virtual device (e.g. \Device\VeraCryptVolumeX).
2018-12-19 00:41:37 +01:00
Mounir IDRASSI
162d3b5f64
Windows Driver: fix regression that was causing BSOD.
2018-10-10 09:31:41 +02:00
Mounir IDRASSI
0b5dc7910b
Windows Driver: replace system functions RtlUpcaseUnicodeChar/RtlUnalignedStringCchLengthW by our own code for better clarity
2018-10-10 09:31:40 +02:00
Mounir IDRASSI
2455c03e0d
Windows driver: add extra check for data read in TC_IOCTL_OPEN_TEST handling
2018-09-21 10:39:08 +02:00
Mounir IDRASSI
f30f9339c9
Windows: fix low severity vulnerability in driver that allowed reading 3 bytes of kernel stack memory (with a rare possibility of 25 additional bytes). Reported by Tim Harrison.
2018-09-21 10:39:06 +02:00
Mounir IDRASSI
09afb91c89
Windows: extended Windows defragmenter workaround to Windows 8.1
2018-09-01 01:15:32 +02:00
Mounir IDRASSI
7cbe6b71e5
Windows: implement a driver configuration option to explicitly allow defragmenting non-système disques by Windows built-in defragmenter tool.
2018-08-24 00:49:59 +02:00
Mounir IDRASSI
20889d4553
Windows: Implement workaround on Windows 10 to make VeraCrypt encrypted disks visible to Windows defragmenter
2018-08-18 16:47:23 +02:00
Mounir IDRASSI
6cdcbac305
WIndows driver: add check for failed memory allocation
2018-08-15 14:44:32 +02:00
Mounir IDRASSI
d907627f7e
Windows: Add option to block TRIM command on system encryption SSD drives.
2018-03-05 19:35:07 +01:00
Mounir IDRASSI
cd59d5364f
Windows: Implement TRIM support for non-system SSD partitions/drives and add driver option to enable it (TRIM is disabled by default for non-system SSD partitions/drives)
2018-03-04 18:50:23 +01:00
Mounir IDRASSI
c29ee8331a
Windows driver: correctly handle IOCTL_DISK_GET_DRIVE_GEOMETRY_EX to fix issues with some disks. Implement IOCTL_STORAGE_GET_MEDIA_TYPES_EX.
2017-07-27 00:30:51 +02:00
Mounir IDRASSI
7cc2a3527d
Windows Driver: make IOCTL_DISK_GET_DRIVE_GEOMETRY_EX support optional. Make disk size equal to partition size to avoid compatibility issues with existing software.
2017-07-23 14:52:12 +02:00
Mounir IDRASSI
1812449906
Windows Driver: add legacy handling for IOCTL_DISK_GET_DRIVE_LAYOUT_EX/IOCTL_DISK_GET_DRIVE_LAYOUT IOCTLs to fix issues with faulty applications and drivers that don't handle them correctly.
2017-07-23 14:52:11 +02:00
Mounir IDRASSI
6d6aafe58d
Windows driver: only activate newly supported IOCTLs if the option to enable extended IOCTLs is enabled in VeraCrypt driver settings.
2017-07-20 23:23:20 +02:00
Mounir IDRASSI
ac77142949
Windows driver: fix IOCTL_DISK_GET_DRIVE_LAYOUT and IOCTL_DISK_GET_DRIVE_LAYOUT_EX output by using setting PartitionCount to 4 instead of 1 since this field must always be a multiple of 4 for MBR disks.
2017-07-20 23:23:20 +02:00
Mounir IDRASSI
384c5cc259
Windows Driver: correctly get KeRestoreExtendedProcessorState function pointer.
2017-07-05 16:21:35 +02:00
Mounir IDRASSI
88cc8a00f4
Windows: correctly handle SEH exceptions during self-tests in order to disable CPU extended features in such case.
2017-07-04 12:28:17 +02:00
Mounir IDRASSI
89efcdb8cd
Windows Driver: correctly save and restore extended processor state when performing AVX operations on Windows 7 and later. Enhance readability of code handling save/restore of floating point state.
2017-07-04 02:26:24 +02:00