6

A thing that I am annoyed that people are getting wrong is security by obscurity.

You have heard of it and being told it is bad. It is so bad that it alone is a counter argument. Let me set you straight:

>>>Security by obscurity is the best security you will ever have<<<

There is an asterisk: It is probably not right for your business. But that is for the end.

Security by obscurity means to hide something away. Most security is based on hiding. You hide your private key or your password or whatever other secret there is. If you had a 2048 long sequence of port knocking, that would be fine, too.. Or it would be fine if it wasn't observable. You could write this down in your documentation and it wouldn't be security by obscurity. It would just be security. Weird, but fine.

The real meat of obscurity is: No one knows that there is someone. The server you port knock looks like a harmless server, but suddenly has an open port to a bad application for an IP, but only if that IP went to 25 other ports first.

In the animal kingdom, there are different survival strategies. One of them is being an apex predator or at least so big and lumbering that no predator wants a piece of you. That's our security. It is upstream security. It is the state.

But what is the rest of the animal kingdom going to do? Well, run away. That works. Not being caught. And those not fast enough? Hide! Just be invisible to the predators. They cannot triple check every leaf and expect to be done with the tree before starving. That's security by obscurity. Or hide in the group. Zebras. Easy to see, hard to track in the group. Look like everyone else.

There is a reason why drug smugglers don't have vaults in the carry-on. Arrive at the customs and just refuse to open the vault. If the vault is good enough. Nope, they lack the upstream security by the state. The state is there enemy, so they need obscurity rather than cryptographic safety.

And so, for a private person, having a port knocking solution or disguising a service as another service is a great idea.

Every cryptography course happily admits that the moment they can catch you physically, cryptography is useless. They also teach you about steganography. But they omit to tell you that obscurity is the second best solution to having a stronger army when you cannot rely on your state as upstream security.

Why did I say, not a good idea for companies?
1. It is self-defeating, since you have to tell it to all employees using it. A shared secret is no secret. And therefore it cannot be documented.
2. It makes working with different servers so much harder if there is a special procedure for all of them to access them. Even if it were documented. (See 1.)
3. You're a company, you are advertising your services. How to hide that you run them?

Do you see how those are not security relevant questions? Those are implementation relevant questions.

Here is an example:
Should you have your admins log into servers as normal users before elevating to root or is that just obscurity? Well, not for security purposes. Because that foothold is so bad, if compromised, it makes little difference. It is for logging purposes, so we have a better server log who logged in. Not only always root. But if our log could differentiate by the used private key, there is no issue with that.

If it is your private stuff, be creative. Hide it. Important skill. And it is not either, or. Encrypt it your backup, then hide it. Port knock, then required an elliptic curve private key to authenticate.

It is a lot of fun, if nothing else. Don't do it with your company. Downsides are too big. Cheaper to hire lawyers if needed.

Comments
  • 2
    11 character plain text password with only fail2ban and ufw on the server and not scared for anything. Yolo. Get attacked daily, but if you have a bit sense of brute forcing - you won't care at all.

    On the subject: my https port did serve for a while for https AND ssh. If you would connect with ssh client to 443 it would just work. Something I've written myself. Hiding in plain sight. But see my story above, no reason to do it.

    But still, this posts reminds me to disable ping on my server. What lesser attacks would be nice actually.
  • 1
    security by obscurity is actually the only security possible tho

    encryption works the same way. obscure the reversing numbers

    they're just thinking they're "clever" by using easy to understand obscurity... zzzz
  • 1
    @jestdotty

    Exactly, they'd be like:

    And Kerckhoffs said,

    Nothing, you idiots, Kerckhoffs dead, he's locked in my basement.

    But sure, only the key should be hidden. Nice principle. But if I know the key, I am the key. And then I should be hidden or protected.

    The advice, security by obscurity is bad, is a bad advice when given to a dissident under a warlord.

    Upstream security is key. That's mostly the sate. Funnily enough, even criminals have upstream security. The right to not self-incriminate. Not to speak. That right is how the government makes these principle work even for our dissidents. But hey, you don't have this right in England for passwords.
  • 1
    @TrayKnots ye wtf the passwords thing. crypto can't happen there. you'll just be put in a dungeon forever cuz they want your crypto
Add Comment