Preventing phishing attacks

Phishing attacks have been there since the time authentication methods have been in place. An attack where the attacker tricks the victim into submitting their authentication credentials is termed as phishing attacks. With advancement of technology, the attacks also have been advancing, causing significant damage to the victims at times.

For example, Online banking SMS scam snares victims with fake webs and Huge rise in phishing spam on text messages, which have recently been in the news.

There are various common ways of performing phishing attacks. They can include:

  • Sending an email with a URL that displays one URL but takes the victim to another URL on clicking. – This has been the earliest mechanism that the attackers have used. The contents of the email have increasingly become more compelling to fool even a discerning and educated user. Most of the times, this attack can be foiled if the potential victim is aware of the URL of the legitimate website. Just hovering on the URL would show the URL where its destination is. Hence, if the user is aware of which URL it should go to, the attacker can be defeated.
  • Sending an SMS with a URL that takes victim to rogue website. – SMSs are becoming increasingly sophisticated. Some SMS services now allow placement of URLs within them that can be used by the attackers. However, the option of hovering on the URL within the SMS is not available. Further, even if this was available, the real estate on a mobile device is most of the times too small to completely decipher the destination website especially if the legitimate website’s URL is also sizable.
  • Sending a tiny URL via email or SMS that takes the victim to a website dedicated to phishing. – Tiny URL, as its name suggests is a compressed URL. Hovering on the tiny URL is not of much help to the potential victim as that displays how the tiny URL will be decoded rather than the final destination website.
  • Hacking a valid website and changing the destination of a legitimate link to phishing website. – This can also be foiled by hovering on the URL, but most of the times when one is on a website that one trusts, it is very unlikely that the potential victim will check each URL for its validity. Further, some of the potential victims are not aware of the domain names and their implications.
  • The mobile apps that are available to download written by attacker. – Mobile Apps are very popular among lay users. The mobile apps are not signed quantity; hence it is easy for the attacker to fool the lay user with similar looking mobile app. If the attacker is successful in getting the victim to download fake mobile app, then phishing attack thereafter would be a cakewalk. I have recently downloaded a mobile app for a bank. I did not see any signature verification information displayed to me. It is possible that the signature verification succeeded and hence it did not display, but I have my suspicion.

As we have seen so far, the complexity of preventing a phishing attack varies with the method used and also depends on the alertness level of the potential victim. In some cases, preventing the attack becomes almost impossible even for a very alert and educated user.

How do you resolve this issue?


One way that experts have been advocating for long is use of signed WebPages on every website and every URL. Similarly, experts have also advocated signed applications for a long time. Whenever the signature verification fails, the user can be alerted and then the attack can be thwarted. However, it is not as easy as it sounds as:

  • Most of the legitimate websites do not have signed WebPages.
  • Even if the WebPages are signed, a self signed fraud certificate with same organisation name as the legitimate one would be sufficient to circumvent the process. Most of the signature verification software fail to verify the certificate expiry, certificate revocation and the chain of Certificate Authority among other things.
  • Further even if certificate expiry is detected that still does not solve the problem as many legitimate websites fail to keep their certificates updated.
  • Finally, even if all the above is checked and verified, most of the end users are not aware of the intricate details of the certification process and hence are unable to understand the implication of the verification failure.

How can this be resolved then?

I suggest the following methodology be used for making it easy for any end user to prevent any phishing attack:

  • All authentication and payment related WebPages and the mobile apps must be signed using a valid certificate. The certificate used for signing must not be expired, revoked or fail in Certification Authority chain verification. This will ensure that signing does have the significance it is supposed to provide.
  • The certificate must have company or business number which can be verified online using the appropriate authority. This will ensure that similar sounding or similarly spelt names of organisations are not able to fool the end user. Most business name authorities in all countries try to prevent confusion of this kind by disallowing similar sounding names. Further, if the phishing attacker has to register itself as an organisation, the number of such attacks will drastically reduce since they can be easily tracked if the registration process is robust.
  • The browser should have another text field at the top that displays the actual organisation that the Webpage represents and also any well known organisation that it DOES NOT represent. This will ensure that even if similar organisation names are registered, they are made known to the user of the Webpage. For the mobile apps, signature verification result display must be changed to display the additional information.
  • Finally, another text field can display the verification status of the organisation with their corresponding company or business number.

That way, preventing a phishing attack can be possible for any user.

However, this means that all the government departments issuing company or business names and numbers across all countries must abide by some basic rules that are same across countries. Some of them have to be:

  • A new organisation with name similar to well known organisations cannot be registered.
  • The company or business number issuing authority must allow verification of the same using online APIs.
  • The result of the verification mentioned above must be provided in a known and uniform format across countries.

The following issues need to be resolved for this methodology to work:

  • The API for the verification of company or business names and numbers must be determined.
  • The format of the result of the verification of company or business name with their numbers.
  • All browser vendors have to agree to have additional text fields to display the organisation a Webpage represents, any relevant organisation it DOES NOT represent and the verification status of the company or business name with company or business number.