yaobin.wen

Yaobin's Blog

View on GitHub
14 February 2021

Thinking in Security

by yaobin.wen

Why This Article

I am a security novice. I am not a security guru. Along the way of learning information security, I find so many different ways of practicing security: some are considered generally good while some bad; or, some are only considered good in certain circumstances. Oftentimes, I find I do not have a thinking model to decide if a practice is good or bad. Therefore, I spent some time in thinking about what problems the information security industry tries to solve with the hope that this can help me evaluate a particular security practice in a particular situation. This article is the result of my thinking.

Warning

Because I’m still an apprentice of security, the terminology I use in this article may look naive, stupid, or even wrong to the gurus. Please excuse me for that. Take the ideas away (if you find them useful) and leave the terms here.

Being a novice means this is just my current understanding which can be evolved as I learn more, so what I write down today may be completely overthrown my what I think about tomorrow.

The Original Problem: from Plaintext to Ciphertext

The very original problem that information security wants to solve is: how can I make sure the message is only read by the intended audience? I believe this is the first principle to think about the whole information security industry. Some early attempts [1] were made to transform the message in plaintext into ciphertext.

The model for the this is the Alice and Bob model [2], as shown below:

The Romance of Alice, Bob, and Moallory

This model raises two questions:

With these two questions in mind, we know that:

Security Realm: the Fortress Model

Although [4] provides some good answers to “what a security realm is”, I have my own understanding of it.

I think of a security realm in a physical sense: a security realm is a fortress with walls that only the friends are supposed to enter and foes are rejected. When a visitor arrives, the guards ask for a password. Only those who provide the correct passwords are allowed to enter. This model raises several questions:

If you think of your work computer as a fortress and you are the only legitimate visitor to use it, this model applies as follows:

I find this Fortress Model is useful because:

The Eternal Conflict: Security vs Convenience

If you want something to be really well secured, you will have to sacrifice the convenience. If you want more convenience, you’ll have to sacrifice some security. Choose a good balance.

For example, you may want to protect your email account really well, then one of the things you must do is use a strong password. A strong password is usually hard to remember, so you will have to sacrifice the convenience of easily remembering the password. However, for something less important, you may think it’s not a big deal if the account is stolen, so you choose a relatively simple password to remember which also makes it easier for bad guys to crack the account.

Next Step: Learn the Good and Bad Practices

I think all the security-related problems can be analyzed using the two fundamental models above. The next step is: for both models (and their variants), learn the good practices to know what should be done as well as the bad practices to know what should be avoided. Then, when you face a real-world problem, break the problem into smaller parts that fit the models, then figure out what should and shouldn’t be done in each part.

However, that each part is secured may not mean the entire system is secured. So I think the system-level analysis of security is also needed.

References

Tags: Tech