Hello everyone! Over recent years, we have seen how web applications had embraced the use of two-factor authentication (2FA) to better protect their users. This is a good trend. Having 2FA certainly raise the authentication security to a much higher level. However, while 2FA is effective against brute-force attacks, it is not foolproof against phishing attempts.
If you have do not know what a phishing attack is, do refer to one of my older posts to understand more. These days, phishing attacks are getting increasingly sophisticated. This article illustrated 2 case studies on how fake sites could look so real that they were enough to trick users to enter their 2FA one-time password. The fake sites would then store and forward those credentials to login immediately on the actual sites.
Reason for Weakness
Most 2FA relies on one-time passwords (TOTPs) that are time-based. How TOTPs work is to have the server and user device (can be your phone or other tokens) calculate the OTP based on the current time. The user device and server would have already shared a key in advance which will be used as part of the calculation. As long as both the user device and server get the same value for this period of time, the OTP is valid. More info on TOTP can be found from Wikipedia.
Because the key was shared in advance and there is no further verification done by the user device on the server, the authentication process will be susceptible to phishing attacks. As per the article, cleverly crafted phishing sites will be able to steal the login password plus the OTP and login in real-time. The victim may not even know what happened.
Mitigation Techniques
The best way to mitigate such phishing attacks is to allow users to verify that the OTP request is from the server/application that he/she is trying to login. Rightfully, users should check the SSL certificates on the websites to validate the authenticity of the site. However, not all users will do that. As a result, for better user experience and security, the onus is then on the website owners to provide an easy way for users to validate authenticity.
Companies with sufficient funds can invest in infrastructure and separate mobile apps. Some implementations send SMS OTPs with additional verification codes to users so that they can verify the origin. An example as below:
Over here, "705940" is the OTP for user to enter, and the prefix, "BIH", is a simple verification code which will also be shown on the user's screen for he/she to quickly verify that the prompt is from the correct source. Lately, more banks have also started to use mobile apps for push authorizations instead of getting users to enter the OTPs. While these are good, not all companies have the scale and funds for such implementations.
There is, however, a cheaper way to create such verification. I first get to notice this from Kucoin, a cryptocurrency trading platform. Basically, you create a login verification code with the site. The code will be displayed each time an OTP is required as such,
Screenshot from Kucoin. Verification code hidden for obvious reasons :p
This is a cheap and effective implementation. If the verification phrase is wrong, then users will immediately find that something is amiss.
Conclusion
Implementing 2FA is a security best practice and it should be a basic hygiene for most sites to have. However, implementations can be improved to provide better security for users particularly against phishing attacks that are getting increasingly prevalent. A simple verification phrase can do it, so I do not see why this cannot be implemented by more web applications. Thanks for reading and please share your thoughts. If you find this post useful, do give me a follow so that you get to see more of such in the future :).
As technology improves, the criminals are also getting more tech savvy. I guess there will always be crime and the best thing is still to be more mindful, and careful in our dealings.
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Dear @quotes-haven
Very true. And catching up with them will be more and more difficult ...
After all we got used to have money in the bank and someone else taking care of it's safety. I can forsee how many people will be losing all their crypto's because of obvious lack of knowledge.
Cheers
Piotr
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
@crypto.piotr. A scary thought indeed. Let's all be extra careful so that such misfortune doesn't befall us. :-)
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
This is a basic firewall?
Posted using Partiko Android
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
No, it's not a firewall. It's an additional layer of authentication requirement to enhance security
Posted using Partiko Android
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Dear @culgin
Seriously great piece of work. More people should learn about safety and security issues.
ps.
I'm very sorry for this off-topic post.
I'm quite sure that I already asked you before (hope not more than once) to support my little initiative so this request may not be anything new :)
Could you please vote on this dpoll for a friendly community (SteemChurch), which Im trying to support?
It's such a fierce contest and just after 4 days we're right behind SteemitBloggers:
We've another 3 exciting days ahead of us. Perhaps you could ask around your friends if they wouldn't mind support our small initiative.
I would be very grateful :)
Link:
https://dpoll.xyz/detail/@theycallmedan/which-steem-project-should-i-delegate-20k-steempower-to-for-1-year/?rep=33&sp=3&age=30&post_count=10&stake_based=0
Please vote on "SteemChurch". I would appreciate your support a lot.
Yours
Piotr
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Voted my friend. Hope it makes a difference :)
Posted using Partiko Android
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Late thank you @culgin :)
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
The weakest link in any security protection mechanism is the user itself.
Posted using Partiko iOS
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Yes that's true. That's why while we try to educate users, developers have to assume all users are dumb and implement security as part of the design
Posted using Partiko Android
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Indeed @guruvaj
We all got used to have money in the bank and someone else taking care of it's safety. I can forsee how many people will be losing all their crypto's because of obvious lack of knowledge.
Cheers
Piotr
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Thank you so much for participating in the Partiko Delegation Plan Round 1! We really appreciate your support! As part of the delegation benefits, we just gave you a 3.00% upvote! Together, let’s change the world!
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Hi @culgin!
Your post was upvoted by @steem-ua, new Steem dApp, using UserAuthority for algorithmic post curation!
Your UA account score is currently 3.646 which ranks you at #5640 across all Steem accounts.
Your rank has not changed in the last three days.
In our last Algorithmic Curation Round, consisting of 204 contributions, your post is ranked at #22.
Evaluation of your UA score:
Feel free to join our @steem-ua Discord server
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Dear @culgin
I just bumped into your older post. It's already over 7 days old so Im not sure if you will even read my comment.
Very true. While using 2FA we should always pay full attention and be aware of dangers.
Having your own crypto in your own wallet gives us real ownership of our resouces, but it also means that we need to secure those resources.
We all got used to have money in the bank and someone else taking care of it's safety. I can forsee how many people will be losing all their crypto's because of obvious lack of knowledge.
ps. if you would ever post anything that valuable (especially topics related to blockchain) then send me link in memo. I will do my best to support your content with comment, upvote and if I will find your publication valuable and informative then I will also help you get some extra traffic :)
Great post buddy
Piotr
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Thanks for the constant support my friend!
Posted using Partiko Android
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit