3 ms·
Taint checking: https://en.m.wikipedia.org/wiki/Taint_checking https://en.m.wikipedia.org/wiki/Taint_checking Every external input to a program is assumed “tai
by aaaaaaaaaab 8y ago
Taint checking: https://en.m.wikipedia.org/wiki/Taint_checking https://en.m.wikipedia.org/wiki/Taint_checking
Every external input to a program is assumed “tainted”. There are certain operations that make them “safe” (e.g. escaping a string makes it safe against SQL injection, etc.).
You simply attach this “tainted/safe” bit of information to each piece of data and flow it through your program. There is a simple calculus for combining these tainted/safe values, i.e. appending a tainted string to a safe string produces a tainted string, etc.
The goal is to prove that tainted values can’t make it to the business logic, so that your program is safe against certain kinds of malicious input.