Explain what a vulnerability is?
A characteristic or property of a system that can be exploited, to access functionality, information or resources that should not be available.
Explain what a threat is?
Some possible danger that could lead to a vulnerability being exploited.
Explain what a risk is?
The impacts to an organization that arise due to threats.
Define the term Security Testing
Identifying vulnerabilities and ensuring mitigation of risks and threats.
Building trust in critical infrastructures.
Building on past experience of others.
Using a variety of techniques. From testing through to audit. To provide defense in depth.
Why is mobile and web security so important for organizations?
Many attack vectors.
Many devices, not always up to date.
Powerful capabilities on the device.
Significant integration with cloud/servers.
What are some potential countermeasures of an organization to protect mobile and web systems?
Protections at OS and browser level.
Protection in communication protocols.
Resource monitoring, network monitoring
Manufacturer surveillance.
User awareness. Security training.
What are some features of Android OS that provide some security
Unix file directory and permission model
Process memory isolation and memory protection
Filesystem encryption.
App restrictions
digital rights.
What are Signed Apps?
Coded with a private dev key. On android and iPhone apps must be signed in market.
Manual approval reduces chances of rogue apps.
Apps bought on official stores are generally thought to have been audited.
What are some problems with android regarding apps?
Apps can ask for too many permissions, that the user may inadvertently approve or not understand
Updates to apps may change permissions.
Spammy apps, resist install, show ads like system/OS UI… etc.
Define Security through Obscurity?
Relying on the fact that attackers don’t know something needed to harm you.
If you had a file with all the passwords of a system but the attackers do not know it is there.
Example: guessing common file/folder/commands to see what happens.
Define methods of Secure authentication
Force users to login to your system before performing sensitive actions.
User secure protocols (https…) to prevent sniffing
Force users to use strong passwords.
Define Principle of Least Privilege?
Granting just enough authority to get the job done, not more! ex: don’t run code as root unless really necessary.
Turn off unnecessary services on your server:
How do you sanitize inputs?
Encoding and filtering untrusted user input before accepting it into a trusted system.
Encode/sanitize input text that is displayed back to the user.
How can you help make sure the code you are writing is secure?
Before coding:
- Consider security in design.
While coding:
After code is written:
What is a Security Audit
Series of checks and questions to assess the security of your system.
What is a penetration test?
Targetted white hat attempt to compromise your system’s security.
What is risk analysis?
Assessment of relative risks of what can go wrong if security is compromised.
Define OWASP top 10 issues for mobile apps that talk to web apps
What is a man in the middle attack?
Unauthorized third party can hear web traffic on its hops between client and server.
Should use HTTPS secure protocol built on Secure Socket Layer (SSL)
What is a denial of service attack?
Attacker causes web server to be unavailable.
How:
Problems arise:
What is packet sniffing?
Listening to traffic sent on a network.
What can you do:
What is password cracking?
Guessing the password of privileged users of your system
Brute force: Attacker sequentially tries every possible password.
Dictionary: uses software that sequentially tries passwords based on words in a file (dictionary)
What can you do?
What is Phishing?
Masquerading mails or web sites. Related to Social Engineering: Attempting to manipulate others to fraudulently acquire passwords or other sensitive information.
How can one gain elevated privileges?
A flaw in your system allows an attacker to gain elevated permissions and wreak havoc