OpenHayStack เป็นกรอบสำหรับการติดตามอุปกรณ์บลูทู ธ ส่วนตัวผ่านเครือข่าย My My My My My ใช้เพื่อสร้าง แท็ก การติดตามของคุณเองที่คุณสามารถผนวกเข้ากับวัตถุทางกายภาพ (พวงมาลัย, เป้สะพายหลัง, ... ) หรือรวมเข้ากับอุปกรณ์ที่มีความสามารถบลูทู ธ อื่น ๆ เช่นสมุดบันทึก

OpenHayStack เป็นแอปพลิเคชั่นที่ช่วยให้คุณสร้างอุปกรณ์เสริมของคุณเองที่ติดตามโดยเครือข่าย Find My ของ Apple สิ่งที่คุณต้องมีคือ Mac และ BBC Micro: บิตหรืออุปกรณ์อื่น ๆ ที่สามารถใช้งานได้บลูทู ธ โดยใช้แอพคุณสามารถติดตามอุปกรณ์เสริมของคุณได้ทุกที่บนโลกโดยไม่ต้องครอบคลุมโทรศัพท์มือถือ iPhones ใกล้เคียงจะค้นพบอุปกรณ์เสริมของคุณและอัปโหลดตำแหน่งไปยังเซิร์ฟเวอร์ของ Apple เมื่อมีการเชื่อมต่อเครือข่าย
OpenHayStack เป็นผลมาจากการทำงานด้านวิศวกรรมย้อนกลับและการวิเคราะห์ความปลอดภัยของ Apple Find My Network (หรือ การค้นหาออฟไลน์ ) พวกเราที่ห้องปฏิบัติการเครือข่ายมือถือที่ปลอดภัยของ Tu Darmstadt เริ่มวิเคราะห์การค้นพบแบบออฟไลน์หลังจากประกาศครั้งแรกในเดือนมิถุนายน 2019 เราระบุว่าอุปกรณ์ Apple สามารถค้นหาอุปกรณ์ได้อย่างไรโดยอุปกรณ์ iPhones แม้ว่าพวกเขาจะออฟไลน์ผ่านงานนี้ ระบบทั้งหมดเป็นการผสมผสานที่ชาญฉลาดของโฆษณาบลูทู ธ การเข้ารหัสสาธารณะคีย์และฐานข้อมูลส่วนกลางของรายงานตำแหน่งที่เข้ารหัส เราเปิดเผยข้อกำหนดของส่วนที่ปิดของการค้นหาออฟไลน์และดำเนินการวิเคราะห์ความปลอดภัยและความเป็นส่วนตัวที่ครอบคลุม เราพบช่องโหว่ที่แตกต่างกันสองประการ หนึ่งที่รุนแรงที่สุดซึ่งอนุญาตให้แอปพลิเคชันที่เป็นอันตรายสามารถเข้าถึงข้อมูลตำแหน่งได้ได้รับการแก้ไขโดย Apple (CVE-2020-9986) สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการวิเคราะห์ความปลอดภัยโปรดอ่านบทความของเรา นับตั้งแต่เปิดตัวเราได้รับการกดและสื่อมวลชนค่อนข้างน้อย
OpenHayStack เป็นซอฟต์แวร์ทดลอง รหัสไม่ผ่านการทดสอบและไม่สมบูรณ์ ตัวอย่างเช่นอุปกรณ์เสริม OpenHayStack ที่ใช้เฟิร์มแวร์ออกอากาศคีย์สาธารณะคงที่และดังนั้นจึงสามารถติดตามได้โดยอุปกรณ์อื่น ๆ ในบริเวณใกล้เคียง (อาจเปลี่ยนแปลงได้ในการเปิดตัวในอนาคต) OpenHayStack ไม่ได้เป็นพันธมิตรหรือรับรองโดย Apple Inc.
Openhaystack ประกอบด้วยสององค์ประกอบ ก่อนอื่นเรามีแอปพลิเคชัน MacOS ที่สามารถแสดงตำแหน่งที่รายงานล่าสุดของอุปกรณ์บลูทู ธ ส่วนตัวของคุณ ประการที่สองภาพเฟิร์มแวร์ช่วยให้อุปกรณ์บลูทู ธ สามารถถ่ายทอดบีคอนที่ทำให้พวกเขาค้นพบโดย iPhone
OpenHayStack ต้องการ MacOS 11 (Big Sur)
แอปพลิเคชัน OpenHayStack ต้องใช้ปลั๊กอินที่กำหนดเองสำหรับ Apple Mail มันถูกใช้ในการดาวน์โหลดรายงานตำแหน่งจากเซิร์ฟเวอร์ของ Apple ผ่าน API ส่วนตัว (คำอธิบายทางเทคนิค: ปลั๊กอินสืบทอดสิทธิ์ของ Apple Mail ที่จำเป็นในการใช้ API นี้) ดังนั้นขั้นตอนการติดตั้งจึงแตกต่างกันเล็กน้อยและต้องการให้คุณปิดการใช้งาน Gatekeeper ชั่วคราว ปลั๊กอินของเราไม่สามารถเข้าถึงข้อมูลส่วนตัวอื่น ๆ เช่นอีเมล (ดูซอร์สโค้ด)
~/Library/Mail/Bundlesudo spctl --master-disable ซึ่งจะปิดการใช้งาน Gatekeeper และอนุญาตให้ปลั๊กอิน Apple Mail ของเราทำงานsudo defaults write "/Library/Preferences/com.apple.mail" EnableBundles 1sudo spctl --master-enable ซึ่งจะเปิดใช้งาน Gatekeeper อีกครั้งการเพิ่มอุปกรณ์เสริมใหม่ ในการสร้างอุปกรณ์เสริมใหม่คุณเพียงแค่ต้องป้อนชื่อและเลือกไอคอนที่เหมาะสมและสี แอพจะสร้างคู่คีย์ใหม่ที่ใช้ในการเข้ารหัสและถอดรหัสรายงานตำแหน่ง คีย์ส่วนตัวจะถูกเก็บไว้ในพวงกุญแจ Mac ของคุณ
ปรับใช้กับอุปกรณ์ เชื่อมต่ออุปกรณ์ที่รองรับผ่าน USB กับ Mac ของคุณและกดปุ่ม Deploy ถัดจากชื่ออุปกรณ์เสริมและเลือกที่สอดคล้องกัน แทนที่จะใช้การปรับใช้แบบบูรณาการของ OpenHayStack คุณอาจคัดลอกคีย์สาธารณะที่ใช้สำหรับการโฆษณา (คลิกขวาที่อุปกรณ์เสริม) และปรับใช้ด้วยตนเอง
ตำแหน่งของอุปกรณ์แสดงผล อาจใช้เวลาสูงสุด 30 นาทีจนกว่าคุณจะเห็นรายงานตำแหน่งแรกบนแผนที่ทางด้านขวา แผนที่จะแสดงสถานที่ล่าสุดของรายการล่าสุดทั้งหมด คุณสามารถคลิกที่ทุกรายการเพื่อตรวจสอบเมื่อได้รับการอัปเดตครั้งล่าสุด โดยคลิกปุ่มโหลดซ้ำคุณสามารถอัปเดตรายงานตำแหน่ง
เราอธิบายระบบค้นหาออฟไลน์ของ Apple สั้น ๆ (aka ค้นหาเครือข่ายของฉัน ) โปรดดูที่กระดาษสัตว์เลี้ยงของเราและข้อกำหนดอุปกรณ์เสริมของ Apple สำหรับรายละเอียดเพิ่มเติม เราให้ภาพรวมแผนผัง (จากกระดาษของเรา) และอธิบายวิธีที่เรารวมขั้นตอนต่าง ๆ ใน OpenHayStack ด้านล่าง

หากต้องการใช้เครือข่ายค้นหาของฉันของ Apple เราจะสร้างคู่คีย์ภาคเอกชนบนเส้นโค้งรูปไข่ (P-224) คีย์ส่วนตัวยังคงอยู่ใน MAC ที่เก็บไว้อย่างปลอดภัยในพวงกุญแจและคีย์สาธารณะจะถูกปรับใช้กับอุปกรณ์เสริมเช่นไมโครที่แนบมา: บิต
ในระยะสั้นอุปกรณ์เสริมออกอากาศคีย์สาธารณะเป็นโฆษณา Bluetooth Low Energy (BLE) (ดูเฟิร์มแวร์) iPhone ใกล้เคียงจะไม่สามารถแยกความแตกต่างของอุปกรณ์เสริมของเราออกจากอุปกรณ์ Apple ของแท้หรืออุปกรณ์เสริมที่ผ่านการรับรอง
เมื่อ iPhone ใกล้เคียงได้รับโฆษณา BLE iPhone จะดึงตำแหน่งปัจจุบันผ่าน GPS เข้ารหัสโดยใช้คีย์สาธารณะจากโฆษณาและอัปโหลดรายงานที่เข้ารหัสไปยังเซิร์ฟเวอร์ของ Apple iPhone ทั้งหมดบน iOS 13 หรือใหม่กว่าทำสิ่งนี้โดยค่าเริ่มต้น OpenHayStack ไม่ได้มีส่วนร่วมในขั้นตอนนี้
Apple ไม่ทราบว่าตำแหน่งใดที่เข้ารหัสเป็นบัญชีหรืออุปกรณ์ของ Apple ดังนั้นผู้ใช้ Apple ทุกคนสามารถดาวน์โหลดรายงานตำแหน่งใดก็ได้ตราบเท่าที่พวกเขารู้คีย์สาธารณะที่เกี่ยวข้อง นี่ไม่ใช่ปัญหาด้านความปลอดภัย: รายงานทั้งหมดได้รับการเข้ารหัสแบบ end-to-end และไม่สามารถถอดรหัสได้เว้นแต่จะมีใครรู้คีย์ส่วนตัวที่เกี่ยวข้อง (เก็บไว้ในพวงกุญแจ) เราใช้ประโยชน์จากคุณสมบัตินี้เพื่อดาวน์โหลดรายงานจาก Apple ที่ถูกสร้างขึ้นสำหรับอุปกรณ์เสริม OpenHayStack ของเรา เราใช้กุญแจส่วนตัวของเราเพื่อถอดรหัสรายงานตำแหน่งและแสดงข้อความล่าสุดบนแผนที่
Apple ปกป้องฐานข้อมูลของพวกเขาจากการเข้าถึงโดยพลการโดยกำหนดให้ผู้ใช้ Apple ที่ได้รับการรับรองความถูกต้องดาวน์โหลดรายงานตำแหน่ง เราใช้ปลั๊กอิน Apple Mail ของเราซึ่งทำงานด้วยสิทธิ์ที่สูงขึ้นเพื่อเข้าถึงข้อมูลการรับรองความถูกต้องที่จำเป็น แอป OpenHayStack สื่อสารกับปลั๊กอินในขณะที่ดาวน์โหลดรายงาน นี่คือเหตุผลที่คุณต้องเปิดจดหมายไว้ในขณะที่ใช้ OpenHayStack
โดยหลักการแล้วอุปกรณ์บลูทู ธ ใด ๆ สามารถเปลี่ยนเป็นอุปกรณ์เสริม OpenHayStack ที่สามารถติดตามได้ผ่านเครือข่าย Find My ของ Apple ขณะนี้เรามีวิธีการปรับใช้ที่สะดวกของ Firmwares OpenHaystack ของเราสำหรับอุปกรณ์ฝังตัวจำนวนน้อย (ดูตารางด้านล่าง) นอกจากนี้เรายังรองรับอุปกรณ์ Linux ผ่านสคริปต์ HCI ทั่วไปของเรา อย่าลังเลที่จะพอร์ต OpenHaystack ไปยังอุปกรณ์อื่น ๆ ที่รองรับพลังงานต่ำบลูทู ธ ตามซอร์สโค้ดของเฟิร์มแวร์ของเราและข้อกำหนดในกระดาษของเรา กรุณาแบ่งปันผลลัพธ์ของคุณกับเรา!
| แพลตฟอร์ม | ทดสอบแล้ว | ปรับใช้ผ่านแอป | การแสดงความคิดเห็น |
|---|---|---|---|
| Nrf51 | BBC Micro: บิต v1 | รองรับเฉพาะ NRF51822 ในเวลานี้ (ดูปัญหา #6) | |
| Espressif esp32 | SP32-Wroom, esp32-wrover | การปรับใช้อาจใช้เวลาสูงสุด 3 นาที ต้องใช้ Python 3 ขอบคุณ @fhessel | |
| Linux HCI | Raspberry Pi 4 w/ Raspbian | ควรรองรับเครื่อง Linux |

OpenHayStack Mobile เป็นการปรับปรุงใหม่อย่างสมบูรณ์ของแอปพลิเคชัน OpenHayStack MacOS สำหรับสมาร์ทโฟน แอพมีฟังก์ชั่นเดียวกันเพื่อสร้างและติดตามอุปกรณ์เสริมและมีจุดมุ่งหมายเพื่อเพิ่มการใช้งานโดยเฉพาะอย่างยิ่งสำหรับผู้ใช้ใหม่ ในทางตรงกันข้ามกับแอปพลิเคชัน MacOS รายงานตำแหน่งไม่สามารถดึงข้อมูลได้โดยตรงบนสมาร์ทโฟนดังนั้นแอพจึงต้องใช้พร็อกซีเซิร์ฟเวอร์ที่โฮสต์บนฮาร์ดแวร์ MAC เพื่อเข้าถึงเครือข่ายค้นหาของฉัน พร็อกซีเซิร์ฟเวอร์สามารถเข้าถึงได้ผ่านเครือข่ายโดยผู้ใช้หลายคนพร้อมกัน
ในการเชื่อมต่อกับพร็อกซีเซิร์ฟเวอร์ของคุณตั้งค่า URL ที่ถูกต้องใน: OpenHayStack-Mobile/Lib/FindMy/Reports_fetcher.dart


OpenHayStack Mobile สร้างขึ้นด้วยเฟรมเวิร์ก Cross-Platform Flutter และปัจจุบันทำงานบน Android และ iOS ข้อมูลเพิ่มเติมเกี่ยวกับแอพและคำแนะนำการใช้งานสามารถพบได้ในโฟลเดอร์ OpenHayStack-Mobile ของที่เก็บนี้
OpenHayStack ได้รับใบอนุญาตภายใต้ ใบอนุญาตสาธารณะ GNU Affero ทั่วไป v3.0