BLOG |
Blink duyuruları
Bir saldırgan, yönetim araçlarımızdaki bir güvenlik açığını nasıl kullanarak 24 hesaptan 6,61 BTC çaldı, her bir hesabı nasıl geri kazandırdık ve hangi değişiklikleri yaptık.
19 Eylül Cumartesi günü, saat 11:39 UTC’de bir müşteri, mühendislerimizden birinin telefonunu arayarak Blink’teki bakiyesinin kaybolduğunu bildirdi. On beş dakika sonra tüm saklama hizmetini durdurmuştuk. Aynı gece arıza giderildi. Ertesi Perşembe günü, etkilenen her müşteriye Blink hissedarları tarafından karşılanan tam bakiyesi iade edildi. Hiçbir müşteri herhangi bir kayıp yaşamadı.
Bitcoin’leri çalınan 22 müşterimize ve hesap bilgileri sorgulanan 3.817 kişiye: özür dileriz.
Olay şöyle gelişti: Bir saldırgan, 17 Eylül’de ücretsiz bir Blink hesabı açtı. İki gün sonra, yönetim araçlarımızın izinleri doğrulama yöntemindeki bir açığı istismar ederek bu hesaba yönetici yetkileri verdi. Bu yetkilerle 35 hesabın e-posta adresini veya telefon numarasını değiştirdi, hesap sahipleriymiş gibi bu hesaplara giriş yaptı, 14 hesabın para çekme limitlerini yükseltti ve 09:51 ile 11:54 UTC saatleri arasında 24 hesaptan bitcoin çekti; bu işlemlerin bir kısmı blok zinciri üzerinden, bir kısmı ise Lightning adresi üzerinden, müşterilerin kendi varlıklarını kendileri yönetmeye geçmelerine yardımcı olmak için oluşturduğumuz akış yoluyla gerçekleştirildi. Saldırgan yaklaşık 6,61 BTC elde etti.
Para kime aitti? Saldırgan, 36 emanet hesabını hedef aldı. Bir tanesi şans eseri kurtuldu: e-posta adresini değiştirme girişimleri başarısız oldu ve saldırgan başka bir hesaba geçti. Ele geçirdiği 35 hesaptan 24'ünden para çekti. Dokuzunda iki faktörlü kimlik doğrulama vardı ve bu hesaplardan hiçbir şey kaybedilmedi (aşağıya bakın); son iki hesabın kontrolünü ise hizmeti kapatmamızdan sadece birkaç dakika önce ele geçirdi, bu nedenle bu hesaplardan hiçbir şey çekilmedi. Boşaltılan 24 hesabın 22’si müşterilere aitti; ikisi ise Blink grubuna ait şirketlere aitti. Her bir hesap, 24 Eylül’de olay öncesindeki tam bakiyesine geri döndü; para çekme komisyonları da iade edildi ve bloke edilen hesaplar o günden itibaren yeniden açıldı. Blink, zararı üstleniyor.
Saldırının etkilemediği kısım. Para, günlük ödemeler için ayırdığımız işletme bütçemizden çıktı. Müşterilerin fonlarının çoğu, farklı kişilerin elinde bulunan birden fazla anahtarın kullanılması gereken çoklu imza sistemine sahip soğuk depolamada tutuluyor ve yönetim araçlarımızdan hiçbiri bu fonlara erişemez. Saklama hizmeti sunulmayan hesaplar hiçbir zaman risk altında değildi: o anahtarlara sahip değiliz, dolayısıyla saldırganın alabileceği hiçbir şey yoktu.
Gördükleri. Saldırı sırasında ayrıca 3.817 başka hesabın verilerini de inceledi. Bazı durumlarda bu veriler bir telefon numarası veya e-posta adresi içeriyordu. İsimler, kimlik belgeleri, adresler, şifreler veya tohum cümleleri görülmedi. İletişime geçebildiğimiz her hesap sahibine, görülen bilgilerin ayrıntılarını içeren bir mektup yazdık.
Saldırıyı durduran şey: İki faktörlü kimlik doğrulama. Boşaltılan 24 hesabın hiçbirinde bu özellik etkin değildi. Saldırıya uğrayan hesapların dokuzunda ise etkin durumdaydı. Saldırgan bu dokuz hesaba giriş yaptı, ancak hesapları kullanmaya yönelik 18 denemesinin her biri reddedildi. Hiçbir kayıp yaşanmadı. Bunu vurguluyoruz çünkü bu olaydan çıkarılacak en önemli derslerden biri budur: 2FA işe yaradı ve büyük para çekme işlemleri ile yüksek bakiyeli hesaplar için bunu zorunlu kılmalıydık.
Yaptığımız değişiklikler. Güvenlik açığı aynı gün giderildi ve 21 Eylül’de üçüncü bir koruma katmanı devreye girdi. Yönetim araçları artık internete açık değildir. Bir müşterinin e-posta adresini veya telefon numarasını değiştiren yönetim işlevleri, yeniden tasarlanana kadar herkes için devre dışı bırakılmıştır. Tüm müşteri API anahtarları iptal edilmiştir. Operasyonel cüzdan artık eskisine kıyasla çok daha az veri saklamaktadır. Tam liste aşağıda yer almaktadır.
Para nerede? Bir kısmı, saldırganın parayı çektiği adreslerde hâlâ bulunuyor. Geri kalanı ise saldırganın sahip olduğu diğer cüzdanlara aktarıldı; buradan yaklaşık 5 BTC, zincirler arası bir takas hizmeti aracılığıyla dışarı çıktı ve küçük bir miktar da Binance’e ulaştı. El Salvador’da Cumhuriyet Başsavcılığı’na suç duyurusunda bulunuldu ve finansal düzenleme kurumuna bildirimde bulunuldu; Próspera ZEDE’de ise polise suç duyurusunda bulunuldu ve finansal düzenleme kurumuna bildirimde bulunuldu. Parayı geri alabileceğimizi sanmıyoruz; aşağıdaki ödül, bu durumu değiştirebilecek kişiye aittir.
%50'lik bir ödül. 19 Eylül'de çalınan 6,61 BTC'nin herhangi bir kısmının, bize sağladığınız bilgilerin doğrudan sonucu olarak geri kazanılması durumunda, bu miktarın %25'ini ödeyeceğiz: tümü geri kazanılırsa yaklaşık 1,65 BTC'ye kadar. Geri kazanılan toplam tutarın %25’i ise Bitcoin Beach, Bitcoin Ekasi, Afribit Kibera ve Güney Küresel’deki Bitcoin döngüsel ekonomileri arasında ortaklaşa seçilecek kuruluşlara aktarılacaktır. Sağlanan bilgiler sonucunda fonların dondurulmasına yol açılırsa, ödül bu fonlar bizim kontrolümüz altındaki bir cüzdana geri aktarıldığında ödenecektir. Bu teklifin son geçerlilik tarihi yoktur. Lütfen bounty@blinkbtc.com adresine yazın. Yürürlükte olan tam şartlar blink.sv/bounty-terms adresinde yer almaktadır.
Ne yapmalısınız? İki faktörlü kimlik doğrulamayı etkinleştirin (Ayarlar → Güvenlik ve gizlilik → İki faktörlü kimlik doğrulama) ve bunu e-postanızda da etkinleştirin. Yalnızca telefon numaranızla giriş yapıyorsanız, oturum açmak için bir e-posta adresi ekleyin: bir telefon numarası, SIM kartın kopyalanması (SIM swap) yoluyla çalınabilir. API kullanıyorsanız, yeni bir anahtar oluşturun. Bu olayla ilgili bağlantı içeren herhangi bir e-postayı veya SMS'i görmezden gelin: Etkilenen kullanıcılara Blink uygulaması içinden mesajlar gönderiyoruz. Sizden asla PIN kodunuzu, şifrenizi, tohum cümlenizi veya erişim kodunuzu istemeyiz; ayrıca paranızı başka bir yere aktarmanızı da talep etmeyiz. Hesabınızla ilgili bir mesaj gönderirsek, o mesajdaki adımları izleyin. Anahtarlarınızı kendiniz saklamayı tercih ediyorsanız, Haziran ayından itibaren uygulamada saklama hizmeti olmayan hesaplar mevcuttur (Ayarlar → Saklama hizmeti olmayan hesaba geç).
Blink, bir düzine zaman diliminde yaklaşık yirmi kişi tarafından işletiliyor; dolayısıyla herkes için aynı anda bir “Cumartesi sabahı” diye bir şey söz konusu değil. UTC saat 11:39'da Hong Kong'da gece çöküyordu, Avrupa'da öğle yemeği vaktiydi ve El Salvador'da henüz gün doğmamıştı. Arayan müşteri, bakiyesinin sıfır olduğunu ve e-posta adresinin değiştirildiğini fark etmişti. Altı dakikadan kısa bir süre içinde ekip bir görüşmeye başladı, ilk hesaplar yönetim panelinden manuel olarak bloke edildi ve en önemli karar alındı: her şeyi kapatmak.
Saat 11:54'te tüm saklama sistemini devre dışı bıraktık. Bu karar, her bir Blink kullanıcısının yaklaşık sekiz saatlik hizmet kaybına neden oldu. Hizmetin durduğu anda para çekme işlemleri de durduruldu. Saat 12:41'de ilk kamuoyu duyurusunu yayınladık: “Hizmetler askıya alındı, soruşturma devam ediyor.” Saat 16:06'da ikinci duyuruyu yayınladık: “Etkilenen her hesap tamamen telafi edilecektir.”
Saat 16:17’de ilk düzeltme uygulandı ve saat 17:50’de üçüncü düzeltme yapıldı. Operasyonel cüzdandaki kalan bakiyeler, saldırganın para çekme işlemleri için imzalanmış olan ödemelerin geri dönmesi amacıyla yeni adreslere aktarıldı. Saat 19:34'te, saldırganın müdahale ettiği 36 hesap hariç, herkes için hizmeti yeniden devreye aldık; bu hesaplar, düzgün bir şekilde eski durumuna geri getirilebilene kadar bloke edilmiş olarak kaldı. İletişim bilgilerini değiştiren yönetim işlevleri ikinci bir güvenlik önlemi olarak dondurulmuş halde kaldı; düzeltme aynı gece test ortamında doğrulandı ve sonraki günlerde, durumu tam olarak anladığımızdan emin olmak için düzeltme öncesindeki kodun bir kopyası üzerinde saldırıyı kendimiz tekrarladık ve her katmanın artık saldırıyı engellediğini teyit ettik.
Tüm saatler UTC'ye göredir; El Salvador, UTC'den altı saat geridedir.
Ekim 2023’ten 19 Eylül 2026’ya kadar, ücretsiz bir Blink hesabı ve bir tarayıcıya sahip olan herkes, destek ekibimizin yetkilerini kendine atayabiliyordu: herhangi bir müşterinin hesabındaki e-posta adresini veya telefon numarasını değiştirebilir, ardından o müşteri olarak oturum açabilir ve para çekme limitlerini artırabilirdi. Nasıl yapıldığını tam olarak yayınladık, çünkü kodumuz açık kaynaklıdır, diğer hizmetler bu koddan oluşturulan dağıtımları kullanmaktadır ve temel hata —bir tokenin, ne yapmaya yetkisi olduğu konusunda kendisi hakkında söylediklerine güvenmek— aynı şekilde oluşturulmuş herhangi bir sistemde de yapılabilir.
Ekibimiz, müşterilere yardımcı olmak için bir yönetim arayüzü kullanıyor: bir hesabın kilidini açmak, bir telefon numarasını düzeltmek, limit artırmak gibi işlemler için. Erişim, OAuth2 üzerinden sağlanıyor; bu, başka bir hesabınızla bir web sitesinde oturum açmanıza olanak tanıyan standartla aynıdır. Üç sorun vardı ve bunların hiçbiri tek başına dikkat çekici değildi.
Onay ekranı tarayıcıya güveniyordu. Bir uygulama izin istediğinde, onay sayfamız izin listesini doğrudan tarayıcının gönderdiği formdan alıyordu ve bunu olduğu gibi OAuth sunucumuza aktarıyordu. Bu liste, uygulamanın gerçekte talep ettikleriyle hiçbir zaman karşılaştırılmıyordu. Dolayısıyla, herhangi biri forma "bana yönetici izinlerini de ver" yazan gizli bir alan ekleyebilirdi ve sunucu —haklı olarak kendi onay sayfasına güvenerek— "yönetici" yazan tamamen geçerli bir token üretirdi.
Yönetim API’si herhangi bir jetona güveniyordu. Önündeki erişim denetleyicisi, OAuth sunucumuzdan gelen geçerli herhangi bir jetonu kabul ediyordu: herhangi bir izin talep etmeden, jetonun yönetim API’si için olup olmadığını doğrulamadan ve müşterinin kim olduğunu kontrol etmeden. Jetonun sahip olduğunu beyan ettiği izinleri, yönetim sunucusunun kullandığı kimlik bilgilerine kopyalıyordu.
Yönetim sunucusu, izin metinlerine güveniyordu. Metinde “yönetici” yazıyorsa, o kişi yönetici sayılıyordu. Jetonun sahibi olan kişinin bilinen bir yönetici olup olmadığına dair herhangi bir doğrulama yapılmıyordu.
Bu üç güvenlik açığı bir araya geldiğinde, ücretsiz bir hesap ve bir tarayıcı yeterli oluyordu. Hiçbir personel hesabı veya kimlik bilgisi kullanılmadı ve kötü amaçlı yazılım da yoktu. Bu token'ları kendi kimlik sistemimiz oluşturdu ve bu nedenle herhangi bir alarm tetiklenmedi. Saldırgan önce en bariz yolu denedi — ana yetkilendirme talebine izinler eklemek — ve yapılandırmamız bunu doğru bir şekilde reddetti. Ardından onay sayfasını denedi ve bu yoldan geçmeyi başardı.
Benzer bir yığın üzerinde denetim yapacaklar için geçmiş önemlidir. Güvenlik açığı, Ekim 2023’te arka arkaya gelen üç çekme isteği (pull request) ile ortaya çıktı: İlki, yönetici API’sının OAuth jetonlarını kabul etmesini sağlarken, ayrı bir düzenleyici doğrulaması da API’yı korumaya devam ediyordu; ikincisi bu düzenleyici doğrulamasını kaldırdı; üçüncüsü ise tüm kullanıcılara OAuth onay ekranına erişim izni verdi. Mayıs 2026’da yapılan bir güvenlik güçlendirme değişikliği (PR #158), yönetim sunucusunda yönetim izinleri gereklilikleri ekledi, ancak bu izinleri tokenin kendisinden okuyordu ve onay sayfası hâlâ herkesin bu izinleri eklemesine izin veriyordu. Bu güvenlik açığı yaklaşık üç yıl boyunca istismar edilebildi.
Düzeltmeler herkese açıktır: Onay sayfası artık uygulamanın talep etmediği hiçbir izni reddediyor (PR #853); yönetim jetonları, yalnızca yönetim API'si için verilen bir yetki kapsamına sahip olmalıdır; bu yetki kapsamını istemci jetonları elde edemez (aynı PR; PR #855, bu doğrulamayı üretim ortamında ayrı olarak etkinleştirmemizi sağladı ve bunu 21 Eylül'de gerçekleştirdik); ve iletişim bilgilerini değiştiren yönetim işlevleri, ayarlar aracılığıyla herkes için tamamen devre dışı bırakılabilir (PR #861).
Kod, 2023 yılında, Blink platformunun 2019’dan beri geliştirildiği şirket bünyesinde yazıldı ve Ekim 2024’te, Blink’in el değiştirip bağımsız bir şirket haline gelmesiyle birlikte bizim mülkiyetimize geçti. Platformu geliştiren mühendislerden ikisi bize katıldı, ancak idari yetkilendirme akışını yazan mühendisler gelmedi; bu nedenle Blink ekibinde kimse, neden önceden bir izin doğrulama sürecinin mevcut olduğunu bilmiyordu. 2025 yılı boyunca mühendislik çalışmalarımızın büyük bir kısmı, yıllar içinde birbirine iç içe geçmiş olan sistemlerimizi o şirketinkilerden ayırmaya adanmıştı: kendi altyapımız, kendi hesaplarımız, kendi sunucumuz.
2026 yılında, faaliyet gösterdiğimiz birçok ülkede mevzuat değişikliklere uğradı. Google, on beş pazarda cüzdan uygulamaları için yerel lisanslar talep etmeye başladı; Avrupa Birliği’nin MiCA kurallarına ilişkin geçiş süresi 1 Temmuz’da sona erdi ve pek çok başka yargı bölgesi de yeni yasalar kabul etti ya da önceki yıllarda kabul edilen yasaları yürürlüğe koydu. Buna yanıt olarak, daha fazla lisans talep etmek yerine müşterilerimizin paralarını daha az tutmaya karar verdik: saklama hizmeti sunmayan bir cüzdan geliştirdik ve piyasaya sürdük, kırktan fazla ülkede saklama hizmetini sonlandırdık ve on binlerce kullanıcıyı, anahtarlarını kendilerinin sakladığı hesaplara geçirdik. Haziran ayında yayınladığımız, saklama hizmeti sunmayan hesapların piyasaya sürülmesine ilişkin yazımızda bu çalışmaları ayrıntılı olarak anlattık. Yaklaşık yirmi kişilik bir ekip için bu, yılın büyük bir bölümünü aldı.
Devraldığımız kodun güçlendirilmesi, bu iki projenin gerisinde kaldı. Çok uzun süre ertelendi. İlk olarak, güvenlik bulgularının sınıflandırılma ve atanma şeklini değiştirdik.
Yüksek işletme sermayesi de bu olayın bir parçasıdır. Göç sürecine yönelik bir tampon olarak bu sermayeyi normal seviyesinin yaklaşık iki katına çıkarmıştık; göçün ilk dalgası saldırıdan bir veya iki hafta önce sona ermişti. Henüz bu seviyeyi düşürmemiştik. Bu yüzden kayıp bu kadar büyük oldu. O zamandan beri bu seviyeyi o rakamın bir kısmına indirdik ve Lightning ’un işletme bakiyesi giderek daha da azalıyor.
Saldırgan, aynı yöntemle 35 hesabı ele geçirdi: yönetim araçlarını kullanarak e-posta adresini veya telefon numarasını değiştirdi, erişim kodu talep etti ve oturum açtı. 24 hesaptan para çekti. Dokuzunda ise engele takıldı. Bu dokuz hesapta iki faktörlü kimlik doğrulama (hesap sahibinin telefonundaki bir kimlik doğrulama uygulaması) etkinleştirilmişti ve 2FA ile korunan bir hesapta, yalnızca erişim kodu ile açılan bir oturumda para transferi yapılamaz. Kayıtlarımız, saldırganın bu dokuz hesapta yaptığı 18 denemenin tam da bu güvenlik kontrolü nedeniyle başarısız olduğunu gösteriyor. Her birinde sıfır kayıp yaşandı.
İki Aşamalı Kimlik Doğrulama (2FA), yönetim araçlarımızın ele geçirilmesini engelleyemedi. Ancak bireysel hesaplardan para çalınmasını engelledi. Para kaybına uğrayan 24 hesabın hiçbirinde bu özellik etkin değildi. Büyük tutarlı para çekme işlemleri ve yüksek bakiyeli hesaplar için bu özelliği zorunlu kılmalıydık.
Bunu okuduktan sonra tek bir şey yapacaksan, şunu yap: Ayarlar → Güvenlik ve gizlilik → İki faktörlü kimlik doğrulama. Ardından bunu e-postanda da etkinleştir, çünkü Blink’e giriş kodların oraya gelebilir.
Saldırının ertesi günü olan Pazar günü, neyin kimin elinden alındığını, satoshi bazında, defter kayıtları, blok zinciri ve Lightning adresindeki düğümle karşılaştırılarak tespit etmiştik; Yönetim Kurulu da bu tutarın nasıl karşılanacağına karar vermişti. Blink hissedarları, tutarın tamamını 24 saatten kısa bir sürede faizsiz bir kredi olarak taahhüt ettiler; bu tutarı Çarşamba günü ödediler ve her hissedara kendi payını aynı koşullarda finanse etme teklifi sunuldu. 24 Eylül Perşembe günü, etkilenen tüm bakiyeleri iade ettik ve dolandırıcılık amaçlı para çekme işlemleri nedeniyle tahsil ettiğimiz komisyonları geri ödedik. Etkilenen müşterilerimize, kamuoyuna herhangi bir açıklama yapmadan önce doğrudan bir mesaj gönderdik; verileri sorgulanan kişilere de aynı şekilde bilgi verdik.
Bu sıralama kasıtlı olarak belirlenmiştir. Öncelikle, kullanıcılara haklarının iadesi; geri kalan her şey, ondan sonra. Cuma günü hissedarlarımıza şu anda okuduğunuz bilgilerin aynısını ilettik ve yetkililer raporlarımızı alana kadar bu yayını erteledik: El Salvador Cumhuriyet Başsavcılığına yapılan suç duyurusu, El Salvador'daki finansal düzenleme kurumu ve siber güvenlik kurumuna yapılan bildirimler, Próspera ZEDE Polis Departmanına yapılan suç duyurusu ve Próspera'nın finansal düzenleme kurumuna yapılan bildirim.
O hafta ile ilgili kayda geçirmek istediğimiz iki husus var. Pazar günü, saldırgan bize ödeme talep eden bir mesaj gönderdi ve kullanıcı verilerini yayınlamakla tehdit etti. Ödeme yapmadık ve yapmayacağız; bu mesaj artık onun şantaj girişiminin kanıtıdır. Pazar gününden Çarşamba gününe kadar, saldırganın e-posta adresinin hâlâ kayıtlı olduğu dört engellenmiş hesaba giriş yapmaya devam etti; çünkü bu hesapları henüz sıfırlamamıştık. Yapmaya çalıştığı her ödeme reddedildi ve hiçbir şey değişmedi. Bunun mümkün olmaması gerekirdi. Artık yeniden etkinleştirme prosedürümüz, önce iletişim bilgilerini geri yükler, tüm oturumları kapatır ve ancak ondan sonra hesabın kilidini açar.
Böyle bir zararı üstlenen ve kullanıcılarına tazminat ödeyen ilk şirket biz değiliz. Borsalar ve cüzdan sağlayıcıları bizden önce bunu yaptı. Bir saklama hizmetinin uğradığı zarar, o saklama hizmetine aittir.
Blink, 19 Eylül’de sıfırdan başlamamıştı. Müşterilerin fonlarının çoğu, çeşitli kıtalara dağılmış, çoklu imza sistemine sahip soğuk depolama alanlarında bulunuyordu; hizmet tam rezervle çalışıyordu; iki faktörlü kimlik doğrulama mevcuttu ve bir süredir kullanıcıları bunu etkinleştirmeye teşvik ediyorduk; ayrıca para çekme işlemleri hesap seviyesine göre sınırlandırılmıştı. Bunların neredeyse tamamı saldırıya karşı dayanıklıydı: saldırgan soğuk depolamaya asla ulaşamadı, saklama hizmeti sunulmayan hiçbir hesaba dokunamadı ve 2FA’nın etkin olduğu her hesapta başarısız oldu. Somut olarak başarısız olan, devraldığımız yönetim araçlarındaki yetkilendirme doğrulamaları ve hizmet kesintilerini izleyen, ancak hiçbir yöneticinin yapmaması gereken bir şey yapan bir yöneticiyi izlemeyen izleme sistemiydi. Genel olarak başarısız olan şey önceliklerimizdi: mülkiyet değişikliği ve ardından emanet dışı geçiş, ekibin büyük bir kısmını meşgul etti ve miras aldığımız kod üzerindeki güvenlik çalışmaları geri planda kaldı.
İlk günlerde yaptıklarımız:
Platformun tamamı güçlendirilmeye devam ediyor.
Ve bugün başlayan iki taahhüt:
1.Geri kazanım ödülü. 19 Eylül’de çalınan 6,61 BTC’nin herhangi bir kısmının, bize sağladığınız bilgilerin doğrudan sonucu olarak geri kazanılması durumunda, bu tutarın %25’ini ödeyeceğiz: tümünün geri kazanılması halinde bu tutar yaklaşık 1,65 BTC’ye kadar çıkabilir. Geri kazanılan toplam tutarın %25’i ise Bitcoin Beach, Bitcoin Ekasi, Afribit Kibera ve ortaklaşa seçecekleri, ek desteğe ihtiyaç duyabilecek Güney Küresel’deki Bitcoin döngüsel ekonomilerine aktarılacaktır. Bu teklifin son geçerlilik tarihi yoktur; lütfen bounty@blinkbtc.com adresine yazın. Ödül, yalnızca bizim kontrolümüz altındaki bir cüzdana geri dönen fonlarla ödenir. Çalınan fonlar, zincir üzerinde bc1q5vek5m04l6v277t6exhrurylqsmtvg2l30pt99 adresine veya Lightning aracılığıyla Lightning bounty@blink.sv adresine iade edilebilir.
2.Güvenlik sorunlarını bildirmek için ödüllü bir kanal. bounty@blinkbtc.com adresine yazın. Her bildirimi en geç 72 saat içinde teyit ederiz ve sorun çözülene kadar güvenlik ekibimiz konuyla ilgilenir. Blink yazılımına yönelik iyi niyetli araştırmalar memnuniyetle karşılanır; bir güvenlik açığını sorumlu bir şekilde bildiren kimseye karşı herhangi bir işlem başlatmayız. Kritik bulgular için 0,1 BTC’ye kadar takdirimize bağlı ödüller veriyoruz. Politikanın tam metni blink.sv/bounty-terms adresinde yer almaktadır. Bu kanal, söz konusu olay nedeniyle oluşturulmuştur: Her bildirimin bir yere ulaşması, yanıt alması ve çözülene kadar sorumlu bir kişinin bulunması gerekir.
%50’si ikiye bölünür: %25’i, geri kazanılmasını sağlayacak bilgiyi sağlayan kişiye verilir; geri kazanılan toplam tutarın diğer %25’i ise Bitcoin Beach, Bitcoin Ekasi, Afribit Kibera ve bunların seçeceği döngüsel ekonomilere aktarılır. Bu fonların büyük olasılıkla sonsuza dek kaybolduğuna inanıyoruz. Çalınan Bitcoin’i geri kazanmak çok zordur; bu nedenle bizim için geri kazanılan her miktar büyük bir zaferdir ve saldırganı bulmamıza yardım etmeleri için ne kadar çok kişiyi teşvik edersek o kadar iyi olur. Böyle birinin bu işten bu kadar kolay paçayı sıyırmasına izin vermemeliyiz ve o parayı harcamasını olabildiğince zor ve rahatsız edici hale getirmek istiyoruz.
İkinci %25’i ekledik çünkü, parayı çalan saldırgana şunu hatırlatmak istiyoruz: Misyonumuza bağlı olan biz ve hissedarlarımız, bu parayı bin kez daha, tabandan Bitcoin’in benimsenmesini desteklemek ve dünya çapında bankacılık hizmetlerine erişimi olmayan topluluklarda Bitcoin ile çalışmalar yürüten kişileri teşvik etmek için kullanmayı tercih ederdik. Bundan utanmalısın.
19 Eylül’den bu yana fonların izini kesintisiz olarak takip ettik. 1 Ekim itibarıyla, alıcı adreslerde yaklaşık 0,87 BTC hâlâ hareket etmemiş durumdaydı. Geri kalan kısım ise saldırganın diğer cüzdanlarına aktarıldı; bu cüzdanlarda da Blink’ten çıkmamış bitcoinler bulunuyor. Bu cüzdanlardan yaklaşık 5,05 BTC, bir zincirler arası takas hizmeti (NEAR Intents) aracılığıyla dışarı çıktı: 1 BTC 21 Eylül’de, yaklaşık 4,05 BTC ise 28 ve 29 Eylül’de. 22 Eylül’de yaptığımız veri saklama talebimiz yanıtlanmadı ve yetkililerden bu hizmetin kayıtlarını temin etmelerini talep ettik. Yaklaşık 0,012 BTC, Binance’teki bir hesaba ulaştı ve Binance güvenlik ekibi işbirliği yaparak bu parayı donduruyor. Saldırgana ait bitcoinler de bu paraya karıştığı için, bu rakamların toplamı 6,61 BTC’ye ulaşmıyor. Zincir üzerindeki adresler ekte yer almaktadır.
Kodumuz açıktır ve bizim geliştirmediğimiz hizmetler bu koddan türetilmiş dağıtımlar kullanmaktadır. Güvenlik açığına yol açan model —tarayıcının izin listesine dayanan bir onay akışı ve hedef kitleyi doğrulamadan geçerli herhangi bir jetonu kabul eden bir erişim denetleyicisi— mevcut Blink depolarından daha eskiye dayanmaktadır ve arşivlenmiş kamuya açık geçmiş kayıtlarında yer almaktadır. Bildiğimiz türetilmiş dağıtımların işletmecilerini özel olarak uyardık; bunlardan biri düzeltmeyi aynı gün uyguladı. Kodla ilgili güvenlik uyarılarımız, CVE kimliği talep edilmiş olarak GitHub'da github.com/blinkbitcoin/blink/security/advisories adresinde yer almaktadır. Blink kodunu temel alan bir sistem işletiyorsanız ve bizden haber almadıysanız, lütfen bounty@blinkbtc.com adresine yazın; bir dağıtım işlettiğinizi doğruladığımızda, size tam doğrulama prosedürünü paylaşacak ve kontrol etmenize yardımcı olacağız. Düzeltmeler, yukarıda bağlantısı verilen üç PR’dir. Saldırganlar şu anda kamuya açık kodu makine hızında taramaktadır. Bu kodu işletiyorsanız, bugün kontrol edin.
Blink, insanların işlevsel bir para sistemine ihtiyaç duyduğu küçük bir sahil kasabasında, günlük yaşam için kullanılmak üzere bir Bitcoin cüzdanı olarak hayata geçti. 19 Eylül’de, 22 müşterimiz için sistem işlevini yerine getiremedi. Her biri bize paralarını emanet etmişti; ki bir saklama hizmetinin varlık nedeni de tam olarak budur.
Müşterilerimize sabırları için; birkaç saat içinde yardım eden araştırmacılara ve borsalara; tereddüt etmeden şirkete destek veren hissedarlara; ve bir cumartesi gününü tamamen bu işe ayırıp uykusundan ödün veren ekibimize: teşekkür ederiz. El Zonte’de kazandığımız gibi güveni yeniden kazanacağız: her gün yanlarında olarak ve ödemelerin sorunsuz bir şekilde gerçekleşmesini sağlayarak.
Param risk altında mıydı? Hesabın açıksa ve sana bir mesaj göndermediysek, saldırganın hesap bilgilerine eriştiğine dair bir kaydımız yoktur ve hesabından hiçbir şey alınmamıştır. 19 Eylül’de hesabı kapatana kadar bu güvenlik açığı herhangi bir emanet hesabına karşı kullanılabilirdi; ancak 2FA’nın etkin olduğu bir hesapta para transferine izin verilmezdi. Müşterilerimizin fonlarının çoğu, yönetim araçlarının erişemeyeceği soğuk depolamada tutulmaktadır. Eğer bir emanet dışı hesabınız varsa, anahtarlarınız hiçbir zaman sunucularımızda bulunmamıştır ve saldırganın alabileceği hiçbir şey yoktu.
Saldırgan benim verilerime ulaştı mı? 3.817 hesabın verileri incelenmiştir. İletişime geçebildiğimiz her hesap sahibine, tespit edilen bilgileri içeren bir mesaj gönderdik. Hesabınız aktif durumda olmasına rağmen bu mesajı almadıysanız, hesabınız incelenenler arasında yer almamıştır. Hesabınızla ilgili herhangi bir inceleme yapıldıysa, nelerin incelendiğini bize her zaman sorabilirsiniz: support@blink.sv.
Blink izleme sistemi neden saldırıyı tespit edemedi? Uyarı sistemimiz, hizmet kesintilerini tespit etmek üzere tasarlanmıştı. Hiçbir yöneticinin yapmaması gereken eylemlerde bulunan bir yöneticiye yönelik herhangi bir kural içermiyordu ve saldırgan, kendi sistemimizin vermiş olduğu erişim belirteçlerini kullanarak bizim kendi araçlarımızı kullanıyordu.
Operasyonel cüzdanda neden bu kadar çok para vardı? Saklama hizmeti sunulmayan hesaplara geçiş için bir güvenlik yedeği olarak operasyonel bakiyemizi yaklaşık iki katına çıkarmıştık ve ilk dalga sona erdikten sonra bu tutarı düşürmemiştik. Şu anda bu seviyenin çok altında bir tutarda ve rakamı açıklamayacağız.
İki Aşamalı Kimlik Doğrulama (2FA) beni korur muydu? Bu olayda, evet. Bu özelliği kullanan her hesap parasını korudu; para kaybeden hesapların hiçbirinde bu özellik yoktu. Her saldırıyı engelleyemez, ancak bu saldırıyı engelledi. Hemen etkinleştirin.
Saklama hizmeti sunmayan bir hesaba geçmeli miyim? Kendi anahtarlarınızı saklamayı tercih ediyorsanız, evet: bu hesaplar tam da bu amaçla var ve ne Blink’teki hiç kimse ne de Blink’e erişim sağlayabilen hiç kimse, sizin sakladığınız fonları hareket ettiremez. Bu zorunlu değildir; henüz tüm işlevler mevcut değildir ve bu hizmetin kullanılabilirliği bulunduğunuz bölgeye bağlıdır. Saklama hizmeti sunan bir hesap kullanmaya devam ediyorsanız, 2FA’yı etkinleştirin.
Bunun masraflarını kim karşıladı? Blink hissedarları; 24 saatten kısa bir sürede taahhüt edilen ve 23 Eylül’de ödenen faizsiz bir kredi sayesinde. Ne müşteriler ne de müşteri rezervleri. Blink, tam rezervle faaliyet göstermeye devam ediyor: her bir bakiye bire bir olarak destekleniyor.
Blink'te bir güvenlik sorunu tespit ettim. Ne yapmalıyım? bounty@blinkbtc.com adresine e-posta gönderin. En geç 72 saat içinde size yanıt vereceğiz; bildiriminiz çözüme kavuşana kadar bir sorumlu atanacak ve kritik bulgular için ödül verilecektir.
Buraya, iyileşme süreci, ödül ve bu yayına ilişkin her türlü düzeltmeyle ilgili güncel bilgileri tarih belirtilerek ekleyeceğiz.
Aşağıdaki adreslere zincir üzerinde para çekimleri gerçekleştirilmiştir. Borsalardan ve araştırmacılardan, bu adreslerden gelen para yatırımlarını filtrelemelerini ve bounty@blinkbtc.com adresine yazmalarını rica ediyoruz. ( Lightning adresinden çıkan paralar, saldırgan tarafından kontrol edilen Lightning cüzdanlarına aktarılmıştır ve bu işlem ayrı olarak izlenmektedir.)
Toplam zincir içi: Bu adreslere 14 para çekme işlemiyle 4,62685758 BTC alınmıştır; bunlardan yedisi ilk adrese yapılmıştır. Ödeme sistemimiz para çekme işlemlerini gruplandırdığı için, bu 14 işlem 12 zincir içi işlem olarak gerçekleştirildi. Toplam 6,61085425 BTC'nin geri kalan 1,98399667 BTC'si Lightning adresinden çekildi.
Şimdi bitcoin almaya ve göndermeye başlayın