비밀투표 아래에 숨어 있던 알고리즘의 실패

An algorithmic failure beneath the secret ballot

blog.citp.princeton.edu ▲ 106 댓글 93 leecoursey

요약

미국 21개 주가 쓰는 투표지 스캐너의 섞기 알고리즘을 되돌리면 누가 누구를 찍었는지 알아낼 수 있습니다.

프린스턴대 정보기술정책센터(CITP)의 박사후연구원 맥스 스프링어가 쓴 글입니다. 2022년에 공개된 도미니언(Dominion) 스캐너 취약점을 AI 코딩 에이전트로 조지아주의 2026년 5월 예비선거 공개 자료에 적용해 봤습니다.

왜 중요한가

  • 2022년에 알려지고 2023년에 수정판까지 나온 취약점이 실제 선거에서 여전히 통한다는 점을 보여 줬습니다.
  • 공개 파일 두 개와 20달러짜리 코딩 에이전트만으로 몇 시간 만에 분석을 끝내, 공격의 문턱이 크게 낮아졌습니다.
  • 비밀투표가 깨지면 고용주나 이웃, 배우자가 표를 확인할 수 있어 투표 강요와 표 매수가 가능해집니다.

핵심 내용

  • 스캐너는 투표 기록을 섞어서 공개하지만, 섞는 방식이 결정적(같은 입력에 늘 같은 결과를 내는) 알고리즘이라 투표 순서를 되살릴 수 있습니다.
  • 필자는 사전투표자 명단과 CVR(투표자 이름 없이 투표지별 선택만 담은 기록)만 썼고, 기계나 비공개 자료에는 손대지 않았습니다.
  • 살펴본 139개 카운티 중 114곳에서 현장 투표지 152만 장, 곧 해당 카운티 현장 투표의 98.9%의 순서를 되살렸습니다.
  • 공개 파일만으로 사전 현장 투표자의 약 1%를 특정 투표지와 짝지었고, 작은 허드 카운티에서는 650명 중 과반을 짝지었습니다.
  • 문제를 고친 도미니언 소프트웨어 5.17 이상이 2023년 3월 인증을 받았으니, 다음 선거 전에 설치하라고 촉구했습니다.

HN 반응

  • 손으로 세는 종이 투표가 최선이라는 의견이 많았지만, 이번 선거도 종이 투표였고 문제는 개표 기록을 공개하는 방식이라는 반론이 나왔습니다.
  • 스캐너가 개표 속도와 검증을 함께 잡는다는 선거 실무자의 말에, 영국은 밤새 손으로 세도 다음 날 결과가 나온다는 반론이 맞섰습니다.

댓글

30개 표시 · 전체 93개
  1. anilakar HN

    공개 기록의 익명성을 지키기 위해, 투표용지 스캐너는 전자 기록을 공개하기 전에 무작위로 섞는다

    그러니까 애초에 비밀 투표가 아니었다는 얘기죠.

    종이 투표용지로 아무 문제 없이 되는데 왜 굳이 투표기를 쓰고 싶어 하는지 저는 도무지 이해가 안 갑니다. 핀란드에서는 2008년에 지방선거 세 곳에서 전자투표를 시험했는데, 사용성이 끔찍하게 나빠서 결국 법원이 선거 결과를 무효로 판결했습니다.

  2. DrScientist HN

    지역 회관 같은 곳에서 자원봉사자들이 운영하는, 직접 방문해서 하는 순수 종이 투표가 단연코 최고의 투표 방식입니다.

    대규모 여론 조작에 놀라울 만큼 강하고, 유권자 강압에도 강하며, 투명하고, 하나의 행사이자 공동체 정신이라는 느낌까지 줍니다.

    전자 시스템의 문제는 시민이 표 더미를 볼 수도 없고, 개표에 참여할 수도 없고, 결국 저울을 슬그머니 기울이기에 딱 좋은 시스템이라는 점입니다.

    제 생각에는 종이 투표용지를 세는 개표기조차 잘못된 선택입니다.

  3. thadt HN

    지역 회관 같은 곳에서 자원봉사자들이 운영하는, 직접 방문해서 하는 순수 종이 투표가 최고의 투표 방식입니다.

    맞는 말씀입니다. 손으로 먼저 센 뒤에 기술을 표본 묶음 감사에 쓰는 건 유용할 수 있습니다. 하지만 지금 같은 시기에는 효율보다, 모두가 지켜보고 이해하고 자기 일처럼 여길 수 있는 과정으로 함께 모여 표를 세는 것, 바로 그 과정이 훨씬 더 필요합니다.

  4. rjmunro HN

    제 생각에는 종이 투표용지를 세는 개표기조차 잘못된 선택입니다

    기계는 투표용지를 여러 통으로 분류하는 용도일 때만 받아들일 수 있다고 봅니다. 실제 집계에 쓰는 건 안 되고요. 통은 기계가 작동하는 동안 마지막으로 들어간 용지가 그 통에 맞는지 슬쩍 보고 확인할 수 있게 설계해야 합니다. 100장마다 표지를 끼워 넣는 장치가 있으면 좋을 것 같습니다. 그러면 100장 묶음이 몇 개인지 세고, 그중 몇 개를 무작위로 뽑아 맞는지 검사하면 됩니다.

  5. guhcampos HN

    브라질에서는 이게 큰 논쟁거리입니다. 브라질 선거는 사실상 100% 전자식이고 종이는 전혀 쓰지 않습니다. 인구의 상당수가 전자투표기를 불신하는데, 일부는 우파 선전 때문이지만 일부는 자기들이 이해할 수 없는 시스템에 대한 진짜 불신 때문입니다.

    하지만 직접 방문해서 하는 종이 투표는 민주주의 공동체가 비교적 건강할 때만 통합니다. 예전에 이 동네에서는 지역을 장악한 패권 세력, 대개는 과두 지배층이고 가끔은 갱단이 투표장에 졸개를 심어 놓고 사람들에게 누구를 찍었는지 밝히라고 강요하곤 했습니다. 아니면 미리 기표해 둔 투표용지 자루를 들고 와서 통에 몽땅 쏟아붓기도 했고요. 그 시절에는 불참자나 죽은 사람들이 아주 신나게 투표를 하곤 했습니다.

    그래서 결국 완전 전자 시스템은 지난 30여 년 동안 이곳에서 꽤 잘 돌아가 왔습니다. 공격적으로 의심받기 시작한 건 2016년 무렵 소셜 미디어가 선거를 좌우하는 강자로 떠오르고 나서부터입니다.

  6. drdexebtjl HN

    저도 이 "공격적인 의심"에는 다른 속셈이 있다는 게 꽤 분명하다고 봅니다. 시스템의 투명성에 있는 구체적인 결함은 한 번도 짚지 않고, 전자투표기를 실제로 개선하자는 주장도 전혀 하지 않거든요. 비판하고 개선할 만한 손쉬운 대상이 아주 뻔히 있는데도 말입니다.

    예를 들어 소프트웨어와 하드웨어는 아주 다양한 구성의 위원회가 감사하지만, 지나치게 제도권 안에서만 이뤄져서 독립 연구자로서는 들여다볼 수가 없습니다. 공급망의 어느 부분이 감사 대상인지도 불분명하고요. 전부 감사한다고 믿고 싶고, 이 기관들이 감사하지 않은 부분을 지적하는 본연의 임무를 하고 있다고 믿지만, 일반 시민인 저는 직접 확인할 방법이 없습니다.

  7. smitty1e HN

    저는 10년 넘게 투표용지 스캐너로 선거를 지원해 온 경험이 있습니다.

    유권자 보안과 감사 가능성, 빠른 결과, 투표소 설치·철거의 용이성 사이에서 균형을 잡아야 하는데, 이 점에서 스캐너를 따라가기는 어렵습니다.

  8. CoastalCoder HN

    진지하게 묻는 건데, "빠른 보고"가 왜 그렇게 중요해서 다른 중요한 목표를 희생해야 하죠?

    (물론 합리적인 한도 안에서요.)

  9. smitty1e HN

    사람들은 즉각적인 만족을 원하니까요.

    저희는 19시에 투표를 마감하고, 수집 담당관이 데이터 사본 하나를 USB에 담아 카운티로 가져다줍니다.

    책임자는 두어 시간 뒤에 백업본을 전달하고요.

    스캔 대신 손으로 개표하면 시간과 돈이 많이 들고 오류도 많이 납니다.

    모든 요소를 고려하면 버지니아주 페어팩스 카운티가 거의 최적이라고 생각합니다.

    제가 즐겨 하는 말이 있죠. "버지니아는 연인들을 위한 곳... 선거를 사랑하는 연인들 말이죠."

  10. roenxi HN

    질문을 더 넓혀 보죠. 결과가 빨리 나오는 것과 투표소 설치·철거가 쉬운 것이 애초에 왜 설계 목표여야 합니까?

    인도와 미국의 선거는 수십억 명을 통치할 권한과, 현대 문명을 끝장낼 수 있는 무기를 쥔 아주 공격적인 군인들을 통제할 권한을 정하는 선거입니다. 이건 전체 체제를 안정적으로 유지하게 해 주는 가장 근본적인 사회 기술 중 하나입니다(유한책임회사나 법원과 어깨를 나란히 하는). 투표기 조작 때문에 그런 선거가 실패했을 때 입는 피해는 엄청납니다.

    솔직히 저는 유권자 보안에 비하면 감사 가능성조차 설계 목표로서 그렇게 중요한지 모르겠습니다. 감사가 의미를 가질 만큼 박빙인 선거라면 두 후보는 꽤 비슷한 겁니다. 현실에서는 선호에 의미 있는 격차가 있다면 선거 결과가 감사가 별 의미 없을 만큼 분명하게 나오겠죠. 있으면 좋긴 하고, 종이 투표용지에는 넣는 비용도 얼마 안 들고요.

  11. drfloyd51 HN

    미국의 지난 세 번의 대선은 아주 박빙이었고, 후보들도 아주 다르고 생각도 아주 달랐습니다. 선거가 박빙인 것과 후보들이 "비슷"한 것은 아무 상관이 없어요. 그리고 "동전 던지기"로 정해도 괜찮다는 식으로 말하는 건 터무니없습니다.

  12. smitty1e HN

    질문을 더 넓혀 보죠. 결과가 빨리 나오는 것과 투표소 설치·철거가 쉬운 것이 애초에 왜 설계 목표여야 합니까?

    드물게 치르는 아주 중요한 행사이고, 공공시설을 쓰기 때문입니다.

  13. GJim HN

    빠른 결과요?

    영국에서는 종이 투표를 합니다. 투표는 밤 10시에 마감되고, 수작업 개표가 밤새 진행돼서 보통 다음 날이면 결과를 알 수 있어요.

    얼마나 더 빨라야 하는 겁니까?

  14. smitty1e HN

    여기는 뭐든 과잉 설계하려는 욕구가 절대 억제되지 않는 미국이거든요.

  15. rjmunro HN

    다음 날도 어리석은 얘기입니다. 선거가 목요일이라면 금요일과 주말에 걸쳐 개표하고, 일요일에 새 하원의원들을 확정해서 월요일에 런던으로 가 취임 선서를 하게 하면 충분히 합리적이죠.

    미국은 선거가 11월인데 대통령은 1월이 돼서야 취임하잖아요. 개표에 2주쯤 걸려도 아무 문제 없을 겁니다.

  16. RandomLensman HN

    스캐너 없이 다른 큰 나라들은 어떻게 해내고 있죠?

  17. cyberge99 HN

    더 작은 덩어리로 나눠서요.

  18. hanibrel HN

    지역 회관 같은 곳에서 자원봉사자들이 운영하는, 직접 방문해서 하는 순수 종이 투표가 최고의 투표 방식입니다.

    그 자원봉사자들이 전부 특정 정당이나 후보의 열성 팬이라서 다른 의견을 가진 모든 사람에게 위압감을 주지 않는다면요. (물론 대놓고 그러진 않겠지만, 서로 다 아는 사이라면 그냥 그 자리에 있는 것만으로도 사람들의 마음을 움직이기에 충분합니다.)

  19. GJim HN

    영국에서는 개표 요원(지방 의회에서 자발적으로 초과 근무를 하는, 급여를 받는 자원봉사자)이 감독과 감사를 받습니다. 게다가 지역 정당 대표들과 지역 언론도 참관해 진행 과정을 감시하고요. 대개 선거관리관은 공간과 현실적인 여건이 허락하는 한 다른 사람도 누구든 와서 지켜보도록 허용합니다.

    과정이 꽤 공정하고 엄격합니다.

  20. neffy HN

    현장 투표에서도 조작은 분명 가능합니다. 하지만 조작하면 사람들이 알게 되죠. 그것도 중요한 점입니다.

  21. looperhacks HN

    그러려면 (거의) 과반의 투표소에 열성 지지자가 과반은 있어야 합니다. 그 정도면 그 정당은 부정 없이도 선거에서 이길 수 있을 겁니다.

  22. jcmontx HN

    개표 과정에는 모든 정당에서 나온 "감사관"이 있습니다. 아르헨티나가 그런 제도를 쓰는데, 선거 투명성 면에서는 꽤 잘 작동합니다. 사람들이 무엇을 선택하느냐는 또 다른 문제지만요.

  23. nonethewiser HN

    이건 가능성이 가장 낮으면서 바로잡기도 가장 쉬운 위협으로 보입니다. 게다가 이 위협은 규모를 키울 수도 없고요.

  24. RandomLensman HN

    예를 들어 사람들을 징집하면 되죠. 지역 단위에서는 유권자들이 아는 것도 더 많아서 개표 결과와 대조해 볼 수도 있고요.

  25. roenxi HN

    투표기가 끼어 있으면 그 자원봉사자들이 음모를 훨씬 쉽게 키울 수 있습니다. 매수해야 할 취약 지점이 줄어들고, 자기편이 100표 차로 이기는 그럴듯하게 수상쩍은 결과를 만들어 내기도 더 쉬우니까요.

  26. jcrawfordor HN

    그들은 종이 투표용지를 쓰고 있습니다. 여기서 확인된 문제는 집계 과정에서 나오는 것이고, 손으로 개표하더라도 비슷한 감사 기록이 있어서 그 집계 감사 장부를 비슷한 방식으로 섞는다면 똑같은 문제가 생길 수 있습니다. 감사 로그에서 투표용지를 섞는 건 시간·순서 상관관계 문제가 있다고 알려져 있기 때문입니다(투표용지는 대체로 던진 순서대로 집계되니까요). 그런데 도미니언이 허술한 무작위화 방식을 쓰는 이유, 그리고 일부(전부는 아닙니다!) 선거 관리자가 공개 기록에 집계 순번을 아예 포함시키는 이유는 결국 주의를 기울이지 않았기 때문으로 보입니다.

  27. RandomLensman HN

    어느 정도 무작위로 모인 사람들이 종이 투표용지를 손으로 세면 그게 그렇게 쉽지는 않을 수 있습니다(사람들이 공모해야 할 테니까요). 그리고 장부를 왜 개표하는 모든 사람이 볼 수 있어야 하죠? 유권자가 나타났을 때 투표 여부나 자격을 확인하는 용도 말고, 개표 단계에서 장부가 왜 필요한가요?

  28. jcrawfordor HN

    장부를 공개하는 결정은 선거 관리자가 투명성을 위해 내리는 것입니다. 그렇게 해야 할 요건은 없지만, 과정에 대한 대중의 신뢰를 높인다고 믿어집니다. 안타깝게도 이런 투명성 조치는 엄밀하게 평가된 적이 없고, 투표 비밀과의 맞교환이 유리하지 않을 수도 있습니다. 저에게는 이 연구의 진짜 의의가 바로 그 점이지, 기계 사용에 관한 무엇이 아닙니다.

    일부 주는 정반대로 합니다. 예를 들어 선거 후 투표용지를 봉인하고 법원 명령이 있어야만 열람하게 합니다. 이는 비밀 보장에는 분명한 이점이 있지만, 선거 결과를 의심하는 사람이나 단체가 실제 투표용지를 검토할 수 없다는 말을 들으면 반발이 많아집니다(이런 명령을 정당화할 만한 기준을 충족하지 못하면 안 되는데, 이 규칙들은 흔히 돈으로 표를 사는 행위나 유권자 협박을 막으려고 만들어진 것이라 기준이 꽤 높을 수 있습니다).

    이런 장부가 반드시 있어야 하는 것도 아니지만, 장부가 있으면 오류를 찾아내려고 집계 과정을 감사하기가 근본적으로 훨씬 쉬워집니다. 미국 선거 관리자들은 개표에서 매우 높은 정확도를 요구하기 때문에(다른 많은 나라의 일반적인 수준보다 높습니다), 수작업 개표에서는 투표용지를 여러 번 집계하는 게 흔하고, 기계 집계에서는 대개 별도 기계로 재집계하거나 표본을 손으로 세는 식의 자동 재검표나 위험 제한 감사(risk-limiting audit)가 이루어집니다. 투표용지를 이전에 집계한 때와 대응시킬 수 있으면 이 모든 과정이 훨씬 쉬워지고, 감사에서 발견된 오류를 잘못 센 특정 투표용지까지 추적해 바로잡을 수 있습니다. 그렇지 않으면 한 묶음을 두 번 세서 서로 다른 결과가 나올 때(수작업 개표에서는 거의 확실히 그렇습니다), 만족스러운 수렴이 될 때까지 묶음 전체를 계속 다시 세야 합니다. 이를 하는 방법은 여러 가지입니다. 어떤 관할구는 투표용지를 인쇄할 때 일련번호를 붙여서 그 번호로 집계를 추적합니다. 다른 관할구는 이런 비밀 보장상의 위험을 피하려고 최초 집계 이후에야 일련번호를 붙입니다(예를 들어 표본 감사용으로 뽑은 투표용지에 스티커로 붙이거나 손으로 적습니다). 일부 집계 기계는 작동하면서 일련번호를 추가할 수 있습니다. 이 모두는 신뢰성과 비밀 보장 측면에서 고려할 점이 서로 다르지만, 안타깝게도 이런 문제를 연구하고 그 결과를 적용하는 데에는 자금도 정치적 관심도 거의 없습니다. 그 결과 모든 것이 주마다 천차만별이고, 일부 주는 중대한 결함이 있다고 알려진 절차를 계속 쓰고 있습니다. 가장 유명한 곳이 감사가 불가능한 DRE 기계를 계속 쓰는 루이지애나입니다(그렇게 하는 유일한 주입니다).

  29. yorwba HN

    이번 경우에는 장부가 인터넷에 공개돼 있었으니, 그걸 얻기 위해 공모가 필요하지 않았습니다. 여기서 문제는 개표를 어떻게 했느냐가 아니라, 개표 과정에 대한 기록 관리와 투명성의 수준에 더 가깝습니다.

  30. Maken HN

    거기에 항상 온라인 상태인 투표기까지 더하면, 역대 가장 조작하기 쉬운 선거가 됩니다.

Hacker News에서 보기 ↗