1 puan yazan GN⁺ 2025-01-18 | 1 yorum | WhatsApp'ta paylaş
  • Çin’den satın alınan bir Ethernet-to-USB adaptörünün yerleşik kötü amaçlı yazılım içerdiği iddiası yayıldı; ancak doğrulanan ipuçları daha çok eski bir RJ45-to-USB çipinin sürücü dağıtım yöntemine işaret ediyordu
  • CrowdStrike Falcon taramasındaki “Rusça unsurlar”, Igor Pavlov’un 7-Zip kendiliğinden açılan EXE özellikleriyle örtüşüyordu; dosya içeriği de CoreChips Shenzhen’in SR9900 için yayımladığı açık sürücüyle uyumlu görünüyordu
  • SR9900 hakkında çok az bilgi bulunan bir çip olsa da Realtek RTL8152B’nin doğrudan klonu gibi görünüyor; USB 2.0 ve 100BASE-TX cihazlarının sürücüyü kendi depolama alanı üzerinden sunduğu Windows 7 dönemi bağlamıyla da uyumlu
  • PCB üzerindeki 25x40 tip 512 kB SPI flash, paket yakalama deposu değil; üretim aracının ISO 9660 imajını ve Windows sürücüsünü olduğu gibi yazarak sanal CD-ROM gibi kullandığı bir yapı olarak doğrulandı
  • SR9900 içindeki USB ve Ethernet mikrodenetleyici kodu hâlâ tam doğrulanmamış bir alan; ancak bu vaka tek başına “tuhaf donanımı” doğrudan kötü amaçlı saymak için yeterli kanıt sunmuyor

Tedarik zinciri kötü amaçlı donanım şüphesinin çıkış noktası

  • Bilgi güvenliği alanında büyük ölçekli tedarik zinciri sabotajı iddialarının sık ortaya atıldığı, ancak pratikte çoğunun yanlış çıktığı varsayımıyla başlanıyor
    • Bunun nedeni bu tür saldırıların imkânsız olması değil; uygulanmasının karmaşık, uzun süreli ve riskli olması
    • Gerçekte kimlik bilgilerini çalmak ya da kötü amaçlı bir dosya indirtmek daha basit bir yöntem
  • Genç bir girişimcinin Çin’den satın aldığı Ethernet-to-USB adaptörüne kötü amaçlı yazılımın önceden yüklendiğini sosyal medyada iddia etmesiyle tartışma büyüdü
    • İddiada sanal makineden kaçınma, tuş vuruşlarını yakalama ve Rusça unsurlar kullanma gibi ifadeler yer aldı
    • İlgili gönderiler milyonlarca görüntüleme aldı, ancak somut teknik bilgiler belirsizdi

Açık tarama ve sürücü dosyasının doğrulanması

  • Gönderiyi paylaşan kişinin yayımladığı CrowdStrike Falcon tarama raporu muğlaktı; kesin kanıttan çok kafa karıştırıcı bir ipucu niteliğindeydi
  • Analiz edilen ikili dosya, Igor Pavlov’un geliştirdiği açık kaynak sıkıştırma programı 7-Zip tabanlı kendiliğinden açılan bir EXE idi
    • Rusça unsurlar, yazarın uyruğundan kaynaklanan izler olarak görülebilir
    • Bir sürücüyü kuran kendiliğinden açılan arşiv olması, şüpheli görünen davranışların çoğunu açıklıyor
  • Arşiv içeriği, CoreChips Shenzhen’in RJ45-to-USB çipi için hazırladığı imzalı açık sürücü 2.0.7.0 ile eşleşiyor gibi görünüyordu
    • Birlikte gelen .inf dosyasında şirketin Corechip Semiconductor adını da kullandığı görülüyor

SR9900 çipi ve eski tasarım bağlamı

  • Sürücü, SR9900 adlı bir çipe referans veriyor
    • Çip ve üretici hakkında kamuya açık bilgi çok az
    • İnceleme sonucunda SR9900’ün Realtek RTL8152B’nin doğrudan klonu gibi göründüğü anlaşıldı
  • İngilizce ürün tanıtımında “SR”nin “Supereal” anlamına geldiği ima ediliyor; Supereal marka adı geçmişte sektörde sorun yaratan sahte FTDI FT232RL çipleri bağlamında da karşımıza çıkıyor
  • Bu soy hattının önemli olmasının nedeni, özgün Realtek tasarımının 2013 tarihli veri sayfasına dayanan eski bir tasarım olması
    • Cihaz 100BASE-TX ve USB 2.0 destekliyor
    • Windows 7 dönemindeki çevre birimi uygulamalarıyla örtüşüyor
  • O dönemde CD-ROM sürücüler ortadan kalkmaya başlamıştı; ancak tüm bilgisayarların her zaman çevrimiçi olduğu da varsayılamazdı
    • Bazı çevre birimlerinin kendilerini, kendi sürücülerini içeren yığın depolama aygıtı olarak göstermesi o dönemin bağlamında doğaldı
    • Güvenlik açısından da sürücü dosyasını iletmek için kullanılan diğer geçici yöntemlerden özellikle daha iyi ya da daha kötü olduğu söylenemezdi

SPI flash’ın gerçek amacı

  • Söküm fotoğraflarında SR9900’ün yanında 25x40 tip seri flash IC takılı basit bir PCB görülüyordu
    • 512 kB flash’ın firmware için mi yoksa ele geçirilen paketleri depolamak için mi kullanıldığı temel soruydu
  • SR9900 ve RTL8152B belgeleri, eşlik eden flash IC’nin amacını yeterince açıklamıyordu; devre şeması görsel aramalarında da özgün Realtek çipinin seri pinlerine bir şey bağlanan bir tasarım bulunamadı
  • SPI veri yolu yapısı basittir
    • Host, istediği hızda saat sinyali sağlar
    • Her saat yükselen kenarında çevre birimi “serial in” hattından 1 bit okur, host ise “serial out” hattından 1 bit okur
    • El sıkışma, header, parity bit veya akış kontrolü yoktur
  • Tipik bir seri flash okuma işlemi, READ komutu 0x03 ve 3 bayt adres gönderildikten sonra verinin kesintisiz alınması şeklindedir
    • Bu nedenle gerçek dongle’ı satın alıp bellek içeriğini dump etmek de mümkündü
  • CoreChips web sitesinde Çince orijinal metni bulup aradıktan sonra “SR9900 series chip Windows system mass production tool” ile ilgili eski Çince forum yazıları ve parola korumalı/ücretli indirme arşivleri bulundu
    • “SR9900(A)设计资料1018.rar” dosyası 2,99 dolara indirilip incelendi
    • Arşivde retro görünümlü arayüze sahip SR9900Efuse üretim aracı yer alıyordu
  • Birlikte gelen 168 kB’lık ISO 9660 dosya sistemi imajı, kendiliğinden açılan Windows sürücüsünü içeriyordu
    • Üretim aracı .iso dosyasını SPI flash’a olduğu gibi yazıyor
    • Çip, fiziksel CD-ROM’un yerini alan “yazılım tanımlı” bir CD-ROM gibi davranıyor
    • Disk imajı buradan indirilebilir; parola rj45
  • CD-ROM imajı “ULTRAISO V9.3 CD & DVD CREATOR, (C) EZB SYSTEMS” ile oluşturulmuştu
    • UltraISO, Windows XP dönemini hatırlatan bir araç olarak tanıtılıyor
    • Çalışma koşulu olarak Intel Pentium 166MHz veya üzeri gerekiyor

İsteğe bağlı sanal CD-ROM işlevi ve kalan sınırlamalar

  • Ana arşivde “SR9900(A)设计前必看.docx” belgesi de vardı
    • Otomatik çevrilmiş ifadeye göre, SR9900 bir USB ağ kartı olarak kullanılırken SPI, Windows sürücüsü kurulumu için sanal optik sürücü olarak kullanılabiliyor
    • SPI flash’a Windows için SR9900 sürücüsü önceden yazılabiliyor
    • Flash çip kullanımının isteğe bağlı olduğu açıkça belirtilmişti
  • Bu vakadaki tuhaflığın kötü amaçlı davranıştan değil, eski çevre birimi sürücüsü dağıtım yönteminden kaynaklandığı sonucuna varıldı
    • Donanım laboratuvarı olmadan da açık kaynaklı materyal araması ve sabırla temel soru işaretleri giderilebildi
  • Tam olarak doğrulanmayan alan, SR9900 IC içindeki iki küçük mikrodenetleyici çekirdeği
    • İçeride USB ve Ethernet çekirdekleri var ve her biri kendi dahili kodunu çalıştırıyor
    • Çip üreticisinin işin içinde olduğu varsayılırsa, içeriyi incelemek mümkün olabilir
    • Realtek, RTL8152 için açık kaynaklı Linux sürücüsü sağlıyor; bu sürücü firmware’i bellekte yamalıyor
    • Görünüşe göre şifreleme ya da imza uygulanmış gibi durmuyordu
  • Kötü amaçlı bir USB dongle olasılığı tamamen dışlanamaz
    • İran nükleer programında çalışan bir bilim insanı olsaydınız endişelenebileceğiniz ifade ediliyor
    • Stratejik öneme sahip bir özel şirketin CISO’suysanız belirli bir dikkat gerekebilir
    • Ev ağı kullanımında ise bu vaka tek başına acil bir tehdit olarak değerlendirmek için yeterli dayanak sunmuyor

1 yorum

 
GN⁺ 2025-01-18
Hacker News görüşleri
  • Bu ifade yanıltıcı. Sorun sahte çipin kendisinden çok, FTDI resmi sürücüsünün sahtesini algıladığında çalışmakta olan donanımın PID’sini 0000’a çevirip artık tanınmaz hale getirmesiydi: http://www.rei-labs.net/changing-ftdi-pid/

    • Bazıları gayet iyi çalışıyordu ama bende olanlardan bazılarında CBUS pinlerinde tuhaf davranışlar vardı
    • Sahte çipler, belirsizlik yaratmaları ve çeşitli cihaz türlerine yayılıp ortalığı kirletmeleri nedeniyle de baş belasıydı. Sessizce araya karışan sahte bileşenler kabul edilemez
  • “Intel Pentium 166MHz veya üzeri gerekir” ifadesine güldüm. Yazı da eğlenceli ve “zeki birinin can sıkıntısından, sağduyu açısından zaten belli olan bir sonucun peşine sonuna kadar düşmesi ama bunu kanıtlamak için beklenmedik ölçüde yaratıcılık ve inat gerekmesi” türünü gerçekten seviyorum

    • Bellek çipinin içeriğini dump etmek için Dark Web’e (amazon.com) gidip bir dongle satın almaya hazırdım kısmı da unutulmaz
    • Gerçeğin karmaşık, pahalı ve zahmetli olduğuna iyi bir örnek. Kötü planları olan şeytani bir ulus-devlet aktörünü hiçbir kanıt olmadan varsaymak, bu yazıdaki gibi çalılığın içine dalmaktan çok daha kolay; zaman ve uzmanlık açısından da çok daha ucuz
      Kendini kurban ilan edip bir komployu ortaya çıkardığını söylemek, bunun aslında mühendislikte sık görülen bir yama işi sonuç olduğunu kabul etmekten daha rahat geliyor. Yazara alkış
    • Eğlenceli olmasının yanında, böyle bir çalışmanın asıl metindeki yabancı düşmanlığını açığa çıkarması bakımından da önemli olduğunu düşünüyorum. Devre kartında bir flash çipi mi var? Aman tanrım, kesin Çin casus yazılımıdır!
      Bu, Çin casus yazılımının bir sorun olmadığı anlamına gelmiyor. Ama bunu ayırt edecek temel teknik yetkinliğiniz yoksa “Çin! Çin! Çin!” diye ortalıkta koşturamazsınız. Politikacıların sahte haberleri alıp aptalca politikalar için bahane üretme biçimi bu ve topluma zararlı
  • Bu “kötücül” dongle tweet’ini görür görmez, bunun eskiden uğraştığım şeyle tamamen aynı ürün olduğunu anladım. Kötücül olmaktan çok sadece sinir bozucu bir şey
    https://blog.brixit.nl/making-a-usb-ethernet-adapter-work-sr...
    Benim durumumda CD sürücüsü gibi görünmemesi için SPI flash modülünü devre dışı bırakmıştım, bu yazının yazarıysa SPI’nin isteğe bağlı olduğunu söyleyen belgeleri bile bulmuş. İşin komiği, artık bu yazı yeniden flash’layarak gerçek bir kötücül RJ45 dongle yapmaya yarayan araçları da sunuyor

    • Flash çipi fotoğrafının sol üstündeki U3’ün başına ne gelmiş olabilir?
      Görünüşe bakılırsa 3 pinli SOT23 paket için diyot footprint’i koymuşlar, sonra özel parçanın stoğu olmayınca SOD323 diyodu iki pin arasına yaklaşık 30 derece eğik şekilde lehimlemişler
    • İronik. Güvenlik sorunlarının çoğunun, donanım ve yazılımı iyi niyetle söküp inceleyen ve nasıl “hackleneceğini” anlatan insanlar tarafından yaratıldığına neredeyse eminim
      Eğer bu istenmeyen bir sonuçsa, en başta olsa olsa gizlilik yoluyla güvenlikten ibaretti; insanların buna bel bağlamaması için açığa çıkması daha doğru
    • Sahte CD’ye autorun.inf eklemek mümkün mü?
    • CS ile S0 kısa devre edilince neden çalışmaz hale geliyor?
  • USB cihazlarının depolama aygıtı gibi davranıp kendi sürücülerini sunma yöntemini epey seviyorum. Günümüzde “doğru” yöntem herhâlde Microsoft sunucularına bir şeyler yükleyip cihaz takılınca gerekenleri oradan indirtmek olurdu ama elle sürücü kurmak gereken aygıtlarla yeterince uğraştım; bunun göründüğü kadar kolay olmadığını biliyorum. Örneğin benim hâlâ çok sık üreticiye özel ADB sürücülerini indirmem gerekiyor
    Her neyse, çevre biriminin ilk kuruluma yardımcı olması akıllıca bir yaklaşım ve sürücü cihazın içinde olduğunda resmî indirme kaynağını aramaktan biraz daha kolay oluyor

    • En iyisi baştan kendi sürücüsüne ihtiyaç duymayan cihazlar. Özel sürücü gerektiren ürünler olabilir ama USB bellek ya da fare gibi şeylerin varsayılan sürücülerle doğrudan çalışması, isteyenin de güncellemeyi internetten alması daha doğru
    • Linux’ta kutudan çıktığı gibi çalışması daha da makbul. Zaten çoğu durumda öyle oluyor ve bugün Linux’un en iyi plug and play işletim sistemi olduğunu düşünüyorum
      Ama birden fazla çalışma modu, 4G/LTE USB dongle’lar gibi cihazları yapılandırmayı zorlaştırdı. Bazen USB depolama aygıtı gibi görünüyorlar, bazen bir tür seri aygıt, bazen de CDC-ACM modem benzeri bir şey; doğru moda geçirmek için araçlarla üreticiye özel AT komutlarını birleştirmek gerekiyor. Yalnızca takınca hemen işini yapan basit cihazlara geri dönmek istiyorum
    • Bu durumda biraz daha mantıklı. Çünkü RJ45 dongle sürücüsü kurmanız gereken bir senaryoda büyük olasılıkla ağ bağlantısının olmadığı bir anda olursunuz
    • Bir bakıma NuBus gibi mi? Yanlış hatırlamıyorsam ilk Macintosh kartları genelde en azından asgari düzeyde bir temel sürücüyü ROM’da barındırırdı ve bunlar Forth ya da 680x0 assembly ile yazılmış olurdu
  • Şu anda en ileri uygulamanın ne olduğunu bilmiyorum ama uzun süre boyunca USB çevre birimi IC’lerine küçük bir flash ekleyip VID/PID ve diğer USB yapılandırma bilgilerini orada tutmak yaygındı. Çünkü cihaz takıldığında düzgün şekilde enumerate edilmesi ve doğru sürücüyle eşleşmesi gerekiyordu. Tasarımın yapıldığı döneme bağlı olarak tedarik zincirinde kolay bulunan en küçük kapasite 512kB olabilir, bu yüzden birkaç düzine bayt saklamak için böyle bir çip kullanmak da tuhaf sayılmazdı
    ISO kısmı biraz garip ama dürüst olmak gerekirse bu, kurumsal BT güvenlik politikalarının USB yığın depolama aygıtlarına koyduğu kısıtlamaları aşmak için yaratıcı bir yol. Optik sürücüler farklı bir aygıt sınıfı kullandığı için çoğu kısıtlamayı atlatma ihtimalleri yüksek ve optik sürücü ile ağ adaptörü birleşik bir aygıt olarak enumerate edilirse “USB sürücü” kilitli bir bilgisayarda bile kendi sürücüsünü kurabilir gibi görünüyor

    • Bir dönem Windows, USB bellekten ziyade diskin otomatik çalıştırma özelliğini daha kolay tetikliyordu. Bu disk, emüle edilmiş bir USB disk sürücüsünün içinde olsa bile durum böyleydi
  • Tuhaf olan, flash ekleyip maliyet çıkarmış olmalarına rağmen manyetik izolasyon bileşenlerini atlamış olmaları. Sadece seri kapasitörler var ve jak da entegre manyetikler içeriyor gibi görünmeyecek kadar küçük; ayrıca seri kapasitörleri de birlikte koymaları pek mantıklı değil

    • Vay, iyi yakalamışsın. PCB, ya manyetik bileşenleri ya da seri kapasitörleri takabilecek şekilde tasarlanmış gibi ve kapasitör tarafının DNP olması gerekiyormuş gibi görünüyor
      Satın aldığım USB ethernet dongle’da manyetik izolasyon olmadığını öğrensem gerçekten sinirlenirdim
  • “Kötü amaçlı” USB Ethernet dongle’ları var mı? Elbette var. Ama bu ürün onlardan biri değil
    https://hak5.org/products/lan-turtle

    • Yazıda da bu nokta açıkça kabul ediliyor: kötü amaçlı donanımların hem istihbarat kurumları hem de özel sızma testçileri tarafından uzun zamandır kullanıldığı, hatta yazarın da yaklaşık 10 yıl önce işi için kötü amaçlı bir plazma küresi yaptığı söyleniyor. Buradaki asıl soru, kötü amaçlı bir RJ45-USB adaptörü yapılıp yapılamayacağı değil, bu ürünün gerçekten bir “Çin yine yaptı” vakası olup olmadığıydı
    • Kötü amaçlı Ethernet patch kablolarını da unutmamak gerek: https://imgur.com/Gpgj7w7
  • RJ45 katıları açısından buna 8P8C demek gerekir. Ben artık çıkayım

    • Konektöre RJ45 demek sorun değil ama bu ürüne “RJ45 dongle” denince gözüm seğiriyor. Bu bir Ethernet dongle. RJ45 başka birçok amaç için de kullanılabilir
      Örneğin birçok ağ cihazında konsol portu için USB’yi RS232 seri bağlantısına çeviren bir “RJ45 dongle” da görmüştüm
    • Bugün öğrenmiş oldum. Bu konektörü yaklaşık 25 yıldır kullanıyorum ama buna 8P8C dendiğini ilk kez duydum. Eskiden Amiga’ları birbirine bağlarken Ethernet’in koaksiyel kablo gibi başka fiziksel katmanlar da kullandığını biliyordum ama 8P8C’yi ancak bugün öğrenmiş oldum
    • Görünüşe göre Network+ çalışanlar, RJ45 her geçtiğinde bu yorumu yazıp yazmama ikilemine düşüyor
    • Çıkma, kal ve anlatmaya devam et. Bu önemli. Çünkü ikisi birbirinin yerine çift yönlü olarak kullanılabilecek kavramlar değil
    • RJ31X ve RJ38X de var. İkisi de anahtarsız yapıdaki 8P8C modüler konektör kullanıyordu
  • USB-1000BASE-T ve bugünlerde 2.5GBaseT dongle’larında genel olarak performansı önemseyenler için, USB aygıtı ile PCI Express aygıtı arasındaki farkı bilmek iyi olur
    Bunu, güncel Linux çekirdeği kullanan bir dizüstünde hot-plug yaptıktan sonra sudo lsusb -v ile mi yoksa sudo lspci -v ile mi göründüğüne bakarak anlayabilirsiniz
    Yerel PCIe aygıtları çok daha iyi performans verir, 2.5GBASE-T hat hızına ulaşabilir ve host ile USB üzerinden Thunderbolt uygulaması aracılığıyla haberleşir. Yalnızca USB aygıtları da fena çalışmayabilir ama ucuz olmalarının bir nedeni var. Tabii bazı düşük maliyetli dizüstülerde Thunderbolt desteğinin kendisi olmayabilir; bunu da hesaba katmak gerekir

    • Sadece 2.5GBaseT yok. Bende [1] numaradaki 10GBase-T Thunderbolt dongle var. Sıradan dongle’lardan biraz daha büyük, sabit kablo yerine USB-C dişi porta sahip ve biraz ısınıyor
      Yine de sonuçta bir dongle ve Mac’te iperf3 ile 9.4Gbit/s görüyorum. Doğal olarak PCIe aygıtı olarak görünüyor
      [1] https://www.amazon.com/gp/product/B0DHSWSSBY
    • USB yaklaşımının neden daha kötü olduğunu biraz daha ayrıntılı açıklar mısın? Wikipedia’ya göre 2008’deki USB 3.0 bile 5Gbit/s’ye ulaşabiliyor; bu yüzden naifçe bakınca 2.5GbE hat hızının rahatça mümkün olması gerekir gibi görünüyor
    • Realtek RTL8156, yani USB 2.5G Ethernet, hızlı ve çok kararlı. Sunucu kullanımı için de gayet uygun; i225 yerine bunu tercih ederim
    • Thunderbolt/USB4 değilse, USB üzerinden PCIe diye bir şey yok diye biliyorum; başka bir seçenek mi var?
      Sadece USB portunuz varsa ve performans önemliyse, daha büyük fark muhtemelen USB Ethernet aygıtının CDC-NCM mi yoksa yalnızca CDC-ECM mi uyguladığıdır. CDC-ECM çerçeveleri sürücüye tek tek gönderir ve sürücünün bunları tek tek kontrol edip işlemesi gerekir; bu da ciddi CPU yükü oluşturur. Daha yeni CDC-NCM ise çerçeveleri paketleyerek gönderir
      Benim dizüstümde 1Gbit ECM dongle ile gigabit hıza çıkılabiliyor ama bir CPU çekirdeği %100 kullanılıyor; 1Gbit NCM dongle’da ise CPU kullanımı neredeyse yok
    • Yanlışlıkla PCIe tabanlı bir dongle alsaydım, onu bağlayacağım USB portlarının hiçbirinde çalışmaz diye düşünürdüm. Bildiğim kadarıyla bende sadece USB portu var. Yoksa genelde USB aygıtına fallback yapıp çalışıyor mu?
  • Ethernet portu üzerinden zararlı bir bağlantı oluşturmak son derece zordur, ama USB portu üzerinden zararlı bir bağlantı oluşturmak çok kolaydır. Buna olduğu gibi demek gerekir. Bu, üzerinde Ethernet soketi de bulunan kötü amaçlı bir USB dongle