Voatz ซึ่งเป็น บริษัท ในแมสซาชูเซตส์ที่เสนอแอปโหวตบนมือถือที่เปิดใช้งาน blockchain ได้รับการวิพากษ์วิจารณ์จากสาธารณชนเกี่ยวกับการขาดความโปร่งใสเหนือสิ่งอื่นใดโดยเฉพาะอย่างยิ่งในเรื่องความปลอดภัยของข้อมูล และด้วยการคุกคามของการแทรกแซงการเลือกตั้งเงินเดิมพันจึงสูงมากเช่นเคย.
Voatz ถูกใช้ในการเลือกตั้งในเวสต์เวอร์จิเนีย; แจ็กสันเคาน์ตี้โอเรกอน; อูมาติลลาเคาน์ตี้โอเรกอน; การเลือกตั้งเทศบาลในยูทาห์เคาน์ตี้ยูทาห์; เช่นเดียวกับในการเลือกตั้งที่ไหลบ่าและการเลือกตั้งระดับเทศบาลในเดนเวอร์โคโลราโด.
การตรวจสอบความปลอดภัยสาธารณะโดย บริษัท บุคคลที่สามที่มีชื่อเสียงซึ่งผู้เชี่ยวชาญเรียกร้องให้มี ที่นี่ในที่สุด. ในเดือนธันวาคม 2019 Voatz และ Tusk Philanthropies ซึ่งให้ทุนสนับสนุนนักบินการลงคะแนนเสียงเคลื่อนที่ส่วนใหญ่ของ Voatz ได้ร่วมมือกับ บริษัท รักษาความปลอดภัย Trail of Bits เพื่อดำเนินการตรวจสอบกล่องสีขาวอย่างครอบคลุม.
แม้ว่า Voatz จะล้มเหลวในการจัดหาแบ็กเอนด์เพื่อทดสอบเวกเตอร์การโจมตีที่เป็นอันตรายแบบสด แต่ Trail of Bits สามารถเข้าถึงซอร์สโค้ดทั้งหมดรวมถึงเซิร์ฟเวอร์หลักไคลเอนต์ Android ไคลเอนต์ iOS และเว็บอินเตอร์เฟสของผู้ดูแลระบบ.
รายงานการตรวจสอบมีความครอบคลุมและมีการตรวจสอบความปลอดภัย 122 หน้าและเอกสาร 78 หน้าเกี่ยวกับข้อควรพิจารณาในการสร้างแบบจำลองภัยคุกคาม นี่คือบทสรุปโดยย่อของส่วนหลัก ๆ.
Voatz ไม่จำเป็นต้องใช้บล็อกเชน
ความน่าสนใจของการโหวตแบบบล็อคเชนคือระบบกระจายอำนาจที่ไม่ต้องการให้ผู้มีสิทธิเลือกตั้งเชื่อใจใคร แต่การใช้ blockchain Voatz ไม่ได้ขยายไปถึงไคลเอนต์มือถือ แต่ Voatz ได้ใช้การโหวตกับ Hyperledger Fabric blockchain ซึ่งใช้เป็นบันทึกการตรวจสอบซึ่งเป็นสิ่งที่ทำได้อย่างง่ายดายโดยใช้ฐานข้อมูลที่มีบันทึกการตรวจสอบ.
แม้ว่าโฆษกของ Voatz จะอ้างว่า Hyperledger“ มีฟังก์ชั่นการรักษาความปลอดภัยหลายอย่างเช่นการรักษาความปลอดภัยในการลงคะแนนรวมการเปิดใช้งานการตรวจสอบหลังการเลือกตั้งและการให้การดูแลสำหรับบัตรลงคะแนนดิจิทัลเมื่อพวกเขาเดินทางผ่านระบบนิเวศ” แต่ก็ไม่มีความชัดเจนว่าจะทำเช่นนั้นได้อย่างไรและ ความสามารถนี้ไม่ปรากฏในรายงาน.
Code Trail of Bits ที่ดูไม่ได้ใช้ Chaincode ที่กำหนดเองหรือ Smart Contract ในความเป็นจริงรายงานอ่าน:
“ การตรวจสอบความถูกต้องของข้อมูลและตรรกะทางธุรกิจทั้งหมดจะถูกเรียกใช้แบบ off-chain ใน Scala codebase ของ Voatz Core Server การค้นพบที่มีความเสี่ยงสูงหลายประการเป็นผลมาจากปัญหาการตรวจสอบความถูกต้องของข้อมูลและเจ้าหน้าที่ที่สับสนในเซิร์ฟเวอร์หลักซึ่งอาจอนุญาตให้ผู้มีสิทธิเลือกตั้งคนหนึ่งปลอมตัวเป็นอีกคนหนึ่งก่อนที่จะแตะบล็อกเชนด้วยซ้ำ”
เนื่องจากผู้ลงคะแนนไม่ได้เชื่อมต่อโดยตรงกับ blockchain พวกเขาจึงไม่สามารถยืนยันได้อย่างอิสระว่าการโหวตนั้นสะท้อนถึงเจตนาของพวกเขา แต่ใครก็ตามที่มีสิทธิ์การเข้าถึงระดับผู้ดูแลระบบไปยังเซิร์ฟเวอร์ส่วนหลังของ Voatz จะสามารถ “ยกเลิกการเปิดเผยการลงคะแนนปฏิเสธการลงคะแนนแก้ไขคะแนนและทำให้เส้นทางการตรวจสอบไม่ถูกต้อง”
รายงานพบว่าระบบ Voatz ไม่มีการบรรเทาผลกระทบใด ๆ สำหรับการยกเลิกการระบุชื่อผู้มีสิทธิเลือกตั้งตามเวลาที่บันทึกบัตรลงคะแนนในบล็อกเชน ในแถลงการณ์โฆษกของ Voatz กล่าวว่ามีมิกซ์เน็ตทดลองที่ทำงานที่โครงสร้างพื้นฐานระดับขอบที่ใช้สำหรับการทดลองระดับเครือข่าย แต่ไม่มีซอร์สโค้ดใด ๆ และคำถามที่พบบ่อยของ Voatz การเรียกร้อง ว่า “เมื่อส่งแล้วข้อมูลทั้งหมดจะไม่ระบุตัวตนส่งผ่าน” mixnet “และโพสต์ไปยัง blockchain” แต่นี่คือ เรียกว่า เป็นคำถามในรายงานของ MIT – และอีกครั้งในการตรวจสอบนี้.
“ ดูเหมือนจะไม่มีและไม่มีการกล่าวถึงมิกซ์เน็ตในรหัสที่ให้ไว้กับ Trail of Bits” การตรวจสอบอ่าน “ เซิร์ฟเวอร์หลักมีความสามารถในการยกเลิกการเปิดเผยข้อมูลการรับส่งข้อมูลทั้งหมดรวมถึงบัตรลงคะแนนด้วย”
Trail of Bits ยืนยันการค้นพบของ MIT – Voatz โต้แย้งพวกเขา
เมื่อวันที่ 13 กุมภาพันธ์นักวิจัยของ MIT ได้เผยแพร่รายงานดังกล่าว“ The Ballot Is Busted Before the Blockchain: A Security Analysis of Voatz ซึ่งเป็นแอปพลิเคชั่นโหวตทางอินเทอร์เน็ตตัวแรกที่ใช้ในการเลือกตั้งของรัฐบาลกลางสหรัฐฯ” ซึ่ง Voatz ตอบกลับ ด้วยการโพสต์บล็อกในวันเดียวกันเพื่อหักล้างสิ่งที่เรียกว่า “รายงานที่มีข้อบกพร่อง” ซึ่งทำให้นักวิจัยของ MIT โพสต์ คำถามที่พบบ่อยพร้อมคำชี้แจง.
ปรากฎว่าการพิสูจน์ของ Voatz ถูกเขียนขึ้นสามวันหลังจาก Trail of Bits ยืนยันการมีอยู่ของช่องโหว่ที่อธิบายไว้ใน MIT โดยได้รับรายงานสรุปที่ไม่ระบุตัวตนของปัญหาจากกระทรวงความมั่นคงแห่งมาตุภูมิของสหรัฐอเมริกา สิ่งนี้ชี้ให้เห็นว่า Voatz ทราบว่ารายงานนั้นถูกต้องก่อนที่จะลดราคาต่อสาธารณะ.
การตรวจสอบดังกล่าวยังโต้แย้งการคัดค้านบางส่วนของ Voatz ต่อรายงานของนักวิจัยของ MIT Voatz ระบุว่าแอป Android ที่วิเคราะห์เป็นเวอร์ชันเก่า 27 เวอร์ชัน แต่ Trail of Bits เขียนว่า “ไม่ได้ระบุการเปลี่ยนแปลงที่เกี่ยวข้องกับความปลอดภัยใน codebase” ระหว่างแอปเวอร์ชันเดือนกันยายน 2019 ที่นักวิจัยของ MIT ใช้ซึ่งจะส่งผลกระทบอย่างมากต่อการอ้างสิทธิ์ของพวกเขา.
Voatz ยังมีปัญหากับนักวิจัยในการพัฒนาเซิร์ฟเวอร์จำลองโดยเรียกมันว่า “วิธีการที่มีข้อบกพร่อง” ซึ่ง “ทำให้การอ้างสิทธิ์ใด ๆ เกี่ยวกับความสามารถในการประนีประนอมระบบโดยรวมเป็นโมฆะ” Voatz ยังเขียนว่าการปฏิบัตินี้ “ลบล้างความน่าเชื่อถือในนามของนักวิจัย”
แต่ Trail of Bits อ้างว่า“ การพัฒนาเซิร์ฟเวอร์จำลองในกรณีที่การเชื่อมต่อกับเซิร์ฟเวอร์ที่ใช้งานจริงอาจส่งผลให้มีการดำเนินการทางกฎหมายถือเป็นแนวทางปฏิบัติมาตรฐานในการวิจัยช่องโหว่ นอกจากนี้ยังเป็นแนวทางปฏิบัติมาตรฐานในการทดสอบซอฟต์แวร์ด้วย” นอกจากนี้รายงานยังชี้ให้เห็นว่าการค้นพบนี้มุ่งเน้นไปที่ไคลเอนต์ Android แต่ไม่ได้อาศัยความรู้เชิงลึกเกี่ยวกับเซิร์ฟเวอร์ Voatz.
โฆษกของ Voatz กล่าวว่า Voatz“ คัดค้านวิธีการและแนวทางของนักวิจัยของ MIT” และมี“ ข้อผิดพลาดหลายประการในรายงาน”
“ ถ้าวิธีการของเราผิดทฤษฎีก็เท่ากับว่าเราได้ข้อสรุปที่ไม่ถูกต้อง อย่างไรก็ตามช่องโหว่ทั้งหมดที่เราพบได้รับการยืนยันจากการตรวจสอบความปลอดภัยของพวกเขาเอง นอกจากนี้ยังไม่ปรากฏว่าพวกเขากำลังโต้แย้งใด ๆ ” Michael Spectre หนึ่งในนักวิจัยของ MIT ผู้เขียนรายงานกล่าว.
การตรวจสอบก่อนหน้านี้ไม่ครอบคลุม
แม้ Voatz จะทำการตรวจสอบความปลอดภัยหลายครั้ง แต่นี่เป็นครั้งแรกที่มีการประเมินกล่องสีขาวโดยมีการวิเคราะห์เซิร์ฟเวอร์หลักและแบ็กเอนด์ แม้ว่าการตรวจสอบก่อนหน้านี้จะไม่ได้เปิดเผยต่อสาธารณะ แต่ Trail of Bits ก็ได้สรุปข้อมูลทั้งหมด.
การตรวจสอบความปลอดภัยก่อนหน้านี้ครั้งหนึ่งคือ ดำเนินการ ในเดือนสิงหาคม 2019 โดย NCC องค์กรอิสระเอกชนที่ไม่ได้จ้างผู้เชี่ยวชาญด้านความปลอดภัยทางเทคนิคใด ๆ การตรวจสอบเน้นที่การใช้งานมากกว่าความปลอดภัย ในเดือนกรกฎาคม 2018 ผู้ให้บริการที่ไม่มีชื่อได้ทำการตรวจสอบกล่องดำของลูกค้ามือถือของ Voatz.
ในเดือนตุลาคม 2018 TLDR Security หรือที่เรียกว่า ShiftState ได้ทำการตรวจสอบสุขอนามัยด้านความปลอดภัยในวงกว้างซึ่งรวมถึงสถาปัตยกรรมระบบเวิร์กโฟลว์ของผู้ใช้และข้อมูลและการวางแผนลดภัยคุกคาม แต่ไม่ได้มองหาจุดบกพร่องในระบบหรือในแอปพลิเคชันจริง จากนั้น ShiftState ได้ทำการตรวจสอบอีกครั้งในเดือนธันวาคม 2018 โดยดูว่าระบบดำเนินการตามที่ตั้งใจไว้หรือไม่และปฏิบัติตามแนวทางปฏิบัติที่ดีที่สุด.
แม้ว่า ShiftState CEO อังเดรแม็คเกรเกอร์ ได้กล่าวไว้ก่อนหน้านี้ Voatz นั้น“ ทำได้ดีมาก” การทบทวน Trail of Bits เกี่ยวกับการตรวจสอบของ ShiftState ชี้ไปที่ปัญหาเกี่ยวกับการบันทึกที่ จำกัด เซิร์ฟเวอร์ที่ไม่มีการจัดการและโซลูชันมัลแวร์ป้องกันมือถือ Zimperium ที่ไม่ได้เปิดใช้งานในระหว่างการนำร่อง.
เนื่องจากการป้องกันการงัดแงะทั้งหมดของ Voatz สำหรับอุปกรณ์มือถือนั้นขึ้นอยู่กับ Zimperium การไม่ใช้งานจึงหมายความว่าแอปพลิเคชันอาจได้รับการดัดแปลงเล็กน้อยเนื่องจาก Voatz ไม่มีการป้องกันเพิ่มเติมจากแอปพลิเคชันที่เป็นอันตรายซึ่งสามารถเข้าถึงข้อมูลที่ละเอียดอ่อนได้.
โฆษกของ Voatz กล่าวว่า Zimperium ยังไม่ได้รวมเข้าด้วยกันอย่างสมบูรณ์จนถึงปี 2019 และนักวิจัยบางคนขอให้ปิดการใช้งานเพื่อวัตถุประสงค์ในการทดสอบซึ่งพวกเขาจะดำเนินการเป็นกรณี ๆ ไป “ Trail of Bits ไม่สามารถตรวจสอบได้อย่างอิสระว่าการตรวจสอบการป้องกันการปลอมแปลงที่เป็นกรรมสิทธิ์ของ Zimperium ยืนยันผู้ให้บริการความปลอดภัย Android อย่างชัดเจน” รายงานดังกล่าวแนะนำให้ตรวจสอบเพิ่มเติมในกรณีที่ Zimperium ถูกปิดใช้งานโดยตั้งใจหรือไม่ก็ตาม.
การตรวจสอบขั้นสุดท้ายโดย DHS ดำเนินการในเดือนตุลาคม 2019 เพียงแค่ดูที่ทรัพยากรบนคลาวด์ไม่ใช่ที่แอปพลิเคชัน – ไม่ว่าจะมีหลักฐานการแฮ็กหรือตรวจพบได้หากเกิดขึ้น.
นอกเหนือจากข้อ จำกัด ของการประเมินความปลอดภัยก่อนหน้านี้ที่ Voatz ได้เสนอไว้โดยไม่เปิดเผยต่อสาธารณะเช่นข้อเท็จจริงที่ว่าไม่มีการตรวจสอบใดที่รวมถึงเซิร์ฟเวอร์และช่องโหว่ส่วนหลัง – รายงานของ Trail of Bits ระบุว่าการเขียนข้อมูลจากการประเมินความปลอดภัยอื่น ๆ ที่ดำเนินการเป็นเอกสารทางเทคนิค . สิ่งนี้ทำให้เกิดคำถามว่าเจ้าหน้าที่ที่มาจากการเลือกตั้งกำลังตัดสินใจโดยอาศัยเอกสารที่พวกเขาอ่านโดยไม่มีเงื่อนไขหรือไม่.
Voatz ดูไม่เป็นระเบียบ
การประเมิน Trail of Bits ใช้เวลาทั้งสัปดาห์นานกว่าที่กำหนดไว้ในตอนแรก“ เนื่องจากการรวมกันของความล่าช้าในการรับรหัสและเนื้อหาความซับซ้อนและขนาดของระบบที่ไม่คาดคิดและความพยายามในการรายงานที่เกี่ยวข้อง”
Trail of Bits ไม่เคยได้รับสำเนาโค้ดที่ใช้งานได้โดยห้ามไม่ให้ บริษัท ทำการทดสอบจริงซึ่งหมายความว่านักวิจัยเกือบทั้งหมดถูก จำกัด ไว้ที่การทดสอบแบบคงที่ซึ่งทำให้พวกเขาต้องอ่านโค้ดจำนวนมาก จากรายงานระบุว่า Voatz มีโค้ดจำนวนมากจน“ ต้องให้วิศวกรแต่ละคนวิเคราะห์โดยเฉลี่ยแล้วโค้ดเกือบ 3,000 บรรทัดใน 35 ไฟล์ต่อวันของการประเมินเพื่อให้ครอบคลุมน้อยที่สุด”
แม้ว่า Trail of Bits จะได้รับการเข้าถึงแบ็กเอนด์สำหรับการทดสอบแบบสดหนึ่งวันก่อนที่การประเมินจะสิ้นสุดลง – ซึ่งโฆษกของ Voatz กล่าวว่าเกิดจากการตรวจสอบพร้อมกันความล่าช้าในการตรวจสอบและกิจกรรมคู่ขนานและแพลตฟอร์มทดสอบจำนวน จำกัด บริษัท รักษาความปลอดภัยถูกขอให้ไม่โจมตีหรือเปลี่ยนแปลงอินสแตนซ์ในลักษณะที่จะปฏิเสธการให้บริการในการตรวจสอบพร้อมกัน.
Voatz ทำข้อผิดพลาดมือใหม่และดูเหมือนจะไม่จริงจังกับการแก้ไข
Trail of Bits อธิบายถึงจุดบกพร่องหลายประการที่อาจนำไปสู่การสังเกตการลงคะแนนการเปลี่ยนแปลงหรือไม่เปิดเผยตัวตนหรืออาจเรียกความสมบูรณ์ของการเลือกตั้งให้เป็นคำถามได้.
นอกเหนือจากข้อเท็จจริงที่ว่าผู้ลงคะแนนไม่สามารถตรวจสอบได้อย่างอิสระว่าใบเสร็จรับเงินของพวกเขาถูกต้องหรือมีการนับคะแนนอย่างถูกต้องพนักงาน Voatz สามารถบังคับให้ผู้ใช้ลงคะแนนสองครั้งในทางทฤษฎีอนุญาตให้ลงคะแนนสองครั้งหรือทำซ้ำการลงคะแนนโดยที่พวกเขาไม่รู้เรื่องแบ็กเอนด์ . นอกจากนี้ Voatz ยังใช้ 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 จะมีความยาวแปดหน้า ดูเหมือนว่า Voatz ได้จัดการกับความเสี่ยงด้านความปลอดภัยแปดรายการโดยได้รับการแก้ไขบางส่วนอีกหกรายการและเหลือ 34 รายการ โดยปกติ บริษัท ต่างๆจะมีแผนครอบคลุมเกี่ยวกับวิธีแก้ไขความเสี่ยงระดับสูงและปานกลาง โฆษกของ Voatz กล่าวว่า“ เราให้ความสำคัญกับการค้นพบแต่ละครั้งอย่างจริงจังวิเคราะห์การค้นพบแต่ละครั้งจากมุมมองในทางปฏิบัติกำหนดความน่าจะเป็นของความเสี่ยงแล้วกำหนดแนวทางต่อไป” โฆษกของ Voatz กล่าวในอีเมล.
“ หากข้อบกพร่องหรือปัญหาถูกนำไปใช้ประโยชน์ได้จริงในสถานการณ์จริงที่สอดคล้องกับนักบินขนาดเล็กที่เรากำลังดำเนินการอยู่เราจะจัดการกับสิ่งเหล่านี้ทันทีที่พวกเขาไหลในท่อการพัฒนาตามปกติของเราตามลำดับความสำคัญ”
ที่น่าตกใจ Voatz ตัดสินใจว่า “ยอมรับความเสี่ยง” ของข้อบกพร่องเหล่านี้โดยพื้นฐานแล้วยอมรับความเสี่ยงในนามของผู้มีสิทธิเลือกตั้งแทนที่จะทำการแก้ไขตามคำแนะนำจาก บริษัท ที่ว่าจ้าง.
Tusk Philanthropies, Voatz และ Trail of Bits อ้างถึง Cointelegraph ถึงพวกเขา แยก บล็อก โพสต์ เกี่ยวกับการตรวจสอบและ Trail of Bits ที่อ้างถึงในรายงาน.
บทความนี้ได้รับการอัปเดตพร้อมความคิดเห็นโดยโฆษกของ Voatz.
ที่เกี่ยวข้อง: Safe Harbor หรือโยนให้ฉลามโดย Voatz?