Stealing Keys From The Sound Of The Lock

If you are smart, you wouldn’t hand your house key over to a stranger for a few minutes, right? But every time you use your key to unlock your door, you are probably broadcasting everything an attacker needs to make their own copy. Turns out it’s all in the sound of the key going into the lock.

Researchers in Singapore reported that analyzing metallic clicks as the key slides past the pins gives them the data they need to 3D print a working key. The journal published research is behind a paywall, but there is a copy on co-author [Soundarya Ramesh’s] website which outlines the algorithm used to decode the clicks of key teeth on lock pins into usable data.

The attack didn’t require special hardware. The team used audio capture from common smartphones. While pushing your phone close to the lock while the victim inserts a key might be problematic, it isn’t hard to imagine a hacked phone or smart doorbell picking up the audio for an attacker. Long-range mikes or hidden bugs are also possible.

There are practical concerns, of course. Some keys have a plateau that causes some clicks to skip, so the algorithm has to deal with that. It sounds like the final result be a small number of key possibilities and not just converge on one single key, but even if you had to carry three or four keys with you to get in, it is still a very viable vulnerability.

The next step is to find a suitable defense. We’ve heard that softening the pins might reduce the click, but we wondered if it would be as well to put something in that deliberately makes loud clicks as you insert the key to mask the softer clicks of the pins.

While a sound recording is good, sometimes a picture is even better. Of course, if you want to go old school, you can 3D print your lockpicks.

Continue reading “Stealing Keys From The Sound Of The Lock” →

Student Rover Explores The Backyard In Tribute

Three students were a little sad when NASA’s Opportunity rover went silent after 15 years on the Martian surface. So they decided to build their own rover inspired by Opportunity to roam their backyards using an off-the-shelf robot chassis, a Raspberry Pi, and the usual list of parts like motors, H-bridges, and batteries.

Like the real rover, the vehicle uses a rocker-bogie system, although it is a little less complex than the version NASA sent blasting off towards the Red Planet. The plucky vehicle comes complete with miniature solar panels to recharge its onboard battery, courtesy of some dollar-store garden lights. A pair of videos after the break show how the rover is controlled, as well as the view sent back from its onboard camera.

The rover ran a simulated Mars mission as part of a school project where it had to find an object and transmit an image of it back to home base, and by the looks of it, is was a rousing success. But the young explorers aren’t resting on their laurels, and are already working on a second version of their exploration vehicle that can operate in inclement weather and includes some new tools such as a robotic arm and infrared illumination for low-light imaging.

We’ve seen plenty of Mars rover clones in the past, but there’s always room for more. Of course, if you’re looking for something a bit easier to start with, you can always go the LEGO route.

Continue reading “Student Rover Explores The Backyard In Tribute” →

Microsoft Flight Simulator’s Data Insanity Spawns Enormous Buildings And Anomalies From OpenStreetMap

The OpenStreetMap project is an excellent example of how powerful crowdsourced data can be, but that’s not to say the system is perfect. Invalid data, added intentionally or otherwise, can sometimes slip through the cracks and lead to some interesting problems. A fact that developers Asobo Studio are becoming keenly aware of as players explore their recently released Microsoft Flight Simulator 2020.

Like a Wiki, users can update OpenStreetMap and about a year ago, user nathanwright120 marked a 2 story building near Melbourne, Australia as having an incredible 212 floors (we think it’s this commit). The rest of his edits seem legitimate enough, so it’s a safe bet that it was simply a typo made in haste. The sort of thing that could happen to anyone. Not long after, thanks to the beauty of open source, another user picked up on the error and got it fixed up.

But not before some script written by Asobo Studio went through sucked up the OpenStreetMap data for Australia and implemented it into their virtual recreation of the planet. The result is that the hotly anticipated flight simulator now features a majestic structure in the Melbourne skyline that rises far above…everything.

The whole thing is great fun, and honestly, players probably wouldn’t even mind if it got left in as a Easter egg. It’s certainly providing them with some free publicity; in the video below you can see a player by the name of Conor O’Kane land his aircraft on the dizzying edifice, a feat which has earned him nearly 100,000 views in just a few days.

But it does have us thinking about filtering crowdsourced data. If you ask random people to, say, identify flying saucers in NASA footage, how do you filter that? You probably don’t want to take one person’s input as authoritative. What about 10 people? Or a hundred?

Continue reading “Microsoft Flight Simulator’s Data Insanity Spawns Enormous Buildings And Anomalies From OpenStreetMap” →

Fire Pit Burns To The Beat With Bluetooth

Humans have several primal fascinations and perhaps two of the biggest ones are fire and music. While you can picture some cavemen and cavewomen sitting around a fire beating on sticks for rhythm, we think they’d be impressed if the fire danced along with the music. Through the power of Bluetooth, that’s exactly what [Random Tech DIY’s] new fire pit does.

Technically, this is called a Rubens tube, and while it’s an old technology, the Bluetooth is a certainly a modern touch. As you might expect, most of this project is workshop time, cutting MDF and plastic. The audio system is off-the-shelf and drives some car stereo speakers. The results looked good, and although it always makes us nervous building things that carry propane gas, it seems to work well enough from where we’re sitting.

We had to wonder what things you could change that would affect the display. Changing the number of holes, the diameter of the holes, or the gas pressure, for example, would certainly change how the flames look and react to the sound waves.

We have seen other Rubens tube projects, of course. However, we were really interested in the use of these as crude oscilloscopes before the availability of cathode ray tubes. We’ve seen a modern take on that, too.

Continue reading “Fire Pit Burns To The Beat With Bluetooth” →

ESP32 Altair Emulator Gets Split Personality

If you wanted me to demo CP/M running on an emulated Altair 8800, I’d pull out a tiny board from my pocket. You might wonder how I wound up with an Altair 8800 that runs CP/M (even WordStar), that fits in your pocket and cost less than $10. Turns out it’s a story that goes back to 1975.

When the Altair 8800 arrived back in 1975, I wanted one. Badly. I’d been reading about computers but had no hands-on experience. But back then, as far as I was concerned, the $400 price tag might as well have been a million bucks. I was working for no real pay in my family’s store, though in all fairness, adjusted into today’s money that was about $2,000.

I’d love to buy one now, but a real Altair costs even more today than it did back then. They also take up a lot of desk space. Sure, there are replicas and I’ve had a few. I even helped work the kinks out of Vince Briel’s clone which I’ve enjoyed. However, the Briel computer has two problems. First, it takes a little work to drive a serial port (it uses a VGA and a PS/2 keyboard). Second, while it’s smaller than a real Altair, it is still pretty large — a byproduct of its beautiful front panel.

So to quickly show off CP/M to someone, you need to haul out a big box and find a VGA monitor and PS/2 keyboard — both of which are becoming vanishing commodities. I made some modifications to get the serial port working, but it is still a lot to cart around. You could go the software route with a simulator like SIMH or Z80pack, but now instead of finding a VGA monitor and a PS/2 keyboard, you need to find a computer where you can install the software. What I really wanted was a simple and portable device that could boot CP/M.

Continue reading “ESP32 Altair Emulator Gets Split Personality” →

Antenna Pulls In AM Stations

While we can’t argue that FM has superior audio quality and digital streaming allows even higher quality in addition to worldwide access, there’s still something magic about hearing a weak and fading AM signal from thousands of miles away with nothing between the broadcaster’s antenna and yours. If you can’t have a big antenna — or even if you can — a loop antenna can help your big antenna fit in less space. In the video after the break, [TheOffsetVolt] covers an AM loop and shows how it can pull in distant AM stations.

Continuing with the educational radio he’s talked about before,  he adds a loop antenna that is two feet on each side of a square, making it four square feet in area. Although he calls it an amplifier, it’s really just a passive tuned circuit that couples to the radio’s built-in antenna. There’s no actual connection between the antenna and the radio.

We aren’t sure if the reradiation explanation is really what’s happening, or if it is just transformer coupled to the main antenna. But either way, it seems to work well. You can think of this as adding a preselector to the existing radio. Loop antennas are directional, so this design could work as a direction finder.

We have seen many loop antennas, some with novel construction methods.  Some even tune themselves.

Continue reading “Antenna Pulls In AM Stations” →

Linux-Fu: One At A Time, Please! Critical Sections In Bash Scripts

You normally think of a critical section — that is, a piece of a program that excludes other programs from using a resource — as a pretty advanced technique. You certainly don’t often think of them as part of shell scripting but it turns out they are surprisingly useful for certain scripts. Most often, a critical section is protecting some system resource like a shared memory location, but there are cases where a shell script needs similar protection. Luckily, it is really easy to add critical sections to shell scripts, and I’ll show you how.

Sometimes Scripts Need to Be Selfish

One very common case is where you want a script to run exactly one time. If the same script runs again while the original is active, you want to exit after possibly printing a message. Another common case is when you are updating some file and you need undisturbed access while making the change.

That was actually the case that got me thinking about this. I have a script — may be the subject of a future Linux-Fu — that provides dynamic DNS by altering a configuration file for the DNS server. If two copies of the script run at the same time, it is important that only one of them does modifications. The second copy can run after the first is totally complete.

Continue reading “Linux-Fu: One At A Time, Please! Critical Sections In Bash Scripts” →