2 puan yazan GN⁺ 2025-01-28 | 1 yorum | WhatsApp'ta paylaş
  • OpenHaystack, Apple’ın Find My ağını kullanarak kişisel Bluetooth cihazlarını takip etmeye yarayan bir framework; Mac ve BBC micro:bit ya da Bluetooth destekli bir cihazla kendi takip etiketinizi oluşturabilirsiniz
  • Yakındaki bir iPhone, OpenHaystack aksesuarının BLE reklamını algıladığında konumu şifreleyip Apple sunucularına yükler; OpenHaystack bu konum raporunu indirip şifresini çözerek haritada gösterir
  • Bu proje, TU Darmstadt Secure Mobile Networking Lab’in Find My ağını tersine mühendislik ve güvenlik analizi çalışmalarının bir çıktısıdır; konum verilerine erişim açığı CVE-2020-9986 Apple tarafından düzeltilmiştir
  • macOS uygulaması, konum raporlarını almak için Apple Mail eklentisi kullanır; kurulum sırasında Gatekeeper’ı geçici olarak devre dışı bırakmanız ve kullanım sırasında Mail’i açık tutmanız gerekir
  • Deneysel bir yazılım olduğundan kod test edilmemiş ve eksiktir; sağlanan firmware’e dayalı aksesuarlar sabit bir açık anahtar yayınladığı için yakındaki başka cihazlar tarafından da takip edilebilir olabilir

OpenHaystack ne yapar

  • OpenHaystack, Apple’ın Find My ağı üzerinden kişisel Bluetooth cihazlarını takip etmeye yarayan bir framework’tür
  • Kullanıcılar kendi takip etiketlerini oluşturup anahtarlık, sırt çantası gibi nesnelere takabilir veya dizüstü bilgisayar gibi Bluetooth destekli cihazlara entegre edebilir
  • Gerekenler bir Mac ve BBC micro:bit ya da başka bir Bluetooth destekli cihazdır
  • Hücresel bağlantı olmasa bile yakındaki iPhone aksesuarı algılar ve ağ bağlantısı olduğunda konumu Apple sunucularına yükler

Araştırma temeli ve güvenlik analizi

  • OpenHaystack, Apple’ın Find My network ya da offline finding sistemine yönelik tersine mühendislik ve güvenlik analizi sonuçlarından doğmuştur
  • TU Darmstadt’ın Secure Mobile Networking Lab ekibi, Apple’ın Haziran 2019’daki offline finding duyurusundan sonra analize başlamıştır
  • Bu sistem şu unsurları birleştirir
    • Bluetooth reklamı

      • Açık anahtarlı şifreleme
      • Şifrelenmiş konum raporlarından oluşan merkezi veritabanı
      • Analiz sırasında iki güvenlik açığı bulunmuştur
      • En ciddi açık, kötü niyetli bir uygulamanın konum verilerine erişmesine olanak tanıyordu
      • Bu açık Apple tarafından düzeltilmiş ve CVE-2020-9986 olarak tanımlanmıştır
      • İlgili güvenlik ve gizlilik analizi, PoPETs 2021 makalesi Who Can Find My Devices? Security and Privacy of Apple's Crowd-Sourced Bluetooth Location Tracking System kapsamında ele alınmıştır

Deneysel yazılım olmanın kısıtları

  • OpenHaystack deneysel yazılımdır; kod test edilmemiştir ve eksiktir
  • Sağlanan firmware’i kullanan OpenHaystack aksesuarları sabit bir açık anahtar yayınlar
    • Bu nedenle yakındaki diğer cihazlar tarafından da takip edilebilir olabilir
    • Bu davranış gelecekteki sürümlerde değişebilir
  • OpenHaystack, Apple Inc. ile bağlantılı ya da Apple tarafından onaylanmış bir proje değildir

Bileşenler ve kullanım akışı

  • OpenHaystack iki bileşenden oluşur
    • macOS uygulaması: Kişisel Bluetooth cihazlarının son bildirilen konumunu gösterir
    • Firmware imajı: Bluetooth cihazının iPhone’lar tarafından algılanabilecek bir beacon yayınlamasını sağlar
  • Sistem gereksinimi macOS 11 Big Sur’dur
  • Yeni bir aksesuar oluştururken kullanıcı bir ad girer ve isteğe bağlı olarak simge ile renk seçer
    • Uygulama, konum raporlarını şifrelemek ve çözmek için kullanılacak yeni bir anahtar çifti oluşturur
    • Özel anahtar Mac’in anahtar zincirinde saklanır
  • Cihaz dağıtımı, desteklenen cihazın USB ile Mac’e bağlanıp uygulamadaki Deploy düğmesinin kullanılmasıyla yapılır
    • Entegre dağıtım yerine, reklamda kullanılan açık anahtar kopyalanarak manuel dağıtım da yapılabilir
  • Haritada ilk konum raporunun görünmesi 30 dakikaya kadar sürebilir
    • Harita tüm öğelerin en güncel konumunu gösterir
    • Her öğeye tıklayarak son güncellemenin ne zaman alındığını görebilirsiniz
    • reload düğmesiyle konum raporları yenilenebilir

Mail eklentisi ve kurulum yöntemi

  • OpenHaystack uygulaması, Apple sunucularından konum raporlarını indirmek için Apple Mail için özel bir eklenti gerektirir
  • Bu eklenti, özel API kullanımına gereken Apple Mail izinlerini devralacak şekilde çalışır
  • Kurulum sırasında Gatekeeper’ın geçici olarak devre dışı bırakılması gerekir
    • sudo spctl --master-disable ile Gatekeeper kapatılır
    • Mail’in Preferences → General → Manage Plug-Ins bölümünde OpenHaystackMail.mailbundle etkinleştirilir
    • Ardından sudo spctl --master-enable ile Gatekeeper yeniden açılır
  • Eklentinin e-posta gibi diğer kişisel verilere erişmediği belirtilir
  • Konum raporları indirilirken OpenHaystack uygulaması eklentiyle iletişim kurduğundan Mail’in açık tutulması gerekir

Find My ağının çalışma şekli

  • OpenHaystack, Apple’ın offline finding sistemini dört aşamada açıklar
  • Eşleştirme

    • Find My ağını kullanmak için P-224 eliptik eğrisi tabanlı açık anahtar/özel anahtar çifti oluşturulur
    • Özel anahtar Mac anahtar zincirinde güvenli şekilde saklanır
    • Açık anahtar, micro:bit gibi aksesuarlara dağıtılır
  • Kayıp durumu

    • Aksesuar, açık anahtarı Bluetooth Low Energy reklamı olarak yayınlar
    • Yakındaki iPhone’lar OpenHaystack aksesuarını gerçek bir Apple cihazından ya da sertifikalı aksesuardan ayırt edemez
  • Bulma

    • Yakındaki iPhone BLE reklamını aldığında GPS ile mevcut konumu alır
    • iPhone, reklamda yer alan açık anahtarla konumu şifreler ve şifrelenmiş raporu Apple sunucularına yükler
    • iOS 13 ve üzeri iPhone’lar varsayılan olarak bu davranışı gerçekleştirir
    • Bu aşamada OpenHaystack yer almaz
  • Arama

    • Apple, hangi şifrelenmiş konumun hangi Apple hesabına veya cihaza ait olduğunu bilmez
    • Karşılık gelen açık anahtar biliniyorsa Apple kullanıcısı herhangi bir konum raporunu indirebilir
    • Raporlar uçtan uca şifreli olduğundan özel anahtar olmadan şifreleri çözülemez
    • OpenHaystack, OpenHaystack aksesuarlarına ait raporları Apple’dan indirir, Mac anahtar zincirinde saklanan özel anahtarla şifresini çözer ve haritada en güncel konumu gösterir
    • Apple, yalnızca kimliği doğrulanmış Apple kullanıcılarının konum raporlarını indirebilmesini sağlayarak veritabanına rastgele erişimi sınırlar

Desteklenen cihazlar ve genişletme

  • Prensipte Bluetooth cihazları, Apple Find My ağıyla takip edilebilen OpenHaystack aksesuarlarına dönüştürülebilir
  • Şu anda pratik firmware dağıtım yöntemi yalnızca bazı gömülü cihazları destekler
  • Linux cihazları genel HCI script’i ile desteklenir
  • Destek örnekleri şöyledir
    • Nordic nRF51: BBC micro:bit v1 üzerinde test edildi, uygulama üzerinden dağıtım desteklenir, şu anda yalnızca nRF51822 desteklenir
    • Espressif ESP32: ESP32-WROOM ve ESP32-WROVER üzerinde test edildi, uygulama üzerinden dağıtım desteklenir, dağıtım 3 dakikaya kadar sürebilir ve Python 3 gerektirir
    • Linux HCI: Raspberry Pi 4 ve Raspbian üzerinde test edildi, tüm Linux makinelerini desteklemesi gerekir
  • Bluetooth Low Energy destekleyen diğer cihazlara port edilebilir; firmware kaynak kodu ve makaledeki teknik özellikler temel alınarak çalışılabilir

OpenHaystack Mobile

  • OpenHaystack Mobile, OpenHaystack macOS uygulamasının akıllı telefonlar için tamamen yeniden uygulanmış halidir
  • Aksesuar oluşturma ve takip özellikleri sunar; özellikle yeni kullanıcılar için kullanılabilirliği artırmayı hedefler
  • macOS uygulamasından farklı olarak akıllı telefonda konum raporları doğrudan alınamaz
    • Find My ağına erişmek için Mac donanımında barındırılan bir proxy sunucusu gerekir
    • Proxy sunucusuna ağ üzerinden birden fazla kullanıcı aynı anda erişebilir
  • Proxy sunucusuna bağlanmak için openhaystack-mobile/lib/findMy/reports_fetcher.dart içinde doğru URL ayarlanmalıdır
  • OpenHaystack Mobile, Flutter framework ile geliştirilmiştir ve Android ile iOS’ta çalışır

Lisans ve kaynaklar

1 yorum

 
GN⁺ 2025-01-28
Hacker News yorumları
  • Apple kullanıcısı olmayanlar için de iyi bir seçenek olsa keşke. Duyduğuma göre Google sürümü beklendiği gibi epey kötüymüş
    Kendi etiketinizi arayabileceğiniz sıklıkta sınırlama var; birden fazla telefon tarafından algılanana kadar konumu göstermiyor ve kapsama alanı da kötü
    Bir testte Samsung ağının daha iyi olduğu ortaya çıkmıştı; oysa Samsung telefonlar, Google ağındaki tüm Android telefonların yalnızca bir alt kümesi olmalı, bu yüzden mantıklı değil. Teoride iyi görünse de Apple yolu gösterdikten yıllar sonra bile uygulaması berbat olan tipik bir Google ürünü gibi
    https://security.googleblog.com/2024/04/find-my-device-netwo...
    https://9to5google.com/2024/08/01/find-my-device-stress-test...
    https://9to5google.com/2024/08/03/google-android-find-my-dev...
    https://www.androidcentral.com/accessories/testing-new-googl...

    • Google’ın bulma ağından sorumlu kişilerin gizliliği önceleyerek ürünün tek işlevini bozmuş olması şaşırtıcı derecede saçma
      Bu tercihle Google, gerçek performansın ne kadar kötü olduğu doğrulanmadan önce “yenilikçi” gizlilik iyileştirmelerini konu alan birkaç haber elde etti; ama Apple ile bu alanda rekabet etme şansını kaybetti ve Android/Pixel ekosistemine ve pazar payına da zarar verdi. Bu düzeyde beceriksizliği uydurmak bile zor
    • Google’ın ağı bu kadar mahvetmiş olması inanılır gibi değil. Normalde Android payı nedeniyle Apple ağını ezip geçmesi gerekirdi
      Göçebe gezgin biri olarak Apple ağı özellikle kullanışlı değil. Çünkü Apple telefonların çok olduğu zengin şehirlerde değil, Android payının %90’a yaklaştığı “dünyanın geri kalanı”nda dolaşıyorum. Buna rağmen oralarda bile Apple, Google’dan daha iyi iş çıkarıyor gibi görünüyor
    • Anahtarlarıma bir tane taktım; kullanmayı denediğimde birkaç kez yenilememe rağmen yalnızca 0,25 mil yarıçaplı bir daire gösterdi
      Aslında hemen yanımdaki çantanın içindeydi
    • Samsung’un çözümü bir alt küme değil, ayrı ve daha iyi bir yöntem
      Çok ücra ülkelerdeki havalimanlarında veya kasabalarda bile 2 etiketi rahatça bulabildiği için içim rahat ediyor. Bu video da iPhone kullanıcısı olsanız bile Samsung SmartTag’in en iyisi olduğu sonucuna varıyor
      https://m.youtube.com/watch?v=9wefUV_bR0Y
    • Google da sanırım doğrudan Find My’a dahil olmalı
  • Koda bakınca, FindMy ağındaki cihazların topladığı konumları almak için kişisel Apple Mail izni kullanıyor gibi görünüyor
    https://github.com/seemoo-lab/openhaystack/blob/8d214aa5eb68...
    Apple geliştirici hesabı oluşturunca bunun da mümkün olup olmayacağını merak ediyorum

    • Apple Mail ile etkileşime girmeyi gerektirmeyen sürümler var
      Gereken tek şey bir Apple hesabı; kodu Apple donanımında çalıştırmanız da gerekmiyor
      https://github.com/biemster/FindMy
  • Daha önce gördüğüm bir kaynağı bulmak istiyorum. Apple, kullanıcıya “sizi takip edebilecek bir etiket” konusunda uyarı veriyor; hatırladığım kadarıyla biri anahtar türetme işlevi (KDF) ile MAC adresi veya özel anahtar gibi şeyleri döndüren bir uygulama yapmıştı ve bu türetilmiş değerler izlenebilecek kadar öngörülebilirdi
    Yaşadığım yerde küçük çaplı hırsızlık sorunu gerçekten ciddi; kırılan camları sürekli onarmak veya zorla girme izlerini temizlemek epey zaman alıyor. Kimseyle doğrudan yüzleşme niyetim kesinlikle yok, ama bir gün özel dedektife ya da kolluk kuvvetlerine verebileceğim bir hareket güzergâhı oluşturmak istiyorum

    • GPS hücresel takip cihazı alıp çok ucuz, hatta ücretsiz bir IoT SIM kullanabilirsiniz
      Ya da bir koli şişe su alıp yakındaki uyuşturucu bağımlıları toplantı yerine giderek eşyalarınızı yağmalamayı bırakmalarını rica edebilirsiniz
    • Bildiğim kadarıyla AirTag de zaten özel anahtarı döndürüyor, bu yüzden bunun sorunu çözmeye yardımcı olup olmayacağını bilmiyorum
      Yalnız döndürme periyodu yavaş olabilir; tam algoritmayı da bilmiyorum
    • Gönderi listemde OpenHaystack ve onun uyarıları hakkında yazılmış bir yazıya bağlantı var. Özetle, bir süre arabada bıraktığım OpenHaystack tabanlı takip cihazı için iOS hiç uyarı vermedi
      Ancak bu birkaç yıl önceydi, şimdi değişmiş olabilir
  • Konumu kendi istikrarsız prosedürüyle almak yerine Find My uygulamasıyla entegre etmenin bir yolu olsa iyi olurdu.
    Çin malı kopyalar kendi markalarıyla da olabildiğine göre, bir şekilde mümkün olduğu kesin gibi görünüyor.

    • Burada bu, Apple’ın duvarlarla çevrili bahçesi gibi görünüyor. Eskiden resmi iş ortaklarına yönelik Apple spesifikasyonunu okuduğumda, eşleştirme sürecinde cihazın, Apple’ın ilgili geliştiriciye verdiği sertifika/anahtarla bir şeyi imzaladığını görmüştüm. Bunun sözleşmeden, yani paradan geçtikten sonra alınan bir anahtar olması ve gerçek yayınlarda kullanılan anahtar çiftiyle aynı olmaması önemli.
      Bu imzayı Apple doğruluyor ve böylece cihaz ilgili Apple ID hesabına ve uygulamaya eklenebiliyor. Buna karşılık, kayıp modunda cihazların yayınladığı anahtarlar rastgele ve tamamen opak; Apple’ın bunları bir kimlikle, cihazla veya geliştiriciyle ilişkilendirmesinin yolu yok. Bu projenin çalışmasının nedeni de o anahtarların eninde sonunda Apple sunucularına gitmesi.
      Kopyalar, eşleştirme süreci için geçerli bir anahtarı ele geçirmiş gibi görünüyor. Apple isterse o anahtarı tespit edip tüm cihazları tüm hesaplardan kaldırabilir gibi, ama cihazın kendisi yayın yapmayı sürdürebilir ve yukarıdaki gibi kaba bir yöntemle konumuna erişilebilir. Asıl anahtar sahibinin, Apple daha sonra veritabanında “bu anahtarla imzalanıp Apple ID’ye eklenmiş cihaz sayısını” sayarsa cihaz başına telif ücreti olarak yüklü bir fatura alıp almayacağını da merak ediyorum.
    • “Çin malı kopyalar” resmi destekli ürünler ve yöntemi burada: https://developer.apple.com/find-my/
    • Çin malı kopyalar Apple Find My programını kullandığı için uygulamada görünebilen resmi etiketler.
      OpenHaystack ise farklı anahtarlar kullanan bir hack; kriptografik nedenlerle uygulamada görünemez.
    • Kopyalarda da sınırlamalar yok mu? Örneğin Yön Bulma gibi özellikleri olmadığını hatırlıyorum; başka yerde okuduğum bir şeyi yanlış hatırlıyor da olabilirim.
  • Gerçekten harika. Apple AirTag’i seviyorum ama çok kalın ve şekli de biraz belirsiz.
    Cüzdana koyulabilecek kredi kartı formunda bir AirTag olsa iyi olurdu; kedi tasmasına takılabilecek daha küçük bir AirTag de olsa iyi olurdu.

    • Temu veya Aliexpress’ten yaklaşık 5 dolara üçüncü taraf Find My uyumlu etiketler satın alabilirsiniz. Boyutları normal AirTag’e benzer, ama kasayı atmak istediğinizde sökmesi daha kolay ve daha ucuzlar.
      Elimdeki birini kasasından çıkarıp neyi daha ince yapabileceğime baktım; kalınlığın büyük kısmı CR2032 pil yuvası, hoparlör ve düğmeden kaynaklanıyordu. Hoparlör ve düğme ilk kurulumdan sonra kaldırılabilir gibi; ince kart form faktörü istiyorsanız pil yuvası da çıkarılıp güç üstten değil yandan verilebilir.
    • Cüzdana sığan ultra ince AirTag uyumlu kartlar zaten var.
    • 8,5 pound ağırlığındaki üç renkli kedimin 3 aylık olduğundan beri tasmasında taşıdığı AirTag’in fotoğrafı.
      https://imgur.com/a/r9EGSOc
      Fotoğrafı az önce Meta Stories gözlüğümle çektim.
    • Bunu köpeğimde kullanıyorum ve oldukça minimal.
      https://www.amazon.com/gp/product/B09DCVFNFF/
      Ancak AirTag’in tutucudan dönerek çıkmaması için şeffaf bantla sarmam gerekmişti.
  • Ayrıntılı araştırmadım ama bununla küçük, rastgele veri yükleri bindirip gönderip gönderemeyeceğini merak ediyorum.

    • Mümkün. Yakın zamanda AirTag ağını kullanarak donanım keylogger verisi aktaran bir proje vardı.
      Bilgisayar tamamen izole olsa bile, veri yazan kişinin iPhone’u üzerinden geri dönebilir.
    • Bunu posta kutusu durumunu izlemek için kullanan bir örnek görmüştüm. Posta kutusunun içindeki temas sensörü, tetiklenme sayısına göre yayın anahtarını döndürüyor.
      Anahtar değişip yeni, farklı bir cihaz görünürse posta gelmiş demek; oldukça zekice.
  • Tek bir cihazın Apple sunucularına yükleyebileceği aktarım miktarının üst sınırını merak ediyorum. Apple cihazında hücresel bağlantı ya da Wi‑Fi yoksa bu konum ping geçmişi cihazda ne kadar süre kalır?
    Ayrıca burada hizmet engelleme saldırısı olasılığı olup olmadığını da merak ediyorum. Saldırganın 1 milyondan fazla Bluetooth cihazını taklit etmesi ve kurban tesadüfen yanından geçtiğinde, tek bir yerde muazzam sayıda cihaz varmış gibi telefonun kilitlenip Apple sunucularına sürekli yükleme yapması gibi.

  • Peki iPhone veya Mac gibi başka Apple cihazları olmadan bununla gerçek bir AirTag kurulumu yapılabilir mi?

  • Önceki yazı: https://news.ycombinator.com/item?id=26342504

  • Bunları gerçek Apple Find My uygulamasıyla eşleştirip uygulama içinde bulabiliyor muyuz?