비밀번호 관리도구로 잘 알려진 '1Password'에 보안 구멍이 있다는 지적이 나왔습니다.
마이크로소프트 오피스 개발자이자 소프트웨어 엔지니어인 '데일 마이어스'는 1Password에 개인정보 누출로 이어질 수 있는 취약점을 발견했다고 오늘 자신의 블로그를 통해 밝혔습니다. 그리고 이 소식이 해킹 관련 뉴스 매체 '해커스뉴스'에 올라오면서 논란이 확산되고 있습니다.
마이어스에 따르면 1Password가 데이터를 저장할 때 사용하는 'agilekeychain' 규격은 ‘1Password.html’라는 웹페이지 형식의 파일을 포함되어 있습니다. 1Password가 설치되지 않은 컴퓨터, 또는 리눅스 같이 애초에 1Password 클라이언트가 없는 플랫폼에서 사용자의 1Password 데이터를 열람할 수 있도록 도와주는 파일입니다. 제작사가 '1Password Anywhere'라고 부르는 기능과도 연동되는데 이 기능은 앞서 백투더맥 블로그에서도 자세히 소개해 드린 바 있습니다.
그런데 누군가 agilekeychaind에 접근하는 URL을 입수하거나 사용자의 컴퓨터에 접근할 수 있게 되면, 1Password.html과 연동되는 contents.js 파일의 메타데이터까지 열람할 수 있게 됩니다.
원본데이터와 달리 메타데이터는 암호화 등 별도의 보안조치가 적용되지 않고 사람이 읽을 수 있는 평문으로 저장되는 까닭에 사용자가 어떤 인터넷 계정을 가지고 있고 어떤 은행과 거래하는지 여부가 노출될 위험이 있습니다. 계정 이름과 암호, 은행 계정 정보 등 원본데이터에 저장된 데이터 접근은 불가능하지만, 최소한 사용자의 '북마크'가 그대로 드러나는 셈이라고 할 수 있습니다.
마이어스의 이런 지적에 대해 1Password 제작사 측은 이미 해당 문제를 인지하고 지난 2012년부터 데이터 규격을 'agilekeychain'에서 'OPVault'로 순차적으로 전환하는 작업을 하고 있다는 공식 입장을 밝혔습니다. 'OPVault'는 원본데이터뿐 아니라 메타데이터까지 완벽하게 암호화하며, 더욱 개선된 인증 방법을 제공하는 규격이라는 것이 제작사의 설명입니다.
그러나 OPVault는 애플 플랫폼에 최적화된 규격이라 윈도우와 안드로이드용 1Password와는 호환성 문제가 발생한다며, 현재로써는 애플의 아이클라우드로 데이터를 동기화 할 때만 OPVault를 적용하고 있다고 설명했습니다.
즉, 아이클라우드로만 데이터를 동기화 하는 iOS, 맥 사용자라면 마이어스가 지적한 취약점을 걱정할 필요가 없지만, 드롭박스를 비롯해 여타 클라우드 서비스로 윈도우나 안드로이드 버전으로 데이터를 동기화하고 있다면 취약점에서 자유롭지 못하다는 문제가 있습니다. 또한 애플 기기 사용자라도 맥 앱스토어가 아닌 제작사 스토어에서 앱을 구입한 탓에 드롭박스로 데이터 동기화를 하고 있는 경우에도 같은 문제가 생깁니다.
제작사는 앞으로 윈도우와 안드로이드를 포함한 전 제품군에 걸쳐 OPVault를 기본 데이터 규격으로 채택할 방침이라고 밝혔습니다.
또한 드롭박스나 원드라이브를 통해 1Password 데이터를 동기화 할 때도 새로운 규격을 사용할 것이라고 덧붙였습니다. 즉 1Password Anywhere를 희생하더라도 제품의 보안성을 강화하겠다는 것입니다. 이러한 방침이 시행되면 새로운 규격으로 데이터를 이전하는 방법이 사용자에게 안내될 예정입니다.
다만 1Password 전 제품군에 새 규격이 언제 도입되는지 구체적인 시기는 아직 확정되지 않았습니다. 이에 제작사는 드롭박스나 폴더 동기화 방식을 사용하고 있는 경우, 또는 맥 앱스토어가 아닌 제작사 스토어에서 1Password를 구매한 경우 아래와 같은 방법으로 데이터를 OPVault로 미리 전환할 수 있다고 밝혔습니다.
* 주의사항: 해당 규격을 지원하지 않는 윈도우용 1Password, 안드로이드 1Password, 1Password Anywhere 기능 사용자는 해당 규격을 지원하는 새 버전이 나올 때까지 데이터 규격을 함부로 변경해선 안됩니다. 데이터가 호환되지 않아 동기화가 불가능해지기 때문입니다. iOS 및 Mac용 1Password를 쓰고 계신 분만 선택적으로 적용해 보시기 바랍니다.
1Password 데이터 규격을 agilekeychain에서 OPVault로 전환하는 방법
1. 1Password 환경설정 > 동기화 탭에서 동기화 방식을 '없음'으로 선택합니다.
2. 동기화가 해제되면서 기존 데이터를 삭제할 것인지 물어보는 대화상자가 나타나는데, 상자를 체크하고 '동기화를 사용하지 않도록 설정' 버튼을 클릭합니다. 동기화가 풀리면서 데이터를 날리지 않을까 걱정하지 않으셔도 됩니다. 동기화 폴더에서 데이터를 삭제하더라도 로컬 폴더에 저장된 원본데이터는 삭제되지 않기 때문입니다. ▼
3. control 키를 누른 상태에서 1Password 메뉴 막대를 열고 '1Password, 1Password 미니 종료'를 클릭합니다. ▼
4. OPVault는 베타 성격의 기능이어서 기능을 켜고 끄는 그래픽 인터페이스가 아직 마련되지 않았습니다. 이에 터미널 명령어를 사용해야 하는데요. 응용 프로그램 > 유틸리티 폴더에 있는 '터미널(Terminal)'을 실행하고 아래 명령어를 입력합니다. 맥 앱스토어에서 앱을 구매했느냐, 제작사 스토어에서 구매했느냐에 명령어에 차이가 있습니다.
맥 앱스토어 버전
defaults write 2BUA8C4S2C.com.agilebits.onepassword-osx-helper useOPVaultFormatByDefault true
제작사 온라인 스토어 버전
defaults write 2BUA8C4S2C.com.agilebits.onepassword4-helper useOPVaultFormatByDefault true
5. 1Password를 재실행한 뒤 환경설정을 통해 동기화 방식을 드롭박스로 변경합니다. ▼
6. 동기화 작업이 시작하면 데이터 포맷이 .agilekeychain가 아닌 .opvault로 바뀌어 있는 것을 볼 수 있습니다. ▼
7. 이렇게 작업을 완료하면 새로운 데이터 규격으로 동기화가 이뤄집니다. 참고로 여러 대의 맥에서 1Password를 쓰고 있다면 다른 맥에서도 위와 동일한 절차를 수행해야 합니다. ▼
8. iOS용 1Password는 이미 새로운 규격을 지원하기 때문에 앱을 시작한 뒤 동기화 옵션에 들어가면 자동으로 OPVault 규격으로 저장된 데이터를 인식합니다. ▼
코멘트
개인적으로 너무 호들갑 떨 문제는 아니라고 생각합니다. 위 정보를 알고 있는 누군가가 자신의 컴퓨터를 어떤 식으로든 입수해야 하고, 컴퓨터를 입수했더라도 운영체제 계정 암호를 알아야 하고, 또 그렇게 암호를 입력해 사용자 계정에 로그인 하더라도 볼 수 있는 건 언제 접속했을지 모를 웹사이트의 URL과 은행 이름 정도뿐이기 때문입니다. 해커가 1Password Anywhere를 통해 개인정보를 입수하려면 드롭박스부터 먼저 뚫어야 합니다.
하지만 보안에 있어 적당함이란 없고, 차단과 치료보다는 예방이 더욱 중요하다는 점에서 문제를 처음 제기한 마이어스의 지적도 충분한 일리와 설득력이 있습니다. 해커들이 여기서 어떻게 더 파고들지 모르니 말입니다. 다행히 제작사가 문제에 대한 인식을 같이 하고 대응책을 내놓는다고 하니 지켜봐야 할 듯합니다. 사실 이런 서비스를 받기 위해 비싼 비용을 치르고 1Password를 사용하는 것이니 말이죠.
일단 보안에 만전을 기하고 싶은 분들은 위에서 소개한 방법을 적용해 보시기 바랍니다. 다시 강조하건대, 맥∙iOS 버전과 함께 윈도우∙안드로이드 버전을 같이 쓰고 계신 분은 제작사가 새로운 규격을 지원하는 버전을 내놓을 때까지 좀 더 기다리셔야 합니다.
그밖에 이번에 밝혀진 1Password 취약점, 그리고 제작사가 공개한 보안 패치에 관한 보다 자세한 상황은 아래 참조 링크를 살펴보시기 바랍니다.
참조
• Dale Myers - 1Password Leaks Your Data
• 1Password - When a Leak Isn’t a Leak (제작사 공식 입장)
• 1Password - Can I switch to OPVault from Agile Keychain?
관련 글
• 추가 비용없이 언제 어디서나 '1Password' 키체인에 접근하는 방법
• 맥용 1Password를 이용해 사이트 접속과 로그인 정보 입력을 한 큐에
• 1Password의 축소판 '1Password mini'를 더욱 편리하게 사용하는 방법