SHARE THE PERSPECTIVE

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

การแยกข้อกล่าวอ้างเหล่านี้ออกจากกันทำให้ทั้งการเข้ารหัสและการตรวจสอบซอฟต์แวร์มีประโยชน์ยิ่งขึ้น

เหตุใดการสแกนบนอุปกรณ์จึงเปลี่ยนขอบเขตความเป็นส่วนตัว

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

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

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

หลักฐานเกี่ยวกับซอฟต์แวร์สี่รูปแบบที่แตกต่างกัน

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

เอกสาร apksigner ของ Android อธิบายการตรวจสอบแพ็กเกจและการรายงานใบรับรอง คำนิยามของ Reproducible Builds อธิบายว่าเหตุใดซอร์ส สภาพแวดล้อมการบิลด์ และคำสั่งจึงล้วนสำคัญต่อการสร้างอาร์ติแฟกต์ซ้ำ

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

วิธีตรวจสอบไฟล์ดาวน์โหลดโดยไม่ตีความผลเกินจริง

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

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

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

การอัปเดตยังคงสำคัญ

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

Proof Lab ของ Livara ยืนยันอะไรได้

Proof Lab ของ Livara มีการเปรียบเทียบไดเจสต์ APK ภายในเครื่องและการสาธิตการเข้ารหัสในเบราว์เซอร์ หน้าดังกล่าวระบุว่าไม่ได้รันกลไก ratchet ของ LVR1/LGS1 แบบครบถ้วน และไม่ถือเป็นการตรวจสอบโพรโทคอล แบบจำลองภัยคุกคาม ยังอธิบายข้อจำกัดเมื่อผู้โจมตีเปลี่ยนได้ทั้งไฟล์และค่าไดเจสต์ที่คาดหวัง

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

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

ตรวจสอบแอปของคุณใน Proof Lab
CONTINUE THE THREADAndroid & device security ↗
YOU’VE REACHED THE ENDBack to the reading room ↗