This site is the archived OWASP Foundation Wiki and is no longer accepting Account Requests.
To view the new OWASP Foundation website, please visit https://owasp.org

Top 10 2014-I2 Insufficient Authentication/Authorization

From OWASP
Revision as of 15:27, 17 June 2014 by Craig Smith (talk | contribs)

Jump to: navigation, search
Back To The Internet of Things Top 10
Threat Agents Attack Vectors Security Weakness Technical Impacts Business Impacts
Application Specific Exploitability
EASY
Prevalence
COMMON
Detectability
AVERAGE
Impact
SEVERE
Application / Business Specific
Consider anyone who has access to the web interface, mobile interface or cloud interface including external users, internal users, and administrators. Attacker uses weak passwords, insecure password recovery mechanisms, poorly protected credentials or lack of role/discretionary based access control to access a particular interface. Depending on setup, attack could come from external or internal users. Authentication/Authorization may not be sufficient when weak passwords are used or are poorly protected. Insufficient authentication/authorization is prevalent as manufacturers strive to make interfaces easier for users to use and assume these interfaces will not be exposed to external users. Deficiencies are often found to be present across all interfaces as vendors strive to make credentials match across varying interfaces. Many Issues with authentication/authorization are easy to discover when examining the interface manually and frequently easy to discover via automated testing. Insufficient authentication/authorization can result in data loss or corruption, lack of accountability, or denial of access and can lead to complete compromise of the device or user accounts. Consider the business impact of compromised devices and accounts and in turn compromised customers. All data could be stolen, modified, or deleted. Could your users be harmed?
Is My Authentication/Authorization Sufficient?

The simplest way to find out if you have an insecure web interface is to review the initial setup process and determine if the username, password or both can be changed and if the password is required to be long and complex.

Attempting to set usernames to simple passwords such as "1234" is a fast and easy way to determine the security of the web interface. Manual testing can help a security analyst find instances where weak passwords are allowed, default credentials are not required to be changed or account enumeration is possible. Penetration testers can validate these issues by running enumerating usernames and conducting brute-force attacks against those usernames.

Automated dynamic scanning which exercises the application will provide insight into whether these issues exist as well.

How Do I Make My Authentication/Authorization Better?

Ensuring a secure web interface requires:

  1. Default passwords and possibly usernames to be changed during initial setup.
  2. Ensuring complex password construction.
  3. Ensuring web interface is not susceptible to XSS, SQLi or CSRF.
  4. Ensuring credentials are not exposed in internal or external network traffic.
Example Attack Scenarios

Scenario #1: The web interface uses easily guessable default usernames and passwords.

Username = Admin; Password = password

Scenario #2: Username and password in the clear over the network.

POST /login.htm HTTP/1.1 ... userid=admin&pass=pass

In the cases above, the attacker is able to either easily guess the username and password or is able to capture the username and password as it crosses the network.


References

OWASP

External