1 คะแนน โดย GN⁺ 19 일 전 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • มีการเปิดเผยผ่านคำให้การในศาลถึงกรณีที่ FBI ใช้ฐานข้อมูลการแจ้งเตือนภายในของ iPhone เพื่อกู้คืนข้อความ Signal ที่ถูกลบ
  • บน iPhone ของจำเลย แม้ลบแอป Signal ไปแล้ว เนื้อหาการแจ้งเตือนที่ได้รับยังคงอยู่ในที่เก็บข้อมูลภายใน และอยู่ในสถานะที่ปิดการตั้งค่าแสดงตัวอย่างการแจ้งเตือน
  • เนื่องจาก สถานะความปลอดภัยของ iPhone (AFU, BFU) และ โครงสร้างแคชภายในเครื่อง ทำให้ข้อมูลบางส่วนอาจยังคงหลงเหลืออยู่ภายในระบบ
  • มีการตั้งข้อสังเกตว่า แม้ลบแอปแล้ว push notification token ก็อาจไม่ถูกทำให้ใช้ไม่ได้ทันที ทำให้เซิร์ฟเวอร์อาจยังส่งการแจ้งเตือนต่อไปและ iPhone ก็อาจรับไว้ได้
  • เหตุการณ์นี้สะท้อนว่า โครงสร้างการเก็บรักษาข้อมูลของแอปรับส่งข้อความแบบเข้ารหัสและระบบการแจ้งเตือนของ iOS กำลังกลายเป็นประเด็นสำคัญด้านความเป็นส่วนตัวและความปลอดภัย

กรณี FBI กู้ข้อความ Signal ที่ถูกลบจากข้อมูลการแจ้งเตือนของ iPhone

  • มีการเปิดเผยกรณีที่ FBI ใช้ฐานข้อมูลการแจ้งเตือนภายในของ iPhone เพื่อกู้คืนข้อความ Signal ที่ถูกลบ
    • ตามรายงานของ 404 Media เรื่องนี้ถูกเปิดเผยผ่านคำให้การระหว่างการพิจารณาคดีของจำเลยที่เกี่ยวข้องกับเหตุจุดพลุและทำลายทรัพย์สินที่ศูนย์กักกัน ICE Prairieland ในเมือง Alvarado รัฐเท็กซัส
    • เจ้าหน้าที่ FBI Clark Wiethorn อธิบายกระบวนการเก็บรวบรวมหลักฐานในศาล
  • ข้อความที่กู้คืนจากข้อมูลการแจ้งเตือน

    • บน iPhone ของจำเลย Lynette Sharp แม้หลังจากลบแอป Signal แล้ว เนื้อหาข้อความที่ได้รับยังคงอยู่ในที่เก็บการแจ้งเตือนภายใน
    • ตามสรุปหลักฐานในศาล (Exhibit 158) ระบุว่า “แม้ Signal จะถูกลบไปแล้ว แต่การแจ้งเตือนที่ได้รับยังถูกเก็บไว้ในหน่วยความจำภายในผ่านที่เก็บการแจ้งเตือนภายในของ Apple และกู้คืนได้เฉพาะข้อความขาเข้าเท่านั้น”
    • Signal มีการตั้งค่าให้ซ่อนเนื้อหาข้อความในตัวอย่างการแจ้งเตือน แต่พบว่าจำเลยปิดการตั้งค่านี้ไว้
    • ทั้ง Signal และ Apple ยังไม่ได้ออกมาชี้แจงอย่างเป็นทางการเกี่ยวกับวิธีจัดเก็บหรือประมวลผลข้อมูลการแจ้งเตือน
  • โครงสร้างการจัดเก็บภายในและพื้นหลังทางเทคนิค

    • เนื่องจากมีข้อมูลทางเทคนิคเฉพาะเกี่ยวกับสถานะ iPhone ของจำเลยไม่มากนัก จึงยังไม่ชัดเจนว่า FBI ใช้วิธีใดในการกู้ข้อมูล
    • iPhone มีหลายสถานะด้านความปลอดภัย เช่น BFU (Before First Unlock) และ AFU (After First Unlock) โดยสิทธิ์การเข้าถึงข้อมูลจะแตกต่างกันไปตามแต่ละสถานะ
    • เมื่ออุปกรณ์อยู่ในสถานะปลดล็อก ระบบจะถือว่าผู้ใช้กำลังใช้งานอยู่โดยตรง ทำให้ ขอบเขตการเข้าถึงข้อมูลที่ได้รับการปกป้องกว้างขึ้น
    • iOS จัดการสถานะความปลอดภัยหลายแบบบนพื้นฐานของความเชื่อถือ และ เก็บข้อมูลจำนวนมากไว้ในเครื่องในรูปแบบแคชเพื่อความสะดวกของผู้ใช้
  • push notification token และความเป็นไปได้ที่ข้อมูลจะยังคงอยู่

    • แม้ลบแอปแล้ว โทเคนที่ใช้ส่ง push notification ก็อาจไม่ถูกทำให้ใช้ไม่ได้ทันที

      • เนื่องจากเซิร์ฟเวอร์ไม่สามารถรู้ได้ว่าแอปถูกลบไปแล้วหรือไม่ จึงอาจยังส่ง push ต่อหลังการแจ้งเตือนครั้งสุดท้าย และ มีความเป็นไปได้ที่ iPhone จะรับและประมวลผลภายในต่อไป
      • Apple เพิ่ง เปลี่ยนวิธีตรวจสอบ push notification token ใน iOS 26.4 โดยยังไม่ยืนยันว่ามีความเกี่ยวข้องโดยตรงกับกรณีนี้หรือไม่ แต่เป็นช่วงเวลาที่น่าจับตา
  • ความเป็นไปได้ในการดึงข้อมูลและเครื่องมือสืบสวน

    • ตามคำอธิบายใน Exhibit 158 FBI กู้ข้อมูลผ่านที่เก็บการแจ้งเตือนภายในของ Apple ซึ่ง อาจเป็นข้อมูลที่ดึงมาจากแบ็กอัปของอุปกรณ์
    • หน่วยงานบังคับใช้กฎหมายมี เครื่องมือฟอเรนสิกเชิงพาณิชย์จำนวนมากที่ใช้ช่องโหว่ของ iOS เพื่อดึงข้อมูล และก็เป็นไปได้ว่า FBI ใช้เครื่องมือเหล่านี้
    • 404 Media ได้เผยแพร่รายงานต้นฉบับของกรณีนี้แยกต่างหาก
  • ความหมายของคดีนี้

    • กรณีนี้ถูกจับตาในฐานะ ตัวอย่างที่แสดงให้เห็นว่าการลบแอปรับส่งข้อความหรือการเข้ารหัสเพียงอย่างเดียว ไม่ได้รับประกันว่าข้อมูลจะถูกลบอย่างสมบูรณ์
    • โครงสร้างการเก็บรักษาข้อมูลของระบบการแจ้งเตือนใน iOS และแนวทางจัดการความปลอดภัย อาจกลายเป็นประเด็นหลักในการถกเถียงเรื่องความเป็นส่วนตัวต่อไปในอนาคต

1 ความคิดเห็น

 
GN⁺ 19 일 전
ความคิดเห็นจาก Hacker News
  • ถ้าคิดจากมุมผู้ใช้ ก็เข้าใจว่า Signal มี forward secrecy เลยคิดว่าข้อความจะหายไปหลังจากรับแล้ว
    แต่ถ้าไม่เปิด disappearing messages เครื่องมือฟอเรนสิกอย่าง Cellebrite ก็อาจกู้คืนได้ โดยค่าเริ่มต้นปิดไว้
    และถึงจะเปิดแล้ว ถ้าข้อความถูกรวมอยู่ในการแจ้งเตือน (notification) ระบบปฏิบัติการก็อาจเก็บไว้ได้ Apple ก็ทำแบบนั้นจริง และมีตัวเลือกให้ป้องกันได้ แต่ค่าเริ่มต้นก็ยังปิดอยู่
    ต่อให้ลบแอปไปแล้ว ข้อความก็ยังอาจค้างอยู่ในระบบปฏิบัติการ สุดท้ายเมื่อ สมดุลระหว่างความปลอดภัยกับการใช้งาน พังลง ผมคิดว่านี่ไม่ใช่ความผิดของผู้ใช้ แต่เป็นปัญหาจากการออกแบบระบบ
    ผมสรุปกรณีที่เกี่ยวข้องไว้ใน บทความของผม

    • ถ้าแบ็กอัปไม่ได้เข้ารหัส ผมมองว่า การเข้ารหัสจากต้นทางถึงปลายทาง (E2EE) ก็เป็นเพียงภาพลวงตา ถ้าอีกฝ่ายไม่ได้ใช้ ADP, iMessage หรือ WhatsApp ก็จะมีเพียงการเข้ารหัสข้อมูลที่จัดเก็บเท่านั้น
      WhatsApp บน Android ก็แนะนำ การแบ็กอัปไปยัง Google Drive แบบไม่เข้ารหัส เป็นค่าเริ่มต้นด้วย
      จึงอดสงสัยไม่ได้ว่า Google, Apple, Meta ทำข้อตกลงภาคต่อของ PRISM ประมาณว่า “อนุญาต E2EE ได้ แต่ค่าเริ่มต้นต้องยังเข้าถึงได้” หรือเปล่า
      ผู้ใช้ส่วนใหญ่ใช้ค่าเริ่มต้นตามเดิม จึงลงเอยด้วยการที่ความปลอดภัยถูกทำให้ไร้ผล
    • ต่อให้ Signal ปลอดภัยแค่ไหน แต่ ระบบปฏิบัติการและ ecosystem ที่รันอยู่ข้างบนนั้นซับซ้อนเกินไป จนยากจะมั่นใจว่าเรากำลังสื่อสารอย่างปลอดภัยจริงหรือไม่
      เมตาดาต้า (ใครคุยกับใคร เมื่อไหร่) ก็ยังคงเปิดเผยอยู่
    • ผู้ใช้ส่วนใหญ่ไม่เปลี่ยนค่าเริ่มต้น ดังนั้นระดับความปลอดภัยของแอปก็คือ ค่าเริ่มต้นนั่นเองคือระดับความปลอดภัย
    • การที่ Signal ใส่ข้อความแบบ plaintext ลงในการแจ้งเตือนนั้นร้ายแรงยิ่งกว่า
      ตาม บทความนี้ ข้อมูลอ่อนไหวไม่ควรถูกรวมอยู่ในการแจ้งเตือน หรือควรส่งเป็น payload ที่เข้ารหัส
    • ถ้าอยากได้เมสเซนเจอร์ที่ปลอดภัยจริง ๆ แนะนำให้ใช้ SimpleX โดย Whonix แนะนำไว้ และ Snowden ก็สนับสนุน Whonix
      หน้าแนะนำแชตของ Whonix
  • ในการตั้งค่า Signal
    ถ้าเปลี่ยน Settings > Notifications > Notification Content > Show เป็น “Name Only” หรือ “No Name or Content”
    ก็จะไม่ทำให้ข้อความอ่อนไหวแสดงออกมาเมื่อมีการโชว์หน้าจอ และจากกรณีนี้ก็เห็นได้ว่าการตั้งค่านี้มี ข้อดีด้านความปลอดภัยเพิ่มเติม

    • นี่ไม่ใช่การตั้งค่าของ OS แต่เป็น การตั้งค่าภายในแอป Signal เอง ถ้าเปลี่ยนแค่การแจ้งเตือนของ OS จะเพียงแค่ซ่อนบนหน้าจอ แต่การเก็บภายในยังคงเกิดขึ้นต่อไป
    • บน Android อยู่ที่ Settings > Notifications > Messages > Show
    • ค่าเริ่มต้นควรเป็นตัวเลือกที่ระมัดระวังที่สุด ถ้าเป็น แอปความปลอดภัย ก็ต้องมีค่าเริ่มต้นที่ปลอดภัย
    • ฟีเจอร์สรุปของ Apple Intelligence ก็ควรปิดไว้สำหรับการแจ้งเตือนจากแอปที่อ่อนไหว
    • การเปิด โหมด Lockdown สามารถช่วยป้องกันช่องโหว่หลายอย่างรวมถึงปัญหานี้ได้ด้วย
  • ถ้าไม่ได้ปิดการตั้งค่าแสดงตัวอย่างการแจ้งเตือนของ Signal ระบบจะบันทึกเนื้อหาข้อความลงฐานข้อมูล
    บน macOS สามารถดูบันทึกการแจ้งเตือนนี้ได้ที่ ~/Library/Group Containers/group.com.apple.usernoted/db2/db
    และใช้ แอป Crank ดึงออกมาด้วย SQL query ได้

    • บน Android สามารถดูประวัติการแจ้งเตือนได้ด้วยแอปอย่าง NotiStar
      แต่โครงสร้างพื้นฐานการแจ้งเตือนแบบรวมศูนย์อย่าง FCM(APNs) เองก็อาจเก็บข้อมูลระหว่างทางได้
    • บน Pixel สามารถดูบางส่วนได้ที่ Settings > Notifications > Manage > Notification History
    • สำหรับ iPhone ถ้าตั้งให้แสดงตัวอย่างบนหน้าจอล็อกไว้ เนื้อหาการแจ้งเตือนจะถูกเก็บเป็น plaintext
      ค่าเริ่มต้นคือ “แสดงตัวอย่างเมื่อปลดล็อก” แต่แม้ในกรณีนั้นก็ยังไม่ชัดเจนว่าการเก็บภายในถูกเข้ารหัสหรือไม่
      สุดท้ายแล้วนี่คือ ปัญหา OPSEC จากการตั้งค่าผิดของผู้ใช้ และมองว่าค่าเริ่มต้นของ Signal นั้นเหมาะสมแล้ว
    • บน Android แต่ก่อนเคยมีหน้าที่อยู่ protocol address ที่แสดงการแจ้งเตือนทั้งหมด มีประโยชน์ แต่ตอนนี้ไม่ค่อยได้ใช้แล้ว
  • สงสัยมาตลอดว่าทำไม Signal ถึงถามให้เปิดการแจ้งเตือนทุกเดือน ทั้งที่กดปฏิเสธไปแล้วก็ยังถามซ้ำ

    • ตามที่นักพัฒนา Signal บอก จุดประสงค์คือ มีคำถามเกี่ยวกับความน่าเชื่อถือของการแจ้งเตือนเข้ามาเยอะ จึงอยากป้องกันไม่ให้ผู้ใช้ปิดไว้โดยไม่ตั้งใจ แต่ก็ยอมรับว่าความถี่นั้นมากเกินไป
    • แต่ซอฟต์แวร์ส่วนใหญ่มักให้ความสำคัญกับ ผลประโยชน์ของนักพัฒนาหรือบริษัท มากกว่าความต้องการของผู้ใช้
      การคอยโน้มน้าวซ้ำ ๆ แม้ผู้ใช้ไม่ต้องการ กลายเป็นแพตเทิร์น UX ที่พบได้ทั่วไปแล้ว
    • แพลตฟอร์มส่งข้อความจะประสบความสำเร็จมากขึ้นเมื่อผู้ใช้ตอบกลับทันที ดังนั้นการกระตุ้นให้เปิดการแจ้งเตือนจึงเป็นกลยุทธ์ที่เป็นธรรมชาติ
    • ตัว iOS เองก็มีโครงสร้างที่เมื่อปิดการแจ้งเตือนไว้จะถามเป็นระยะให้กลับมาตรวจสอบอีกครั้ง
    • กรณีที่ WhatsApp ให้กรอก 2FA PIN เป็นระยะ ๆ ก็อยู่ในบริบทคล้ายกัน
  • ผมคิดว่า คำให้การในศาลจริง ต่างหากคือวิธีตรวจสอบสภาพความปลอดภัยที่แท้จริง
    สิ่งสำคัญไม่ใช่การถกเถียงเชิงทฤษฎี แต่คือในคดีจริงสามารถกู้ข้อมูลอะไรกลับมาได้บ้าง

    • อย่างไรก็ตาม บางครั้งรัฐบาลก็ ยอมถอนฟ้องเพื่อไม่ให้วิธีการทางไซเบอร์ถูกเปิดเผย ดังนั้นข้อมูลทั้งหมดจึงไม่ได้ออกมาสู่สาธารณะเสมอไป
    • ศาลเป็นหนึ่งในไม่กี่สถานที่ที่รายละเอียดทางเทคนิคจริง ๆ ถูกเปิดเผย
    • กรณี Trivy / LiteLLM ล่าสุดก็เป็นประเด็นด้านความปลอดภัยเช่นกัน แต่ลักษณะต่างออกไป
    • แต่ในประเทศที่มีการคอร์รัปชัน ผลในศาลอาจไม่สะท้อนความจริง และมีเรื่อง parallel construction อยู่ด้วย
  • ประโยคที่ว่า “จำเลยไม่ได้เปิดการตั้งค่าเลยทำให้ระบบเก็บข้อความไว้” แท้จริงแล้วหมายถึง ค่าเริ่มต้นของ Apple ต่างหากที่มีปัญหา
    ผู้ใช้ส่วนใหญ่ไม่เปลี่ยนการตั้งค่า และ Apple ก็รู้เรื่องนี้

    • ที่แย่กว่านั้นคือ การตั้งค่าความปลอดภัย ที่ผู้ใช้ลำบากกว่าจะเปลี่ยนได้ มักถูกรีเซ็ตทุกครั้งที่อัปเดต Firefox ก็ชอบทำให้การตั้งค่าความเป็นส่วนตัวกลับไปค่าเดิมบ่อย ๆ
      ต่อให้ไม่ได้ตั้งใจ เราก็จำเป็นต้อง ปฏิบัติต่อมันราวกับเป็นสิ่งที่ตั้งใจทำ
    • ถ้าใส่ใจเรื่องความปลอดภัย ต้องปิดตัวอย่างบนหน้าจอล็อก เพราะหน้าจอล็อกนั้นใคร ๆ ก็เห็นได้ จึง ไม่ใช่พื้นที่ส่วนตัวโดยพื้นฐาน
    • ถ้าสื่อไม่ได้เขียนว่า “จำเลยไม่ได้เปลี่ยนการตั้งค่า” แต่เขียนว่า “ระบบของ Apple เก็บข้อมูลไว้เป็นค่าเริ่มต้น” การรับรู้ของคนก็คงต่างออกไป
      สุดท้ายความรับผิดชอบจึงถูกผลักไปที่ผู้ใช้ ขณะที่บริษัทผู้สร้างระบบซ่อนตัวอยู่หลังคำว่า “ระบบ” แบบไร้ตัวตน
    • เคยลองหาข้อมูลสถิติเกี่ยวกับความสามารถของผู้ใช้ในการเปลี่ยนการตั้งค่า แล้วพบว่า ระดับการศึกษาด้านคอมพิวเตอร์ต่ำมาก ไม่ใช่แค่การพิมพ์ แต่ต้องการ digital literacy
  • บทความต้นฉบับ: FBI Extracts Suspect’s Deleted Signal Messages Saved in iPhone Notification Database

    • แต่เป็นคอนเทนต์สำหรับสมาชิก จึงดูรายละเอียดได้จำกัด
  • สงสัยว่าเหตุใด Apple ถึงไม่ลบบันทึกในฐานข้อมูลการแจ้งเตือน แม้จะลบแอปไปแล้วก็ตาม
    การเก็บเนื้อหาการแจ้งเตือนเก่าไว้ต่อเนื่องเป็น ชนวนของเหตุด้านความปลอดภัย

    • พอปัญหาแบบนี้ถูกเปิดเผย ก็ชัดเจนเสียจนอดคิดไม่ได้ว่า “ทำไมเพิ่งมารู้ตอนนี้?” และคาดว่าโครงสร้างจะต้องเปลี่ยนในอนาคต
    • Android จะลบประวัติการแจ้งเตือนเมื่อถอนการติดตั้งแอป และถ้าปิดแล้วเปิดฟีเจอร์ประวัติการแจ้งเตือนใหม่ ข้อมูลเก่าก็จะถูกรีเซ็ต
      ตาม เอกสารทางการของ Android จะเก็บไว้เพียงช่วงเวลาหนึ่งเท่านั้น
    • แต่ถ้าข้อมูลถูกเขียนลง flash memory จริง หลังลบแล้วก็ยังอาจเหลือบล็อกข้อมูลอยู่ได้
      ด้วย wear leveling ข้อมูลอาจคงอยู่เป็นปี ๆ
    • ฐานข้อมูลส่วนใหญ่ (เช่น sqlite) แม้จะลบแถวข้อมูลแล้ว ก็ไม่ได้ลบข้อมูลจริงบนดิสก์ทันที
      ในระดับไฟล์ซิสเต็มและ SSD ก็เกิดเรื่องคล้ายกัน
  • สุดท้ายนี่เป็นกรณีที่แสดงให้เห็นว่า ปลายด้านหนึ่งของ E2E ไม่ใช่แอป แต่คือตัวโทรศัพท์เอง
    อย่างกรณี WhatsApp ที่อ่านข้อความจากการแจ้งเตือนได้โดยไม่ขึ้นว่าอ่านแล้ว นั่นก็เท่ากับว่า OS ทำหน้าที่เป็น คนกลางโจมตี (MITM)

    • แต่เนื่องจาก Signal เป็นฝ่ายสร้างการแจ้งเตือนเอง จึงอาจพูดได้ไม่เต็มปากว่าการแสดงการแจ้งเตือนเฉย ๆ แบบ echo "my_private_data" | notify-send นั้นอันตรายโดยตัวมันเอง
  • ที่จริงปัญหา การเก็บข้อมูลการแจ้งเตือน แบบนี้เป็นเรื่องที่รู้กันมานานแล้ว
    ทั้ง RealityNet iOS Forensics References และ
    บทความของ The Forensics Scooter ก็เคยพูดถึงไว้แล้ว