계정 탈취란?
사람들은 보통 개인 및 비즈니스 웹 사이트, 애플리케이션 및 시스템에 액세스하는 데 필요한 수십 개의 온라인 계정을 가지고 있습니다.계정 탈취 공격은(이름에서 알 수 있듯이) 해당 계정에 대한 액세스 권한을 얻으려고 시도하여 공격자가 데이터를 훔치거나 맬웨어를 퍼뜨리거나 다른 악의적인 목적으로 계정의 합법적인 액세스 및 권한을 사용할 수 있도록 합니다.
계정 탈취는 어떻게 발생할까요?
계정 탈취 공격이 발생하려면 공격자가 사용자 이름, 암호 조합 등 대상 계정의 인증 정보에 액세스해야 합니다. 공격자는 다음과 같은 다양한 방법으로 인증 정보를 얻을 수 있습니다.
- 자격 증명 스터핑: 자격 증명 스터핑 공격은 봇을 사용하여 일반 비밀번호 또는 유출된 비밀번호 목록을 사용하여 사용자 계정에 자동으로 로그인을 시도합니다.이 공격은 많은 사용자 계정이 주요 보안 문제인 취약하거나 재사용된 비밀번호로 보호되므로 가능합니다.
- 피싱: 사용자 자격 증명은 피싱 공격의 일반적인 대상입니다. 이 공격으로 공격자는 종종 악성 링크를 사용하여 사용자를 서비스의 가짜 로그인 페이지로 안내하여 로그인 자격 증명을 수집할 수 있습니다.
- 맬웨어: 사용자 컴퓨터가 맬웨어에 감염되면 다양한 방법으로 암호가 도용될 수 있습니다.여기에는 브라우저 또는 시스템 암호 캐시에서 인증 정보를 복사하거나 사용자가 계정을 인증할 때 사용자의 키 입력을 기록하는 것이 포함됩니다.
- 애플리케이션 취약성: 사용자는 조직의 시스템 및 네트워크에 계정이 있는 유일한 개체가 아닙니다.애플리케이션에도 계정이 있으며, 공격자는 이러한 계정의 취약점을 악용하여 액세스를 이용할 수 있습니다.
- 도난당한 쿠키: 사용자의 컴퓨터에 저장된 쿠키에는 로그인 세션에 대한 정보가 저장되므로 비밀번호 없이 계정에 액세스하는 데 이용될 수 있습니다.공격자는 이 쿠키에 액세스하여 사용자의 세션을 탈취할 수 있습니다.
- 하드코딩된 비밀번호: 애플리케이션은 역할을 수행하려면 일반적으로 다양한 온라인 계정에 액세스해야 합니다.때때로 이러한 계정의 비밀번호가 애플리케이션 코드 또는 구성 파일에 저장되어 GitHub에서 노출되거나 달리 유출될 수 있습니다.
- 손상된 API 키: API 키 및 기타 인증 토큰은 애플리케이션이 API를 통해 온라인 계정 및 서비스에 액세스할 수 있도록 설계되었습니다.이러한 키가 실수로 GitHub 리포지토리에 업로드되거나 유출된 경우 조직 계정에 대한 액세스가 가능해질 수 있습니다.
- 네트워크 트래픽 스니핑: 대부분의 네트워크 트래픽은 암호화되어 안전하지만, 일부 장치에서는 여전히 Telnet과 같은 안전하지 않은 프로토콜이 사용됩니다.이 암호화되지 않은 네트워크 트래픽을 볼 수 있는 공격자는 여기에서 로그인 자격 증명을 추출할 수 있습니다.
계정 탈취 공격의 영향
계정 탈취 공격에 성공하면 공격자는 합법적인 계정 소유자와 동일한 액세스 및 권한을 얻습니다. 이 액세스를 통해 공격자는 다음과 같은 다양한 작업을 수행할 수 있습니다.
- 데이터 도난: 계정 탈취 공격은 신용 카드 번호나 개인 식별 정보(PII)와 같은 중요한 기밀 또는 보호되는 데이터 등급의 방대한 양의 침해 및 유출로 이어질 수 있습니다.
- 맬웨어 전달: 계정 탈취 공격을 통해 공격자는 기업 시스템에 랜섬웨어와 기타 맬웨어를 설치하고 실행할 수 있습니다.
- 후속 공격: 합법적인 계정에 대한 액세스 권한을 얻은 공격자는 해당 액세스를 이용하여 추가 공격을 할 수 있습니다.경우에 따라 특정 계정에 대한 액세스 권한을 얻는 것은 이러한 목적으로만 수행됩니다(예:공격자는 사용자가 여러 계정에서 비밀번호를 재사용하기를 바라며 로그인 자격 증명을 훔칠 수 있습니다.)
- 내부망 이동: 손상된 계정을 이용하여 공격자는 손상되지 않았으면 안전할 네트워크에 진입할 수 있습니다.이 초기 출발점에서 공격자는 액세스를 확대하거나 다른 기업 시스템에 걸쳐 권한을 높일 수 있습니다. 이 프로세스를 내부망 이동이라고 합니다.
- 금전적 이익: 공격자는 손상된 계정 자체를 이용하는 대신 다크 웹에서 해당 계정에 대한 액세스 권한을 판매할 수 있습니다.
계정 탈취 공격을 방지하는 방법
조직에서는 계정 탈취를 방지하고 이러한 공격의 영향을 최소화하기 위해 여러 조치를 실행할 수 있습니다.
계정 탈취 방지
심층 방어는 계정 탈취 공격의 위험에 대처할 때 취할 수 있는 최선의 접근 방식입니다. 계정 탈취 공격은 일반적으로 잘못된 계정 보안 관행을 이용합니다. 계정 탈취 공격을 방지하기 위해 기업에서 취할 수 있는 몇 가지 방어책은 다음과 같습니다.
- 강력한 비밀번호 정책: 많은 계정 탈취 공격에서는 취약하고 재사용된 비밀번호가 이용됩니다.사용자 비밀번호가 침해로 노출되었는지 테스트하는 등 강력한 비밀번호 정책을 정의하고 시행하면 자격 증명 스터핑(credential stuffing) 및 비밀번호 크래킹 공격을 수행하기가 더 어려워질 수 있습니다.
- 피싱 보호: 피싱 공격은 공격자가 사용자 비밀번호를 훔치는 일반적인 방법입니다.위험한 이메일을 필터링하거나 인터넷 필터링을 통해 의심스러운 도메인을 차단함으로써 조직에서는 사용자가 실수로 자격 증명을 손상시킬 위험을 줄입니다.
- 다단계 인증(MFA): MFA는 인증 앱에서 생성한 비밀번호와 일회성 비밀번호(OTP)의 조합, 비밀번호 외에 하드 키 사용 등 여러 요소를 사용하여 사용자를 인증합니다.모든 계정에서 MFA 사용을 시행하면 공격자가 손상된 암호를 이용하는 것이 더 어려워집니다.
- 애플리케이션 보안 테스트: API 키 및 인증 토큰이 API에 노출되면 공격자에게 조직의 온라인 계정에 대한 액세스 권한이 부여될 수 있습니다.강력한 인증 관행을 시행하고 인증 자료에 대한 애플리케이션 코드 및 구성 파일을 스캔하면 이를 방지할 수 있습니다.
- 로그인 및 API 보안: 자격 증명 스터퍼는 유효한 로그인 자격 증명을 추측하기 위해 다양한 사용자 이름과 암호 조합을 시도합니다. 로그인 및 API 보안 솔루션 은 이러한 공격을 식별하고 차단하는 데 도움이 될 수 있습니다.
계정 탈취 공격 완화
계정 탈취 방지는 계정 탈취 공격의 위험을 관리하는 데 중요하지만 항상 효과적인 것은 아닙니다. 예를 들어, 사용자의 개인 이메일 계정에 대한 피싱 공격으로 로그인 자격 증명이 유출되어 공격자가 동일한 사용자의 회사 계정에 로그인할 수 있습니다.
위에 나열된 예방 전략 외에도 조직에서는 다음 접근 방식을 사용하여 이러한 공격으로 인한 피해를 최소화할 수 있습니다.
- 행동 분석: 공격자는 사용자 계정에 액세스하여 대량의 중요한 데이터를 추출하거나 맬웨어를 배포하는 등의 비정상적인 활동에 참여할 가능성이 높습니다.인증 후 계정 사용을 지속해서 모니터링하면 조직에서 성공적인 계정 탈취 공격을 감지하고 대응할 수 있습니다.
- Zero Trust 보안: 기본 거부, Zero Trust 보안 접근 방식을 사용하면 공격자가 손상된 자격 증명을 가지고 있더라도 대상 애플리케이션이나 리소스에 액세스하기가 매우 어렵습니다.기업 애플리케이션에 대한 액세스 권한을 얻으려는 공격자의 요청은 액세스 권한이 부여되기 전에 ID, 장치 상태, 기타 상황 신호를 기반으로 확인되어야 합니다.조직에서 엄격하고 세분화된 Zero Trust 정책을 사용하는 경우, 요청의 위치가 비정상적이거나 요청하는 장치가 감염되었다는 의심스러운 신호를 감지해서 공격자의 액세스 요청을 거부할 수 있습니다.
Cloudflare Zero Trust를 사용하면 조직에서 앱 및 시스템에 대한 원격 액세스를 허용하는 동시에 계정 탈취 공격의 위험을 관리할 수 있습니다. Zero Trust 네트워크 액세스(ZTNA)를 사용할 경우, 사용자는 ID, 컨텍스트, 기업 정책 준수가 확인된 후에만 특정 리소스에 대한 액세스가 허용됩니다.