Attacks/Breaches

4/25/2016
05:30 PM
Connect Directly
Twitter
RSS
E-Mail
50%
50%

Malware At Root Of Bangladesh Bank Heist Lies To SWIFT Financial Platform

Customized malware hid $81 million of wire transfers until the money had been safely laundered.

A cyber bank heist of $81 million from Bangladesh Bank (BB) in February probably involved highly customized malware written specifically to exploit vulnerabilities in the bank's poorly secured local environment, according to researchers at BAE Systems. Though it did not exploit a vulnerability in the SWIFT financial software per se, the malware hid all evidence of the attackers' fraudulent wire transfers by fooling the SWIFT software in a variety of ways.

As Reuters reported in February, the attackers -- whose identities remain unknown -- first obtained the credentials the bank uses to approve payments. Then, they "bombarded the Federal Reserve Bank of New York with nearly three dozen requests to move money from the Bangladesh Bank's account there to entities in the Philippines and Sri Lanka."

The campaign would have been even costlier if the attackers hadn't drawn attention to themselves by simply being careless with their spelling. "Hackers misspelled "foundation" in the NGO's name as "fandation," prompting a routing bank, Deutsche Bank, to seek clarification from the Bangladesh central bank, which stopped the transaction, one of the officials said." By this time, $80 million of transactions had already gone through, but, fortunately, $850 to $870 million of other attempted transactions were stopped. Some of the funds have been recovered.

If the attackers had had better editors, BB might have been out $1 billion, based upon what BAE Systems has discovered about the stealth malware on their systems -- which BAE believes was probably part of a bigger toolkit installed on the environment. They are not sure at this point how the initial infection took place, but the malware registers as a service in the environment running the SWIFT software.

One of the malware's tricks: it includes a module that replaces a 2-byte conditional jump with a do-nothing instruction -- "effectively forcing the host application to believe that the failed check has in fact succeeded," thereby giving itself the ability to execute database transactions, BAE said.

It manipulated the record of account balances, and monitored all the messages sent via SWIFT. It evens sent doctored copies of wire transfers to printers, and then deletes the records of them.

The code itself contained detailed information about the bank's environment. From Reuters, today:

Adrian Nish, BAE's head of threat intelligence, said he had never seen such an elaborate scheme from criminal hackers.

"I can't think of a case where we have seen a criminal go to the level of effort to customize it for the environment they were operating in," he said. "I guess it was the realization that the potential payoff made that effort worthwhile."

SWIFT, meanwhile, responded today, deflecting any responsibility for the vulnerability:

SWIFT is aware of a malware that aims to reduce financial institutions’ abilities to evidence fraudulent transactions on their local systems. Contrary to reports that suggest otherwise, this malware has no impact on SWIFT’s network or core messaging services.

We understand that the malware is designed to hide the traces of fraudulent payments from customers’ local database applications and can only be installed on users’ local systems by attackers that have successfully identified and exploited weaknesses in their local security.

Bangladeshi Police are not letting SWIFT entirely off the hook, according to Reuters, stating that both the bank -- which had "seriously deficient" security -- and SWIFT are to blame.

This heist has also been cloaked in some mystery. A cybersecurity researcher investigating the attack reportedly went missing March 16, the day after stating that he'd discovered three user IDs involved, and was possibly abducted. Police found him wandering the streets of Dhaka, Bangladesh's capital city, March 23, "alive but in a dishevelled state," and decided to simply drive him home without questioning him while he was in that state, according to IB Times.

Related stories:

Sara Peters is Senior Editor at Dark Reading and formerly the editor-in-chief of Enterprise Efficiency. Prior that she was senior editor for the Computer Security Institute, writing and speaking about virtualization, identity management, cybersecurity law, and a myriad ... View Full Bio

Comment  | 
Print  | 
More Insights
Comments
Newest First  |  Oldest First  |  Threaded View
Whoopty
50%
50%
Whoopty,
User Rank: Ninja
4/26/2016 | 8:22:40 AM
Bitcoin
While I know Bitcoin has its own pitfalls, it does seem like decentralized funds avoid problems like this by not providing one point of attack for hackers. 

I don't think Bitcoin is quite ready to become the world's choice for banking, but an interesting point to consider. There are certainly some strengths of crypto currencies over more traditional means of monetary transactions.
'Hidden Tunnels' Help Hackers Launch Financial Services Attacks
Kelly Sheridan, Staff Editor, Dark Reading,  6/20/2018
Tesla Employee Steals, Sabotages Company Data
Jai Vijayan, Freelance writer,  6/19/2018
Inside a SamSam Ransomware Attack
Ajit Sancheti, CEO and Co-Founder, Preempt,  6/20/2018
Register for Dark Reading Newsletters
White Papers
Video
Cartoon
Current Issue
Flash Poll
Twitter Feed
Dark Reading - Bug Report
Bug Report
Enterprise Vulnerabilities
From DHS/US-CERT's National Vulnerability Database
CVE-2017-2668
PUBLISHED: 2018-06-22
389-ds-base before versions 1.3.5.17 and 1.3.6.10 is vulnerable to an invalid pointer dereference in the way LDAP bind requests are handled. A remote unauthenticated attacker could use this flaw to make ns-slapd crash via a specially crafted LDAP bind request, resulting in denial of service.
CVE-2017-7466
PUBLISHED: 2018-06-22
Ansible before version 2.3 has an input validation vulnerability in the handling of data sent from client systems. An attacker with control over a client system being managed by Ansible, and the ability to send facts back to the Ansible server, could use this flaw to execute arbitrary code on the An...
CVE-2018-12648
PUBLISHED: 2018-06-22
The WEBP::GetLE32 function in XMPFiles/source/FormatSupport/WEBP_Support.hpp in Exempi 2.4.5 has a NULL pointer dereference.
CVE-2018-12641
PUBLISHED: 2018-06-22
An issue was discovered in arm_pt in cplus-dem.c in GNU libiberty, as distributed in GNU Binutils 2.30. Stack Exhaustion occurs in the C++ demangling functions provided by libiberty, and there are recursive stack frames: demangle_arm_hp_template, demangle_class_name, demangle_fund_type, do_type, do_...
CVE-2018-12642
PUBLISHED: 2018-06-22
Froxlor through 0.9.39.5 has Incorrect Access Control for tickets not owned by the current user.