How Attacks Evolve from Bots to Fraud - Part 1

Bot Basics

A bot is a software program that performs automated, repetitive, pre-defined tasks. Bots typically imitate or replace human user behavior because they operate much faster than human users. Good Bots make the Internet work - From search engine crawlers that bring the world to your fingertips to chatbots that engage and enhance the user experience.

How Do Bots Facilitate Fraud?

Bots can also be used to scale automated attacks which can result in account takeover (ATO) and fraud. Motivated cyber criminals leverage a sophisticated arsenal of bots, automation, and evasion techniques. They also perform ongoing reconnaissance to identify security countermeasures and constantly retool their attacks to evade detection.

Automated Bot Attack Vector Examples...

  1. Credential Stuffing
  2. Automated Account Creation
  3. Content Scraping High Value Data
  4. Credit Application Fraud
  5. Gift Card Cracking
  6. Application DDoS
  7. Aggregator Threats
  8. Fake Account Creation
  9. Inventory Hoarding
  10. Bypass Auth reCAPTCHA
  11. The list goes on...

Business Impact of Bad Bots

Infrastructure Costs - Infrastructure needs to scale to deal with unwanted and/or undetected bot traffic

Competitive Intelligence - Web scrapers collect important data to help competitors adjust their pricing strategies

Wrong Business Decisions - Bot traffic distorts web site analytics which could lead to making wrong business decisions

Sneaker Bots - Bots are buying limited editions of certain products before regular buyers and then sell on black market

Account Take-over - Credential stuffing leveraging stolen accounts purchased on the Darkweb providing access

Fraudulent Transactions - Fraudulent transactions with large financial consequences as a result of account take-over in the finance sector

The Industrialized (organized) Attack Lifecycle

Figure 1. It begins with unwanted automation and ends with account takeover and application fraud

What are Credential Spills?

Credential Spill - A cyber incident in which a combination of username and/or email and password pairs becomes compromised.

Date of Announcement - The first time a credential spill becomes public knowledge. This announcement could occur in one of two ways:

  1. A breached organization alerts its users and/or the general public
  2. A security researcher or reporter discovers a credential spill and breaks the news

Date of Discovery - When an organization first learned of its credential spill. Organizations are not always willing to share this information.

Stolen Credentials - Criminal Usage by Stage

Stage 1: Slow and Quiet

  • Sophisticated threat actors operating in stealth mode - 150 to - 30 days before the public announcement
  • Each credential used (on average) 20 times per day

Figure 2. Slow and quiet stage. Attackers use credentials in stealth mode from 150 to 30 days before the public announcement

Stage 2: Ramp Up

  • Creds become available on Darknet around ~30 days before public announcement
  • Use of creds ramp up to 70 times per day

Figure 3. The ramp-up stage. Attackers ramp up use of compromised credentials 30 days before the public announcement.

Stage 3: The Blitz

  • Credentials become public knowledge
  • Script Kiddies + N00bs
  • The first week is absolute chaos - each account attacked > 130 times per day

Figure 4. The blitz stage. Script kiddies and other amateurs race to use credentials after the public announcement.

Stage 4: Drop-Off / New Equilibrium

  • Creds *should* be worthless at this point...
  • Consumer reuse and lack of change allows for attacker "repackaging" and long tail value

Figure 5. The drop-off stage. Credentials no longer have premium value

Network Traffic Automation

The simplest level of user simulation contains tools that make no attempt to emulate human behavior or higher level browser activity. They simply craft HTTP requests along specified parameters and pass them along to the target. These are the simplest, cheapest, and fastest tools. Sentry MBA is perhaps the standard tool of this type.​

 

  

Figure 6. Sentry MBA, a standard user simulation tool

Browser and Native App Automation

Most of the websites that we interact with every day—online banking, ecommerce, and travel sites—consist of large web applications built on hundreds of thousands of lines of JavaScript. These webpages are not simple documents, so simulating convincing transactions at the network level is extremely complex. At this point, it makes more sense for an attacker to automate activity at the browser level.

Until 2017, PhantomJS was the most popular automated browser in the market. When Google released Chrome 59 that year, however, it pushed forward the state of browser automation by exposing a programmatically controllable “headless” mode (that is, absent a graphical user interface) for the world's most popular browser, Chrome. This gave attackers the ability to quickly debug and troubleshoot their programs using the normal Chrome interface while scaling their attacks. Furthermore, just weeks after this announcement, Google developers released Puppeteer, a cross-platform Node.js library that offers intuitive APIs to drive Chrome-like and Firefox browsers. Puppeteer has since become the go-to solution for browser automation, as you can see from its growing popularity in web searches.

Figure 7. Google trends graph showing interest in PhantomJS versus Puppeteer between 2010 and 2016. (Source: Google Trends)

Simulating Human Behavior

The next level of sophistication above simulating a browser is simulating human behavior. It's easy to detect rapid, abrupt mouse movements and repeated clicks at the same page coordinates (such as a Submit button), but it is much harder to detect behavior that includes natural motion and bounded randomness. While Puppeteer and the Chrome DevTools Protocol can generate trusted browser events, such as clicks or mouse movements, they have no embedded functionality to simulate human behavior. Even if perfect human behavior was as simple as including a plug-in, Puppeteer is still a developer-oriented tool that requires coding skill. Enter Browser Automation Studio, or BAS. BAS is a free, Windows-only automation environment that allows users to drag and drop their way to a fully automated browser, no coding needed.

Figure 8. Browser Automation Studio User Interface

Scaling Up Real Human Behavior

As attackers grow in capability, they succeed in creating automated attacks that look more like human behavior. In some contexts, it actually makes more sense to just use actual humans. "Microwork" is a booming industry in which anyone can farm out small tasks in return for pennies. These services describe their jobs as ideal for labeling data destined for machine learning systems and, in theory, that would be a perfect use. In reality, the tasks the human workers perform are helping bypass antibot defenses on social networks, retailers, and any site with a login or sign-up form.

Figure 9. Data labeling “microwork” using humans to help bypass antibot defenses

In Conclusion

Depending on the attacker sophistication level and motivation there are a variety of tools ranging from basic automation to leveraging real humans to attempt to bypass bot defenses and perform account takeover actions. No matter the skill level, most attackers (at least, most cybercriminals) will start off with the cheapest, that is, least sophisticated, attacks in order to maximize rate of return. Able attackers will only increase sophistication (and thereby cost) if their target has implemented countermeasures that detect their original attack, and if the rewards still outweigh that increased cost.

Related Content:

Updated Apr 23, 2024
Version 5.0
No CommentsBe the first to comment