當前位置:
首頁 > 新聞 > 擔心投票系統被黑,詳解荷蘭政府為何決定在大選中使用手工計票

擔心投票系統被黑,詳解荷蘭政府為何決定在大選中使用手工計票



在3月的荷蘭大選即將到來之際,安全專家

Sijmen Ruwhof

通過Youtube上有關荷蘭大選使用的計票軟體

介紹視頻

,對荷蘭大選中使用的投票計票軟體OSV programma進行了全面的安全分析和風險識別。

最終,荷蘭國家選舉委員會通過Sijmen Ruwhof發表的分析文章,確認這套軟體系統存在安全隱患,並對外宣布

,在接下來的總統大選中,將不會使用任何電子投票計票系統,改用原始的手工計票。以下為Sijmen Ruwhof對OSV programma計票軟體的詳細安全分析。


正如大家所聽聞到的那樣,去年的美國總統大選,捲入了大多黑客暗影,從始至終的一系列網路攻擊對政治進程造成的影響,意義深遠。這或許將成為載入史冊的經典案例,也將開啟網路攻擊的新篇章。


OSV programma

的分析原由


1月中旬,荷蘭RTL電視台記者曾聯繫我,想就快要開始的荷蘭大選是否會面臨黑客攻擊作一些採訪。而據他們透露,當前荷蘭選舉計票系統軟體使用了不安全的SHA1機制,甚至還存在弱口令。對此,我表示驚訝和感慨,我們竟然還敢使用電腦計票系統?


荷蘭官方早在2009年就禁止使用電子投票和計票系統


2009年6月,出於網路安全原因,荷蘭政府宣布禁用電子投票系統進行選舉,之後改用規定的紅色鉛筆和白紙投票。RTL電視台記者告訴我,雖然選民使用鉛筆和紙質選票手工投票,但在後台計票過程中,為了方便高效,負責選舉的官員卻把選票輸入電腦程序進行計票。


2009年後電子計票系統一直被在選舉後台使用


該電腦計票程序運行後會按不同區域生成合計的投票計數,並存儲在一個USB載體中,通過向上級區域層層匯總,最終形成的電子數據將交由中央選舉委員會進行合計。


使用電子計票系統面臨的嚴重風險


如果沒人質疑最終選票的電子合計結果,也將不會對紙質選票進行複審核實,如果沒有紙質選票複審過程,也就意味著,這種紙筆方式投票對電子投票系統本身而言就是一種安全風險(風險1:嚴重),因為,紙質選票產生的結果最後一樣是通過電子計票程序完成,沒有任何人工核實。對於這個事實,我既驚訝又害怕。


其實在這些關鍵應用方面,任何有點IT技能的人都清楚,電腦程序並不總是可信。因為無論採取什麼加固措施,總會存在被黑風險,更別提面對的是那些經驗老道技術高明的國家支持黑客,直接點說,在他們面前,我們都將束手無策。


選舉委員會對當前的網路威脅毫無意識


現在的情況是,荷蘭國家選舉委員會對當前的網路威脅形勢毫無認知,竟然還認為他們使用的選舉計票軟體非常可靠,不存在任何安全風險。


我對這套2009年以來一直在用的,決定著國家元首的計票軟體系統非常好奇,因此,我決定仔細研究研究。



對OSV programma的詳細安全分析和風險識別



關於該計票軟體,荷蘭國家選舉委員會製作了幾個操作演示視頻投放到Youtube上。在視頻中,選舉委員會講師講解如何用該軟體進行選舉計票:




視頻泄露了其內部網路共享信息


視頻剛開始很無聊,但在01:19之後就變得有點意思了,該講師無意間打開了Windows的資源管理器,從畫面上可以看到,系統中存在8個內部網路共享位置,其中一個清楚地標記為「阿姆斯特丹」(Amsterdam)。內部網路設置對於投票系統來說,算是比較保密的技術信息了,可惜,該講師卻通過這種方式無意間泄露了!( 風險2:低)



計票軟體使用了不安全的網頁服務


在視頻介紹中,我注意到在計票軟體的初始部署時,需要在使用者電腦中安裝一個web服務模塊,之後請求該web伺服器並打開一個瀏覽器頁面才能正常進行計票操作。從安全形度來說,桌面應用程序使用基於瀏覽器的服務,可能會存在以下安全風險(風險3:中):



為黑客增加攻擊面


由於web服務的存在,所以攻擊者沒有必要通過特定的TCP埠連接計票軟體


如果主機防火牆策略設置不當,網路內其它主機可以無限制訪問到web服務


如果網路內路由器開啟了UPnP功能,web服務可能會直接暴露在互聯網上


計票軟體可以安裝在任何電腦上


視頻介紹,該計票軟體可以安裝到任何電腦中,而荷蘭國家選舉委員會竟然未對軟體的安裝環境作出任何安全性限制(風險4:高),這將會面臨以下風險:



一些缺乏更新或未安裝殺毒軟體的老舊電腦同樣適配


未對個人攜帶電腦作出安裝限制


計票軟體支持存在很多漏洞隱患的XP系統,另外,未對一些不安全的瀏覽器版本作出限制


對於一些關鍵系統應用,為了從理論上保證絕對的安全,應該禁用互聯網連接,或採用其它方式實現某種意義上的物理隔絕。雖然該計票軟體安裝文檔上註明,安裝系統應該禁用WIFI,但卻未對互聯網網路連接作出限制,這種疏忽讓我吃驚。


計票軟體使用了不安全的HTTP連接


在對本地本地web服務的訪問中,計票軟體使用了不安全的HTTP瀏覽器連接(風險5:中),雖然這種本地瀏覽器流量不會形成直接威脅,但也存在其它安全風險:



如果投票系統或區域內置其它外連鏈接,將會泄露HTTP的referrer頭信息


在瀏覽器和web服務之間形成了攻擊面,攻擊者可能會在電腦中安裝惡意軟體,對計票軟體的發起流量進行監聽


如果安裝系統內使用了其它HTTPS連接,就又會激活瀏覽器啟用其它安全性設置,如網頁緩存設置等,對計票軟體的正常使用造成干擾


所以,對於這類關鍵系統應用,即使使用了本地的HTTP服務,最好請使用HTTPS方式。


計票軟體未針對哈希校驗和密碼口令的使用作出強制說明


在視頻介紹的02:41時刻,可以看到以下畫面



視頻里,雖然軟體介紹者的操作速度很快,但在其中一個瞬間,一幅重要畫面閃現而出,計票軟體需要用戶手工輸入一串40個字元的HASH值判斷投票結果是否被篡改,但是,介紹者卻對此項重要安全設置隻字未提,完全忽視(風險6:高);更糟糕的是,計票軟體卻沒有強制用戶輸入校驗HASH碼( 風險7:高);而且,讓人覺得意外的是,這些HASH碼使用的竟是不安全的SHA1加密方式(風險8:高),而SHA1隻適用於一些小型文件和服務的校驗。


哈希值文件和選票數據文檔生成在同一文件夾內


在視頻的02:52時刻,可以看到以下畫面:




畫面中,生成的XML文檔內包含了選票計數,而為了保證每個XML文檔的完整性,將利用不同SHA1哈希值對每個XML文檔進行校驗,如果XML文檔被更改,將會產生不一樣的SHA1值。而生成的PDF文檔內就包含了對XML文檔進行校驗的SHA1哈希值。


PDF和XML文檔的創建過程


當計票軟體生成包含選票計數的XML文檔時,同時也會創建一個對應的,包含由計票軟體生成SHA1哈希校驗值的PDF文檔,該文檔為列印之用,而哈希值理論上不會被黑客遠程更改。


計票軟體生成的這些XML和PDF文檔隨後將存儲到一個USB載體中,這個USB載體將被通過物理轉移方式遞交到上一級選區,上一級選區通過匯總所轄管地區的所有XML文檔,並把其輸入到計票軟體中進行電腦程序計票。


未加密保護的XML文檔


計票軟體生成的,包含選票計數的XML文檔沒有任何加密保護設置,在USB載體的物理轉移中,任何人都可以對其內容進行篡改(風險9:高)


生成的PDF文檔在列印之後應該刪除


包含哈希校驗值的PDF文檔在列印之後,應該立即刪除,然而視頻講解者卻沒意識到這個問題,坦然地把其和XML文檔保存在同一個文件夾中(風險10:中),計票軟體系統也未就此發出任何強制刪除PDF文檔的安全提示(風險11:中)。列印PDF文檔是可選步驟,當然,有了電子數據誰還會想著去處理紙質文檔呢?


另外,針對SHA1哈希值的校驗,視頻講解者展示了如何在PDF閱讀器中對SHA1值進行驗證:




我猜想該計票軟體設計者的初衷是希望用戶能列印PDF文檔,用紙質方式進行文檔的完整性校驗,而視頻講解者並沒有真正了解這種意圖,同時,軟體設計者也沒有認真檢查過軟體的生成文檔(風險12:中)。


而且,由於存儲XML文檔的USB載體無任何加密措施保護,在把數據轉移到另外一台計票電腦的過程中,可能會產生安全風險(風險13:高)。


事實上,計票系統開啟USB接入方式,本來就是一種非常危險的安全短板,因為不可避免會被插入一些未知的不安全的USB載體,使計票電腦系統面臨被黑風險。主要隱患如下:



攻擊者使用程序自啟動技術,在USB載體上放置可以自動運行的惡意軟體


攻擊者使用類似BadUSB形式的攻擊


即使設置了很好的加密或簽名認證機制,利用USB的惡意接入,一樣可以繞過這些安全設置(風險14:高),而且針對數百公里外的上一級選區數據文檔轉移,USB載體方式很容易出現安全問題。


視頻講解者使用了短密碼並開啟了密碼自動保存功能


在03:07時刻,計票軟體的登錄界面顯示以下畫面:



講解者使用了名為"OSV"的用戶名,點擊TAB鍵後,發現系統已經自動保存了對應的登錄密碼(風險點15:中),但講解者又重新手動輸入了長度為3位數的密碼進行登錄,有點搞笑,我猜想她的密碼可能也是"OSV"。


顯然,開啟密碼保存設置後,計票軟體可能存在他人未授權訪問的情況(風險17:低),同時,計票軟體允許設置弱口令的做法也極不安全(風險18:中)。


安全標記Sessionid顯示在地址欄


登錄進入後,在管理界面瀏覽器地址欄可以看到如下圖所示的鏈接信息:




仔細觀察可以發現session標識jsessionid為可見狀態(風險19:低),為了安全起見,應該對cookie機制進行安全設置,如httponly、 secure、sameSite等以保護session不被劫持。主要存在的隱患如下:



黑客可能利用該標識繞過登錄驗證


在不安全的HTTP連接下,該標識符可能被泄露到其它網站


該標識還會被自動保存在瀏覽器歷史記錄中


使用了系統高許可權運行軟體


在03:44時刻可以看到以下畫面:



計票軟體把用戶文件寫入到其安裝路徑:C:Program Files (x86)OSV,一般來說,只有具備系統高許可權的用戶才能操作該路徑文件,而給一些日常性任務賦予高許可權本來說是一種安全風險(風險20:中)。而該軟體編寫者似乎對用戶隔離和安全加固了解不夠,所以才會把用戶文件默認存儲到系統限制區域C:/Program Files/ 下( 風險21:中)。


惡意軟體可以輕易篡改選票


視頻在04:08時,畫面中顯示了包含投票計數生成的XML文檔,而講解者需要通過用戶介面導入這些文件讓軟體進行統計分析:



雖然這些文件是在同一個電腦上生成的,但是在這個步驟卻沒有進行SHA1校驗(風險22:高)。


而且,這些運行有計票軟體的電腦很容易通過日常瀏覽或郵件方式感染惡意軟體,而一旦感染上了那些針對選舉的惡意軟體,它們只需更改存儲在C:Program Files (x86)OSV 目錄下的XML文檔,因為這些文檔沒有經過任何加密保護和校驗,這對黑客來說輕而易舉。


包含計票數據的XML文檔竟然可以通過電子郵件方式寄出


在視頻的04:45時刻,計票軟體竟然提示用戶可以通過電郵方式把XML文檔寄到中央選舉委員會:




電子郵件方式傳送類似重要數據非常不安全(風險23:高),對於那些想達目的的黑客來說,竊取或更改電子郵件信息非常簡單容易,這些軟體開發者難道是腦子進水了嗎?!


沒有任何PDF文檔列印提示


視頻在生成文檔格式介紹中,雖然提到了如何生成PDF和XML文檔,以及這些文檔將會存儲在一個USB載體中被轉移到另外一台電腦中,但是沒有提及任何列印PDF的提示。


軟體加密校驗機制越來越糟


從視頻講解中可知,該軟體是由德國軟體公司開發的,而進行哈希校驗的做法也是這家德國軟體公司的想法。正常來說,導入XML文檔時,必須與USB載體中PDF文檔的哈希值進行比較,才可選擇下一步導入動作,但一些用戶會選擇忽略此步驟。因此,為了實現」額外強制性校驗「措施,該軟體公司想出了以下這招:



必須輸入哈希編碼的前4個字元進行校驗,才能執行下一步動作。由於只要求輸入4個字元,對SHA1編碼來說,即2^16(65,536)種組合,在強力破解工具面前,這種密碼強度算是非常脆弱的了(風險24:高),而正常的SHA1是2^160種組合。所以,從這個角度上來說,目前該計票軟體的所謂的「額外安全機制」完全起到了相反的作用,沒有任何安全可言!


其它風險漏洞情況


我還進行了其它漏洞識別和檢測,由於比較繁雜,就不一一贅述:



計票軟體系統直接接入互聯網


在部署計票軟體時沒有IT專家進行指導


計票軟體存在部分開源代碼


我發現了某處XSS漏洞


沒有部署任何日誌存儲服務,文件信息很容易被篡改


未部署任何入侵檢測服務


軟體未經任何第三方安全機構或個人進行過安全檢測


軟體不具備任何可信的安全檢測報告


軟體信息的完整性很難保證


......


看來選舉委員會和其聘請的軟體公司完全沒有考慮到黑客威脅,這簡直難以置信,但是請注意,從以上分析研究可以看出,黑客能以多種方式,實現操縱大選結果的目的,而這些安全隱患,自2009年就一直存在。真心希望從此刻起,荷蘭政府能重視選舉相關的信息安全,因為這種現狀非常糟糕,不可接受!


後記


2017年1月30日,在我發表了這篇文章之後,荷蘭RTL電視台邀請我和其它安全專家就我提及的選舉系統安全問題進行了驗證討論,節目作了

直播


2017年1月31日,荷蘭NOS電視台報道了我的該篇分析文章,並就此

採訪

了負責大選的當值官員;


2017年1月31日,媒體報道, 早在6年前,Radboud大學學生MaartenEngberts曾發現了該計票軟體的多個漏洞,並發表在其

碩士論文中

,但荷蘭選舉委員會一直忽視這些安全漏洞;


2017年2月1日,在多家媒體對該文進行轉載報道後,荷蘭內政部長Ronald Plasterk

發表聲明

確認荷蘭選舉信息系統可能存在一些潛在的安全威脅

,並宣布在3月即將到來的荷蘭大選中不會使用電子計票軟體,將會徹底使用手工計票。


2017年2月3日,《今日美國》節目就此文

作了報道


*參考來源:sijmen.ruwhof

,FB小編clouds編譯,轉載請註明來自FreeBuf.COM


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 FreeBuf 的精彩文章:

淺談拒絕服務攻擊的原理與防禦(4):新型DDOS攻擊 – Websocket和臨時透鏡
不學奧斯卡黑《長城》,回味馬特達蒙《諜影重重5》的技術亮點

TAG:FreeBuf |

您可能感興趣

直言擁有一票決定權,美總統否決盟友聯合抗議,執意挑起新戰火
好的系統決定一切:那些安卓國產手機中的優秀系統
思路決定出路,選擇決定命運,自身努力是獲
佛羅里達將通過投票決定取締賽犬活動,工作人員卻稱賽犬更幸福
美伊相關核協議再出問題,無機會下台階,或做出危險決定
管中閔能否再參選?吳茂昆:遴選委員決定
拒絕朝拜!詹姆斯對決定三選項已經心中有數,一切只待官宣?
伊朗總統稱不怕美國在伊核協議問題上做出任何決定
他決定再次參選美國總統,放言希拉里所在政黨沒人是對手
敘利亞進入戰國時代,美軍接連失敗,依然是和平核心決定力量
騎士總經理計劃和胡德會面,決定是否對他禁賽
見識決定命運,格局決定選擇
美軍為何做出引進中國商用無人機的決定?背後的原因令美方尷尬
具荷拉前男友出庭接受審訊 依結果決定是否拘留
亞運會中國女足遺憾奪銀,馬雲決定出手相助
巴育決定主動出擊,英拉有危險了!
城市攻堅取得決定勝利!敘政府軍再獲大捷,新戰術讓反叛武裝難堪
騎士總經理:詹姆斯有權利做出自己的決定
納粹又用悲傷蛙給自己宣傳,作者決定用法律解決
改革開放:決定當代中國命運的關鍵抉擇