SHARE THE PERSPECTIVE
การทดสอบออฟไลน์ควรให้ผลลัพธ์ที่เฉพาะเจาะจง แฮชหรือการสาธิตการเข้ารหัสไม่ใช่การตรวจประเมินผลิตภัณฑ์ทั้งหมด

การตรวจสอบแบบออฟไลน์อาจแสดงได้ว่าการคำนวณหนึ่ง ๆ ทำงานโดยไม่ต้องมีคำตอบแบบสดจากเซิร์ฟเวอร์ สิ่งนี้มีคุณค่า แต่ไม่ได้หมายถึงการพิสูจน์ความปลอดภัยของแอปส่งข้อความทั้งหมด หากต้องการผลที่นำไปใช้ได้ ต้องเขียนให้ชัดว่าทดสอบไฟล์ เวอร์ชัน อินพุต และเอาต์พุตใด

แฮชของไฟล์ ลายเซ็นของรุ่นเผยแพร่ เวกเตอร์ทดสอบ บิลด์ที่ทำซ้ำได้ และการตรวจประเมินความปลอดภัยตอบคำถามต่างกัน การพิจารณาหลักฐานร่วมกันมีประโยชน์กว่าการเปลี่ยนสิ่งใดสิ่งหนึ่งให้เป็น “ตรารับรองความปลอดภัยสมบูรณ์แบบ”

หลักฐานแต่ละอย่างแสดงอะไร?

หลักฐาน ข้อสรุปที่ถูกต้องภายในขอบเขต สิ่งที่ไม่ได้พิสูจน์โดยอัตโนมัติ
SHA-256 ของไฟล์ ไฟล์ตรงกับค่าไดเจสต์อ้างอิง แหล่งอ้างอิงซื่อสัตย์หรือโค้ดไม่มีข้อบกพร่อง
ลายเซ็น APK ลายเซ็นถูกต้องสำหรับแพ็กเกจและเชื่อมโยงกับกุญแจของผู้ลงนาม กุญแจนั้นเป็นของผู้เผยแพร่ที่คุณต้องการ เว้นแต่ตรวจสอบแยกต่างหาก
เวกเตอร์ทดสอบ กรณีที่ครอบคลุมให้เอาต์พุตตามคาด ครอบคลุมทุกสถานะและข้อผิดพลาดของผลิตภัณฑ์
บิลด์ที่ทำซ้ำได้ ซอร์สและสภาพแวดล้อมที่ระบุสร้างเอาต์พุตเหมือนกัน ซอร์สโค้ดไม่มีช่องโหว่
การตรวจประเมิน ตรวจสอบขอบเขตและเวอร์ชันที่กำหนดแล้ว การเปลี่ยนแปลงภายหลังและส่วนประกอบนอกขอบเขตก็ได้รับการรับรองด้วย

นิยามของบิลด์ที่ทำซ้ำได้อาศัยอินพุตและสภาพแวดล้อมที่กำหนดไว้ ส่วนเครื่องมือ apksigner อย่างเป็นทางการของ Androidใช้ตรวจสอบลายเซ็น APK ซึ่งไม่ใช่สิ่งเดียวกับการคำนวณแฮช

ปัจจุบัน Livara Proof Lab มีขอบเขตอย่างไร?

หน้า Proof Labแนะนำเครื่องมือแฮช APK ที่ทำงานในเครื่อง และการสาธิตการทำงานของ P-256, HKDF และ AES-GCM รวมถึงการเปลี่ยนหนึ่งบิตเพื่อสังเกตความล้มเหลวของการตรวจสอบความแท้จริง หน้านั้นระบุชัดว่าการผสาน LVR1/LGS1 แบบเต็มรูปแบบอยู่นอกขอบเขตแท่นทดลองนี้

ดังนั้นควรเขียนผลที่ถูกต้องว่า “ไฟล์นี้ตรงกับค่าไดเจสต์อ้างอิง” หรือ “การสาธิตทางการเข้ารหัสนี้ปฏิเสธการดัดแปลงที่ทดสอบ” อย่าเขียนว่า “โปรโตคอลไฮบริดทั้งหมดและเวอร์ชันที่ติดตั้งทั้งหมดผ่านการตรวจประเมินอิสระแล้ว” บทความนี้ไม่ได้รายงานการทดสอบรันเครื่องมือนั้นครั้งใหม่

เตรียมการทดสอบออฟไลน์ที่ทำซ้ำได้อย่างไร?

  1. กำหนดเป้าหมาย ต้องการตรวจสอบตัวตนของไฟล์หรือพฤติกรรมของการดำเนินการทางการเข้ารหัส?
  2. บันทึกเวอร์ชันและแหล่งที่มา ชื่อ APK หมายเลขเวอร์ชัน ที่อยู่ดาวน์โหลด และไดเจสต์ของรุ่นเผยแพร่นั้นต้องสอดคล้องกัน
  3. เตรียมเครื่องมือและอินพุตจากแหล่งที่เชื่อถือได้ การออฟไลน์ไม่ได้ทำให้โค้ดที่เป็นอันตรายตั้งแต่แรกน่าเชื่อถือขึ้น
  4. ใช้ข้อมูลทดสอบที่ไม่อ่อนไหว การสาธิตการเข้ารหัสไม่ต้องใช้ข้อความส่วนตัวหรือความลับจริง
  5. ตัดการเชื่อมต่อแล้วทดสอบซ้ำ ขั้นตอนนี้วัดการพึ่งพาคำตอบแบบสด ไม่ใช่ความน่าเชื่อถือของโค้ดที่ดาวน์โหลดไว้ก่อนแล้ว
  6. บันทึกผลและข้อผิดพลาด อย่าแทนที่ความต่างของเวอร์ชัน การโหลดล้มเหลว หรือเอาต์พุตไม่ตรงกันด้วยคำว่า “ผ่าน”

หากแฮชต่างกัน ให้หยุดติดตั้งและตรวจสอบเวอร์ชัน ไฟล์ และแหล่งอ้างอิงก่อน ความต่างอาจเกิดจากการเลือกรุ่นเผยแพร่คนละรุ่น อย่าตัดสินโดยไม่ตรวจสอบว่าเป็นมัลแวร์แน่นอนหรือไม่มีความสำคัญแน่นอน

เวกเตอร์ทดสอบต่างจากใบรับรองอย่างเป็นทางการอย่างไร?

เวกเตอร์ทดสอบระบุอินพุตและเอาต์พุตที่คาดหวังของพฤติกรรมหนึ่ง ชุดข้อมูลอย่าง Wycheproof มีประโยชน์สำหรับทดสอบไลบรารีด้วยกรณีที่เกี่ยวข้องกับการโจมตีที่รู้จัก การผ่านชุดทดสอบเหล่านี้ไม่ได้พิสูจน์ว่าครอบคลุมกรณีที่ยังไม่รู้จัก

NIST CAVP มีกระบวนการตรวจสอบความถูกต้องของอัลกอริทึม การรันเวกเตอร์สาธารณะไม่กี่ชุดในเบราว์เซอร์ไม่เท่ากับการได้รับใบรับรอง และการใช้อัลกอริทึมมาตรฐานก็ไม่ได้ทำให้ผลิตภัณฑ์ได้รับการรับรองโดยอัตโนมัติ

ควรขออะไรเพื่อเปรียบเทียบแอปส่งข้อความ?

สำหรับ Livara, Signal, WhatsApp, Session หรือ Element ให้ถามคำถามเดียวกัน: เวอร์ชันที่แน่นอนคืออะไร? ไฟล์ใดเป็นไฟล์ทางการ? ตรวจสอบกุญแจผู้ลงนามหรือไดเจสต์อ้างอิงอย่างไร? สามารถรันทดสอบอะไรได้บ้าง? รายงานการตรวจประเมินครอบคลุมโค้ดและส่วนประกอบใด?

บทความนี้ไม่ใช่การจัดอันดับผลิตภัณฑ์เหล่านี้จากการทดสอบ การไม่มีเครื่องมือแบบหน้าเดียวไม่ได้พิสูจน์ว่าไม่มีหลักฐานด้านความปลอดภัย และการมีก็ไม่ได้พิสูจน์ว่าผลิตภัณฑ์ทั้งหมดเหนือกว่า ควรเปรียบเทียบเอกสารทางการของเวอร์ชันเดียวกันและรายงานที่ทำซ้ำได้

แบบบันทึกผลที่มีประโยชน์

ในรายงานสั้น ๆ ให้เขียนเป้าหมาย เวอร์ชัน แหล่งไฟล์ hash เครื่องมือและเวอร์ชัน สถานะเครือข่าย อินพุตที่ไม่อ่อนไหว เอาต์พุตที่คาดหวัง เอาต์พุตที่สังเกตได้ และข้อจำกัด หากไม่ได้ทดสอบอย่างอื่น ให้ระบุว่า “ยังไม่ได้ทดสอบ”

การยืนยันกุญแจของผู้ติดต่อเป็นการตรวจสอบอีกเรื่องหนึ่ง เครื่องมือในเครื่องอาจสาธิตการดำเนินการได้ แต่ไม่ได้ยืนยันตัวตนของคู่สนทนาหรือความปลอดภัยของโทรศัพท์ของเขาแทนคุณ อ่านขอบเขตความปลอดภัยของ Livaraควบคู่กับผลลัพธ์ อย่าถือว่าคะแนนเต็มในเครื่องมือเป็นหลักประกันทุกขอบเขต

ทดสอบใน Proof Lab
CONTINUE THE THREADAndroid & device security ↗
YOU’VE REACHED THE ENDBack to the reading room ↗