8 ms·
Shortly after I joined Microsoft in 2004, all new feature work on Windows Longhorn (Vista) was halted. There had been yet another high profile computer virus on
by rsweeney21 7y ago
Shortly after I joined Microsoft in 2004, all new feature work on Windows Longhorn (Vista) was halted. There had been yet another high profile computer virus on Windows XP caused by a buffer overflow. It was an all-hands-on-deck type moment. Everyone spent weeks adding SAL (source-code annotation language) annotations to the entire Windows code base. SAL annotations enabled automated source code analysis to identify potential buffer overflow bugs and other common security vulnerabilities. Once annotated, we identified and fixed who knows how many hundreds of security vulnerabilities in Windows.
This colossal security update was released as Windows XP Service Pack 2. This is the beauty of software.
Hardware vulnerabilities scare me. There are millions of Intel CPUs and DRAM modules installed in data centers and PCs around the world. When we find vulnerabilities in hardware how are we supposed to fix them?
The past few years have been really scary for me as a software engineer. I keep thinking that the next one will pop the software bubble.
- mey 7y agoI am wondering if/when the first class action lawsuits will fly against the hardware manufacturers.
- anaphor 7y agoMaybe hardware will have to become more programmable in the future so you can fix some of these flaws without needing to replace anything.
- TylerE 7y agoIt can't just be turtles all the way down.
- mycall 7y agoCan you make an FPGA out of an FPGA?
- FPGAhacker 7y agoYes
- pault 7y agouser: FPGAhacker created: January 14, 2018 Checks out!
- smolder 7y agoI'm already done making an fpga out of my fpga, and I never had one!
- lyxsus1 7y agoIs it a known phrase or your good sense of humour?
- mehrdadn 7y ago> SAL annotations Are there tools for developers to use these (e.g. with VC++), or are they all Microsoft internal?
- ryacko 7y agoI have read about this: https://github.com/google/styleguide/tree/gh-pages/cpplint https://github.com/google/styleguide/tree/gh-pages/cpplint There is also this: https://github.com/mre/awesome-static-analysis https://github.com/mre/awesome-static-analysis
- mehrdadn 7y agoI was specifically asking about SAL.
- ryacko 7y agoThere is also this: https://docs.microsoft.com/en-us/visualstudio/code-quality/using-sal-annotations-to-reduce-c-cpp-code-defects?view=vs-2019 https://docs.microsoft.com/en-us/visualstudio/code-quality/u...
- mehrdadn 7y agoI think they talk about the annotation but not the analysis tools?
- hoseja 7y agohttps://docs.microsoft.com/en-us/visualstudio/code-quality/code-analysis-for-c-cpp-overview https://docs.microsoft.com/en-us/visualstudio/code-quality/c... It's part of VC++. But I do not recommend using SAL for modern code.
- mehrdadn 7y agoOh wow. I'd used /analyze before but I hadn't realized it takes SAL into account. I thought it just does limited extra analysis without SAL. Thank you!
- 29athrowaway 7y agoFirmware and microcode updates.
- AnaniasAnanas 7y agoDependent types can prevent buffer overflow attacks without any additional runtime overhead.