4 ms·
>buffer overflow in the camera I'm pretty ignorant in the embedded/hardware area of tech, but I would have guessed by now C or other buffer-overrun-prone langu
by 27182818284 10y ago
>buffer overflow in the camera
I'm pretty ignorant in the embedded/hardware area of tech, but I would have guessed by now C or other buffer-overrun-prone languages would have been replaced by the majority of companies making new-ish products. Is something like managed C# not an option still despite hardware gains? Or, I keep hearing about Rust on Hacker News as a possible fix to this. Is it a problem with the education pipeline, like students learn that devices like this need C so they code C for them out of school?
- seanp2k2 10y agoAhahahahahaha, that would assume anyone actually learns from decades of industry mistakes. They do not. Most micro-controllers still use C and the vendor applications are only "secure" in that no one has poked around for a few minutes to discover the numerous security holes. Every year at Defcon, there are at least a few presentations about striking security flaws in security devices or IoT gear.
- dreamcompiler 10y agoI suspect it has to do with not only the availability of Rust compilers for embedded microcontrollers, but also Rust IDEs for them. Embedded IDEs tend to be heavily C-centric and have been for decades. Much infrastructure will have to be redone for this to change.
- tedunangst 10y agoDid you try to use rust in 2013?
- deleted 10y ago[deleted]
- pjmlp 10y agoPascal, Ada, Oberon, Basic compilers have existed for micro-controllers for decades. Even C++ would be a better option, given its improved type safety over plain C. However the culture in embedded systems industry makes it very hard to use anything else besides Assembly and C. As an example, I recently saw talks that some BMW and Sony units only now in 2017 are moving away from C into C++11.
- ssalazar 10y agoIn consumer product development, the software side is often cobbled together by an intern or entry-level SW engineer, who basically slaps a bunch of vendor-supplied firmware or poorly configured open-source software together until it works. There is rarely top level direction on how the software should be designed from a security perspective. Management is usually directed by supply-chain people for whom words like "Rust," "buffer overflow," or "security" are not in their vocabulary. In most cases there is no budget to rewrite anything in a new better, language, and the amount of software and complexity of the moving parts is too much to understand let alone rewrite without a dedicated team of software/firmware specialists. TL;DR management priorities, quantity/complexity of software involved. Source: was that intern.
- stbtrax 10y agoIt's probably running embedded linux. A lot of the kernel and lower-level frameworks(bluetooth/networking) are also written in c.