Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Save more on your purchases now! discount-offer-chevron-icon
Savings automatically calculated. No voucher code required.
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Understanding Software

You're reading from   Understanding Software Max Kanat-Alexander on simplicity, coding, and how to suck less as a programmer

Arrow left icon
Product type Paperback
Published in Sep 2017
Publisher Packt
ISBN-13 9781788628815
Length 278 pages
Edition 1st Edition
Arrow right icon
Author (1):
Arrow left icon
Max Kanat-Alexander Max Kanat-Alexander
Author Profile Icon Max Kanat-Alexander
Max Kanat-Alexander
Arrow right icon
View More author details
Toc

Table of Contents (15) Chapters Close

1. Table of Contents FREE CHAPTER
2. Understanding Software
3. Credits
4. About the Author
5. www.PacktPub.com
6. Customer Feedback
7. Foreword
8. One. Principles for Programmers 9. Two. Software Complexity and its Causes 10. Three. Simplicity and Software Design 11. Four. Debugging 12. Five. Engineering in Teams 13. Six. Understanding Software 14. Seven. Suck Less 15. Index

Chapter 30. Simplicity and Security

A big part of writing secure software (probably the biggest part) is simplicity.

When we think about software security, the first question that we ask is, "How many different ways could this program possibly be attacked?" That is, how many "ways in" are there? It's a bit like asking "How many doors and windows are there on this building?" If your building has 1 exterior door, it's very easy to protect that door. If it has 1000, it will be impossible to keep the building secure, no matter how good the doors are or how many security guards you have.

So we need to limit the "ways in" to our software to some reasonable number, or it won't ever be secure. That's accomplished by making the overall system relatively simple, or breaking it down into very simple and totally separate component parts.

Then, once we've limited the ways in, we need to start thinking about:

"How many different...

lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $19.99/month. Cancel anytime