2009-10-10 1 views
5

사전 공격이라고 할 때 실제 사전을 의미하지는 않습니까? 내 생각에 해커의 사전 즉 rainbow tables을 의미하는 것입니까?사전 공격이란 무엇입니까?

요점은 우리가 다른 암호를 로그인 상자에 입력하는 것에 대해 이야기하는 것이 아니라, 데이터베이스에 대한 전체 액세스 권한이있는 사람 (일반 암호가 아닌 암호가 해시 된 암호)이며이 사람은 해시 맞지?

+9

옥스퍼드 영어 사전의 큰 사본을 부끄럽게 여기고있는 누군가가 보이면 ... –

+1

+1 유머 감각과 간접적으로 내 질문에 답하십시오.) – Chris

+1

Mitch : 너는 내 아침을 보냈다. 감사. 이제는 키보드에서 차를 마시고 있습니다. – Joey

답변

9

암호는 암호 공격의 가장 쉬운 부분으로 실제로는 실제 사전의 일종입니다. 가정은 게으르며 적절한 단어를 암호로 선택하거나 암호 구를 구성한다는 가정입니다. 사전에는 흔히 사용되는 비 단어 또는 문자/숫자 조합과 같은 다른 것들이 포함될 수 있습니다. 본질적으로 인 모든 것은 잘못된 비밀번호입니다.

전체 하드 드라이브를 가져 와서 사용자의 암호가 평문을 통해 메모리에 저장되었다는 가정하에 모든 입력 가능 문자열에서 사전을 작성하는 프로그램이 있습니다. 페이지 파일) 또는 텍스트가 드라이브 1에 저장된 경우 단순히 신체에 존재 :

는 그럼에도 불구하고,이 중 어느 것도 실제로 문제가되지 않을 수 있습니다. AccessData는 Forensic Toolkit이라는 다른 프로그램을 판매합니다. Forensic Toolkit은 인쇄 가능한 모든 문자열에 대해 하드 드라이브를 검사합니다. 문서, 레지스트리, 전자 메일, 스왑 파일, 하드 드라이브의 삭제 된 공간 ... 어디서나 볼 수 있습니다. 그리고 사전을 만들어 PRTK에 입력합니다.

그리고 PRTK는이 사전에서만 50 퍼센트 이상의 암호를 나눕니다.

실제로 사람들이 일반적으로 암호를 작성하는 방법에 대한 지식을 포함 시키더라도 사전을보다 효과적으로 만들 수 있습니다. 슈나이어는이에 대해 이야기 길게 1 :

  • 일반적인 단어 사전 : 5,000 항목
  • 이름 사전 : 10,000 개 항목
  • 포괄적 인 사전 : 100,000 항목
  • 소리 나는 패턴 사전 : 1/10,000 철저한 문자 검색

음성 패턴 사전은 흥미 롭습니다. 실제로 사전이 아닙니다. 주어진 길이의 발음 가능한 영어 문자열을 생성하는 마르코프 체인 루틴입니다. 예를 들어, PRTK는 매우 발음하기 쉬운 6 자 문자열 또는 거의 겨우 발음 할 수없는 7 자 문자열의 사전을 생성하고 테스트 할 수 있습니다. 다른 언어의 생성 루틴을 연구하고 있습니다.

또한 PRTK는 4 문자의 철저한 검색을 실행합니다. 사전은 소문자 (가장 공통), 초기 대문자 (두 번째로 가장 일반적인 것), 모두 대문자 및 최종 대문자로 실행됩니다. "s"에 대해서는 "$", "l"에 대해서는 "1"등으로 대체하여 사전을 실행합니다. 여기에는 "e"를 나타내는 "3"과 같은 "leet speak"이 포함됩니다.

  • 모든 두 자리 조합 2006
  • -1900에서
  • 모든 날짜 세 자리 숫자 조합
  • 모든 단일 문자
  • 모든 : "

    부속물 사전

    는 등이 포함 단일 숫자 + 단일 기호
  • 두 기호 조합
  • (210)

1 브루스 슈나이어 : 보안 암호를 선택.에서 : Schneier on Security. (URL)

2

사전 공격은 많은 사람들이 사전에서 찾을 수있는 간단한 암호를 사용하기 때문에 오히려 일반 사전에서 단어를 시도하는 공격입니다.

위키 백과 : Dictionary attack.

3

'사전 공격'은 일반적으로 '사전'을 사용하여 암호를 추측하려는 시도를 말합니다. 즉 일반적으로 사용되는 암호의 긴 목록으로, 보통 사람들이 자신의 암호로 설정하는 단어 또는 단어 조합에 해당합니다. 레인보우 테이블은 실제 평문 암호를 지정하여 암호를 추측하는 대신 암호 해시를 사용하고 암호를 추측하려는 경우에 사용됩니다. 일반적으로 사용되는 암호의 해시를 지정하고 암호 해시와 일치 시키려고 시도하여 암호가 무엇인지 결정하기 위해 일치 항목을 얻으십시오.

3

글쎄, 내가 사전을 던지면, 아플 까?

하지만 예, dictionary attack은 단어 목록을 사용합니다. 사전에서 파생되거나 일반적인 어구 또는 암호 목록 (예 : '123456') 일 수 있습니다.

rainbow table은 사전과 다릅니다. 주어진 해시 함수에 대한 역방향 조회이므로 해시를 알고있는 경우 해당 해시를 생성 할 문자열을 식별 할 수 있습니다. 예를 들어, 비밀번호에 무분별한 MD5 해시 e10adc3949ba59abbe56e057f20f883e가있는 것을 알고 있다면 rainbow table을 사용하여 해당 값으로 123456 해시를 확인할 수 있습니다.