본문 바로가기
국가기간뉴스 통신사 연합뉴스
국가기간뉴스 통신사 연합뉴스
댓글62댓글페이지로 이동

[팩트체크] 민경욱이 공개한 '프로그램 코드'로 개표조작 가능할까?

송고시간2020-04-27 18:21

댓글62댓글페이지로 이동

'비주얼베이직'으로 작성된 소위 '조작코드' 게재…"2번에 투표시 1번 득표로"

현직프로그래머 "썼다면 에러 났을 것"…선관위 "총선엔 자바 프로그램 사용"

재검표 추진 의사 밝히는 미래통합당 민경욱 의원
재검표 추진 의사 밝히는 미래통합당 민경욱 의원

[연합뉴스 자료사진] 인천범시민단체연합 회원과 미래통합당 민경욱 의원이 22일 오전 서울 여의도 국회 소통관에서 "4.15총선에서 부정선거 사례로 의심되는 정황이 있어 증거보전 신청과 재검표 등을 추진하겠다"고 밝히고 있다. 2020.4.22 jeong@yna.co.kr

(서울=연합뉴스) 임순현 기자 = 제21대 국회의원선거(총선)에서 낙선한 민경욱 미래통합당 의원이 자신의 SNS에 '개표조작의 개념도'라며 게재한 '개표 프로그램 코드'가 온라인상에서 화제다.

민 의원은 26일 자신의 페이스북을 통해 "이제 가능한 개표조작 프로그램의 간단한 코드까지 나왔다"며 정상적인 개표 프로그램 코드와 조작된 개표 프로그램 코드를 비교한 그림을 올렸다.

민 의원이 개표조작이 가능한 프로그램이라고 언급하며 게재한 프로그램 코드는 마이크로소프트사가 1991년 발표한 프로그래밍 언어인 '비주얼 베이직'(visual basic)으로 작성된 것이다. 비주얼 베이직은 인터페이스가 매우 쉽고 간편해 비전문가도 쉽게 활용할 수 있도록 만든 프로그래밍 언어로 알려져 있다.

민경욱 의원이 페북에 게재한 '프로그램 코드'
민경욱 의원이 페북에 게재한 '프로그램 코드'

[민경욱 의원 페이스북 캡처=연합뉴스]

게재된 프로그램 코드의 의미는 복잡하지 않다. 정상적인 개표 프로그램에서는 '1'이 입력되면 a에 1을 더하고, '2'가 입력되면 b에 1을 더한다는 내용이다. '1번'에 투표하면 a후보의 득표수에 1을 더하고, '2번'에 투표하면 b후보의 득표수에 1을 더한다는 의미다.

반면 조작된 개표 프로그램은 z라는 변수를 전제한 뒤 '2'가 입력되면 b가 아닌 z에 1을 더하도록 한다. 이어 Z가 1이나 2가 된 경우엔 b에 1을 더하고, z가 3인 경우엔 a에 1을 더한 뒤 z를 0으로 초기화하도록 한다. 즉 '2'를 입력하면 3차례 중 2차례는 b에, 한차례는 a에 1을 더하도록 한다. 2번을 찍으면 세 번 중 한번은 a후보의 득표수에 부정하게 산입된다는 것이다.

민 의원의 의혹제기를 검증하기 앞서 우선 개표시 사용되는 컴퓨터 프로그램의 역할에 대해 짚고 넘어갈 필요가 있다.

프로그램이 내장된 개표기는 각 후보자가 득표한 투표용지를 분류하는 것에 불과하기에설사 민 의원이 게재한 프로그램 코드를 실제로 사용해 득표 결과를 조작했더라도 특정 후보를 찍은 투표용지는 남아있게 된다. 프로그램 조작만으로 '완전범죄'를 꾀할 수 없게 돼 있는 것이다.

이경전 경희대 빅데이터연구센터 소장은 27일 연합뉴스와 통화에서 "우리 선거 시스템에서 개표기는 득표수를 계산해주는 단순한 개수기에 불과하다"며 "프로그램을 조작했다고 실제 투표용지까지 바뀌는 것이 아니기 때문에 프로그램 코드를 통한 개표조작은 실현 가능성이 작다"고 지적했다.

민경욱 의원이 26일 페북에 게재한 글
민경욱 의원이 26일 페북에 게재한 글

[민경욱 의원 페이스북 캡처=연합뉴스]

그러면 개표기의 작동 원리 변경을 통해 결과를 조작하는 것이 가능은 할까?

투표 결과 조작이 가능하기 위해서는 프로그램 조작 정황이 특별한 전문지식을 갖춘 자가 아니라면 발견하기 어려울 만큼 정밀해야 한다는게 전문가의 지적이다.

김강일 건국대 컴퓨터공학과 교수는 연합뉴스와 통화에서 "비주얼 베이직은 30여년 전에 개발된 프로그래밍 언어로 현재는 거의 활용되지 않는다"며 "단언할 수는 없지만 단순한 프로그램에서나 사용하는 언어일 뿐 복잡한 프로그램에서는 사용되지 않는다"고 말했다.

그리고 무엇보다 민 의원이 게재한 프로그램 코드는 실제로는 작동될 수 없다는 지적이 나온다.

익명을 요구한 현직 프로그래머인 A씨는 연합뉴스와 통화에서 "그냥 말도 안 되는 프로그램 코드"라며 "(민 의원이 게재한 프로그램을 가동할 경우) 개표조작 코드는 3개의 값만 한 차례 출력하고 작동을 중단할 것이며, 정상 프로그램 코드도 결과 출력 단계에서 에러가 날 수 밖에 없다"고 말했다.

만약 정상적으로 작성돼 실제로 작동하는 프로그램 코드가 존재했다면 개표조작이 가능했을까?

일단 민 의원이 게재한 것과 같은 비주얼 베이직 기반 프로그램 코드로는 개표 조작 자체가 불가능하다. 총선 개표과정을 총괄하는 중앙선거관리위원회가 다른 프로그램을 개표에 사용하기 때문이다. 선관위 관계자는 연합뉴스와 통화에서 "21대 총선 개표에는 '자바'라는 고급 프로그램 코드가 사용됐다"며 "비주얼 베이직 프로그램의 코드로는 조작이 불가능하다"고 설명했다.

민경욱 의원은 연합뉴스와 통화에서 해당 프로그램 코드를 SNS에 게재한 이유에 대해 "여러 개표조작 가설 중 하나로, 프로그램 코드를 통한 조작이 가능하다는 것을 보여주기 위해 게재한 것"이라며 "실제로 개표조작에 사용된 프로그램 코드라는 취지는 아니다"고 말했다.

<<연합뉴스 팩트체크팀은 팩트체크 소재에 대한 독자들의 제안을 받고 있습니다. 이메일(hyun@yna.co.kr)로 제안해 주시면 됩니다.>>

개표기 살펴보는 선관위 관계자들
개표기 살펴보는 선관위 관계자들

[연합뉴스 자료사진]

hyun@yna.co.kr

핫뉴스

전체보기

포토

전체보기

댓글 많은 뉴스

포토무비

전체보기