Self-Service Provisioning! Palin's nightmare?
Free email accounts aren't the only services that could be duped into giving up someone else's account password, there are much more issues than this at stake and these include accessing your bank accounts or access to enterprise resources because the same tactic could be used to hijack any account that some have argued was used to break into Gov. Sarah Palin's e-mail.
There are certainly many easy ways to hack into such accounts. One is to simply guess the answers to the questions asked when you've forgotten your password. Typical questions are things like your mother’s maiden name or the street where you live on. If someone gives this information, which is generally public when it comes to political figures, it's then possible to change the password. The second tactic t is to directly access the saved passwords on the end user’s browser. But there are also more sophisticated techniques. For example, a hacker can send an email to someone, which contains a virus that then sends back information from their computer, including their emails. Another way is to tap into the network. Then there are others.
You can protect yourself against the later type of attacks by using simple techniques - never save your passwords onto your browser. And to protect yourself from viruses, never open an attachment unless you're sure of what it is. Keep your anti-virus up-to-date, your personal firewall turned on, not use free networks, etc. But let's focus on the first kind because this is the most prevalent technique being implemented behind every web application today that simply relies on some kind of automated password reset scenarios to protect valued data. This can be easily abused by knowing a username associated with an account and an answer to a single security question.
So is KBA (Knowledge Based Authentication) a solution or a problem?
Depending on how it is implemented, KBA can be either.
There are various alternatives to perform automated resets on the site for higher assurance (such as a phone call from the registered device of record, speaking to a human, out of band via postal mail, etc.) But then these techniques though stronger simply counter the value proposition of using the web purely for the sole purpose of reducing costs and efficiency. Moreover these certainly help in closing the control and audit loop through notification of access/change - but is this really just a matter about the questions. Most institutions rely on publicly harvestable questions like: SSN, Mother's Maiden Name, Street grew up, City born in, Favorite color, movie, book, Pet's name, etc.
Most people don't even like these questions and specifically how many questions is a good threshold and what kinds of questions should be used?
My recommendation is to let the end user define the questions and answers, and advising the user to put in something and completely useless that he/she can easily remember, but never to use the same one twice at any site and not to provide any personal information. But then, most of us will end up writing down all of the questions and answers..and then keep that list with our computer for easy reference or potentially lose the lists..all of which is precisely why the institution should use dynamic KBA that uses information which it already has (e.g. recent bill amount, vacation balance, etc...) - so that it's not digging for more static information and it's not requiring you to make up something which will be hard to remember.
Ultimately, the quantity and nature of KBA questions have little value from a security perspective. The answers may be easily guessed and administratively known or compromised easily due to security weakness in the computer/network and pavlovian behavior or social engineering of the end user. Applications requiring lower identity assurance may be well-matched with basic KBA, though. For applications requiring higher identity assurance, risk-based dynamic KBA w/o 3rd party identity proofing services are better. Risk-based would entail ensuring only the registered device (computer/handheld) and network of the end user is allowed to reset or change the password and any transaction anomalous behavior challenged using dynamic KBA or other means. ID Proofing means that at this point the password reset (or other) system would go to 3rd party to proof the user's identity. This third party could be some service plugged into credit bureaus or public data, for example. This approach is certainly more expensive but perhaps the only option if the site does not have lots of transaction history on the user...
The following features should be minimally supported for any successful KBA deployment:
Security – KBA questions and responses should be protected and encrypted at the point of entry, ensuring maximum protection. Anti-Theft Logic to prevent dictionary attacks so fraudsters cannot phish the entire database of questions. Additionally, each customer is assigned a specific sub-set of questions to select from. This ensures no single customer has access to all questions in the database at any time.
User experience – Should provide in-built logic to intelligently detect correct responses (i.e. detects initials, acronyms, fat-finger, common misspellings, etc.) for a more user-friendly experience and fewer false negatives without compromising security.
Applicability – Data may be limited depending on location and user type (contractors / immigrants / students), so adequate questions may not be available for all end customers. So the solution should support advanced processing logic to ensure that a given challenge question set contains questions applicable to all customers. Advanced logic normally include, randomly generated sub-set of questions that are still applicable to the user by relying on categorization. Common categories include sports, family, education, entertainment, etc.
Reporting - Predefined, comprehensive KBA reporting capabilities
Cost –3rd party database solutions look up information in public sources and/or credit bureaus as part of their dynamic question set with an additional cost associated per look up. So the solution should offer a layered KBA model that allows for the best of breed end user experience and cost effective auto-selection of questions based on business rules and/or applicability factor. For instance, utilizing a layered and tiered approach as highlighted below will always help reduce costs to the enterprise.
Primary layer - Integrates with the institution's existing internal customer information databases.
Secondary layer - Integrates with the KBA platform’s in-built question bank
Tertiary layer - Integrates with external 3rd party challenge question providers, like credit bureaus, which generate unique questions each time
And finally the most important lesson to learn from this is that large enterprises are also susceptible to this same kind of fraud considering user provisioning and administration solutions are often used to automate the process of adding, updating, and deleting user accounts from applications and directories; and most rely on static KBA for automated user provisioning and de-provisioning with additional capabilities that include password management and approval workflow to cut costs. These systems often offer rich identity administration capabilities to direct end-users for self-service and delegation capabilities of the identity administration console that are extended to let partners centrally create, modify, lock, unlock and delete user accounts, as well as manage groups/roles, in various targets in heterogeneous environments, via a centralized web-based provisioning console. The administrators can delegate provisioning and de-provisioning tasks to other administrators based on multiple criteria – specific sets of applications, specific geographical locations, specific departments/divisions, etc.
In all such scenarios KBA if implemented with risk based controls will ensure only known or user registered devices or known network locations (detect & block annonmyzing proxies) are only authorized to perform self-service capabilities to be able to update their own profile information, including passwords, using the centralized web-based console.
As we are increasingly seeing, risky access from unknown networks or un-registered or malware-ridden computers or smart phones can easily compromise passwords including the basic KBA solutions. Enterprises on the other hand should consider taking steps to protect and use this sensitive information in a secure fashion within their existing Identity management systems or on-going provisioning projects by introducing a risk-aware provisioning process that can be leveraged from technologies like OAAM (Oracle Adaptive Access Manager) and in the case of Oracle Identity Management customers this integration is easily supported.
Just this simple deployment of a ‘risk-aware & secure’ identity management platform to manage your provisioning requirements that can proactively and incrementally secure against Identity theft including keylogging, phishing, pharming, cross-site scripting etc., would go a long way in avoiding an embarrassing palinode after your widely publicized security and compliance sponsored provisioning initiative within your corporate environment.