Slashdot Mirror


Buggy Software Made Us Miss Money Laundering Scam, Says Australian Bank (theregister.co.uk)

An anonymous reader shares a report: Australia's Commonwealth Bank has blamed a software update for a money laundering scam that saw criminals send over AU$70m (US$55m) offshore after depositing cash into automatic teller machines. News of the Bank's involvement in the laundering scam broke last week, when Australia's financial intelligence agency AUSTRAC announced that it had found over 53,500 occasions on which the Bank failed to submit reports on transactions over $10,000. All transactions of that value are reportable in Australia, as part of efforts to crimp the black economy, crime and funding of terrorism. The news was not a good look for the Bank (CBA), because most of the cash was deposited into accounts established with fake drivers licences. Worse still is that each failure of this type can attract a fine of AU$18m, leaving CBA open to a sanction that would kill it off. Today the bank has explained the reason for its failure: "a coding error" that saw the ATMs fail to create reports of $10,000+ transactions. The error was introduced in a May 2012 update designed to address other matters, but not repaired until September 2015.

30 of 57 comments (clear)

  1. Office Space by Nidi62 · · Score: 4, Informative

    Sounds to me like a couple programmers found a way to take their retirement accounts into their own hands.

    --
    The only thing necessary for evil to triumph is for it to be pitted against a slightly greater evil
    1. Re:Office Space by parkinglot777 · · Score: 1

      Sounds to me like a couple programmers found a way to take their retirement accounts into their own hands.

      And how the changes passed the QA anyway? I think the QA could also be involved. :p

    2. Re:Office Space by MoarSauce123 · · Score: 1

      Have you ever worked in a software company? QA gets the least resources, the least respect, and typically no veto rights whatsoever. When management decides that on date X the product ships then it ships. And when developers claim that QA is full of hooey then the developers are always considered to be right. That assumes that there is dedicated QA in the first place. There are plenty of places that ship as long as the compiler does not throw any hard errors.

  2. Well, that's news. by hey! · · Score: 3, Funny

    I didn't know they held a pageant for that.

    --
    Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
    1. Re:Well, that's news. by Nchantim · · Score: 1

      “a coding error” that saw the ATMs fail to create reports of $10,000+ transactions.

      How about ATMs that don't allow you to withdraw or deposit more than $10,000 in cash?
      No, I'm guessing that they made transfers between accounts using the ATMs. but shouldn't the reporting be done at a centralized level?
      e.g. ATM requests that a service transfers funds, the transfer service is used by all software to access the accounts (online, teller, ATM, phone), and THAT is responsible for logging $10k+ transactions?
      But it does bring us to the question of who was on the inside? The scheme wouldn't work if the criminals didn't know that the reports weren't being generated...

  3. US by Anonymous Coward · · Score: 1

    Oh wait... Us

  4. "a coding error" by nastyphil · · Score: 5, Insightful

    A coding error that was not caught in regression testing, and remained undetected and thus unpatched for years, breaking your organization's compliance... IS A BUSINESS ERROR.

    --
    Dialectician. Archology.
    1. Re:"a coding error" by ZiakII · · Score: 2

      All the time automatically every night only a complete idiot wouldn't do it.

    2. Re:"a coding error" by dwywit · · Score: 1

      The $10K reporting requirement has been around for a long time. The bug is that they *stopped* reporting the transactions. Previous to this software update, the transactions were being reported, so the reporting was either deliberately stopped (possible, but unlikely), or the trigger wasn't pulled because some flag wasn't set because Total_A 10,000.00, even though it was.

      How does a programmer turn off a process that should have "WARNING - THIS IS REQUIRED BY LAW" written all over the comments?

      --
      They sentenced me to twenty years of boredom
    3. Re:"a coding error" by nastyphil · · Score: 1

      You're correct of course, it can be expensive to test thoroughly. Depends on where your model and risk extend. The functional aspects of design? The maintenance of the software? Correct functioning of the ATM HW? Support procedures? Escalation? Audit? Independent verification? Monitoring of operational performance of it and other applications that provide inputs or consume outputs, etc ...the division, governance, the business?

      My point is that especially in a fashionable Dev Ops world, the 'system' includes, but is not restricted to code. Do _you_ test the code, or do you test the system?

      Yes, it can be cheaper to deal with consequences than to over engineer. Make sure you understand the consequences first before making that call however.

      Often programmers or their leads or the PM etc are dimly if at all aware of the broader ecology in which their output features, or certainly more aware of short term requirements only. Like I said this is a business problem and not at all uncommon.

      --
      Dialectician. Archology.
  5. what QA? by Anonymous Coward · · Score: 1

    I bet they cheaped out on QA.

  6. Why ATM by Luthair · · Score: 3, Interesting

    Why exactly is the ATM machine the piece that is doing the reporting? Shouldn't it be a central authority not some piece of hardware the a large number of people have physical access to?

    1. Re:Why ATM by gravewax · · Score: 2

      The reporting is not for a standard ATM, these are for deposit ATM's placed around the world where deposits can be very large and from the sounds of it when a large deposit is received they are supposed to trigger a report (larger than $10,000 AUD). the coding error gives them an excuse for the majority however there is also a chunk of them (around 100 or so) where they also failed to monitor and report known suspicious accounts for which they have no excuse for. In theory total fines could be as much as $1 trillion dollars, in reality I suspect they are looking at a couple of hundred million in fines and mandated oversight/audits.

    2. Re:Why ATM by GumphMaster · · Score: 1

      This, and its close ally the PIN Number, are a classic examples of RAS Syndrome (Redundant acronym syndrome syndrome).

      --
      Patent litigation: A doctrine of Mutually Assured Destruction... in which everyone seems willing to push the button
    3. Re:Why ATM by Luthair · · Score: 1

      Not sure what you mean by standard ATM, here virtually every machine accepts deposits barring the shady ones in bars. I stand by my point, reporting standards aren't only for deposits, they are also for transfers, cheques, etc.

    4. Re:Why ATM by Anonymous Coward · · Score: 1

      these ATM's accepted and counted cash which could be placed into accounts anonymously. ATM's have long been able to accept deposits but "most" required you to use a card or access your account first and then would provide a deposit envelope, the net effect was really the deposit was processed much later when a bank staffer checked the deposit. with the IDM ATM's the deposit is instant and anonymous so criminals could then immediately transfer the funds seconds are the cash is deposited making them highly attractive.

    5. Re:Why ATM by Luthair · · Score: 1

      Again, how is that different precisely? Whether a machine or a person counts the bills the result is still sent to a central authority which can easily do the reporting or you can implement it in 47 different places.

  7. It's hard to care about money laundering by Anonymous Coward · · Score: 1

    Money laundering laws remind me of stuff like DRM, where it's primarily known for being a pain in the ass for completely innocent people, and it's assumed that crooks already know how to get around it anyway and are therefore not as inconvenienced or violated as everyone else.

    Any time a money laundering law comes into play, it's very likely that it's just making things harder for (or compromising the privacy of) a non-criminal. Ergo, the laws have little legitimacy and no person worries if they're circumvented or otherwise fail.

    This bug is unimportant, even if crooks did use it. The crooks are so staggeringly outnumbered by all the other people who used the ATMs too, for non-money-laundering purposes, that whatever money laundering "crime" which may have happened, simply doesn't matter.

    1. Re:It's hard to care about money laundering by GumphMaster · · Score: 2

      The $10000 reporting limit is transparent to the end user unless the transaction is made in cash (and not, it seems, a deposit through one of these machines) or triggers the "suspicious activity" criteria (e.g. repeated $9000+ deposits). I have moved close to $30000 electronically to other parties, in both AUD and USD through a forex service, in past weeks for a trip to Patagonia/Antarctica: not a piece of paper in sight. The machines in question are for deposits, primarily for out-of-bank-hours business trade, and not the transactional cash withdrawal machines. They replaced the old night safe arrangements where cash was deposited in a bank safe and processed manually the following business day. The user population for these machines is much smaller than the common ATM. The number of unreported transactions we know about is in excess of 50000, each of more than $10000. We do not yet know to what extent suspicious activity on smaller deposits has been unreported. I do not think for a moment that these are all money laundering transactions, but it is still an amount in excess of $500,000,000 that has moved without scrutiny through these machines alone. The machines are only a small part of the systemic problem.

      --
      Patent litigation: A doctrine of Mutually Assured Destruction... in which everyone seems willing to push the button
  8. /. is more fun when you're half awake by GrumpySteen · · Score: 3, Funny

    I read the headline as "Buggy software made the United States win the Miss Money Laundering Scam according to an Australian bank." I think it's a title we would live up to.

  9. Re:Would Rust have prevented these bugs? by jellomizer · · Score: 1

    With modern OS's (Memory Address randomization, have data and Executable data in different areas of the memory ) the types of bugs that Rust fixes by default will prevent a bunch of system crashes vs using low level hacking methods to control the system.

    Besides the developers who are good at fixing the low level security problems are often not the same people who are good at fixing logic errors.

    I find most bugs comes from management pushing the get the product done quickly. and forcing using the prototype proof of concept code into the core system.

    --
    If something is so important that you feel the need to post it on the internet... It probably isn't that important.
  10. Re:Would Rust have prevented these bugs? by jellomizer · · Score: 1

    Rust in my opinion, has not proven itself yet.
    Once the amateur programmers start using it to make shovel ware, junk programs. Then we will see how good it really is. Right now most of the Rust developers (Not all) are good at their craft and already write careful code.

    Once it matures a bit, it will get the immature developers on it, meaning they will stumble on crazy hacky ways to get things done. Making all the variables mutable just because it will be easier than having compile errors.

    I remember back in the old days where there were a a bunch of Computer science freshman, who will declare victory and turn in their code for grading once they get it to compile. (without testing to see if it works as directed) While luckily most of these students change majors. But a few will be happy with their 2.0 GPA and get the paper, and a job somewhere.

    --
    If something is so important that you feel the need to post it on the internet... It probably isn't that important.
  11. They got letters from the AFP... by Anonymous Coward · · Score: 1

    They got letters regarding the transactions from the Australian Federal Police and continued to allow it to happen... so... it sounds like being complicit to me.

    Secondly... you wiuldn't out the reporting in ATM soace either. You'd build this stuff into the core transaction code that does the ledgering between accounts...fot all accounts.

    I call bull.

  12. Maybe... by The123king · · Score: 1

    Maybe they just Can't Be Arsed

    --
    If you gave me a choice between a printer and a giraffe with explosive diarrhoea, i'll get my ladder and my raincoat
  13. Lets put htis in perspective by ozphobia · · Score: 1

    Firstly I love to kick the crap out of Aussie banks as much as the next person. It is a national past time down her under the rest of the world.
    The Aussie banking system is regulated up the wazoo,with APRA and ASIC constantly moving the regulations around to protect people from the perceived 'predatory' ways of the 'Big' Banks, being NAB, Westpac, ANZ and CBA in recent time. Now firstly these banks make obscene amounts of profits, and in the past have made some monumental screw ups/crap decisions, as have most large business, but really a big chunk of this is protection is because people want to borrow more money than they can afford so they can keep up with the Jones'.
    Which brings us to the point in question, when one of the regulators makes a change, it causes a lot of change to be made across the business which takes time and money to implement. The banks aren't actually receiving any benefit from these changes, in most cases are losing business and expending real dollars in meeting the needs, otherwise they have their license jeopardised. When you have rolling changes year on year that effect the entire business and the systems that support them shit it going to get missed.
    Maybe the government should look inwards at the amount of fraud that exists in the welfare, tax and health systems before targeting the banks. After all they have just decided to tax the five biggest banks AU$1.6B a year just because they can.
    Just to be clear I don't work for any financial industry, I actually work in health.

    1. Re:Lets put htis in perspective by nastyphil · · Score: 1

      The benefit of compliance, is the license to trade.

      --
      Dialectician. Archology.
    2. Re:Lets put htis in perspective by ozphobia · · Score: 1

      Absolutely agree with this comment. But with any large organisation, it is a lumbering beast, and when asked to run it tends to fall over. Structured change is better than constant change, and with many sections of government 'decisions' it tends to be reactive rather than tempered pro-activity.

  14. Number of the beast by nastyphil · · Score: 1

    IKR?

    I worked most of career in .au, the last 10 years as a contract Information Architect. All industries NGO, .gov, Big 4s, SMEs, Energy etc are depressingly not self aware. Like a complicated soup, they struggle with the laws of thermodynamics, Chinese whispers and too many chefs.

    It's depressing as a stakeholder (ie citizen, customer, investor etc) to observe. OTH, it's been a lucrative career and I am enjoying a multi year sabbatical in Europe, studying Art History and (barely) managing a porn startup.

    ymmv.

    --
    Dialectician. Archology.
    1. Re: Number of the beast by ozphobia · · Score: 1

      Well I hope NastyPhil got a grant from the Federal Government for his new venture.

  15. Rust does not prevent backdoors. by knorthern+knight · · Score: 1

    > Would using a provably safe language like Rust have prevented these bugs?

    A programmer somewhere could have been bribed to do this deliberately. In that case, it doesn't matter whether it's COBOL/FORTRAN/C/C++/PYTHON/RUST/whatever. This was not a buffer overflow, or a null pointer. The program was WAD (Working As Designed). Someone on the design team accidentally or deliberately did this.

    --

    I'm not repeating myself
    I'm an X window user; I'm an ex-Windows user