Summarizing Secure Coding Flashcards
code that has been optimized by a special application is known as what? What is the name of the application and describe what it does at a high level?
Compiled code
The application is called a Compiler and it checks the code for errors and provides reports to developers of things they might need to check.
Code that is evaluated, interpreted and executed when the code is run is known as what?
Runtime code.
What does input validation protect against?
Describe at a high level how it does this
it protects against an attacker entering malicious code into an application. It does this by sanitizing the input that a user can send to it to make sure it only accepts what is necessary.
what is one of the most common security issues on web-based applications?
lack of proper input validation
What is more secure, server or client side validation? Why
Server side. Because if using client-side only, bad code can still get to the server.
what can protect against buffer overflow, SQL injection, command injection and cross-site scripting?
Input Validation
why does escaping HTML characters protect against attacks?
because the original character is substituted with the escaped character version, it no longer is valid code.
When two modules or applications access a resource at the same what can it trigger?
A conflict known as a race condition
Two important points/recommendations about error reporting/displaying application error messages are..
1) errors should be general and not give important information to an attacker
2) errors should be logged for developers to look at later
what are the two benefits of code signing?
1) the certificate identifies the author
2) it provides a hash of the code that can be checked to ensure that the code hasn’t been altered.
What method do developers employ to deter people from copying their code they’ve worked hard on?
by employing Code Obfuscation. It renames variables and replaces other things.
In code testing, static code analysis does what?
it examines code without running it
In code testing, dynamic analysis deos what?
it checks the code while it is running
in code testing what does fuzzing do?
it sends random strings of data to applications looking for vulnerabilities.
the process of ensuring an application meets all specifications and does what it’s supposed to do is known as what?
Model verification