2012-02-16 5 views
7

모질라는 누군가 컴퓨터에 앉아 15 초 내에 각 사이트의 암호를 얻을 수 있다고 주장합니다. 필자는 처음으로 Firefox 확장을 작성하면서 사용자 디렉토리에있는 파일에 액세스 할 수 있음을 알았습니다 (사용자가 소유 한 경우). 암호가 해독되어 사용자 디렉토리의 어딘가에 기록되면 사용자 디렉토리에 액세스 할 수있는 웹 코드를 사용하는 악의적 인 확장 프로그램이나 사이트가 세션 중에 액세스 할 수 있습니다. 소프트웨어 보안 장치가 Firefox에서 사용하는 프로세스가 사이트 악의적 인 코드로 인해 사이트 암호가 실제로 안전하다는 것을 보장합니까?Firefox의 소프트웨어 보안 장치는 어떻게 암호를 보호합니까?

하드 드라이브의 암호를 해독하는 것은 다른 프로세스에서 읽을 수 있으므로 안전하지 않습니다. 소프트웨어 보안 장치가이를 사용자 디렉토리에 암호 해독합니까?

그렇지 않은 경우 소프트웨어 보안 장치가 RAM에서만 해독합니까? 그렇다면 소프트웨어 보안 장치의 응용 프로그램 공간을 읽는 다른 응용 프로그램의 가능성은 무엇입니까?

설명해주십시오.

프로세스를 설명하는 것은 비밀이면 안됩니다. 왜냐하면 비밀은 취약점과 약점을 나타내는 것이기 때문에, 진정한 보안 방법은 무력으로 무언가를 깨뜨리는 것입니다. 암호화 프로세스에 대한 공개 정책은 더 많은 청중을 제공하여보다 안전한 솔루션의 가능성을 높입니다.

Mozilla 사이트의 소프트웨어 보안 장치 설명 또는 마스터 암호 설명에 설명되어 있지 않기 때문에 필자가이 기능을 사용하여 실제로 보안되는지 궁금합니다.

답변

12

암호는 사용자 프로필 디렉토리의 SQLite 데이터베이스 signons.sqlite에 저장됩니다. 기본적으로 그들은 실제로 암호화되지 않습니다.이 파일에서 파일을 추출하고 "암호 해독"은 간단합니다. 여기에 보안을 설정하려면 사용자가 마스터 비밀번호 (Firefox 옵션의 보안 탭에 있음)를 정의해야합니다.이 비밀번호는 데이터베이스의 비밀번호를 암호화하는 데 사용됩니다. 그런 다음 signons.sqlite에서 비밀번호를 추출하는 것이 중요하지 않은 경우 마스터 비밀번호를 추측해야합니다.

하지만 Firefox는 암호를 사용하여 암호를 해독해야합니다. 일부 브라우저 코드가 암호를 요청하면 (nsILoginManager 경유) 마스터 암호 프롬프트가 나타납니다 - 암호를 해독 할 수 있도록 사용자가 마스터 암호를 입력해야합니다. 해독 된 암호는 디스크에 기록되지 않지만 브라우저 (및 모든 브라우저 확장)는 그 이후에 액세스 할 수 있습니다.

파이어 폭스는 확장 기능이 무의미하기 때문에 비밀번호에 액세스하는 것을 막기 위해 아무 것도하지 않습니다. 악의적 인 확장 프로그램이 암호를 사용하지 못하게 방지하는 유일한 방법은 먼저 악의적 인 확장 프로그램을 설치하지 않는 것입니다. nsILoginManager이 없더라도 암호를 전송할 때 악의적 인 확장 프로그램이 웹 페이지와의 통신을 방해 할 수 있습니다. 또는 마스터 비밀번호를 묻는 메시지가 표시되면 입력 한 내용을들을 수 있습니다. 또는 마스터 비밀번호 대화 상자를 가짜로 만들어 마스터 비밀번호를 직접 가져올 수도 있습니다. 응용 프로그램이 동일한 권한으로 실행중인 다른 응용 프로그램을 능가 할 수는 없습니다.

PS : Software Security Device는 인증서가 아닌 인증서 용이며 전적으로 관련이 없습니다. 그러나 동일한 마스터 비밀번호를 사용하므로 혼란 스러울 수 있습니다.

+2

우수 답변 –

+0

Mozilla에서이 설명을 보는 것이 좋을 것입니다. 다이어그램도 도움이 될 것입니다. 감사. 이것은 주제에 약간의 빛을 가져왔다. – user1213645

+0

주요 관심사는 물리적 액세스 보호 인 것 같습니다. 분명히 보호가없는 것보다 낫습니다. 더 많은 보호 조치를 철회해야한다고 생각하지 않습니다.파이어 폭스는 다른 고려 사항과 브레인 스토밍을 통해 더욱 강력해질 수 있습니다. 비밀번호를 묻는 페이지로 이동할 때마다 사용자가 마스터 비밀번호를 제공하기로 동의하면 확장 프로그램 및 기타 온라인 요청이 모든 비밀번호에 대한 제한없는 액세스를 방지하는 데 도움이됩니다. 사용자의 입장에서는 조금 더 노력하지만, 모든 계정에 대해 하나의 암호를 입력하기 때문에 여전히 편리합니다. – user1213645

관련 문제