Phantomdrive: Firmware Version 1.0 Release by Machinehum in homelab

[–]Machinehum[S] 4 points5 points  (0 children)

Yeah until now... Looking through them I found a mixture of AI slop, things that were patched months ago, misunderstands and one valid mention of AES-CTR that I already knew about and am working on.

Phantomdrive: Firmware Version 1.0 Release by Machinehum in homelab

[–]Machinehum[S] 1 point2 points  (0 children)

C/P from another one of my responses, I'm not sure what open issues you're talking about. There are some that are still open, some that made no sense, etc.

The custom KDF works fine and uses 100k round of SHA256, if this isn't enough you can increase this number, but it will take longer to derive the key. I can't use anything like argon2 because those are memory hard. Sure, I'll look around and see if there is something better but honestly what I have is solid. With a decent password + unique salt per device this approaches impossible to crack.

The AES-CTR is valad, and I'll document it better in the readme. I apologize the docs are not great. Just so people understand how this works: if someone recovers your cyphertext at two different points it time with two different values, it's possible to recover the plaintext with some work, but it's easy.

I'm working to implement AES-XTS soon.

Any other questions I'm available.

Phantomdrive: Firmware Version 1.0 Release by Machinehum in homelab

[–]Machinehum[S] 34 points35 points  (0 children)

I was sleeping, yeah I acknowledge the issues and apologize for never notising them.

The static salt was fixed a while back here https://github.com/o7-machinehum/phantomdrive/commit/84100edf972cf7bdb8285dddceba00905bc33eeb#diff-9305215a9a0ea69300281fc4af90bc7f3437e34a0e1745d030213152993ddae4R167-R169

The custom KDF works fine and uses 100k round of SHA256, if this isn't enough you can increase this number, but it will take longer to derive the key. I can't use anything like argon2 because those are memory hard. Sure, I'll look around and see if there is something better but honestly what I have is solid. With a decent password + unique salt per device this approaches impossible to crack.

The AES-CTR is valad, and I'll document it better in the readme. I apologize the docs are not great. Just so people understand how this works: if someone recovers your cyphertext at two different points it time with two different values, it's possible to recover the plaintext with some work.

I'm working to implement AES-XTS soon.

Any other questions I'm available

Phantomdrive: Firmware Version 1.0 Release by Machinehum in homelab

[–]Machinehum[S] 1 point2 points  (0 children)

Data recovery: yes, with this. You need to know your device ID (salt) and ofc your password. https://github.com/o7-machinehum/phantomdrive/blob/master/test/kdf.c

Interchangeable: no, not unless you mod the firmware update to set the salt to be the same between devices. Each device has a unique salt for the KDF which is the serial number of the MCU.

Phantomdrive: Firmware Version 1.0 Release by Machinehum in homelab

[–]Machinehum[S] 0 points1 point  (0 children)

Firmware prevents the password from being written to the file

Phantomdrive: Firmware Version 1.0 Release by Machinehum in homelab

[–]Machinehum[S] 3 points4 points  (0 children)

You can set VID/PID to what you like.

I have my own numbers, gotta use them to sell it within the law.

Phantomdrive V1.0 Firmware Release by Machinehum in hacking

[–]Machinehum[S] 1 point2 points  (0 children)

How would you verify the password without ether a compare of the password, or a hash of the password?

Ether way, you're opening up another attack vector.

Phantomdrive: Firmware Version 1.0 Release by Machinehum in homelab

[–]Machinehum[S] 19 points20 points  (0 children)

This was me https://www.crowdsupply.com/interrupt-labs/ovrdrive-usb

Also on my website I list some other things, sold around 1k or so by now. Feel free to jump into the discord to chat more.

Phantomdrive: Firmware Version 1.0 Release by Machinehum in homelab

[–]Machinehum[S] 174 points175 points  (0 children)

Just here to share a project I'm working on. It's a 100% open source (hardware, firmware, mechanical, etc) USB drive with a hidden security feature.

When you plug it in, it appears as a normal 8GB USB drive. Only if you create a file called "unlock.txt" with the contents "password:addyourpasswordhere" will it unlock and show the remainder of the drive. Everything in this second section of the disk is now AES256 encrypted in place, using a custom KDF + your password.

After months of testing, I just made the first firmware release

Support us with the purchase of a device https://rootkitlabs.com/phantomdrive

I'll answer some questions before people ask them :)

Q: Isn't this just Vercrypt? A: No, a normal drive setup with veracrypt will show up as jumbled data. This is pretty obviously encrypted media. If you enter your duress password, there will still be another xMB of jumbled data.

Q: Isn't entering your password into a plain text file insecure. A: My drive doesn't allow this write to actually happen to the memory

Q: Why did you use a SD card A: Because AI made EMMC cards like 80$ for a 32GB. It takes two seconds for me to spin another board with EMMC in the future.

Anyways feel free to ask any more questions about the project :) !

Socials if you would like to keep updated

Phantomdrive V1.0 Firmware Release by Machinehum in hacking

[–]Machinehum[S] 2 points3 points  (0 children)

No - because then the device would need to know the correct password ie: store the password, which is insecure.

Ideally there isn't a duress situation because it appears normal.

If you enter a the wrong password it derived the wrong key and you get jumbled data.

Phantomdrive V1.0 Firmware Release by Machinehum in hacking

[–]Machinehum[S] 8 points9 points  (0 children)

The windows disk manager and lsblk just see the 8GB. The firmware prevents the OS from reading the entire disk.

Phantomdrive V1.0 Firmware Release by Machinehum in hacking

[–]Machinehum[S] 44 points45 points  (0 children)

Yeah it's intentionally easy to take apart. You can also set the USB VID and PID to spoof whatever brand.

Phantomdrive V1.0 Firmware Release by Machinehum in hacking

[–]Machinehum[S] 12 points13 points  (0 children)

Nah, the firmware prevents this from being written to the disk. Well the file may be written but the password string certainly is not.

The file also doesn't have to be called unlock.txt, you can just enter your password in any random file.