피싱 사기에 주의하세요. Ledger는 24개의 단어 복구 문구를 절대로 요청하지 않습니다. 절대 공유하지 마세요. 자세히 알아보기

비트코인 파생 상품에서 파생 경로의 취약성

2020년 5월 2일, 한 보안 연구원이 비트코인 파생 상품 앱(라이트 코인, 도지코인 등)의 취약성에 대해 보고하며, 이러한 취약성을 이용하여 본디 서명하려고 의도했던 코인이 아닌 다른 코인 트랜잭션에 서명하도록 사용자를 속이는 것이 가능함을 알렸습니다. 

예를 들어, 악의적인 지갑은 이러한 취약성을 악용하여 사용자가 실제로는 비트코인 트랜잭션에 서명하고 있지만 도지코인 트랜잭션을 하고 있는 것처럼 꾸밀 수 있습니다.

현재 상황은 어떤가요?

비트코인 앱 버전 1.4.6은 비트코인 파생 상품 앱 문제를 해결하고 2020년 8월 5일 출시를 앞두고 있습니다. 이 버전에서는 사용자가 주소를 요청하거나 Ledger 하드웨어 지갑에 열려 있는 코인 애플리케이션이 아닌 파생 경로 상에서 트랜잭션에 서명하려고 할 때마다 경고가 표시됩니다.

스스로를 보호할 수 있는 방법은 무엇인가요?

Ledger Live의 My Ledger에서 비트코인 앱을 버전 1.4.6으로 업데이트하세요. 모든 비트코인 파생 상품 앱도 자동으로 업데이트됩니다. 이 문제는 비트코인 파생 상품 앱에만 특정된 문제이기 때문에, 사용자는 걱정 없이 다른 앱을 계속 사용하셔도 됩니다.

버그 바운티 프로그램은 어떤 원리인가요?

Ledger는 버그 바운티 프로그램을 통해 외부 보안 연구원이 Ledger 제품의 취약점을 보고할 수 있도록 하고자 합니다. 기본적으로 보안 연구원이 bounty@ledger.fr의 이메일 주소를 통해 잠재적 취약성을 보고하면 보안 팀은 먼저 이메일 수령을 확인하고 90일의 최종 기한을 설정합니다. 문제 조사가 시작되고 문제가 확인될 경우 다음 사항을 의미합니다:

  • 관련 팀은 90일 이내에 이 문제를 해결하기 위해 최선을 다하고 있으며 구글 프로젝트 제로로 설정한 90일간의 기한 동안 업계 전반에 걸쳐 이 문제 해결을 위해 노력하고 있습니다.
  • 기한이 되면 연구원은 자신의 연구결과를 발표할 수 있습니다.
  • 문제가 빠르게 해결되고 보안 연구원과 보안 팀 간에 상호 합의가 있는 경우 90일의 최종 기한 전에 공개될 수도 있습니다.

90일의 기간 동안 보안 팀은 취약성을 수정하는 패치를 개발하고 검토하기 위해 다른 Ledger 팀(엔지니어링, 테스트 등)과 의견을 조율합니다. 한편, 외부 보안 연구원과 기술적 세부사항을 공유하고 버그 바운티 프로그램을 통해 보고된 보안 문제를 공개적으로 추적하는 데 Ledger 보안 게시판 사용합니다.

새로운 버전의 앱 또는 펌웨어를 사용할 수 있게 되면 해당 보안 연구원에게 보상을 지급하고 보안 게시판을 공개해 보안 연구원은 자신이 발견한 결과물을 발표할 수 있게 됩니다.

이런 취약성과 관련하여 어떤 문제가 발생했나요?

당사는 공개 기한을 준수하지 않아 사용자를 위한 수정사항이 완료되기 전에 보안 연구원이 자신의 웹사이트에 블로그 게시물을 게시하게 만든 점에 대해 유감스럽게 생각합니다.

동시에 해결해야 다른 문제들 뿐 아니라 다른 기술팀과 적절하게 의견을 조율하고 수정을 위한 내부 논의가 예상보다 길어졌고 이로 인해 새로운 버전의 비트코인 앱의 출시가 예정 기한(취약성 보고 이후 90일로 설정됨)을 초과하게 되었습니다. 

잘못된 커뮤니케이션은 해당 문제를 신속히 해결하는 데 도움이 되지 않았습니다. 보고자는 대부분의 보안 엔지니어에게 트위터 DM 메시지를 보냈고 대부분의 보안 기술자는 해당 메시지를 확인하지 못했습니다. 실제로 bounty@ledger.fr의 이메일 주소는 보안 팀 전체가 접근할 수 있는 유일한 방법이기도 합니다.

취약성은 무엇인가요?

Ledger Nano S와 Nano X는 계층적 결정성(HD) 지갑입니다. 이는 사용자가 복구 시트에 쓰는 24개의 단어 복구 문구에서 제공되는 단일 시드에서 다른 암호학 비밀 정보를 파생시킬 수 있음을 의미하며, 이러한 비밀 중 일부는 암호화폐 트랜잭션에 서명하는 데 사용됩니다.

일반적으로 각 애플리케이션은 저마다의 특정 HD 경로로 제한됩니다. 예를 들어, 지코인(Zcoin) 앱은 고유의 파생 경로 (m/44'/136'/)를 사용할 수 있으며, 도지코인 파생 경로(m/44'/3'/)에서는 키를 파생시킬 수 없습니다. 이러한 경로 제한은 비트코인 앱과 그 파생 앱에 대부분에 대해 강제되지 않으며, 이는 라이트코인 같은 비트코인 파생 상품으로 공개 키 파생을 유도하거나 비트코인 트랜잭션에 서명하는 것을 가능하게 만듭니다. 

피해자의 컴퓨터나 스마트폰에 멀웨어를 설치한 공격자는 비트코인 앱 대신 Ledger Nano S/X 앱의 알트코인 앱을 이용해 비트코인 트랜잭션에 서명하도록 사용자를 속입니다.

공격자가 이러한 취약성을 이용하여 Ledger 장치에서 트랜잭션에 서명하는 데 사용되는 개인 키 같은 비밀 정보를 수집할 수 있는 것은 아니며, PIN 인증을 우회하는 것도 불가능합니다. 따라서 물리적 장치의 보안은 그대로 유지됩니다.

자세한 기술적인 세부사항은 Ledger 보안 게시 보안 게시판 014 '비트코인 파생 상품 앱에서 지나치게 허용되는 경로 파생'에서 확인하실 수 있습니다.

이러한 트랜잭션을 차단하는 대신 경고를 표시하는 이유는 무엇인가요?

이런 트랜잭션이 차단되면 많은 사용자의 자금을 잠그게 되는 현상이 발생합니다. 이는 초기 비트코인 포크 구조로 인해 발생한 산업 전반적인 문제이며, 오프라인 서명 장치에서 트랜잭션을 구별할 수 있는 방법은 없습니다.

나의 Ledger 장치에 비정상적인 파생 경로 또는 비정상적인 서명 경로에 대한 경고가 표시되는데 이는 무엇을 의미하나요?

이 경고가 표시되면 현재 사용 중인 지갑 애플리케이션이 사용자가 연 코인 애플리케이션에 연결된 올바른 파생 경로를 사용하지 않고 있음을 의미합니다. 이러한 트랜잭션에 서명하기 전에 파생 경로가 올바른지 확인하시기 바랍니다.

비트코인 앱을 버전 1.4.6으로 업데이트하면 모든 비트코인 파생 앱의 취약성이 수정되며 이 버전에서 Ledger Live 사용자가 알아차릴 수 있는 시각적 변경 사항은 없습니다. 

해당 애플리케이션의 코인 유형을 준수하지 않는 비트코인 파생 상품에 대한 공개 키를 내보낼 때 파생 경로가 일반적이지 않음이라는 새로운 메시지가 표시됩니다. 마찬가지로, 거래에 서명할 때 '비정상적인 서명 경로입니다. 확실하지 않으면 거부하시기 바랍니다'라는 새로운 메시지도 표시됩니다. 

그러나, 적법한 지갑에서 공개 키 또는 서명 요청이 온다 하더라도, 일렉트럼(Electrum) 같은 타사 지갑 사용자 또한 이러한 경고 메시지를 볼 수 있습니다. 이는 이러한 지갑이 비트코인에도 유효할 수 있는 잘못된 파생 경로를 사용하기 때문입니다. 안타깝게도, Ledger 장치 상의 앱에서 이 경로의 적법성 여부를 확인할 수 있는 방법은 없으며, 당사는 개발자가 올바른 파생 경로를 이끌어 내고 서명하도록 지원하고 있습니다.

도움이 되었습니까?