
Predator spyware ของ Intellexa สามารถซ่อนสัญลักษณ์แจ้งเตือนการบันทึกข้อมูลของ iOS ได้ ในขณะที่แอบสตรีมภาพจากกล้อง และเสียงจากไมโครโฟนส่งไปยังผู้ควบคุม
มัลแวร์ตัวนี้ไม่ได้อาศัยช่องโหว่ใด ๆ ของระบบ iOS แต่ใช้ประโยชน์จากสิทธิ์การเข้าถึง Kernel-Level ที่ตัวมัลแวร์แอบเจาะเข้าไปได้ก่อนหน้า เพื่อเข้าไปขัดขวาง และควบคุมระบบแจ้งเตือน ซึ่งตามปกติแล้วระบบนี้จะคอยเปิดเผยให้ผู้ใช้ทราบว่ากำลังถูกสอดแนมอยู่
Apple ได้นำสัญลักษณ์แจ้งเตือนการบันทึกมาใช้บน status bar ตั้งแต่ iOS 14 เพื่อเตือนให้ผู้ใช้ทราบเมื่ออุปกรณ์กำลังมีการใช้งานกล้อง หรือไมโครโฟน โดยจะแสดงเป็นจุดสีเขียว หรือจุดสีส้มตามลำดับ
Intellexa ซึ่งเป็นบริษัทด้านการสอดแนมที่ถูกสหรัฐฯ คว่ำบาตร ได้พัฒนา Spyware เชิงพาณิชย์ชื่อ Predator และนำมาใช้ในการโจมตีโดยอาศัยการเจาะช่องโหว่ Zero-day ของ Apple และ Chrome รวมถึงการใช้ช่องโหว่ในรูปแบบ Zero-click
แม้ว่าความสามารถของ Spyware ตัวนี้ในการปิดกั้นสัญลักษณ์แจ้งเตือนการใช้งานกล้อง และไมโครโฟนจะเป็นที่ทราบกันดีอยู่แล้ว แต่ที่ผ่านมายังไม่มีความชัดเจนว่ากลไกดังกล่าวมีกระบวนการทำงานอย่างไร

Predator ซ่อนการบันทึกข้อมูลได้อย่างไร
นักวิจัยจาก Jamf บริษัทผู้ให้บริการระบบจัดการอุปกรณ์พกพา ได้ทำการวิเคราะห์ตัวอย่างของ Predator และบันทึกรายละเอียดกระบวนการทำงานในการซ่อนสัญลักษณ์แจ้งเตือนที่เกี่ยวข้องกับความเป็นส่วนตัว
ตามรายงานของ Jamf พบว่า Predator สามารถซ่อนสัญลักษณ์การบันทึกข้อมูลทั้งหมดบน iOS 14 ได้ด้วยการใช้ฟังก์ชัน Hook เพียงตัวเดียว (‘HiddenDot::setupHook()’) โดยแฝงเข้าไปในระบบ SpringBoard ซึ่งจะเรียกใช้งาน method นี้ทุกครั้งที่มีการเปลี่ยนแปลงการทำงานของเซ็นเซอร์ เช่น เมื่อมีการเปิดใช้งานกล้อง หรือไมโครโฟน
ด้วยการดักจับฟังก์ชันนี้ Predator จึงป้องกันไม่ให้การอัปเดตสถานะของเซ็นเซอร์ถูกส่งไปถึง UI layer ได้ ส่งผลให้จุดแจ้งเตือนสีเขียว หรือสีแดงไม่ปรากฎขึ้นมา
นักวิจัยของ Jamf อธิบายว่า "Method เป้าหมาย _handleNewDomainData: จะถูกระบบ iOS เรียกใช้งานทุกครั้งที่มีการเปลี่ยนแปลงกิจกรรมของเซ็นเซอร์ ไม่ว่าจะเป็นการเปิดกล้อง การเปิดไมโครโฟน และอื่น ๆ"
"ด้วยการใช้ Hook แฝงเข้าไปใน method เพียงตัวเดียวนี้ ทำให้ Predator สามารถดักจับข้อมูลอัปเดตสถานะของเซ็นเซอร์ได้ทั้งหมด ก่อนที่ข้อมูลเหล่านั้นจะถูกส่งไปยังระบบแสดงผลการแจ้งเตือน"

กลไกการทำงาน คือการทำให้ Object ที่รับผิดชอบในการอัปเดตเซ็นเซอร์ (SBSensorActivityDataProvider ใน SpringBoard) เป็นค่าว่าง ใน Objective-C การเรียกใช้ไปยัง Object ที่เป็นค่าว่างจะถูกเพิกเฉยไปโดยอัตโนมัติ ดังนั้น SpringBoard จึงไม่ประมวลผลการเปิดใช้งานกล้อง หรือไมโครโฟน และทำให้ไม่มีสัญลักษณ์แจ้งเตือนใด ๆ ปรากฏขึ้น
เนื่องจาก SBSensorActivityDataProvider รวบรวมกิจกรรมของเซ็นเซอร์ทั้งหมด การดักจับข้อมูลเพียงจุดเดียวนี้จึงสามารถปิดการทำงานของสัญลักษณ์แจ้งเตือนได้ทั้งกล้อง และไมโครโฟนพร้อมกัน
นักวิจัยยังพบ "dead code” ซึ่งพยายามดักจับ SBRecordingIndicatorManager โดยตรง อย่างไรก็ตาม โค้ดส่วนนี้ไม่ได้ถูกสั่งให้ทำงาน ซึ่งน่าจะเป็นเส้นทางการพัฒนาในอดีตที่ถูกทิ้งไปเพื่อใช้แนวทางที่ดีกว่าซึ่งดักจับข้อมูลเซ็นเซอร์ต้นทางแทน
ในกรณีของการบันทึกเสียงสนทนาผ่าน VoIP ซึ่ง Predator Spyware สามารถทำได้เช่นกัน โมดูลที่รับผิดชอบในส่วนนี้ไม่มีกลไกในการระงับสัญลักษณ์แจ้งเตือนในตัวเอง จึงต้องพึ่งพาฟังก์ชัน HiddenDot เพื่อซ่อนการทำงาน
Jamf อธิบายเพิ่มเติมว่า การเข้าถึงกล้องจะถูกเปิดใช้งานผ่านโมดูลแยกต่างหาก ซึ่งจะค้นหาฟังก์ชันภายในของกล้องโดยใช้การจับคู่รูปแบบคำสั่ง ARM64 และการเปลี่ยนเส้นทาง Pointer Authentication Code (PAC) เพื่อหลีกเลี่ยงการตรวจสอบสิทธิ์ของกล้อง
เมื่อไม่มีสัญลักษณ์แจ้งเตือนสว่างขึ้นบนแถบสถานะ การทำงานของ Spyware จึงถูกซ่อนไว้อย่างแนบเนียนจากสายตาของผู้ใช้งานทั่วไป
Jamf ตั้งข้อสังเกตว่า การวิเคราะห์เชิงลึกทางเทคนิคสามารถเผยให้เห็นร่องรอยของกระบวนการที่เป็นอันตรายเหล่านี้ได้ เช่น การจับคู่หน่วยความจำที่ผิดปกติ หรือ exception ports ในระบบ SpringBoard และ mediaserverd, breakpoint-based hooks รวมถึงไฟล์เสียงที่ระบบ mediaserverd ถูกเขียนลงในเส้นทางที่ไม่ปกติ
ที่มา : bleepingcomputer

You must be logged in to post a comment.