SE-Radio Episode 330: Natalie Silvanovich on Attack Surface Reduction

Topics covered
Popular Clips
Episode Highlights
Attack Surface
Natalie Silvanovich explains that understanding the attack surface is crucial for software security. She emphasizes the importance of identifying every feature and its accessibility to potential attackers. Measuring the attack surface is complex, as not all features pose equal risks, and reducing code doesn't always equate to increased security.
Every feature that software has is useful for something to users, hopefully, and then it has a risk to users and it's kind of important that those are in line.
---
Natalie highlights that some features, despite being high-risk, are essential, while others can be removed to enhance security 1 2.
Design Security
Incorporating security considerations during the design phase is vital. Natalie suggests involving security experts early to influence decisions like component separation and language choice, which can impact security. She also warns against blindly reusing code, as it can introduce vulnerabilities, citing an example with a Samsung image decoder.
If you start early and, you know, think about your features, they could have prevented a lot of bugs.
---
By simplifying features and reducing privileges of high-risk components, developers can significantly mitigate potential threats 3 4.
Defect Impact
Natalie discusses the challenges of measuring the security impact of software defects. She notes that simply reducing code doesn't guarantee fewer problems, as some features are inherently riskier. The trade-off between feature utility and security risk is a constant consideration.
Just removing 10% of your code, there's no guarantee that that's going to remove 10% of your problems.
---
Natalie advises basing features on user needs and being prepared to disable those that pose unnecessary risks, even if it means losing some users 2 5.
Related Episodes


SE-Radio-Episode-309-Zane-Lackey-on-Application-Security
Answers 383 questions

SE-Radio Episode 288: DevSecOps
Answers 383 questions

SE Radio 642: Simon Wijckmans on Third-Party Browser Script Security
Answers 383 questions

SE-Radio Episode 248: Axel Rauschmayer on JavaScript and ECMAScript 6
Answers 383 questions

Episode 514: Vandana Verma on the Owasp Top 10
Answers 383 questions

SE-Radio Episode 323: Lin Clark on WebAssembly
Answers 383 questions

Episode 427: Sven Schleier and Jeroen Willemsen on Mobile Application Security
Answers 383 questions

SE-Radio Episode 314: Scott Piper on Cloud Security
Answers 383 questions

SE Radio 606: Charlie Jones on Third-Party Software Supply Chain Risks
Answers 383 questions

SE-Radio Episode 302: Haroon Meer on Network Security
Answers 383 questions
SE-Radio-Episode-249:-Vaughn-Vernon-on-Reactive-Programming-with-the-Actor-Model
Answers 383 questions

SE Radio 584: Charles Weir on Ruthless Security for Busy Developers
Answers 383 questions

SE-Radio Episode 357: Adam Barr on Code Quality
Answers 383 questions

SE Radio 648: Matthew Adams on AI Threat Modeling and Stride GPT
Answers 383 questions

SE Radio 635: Stevie Caldwell on Zero-Trust Architecture
Answers 383 questions














