posted by 알짜 정보 岳岩 2019. 10. 1. 07:37

크리덴셜 스터핑, 최근 사이버 범죄자들이 가장 선호하는 공격 기법
사용자 개개인은 물론 기업이 입는 피해도 천문학적...새로운 인증 기술의 시대 열리나


[보안뉴스 문가용 기자] 크리덴셜 스터핑 공격이 전성기를 맞고 있다. 미국에서만 지난 해 단 몇 개월 만에 280억 개의 자동화 봇 공격이 발생했다. 우리나라에서도 홈플러스에서 크리덴셜 스터핑 공격이 발생했고, 던킨도너츠는 요 근래 2015년에 발생한 크리덴셜 스터핑 공격 때문에 새로운 법정싸움을 시작했다. 크리덴셜 스터핑은 무엇이며, 어떻게 방어할 수 있는지 간략히 살펴보자.

[이미지 = iclickart]


크리덴셜 스터핑이란
간단히 말해 크리덴셜 스터핑(credential stuffing)이란 사용자의 계정을 탈취하는 공격 유형 중 하나다. A라는 회사에서 유출된 고객의 ID와 비밀번호를 확보한 공격자가, 그걸 B, C, D...라는 회사가 제공하는 서비스에 자동화 기술로 대입하는 것이다. 들어맞으면 공격자는 또 다른 회사의 사용자 계정을 하나 더 획득하게 된다. ‘무작위 대입’은 한 가지 서비스에 수많은 ID/비밀번호 조합을 대입하는 것으로, 탐지되기 쉽지만 크리덴셜 스터핑은 한 사이트에서 대입하는 숫자가 그리 많지 않아 눈에 띄지 않는다는 특징을 가지고 있다.

공격은 주로 다음과 같은 순서로 일어난다.
1) 공격자가 도난당한 데이터를 확보한다. 다크웹 등지에서 ID/비밀번호 콤보를 사들이고 다운로드 받는다.
2) 이 데이터를 어떻게든 활용해 돈벌이를 하고자 결심한다. 크리덴셜 스터핑이 요즘은 가장 처음 머릿속에 떠오르는 방법이다. 그리고 크리덴셜을 여러 계정에 마구 대입해볼 수 있는 도구를 업로드 한다.
3) 결단한 걸 실천하고 성공시킨다(즉, 피해가 발생한다). 그런 다음 로그인을 실제로 해서 계정을 분석하고 추가 공격 가능성을 검토한다.

그 결과?
그렇게 여러 서비스와 사이트에 걸쳐 계정을 확보한 공격자는 광범위한 사기형 범죄를 저지를 수 있게 된다. 피해자는 계정을 도난당한 사용자 개인이 될 수도 있지만, 서비스를 제공하는 기업일 수도 있다. 기업에서 제공되는 웹 애플리케이션에 크리덴셜 스터핑으로 로그인하는 데 성공했다면, 수백만에서 수천만에 이르는 민감 정보가 저장되어 있는 DB에까지 도달할 수 있기 때문이다. 이 DB 데이터가 공격자의 손에 넘어가면, 기업은 돌이킬 수 없는 금전적 손해와 이미지 손상을 입을 수밖에 없게 된다.

이 손해를 몇 가지로 정리하면 다음과 같다.
1) 보안과 관련된 지출이 높아진다.
2) 운영이 마비되는 시간 동안 손해가 발생한다.
3) 시스템과 네트워크 복구에 시간과 비용이 든다.
4) 콜센터와 IT 기능이 전부 사고에 집중된다.
5) 고객은 신뢰를 잃고, 경쟁사로 옮겨가기도 한다.
실제 미국에서는 크리덴셜 스터핑으로 민간 부문에서 잃는 비용을 연간 50억 달러라고 추정하고 있다.

크리덴셜 스터핑 공격, 어떻게 탐지하나
크리덴셜 스터핑 공격은 자동화 기술을 수반하는 게 보통이다. 따라서 다음과 같은 징조가 나타난다.
1) 제한된 시간 안에 다량의 계정에서 한꺼번에 로그인 시도가 증가하는 등 트래픽에 변화가 생긴다.
2) 평균보다 로그인 실패 빈도수가 높아진다.
3) 사이트 트래픽 증가로 일순간이라도 다운타임이 생긴다.

물론 이런 현상이 나타난다고 해서 100% 크리덴셜 스터핑 공격이 발생하고 있다는 뜻이 되는 건 아니다. 저런 현상들을 주의 깊게 살피는 것에 더해 ‘봇 스크리닝(bot screening)’ 기술의 도움을 받아야 크리덴셜 스터핑을 실시하는 자동화 봇들을 막을 수 있게 된다. 봇 스크리닝은 고급 스크리닝 기술 중 하나로, 장비 내 멀웨어를 탐지하는 데 사용된다. 이를 활용해 ‘실패 횟수 증가’, ‘비정상적인 위치에서의 로그인 시도’, ‘비정상적인 트래픽 패턴’, ‘비정상적인 속도’를 탐지하고, 이를 바탕으로 봇의 활동을 파악할 수 있게 된다.

크리덴셜 스터핑 공격을 막는 방법 중 널리 알려진 건 다음과 같다.
1) 봇을 차단하라 : 고객의 계정이 크리덴셜 스터핑으로 도난당하는 걸 막으려면 기업은 사람이 발생시키는 트래픽과 봇이 발생시키는 트래픽을 구분해야 한다. 가장 유명하고 널리 사용되는 도구는 캡챠(captcha)이다. 물론 캡챠가 만능 도구는 아니다.
2) 다중인증 옵션을 도입하라 : 통계적으로 이중인증과 다중인증 옵션을 사용 중인 계정의 해킹 방지 성공률은 99.9%라고 한다. 비밀번호로만 보호된 계정을 훔치는 것과, 여러 인증 단계를 가지고 있는 계정을 훔치는 것의 난이도에 차이가 있음은 쉽게 상상할 수 있다. 해커로서는 사용자의 장비나 몸을 물리적으로 확보하고 있지 않는 한 두 번째 혹은 세 번째 인증 단계를 뚫기가 힘들다.
3) 사용자가 비밀번호를 어렵게 설정하도록 만들라. 위 2)번과 비슷한 맥락에서 제안되는 방법이다. 사용자가 ‘password’나 ‘1234’를 비밀번호를 설정하지 못하도록 기업이 처음부터 제동을 걸어야 한다. 최근 많은 서비스들이 소문자와 대문자를 섞고 특수문자까지 첨부해야만 계정이 생성되게 하는데, 좋은 방향이다.

참고로 페이스북이나 구글과 같이 큰 회사들은 다음과 같은 정책을 내부적으로 수립해 지키고 있다고 알려져 있다.
1) 이메일 주소로 사용자 ID로 사용하지 않는다.
2) 리스크 기반의 인증 시스템을 구축한다.
3) 비밀번호를 사용하지 않는 인증 시스템을 사용한다.
4) 핑거프린팅(여러 데이터를 수집해 조합함으로써 개인을 식별하는 방법) 라이브러리를 사용해 복제할 수 없는 식별 데이터를 확보한다. 보안뉴스

댓글을 달아 주세요