3-Strike Security의 약점


10

보안, 특히 암호 보안 / 암호화에 대한 몇 가지 문헌을 읽었으며 궁금한 점이 있습니다. 3- 스트라이크 규칙이 암호 보안에 대한 완벽한 솔루션입니까? 즉, 비밀번호 시도 횟수가 일부로 제한되면 모든 인증 요청이 이행되지 않으면 사용자를 침입으로부터 보호하지 못합니까? 무언가에 대한 액세스 또는 제어 권한을 얻는 것이 항상 인증 시스템을 통과한다는 것을 의미하지는 않지만,이 기능으로 인해 사전 / 무차별 공격이 더 이상 사용되지 않습니까? 내가 놓친 것이 있습니까?


3
이 질문은 나중에 참조 할 수 있도록 보안 에서 더 잘 요청되었을 수 있습니다 .
maple_shaft

1
내가 찾은 것처럼, 항상 더 적절한 곳이 있습니다. 고마워, 나는 그것을 기억하려고 노력할 것이다.
prelic

답변:


13

예, 로그인 메커니즘을 통해 사전 공격이 불가능 합니다 . (그렇지만 데이터베이스에 액세스 할 수있는 경우에는 그다지 의미가 없습니다. 보안을 위해 비밀번호를 올바르게 해시하고 솔트해야합니다.)

또한 특정 사용자에 대한 DOS 공격의 가능성을 허용합니다. 로그인을 방지하고 싶다고 가정 해 보겠습니다. 계정에 대해 3 번의 가짜 로그인 시도를 실행 한 다음 로그인을 재설정하는 데 필요한 모든 작업을 수행 할 때마다 다시 시도하면됩니다. 그 문제를 다루는 것은 조금 까다 롭습니다.


1
감사! 호기심에서 당신이 설명한 후자의 문제를 다루는 방법은 무엇입니까? 실제 예를 들어, 수많은 온라인 포럼은 공개 사용자 이름을 로그인 ID로 사용합니다 (acct 또는 다른 것에 첨부 된 전자 메일이 아닌). 이는 모든 단일 사용자가 로그인하는 데 사용하는 것을 볼 수 있음을 의미합니다. 계정에서 모든 단일 사용자를 잠그지 못하게하려면 어떻게해야합니까? 좋은 관리자? 사이트에서 모든 단일 사용자를 잠그는 것이 쉬운 것처럼 보입니다.
prelic

@prelic : 그 문제를 해결하기 위해 "특정 IP 주소가 너무 많은 잘못된 로그인 시도를하면 차단합니다"와 같은 것을 구현합니다. 그것은 당신이 언급 한 시나리오를 멈추게 할 것이지만 , 봇넷과 같은 심각한 해킹 시도 는 다루지 않을 것입니다 . 이를 위해서는 더 강력한 보안이 필요합니다.
메이슨 휠러

4
일반적인 해결책은 주어진 사용자가 고정 IP에서 분당 5 번의 시도 횟수를 제한하는 것입니다. 완벽하지는 않지만 동일한 프록시 뒤에 있지 않는 한 일반적으로 다른 사용자에게 문제를 일으키지 않습니다.
Andrea

다른 접근 방식은 동일한 IP에서 로그인 시도가 2 회 실패한 후 보안 문자를 제시하는 것입니다. 그러나 결정된 공격자는이 목적으로 보안 문자를 깨는 기계식 터크를 임대 할 수 있으며 실제로 기계를 유지하는 좋은 보안 문자를 찾기가 매우 어렵습니다. 밖.
tdammers

3

또한 적절한 권한없이 계정에 액세스 할 수있는 방법으로 사전 공격의 효과를 떨어 뜨린다는 데 동의합니다. 하나:

  • 이 접근 방식은 사전 공격을 시스템에 대한 DOS 공격으로 전환하여 잘못 구현 된 경우 액세스를 방지 할 수 있습니다. 예를 들어, 인증 시도로 서버가 넘칠 수 있습니다. 이를 해결하는 한 가지 방법은 인증 서비스가 잠긴 계정에 대한 후속 액세스의 흐름을 제어하도록하는 것입니다. 예를 들어, 계정이 잠긴 경우 각 후속 로그인 시도 전에 지연이 발생합니다. 그러나 로그인 시도와 '액세스 거부'사이에 지연이 발생할 수 있지만, 이로 인해 공격자가 여러 가지 동시 인증 시도를 시작하는 분산 서비스 거부 공격이 발생합니다.

  • 다른 답변에서 언급했듯이 이것은 사전 공격을 공격중인 계정의 정당한 소유자에 대한 원유 DOS로 바꿀 수도 있습니다. 합법적 인 소유자에게 미치는 영향을 완화하는 방법은 다음과 같습니다.

    • 사용자 이름인지 또는 잘못된 암호인지에 대한 단서를 제공하지 않음으로써 사용자 이름 실행 속도를 늦 춥니 다. 이로 인해 범인은 사용자 이름을 관리자가 더 잘 볼 수 있고 덜 효과적이라고 추측합니다.
    • 고정 된 횟수의 시도 실패 후 계정을 잠그는 대신 해당 인증 모드를 잠그기 만하면됩니다. 다시 말해, 공격을 받고있는 사용자에게 다른 방법 (보다 관련성이 높지만 덜 공격적인 방법)을 사용하여 인증하도록 요청하십시오. 좋은 예는 Android 휴대 전화에서 화면 잠금 해제 패턴 또는 PIN을 사용하여 인증에 실패한 후 사용자가 Google 로그인 정보를 사용해야하는 방법입니다. 이론적으로 이것은 공격받은 사용자가 계정 잠금을 해제하도록 요구하는 것과 비슷하지만 시스템 관리자의 즉각적인 개입이 필요하지 않습니다.
    • 계정을 잠그는 대신 (또는이 특정 인증 모드의 경우 계정을 잠그는 것 외에도 위 참조) 잠금 은 공격이 시작된 위치 에서 인증을 시도합니다 . 예를 들어, 네트워크를 통해 사용자 이름과 암호를 통해 인증을 수행하는 경우 인증 시도가 세 번 실패한 후 동일한 IP 또는 서브넷의 사용자가 사용자 이름이나 암호로 로그인하지 못하게 할 수 있습니다. 여러 사용자 (공격자 포함)가 동일한 IP 또는 서브넷을 사용하고있을 가능성이 높은 경우 일정 기간 동안 IP 또는 서브넷에 대한 사용자 이름 / 암호 인증을 비활성화하여보다 관련성있는 인증 방법을 무고한 상태로 남겨 둘 수 있습니다. 공격자 와 근접한 사용자 .
  • 잊혀진 사용자가 공격자 인 것처럼 실수로 불이익을 가하는 경우 , 고정 된 횟수의 실패한 시도 후 실패한 로그인 시도 의 흐름제어하는 대신 계정이 공격 당했다는 증거로 로그인 시도 빈도를 사용할 수 있습니다. 예를 들어 1 초 내에 10 번의 인증 시도가 표시되면 위의 방법 중 하나를 사용하여 더 유사한 인증 시도를 방지 할 수 있습니다. 다른 방법으로,이 빠른 로그인 시도를 플로우 제어 시작 신호로 사용할 수 있습니다. 이 방법은 포럼에서 점점 더 대중화되고있는 반면, 특정 IP에서 특정 횟수의 로그인 시도가 실패하면 해당 IP가 단기간 동안 인증되지 않습니다.

  • 마지막으로, 사용자가 DOS 공격에 의해 반복적으로 대상이되는 것을 방지하는 좋은 방법은 사용자가 자신의 비밀번호 와 username을 모두 재설정하도록 허용하는 것 입니다. 즉, 사용자 이름과 비밀번호를 모두 비밀로 취급하십시오. 사용자 이름이 다른 곳에서 사용되는 경우 (예 : 포럼에서 사용자 이름이 사용자의 표시 이름 인 경우)이 표시 이름을 별도의 것으로 취급하면됩니다. 이 접근 방식은 일반적으로 인증에 사용 된 사용자 이름이 전자 메일 주소 (변경 될 수 있지만 거의 공유되지 않는) 인 소셜 네트워크에서 사용되는 반면 사이트에서 사용되는 표시 이름은 사용자 정의 된 것이거나 그렇지 않을 수 있습니다. 변경됩니다.

어쨌든, 이러한 접근 방식 중 하나 또는 몇 가지 조합이 유용하기를 바랍니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.