it-swarm-korea.com

DPAPick이 DPAPI 보호 데이터에 미치는 위협을 어떻게 완화 할 수 있습니까?

Windows 데이터 보호 API (DPAPI)는 Windows 시스템에 비밀을 저장하기 위해 제안 된 방법입니다 (예 : ASP.Net 애플리케이션에 필요한 데이터베이스 암호).

DPAPick BlackHat DC 2010 및 WOOT'10에서 과거 암호 및 암호화 된 파일 시스템 인증서 복구에 중점을두고 발표되었습니다. 프레젠테이션 요약은 암호화 된 모든 DPAPI의 해독을 주장합니다 오프라인 공격이므로 Windows 레지스트리 액세스 제어도 효과가 없습니다.

DPAPick의 효율성에 대한 한계는 무엇이며, 애플리케이션을 위해 워크 스테이션에 저장하는 데이터를 더 잘 보호하기 위해 어떻게 그 맹점과 약점을 악용 할 수 있습니까?

12
Bell

@nealmcb가 이것에 대해 나에게 물었고 (감사합니다!) 이것은 실제로 우리 논문에서 다루지 않은 훌륭한 질문입니다. DPAPI 보안을 처리하는 방법에 대해 충분한 조언을 제공하지 않는다는 데 동의합니다. 블로그 게시물을 작성하여이 문제를 해결할 것이지만 그 동안 수행 할 수있는 작업에 대한 개요는 다음과 같습니다.

전반적인 DPAPI는 firefox 비밀번호 데이터베이스와 같은 모든 비밀 데이터를 Windows 계정 비밀번호에 연결할 수있는 블랙 박스 API입니다. DPAPI 암호를 해독하려면 사용자 암호의 해시 (NTLM이 아닌 SHA1 (16_LE))가 필요합니다.

따라서 오프라인 공격 설정에서 공격자는 먼저이 해시를 얻기 위해 사용자 암호를 무차별 대입 (또는 추측)해야합니다. 따라서 "강력한"암호는 확실히 첫 번째 방어선입니다. 그러나 NTLM 용 Rainbow 테이블이 있으므로 DPAPI 보안도 이에 영향을받습니다.

Bitlocker 및 truecrypt와 같은 디스크 암호화는 공격자가 DPAPI 데이터를 복구하기 전에 하드 드라이브의 암호를 해독해야하기 때문에 이에 대한 좋은 첫 번째 방어선입니다.

좋은 생각이 아닌 것은 파일을 해독하는 데 필요한 인증서가 "DPAPI"와 같은 시스템으로 암호화되어 있기 때문에 EFS가 문제를 해결할 것이라고 믿는 것입니다. 따라서 사용자 암호가 알려지면 공격자가해야 할 일은 먼저 인증서를 복구하여 EFS 파일을 해독 한 다음 DPAPI 데이터를 해독하는 것입니다.

이것이 상황을 명확히 해주기를 바랍니다. CREDHIST 문제의 경우이를 지우는 도구를 작성하려고합니다 (적어도 처음 N 개의 이전 암호).

다른 질문이 있으면 알려주세요.

11
user1587

API가 모호한 보안을 사용하고 완전한 프리미티브 세트를 제공하지 않았기 때문에 이것은 주로 알고리즘의 리버스 엔지니어링입니다.

따라서 이것은 무엇보다도 사전 공격에 강한 정말 좋은 로그인 암호를 사용할 필요성을 증폭시키는 것 같습니다.

또한 다른 암호를 쉽게 크래킹 할 수 있으므로 취약한 암호를 사용하지 마십시오.

백도어의 가능성에 대해 항상주의하십시오 : Elie-DPAPI 역전 및 오프라인에서 Windows 비밀 도용 .

그리고 마이크로 소프트에게이 무료 분석을 해준 더 자격을 갖춘 암호 화폐 직원들의 제안을 수락하도록 로비하십시오. 즉 깨진 CREDHIST 메커니즘을 수정하십시오. 또는 다른 비밀 저장 체계로 전환하십시오 ....

6
nealmcb

전시회 A, Windows 운영 체제가 설치된 PC, 구성된 사용자 계정 및 사용자를 대신하여 DPAPI로 "보호 된"일부 데이터를 제공합니다.

그런 다음 사용자 자신 인 B를 전시합니다.

우리는 약간의 전력이 있지만 외부 네트워크는없는 방에 두 개체를 함께 배치합니다. 사용자 B는 시스템 A의 전원을 켜고 계속해서 암호를 입력하고 로그온합니다. 그런 다음 사용자 B는 보호 된 데이터에 액세스합니다.

따라서 , 시스템 상태 (즉, 하드 디스크)의 필수 내용과 사용자 암호에 대한 지식만으로도 데이터를 복구 할 수 있습니다. 추론 : 공격자가 컴퓨터 상태를 손에 넣을 수 있다면 (예 : 랩톱 전체를 훔친 경우) 오프라인 사전 공격 사용자의 암호에 더 많은 하드웨어를 던져 임의로 빠르게 만들 수 있습니다.

나머지는 모호함, 리버스 엔지니어링 및 Evil Hackers ™의 위협을 쫓아 내기 위해 진지하게 보이는 두문자어의 긴 흐름을 사용하는 일반적인 보안 서커스입니다. 오프라인 사전 공격 상황은 일반적인 암호 해싱 벨과 휘파람으로 완화 될 수 있습니다 ( bcrypt 참조). 보다 철저한 접근 방식은 변조 방지 장치를 사용하는 것입니다. 외부 스마트 카드 또는 TPM , 공격자가 시스템 상태의 중요한 부분을 개념적으로 빼앗습니다. 그러나 이것은 더 비싸고 하드웨어 장애시 데이터 복구에 영향을 미칩니다.

3
Thomas Pornin