2 puan yazan GN⁺ 2025-01-21 | 1 yorum | WhatsApp'ta paylaş
  • Bambu Connect'in tersine mühendisliği

  • Bambu Connect'e genel bakış

    • Bambu Connect bir Electron uygulamasıdır ve güvenliği şeffaf olmayan bir şekilde uygulanmıştır; bu nedenle özünde güvenli değildir.
    • Bu rehber, kullanıcıların satın aldıkları ürün üzerinde daha fazla hak sahibi olmasına yardımcı olmayı amaçlar.
  • Güvenlik anahtarı çıkarma süreci

    • Bambu cihazlarıyla iletişimde kullanılan "özel anahtar"ın çıkarılmasına yönelik basit bir süreç açıklanıyor.
    • Bambu Connect dosyalarını çıkarmak için MacOS .dmg dosyasını kullanmak daha kolaydır.
    • Uygulama, kolay okunmaması için asarmor kullanarak korunur ve anahtar belirli bir yolda saklanır.
    • Ghidra ile main.node dosyası yüklenip Auto-Analyze çalıştırıldıktan sonra, GetKey fonksiyonu aranarak anahtar çıkarılabilir.
  • Özel anahtar ve sertifika çıkarma

    • Özel anahtar ve sertifika ek olarak obfuscate edilmiştir; bunları netleştirmek için birden fazla şifre çözme adımı gerekir.
    • Python kullanarak gizli bilgileri çıkarmaya yönelik örnek kod sağlanır.
  • Referans materyaller

    • Bambu Connect'in belirli bir sürümüne ait .dmg dosyası için bir bağlantı verilir.

1 yorum

 
GN⁺ 2025-01-21
Hacker News yorumları
  • Bambu’nun yemle değiştir taktiğine kızgınım. Black Friday indirimi sırasında “bir ölçüde hacklenebilir ve açık” diye düşünüp yazıcıyı aldım, şimdi ise onaylı yazılım ve DRM zinciri olmadan kendi yazıcımda baskı almamı engelleyecek şekilde kilitlemeye çalışıyorlar
    Hack ile ilgili ek bilgiler burada: https://hackaday.com/2025/01/19/bambu-connects-authenticatio...

    • Buna yemle değiştir demek zor; açık kaynaklı 3D yazıcıları destekleyen biri olarak bunun uzaktan bile öngörülebilir olduğunu düşünüyordum. Bambu’nun planı en başından beri oldukça açıktı ve kendileri de “Apple modeli” uyguladıklarını söylüyordu. Gayet şeffaflardı ama insanlar yine de atladı
    • Neden hacklenebilir ya da açık olduğunu düşündüğünü bilmiyorum. X1 çıktığından beri firmware kapalıydı ve kontrol sıkıydı; bu da bu yazıcıyı alanların kabul ettiği ödünleşmeydi
      Hangi yemle değiştir durumunun yaşandığını, eskiden resmen mümkün olup şimdi olmayan şeyin ne olduğunu gerçekten merak ediyorum
    • SD kart ile ayrı bir yazılım ya da çevrimiçi hizmet olmadan baskı alınabiliyor; Prusa yazıcılarla aynı. Kilitlenen kısım sunucu/internet tarafındaki işlevler ve oranın da açık olmasını isterdim ama yerel baskı işlevi hâlâ tamamen kısıtsız çalışıyor
    • Bambu hiçbir zaman “hacklenebilir” ya da “açık” diye reklam yapmadı veya bunu resmen desteklemedi. Desteklenmeyen ve reklamı yapılmayan özelliklere bakıp satın alma kararı vermek akıllıca değil; kızılabilir ama biraz tuhaf görünüyor
    • “Bir ölçüde hacklenebilir ve açık” algısının nereden geldiğini merak ediyorum. Bambu yazıcılardan oldukça memnunum ama onları hiç hacklenebilir diye anlamadım, hele açık olduklarını hiç düşünmedim
      En başından beri RFID filament makaralarının diğer üreticilere yeterince açık olmaması biraz canımı sıkıyordu
  • Anlamadığım nokta, BambuSlicer’ın açık kaynak olması. Üstelik PrusaSlicer’ın bir fork’u olduğu için Bambu bunu kafasına göre yeniden lisanslayamaz
    Lisans, türev eserler konusunda çok katı olan Affero GPL; Bambu eklediği tüm kodu, mantığı ve anahtarları ikili dağıtıma koyuyorsa kaynağı da vermek zorunda. Aksi halde Prusa’nın ve birçok katkıcının telif hakkını ihlal etmiş olur
    Sonuçta Bambu bunu tamamen açık kaynak olarak yayımlamak zorunda kalacak ve amaç boşa çıkacak; zaten sızdığı için büyük olasılıkla öyle olacak ya da kendi slicer’ında bile ayrı bir programdan geçirmek zorunda kalacak

    • BambuConnect, BambuStudio’nun bir parçası değil. BambuLab’in bunu paylaşmak ya da açık kaynak yapmak zorunda kalmaması için kasıtlı olarak ayrılmış durumda
      Şu anki Bambu ağ eklentisi uygulaması da BambuStudio’nun bir parçası değil; BambuStudio açıldığında istemci bunu indiriyor
  • Başta düzgün bir ağ, yani bulut olmayan LAN desteği olmadığı için Bambu’ya çok karşıydım. Sonradan LAN modu eklediler ve gerçekten almayı düşündüm ama üşengeçliğim sayesinde almamış oldum, iyi ki de öyle olmuş
    Bambu, ne yapmaya çalışıyorsun? Güvenlik mi? HP bile böyle bir bahaneye sığınmıyor

    • Bambu Lab bunu aslında oldukça açık ifade etti. Tüketici yazıcıları bulut hizmetine dayanıyor; özel LAN’da baskı alması gereken ya da bunu isteyenler için ise X1E sunuluyor
      https://store.bambulab.com/products/x1e
    • HP, aylık ödeme yapmazsan yazıcıyı tamamen kullanamaz hale gelecek şekilde kilitliyor
    • Bambu’nun açıkça hedeflediği teknik olmayan kullanıcı kitlesi düşünülünce, doğrulamayı değerlendirmek istemelerinin teknik gerekçesi anlaşılabiliyor
      Ama bunu tüm üçüncü taraf entegrasyonlarını bozmadan da kolayca yapabilirler. Ayarlara tamamen yerel çalışan tek bir geçiş düğmesi koymaları yeterli
  • Prusa odağını kaybetmemiş olsaydı Core One’ı alırdım. Burada kastım, BambuLab ile aynı kalitede ve büyük baskı hacmine sahip varsayımsal bir model
    Onun yerine P1S aldım ve teknik olarak gerçekten mükemmel bir makine

    • Prusa odağını kaybetmedi. Hatta daha çok tekerleği icat eden taraf oldular; orijinal slicer’ın bir fork’u olsa da ciddi şekilde geliştirilmiş bir açık kaynak slicer yaptılar ve Bambu’nun yaptığı daha çok bunu alıp yazıcıları AB yerine Çin’de daha ucuza üretmek oldu
      Prusa kendi bünyesinde 600 yazıcı işletiyor. Ticari sınıftalar ve ticari tasarım ya da prototipleme için kullanacak olsam Prusa’yı seçerdim. Bir nedeni de sürekli buluta bağlı bir yazıcının tasarımlarımı yurt dışına göndermesini istememem
  • Louis Rossmann’ın ilgili değerlendirmesi: https://www.youtube.com/watch?v=aIyaDD8onIE

  • Yaklaşık bir ay önce bir Bambu yazıcısı aldıktan sonra bu konuyu yakından takip ediyorum. Elime ulaşır ulaşmaz güvenlik durumu hoşuma gitmemişti ve IoT VLAN içinde izole edip yine de ana bilgisayarımdan kullanabilmek için epey uğraşmam gerekti
    Bu yüzden ilk izlenim olarak güvenlik iyileştirmelerini memnuniyetle karşılıyorum, ama gerçekte ne çıkaracakları konusunda da tedirginim
    Anahtarın nerede kullanıldığını da merak ediyorum. “Anahtarı elde ettik” dendiğini çok gördüm ama o anahtarın ne işe yaradığı, nasıl faydalı olduğu ya da gerçekten faydalı olup olmadığına dair bir açıklama görmedim
    Umarım yakında daha ilginç haberler ve sağlam teknik bilgiler gelir

    • Anladığım kadarıyla LAN üzerinden yazdırmak için Bambu’nun internet sunucusunda kimlik doğrulaması yapmak gerekiyor ve bunu kesinlikle istemiyorum
      Benim kullanım senaryomda bu zaten hiç çalışmıyor. Yazıcılarım Çin bölgesine kilitli ama şu an Çin’de olmadığım için o sunucuya erişemiyorum. Yani firmware’i güncellersem yerel ağımda LAN yazdırmayı da kaybedecekmişim gibi görünüyor ve bu çok rahatsız edici
      Yazıcının kendisi harika ama buna hiç gerek yok
    • Bu güvenlik değil, tedarikçi bağımlılığı ya da DRM. Güvenlik olacaksa kullanıcıya özgü gizli değerlere dayanan bir protokol yeterli olur; özünde bunu Bambu Lab’e özel yazılıma kilitlemek gerekmiyor. Kullanıcı adı/şifre gibi düşünün
      Şu an görünen şey, kullanıcıyı Bambu Lab yazılımına bağlı tutan bir yapı. Bana banka hesabımı Bambu Lab’in böyle bir “güvenlik düzeltmesi” yöntemiyle korumamı söyleseler buna asla izin vermezdim
    • Anahtar, önemli işlemler için, özellikle yazdırma ve G-code komutlarının imzalanması için kullanılıyor: https://git.devminer.xyz/archive/bambu-connect/src/commit/47..., bilinen MQTT komutları listesi: https://github.com/Doridian/OpenBambuAPI/blob/main/mqtt.md
      Firmware bu işlemleri doğrulayıp, imzasız veya yanlış imzalı üçüncü taraf yazılımlardan gelen MQTT mesajlarını reddedebilir
      Bu yaklaşımın büyük kusuru, anahtar çıkarıldığında üçüncü taraf yazılımın yeniden tam erişim elde etmesidir
      Güvenlikte bir iyileşme yok. Yazıcı ya da bulut tarafı zafiyetli olsaydı, bu tür bir obfuscation katmanı hiçbir şeyi engelleyemezdi
      Kimlik doğrulama yöntemi de eskisiyle aynı: https://git.devminer.xyz/archive/bambu-connect/src/commit/47...
  • Bambu’nun yanıtı: https://blog.bambulab.com/updates-and-third-party-integratio...

    • Dürüst olmak gerekirse yanıt pek iyi değil. Daha baştan savunmacı bir şekilde “abonelik gerekecek” gibi asılsız iddiaları sıralıyorlar; oysa endişe, Bambu’nun bunu mutlaka yapacağı değil, bunu yapabilecek hale gelmesi ve yazdırma yoluna Bambu altyapısını zorunlu bir adım olarak sokmanın başlı başına kötü olması
      truth about the update bölümünün ilk maddesinde, “üçüncü taraf yazılımları kısıtlamaya çalışmadıklarını, güvenliği artırırken entegrasyonu sürdürmek için Bambu Connect’i yaptıklarını ve Orca Slicer gibi geliştiricilerle aktif iş birliği içinde olduklarını” söylüyorlar
      Ama OrcaSlicer geliştiricisi [0]’da zaten “Bambu’nun bu değişikliği duyurudan iki gün önce bildirdiğini” söylemişti
      Bambu’nun “iş birliği” dediği şey, Orca’da gerçek yazdırmayı başlatan kendi yazılımlarına yönlendiren uygulamayı desteklemek gibi görünüyor ve bu bana üçüncü taraf yazılımların kısıtlanması gibi geliyor
      “Bu zorunlu bir güncelleme değil, bir beta testi ve seçim sizin” demeleri de tuhaf. Beta firmware’in amacı bir noktada çıkış firmware’i olmak değil mi? Hatta topluluk tepkisi, beta kanalının tam da amaçlandığı gibi işlediğinin kanıtı
      Panda Touch konusunda da Bambu, BTT ile iletişime geçip MQTT protokolünün kötüye kullanımı hakkında uyardığını söylüyor ama BQ bunu [1]’de zaten ele almıştı. Özeti şu: Bambu ile iş birliği yapmaya çalıştılar ama pek karşılık alamadılar, sadece gelecekteki güncellemelerde MQTT’nin durabileceği uyarısını aldılar. Teknik olarak iletişime geçmiş olmaları doğru olabilir ama fiilen “ürünümüzü geliştirmeye çalışmayın” demiş oldular ve sonuçta Bambu, BQ’dan çok kendi müşterilerini zor durumda bırakıyor
      Daha aşağıda, Orca Slicer gibi üçüncü taraf slicer’ları kullanma deneyiminin çok da farklı olmadığını, Orca’nın yeni uygulamayı kolayca açabildiğini ve bu uygulamanın yazdırmayı başlatabildiğini gösteriyorlar. Ama topluluğun şikâyet ettiği şey tam da bu ve Linux desteğinin olmaması gibi sorunları da çözmüyor
      Son olarak yeni bir akış diyagramı sunuyorlar ama yeni yazılımın ne yaptığı eksik. Bu yeni yazılımın bulutla nasıl, ne zaman ve neden iletişim kurduğu görünmüyor
      Güvenlikten az çok anlayan biri için bu değişiklik pek mantıklı değil ve Bambu, uygulamak istediği güvenlik protokolünü açıklamakta da yetersiz kalıyor. Bana göre Bambu Connect uygulamasının bir yerine özel bir sertifika gömmüş ve yazıcı isteklerini imzalamaya başlamış olabilirler; ama özel anahtar zaten ifşa olduysa güvenlikte hiçbir iyileşme yok
      [0] https://github.com/SoftFever/OrcaSlicer/issues/8063#issuecom...
      [1] https://old.reddit.com/r/BIGTREETECH/comments/1i5lzzf/latest...
  • “app.asar dosyasını önce yamalamadan açarsanız şifreli main.js dosyaları ve 100GB’lık yem dosyası oluşur, o yüzden denemeyin” denmesi, tam anlamıyla zip bombası olmasa da ona epey yakın görünüyor ve gerçekten sinir bozucu bir yöntem

  • Bambu’nun bunlardan ziyade sarf malzemesi tedariki ve müşteri desteğini genişletmeye odaklanması gerekiyor. Tek bir talebin çözülmesi haftalar sürüyor ve ilk yanıtın gelmesi için 8 gün beklemek sıradandı

    • Temel filament stoğunu bile tutturamayıp temel desteği de düzgün veremezken print farm aboneliği çıkarmaya hazır olduklarını düşünmeleri biraz komik. Fazla hızlı büyüdüler
    • Neyin düzeltilemez olduğunu bilmiyorum. Yaşadığım sorunların hepsi için YouTube’da çözüm videosu bulunabiliyordu
  • 3D yazıcıların 2D yazıcılar kadar kullanıcıya düşmanca hale gelmesi şaşırtıcı değil. Bugünlerde her zamanki gibi bahane “güvenlik”

    • FDM 3D yazıcı tarafında o kadar çok açık kaynak yazılım, firmware ve donanım var ki, sıradan yazıcılar kadar kötüleşeceklerini sanmıyorum. 2D baskıya kıyasla çok daha maker odaklı bir ekosistem
    • En azından 3D yazıcılar evde yapılabiliyor. Birkaç yıl önce kendim yaptım(https://lucasoshiro.github.io/hardware-en/2020-06-14-3d_prin...) ve bugünlerde daha iyisini yapmak mümkün
    • 3D baskı epeydir var olmasına rağmen, birden fazla kurşun kalem ya da kalem takılabilen düzgün bir 2D plotter modifikasyonu olmamasını gerçekten anlamıyorum
      Pahalı mürekkep tekellerinin bu şekilde hedef alınmamış olması şaşırtıcı; çocukken market kiosklarında boş karta renkli kalemlerle mesaj ve görsel “basıldığını” net biçimde hatırlıyorum. Hiç de yeni bir şey değil
    • Kabul etmek gerekirse 2D yazıcıların baskı sistemi bir kâbus. Örneğin Windows Secured Core PC, tüm üçüncü taraf yazıcı sürücülerini devre dışı bırakıyor ve yalnızca Mopria gibi sürücüsüz açık standartları destekliyor
      İnceleyenlerin söylediğine göre macOS ve Linux’taki CUPS da güvenlik açısından örnek sayılacak durumda değil ve 3 ay önce uzaktan kod çalıştırma tartışması da yaşanmıştı
      İşletim sisteminin baskı yığını bu kadar darmadağınsa, ağa bağlı yazıcı firmware’inde nasıl korkular gizlidir kim bilir. Güvenlik bahanesiyle üçüncü taraf mürekkep kartuşlarını engelliyorlar ama bir mürekkep kartuşu ne yapabilir ki? Yazıcıya gönderdiği veriyle buffer overflow mu tetikliyor? Yoksa yazıcı gerçekten bu kadar aptal da biz fazla mı iyimser davrandık; yani durum ilk izlenimden bile daha az savunulabilir olabilir mi?