미국 선거에서 사용되는 Voatz ‘블록 체인’앱에는 수많은 보안 문제가 있다고 보고서에 따르면

매사추세츠에 본사를 둔 블록 체인 기반 모바일 투표 앱을 선전하는 Voatz는 특히 데이터 보안과 관련하여 투명성 부족에 대한 대중의 비판을 받았습니다. 그리고 선거 조작의 위협으로 인해 위험은 그 어느 때보 다 높습니다..
Voatz는 웨스트 버지니아에서 선거에 사용되었습니다. 오리건 주 잭슨 카운티; 오리건 주 우마 틸라 카운티; 유타 주 유타 카운티의 지방 선거; 뿐만 아니라 결선 선거 및 콜로라도 덴버 지방 자치 선거에서.
전문가들이 요청한 평판이 좋은 제 3 자 회사의 공공 보안 감사는 다음과 같습니다. 마침내 여기. 2023 년 12 월, Voatz의 모바일 투표 파일럿 대부분에 자금을 지원 한 Voatz와 Tusk Philanthropies는 보안 회사 Trail of Bits와 협력하여 포괄적 인 화이트 박스 감사를 실시했습니다..
Voatz는 실시간 테스트 악성 공격 벡터에 대한 백엔드를 제공하지 못했지만 Trail of Bits는 코어 서버, Android 클라이언트, iOS 클라이언트 및 관리자 웹 인터페이스를 포함한 모든 소스 코드에 액세스 할 수있었습니다..
감사 보고서는 포괄적이며 122 페이지의 보안 검토 및 위협 모델링 고려 사항에 대한 78 페이지의 문서를 포함합니다. 다음은 주요 부품에 대한 간략한 요약입니다..
Voatz는 블록 체인이 필요하지 않습니다.
블록 체인 투표의 매력은 유권자들이 누구를 신뢰하지 않아도되는 분산 형 시스템이라는 것입니다. ㅇㅇ ㄴㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ 그러나 Voatz가 사용하는 블록 체인은 실제로 모바일 클라이언트로 확장되지 않습니다. 대신 Voatz는 감사 로그로 사용되는 Hyperledger Fabric 블록 체인에 투표를 적용했습니다. 감사 로그가있는 데이터베이스를 사용하여 쉽게 수행 할 수 있습니다..
Voatz 대변인은 Hyperledger가 “총 투표 보안, 선거 후 감사 활성화, 디지털 투표지가 생태계를 통과 할 때 디지털 투표 용지에 대한 보관 체인 제공과 같은 여러 보안 기능을 제공한다”고 주장했지만 어떻게 그렇게 할 것인지는 불분명합니다. 이 기능은 보고서에서 분명하지 않습니다..
본 코드 Trail of Bits는 커스텀 체인 코드 나 스마트 계약을 사용하지 않았습니다. 실제로 보고서에는 다음과 같은 내용이 있습니다.
“모든 데이터 검증 및 비즈니스 로직은 Voatz Core Server의 Scala 코드베이스에서 오프 체인으로 실행됩니다. 몇 가지 고위험 결과는 데이터 유효성 검사 문제와 핵심 서버의 혼란스러운 대리인의 결과로 한 유권자가 블록 체인을 만지기 전에 다른 유권자로 가장 할 수있었습니다.”
유권자는 블록 체인에 직접 연결하지 않기 때문에 투표가 자신의 의도를 반영하는지 독립적으로 확인할 수 없습니다. 그러나 Voatz의 백엔드 서버에 대한 관리 액세스 권한이있는 사람은 누구나 “투표를 익명화하고, 투표를 거부하고, 투표를 변경하고, 감사 추적을 무효화”할 수 있습니다.
보고서는 Voatz 시스템이 투표 용지가 블록 체인에 기록 된 시간을 기준으로 유권자를 익명화하는 것에 대한 완화책이 없다는 것을 발견했습니다. 성명에서 Voatz의 대변인은 네트워크 수준 실험에 사용되는 에지 인프라에서 실행되는 실험적 믹스 넷이 있지만 소스 코드와 Voatz의 FAQ가 없다고 말했습니다. 주장 “제출되면 모든 정보는 익명화되고 ‘믹스 넷’을 통해 라우팅되고 블록 체인에 게시됩니다.” 그러나 이것은 전화 MIT 보고서에서 문제가되고 있습니다. 이제 다시이 감사에서.
감사는 “Trail of Bits에 제공된 코드에 믹스 넷이없는 것으로 보이며 언급되지도 않았습니다.”라고 말합니다. “코어 서버는 투표지를 포함한 모든 트래픽을 익명화 할 수있는 기능을 가지고 있습니다.”
Trail of Bits는 MIT의 발견을 확인했습니다 — Voatz는 이에 대해 이의를 제기했습니다.
2 월 13 일, MIT 연구원들은 앞서 언급 한 보고서“The Ballot Is Busted Before the Blockchain : A Security Analysis of Voatz, the First Internet Voting Application used in U.S. Federal Elections”를 발표했습니다. 응답 같은 날 블로그 게시물을 통해 “결함이있는 보고서”를 반박하여 MIT 연구원들은 게시하다 설명이있는 FAQ.
Voatz의 반박은 Trail of Bits가 MIT에 대해 설명 된 취약점이 존재 함을 확인하고 미국 국토 안보부로부터 문제에 대한 익명 요약 보고서를받은 지 3 일 후에 작성된 것으로 밝혀졌습니다. 이는 Voatz가 보고서를 공개적으로 할인하기 전에 보고서가 정확하다는 것을 알고 있음을 나타냅니다..
감사는 또한 MIT 연구원의 보고서에 대한 Voatz의 이의 제기 일부에 대해 이의를 제기합니다. Voatz는 분석 한 Android 앱이 27 개 이전 버전이라고 말했지만 Trail of Bits는 주장에 실질적으로 영향을 미칠 MIT 연구원이 사용한 앱의 2023 년 9 월 버전 사이에 “코드베이스의 보안 관련 변경 사항을 식별하지 않았다”고 썼습니다..
Voatz는 또한 모의 서버를 개발하는 연구원들에게 문제를 제기하여 “전체 시스템을 손상시킬 수있는 능력에 대한 모든 주장을 무효화하는” “결함이있는 접근 방식”이라고 불렀습니다. Voatz는이 관행이“연구자들을 대신하여 어느 정도의 신뢰도를 부정한다”고 썼습니다.
그러나 Trail of Bits는“프로덕션 서버에 연결하여 법적 조치를 취할 수있는 경우 모의 서버를 개발하는 것은 취약성 연구의 표준 관행입니다. 또한 소프트웨어 테스트의 표준 관행입니다.” 또한 보고서는 결과가 Android 클라이언트에 중점을 두었지만 Voatz 서버에 대한 심층적 인 지식에 의존하지 않았다고 지적했습니다..
Voatz 대변인은 Voatz가 “MIT 연구원의 방법론과 접근 방식에 반대하며” “보고서에 몇 가지 오류가 있습니다”라고 말했습니다.
“우리의 방법론이 틀렸다면 이론은 우리가 잘못된 결론을 내릴 것이라는 것입니다. 그러나 우리가 발견 한 모든 취약점은 자체 보안 검토를 통해 확인되었습니다. 또한 그들 중 어느 것도 이의를 제기하지 않는 것 같습니다.”라고 보고서를 작성한 MIT 연구원 중 한 명인 Michael Specter는 말했습니다..
이전 감사는 포괄적이지 않았습니다.
Voatz가 여러 보안 감사를 선전 했음에도 불구하고 코어 서버와 백엔드가 분석 된 화이트 박스 평가는 이번이 처음입니다. 모든 이전 감사가 공개 된 것은 아니지만 Trail of Bits는 모든 감사를 요약했습니다..
한 가지 이전 보안 검토는 실시 기술 보안 전문가를 고용하지 않는 독립적 인 민간 비영리 단체 인 NCC가 2023 년 8 월에 작성했습니다. 감사는 보안보다는 유용성에 중점을 두었습니다. 2023 년 7 월, 익명의 공급 업체가 Voatz의 모바일 클라이언트에 대한 블랙 박스 감사를 실시했습니다..
2023 년 10 월 현재 ShiftState로 알려진 TLDR Security는 시스템 아키텍처, 사용자 및 데이터 워크 플로, 위협 완화 계획을 포함하는 광범위한 보안 위생 검토를 수행했지만 시스템이나 실제 애플리케이션에서 버그를 찾지 않았습니다. 그런 다음 ShiftState는 2023 년 12 월에 또 다른 감사를 수행하여 시스템이 의도 한대로 작동하고 모범 사례를 따랐는지 확인했습니다..
ShiftState CEO이지만 안드레 맥그리거 이전에 말했다 Voatz는 “매우 잘했다”고, ShiftState의 감사 포인트에 대한 Trail of Bits의 검토는 제한된 로깅, 관리되지 않는 서버 및 파일럿 중에 활성화되지 않은 Zimperium 모바일 맬웨어 방지 솔루션 문제를 지적합니다..
모바일 장치에 대한 Voatz의 모든 변조 방지 보호 기능은 Zimperium을 기반으로하므로, Voatz는 민감한 정보에 액세스 할 수있는 악성 애플리케이션에 대한 추가 보호 기능이 없기 때문에 애플리케이션이 사소하게 변조되었을 수 있음을 의미합니다..
Voatz 대변인은 Zimperium이 2023 년까지 완전히 통합되지 않았으며 일부 연구자들은 테스트 목적으로 비활성화를 요청하며 사례별로 수행한다고 말했습니다. 보고서는 “Trail of Bits는 Zimperium의 독점적 인 변조 방지 검사가 Android 보안 제공 업체를 명시 적으로 확인하는지 독립적으로 확인할 수 없었습니다.”라고 읽으며 Zimperium이 의도적이든 아니든 비활성화 된 경우 추가 검사를 권장합니다..
2023 년 10 월에 실시 된 DHS의 최종 감사에서는 해킹의 증거가 있는지 또는 발생 여부를 감지 할 수 있는지 여부에 관계없이 애플리케이션이 아닌 클라우드 리소스 만 살펴 보았습니다..
Voatz가 공개하지 않고 선전 한 이전 보안 평가의 한계를 넘어서 (예 : 감사에 서버 및 백엔드 취약점이 포함되지 않았다는 사실) Trail of Bits의 보고서에 따르면 수행 된 다른 보안 평가의 기록은 기술 문서였습니다. . 이것은 선출 된 공무원이 읽을 자격이없는 문서를 기반으로 결정을 내리고 있는지 의문을 불러 일으 킵니다..
Voatz는 격렬하게 혼란스러워 보입니다.
Trail of Bits의 평가는 “코드 및 자산 수신 지연, 시스템의 예상치 못한 복잡성 및 크기, 관련보고 노력의 조합으로 인해”처음에 예정된 것보다 일주일 내내 지속되었습니다.
Trail of Bits는 코드의 작업 사본을받지 못했기 때문에 회사가 라이브 테스트를 할 수 없었습니다. 즉, 연구원은 거의 전적으로 정적 테스트로 제한되어 엄청난 양의 코드를 읽어야했습니다. 보고서에 따르면 Voatz는 코드가 너무 많아 “최소한의 적용 범위를 달성하기 위해 각 엔지니어가 하루 평균 35 개의 파일에 걸쳐 거의 3,000 개의 순수한 코드 라인을 분석해야했습니다.”
Trail of Bits는 평가가 종료되기 하루 전에 라이브 테스트를 위해 백엔드에 대한 액세스 권한을 받았지만 Voatz 대변인은 동시 감사, 감사 및 병렬 활동 지연, 제한된 양의 테스트 플랫폼 때문이라고 말했습니다. 보안 회사는 동시 감사에 대한 서비스를 거부하는 방식으로 인스턴스를 공격하거나 변경하지 않도록 요청 받았습니다..
Voatz는 신인 실수를 저질렀으며 수정에 대해 진지하지 않은 것 같습니다.
Trail of Bits는 투표를 관찰, 변조 또는 익명화하거나 선거의 무결성을 의심 할 수있는 몇 가지 버그를 설명했습니다..
투표자가 투표 영수증이 유효한지 또는 투표가 올바르게 집계되었는지 독립적으로 확인할 수 없다는 사실 외에도, Voatz 직원은 이론적으로 사용자에게 두 번 투표하도록 강요하고, 두 번 투표하거나 백엔드에 대한 지식없이 투표를 복제 할 수 있습니다. . 또한 Voatz는 8 자리 PIN을 사용하여 모든 로컬 데이터를 암호화합니다.이 데이터는 15 분 이내에 해독 될 수 있습니다..
또한이 보고서는 앱에 무인 Android 기기가 손상되는 것을 방지 할 수있는 보안 제어 기능이 없다는 사실이 밝혀졌습니다. 민감한 API 자격 증명이 git 리포지토리에 저장되었으므로 코드에 액세스 할 수있는 회사의 모든 사람 (아마도 하청 업체까지)이 리포지토리에 노출 된 비밀 키를 사용하거나 남용 할 수 있습니다..
관리자 액세스 권한이있는 Voatz 직원은 특정 유권자의 투표 용지를 조회 할 수 있습니다. Voatz는 일반적으로 권장되지 않는 임시 암호화 핸드 셰이크 프로토콜을 사용합니다. 수제 암호화는 버그가 발생하기 쉬우 며 연구원이 연구하고 실제 환경에서 테스트 한 암호화 체계를 사용하는 것이 가장 좋습니다. SSL (Secure Sockets Layer)이 완전히 안전한 방식으로 구성되지 않았으며 클라이언트가 TLS (Transport Layer Security) 인증서가 해지 된시기를 식별하는 데 도움이되는 핵심 기능이 누락되었습니다..
예를 들어 Voatz는 Stack Overflow 답변에서 키와 초기화 벡터를 잘라내어 붙여 넣었습니다. 대학 수준의 컴퓨터 보안 과정에서도 코드 잘라 내기 및 붙여 넣기는 일반적으로 권장되지 않습니다. Stack Overflow의 정보 품질이 다양하고 좋은 코드조차도 특정 환경에서 작동하지 않을 수 있기 때문입니다. 그러나 키와 IV를 잘라내어 붙여 넣는 것은 데이터를 암호화하는 데 사용되는 키와 IV가 공개되어서는 안되지만 인터넷에있는 것과 동일하다는 것을 의미하기 때문에 더 나쁩니다. Voatz 대변인은 이메일에서 이것이 인앱 데모를위한 테스트 코드이며 “어떤 경우 나 거래에서도 실제로 사용되지 않았습니다”라고 말했습니다.
요약해도 Trail of Bits의 권장 사항은 8 페이지입니다. Voatz는 8 개의 보안 위험을 해결하고 부분적으로 나머지 6 개를 해결했으며 34 개를 고정하지 않은 것으로 보입니다. 일반적으로 기업은 높고 중간 정도의 위험을 수정하는 방법에 대한 포괄적 인 계획을 가지고 있습니다. 실제로 Voatz의 대변인은 “우리는 각 발견을 진지하게 받아들이고, 실제적인 관점에서 각 발견을 분석하고, 위험 가능성을 할당 한 다음 진행 과정을 결정합니다”라고 이메일에서 말했습니다..
“우리가 수행하는 소규모 파일럿에 부합하는 실제 시나리오에서 버그 나 문제가 실질적으로 악용 될 수있는 경우, 우리는 즉시 문제를 해결합니다. 그렇지 않으면 우선 순위에 따라 정상적인 개발 파이프 라인에서 발생합니다.”
놀랍게도 Voatz는 고용 한 회사에서 제안한 수정 사항을 수정하는 대신 기본적으로 유권자를 대신하여 위험을 수용하면서 이러한 버그 중 많은 부분의 “위험을 수용”하기로 결정했습니다..
Tusk Philanthropies, Voatz 및 Trail of Bits는 Cointelegraph를 갈라진 블로그 게시물 감사에 대해, Trail of Bits는 보고서 자체를 참조했습니다..
이 기사는 Voatz 대변인의 의견으로 업데이트되었습니다..
관련 : Safe Harbor 또는 Thown to the Sharks by Voatz?

Facebook
Pinterest