[Net-Sec] Bot 공격이란?
봇 공격이란?
웹 상에서의 요청을 자동화하는 소프트웨어가 봇이다. 봇 공격이라 함은 요청을 통해서 웹 사이트, 앱, API, 최종사용자 등을 조종, 금품갈취, 방해하는 행위를 의미한다. 스팸이 대표적인 사례이다.
봇 공격에 사용되는 툴로서 봇킷(봇 제작 툴)과 봇넷(봇 맬웨어에 감염된 기기(봇)들의 네트워크)이 있다.
이들을 통해서 웹 컨텐츠 스크래핑, 계정탈취, 입력값 탈취, API 공격 등을 할 수 있다.
<웹 컨텐츠 스크래핑>
컨텐츠 스크래핑은 웹사이트들로부터 데이터를 자동으로 수집, 복제하는 행위이다.
컨텐츠를 스캔하면서 검색엔진 크롤러인 것마냥 행동한다. 하지만 웹사이트의 소유자에게 수집, 복제 사실을 알리지 않고 컨텐츠를 수집, 복제한다는 점이 차이를 보인다. (정상적인 크롤러는 사용자 에이전트 스트링을 사용해서 정체를 밝힌다.)
이렇게 수집된 데이터들은 다음과 같은 목적으로 악용된다:
-저작권이 있는 TV쇼 혹은 유료 뉴스 기사들의 재송출
-검색엔진 최적화 값 혹은 유기적 트래픽을 탈취하기 위한 목적으로
-경쟁 우위(competitive advantage)를 노리기 위해서 가격/재고 데이터 수집
-다른 업체에 연락처 정보 팔기
-HTML 코드 탈취 후에 피싱사기(phishing scheme)의 일부로서 가짜 웹사이트 생성
<계정 탈취>
데이터 유출은 사용자 인증정보(user credentials)의 탈취나 위험분자들에게 공개/판매로 이어지는 경우가 많다. 공격자들은 자동화된 봇을 이용해서 계정탈취 사기(credential stuffing attack이라고도 불린다)를 벌이는데, 소비자 사이트에서 거치는 인증단계에서 이용자명과 암호를 신속하게 테스트함을 의미한다.
타당한 사용자 인증정보가 발견되면 위험분자는 웹사이트 계정을 탈취하고, 실제 사용자를 차단시킨다. 해커들은 개인식별정보(PII, personally identifiable information)와 저장된 지불방식을 탈취한다.
이를 통해서 다음 유형의 사기들을 저지를 수 있다:
-신용카드 신설
-저장된 지불방식으로 물건 구매
<입력값 탈취>
웹사이트의 작성양식은 JavaScript가 가진 보안 취약점 때문에 봇 공격의 대상이 된다.
서버단의 정보를 접근하기 위한 해커들의 통로가 되기도 하며, 맬웨어로 최종사용자들을 감염시키기 위한 통로가 되기도 한다.
게다가 해커들은 이러한 양식을 통해서 SQLi, 스캐닝, 원하지 않는 컨텐츠를 전송(post)할수도 있다.
*SQLi: SQL Injection이라고도 함. 정상적인 SQL Statement를 주석으로 전환해서 statement의 뒷부분은 실행되지 않는다.
*스캐닝: ?
*post: HTTP 메서드 중 하나로서 데이터값 전송. 요청 본문의 유형은 Content-Type
<API 탈취>
API(Application programming interface)는 현재 웹 서비스를 제공하는 조직의 중추(backbone)라고 할 수 있다. API는 민감정보에 대한 접근을 인가된(authorized) 사용자들에게만 프로그램된 방식으로 제공을 한다. 결과적으로 자동화된 봇들은 API로부터 오는 민감정보를 관찰하고 추출하기 위해 API에 위치하여 데이터를 수집한다.
공격자들은 도난당한 신용카드를 사용하기 위해서 신용카드 대조 공격(enumeration attacks)을 실시하고, 전자상거래(e-commerce) 상품권 사기를 저지르거나 혹은 환자의 건강기록 정보를 취득하기도 한다. 일부 해커들은 ToR를 사용해서 서비스가 제공되지 않는 국가나 지역에서 API에 접근하려 시도를 하거나 해외자산통제국(OFAC)의 제재 대상 국가로부터 금전거래를 시도한다.
봇 공격을 감지하는 방법
1. 봇 공격의 징후를 파악하라
-비정규적인 로그인 시도 횟수 증가
-복수의 패스워드 변경
-동일한 IP 주소에서 계정 생성
2. 봇 공격에 대한 행동을 개시하라
-관찰, 차단, 허용, 경보 등의 행동
.
.
.
(이하는 Fastly 제품 설명)
What Is a Bot?
Bot Definition
A bot is a small piece of software that automates web requests with various goals. Bots are used to perform tasks without human intervention, including everything from scanning website content to testing stolen credit card numbers to providing customer service support. A bot can be used in both helpful and harmful ways, while “bot attack” always refers to an attacker with a fraudulent goal.
Bot Attack Definition

A bot attack is the use of automated web requests to manipulate, defraud, or disrupt a website, application, API, or end-users. Bot attacks started out as simple spamming operations and have branched into complex, multinational criminal enterprises with their own economies and infrastructures.
How Do Attackers Execute Bot Attacks?
Bot attacks are automated, ranging from individual cyber criminals to vast hacking organizations. Sophisticated attackers write custom code to vary frequency and length of an automated attack, designed to circumvent security monitoring.
Botkits

Unsophisticated cyber criminals use open source developer tools for building bots known as botkits. Botkits are widely available for free online and sold on the Dark Web. Botkit sellers offer paid services to execute bot attacks, including software that creates a botnet to power DDoS attacks.
Botnets

A botnet, shorthand for “robot network”, is a group of interconnected devices which work in tandem to complete repetitive tasks. A malicious botnet is a group of machines infected by bot malware; each device controlled by a botnet is called a “bot.” A threat actor, or “bot-herder,” dictates commands to the botnet from a central point to launch coordinated attacks.
Botnets can grow to encompass a massive quantity of bots, which makes them formidable weapons in the hands of attackers. A large botnet might command millions of computers to launch high volume DDoS attacks, while a small botnet might pull off a targeted intrusion to a valuable system, such as classified government intelligence or financial data.
What Types of Data Do Attackers Target in a Bot Attack?
Bots are a tool used to execute attacks against web applications and APIs in order to steal or alter critical data. Common bot attack scenarios include:
Web Content Scraping
Search Bot Imposters Versus Genuine Search Engine Bots

Web scraping bots automatically gather and copy data from other websites. They can disguise themselves as innocuous search engine crawlers as they scan content, but these search bot imposters steal content without the knowledge nor permission of the website owner.
In contrast, legitimate search engine bots declare themselves using user agent strings (e.g. robots.txt, googlebot). Google or Bing use bot crawlers to index content for the primary purpose of improving search engine results for end-users.
Types of Scraped Web Content
Scraped web content is a diverse category that includes written copy, images, HTML/CSS code, metadata, and e-commerce data. The attacker repurposes this content in exploitative ways:
- Republishing copyrighted television shows or paywalled news articles
- Syndicating blog posts to steal SEO value and organic traffic
- Gathering product pricing or inventory data to gain a competitive advantage
- Compiling contact information to sell to other businesses as sales targets
- Stealing HTML code to build a fake branded website as part of a phishing scheme
Account Takeover (ATO)

Data breaches often result in large dumps of user credentials becoming available and sold on the dark web to threat actors. Then, attackers use automated bots for account takeover fraud (also called credential stuffing attacks), meaning they rapidly test usernames and passwords in the authentication flows for consumer sites.
Once valid user credentials are found, threat actors take over website accounts and lock out legitimate users. Attackers take personally identifiable information (PII) and stored payment methods from those accounts to commit all types of fraud—from setting up new credit card accounts to making purchases with the stored payment information.
Form Submission Abuse

Website forms are a target for bot attacks due to widely known JavaScript security vulnerabilities. It is a common gateway for hackers to access server-side information or infect end-users with malware. Moreover, they might perform SQLi, scanning, or post unwanted content through these forms.
API Abuse

Application programming interfaces (APIs) are the backbone of the modern web enabling organizations to provide access to sensitive data to authorized users in a programmatic manner. As a result, automated bots take advantage of these data pipelines where they are deployed to probe and extract sensitive data from APIs.
Attackers may launch credit card enumeration attacks in order to validate stolen credit cards, perform e-commerce gift card fraud, or even obtain patient healthcare records. You may also see bad actors using Tor attempt to access APIs from countries or geographies where services aren’t legitimately provided or attempt to perform transactions from OFAC countries blocked due to regulatory compliance.
https://www.signalsciences.com/glossary/bot-attack-protection/
What Are Bot Attacks? Bot Mitigation for Web Apps & APIs
Learn the definition of “bot”, top bot attack types, how these attacks are executed, and tactics to block malicious bots.
www.signalsciences.com