Hackaday Podcast 058: Motorheads, 3D Prints That Bend Metal, And Homebuilt Onewheel Deathmachines

Hackaday editor Elliot Williams and contributor Jonathan Bennett discuss the past week of Hackaday. Freeman Dyson, who wanted to send us to space on the back of nuclear explosions, passed away. Only slightly less dangerous, we looked at self-balancing vehicles, 3D printed press brakes, and making rubies in the home lab. All the usual suspects make cameo appearances: robots, FPGAs, and open-source software.

Take a look at the links below if you want to follow along, and as always tell us what you think about this episode in the comments!

Take a look at the links below if you want to follow along, and as always, tell us what you think about this episode in the comments!

Direct download (60 MB or so.)

Continue reading “Hackaday Podcast 058: Motorheads, 3D Prints That Bend Metal, And Homebuilt Onewheel Deathmachines”

This Week In Security: SMBv3, AMD And Intel, And Huawei Backdoors

Ready for more speculative execution news? Hope so, because both Intel and AMD are in the news this week.

LVI Logo

The first story is Load Value Injection, a different approach to reading arbitrary memory. Rather than try to read protected memory, LVI turns that on its head by injecting data into a target’s data. The processor speculatively executes based on that bad data, eventually discovers the fault, and unwinds the execution. As per other similar attacks, the execution still changes the under-the-hood state of the processor in ways that an attacker can detect.

What’s the actual attack vector where LVI could be a problem? Imagine a scenario where a single server hosts multiple virtual machines, and uses Intel’s Secure Guard eXentensions enclave to keep the VMs secure. The low-level nature of the attack means that not even SGX is safe.

The upside here is that the attack is quite difficult to pull off, and isn’t considered much of a threat to home users. On the other hand, the performance penalty of the suggested fixes can be pretty severe. It’s still early in the lifetime of this particular vulnerability, so keep an eye out for further updates.

AMD’s Takeaway Bug

AMD also found itself on the receiving end of a speculative execution attack (PDF original paper here). Collide+Probe and Load+Reload are the two specific attacks discovered by an international team of academics. The attacks are based around the reverse-engineering of a hash function used to speed up cache access. While this doesn’t leak protected data quite like Spectre and Meltdown, it still reveals internal data from the CPU. Time will tell where exactly this technique will lead in the future.

To really understand what’s going on here, we have to start with the concept of a hash table. This idea is a useful code paradigm that shows up all over the place. Python dictionaries? Hash tables under the hood.

Hash table image from Wikipedia by Jorge Stolfi

Imagine you have a set of a thousand values, and need to check whether a specific value is part of that set. Iterating over that entire set of values is a computationally expensive proposition. The alternative is to build a hash table. Create an array of a fixed length, let’s say 256. The trick is to use a hash function to sort the values into this array, using the first eight bits of the hash output to determine which array location each value is stored in.

When you need to check whether a value is present in your set, simply run that value through the hash function, and then check the array cell that corresponds to the hash output. You may be ahead of me on the math — yes, that works out to about four different values per array cell. These hash collisions are entirely normal for a hash table. The lookup function simply checks all the values held in the appropriate cell. It’s still far faster than searching the whole table.

AMD processors use a hash table function to check whether memory requests are present in L1 cache. The Takeaway researchers figured out that hash function, and can use hash collisions to leak information. When the hash values collide, the L1 cache has two separate chunks of memory that need to occupy the same cache line. It handles this by simply discarding the older data when loading the colliding memory. An attacker can abuse this by measuring the latency of memory lookups.checking

If an attacker knows the memory location of the target data, he can allocate memory in a different location that will be stored in the same cache line. Then by repeatedly loading his allocated memory, he knows whether the target location has been accessed since his last check. What real world attack does that enable? One of the interesting ones is mapping out the memory layout of ASLR/KASLR memory. It was also suggested that Takeaway could be combined with the Spectre attack.

There are two interesting wrinkles to this story. First, some have pointed out the presence of a thank-you to Intel in the paper’s acknowledgements. “Additional funding was provided by generous gifts from Intel.” This makes it sound like Intel has been funding security research into AMD processors, though it’s not clear what exactly this refers to.

Lastly, AMD’s response has been underwhelming. At the time of writing, their official statement is that “AMD believes these are not new speculation-based attacks.” Now that the paper has been publicly released, that statement will quickly be proven to be either accurate or misinformed.

Closed Source Privacy?

The Google play store and iOS app store is full of apps that offer privacy, whether it be a VPN, adblocker, or some other amazing sounding application. The vast majority of those apps, however, are closed source, meaning that you have little more than trust in the app publisher to ensure that your privacy is really being helped. In the case of Sensor Tower, it seems that faith is woefully misplaced.

A typical shell game is played, with paper companies appearing to provide apps like Luna VPN and Adblock Focus. While technically providing the services they claim to provide, the real aim of both apps is to send data back to Sensor Tower. When it’s possible, open source is the way to go, but even an open source app can’t protect you against a malicious VPN provider.

Huawei Back Doors

We haven’t talked much about it, but there has been a feud of sorts bubbling between the US government and Huawei. An article was published a few weeks back in the Wall Street Journal accusing Huawei of intentionally embedding backdoors in their network equipment. Huawei posted a response on Twitter, claiming that the backdoors in their equipment are actually for lawful access only. This official denial reminds me a bit of a certain Swiss company…

[Robert Graham] thought the whole story was fishy, and decided to write about it. He makes two important points. First, the Wall Street Journal article cites anonymous US officials. In his opinion, this is a huge red flag, and means that the information is either entirely false, or an intentional spin, and is being fed to journalists in order to shape the news. His second point is that Huawei’s redefinition of government-mandated backdoors as “front doors” takes the line of the FBI, and the Chinese Communist Party, that governments should be able to listen in on your communications at their discretion.

Graham shares a story from a few years back, when his company was working on Huawei brand mobile telephony equipment in a given country. While they were working, there was an unspecified international incident, and Graham watched the logs as a Huawei service tech remoted into the cell tower nearest the site of the incident. After the information was gathered, the logs were scrubbed, and the tech logged out as if nothing had happened.

Did this tech also work for the Chinese government? The NSA? The world will never know, but the fact is that a government-mandated “front door” is still a back door from the users’ perspective: they are potentially being snooped on without their knowledge or consent. The capability for abuse is built-in, whether it’s mandated by law or done in secret. “Front doors” are back doors. Huawei’s gear may not be dirtier than anyone else’s in this respect, but that’s different from saying it’s clean.

Abusing Regex to Fool Google

[xdavidhu] was poking at Google’s Gmail API, and found a widget that caught him by surprise. A button embedded on the page automatically generated an API key. Diving into the Javascript running on that page, as well as an iframe that gets loaded, he arrived at an ugly regex string that was key to keeping the entire process secure. He gives us a tip, www.debuggex.com, a regex visualizer, which he uses to find a bug in Google’s JS code. The essence of the bug is that part of the URL location is interpreted as being the domain name. “www.example.com\.corp.google.com” is considered to be a valid URL, pointing at example.com, but Google’s JS code sees the whole string as a domain, and thinks it must be a Google domain.

For his work, [xdavidhu] was awarded $6,000 because this bit of ugly regex is actually used in quite a few places throughout Google’s infrastructure.

SMBv3 Wormable Flaw

Microsoft’s SMBv3 implementation in Windows 10 and Server 2019 has a vulnerability in how it handles on-the-fly compression, CVE-2020-0796. A malicious packet using compression is enough to trigger a buffer overflow and remote code execution. It’s important to note that this vulnerability doesn’t required an authenticated user. Any unpatched, Internet-accessible server can be compromised. The flaw exists in both server and client code, so an unpatched Windows 10 client can be compromised by connecting to a malicious server.

There seems to have been a planned coordinated announcement of this bug, corresponding with Microsoft’s normal Patch Tuesday, as both Fortinet and Cisco briefly had pages discussing it on their sites. Apparently the patch was planned for that day, and was pulled from the release at the last moment. Two days later, on Thursday the 12th, a fix was pushed via Windows update. If you have Windows 10 machines or a Server 2019 install you’re responsible for, go make sure it has this update, as proof-of-concept code is already being developed.

The Hacker Hotel 2020 Badge

The art of the electronic conference badge has evolved over the last decade or more, such that for an individual example to be of note it now has to include some exceptional features. Perhaps a function that might previously have been considered impossible in a badge, or maybe an unusually beautiful design, an entertaining and compelling functionality, or it simply pushes the capabilities of an otherwise limited device in an unusually ingenious way. The badge from the recent Hacker Hotel 2020 comes from the same badge team that created the software platform derived from the SHA 2017 badge, and it ticks many of these boxes by combining a genuine work of art with a set of delightfully intricate puzzles at enough levels to interest all participants in the event.

Continue reading “The Hacker Hotel 2020 Badge”

Retrotechtacular: Automotive Suspension Is All About Waves

In addition to driving home the need for Steadicam or Optical Image Stabilization, this eighty-year-old video illustrates some elegant solutions the automotive industry developed in their suspension systems. Specifically, this Chevrolet video from 1938 is aimed at an audience that values science and therefore the reel boils down the problem at hand using models that will remind you of physics class.

Model of a wheel with a leaf spring records the effect of a bump on a piece of paper above

The problem is uneven ground — the “waves in the Earth’s surface” — be it the terrain in an open field, a dirt road, or even a paved parkway. Any vehicle traveling those surfaces will face the challenge of not only cushioning for rough terrain, but accounting for the way a suspension system itself reacts to avoid oscillation and other negative effects. In the video this is boiled down to a 2-dimensional waveform drawn by a model which begins with a single tire and evolves to include a four wheeled vehicle with different suspension systems in the front and the rear.

Perhaps the most illuminating part of the video is the explanation of how the car’s front suspension actually works. The wheels need to be able to steer the vehicle, while the suspension must also allow the tire to remain perpendicular to the roadway. This is shown in the image at the top of this article. Each wheel has a swing arm that allows for steering and for vertical movement of the wheel. A coil spring is used in place of the leaf springs shown in the initial model.

You probably know what’s coming next. The springs are capable of storing and releasing energy, and left to their own devices, they’ll dissipate the energy of a bump by oscillating. This is exactly what we don’t want. The solution is to add shock absorbers which limit how the springs perform. The waveforms drawn by the model encountering bumps are now tightly constrained to the baseline of flat ground.

This is the type of advertising we can wholeheartedly get behind. Product engineers of the world, please try to convince your marketing colleagues to show us the insides, tell us why the choices were made, and share the testing that helps users understand both how the thing works and why it was built that way. The last eighty years have brought myriad layers of complexity to most of the products that surround us, but human nature hasn’t changed; people are still quite curious to see the scientific principles in action all around us.

Make sure you don’t bomb out of the video before the very end. A true bit of showmanship, the desktop model of a car is recreated in a full-sized Chevy, complete with “sky-writing smoke” to draw the line. I don’t think it’s a true analog, but it’s certainly the kind of kitsch I always look for in a great Retrotechtacular subject.

Continue reading “Retrotechtacular: Automotive Suspension Is All About Waves”

How To Get Into Cars: Handling Mods

As a budding automotive enthusiast, you finally took the plunge and scored yourself a sweet project car. After going through it from top to toe, you’ve done your basic maintenance and it’s now running like a top. Now you’re getting comfortable, you’ve set your sights on turning your humble ride into a corner carving machine. Here’s a guide to get yourself started.

It’s All About Grip

When it comes to creating a handling monster, the aim is to create a car that sticks to the road like glue, and is controllable when it does break loose. Having a car that handles predictably at the limit is a big help when you’re pushing hard on track, particularly for an inexperienced driver. And, whether you’re hitting the canyons on the weekend or trying to slash your laptimes, it’s always nice to have more grip. Through selecting the right parts and getting the set up right, it’s possible to hone your car’s cornering ability to make it a rewarding experience to drive fast and hard. Continue reading “How To Get Into Cars: Handling Mods”

Dexter Robot Arm Embraces New Manufacturing With First Micro-Factory

Haddington Dynamics, the company behind the Dexter robot arm that won the 2018 Hackaday Prize, has opened its first microfactory to build robot arms for Australia and Southeast Asia.

You may remember that the combination of Dexter’s makeup and capabilities are what let it stand out among robotics projects. The fully-articulated robot arm can be motion trained; it records how you move the arm and can play back with high precision rather than needing to be taught with code. The high-precision is thanks to a clever encoder makeup that leverages the power of FPGAs to amplify the granularity of its optical encodes. And it embraces advanced manufacturing to combine 3D printed and glue-up parts with mass produced gears, belts,  bearings, and motors.

It’s a versatile robot arm, for a fraction of the cost of what came before it, with immense potential for customization. And did I mention that it’s open source? Continue reading “Dexter Robot Arm Embraces New Manufacturing With First Micro-Factory”

PCB Finishes Hack Chat

Join us on Wednesday, March 11 at noon Pacific for the PCB Finishes Hack Chat with Mark Hughes and Elijah Gracia!

There’s no way to overestimate the degree to which the invention of the printed circuit board revolutionized electronics. What was once the work of craftspeople weaving circuits together with discrete components, terminal strips, and wiring harnesses could now be accomplished with dedicated machines, making circuit construction an almost human-free process. And it was all made possible by figuring out how to make copper foil stick to a flat board, and how to remove some of it while leaving the rest behind.

​Once those traces are formed, however, there’s more work to be done. Bare copper is famously reactive stuff, and oxides soon form that will make the traces difficult to solder later. There are hundreds of different ways to prevent this, and PCB surface finishing has become almost an art form itself. Depending on the requirements for the circuit, traces can be coated with tin, lead, gold, nickel, or any combination of the above, using processes ranging from electroplating to immersion in chemical baths. And the traces aren’t the only finishes; solder resist and silkscreening are both important to the usability and durability of the finished board.

For this Hack Chat, we’ll be talking to Elijah Gracia and Mark Hughes from Royal Circuit Solutions. They’re both intimately familiar with the full range of PCB coatings and treatments, and they’ll help us make sense of the alphabet soup​: HASL, OSP, ENIG, IAg, LPI, and the rest. We’ll learn what the different finishes do, which to choose under what circumstances, and perhaps even learn a bit about how to make our homebrew boards look a little more professional and perform a bit better.

join-hack-chatOur Hack Chats are live community events in the Hackaday.io Hack Chat group messaging. This week we’ll be sitting down on Wednesday, March 11 at 12:00 PM Pacific time. If time zones have got you down, we have a handy time zone converter.

Click that speech bubble to the right, and you’ll be taken directly to the Hack Chat group on Hackaday.io. You don’t have to wait until Wednesday; join whenever you want and you can see what the community is talking about.