문제

에서 열광한 잡지:

... Palin Hack은 실제 기술이 필요하지 않았습니다.대신, 해커는 단순히 Google 검색으로 답변 된 (Wasilla High)에 답한 Yahoo 계정의 보안 질문 인 배우자를 만난 위치에 대한 정보를 사용하여 Palin의 비밀번호를 재설정합니다.

우리는 그런 것을 믿을 수 없습니다 보안 질문 잊어버린 비밀번호를 재설정하려면
더 나은 시스템을 어떻게 설계합니까?

도움이 되었습니까?

해결책

대역외 통신이 좋은 방법입니다.

예를 들어, SMS로 임시 비밀번호를 보내는 것이 허용될 수 있습니다(시스템에 따라 다름).나는 SMS가 저렴/무료/업무의 일부이고 사용자의 휴대폰 번호가 사전 등록되어 있는 통신사에서 이것을 자주 구현하는 것을 보았습니다.

은행에서는 종종 특정 번호와의 전화 통화를 요구하지만 저는 개인적으로 그것에 대해 그다지 열광적이지 않습니다....

물론 시스템에 따라 사용자가 자신의 신원을 확인하기 위해 지사에 강제로 방문하도록 하는 것도 효과가 있을 수 있습니다(사용자를 매우 짜증나게 할 뿐입니다).

결론적으로, 강력한 비밀번호 요구 사항을 우회하기 위해 약한 채널을 만들지 마십시오.

다른 팁

소위 "보안 질문"의 불안정성은 오랫동안 알려져 왔습니다.처럼 브루스 슈나이어(Bruce Schneier)가 말했다.:

그 결과 일반 보안 프로토콜(비밀번호)이 훨씬 덜 안전한 프로토콜(비밀 질문)로 대체됩니다.그리고 전체 시스템의 보안이 저하됩니다.

무엇을 할 수 있나요?나의 일반적인 기술은 완전히 무작위로 대답을 입력하는 것입니다. 몇 초 동안 미친 듯이 키보드를 두드리고 잊어버립니다.이렇게 하면 일부 공격자가 내 비밀번호를 우회하여 비밀 질문에 대한 답을 추측할 수 없게 되지만, 내가 비밀번호를 잊어버리면 꽤 불쾌해집니다.한번은 이런 일이 발생하여 회사에 전화하여 비밀번호와 질문을 재설정해야 했습니다.(솔직히 상대방 고객센터에 어떻게 본인 인증을 했는지 기억이 잘 나지 않습니다.)

내 생각에 더 나은 기술은 사용자가 원래 등록하는 데 사용한 이메일 계정에 대한 새로운 임의의 비밀번호를 생성하는 데 사용할 수 있는 링크가 포함된 이메일을 보내는 것입니다.새 비밀번호를 요청하지 않은 경우 해당 비밀번호를 무시하고 이전 비밀번호를 계속 사용할 수 있습니다.다른 사람들이 지적했듯이 Yahoo가 이메일 서비스를 운영하고 있었기 때문에 이것이 반드시 도움이 되지는 않았을 것입니다. 그러나 대부분의 다른 서비스에서는 이메일이 적절한 인증 수단입니다. 사용자의 이메일 제공업체).

물론 OpenID만 사용해도 됩니다.

이메일을 제안하는 많은 포스터를 본 후 제가 제안할 수 있는 것은 다음과 같습니다. 하지 않다 이메일을 방어선으로 활용하세요.

누군가의 이메일 계정을 손상시키는 것은 비교적 쉬울 수 있습니다.다양한 웹 기반 이메일 서비스 하지 않다 실제 보안을 제공하고 SSL을 제공하더라도 그렇지 않은 경우가 많습니다. 기본 그리고 당신은 여전히 ​​​​약점에 의존하고 있습니다 이메일 사용자를 보호하기 위한 비밀번호(대부분의 경우 재설정 메커니즘이 있음)

이메일은 가장 안전하지 않은 기술 중 하나이며, 좋은 신용 카드 정보와 같은 정보를 전송하는 것이 정말 나쁜 생각인 이유.일반적으로 서버 간에는 일반 텍스트로 전송되고, 서버와 데스크톱 클라이언트 간에는 똑같이 암호화되지 않은 채 전송되는 경우가 많으며, 재설정 URL을 가져와 트리거하는 데 필요한 것은 유선 스니핑뿐입니다.(내가 편집증적이라고 말하지 마세요. 은행에서는 SSL 암호화를 사용하기 때문입니다. 좋은 이유.경로에 있는 20~200개의 물리적 장치가 좋은 의도를 가지고 있다고 어떻게 믿을 수 있습니까?)

재설정 데이터를 받으면 비밀번호를 재설정하고 이메일 주소를 변경할 수 있으며 계정을 영구적으로 제어할 수 있습니다(항상 발생함).

그리고 그들이 귀하의 이메일 계정을 알게 되면 받은 편지함을 탐색하여 귀하가 구독하고 있는 사람을 찾은 다음 쉽게 비밀번호를 재설정하기만 하면 됩니다. 그들 모두에

이제 이메일 기반 보안을 사용하면 제안적인 보안 취약점!.나는 그것이 유익하다고 확신합니다!.

묻는 질문은 소프트웨어만으로는 거의 불가능하다고 생각되는 질문입니다.이것이 바로 우리가 고유한 개인 키 서명으로 문제에 응답하는 하드웨어 동글을 사용하는 2단계 인증을 사용하는 이유입니다. 이를 분실한 경우에만 문제가 발생하며 그런 다음 사람(안돼)을 처리해야 합니다. 새로운.

그것은 '시스템'에 따라 '의존'됩니다.

  • 귀하가 은행 또는 신용 카드 제공 업체 인 경우, 이미 고객에게 귀하에게 더 많은 정보를 제공 할 수있는 물리적 토큰을 발행했습니다.

  • 전자 상거래 사이트 인 경우 최근 거래를 요청합니다.

  • Yahoo와 같은 경우, 내가 사용할 자동화 된 접근 방식은 전화 통화 또는 문자 메시지를 다른 기본 질문 및 답변과 함께 휴대 전화로 문자 메시지를 보내는 것입니다.

어치

사용자에게 3가지 질문과 답변을 입력하도록 합니다.고객이 재설정을 요청하면 5개의 질문이 있는 드롭다운을 제시합니다. 질문 중 하나는 입력한 3개 질문 중 무작위 질문입니다.그런 다음 실제로 비밀번호를 재설정하려면 확인 이메일을 보내세요.

물론, 진정한 "해커 방지"가 될 수 있는 것은 없습니다.

(비)보안 질문을 완전히 없애십시오.그들은 너무도 명백한 보안 허점이어서 그들이 심각한(물론 널리 알려진) 사건을 일으키는 데 이렇게 오랜 시간이 걸렸다는 사실에 사실 조금 놀랐습니다.

그것들이 사라질 때까지 나는 그것들을 사용하는 웹사이트들에 내가 "n4weu6vyeli4u5t" 고등학교에 다녔다고 계속 말할 것입니다...

사용자가 관련되어 있으면(대부분 그렇지 않은 경우에도) 보안이 없습니다.보안에 대한 환상만 있을 뿐입니다.그것에 대해 당신이 할 수 있는 일은 많지 않습니다.'덜 일반적인' 보안 질문이 있을 수 있지만 일부 사람들은 모든 것을 대중의 눈에 띄기 때문에 악용되기 쉽습니다.

이메일과 같은 보조 채널은 문제에 대한 합리적인 해결책을 제공합니다.사용자가 비밀번호 재설정을 요청하는 경우 비밀번호 재설정 토큰을 이메일로 보낼 수 있습니다.다른 사람들이 말했듯이 여전히 완벽하지는 않지만 이를 악용하려면 공격자가 웹 사이트, 해당 MTA 및 사용자 MUA 사이의 가시선 내에 있어야 합니다.기술적으로는 쉽지만 현실적으로 매우 유명 인사를 제외한 다른 사람을 귀찮게 하는 것은 너무 많은 작업/위험이라는 것입니다.

계정 생성 시 사용자에게 SSL 또는 GPG 공개 키를 제공하도록 요구하는 것은 큰 도움이 될 것입니다. 그러나 무지한 사용자는 개인 키를 안전하게 유지하고 백업하여 잃어버리지 않도록 할 수 있는 것은 물론이고 이러한 것들이 무엇인지 알지 못할 것입니다. .

사용자에게 두 번째 비상 비밀번호(예: 휴대폰 SIM 카드의 PIN/PUK)를 제공하도록 요청하는 것이 도움이 될 수 있지만 사용자가 동일한 비밀번호를 두 번 사용하거나 두 번째 비밀번호도 잊어버릴 가능성이 높습니다.

간단히 대답하자면, 사용자에게 보안에 대해 교육한 다음 보안이 필요하고 약간의 추가 작업이 단순히 고통을 주는 것이 아니라는 것을 깨달을 때까지 사용자에게 단서를 제공하지 않는 한 당신은 SOL입니다. 나귀.

이메일을 보내 모든 것을 인증하는 것은 합리적으로 효과적인 솔루션입니다.(그러나 이 경우 Yahoo에서는 실행 가능하지 않았을 수도 있습니다 :)).

비밀번호를 복구하기 위한 보안 질문이나 다른 수단을 고민하는 대신 인증 링크가 포함된 사전 정의된 이메일 계정으로 이메일을 보내 비밀번호 복구 요청에 응답하기만 하면 됩니다.여기에서 비밀번호를 변경하거나 필요한 모든 작업을 수행할 수 있습니다(단, 비밀번호를 절대 보내지 마십시오. 어쨌든 항상 솔트 해시로 저장해야 하며 항상 변경해야 합니다.그런 다음 이메일 계정이 손상된 경우 적어도 사용자에게 다른 서비스에 액세스했다는 표시가 있습니다.

정답은 해커를 차단할 수 있는 확실한 방법은 없다는 것입니다.나는 보안 질문을 싫어하지만 이를 사용하려면 사용자 정의 보안 질문을 허용하십시오.사용자로서 계정을 설정하기 위해 사이트에 보안 질문이 있어야 하는 경우, 나만이 대답할 수 있는 질문을 할 수 있도록 나만의 보안 질문을 설정할 수 있는 기능이 있다는 점이 정말 마음에 듭니다.이 경우에는 실제 질문이 될 필요조차 없습니다.그러나 사용자 계정은 사용자의 어리 석음만큼 안전하며 많은 사용자가 "질문"과 같은 것을 사용할 것입니다. 그리고 "대답!" 또는 똑같이 멍청한 것.자신의 어리석음으로부터 사용자를 구할 수는 없습니다.

이러한 보안 질문을 실제로 이중 인증으로 간주하는 것은 완전히 오해의 소지가 있습니다.이전에 읽은 허위 항목에서 특정(은행) 사이트에 "2단계 인증"이 요구될 때 이를 구현하기 시작했습니다. 값이 싼 그것을하는 방법.Bruce Schneier는 [얼마 전][1] 이에 대해 이야기했습니다.

여러 요소가 동일하지 않은 가장 좋은 것입니다.그것은 당신이 "아는" 모든 것이 아니라 당신이 알고 있는 것과 가지고 있는 것 등이어야 합니다.하드웨어 인증 토큰, 스마트 카드 및 기타 장치가 작동하는 곳입니다.

[1]: http://www.schneier.com/blog/archives/2005/03/the_failure_of.html 이중 인증 실패

이메일 시스템이 아닌 경우 비밀번호를 재설정하기 위해 쿼리 문자열에 다시 와야 하는 해시와 함께 보안 페이지에 대한 링크를 이메일로 보내세요.

그러면 누군가가 귀하의 비밀번호를 재설정하려고 시도하면 귀하는 이를 알게 될 것이며 잠재적으로 해시를 추측할 수 없게 될 것입니다.

우리는 16진수로 표시되는 2개의 가이드를 함께 곱하여 사용합니다.

우선 비밀번호를 직접 재설정해서는 안 되며, 비밀번호를 재설정할 수 있는 링크가 포함된 이메일을 보내야 합니다.그렇게 하면 그녀는 이메일을 받고 재설정을 시작한 사람이 그녀가 아니며 그녀의 질문/답변이 손상되었음을 알았을 것입니다.

이메일 주소가 더 이상 유효하지 않은 경우 새 이메일이 계정에 첨부되도록 허용하기 전에 시간 초과(며칠 또는 일주일)를 기다려야 합니다.

다른 이메일 계정으로 메시지를 보내거나, 휴대폰으로 문자를 보내거나, 전화를 걸거나, 일반 메일 메시지를 보내세요.언제든지 변경될 수 있는 공개 기록이나 선호 사항과 관련되지 않은 모든 것.

좋은 보안 질문은 잘못된 이름입니다.그들은 실제로 시스템에 취약점을 만듭니다.우리는 그것을 안전하지 않은 질문이라고 불러야 합니다.그러나 그것이 제공하는 위험과 가치를 인식하면 "좋은" 보안 질문에는 4가지 특성이 있어야 합니다.1.쉽게 추측하거나 연구 할 수 없습니다 (안전), 2.시간이 지남에 따라 변경되지 않습니다 (안정), 3.기억에 남습니다. 4.결정적이거나 간단합니다.이에 대한 자세한 내용은 다음에서 확인할 수 있습니다. http://www.goodsecurityquestions.com.

다음은 목록입니다. 좋음, 공정함, 나쁨 보안 질문.

IMO 비밀 질문은 시스템의 일부로 시간 제한이 있는 매우 약한 제어로만 사용해야 합니다.전:비밀번호 재설정 시스템.

  1. 인증되었습니다.휴대폰 번호와 비밀(비밀 아님) 답변을 등록하세요.

  2. 비밀번호를 잊어버렸습니다.

  3. 잠금 해제를 요청합니다.

a) "그다지 비밀스럽지 않은" 질문은 "그다지 비밀스럽지 않은 답변"을 묻습니다.b) 맞다면, 사전 등록된 휴대폰으로 문자 메시지가 전송됩니다.

이렇게 하면 휴대폰을 도난 당하거나 휴대폰의 핀/잠금과 같은 제어 기능이 작동하지 않습니다.전화가 분실/도난되어 비활성화될 수 있다고 보고될 때까지 공격자가 비밀번호를 재설정할 수 있도록 난독화 조치를 취할 수 있습니다.

이 사용법은 "그다지 비밀스럽지 않은" 질문/답변의 유일한 목적이라고 생각합니다.

그래서 나는 이 세상에는 그들을 위한 자리가 있으며 일반적으로 시스템이 논의되어야 한다고 주장하고 싶습니다.

공개 기록에 없는 질문만 제공하세요.

항상 등록된 이메일 계정으로 비밀번호 재설정을 보내거나(이메일 계정의 경우 까다로움) 등록된 휴대폰으로 PIN 번호 또는 IM 주소 링크 등을 보내십시오. 기본적으로 등록 시 일부 보조 연락처 정보를 캡처하고 이를 사용하여 '비밀번호 재설정' 링크를 보내세요.

누구도 비밀번호를 직접 변경하지 못하게 하고, 항상 추가 단계를 거치도록 하세요.

사용자에게 본인 확인 질문과 답변을 입력하고 보조 이메일(비밀번호 재설정 링크가 전송되는 이메일이 아님)을 요청하는 것은 어떻습니까?추가 보안 단계를 위해 보안 질문과 답변을 데이터베이스에 해시하여 저장합니다.

사용자가 비밀번호를 잊어버린 경우, 비밀번호 재설정 링크 사용자에게 기본 이메일.그런 다음 사용자는 리디렉션되어 보안 질문과 답변을 요청하는 링크를 클릭합니다.이 단계가 성공하면 사용자가 비밀번호를 재설정할 수 있습니다.사용자가 비밀번호 힌트/답변을 잊어버린 경우 링크를 보내주세요. 보안 질문/답변 재설정 사용자에게 보조 이메일.

공격자가 이메일 중 하나에 액세스할 수 있더라도 다른 이메일에 액세스하지 않으면 여전히 쓸모가 없습니다(공격자가 두 이메일 모두에 액세스할 가능성은 거의 없습니다).이 프로세스에는 개발자와 사용자 모두에게 많은 추가 작업이 필요하다는 것을 알고 있지만 그만한 가치가 있다고 생각합니다.(추가적인 보안이 필요한 경우 사용자에게 보안 질문/답변을 활성화할 수 있는 권장 옵션을 제공할 수도 있습니다.)

요점은 이 시스템이 얼마나 강력하거나 약한지는 사용자에 따라 크게 좌우된다는 것입니다.보안 질문/답변의 강도와 두 이메일이 얼마나 잘 "결합"되어 있는지(즉, 한 이메일을 통해 다른 이메일에 액세스할 수 있는 방법이 없음)에 따라 이 시스템 강도가 결정됩니다.

이 방법에 문제가 있는지는 모르겠지만, 문제가 있다면 지적해 주시면 감사하겠습니다. :)

나는 일을 단순하게 유지하고 명예 시스템 접근 방식을 사용하는 것을 선호합니다.예를 들어 사용자에게 다음과 같은 내용을 제시하겠습니다.

정말 당신인가요? 선택하다:예 혹은 아니오.

개인의 사용자 이름과 비밀번호가 포함된 해시를 생성하고 이를 Https를 통해 사용자에게 파일로 보냅니다.사용자는 파일을 디스크에 저장합니다.이 파일을 안전한 위치에 저장하는 것은 그들의 책임입니다.또는 이메일 주소로 보낼 수도 있지만 이렇게 하면 보안이 취약해집니다.사용자가 로그인 자격 증명을 잊어버린 경우 이 파일을 업로드해야 합니다.서버가 사용자 이름과 비밀번호를 확인하면 비밀번호를 변경하라는 대화 상자가 표시됩니다.

소셜 미디어의 발전으로 인해 웹사이트에서 묻는 보안 질문은 너무 쉽게 풀 수 있습니다.대부분의 질문은 소셜 미디어 플랫폼에서 쉽게 사용할 수 있는 개인 정보이기 때문입니다.계정 해킹을 방지하기 위한 대안 중 하나는 로그인에 특수 문자, 숫자, 대문자 등을 추가하는 등 비밀번호 규칙을 엄격하게 만드는 것입니다.이러한 종류의 비밀번호는 해독하기 어렵고 보안을 크게 향상시킬 수 있습니다.그러나 다단계 인증, 비밀번호 없는 로그인, SMS 인증 등과 같은 새로운 대체 방법이 있습니다.SMS 인증은 사용자가 웹사이트에 로그인하기 위해 입력해야 하는 OTP를 휴대폰으로 제공받는 다단계 인증의 일부입니다.이는 모바일 액세스가 사용자에게만(대부분) 제한되어 있기 때문에 안전한 방법입니다.또 다른 다단계 인증 방법은 로그인 프로세스를 완료하기 위해 확인 링크를 이메일로 보내는 것입니다.이 주제에 대해 매우 잘 작성된 블로그가 있습니다. 중간 이 개념을 자세히 설명합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top