listen to this article:
Multi-factor authentication has become a crucial layer of security in today’s increasingly unsecure world. However, while organizations can use several methods to set up two-factor authentication, SMS OTP (one-time password) seems the de-facto standard. This verification method works by sending an SMS with a code to the user, which they can then use to verify their identity.
The problem with SMS OTPs is that while they are easy to implement, they are also quite vulnerable and do not provide good enough security. As a result, the U.S. National Institute of Standards and Technology (NIST) announced in July 2016 that organizations should no longer use the system for verification.
Five years on, most organizations are yet to change their 2FA technology, and one breach that exploited the vulnerabilities in SMS OTP resulted in millions being stolen from online bank accounts. So, what risks does this MFA system cause, and why is it not enough for secure authentication?
What Are the Security Concerns with SMS OTP?
Using SMS for OTPs creates new loopholes that can be exploited either from the user’s side or at the network stage. Below are the main flaws of the technology.
SIM Swap Security Risk
SMS OTP verification only relies on a user’s mobile number, so the system is vulnerable to the so-called “SIM Swaps”. To launch such an attack, a hacker obtains personal information from the user through methods such as phishing and social engineering. They then convince the victim’s mobile provider to switch the user number to a new device, which gives them access to all new OTPs.
The most high-profile SIM swapping case was that of Twitter chief executive Jack Dorsey. Hackers managed to switch his mobile number to a device they control and gained access to his Twitter account. Since then, Twitter has added more secure authentication methods, and mobile service providers have been adding additional measures such as a PIN requirement during SIM replacement. However, they aren’t able to do away with human error, and in some cases, hackers even pay phone company employees to do swaps for them.
The SS7 Technical Flaw
Signaling System No. 7, otherwise known as SS7, is fundamental to all mobile communications. It is a standard that facilitates calls, SMS, number translation, prepaid billing, call waiting/forwarding, and many other mobile functionalities. However, since its inception in 1975, the protocol has always been flawed by design, and hackers can use it to intercept calls and SMS messages.
The scary part is that doing so isn’t hard, and all a hacker needs is a computer running Linux and the SS7 SDK – both of which can be downloaded for free from the internet. This new device then acts as a new MSC and can be used to register a user’s mobile number, giving the attacker access to all calls and messages. Worst of all, there isn’t anything that organizations can do about it apart from moving from SMS OTP verification.
Malware Security Risk
Back in July 2020, Kaspersky confirmed that the 2019 malware dubbed Cerberus had been re-released online for free. The malware now had more advanced functionalities, and among them was the ability to steal OTP authentication codes covertly. The new features were quite enticing to hackers, and the malware’s open-source nature led to a spike in infections targeting the banking sector.
The fact that these types of malware can steal verification codes without detection means that users need to exercise higher levels of security consciousness. However, lots of mobile phone users still install third-party apps, and others are still vulnerable to phishing scams. This means that a more secure authentication method is necessary.
The safety of SMS OTP is directly dependent on the safety of the receiving device, and just like the device, the OTP may be vulnerable to physical attacks. An attacker – who doesn’t have to be miles away – can gain physical access to the device and steal it. They can also get access to the code, especially if the phone displays messages when it is locked.
Vulnerability to Social Engineering
Just like any other form of security, the user is the weakest link in SMS OTP verification. Hackers have perfected social engineering, and they can use their skills to extract OTPs from unsuspecting users. To do away with this risk, organizations need to adopt an authentication technology that ensures the user doesn’t have anything they can share or whatever they can is not enough to complete a fraudulent transaction.
What About Alternative Authentication Methods to OTP?
As we have seen above, SMS OTPs are vulnerable either at the endpoint or during transmission. This has led to security researchers calling for organizations to ditch the verification method in favor of other methods such as hardware tokens and software OTP authentication. However, these also have their own weaknesses.
Hardware authentication relies on a physical device that has to be carried at all times, making it inconvenient. Further, the device can be easily lost or stolen, users can still fall to social engineering attacks, and physical attacks can be used to extract the secret key from within.
Software OTP authentication solves some of these problems by eliminating the need for an extra physical device, and it also not vulnerable to SIM swapping. However, users still have to switch between apps, and organizations have to rely on third-party authenticator apps. Further, these apps are still vulnerable to malware attacks and cloning. If an attacker manages to clone the key, they will easily gain access, and the device owner may not even know.
How MPC Addresses SMS OTP Vulnerabilities
A modern and secure authentication method needs to solve these issues by providing high usability while at the same time preventing 2FA weaknesses such as SIM swapping and cloning. An effective way to achieve this is by using a cryptography-based authentication system that utilizes multiparty computation (MPC). This technology works by splitting a key into two shares (parts), where one share is stored on a server while the other is stored on a mobile phone. Each time an operation is called, these two will then be used by the MPC system to compute the key.
Such a solution guarantees that the cryptographic key doesn’t reside on a mobile device or on the memory of any single machine at any given time. This ensures that the key can’t be stolen from the mobile device as it doesn’t appear there in full form, and a server-side attack can’t be effective as the whole key isn’t stored there either.
To ensure that an attacker can’t clone the end-user device, the key shares are refreshed with every single operation. This means that although the key remains the same, the material held by each device is completely re-randomized, making the share held by the hacker utterly useless.
Such a system would do away with the weaknesses associated with SMS OTP while still maintaining ease of use and leveraging the ubiquity, computing power, and connectivity of the mobile device.