On.Security

Developing secure software is a challenge. Writing really secure software is a real challenge.
Here are the articles which touch different security aspects of software, from “what cipher suites are not to be used with TLS”, to certain more or less novel things under ‘Security Research’ subcategory

TCP and Websockets for Games

May 2, 2016 by “No Bugs” Bunny

TCP Server serving Multiple Clients

Quote:

TCP is a byte stream, the whole byte stream and nothing but the byte stream

Another Quote:

if all packets reach Client, there isn’t that much difference between TCP and UDP

Filed under: On.SecurityBest PracticesOn.ProgrammingNetwork Programming

Read more

UDP for games – security (encryption and DDoS protection)

April 25, 2016 by “No Bugs” Bunny

DDoS Protection

Quote:

Yes, you DO need to encrypt your UDP traffic. And no, using UDP is NOT a valid excuse to skip encryption

Another Quote:

Personally, I prefer to think of it as of insurance - when I'm paying my premiums in hope that my money will go to waste.

Filed under: On.SecurityBest PracticesOn.ProgrammingNetwork Programming

Read more

Avoiding ugly afterthoughts. Part b. Coding for Security, Coding for i18n, Testing as a Part of Development

April 4, 2016 by “No Bugs” Bunny

i18n, error handling, DfT, security, cross-platform while coding

Quote:

Doing sanitization at IDL level automates quite a bit of tedious-and-error-prone work, which is always a Good Thing™

Another Quote:

Hey, this whole thing can be made MUCH simpler, the only thing we need to acknowledge is that the best identifier for a string is the string itself!

Filed under: On.SecurityBest PracticesOn.ProgrammingDebugging

Read more

Password Hashing: Why and How

March 7, 2016 by “No Bugs” Bunny

Salted Password Hashes

Abstract:

Password hashing is a Big Headache, and doing it right is complicated

Quote:

Note that none of the C++11 random number engines (LCG, Mersenne-Twister, or Lagged Fibonacci) can be considered good enough for cryptographic purposes – in short, they’re way too predictable and can be broken by a determined attacker, given enough output has leaked.

Filed under: On.SecurityBest Practices

Read more