Another 0-day looms for many Western Digital users
krebsonsecurity.com
krebsonsecurity.com
Once again, this is why firmware needs a hardware write-enable switch, not a software one.
Cue the arguments that remote updating is needed to fix bugs that allow remote updating. :-/
1. firmware updating
2. write-enable for disk contents
3. turning the microphone on
4. turning the camera on
In a surprise development, the webcam I just bought comes with a flip-up lens cap. Yay! It's Nexigo, they deserve a shout-out for this. But in the Dept of Half-Assed Features, the lens cap does not disable the microphone, so I still have to unplug it when not in use.
turns out it was leeching power from another still-active device through its data pins!
there was not enough power flowing through this way to actually do something, but there was enough to keep the brownout detector from kicking in and resetting the chip
Some 10-15 years ago someone built dirt simple radio tags this way. Just a microcontroller, with a capacitor and an antenna trace connected to some io pin. I loved that hack.
In related news, I used an old Android phone and DroidCam over USB as a webcam. The picture quality is stellar, much better than any webcam you might find, and it's very simple to stop it by unloading the driver (I know, I know...).
It's really, really helpful to figure out which wall wart goes with which device.
Another tip I learned from another. You know those green plastic tabs that keep a bread bag closed? They clip onto a cable nicely, and write on them with a sharpie which device the other end is attached to. That really helps with the rat's nest of wires under my desk. One of them says "cam" on it :-)
Also, with respect to cables, this is really why we need tri-colored braided cables from a reputable dealer (ANKER!?): white, black, gray, blue — that gives 64 possible combinations!
I'd consider that an honor.
Here you go: https://puri.sm/security/.
instead we have undocumented microphones for 'future purposes'. Thanks Google
I highly recommend them for remote working software engineers; the macros are amazing (eg start camera, lights, open meeting software in one go - then another to shut it all down).
You will still need to double check that all the mappings haven't changed for whatever reason, from time to time. (I'm on Win20/WSL2).
Because paying customers don't understand or care about privacy.
Facebook is still a thing. Let that sink in.
It's funny how such basic things from the past were thrown away. Every floppy disk ever had this.
However, i also believe that if such a thing existed for modern gear, it would only be used by 1% of people, and even then, mostly accidentally, resulting in millions of trouble tickets. So I'm not sure what the compromise is.
BTW, I would read TV repair manuals as a kid (yes, weird). There was always the "check to see if it is plugged in". Plugging TVs in made a lot of money for service people.
I see similar things in car manuals for car won't start. "Put gas in it."
Edit: This was back in the days when you could repair a TV with a soldering iron and a screwdriver. Every hardware store had a tube testing machine. I'd have fun by randomly swapping the tubes that fit in the same socket and seeing what effect that would have on the TV's operation.
https://devblogs.microsoft.com/oldnewthing/20040303-00/?p=40...
I was also the family "TV tube test person" as a kid. I must have been around 6 or 7.
For the young'uns, TV sets used to have tubes and hand-soldered point-to-point circuitry. Just like an ENIAC, a tube TV would always "go on the fritz" as the tubes burned out.
My dad showed me how to pull out all the tubes, and we would put them in a cigar box and go to the little corner grocery, which had a tube tester in front. I would dial up all the settings for each tube and test it, and we would buy replacements for the bad ones. Take them back home and I would plug them in, and the TV worked again! Dad was always generous and made sure I got credit for it.
BTW did you ever get to discharge the high voltage connection to the picture tube with a screwdriver and wire with alligator clips? One clip to chassis ground, the other to the screwdriver, then slip the screwdriver under the rubber insulated connector, and BANG!
> I don't buy the argument that if not everyone uses it, nobody should get it.
That's not the argument. The argument is that for every N people who use the feature, X*N ( X>>1 ) will accidentally enable the feature and thus require an expensive tech support call.The answer to "Did you check the wifi switch?" is almost always "What wifi switch?".
Most people are surprised that speakers can be used as microphones by "running them in reverse", and so you also need a hardware switch for your speakers to maintain privacy.
Pretty much the only way this might be possible is if you had an audio port that was capable of functioning as both a TRS output and a TRS input (not a TRRS "headset" port), and had a set of headphones plugged into said port, and had a piece of malicious software that was able to reconfigure the port to act as an input.
That's actually a feature of many realtek sound drivers. https://www.reaper-x.com/2012/02/13/how-to-remap-retasking-r...
Most embedded PC sound cards made in the last few years have this.
(also, you'll need headphones without an amplifier as well!)
A simple intercom is just two speakers, one on each end, wired together in a loop.
In my childhood I took apart a broken WalkMan and discovered if I connected a random ~8" loudspeaker driver in the tape head's place, I could eavesdrop on my siblings and parents from across the house by placing the speaker against the walls or floor, complete with volume control and everything.
It was incredibly sensitive, and infuriating to learn how much everyone was constantly lying and talking behind eachother's backs at that age.
If there's non-secret hardware inputs on the speakers... it's probably easier to just remove that.
The threat is if the speaker jack has recording hardware. That's why I said "attached to the speakers".
If you're thinking about adding a switch to disable recording via the speaker jack, for safety purposes, you should probably just remove that capability entirely.
Although at that point I think I'm more worried about the microphonic properties of ceramic capacitors in the signal path.
I think it was realtek built-in on a hp SFF PC.
Hardware switches are easier for microphones and cameras, because you literally cut the power for a device.
No, it’s not. The actual low-level chip on the flash has a separate pin that must be connected to ground to enable writes.
Then there's NVRAM (non-volatile random access memory), which is usually smaller than EEPROM but has infinite write cycles, requires very little preparation to write (since it's just RAM), and is often used to store configuration data, not code.
> Then there's NVRAM
I was under the impression that NVRAM is less of a specific technology and more of a desideratum. As for implementations of it aside from ages-old battery-backed RAM, there’s FRAM used in some TI microcontrollers and (Wikipedia tells me) some other stuff, but it’s all patented to hell and back so we’re unlikely to see any of it in general use (although TI microcontrollers are admittedly lovely).
I’ve also had to do it on a desktop Gigabyte motherboard circa 2009 after a successful BIOS update left the flash rom unstable.
You make an embedded Linux device with a read only partition based on a hardware switch. You figure out all the bugs that are caused by software not being able to write temporary files to disk. You figure out how to do configuration management on a separate system with something more complicated than a ten line YAML file.
Want to change your password? That's /etc/shadow -- did you some how rig that up to be writeable, while the rest of /etc was not? Also, since I presume your management decided to not let the users have root, because of course they did... You'll need to resort to software tricks to make sure the user can't change the root password.
Oh, and remember. No software read only tricks. Hardware switch.
Please let me know when you finish, I'll help audit your system.
Last edit: To all the reply guys, yes. I know it's possible. My statement is it isn't easy, and there are many challenges. (Especially compared with the simplicity of a power cut switch to a webcam.)
I can make you a microcontroller with a firmware update switch that blinks a light. By the time you scale that up to a full fledged embedded Linux system with a board designed in house, with weird hardware that is keeping you back on Linux 3.16 because nobody knows how to port your drivers, with cryptographically signed updates, fault tolerant firmware slots, and a nasty stack of software developed by web devs that can't fathom why they can't write to disk, that has to interoperate with legacy hardware and systems, that has a management bureaucracy that can't understand why it's taking so long to implement the new media server plugin, and devices in the field aren't getting automatic updates...
No. No it's not easy. Part way through, management will kill the project, you'll end up with a switch that's read in software, and eventually wind up on the front of HN as someone who did security wrong.
But by all means, take your "easy" idea to WD and tell them you'll have it working on their devices by Q1 2022.
(Aside: As for my idea of a configuration system, I’ve developed entire [incremental!] build systems that take a kernel source tree and configuration files and generate fully boot-ready images with drivers, packages, and even GUI support down to specifying the themes and customizing panel layouts, and more via a fully declarative syntax. The images have been booted on commodity hardware not under our control spanning some twenty-plus years of technology on more than a 100k machines. This is HN: not everyone is merely an armchair expert in whatever the topic of discussion is for today. It can be beneficial to assume expertise is out there and seek it rather than deny things are possible.)
In both cases you can write to the filesystem just fine. The writes just stay in RAM and don't get committed to disk.
There are cons to this approach, but you've listed none that apply in the real world
People seem to be thinking I'm saying this is impossible. I'm not, I never did. I'm sorry I'm frustrated, but it's difficult to respond to things you didn't say.
I'm saying, compared to a power cut switch for a webcam (which, I seem to remember even Apple screwed up accidently), a write protect switch is more challenging.
A power cut switch is mostly challenging mechanically. How do I get the dang thing on the case? But otherwise, that's the only consideration.
For a truly hardware based write protect switch that disables write capabilities at the silicon level, you have to adapt your image, your software, your hardware, and many of your procedures for the bring up process.
Is that challenging? For some people in this thread, I suppose not. But compared with a power cut? Orders of magnitude more challenging. Especially when you are bringing this to a massive codebase that hasn't had this as a design consideration.
Most flash chips have a write-enable line that you can put a switch on. Usually have to cut a trace but often can avoid soldering right to the legs by following traces.
Was a common thing to do to receivers (“Integrated Receiver Decoders”) back in the paytv days. Thankfully they had firmware on a parallel eeprom and config stuff on a smaller serial eeprom (that could handle 1m writes instead of 1k writes). Receivers could have a lot of wires especially after they implemented some lock-detection that had to be countered with some 74ac logic that could disrupt the 2nd step of starting a write job.
Should be doable for something like a router or cable modem, but maybe not on something like these WD drives. Like a mod chip without having to worry about the vendor trying to counter you.
Of course you’re still screwed if something is only non-persistent but at least any issues are resolved with a simple reboot.
First, some internal boot ROM, likely with fuses burned in for the particular IO configuration, reads a bootloader (likely Das U-boot) from external flash memory. That first-stage bootloader initializes the parallel/SPI NAND/NOR flash interface and DRAM controllers, and then launches the second-stage bootloader. The second-stage bootloader uses those memory controllers to read the firmware image out of memory into RAM, then executes it.
If you want to update the firmware - more precisely, to change the location or signature of the image that should be loaded by the second-stage bootloader - it would be trivial to add a check for a GPIO switch to allow or deny changes.
Because then the firmware can never auto-update, but needs to be manually and explicitly done -- flick the switch, apply the update, flick again.
And clearly a significant proportion of people (probably a very large majority if we're being honest) will simply never update firmware.
So which is the bigger threat: unpatched firmware, or firmware auto-update vulnerabilities?
The answer doesn't seem intuitively obvious at all to me. But there must be stats available -- frequencies and severities of vulnerability categories, and how often people update firmware on non-auto-updating devices. So it doesn't seem terribly hard to compute an answer?
Actually, preferentially they should be taken offline and the consumer should have to opt-in to leaving them connected to the Internet, but that's a whole separate issue.
Before EOL auto-update is a vulnerability, and after EOL security patches might still be made available for the absolute worst vulnerabilities, but now wouldn't get to practically anyone.
Not arguing against the idea, just saying that the economics will never work in favor of this.
Not sure how this isn’t illegal. You sell something so defective that it destroys the thing it’s designed to protect and you refuse to fix it, and rather use it as a chance to force customers to buy new devices that are likely just as bad
Many people believe that regulations on companies stifles innovation, so this is what we get. Apparently, it's your own fault if you bought a defective product.
So many "average" users just want consistency and will go with WD again because they don't need to relearn as much (even if the relearning is minimal it's still a mental barrier for anyone who does not feel totally technically competent).
I think of my parents who, despite being very smart people, are frustrated by tech because it doesn't come easy to them. Any extra step isn't beneficial, it's stressful.
If they're even smarter, they'll buy one with just a USB port and then rescue the 3.5-inch drive from its plastic prison.
You can also make a claim that the product contains a flaw that must be fixed, or the sale should either be retroactively discounted, or even cancelled. I have managed to cancel a sale on a product after its warranty expired due to a software issue that the manufacturer claimed was a feature, but which the consumer protection agency ruled was against reasonable consumer expectations that if it was a feature, it should have been clearly laid out for the consumer.
Western Digital deserves their fair share of blame here as always but honestly the pattern of failure and consequences here is pretty well established by now.
Rolling your own remote access solution(SSH/VPN+ strict FW rules) that can be used in conjunction with your own DIY raspberry pi network share(SMB+external drive USB or docked HDD) service is just really well documented in so many articles and is very maintenance free once you cronjob the updates.
It is time to own your digital destiny people. The stakes have always been high enough to justify the time and effort. Just do it!
> Rolling your own remote access solution(SSH/VPN+ strict FW rules) that can be used in conjunction with your own DIY raspberry pi network share(SMB+external drive USB or docked HDD)
These target completely different audiences.
Very secure but not in my hands. No thanks.
You also need the first two, really.
What software do you use to push your files from your windows/Linux machines? How do you test your backups most easily? How do you test you aren’t leaving your device exposed?
https://www.howtogeek.com/139433/how-to-turn-a-raspberry-pi-...
I don't remember if all the instructions worked precisely without a few tweaks, as the Raspberry Pi software has changed a bit since this was written. But at the very least it's worth just perusing the article to see if this is something you'd like to tackle.
I have a Raspberry Pi 4 with a (Western Digital, yeah I know) USB3 hard drive, that is a file server for my family's home network. I have not set up automatic backups, but do it manually by SSH'ing into the RPi periodically. The Pi 4 doesn't seem to like powering two drives at once, so I plug the drives into a powered USB3 hub.
There may be better ways of doing this, but of course mental inertia has set in, since it works and has been trouble free.
Reading zfs and truenas documentation then building your own is the second fastest.
So depending on which disks is hit, I can get 300-500MB/s for uncached data.
However when copying to the NAS, it can saturate as long as there's room in the RAM cache.
In sum it was a quite worthwhile jump in performance given the investment of about $30 or so, even if it's "only" 3x in some cases.
It ain't cheap, but you're buying reliability and privacy.
Using google guarantees your files are not private.
And I would only recommend consumer cloud storage in an encrypted fashion - cryptomator or rclone are great.
So I read this wrong?
>It doesn't buy locational redundancy, though; with that setup a fire is sure to take your drives with it unless you get an expensive fireproof NAS.
Also, B2's pricing is competitive with google and dropbox for 2 TB and under (within 50%). I haven't priced their larger tiers, but I'd be surprised if it wasn't also competitive.
I'd rather have my files sit on an encrypted volume that is easily accessible to me than try to live around integrating obscure higher level encryption schemes. It's a larger attack surface and takes integration with other software off the table.
1. my tendency to scope creep on the hardware requirements meant that I was looking at a BOM that was about 3x the cost of the commercial NAS.
2. it seemed likely that I'd spend a lot of time engineering my NAS and fighting compatibility issues with e.g. Time Machine. The commercial NAS had all the features I wanted out of the box.
Ultimately, I bought a low-end Synology NAS and have been pretty happy with it. I haven't been affected, and my device is still supported 7 years later, but my story could easily have turned out like these WD customers.Some of us don't want to spend our free time maintaining a NAS.
The issue is that, for me anyway, it's often easier/faster to just set up something myself. Most of the time it's a "configure once"-thing and then it "just works" with just the occasional updates.
And if something does tend to go awry it's usually easy to diagnose and fix. If something goes wrong with one of those NAS black boxes it tends to be much more complicated. Or if I want to add $feature_x this tends to be fairly easy as well.
Of course, this vastly depends on your skill and what you use it for: I don't have a mac so I never tried Time machine. My point is just that for some of us at least, "building their own" is actually done for the same reasons: I want to spend as little time on this as possible.
Synology are pretty neat machines last I checked them out though, we used to sell quite a few of them (over 10 years ago). I stopped using my CentOS "NAS" when I moved a few years ago, but if I were ever to be interested in buying one I'd probably consider it as an option.
Probably when their thermostat turns off during a heatwave.
They are providing data recovery services to customers of the older devices. Would have been nice if they warned those customers about the vulnerability when they found out about it, even if the fix was to buy another $X00 product.
Not for all devices: The article indicates that some may not be compatible with OS 5 and that WD says those customers should buy a new one.
surely deletion of data is worse alternative to losing the ability to theme the web UI, or whatever.
this is why Microsoft has so many updates so often for Windows 10. security issues which require no intervention from the victim are VERY REAL, and when left alone, users will not update. this has been proven time and time again. A user can take no action and still be vulnerable today when they were not vulnerable yesterday. this WD instance is yet another example of users not knowing what is best for themselves; not knowing to update their devices, or to take their devices off of the internet.
there are secure, free, easy-to-setup ways to access files over the internet on a NAS which does not have internet access...
WD will hopefully force users to update in the future for internet connected devices, and for devices that go out of support, and can no longer receive updates, WD should take them off the internet as a final action, to protect the consumer.
THIS EXACT SITUATION is why updates should be forced on users.
nothing shoots itself in the foot as often or as thoroughly as a user that doesn't know what they're doing, believing they know what they're doing.
If faced with losing functionality critical to the reason someone purchased a device vs. vague release notes that mention security updates, the average consumer in many cases is going to weigh the intangible risk of security problems pretty small against the guaranteed loss of required features.
what are those lost features? do any of those lost features include the unintentional loss of data or the inability to access said data? if not, if the user can maintain access to the stuff on the NAS after a security update, they should update, because there is no NAS security update that takes away your ability to access your data.
I really do wonder what these missing features are because there is zero likelihood that the ability to access the storage device itself is one of the lost features.
users not updating CAUSED this situation.
the actual blame lies on the attackers, of course, and users who do not take security updates make this type of attack possible.
Instead, along the same lines as right to repair, such products should be required to release the firmware source code.
That's good because, as of current, when the population of uninformed consumers drive market forces, they often push out the options informed consumers would choose or at the very least, create trends towards the uninformed bias purchases that force informed consumers to start choosing the same options as well or drive up prices for the products informed consumers often buy due to lessened demand.
You know, when a bunch of people decide we'll let businesses stop producing devices we can repair or put out rent-seeking price structures and the rest of people are forced to use those options, all because of large scale manipulation of consumer perception. Then we end up with markets filled with garbage with fluffy profit margins for their owners... Then again, cigarettes still have a large market somehow, so maybe we're out of luck either way.
Releasing the source code doesn't necessarily mean that people would be legally permitted to modify or even utilize that source code.
You also have the problem of getting every user of the product to flash some custom OS on their hard drive when they likely don't know how or don't know why they should care.
Second, and I feel like this should be obvious: People should not be exposing their NAS appliance directly to the Internet! Stop doing it. Just don't. If you do, you deserve what you get, because you intentionally went into your consumer-grade firewall and poked a hole in it.
When a full rewrite that removed functionality, so some users aren't going to bother to update, and as far as I'm concerned, thats on WD, not the users.
Western Digital is not free of sin.
> The communication that came our way confirmed the research team involved planned to release details of the vulnerability and asked us to contact them with any questions,” Western Digital said. “We didn’t have any questions so we didn’t respond.”
Lol. Is this entire company, from the developers to the people in charge of comms, complete idiots?
I guess this is what you get when you think software is nothing but a cost center then gut + outsource it.
Edit: Needs auto-backups, so it has to be more than a USB or old computer.
With WD it's like they just wanted to bolt on some NAS features on the cheap and the result was the current mess.
But then again it's clear that you get what you pay for.
Edit: QNAP has had some security issues too. I’ve had Synology gear for close to a decade, interspersed with DIY servers and homelab stuff and really, really like it. If I were getting my parents a NAS/backup system, that’s what I would get.
(Especially considering the covid situation, where I haven't been able to see my parents in a couple years now due to quarantine requirements.)
It's a minor inconvenience, but I can sleep sound at night knowing my NAS isn't being wiped by a zero day.
Edit: Seagate doesn't seem to make the option I mentioned for them. Removed.
A simple external USB drive will work though: Windows 10 has built-in automated backup capabilities. Actually it's been possible since at least XP.
If you don't care about the small size of a NUC, an old office PC with a couple hard drives should do well.
I have a gigabit connection and am disgrunted that I can't self-host most services I need without turning it into a 2nd job
It's not the best solution, but it works reasonably well with little maintenance on my part. On Windows you can set a smb drive to mount automatically at boot and it'll behave like a normal drive. So it was easy to explain to them that you can access that folder from both machines simultaneously.
I agree that this is not a good solution for someone that has to set it up themselves. In that case I'd recommend something like a Synology unit.
I use it myself heavily but that's because you can install it on top of regular debian. So you get a NAS that you can customize to the wazoo. Which I do, it runs a lot of custom scripts. I basically use OMV only as an easy GUI for adding shares, changing out drives etc. I could do it all by hand and perhaps next time I will.
However I wouldn't choose to run it if I didn't have that requirement. There's much more modern options out there.
What made you choose it yourself?
I have a friend whose grandparents took tons of film of him growing up. Then their house burned down, all lost. Give a backup to an offsite family member.
When I first read there was a backdoor account I thought it would be one that was on purpose. At an old job about 15 years ago we used network equipment that had a vendor backdoor built in. Only reason we knew it existed was one of our engineers had recorded a remote session with the vendor's support team. The account gave you full admin access and didn't even show up as another logged in user. It was disturbing to say the least.
To rant a bit more about the title, I find it rather awkward (as a non-native speaker though) when an adjective that is commonly used with a noun becomes used as a noun, and instead of that noun: as "runtime error" in some contexts is replaced with just "runtime", or "0-day vulnerability" is commonly replaced with "0-day" (even when it's not that anymore). This practice seems to just create more confusion.
Which is why I haven't been affected by these 0days as of late-- the damned thing is useless and therefore turned off.
I'm not sure if she plans to shuck the drive for use in the new system, and am wondering if shucking is pretty easy or not...
Does anybody have experience with OMV on this kind of setup? It made me curious.
It's nearly always UPNP that's causing the device to be exposed unknowingly to the internet and then a some software bug that allows the exploit.
Internet of Unsuitable Things.