Barram's Life

Credential Stuffing Attack 본문

IT Risk & Control

Credential Stuffing Attack

Barram 2020. 9. 23. 13:07

Source: https://www.cloudflare.com/learning/bots/what-is-credential-stuffing/

며칠전 정보보안에 관련된 자료를 읽다가 Credential Stuffing Attack이라는 주제를 접했다. 이에 관해 내가 알게 된 것들 그리고 읽었던 자료에 배웠던 내용을 나름 정리해보았다. 읽었던 자료에 대한 정보는 글 말머리에 참고자료로 붙여놓았으니 참조하기 바란다.

 

Credential Stuffing Attack이란 무엇인가? 간단한 네이버서치를 통해 혹시 한글 이름이 정해져있는지 알아보았지만 아직 정해지지 않은 듯하다. 영문 이름 그대로 크리덴셜 스터핑 공격이라고 부르는 경우가 대부분이었다. 일단 의미부터 알아보자면 해커(Hacker)와 같은 인터넷 범죄집단이 자동화된 도구와 봇네트 (botnet)를 이용해서 훔진 인터넷 사용자 정보(아이디와 패스워드와 같은 접속정보)를 가지고 각종 온라인 서비스 접속을 시도, 결국 여러 곳의 온라인 서비스의 계정 및 정보를 탈취하는 행위를 일컫는다. 예를 들어 내가 이용하는 온라인 쇼핑몰의 이용자 명단, 이용자 아이디, 그리고 암호화가 되지 않은 패스워드가 해커에게 유출되었다고 가정하자. 대부분의 사람들이 여러군데 인터넷 서비스 접속를 동일한 아이디와 패스워드로 하는 경향이 있다는 점을 고려, 해커들은 탈취한 사용자 계정정보를 가지고 다른 인터넷 서비스 접속을 시도할 것이다. 이로 인해 해커는 사용자들에 대한 보다 자세한 정보를 알아내고 그에 대한 정보를 다크넷(darknet)에 판매하거나 또는 다른 형태의 공격 (예를 들면 랜섬웨어 또는 은행 계좌 정보 탈취)을 통해 금전적 이익을 추구할 수도 있을 것이다. 이러한 의미로 봤을때 credential stuffing attack은 우리말로 어떻게 불러야 할까? 내 개인적인 생각으로는 "온라인 서비스 이용자 정보 수집 및 계정 탈취 공격"정도로 해도 좋을 것 같은데 이거 너무 긴거 아닌가? 아.. 정말 IT 분야에서 제대로 된 용어 번역은 쉽지 않다.

 

그럼 Credential Stuffing 공격은 어떤 형태로 진행될까? 아래와 같이 총 4단계의 활동으로 이루어진 프로세스로 진행된다.

 

  • 사용자 정보 수집 (Credential Harvesting)
    • 일단 특정 인물 또는 조직에 관련된 정보를 1) 웹싸이트, 2) 이메일 정보수집 도구, 3) 소셜미디어, 4) 그동안 이용자들 또는 이용자정보를 관리하는 곳의 실수로 누출된 정보들, 5) 다크웹을 통해 수집한다.
  • 이용자 계정 접근 (Account Access)
    • 수집된 정보를 바탕으로 각종 도구 분산 로그인 시도를 이용해서 타겟이 자주 이용하는 웹싸이트의 아이디와 패스워드를 테스트
  • 데이터 유출 (Data Exfilteration)
    • 타겟 사용자/조직 계정탈취에 성공하면 다른 웹싸이트 계정 접근에 이용할 있는 개인정보나 금전적 이익을 취할 있는 정보 수집
  • 리스트 스터핑 (List Stuffing)
    • 기존에 수집된 정보에 새로운 정보를 추가, 다음 공격 (이용자 계정 접근) 이용할 있는 리스트 준비

 

Credential Stuffing 공격의 리스크는 생각보다 크다. 2019년 데이터 분석 회사 (2019 data analytic firm study)의 연구에 따르면 1) 온라인 서비스의 다운타임(서비스이용불가시간)을 초래할 수 있고 2) 고객 정보유출에 따른 고객 손실 및 기업이미지 타격, 3) 시스템 복원하는데 드는 금전적 비용이 주요한 리스크로 꼽히고 있다.

 

최근에 보고된 Credit Stuffing 공격의 동향은 아래와 같다.

  • 2020년 사이버보안 회사 보고서 (2020 Cybersecurity firm report)에 따르면 2017-2019년 동안 금융 업계에서 일어난 보안 사고 중 41%를 Credit Stuffing 공격이 차지했다.
  • 2019년 국제 연구 (2019 International Study)에 따르면 매해마다 온라인 사기범죄 (fraud)에 관련된 비용을 제외하더라도 총 6백만 달러의 손실을 해당기업에게 입혔다고 한다.

 

기본적으로 피해기업의 고객 또는 직원을 동일한 이메일과 패스워드를 다수의 다른 온라인서비스에서 이용할 경우, 해커들은 훔친 사용자 정보를 이용해 다양한 온라인 서비스 접속을 시도할 수 있을 것이다. 만일 온라인 서비스 접속 성공시, 서비스에 연결된 신용카드 또는 로열티 프로그램을 통해 금전적 이익, 신분위조 및 사기, 온라인 송금 지불을 통한 불법거래를 시도할 수도 있다.

 

앞서 언급했듯이 대부분의 Credential stuffing 공격은 봇넷 (botnet)을 통해 이루어지는 경우가 많지만 API (Application Programming Interface)를 그 대상으로 하는 경우도 많다. 2019년 5월에서 9월 사이에 일어난 금융권 업계에서 일어난 credential stuffing 공격의 75%이상이 모바일 API를 대상으로 한 것이었다. 이러한 공격은 접속정보 탈취 및 시도가 성공하지 못하더라도 어마어마한 시스템 서비스 중단을 초래하여 대상 기업의 온라인 서비스 매출 타격으로 이어지기도 했다. 

 

2020년 Akamai에서 발행한 인터넷 보안보고서중의 하나인 Financial Services - Hostile Takeover Attempts에 언급된 내용을 간단히 요약하면,

  • 금융 서비스 회사들이 상당한 수준의 Credential stuffing 공격을 받고 있다는 사실을 경고하고 있고
  • 그 대상은 은행계좌, 신용카드, 브로커지 계좌, 지불앱 등이며
  • 그 공격의 약 6%정도는 금융 서비스 고객에 초점을 두고 있고
  • API을 이용한 불법적인 접근을 시도한다는 점이다.
  • 또한 웹서비스의 보안프로토콜인 SOAP (Simple Object Access Protocol)과 모바일 API 보안에 이용되는 REST (REpresentational State Transfer)를 대상으로 사용자접속정보 데이터를 얻기 위한 공격이 이루어지고 있다.

 

기업 또는 온라인 서비스 이용자 관점에서 이 공격에 대한 대처방법은 무엇일까. 우선 각기 다른 서비스를 이용시 동일한 패스워드를 사용하지 않도록 하는 것이 최선이다. 온라인 서비스 제공업체 입장에서는 이중 인증 서비스 (Two factor authentication - 2FA) 또는 다중 인증 서비스 (multi factor authentication - MFA)를 제공하는 방법이 추천되고 있다. 

 

읽었던 자료에 대한 정보:

Comments