2019년 12월 연예인 핸드폰에 저장된 사생활이 노출되는 사고가 발생하였습니다.
이때 사용된 공격은 크리덴셜 스터핑이라는 오래된 계정 공격 중 하나입니다.

삼성 클라우드에 크리덴셜 스터핑 공격으로 해당 연예인의 백업된 데이터에 접근하여 유출한 정황이라고 알려져 있습니다.[1]

크리덴셜 스터핑(Credential Stuffing), 어떻게 대응하면 좋을까요?

먼저, 공격 방법은 “한 사이트에서 확보한 계정을 분석해 또 다른 사이트의 정보를 알아내는 방법”입니다.[2]

2016년 6월 페이스북 CEO 마크 저커버그 SNS 계정 해킹에 사용한 방법으로
링크드인 해킹으로 마크 저커버그의 계정과 비밀번호가 노출되었고,
해당 계정과 비밀번호로 인스타그램, 핀터레스트, 트위터 등에서 사용하여 해킹에 성공했다고 주장한 적도 있습니다.[3]

공격 방법은 이해되었으니, 대응 방법을 살펴 보겠습니다.

우선 인증 시스템을 강화하는 방법으로 대응.

1. 비밀번호 실패 횟수 설정하기.

많은 금융권에서는 비밀번호 실패 횟수를 5회로 설정하고 있습니다.
잘 아는 것처럼 공인인증서 비밀번호 실패 횟수도 5회입니다.
국내 주요 포털 사이트의 횟수는 10회로 설정되어 있기도 합니다.

2. 추가 인증 시스템 도입하기.

계정과 비밀번호를 이용하여 로그인 하는 것을 1차 인증이라고 합니다.

이렇게 1차 인증이 완료된 후,

1) 6자리 숫자로 이루어진 PIN 인증 시스템 방법.

2) 메일 수신을 확인하는 인증 시스템 방법.

3) 2-factor 인증으로 구글 모바일 일회용 암호(OTP, One Time Password)를 이용하는 방법.

4) 최근에는 FIDO(Fast IDentity Online) 생체인증을 이용하는 방법.

 

이번에는 데이터 분석으로 강화된 인증 시스템을 우회하는 방법도 탐지하여 대응.

3. 웹 로깅을 통한 빅데이터 분석하기.

해커의 요청에 대한 모든 데이터를 웹 로그 상으로 저장하여,

1) 특정 IP주소에서 로그인 과다 요청 탐지

2) IP주소는 바뀌지만 동일한 User-Agent 에서 로그인 과다 요청 탐지

3) IE, Edge, Chrome, Firefox, Safari, Opera 브라우저가 아닌 로그인 과다 요청 탐지

4) Referer 가 없는 로그인 과다 요청 탐지

 

Mike Shema 는 다음과 같이 말하였습니다. [4]

“공격의 한계는 해커의 상상력이나 노력에 달려 있다.”

크리덴셜 스터핑 공격은 매우 탐지하기 까다로운 공격입니다.

 

참고 문헌
1) 기사, IT조선, 2020년 1월 11일
2) 블로그, 삼성반도체이야기, https://bit.ly/3jF1dLe, 2019년 12월 13일
3) 기사, ZDNet Korea, 2016년 6월 6일
4) 해킹 웹앱, 비제이퍼블릭(BJ퍼블릭), 마이크 쉬마 저 / 김선국 역, 2013년
5) 기업 보안관리자의 크리덴셜 스터핑 공격 대응방안, 엔씨소프트 보안운영실 장석은 실장, 2020년 1분기 사이버 위협 동향 보고서, KISA, https://bit.ly/3ksfQlq

프루라 매뉴얼
1) 크리덴셜 스터핑, http://blog.plura.io/?p=11766
2) 볼륨메트릭, http://blog.plura.io/?p=11768