계정 수확이란 무엇입니까?

다양한 유형의 데이터 유출이 있습니다. 일부는 공격자 측에서 막대한 양의 시간, 계획 및 노력을 필요로 합니다. 이것은 설득력 있는 피싱 메시지를 작성하고 공격자가 중요한 세부 정보를 훔칠 수 있는 충분한 액세스 권한이 있는 직원에게 보내기 전에 시스템 작동 방식을 학습하는 형태를 취할 수 있습니다. 이러한 종류의 공격은 막대한 양의 데이터 손실을 초래할 수 있습니다. 소스 코드와 회사 데이터는 일반적인 대상입니다. 다른 대상에는 사용자 이름, 암호, 지불 세부 정보와 같은 사용자 데이터와 주민등록번호 및 전화번호와 같은 PII가 포함됩니다.

일부 공격은 그다지 복잡하지 않습니다. 물론 영향을 받는 모든 사람에게 그렇게 큰 영향을 미치지는 않습니다. 그렇다고 그들이 문제가 아니라는 의미는 아닙니다. 한 가지 예를 계정 수집 또는 계정 열거라고 합니다.

계정 열거

비밀번호가 틀렸다는 것을 알려주기 위해 웹 사이트에 로그인하려고 시도한 적이 있습니까? 그것은 오히려 특정한 오류 메시지입니다. 그렇죠? 그런 다음 고의적으로 사용자 이름이나 이메일 주소에 오타를 입력하면 웹 사이트에서 "해당 이메일이 있는 계정이 존재하지 않습니다" 또는 이와 유사한 내용을 알려줄 수 있습니다. 이 두 오류 메시지의 차이점이 보이십니까? 이를 수행하는 웹사이트는 계정 열거 또는 계정 수집에 취약합니다. 간단히 말해, 두 가지 다른 시나리오에 대해 두 가지 다른 오류 메시지를 제공함으로써 사용자 이름이나 이메일 주소가 서비스에 유효한 계정을 가지고 있는지 여부를 확인할 수 있습니다.

이러한 종류의 문제를 식별할 수 있는 방법에는 여러 가지가 있습니다. 위의 두 가지 오류 메시지 시나리오는 상당히 눈에 띕니다. 또한 수정하기 쉽고 두 경우 모두에 대한 일반적인 오류 메시지를 제공하기만 하면 됩니다. "입력한 사용자 이름 또는 비밀번호가 잘못되었습니다"와 같은 것입니다.

계정을 수집할 수 있는 다른 방법에는 암호 재설정 양식이 포함됩니다. 비밀번호를 잊어버린 경우 계정을 복구할 수 있으면 편리합니다. 그러나 보안이 취약한 웹 사이트는 비밀번호 재설정을 보내려고 시도한 사용자 이름이 존재하는지 여부에 따라 두 가지 다른 메시지를 다시 제공할 수 있습니다. "계정이 존재하지 않습니다" 및 "비밀번호 재설정 전송, 이메일 확인"을 상상해 보십시오. 이 시나리오에서도 응답을 비교하여 계정이 존재하는지 확인할 수 있습니다. 해결책도 마찬가지다. 보낼 이메일 계정이 없더라도 "비밀번호 재설정 이메일이 전송되었습니다"와 같은 일반적인 응답을 제공하십시오.

계정 수집의 미묘함

위의 두 가지 방법 모두 설치 공간 측면에서 다소 시끄럽습니다. 공격자가 대규모 공격을 시도하면 기본적으로 모든 로깅 시스템에서 매우 쉽게 나타납니다. 암호 재설정 방법은 또한 실제로 존재하는 모든 계정에 명시적으로 이메일을 보냅니다. 은밀하게 행동하려는 경우 큰 소리로 말하는 것이 최선의 생각은 아닙니다.

일부 웹사이트는 직접적인 사용자 상호작용 또는 가시성을 허용합니다. 이 경우 웹사이트를 탐색하기만 하면 실행하는 모든 계정의 화면 이름을 수집할 수 있습니다. 화면 이름은 종종 사용자 이름이 될 수 있습니다. 다른 많은 경우에 사람들이 일반적으로 이메일 주소에서 이름의 변형을 사용하기 때문에 어떤 사용자 이름을 추측해야 하는지에 대한 큰 힌트를 줄 수 있습니다. 이러한 유형의 계정 수집은 서비스와 상호 작용하지만 본질적으로 표준 사용과 구별할 수 없으므로 훨씬 더 미묘합니다.

미묘해지는 가장 좋은 방법은 공격을 받고 있는 웹사이트를 절대 건드리지 않는 것입니다. 공격자가 직원 전용 회사 웹 사이트에 대한 액세스 권한을 얻으려고 시도했다면 정확히 그렇게 할 수 있습니다. 사용자 열거 문제에 대해 사이트 자체를 확인하는 대신 다른 곳으로 이동할 수 있습니다. Facebook, Twitter, 특히 LinkedIn과 같은 사이트를 트롤링하면 회사 직원의 꽤 좋은 목록을 작성할 수 있습니다. 그런 다음 공격자가 회사의 이메일 형식(예: [email protected])을 결정할 수 있으면 실제로 공격하려는 웹 사이트에 연결하지 않고도 많은 수의 계정을 수집할 수 있습니다.

이러한 계정 수집 기술 중 하나에 대해서는 거의 할 수 없습니다. 첫 번째 방법보다 신뢰성이 떨어지지만 더 적극적인 계정 열거 방법을 알리는 데 사용할 수 있습니다.

악마는 디테일에 있다

일반적인 오류 메시지는 일반적으로 활성 계정 열거를 방지하는 솔루션입니다. 하지만 때로는 게임을 멀리하는 것은 작은 세부 사항입니다. 표준에 따라 웹 서버는 요청에 응답할 때 상태 코드를 제공합니다. 200은 성공을 의미하는 "OK"의 상태 코드이고 501은 "내부 서버 오류"입니다. 제공된 사용자 이름이나 이메일 주소를 사용하는 계정이 없기 때문에 실제로 전송되지 않았더라도 웹사이트에는 비밀번호 재설정이 전송되었음을 나타내는 일반 메시지가 있어야 합니다. 어떤 경우에는 웹 사이트에 성공 메시지가 표시되더라도 서버에서 여전히 501 오류 코드를 보냅니다. 세부 사항에 주의를 기울이는 공격자에게는 계정이 실제로 존재하는지 여부를 알려주기에 충분합니다.

사용자 이름과 암호의 경우 시간도 중요한 요소가 될 수 있습니다. 웹사이트는 귀하의 비밀번호를 저장해야 하지만, 해킹당하거나 악의적인 내부자가 있는 경우 비밀번호가 유출되는 것을 방지하기 위해 비밀번호를 해시하는 것이 표준 관행입니다. 암호화 해시는 동일한 입력이 주어지면 항상 동일한 출력을 제공하지만 입력의 단일 문자라도 변경되면 전체 출력이 완전히 변경되는 단방향 수학 함수입니다. 해시의 출력을 저장한 다음 제출한 비밀번호를 해시하고 저장된 해시를 비교하면 비밀번호를 실제로 알지 못한 상태에서 올바른 비밀번호를 제출했는지 확인할 수 있습니다.

세부 사항 정리

좋은 해싱 알고리즘은 완료하는 데 시간이 걸리며 일반적으로 10분의 1초 미만입니다. 이것은 무차별 대입을 어렵게 만들기에 충분하지만 하나의 값만 확인하는 경우 다루기 힘들 정도로 길지는 않습니다. 웹사이트 엔지니어는 사용자 이름이 존재하지 않는 경우 암호를 해시하지 않고 모서리를 잘라내고 싶어할 수 있습니다. 내 말은, 비교할 것이 없기 때문에 실제 요점이 없다는 것입니다. 문제는 시간입니다.

웹 요청은 일반적으로 수십 또는 수백 밀리초 내에 응답을 확인합니다. 암호 해싱 프로세스를 완료하는 데 100밀리초가 걸리고 개발자가 이를 건너뛴다면… 눈에 띌 수 있습니다. 이 경우 존재하지 않는 계정에 대한 인증 요청은 통신 대기 시간으로 인해 약 50ms 후에 응답을 받습니다. 유효하지 않은 암호가 있는 유효한 계정에 대한 인증 요청은 약 150ms가 소요될 수 있으며 여기에는 서버가 암호를 해시하는 동안의 100ms와 통신 대기 시간이 포함됩니다. 공격자는 응답이 돌아오는 데 걸리는 시간을 간단히 확인함으로써 계정이 존재하는지 여부를 상당히 신뢰할 수 있는 정확도로 결정할 수 있습니다.

이 두 가지와 같은 세부적인 열거 기회는 유효한 사용자 계정을 수집하는 보다 분명한 방법만큼 효과적일 수 있습니다.

계정 수집의 효과

표면적으로는 계정이 사이트에 존재하는지 여부를 식별할 수 있는 것이 그리 큰 문제처럼 보이지 않을 수 있습니다. 공격자가 계정이나 다른 것에 액세스할 수 있었던 것과는 다릅니다. 문제는 범위가 조금 더 넓은 경향이 있습니다. 사용자 이름은 이메일 주소 또는 가명이거나 실제 이름을 기반으로 하는 경향이 있습니다. 실명은 개인과 쉽게 연결될 수 있습니다. 이메일 주소와 가명도 한 개인이 재사용하는 경향이 있어 특정인과 연결될 수 있습니다.

따라서 공격자가 귀하의 이메일 주소에 이혼 변호사 웹사이트의 계정이 있다고 판단할 수 있다고 상상해 보십시오. 틈새 정치적 제휴 또는 특정 건강 상태에 대한 웹 사이트는 어떻습니까? 그런 종류의 일이 실제로 귀하에 대한 민감한 정보를 유출할 수 있습니다. 당신이 원하지 않는 정보.

게다가 많은 사람들이 여전히 여러 웹사이트에서 비밀번호를 재사용하고 있습니다. 이것은 거의 모든 사람들이 모든 것에 대해 고유한 암호를 사용하라는 보안 조언을 알고 있음에도 불구하고 있습니다. 귀하의 이메일 주소가 빅 데이터 침해에 연루된 경우 해당 침해에 비밀번호 해시가 포함될 수 있습니다. 공격자가 무차별 대입을 사용하여 해당 데이터 유출로부터 귀하의 암호를 추측할 수 있는 경우 다른 곳에서 암호를 사용하려고 시도할 수 있습니다. 그 시점에서 공격자는 귀하가 사용할 수 있는 귀하의 이메일 주소와 암호를 알게 됩니다. 계정이 있는 사이트의 계정을 열거할 수 있는 경우 해당 암호를 시도할 수 있습니다. 해당 사이트에서 해당 비밀번호를 재사용했다면 공격자가 귀하의 계정에 들어갈 수 있습니다. 그렇기 때문에 모든 항목에 고유한 암호를 사용하는 것이 좋습니다.

결론

계정 열거라고도 하는 계정 수집은 보안 문제입니다. 계정 열거 취약점을 통해 공격자는 계정이 존재하는지 여부를 확인할 수 있습니다. 정보 공개 취약성으로서 직접적인 영향이 반드시 심각한 것은 아닙니다. 문제는 다른 정보와 결합하면 상황이 훨씬 더 나빠질 수 있다는 것입니다. 이로 인해 민감하거나 사적인 세부 정보가 특정 사람과 연결될 수 있습니다. 또한 타사 데이터 유출과 함께 사용하여 계정에 대한 액세스 권한을 얻을 수 있습니다.

웹사이트가 이 정보를 유출할 정당한 이유도 없습니다. 사용자가 사용자 이름이나 암호를 잘못 입력한 경우 두 가지만 확인하면 어디서 실수했는지 알 수 있습니다. 계정 열거 취약점으로 인한 위험은 사용자 이름이나 암호를 잘못 입력한 사용자에게 제공할 수 있는 극히 사소한 이점보다 훨씬 큽니다.



Leave a Comment

Apple Watch를 하드 리셋하는 방법

Apple Watch를 하드 리셋하는 방법

Apple Watch 하드 리셋 및 공장 초기화 방법을 단계별로 설명합니다. 소프트 리셋부터 하드 리셋까지, 모든 모델에 대한 가이드를 제공합니다.

Galaxy Watch에서 항상 디스플레이가 작동하지 않는 문제 수정

Galaxy Watch에서 항상 디스플레이가 작동하지 않는 문제 수정

Samsung Galaxy Watch에서 Always on Display(AOD)가 작동하지 않을 때 해결하는 방법을 알아보세요. 절전 모드 비활성화, 앱 데이터 지우기, Wearable 앱 재설치 등 7가지 효과적인 해결책을 제공합니다.

링크드인: 다른 사람들이 당신이 그들의 프로필을 본 것을 알지 못하게 하는 방법

링크드인: 다른 사람들이 당신이 그들의 프로필을 본 것을 알지 못하게 하는 방법

LinkedIn에서 다른 사람들이 당신이 그들의 프로필을 본 것을 알지 못하게 하는 방법을 알아보세요. 비공개 모드 설정, 프로필 조회 기록 확인, 추가 필터 사용법 등을 포함한 완벽 가이드.

Chromebook에서 이모티콘을 얻는 방법: 알아야 할 3가지 최고의 방법

Chromebook에서 이모티콘을 얻는 방법: 알아야 할 3가지 최고의 방법

세 가지 최고의 방법으로 Chromebook에서 그림 이모티콘을 얻고 일상적인 대화를 재미있고 흥미롭게 만드는 방법을 알아보세요.

서버 팜이란 무엇입니까?

서버 팜이란 무엇입니까?

서버 팜은 데이터 센터에서 고성능 서버들이 모여 대규모 작업을 처리하는 시스템입니다. 효율적이고 경제적인 처리를 제공합니다.

컴퓨터에 물 손상이 있는지 확인하는 방법

컴퓨터에 물 손상이 있는지 확인하는 방법

물 손상은 하드웨어를 심각하게 부식시킬 수 있으며 컴퓨터 수리가 항상 가능한 것은 아닙니다. 예방은 항상 치료보다 낫습니다.

수정: Chromebook이 인쇄 미리보기를 로드하지 않음

수정: Chromebook이 인쇄 미리보기를 로드하지 않음

크롬북에서 인쇄 미리보기를 로드할 수 없는 경우 해결 방법을 제시합니다. 각 단계별로 간단하게 따라 해보세요.

Galaxy S20에서 무작위 재부팅을 중지하는 방법

Galaxy S20에서 무작위 재부팅을 중지하는 방법

Galaxy S20의 무작위 재부팅 문제를 해결하는 방법을 알아보세요. 스마트폰을 최대한 활용하세요.

Spotify 노래가 차지하는 공간 확인

Spotify 노래가 차지하는 공간 확인

Spotify Premium을 사용하면 사용자가 노래를 다운로드할 수 있으므로 네트워크에 연결되어 있지 않아도 들을 수 있습니다. 공간 최적화 방법도 알아보세요.

YouTube 동영상을 VLC 플레이어로 스트리밍하는 방법

YouTube 동영상을 VLC 플레이어로 스트리밍하는 방법

VLC Media Player는 오픈 소스이며 모든 플랫폼에서 사용 가능한 무료 미디어 플레이어입니다. 지금 바로 유튜브 동영상을 VLC에서 스트리밍하는 방법을 알아보세요.