BLOG |
Blink duyuruları
Bir saldırgan, yönetici araçlarımızdaki bir güvenlik açığını nasıl kullanarak 24 hesaptan 6,61 BTC çaldı, tüm hesaplar nasıl geri yüklendi ve hangi değişiklikleri yaptık.
19 Eylül Cumartesi günü, saat 11:39 UTC'de bir müşteri, Blink bakiyesinin kaybolduğunu bildirmek üzere mühendislerimizden birini telefonla aradı. On beş dakika sonra, tüm saklama hizmetini devre dışı bıraktık. O akşam itibarıyla kayıp giderilmişti. Ertesi Perşembe gününe kadar, etkilenen tüm müşterilerin tam bakiyeleri, Blink hissedarları tarafından karşılanan masraflarla geri ödendi. Hiçbir müşteri herhangi bir kayıp yaşamadı.
Bitcoin’leri çalınan 22 müşterimize ve hesap bilgileri incelenen 3.817 kişiye: özür dileriz.
Olayın özeti: Bir saldırgan, 17 Eylül’de sıradan bir ücretsiz Blink hesabı açtı. İki gün sonra, yönetim araçlarımızın izinleri kontrol etme yöntemindeki bir güvenlik açığını kullanarak 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 müşterilerin kendi varlıklarını kendileri saklamalarına yardımcı olmak için oluşturduğumuz akış aracılığıyla Lightning üzerinden gerçekleştirildi. Saldırgan yaklaşık 6,61 BTC elde etti.
Paranın kime ait olduğu. Saldırganlar 36 emanet hesabını hedef aldı. Bunlardan biri şans eseri kurtuldu: e-posta adresini değiştirme girişimleri başarısız olunca saldırganlar başka bir hesaba yöneldi. Ele geçirdikleri 35 hesaptan 24’ünden para çekildi. Dokuz hesapta iki faktörlü kimlik doğrulama vardı ve bu hesaplardan hiçbir kayıp yaşanmadı (aşağıya bakınız); saldırganlar ise son iki hesabı, hizmeti kapatmamızdan sadece birkaç dakika önce ele geçirdiğinden bu hesaplardan hiçbir para çekilmedi. Parası çekilen 24 hesabın 22’si müşterilere aitti; ikisi ise Blink grubu şirketlerine aitti. Her bir hesap, 24 Eylül’de olay öncesi bakiyesine tam olarak geri getirildi, para çekme ücretleri iade edildi ve kilitli hesaplar o günden itibaren yeniden açıldı. Zararı Blink üstleniyor.
Saldırının dokunmadığı kısım. Para, günlük ödemeler için ayırdığımız işletme bakiyesi olan sıcak cüzdanımızdan çıktı. Müşteri fonlarının çoğu, farklı kişiler tarafından tutulan birkaç anahtara ihtiyaç duyan çoklu imza gerektiren soğuk depolama sisteminde tutuluyor ve yönetim araçlarımızdan hiçbir şekilde bu fonlara erişilemiyor. Saklama hizmeti sunmayan hesaplar hiçbir zaman söz konusu olmadı: bu anahtarları biz tutmuyoruz, dolayısıyla saldırganın alabileceği hiçbir şey yoktu.
Ne gördüler? Saldırı sırasında, 3.817 başka hesabın ayrıntılarını da okudular. Bazı hesaplarda bu bilgiler arasında bir telefon numarası veya e-posta adresi yer alıyordu. İsimler, kimlik belgeleri, adresler, şifreler veya tohum ifadeleri görülmedi. Ulaşabildiğimiz her hesap sahibine, nelerin görüldüğünü belirten bir mektup gönderdik.
Onları durduran şey neydi? İki faktörlü kimlik doğrulama. Parası boşaltılan 24 hesabın hiçbirinde bu özellik etkinleştirilmemişti. Hedef aldıkları hesapların dokuzunda ise bu özellik vardı. Saldırgan bu dokuz hesabın hepsine giriş yaptı, ancak bu hesapları kullanmak için yaptığı 18 denemenin her biri reddedildi. Hiçbir kayıp yaşanmadı. Bunu vurguluyoruz çünkü bu, bu olaydan çıkarılan en önemli derslerden biri: İki faktörlü kimlik doğrulama işe yaradı ve büyük tutarlı para çekme işlemlerinde ve yüksek bakiyeye sahip hesaplarda bu özelliği 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ı üretim ortamına devreye alındı. Yönetim araçları artık genel internet erişiminden kaldırıldı. Müşterilerin e-posta veya telefon bilgilerini değiştiren yönetim işlevleri, yeniden tasarlanana kadar herkes için devre dışı bırakıldı. Tüm müşteri API anahtarları iptal edildi. Sıcak cüzdanda artık eskisine kıyasla çok daha az varlık bulunuyor. Tam liste aşağıda yer almaktadır.
Paranın nerede olduğu. Bir kısmı hâlâ para çekildiği adreslerde duruyor. Geri kalanı ise diğer cüzdanlarına aktarıldı; bu cüzdanlardan yaklaşık 5 BTC, zincirler arası takas hizmeti aracılığıyla aktarıldı ve küçük bir miktar da Binance’e ulaştı. El Salvador’da, Cumhuriyet Başsavcılığı’na (Fiscalía General de la República) 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. Paranın geri gelmesini beklemiyoruz; aşağıdaki ödül, bu durumu değiştirebilecek herkese yöneliktir.
%50 ödül. 19 Eylül’de çalınan 6,61 BTC’nin, sağladığınız bilgilerin doğrudan sonucu olarak geri kazanılan herhangi bir kısmının değerinin %25’ini ödeyeceğiz — tamamı geri kazanılırsa bu tutar yaklaşık 1,65 BTC’ye kadar çıkabilir. Geri kazanılan tutarın %25’i ise Bitcoin Beach, Bitcoin Ekasi, Afribit Kibera ve bu kuruluşların ortak olarak seçtiği Küresel Güney’deki Bitcoin döngüsel ekonomilerine aktarılacaktır. Sağlanan bilgiler fonların dondurulmasına yol açarsa, ödül bu fonlar bizim kontrolümüz altındaki bir cüzdana iade edildiğinde ödenecektir. Bu teklifin son tarihi yoktur. bounty@blinkbtc.com adresine yazabilirsiniz. Yürürlükteki tüm şartlar blink.sv/bounty-terms adresinde yer almaktadır.
Yapmanız gerekenler: İki faktörlü kimlik doğrulamayı etkinleştirin (Ayarlar → Güvenlik ve Gizlilik → İki faktörlü kimlik doğrulama) ve bunu e-posta hesabınızda da uygulayın. Yalnızca bir telefonunuz varsa, e-posta ile giriş seçeneğini de ekleyin; çünkü telefon numarası SIM kart değiştirme yoluyla ele geçirilebilir. API kullanıyorsanız, yeni bir anahtar oluşturun. Bu olayla ilgili bağlantı içeren hiçbir e-postayı veya SMS’i dikkate almayın: Etkilenen kullanıcılarla Blink uygulamasındaki mesajlar aracılığıyla iletişime geçtik. Sizden asla PIN kodunuzu, şifrenizi, tohum cümlenizi veya giriş kodunuzu istemeyiz ya da para transferi yapmanızı talep etmeyiz. Hesabınızla ilgili size bir mesaj gönderdiysek, o mesajdaki adımları izleyin. Anahtarlarınızı kendiniz saklamayı tercih ediyorsanız, Haziran ayından beri 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 yönetiliyor; bu nedenle hepimiz için aynı anda “Cumartesi sabahı” diye bir şey söz konusu değil. UTC saat 11:39'da Hong Kong'da akşamın erken saatleri, Avrupa'da öğle vakti, El Salvador'da ise şafak sökmeden önceydi. Arayan müşteri, bakiyesinin sıfır olduğunu ve e-posta adresinin değiştirildiğini fark etmişti. Altı dakika içinde ekip bir görüşme başlattı, ilk hesaplar yönetici panelinden manuel olarak kilitlendi ve en önemli karar alındı: her şeyi kapatmak.
Saat 11:54'te, saklama sistemimizin arka ucunu tamamen devre dışı bıraktık. Bu karar, her 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 kamuoyuna duyuruyu yayınladık: hizmetler askıya alındı, soruşturma devam ediyor. Saat 16:06'da ikinci duyuruyu yayınladık: etkilenen tüm hesaplar tam olarak telafi edilecektir.
Saat 16:17’de ilk düzeltme birleştirildi ve saat 17:50’de üçüncü düzeltme de birleştirildi. Kalan sıcak cüzdan bakiyeleri yeni adreslere aktarıldı; böylece saldırganın para çekme işlemleri için önceden imzalanmış olan tüm ödemeler geri dönecekti. 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 geri yüklenene kadar kilitli kaldı. İletişim bilgilerini değiştiren yönetici işlevleri, ikinci bir kilit olarak dondurulmuş halde kaldı. Düzeltme o akşam test ortamında doğrulandı ve sonraki günlerde, durumu tam olarak anladığımızdan emin olmak için düzeltme öncesi kodun bir kopyası üzerinde saldırıyı baştan sona kendimiz yeniden gerçekleştirdik — ardından 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 web tarayıcısı olan herkes, destek ekibimizin yetkilerini kendine atayabilirdi: herhangi bir müşterinin hesabındaki e-posta adresini veya telefon numarasını değiştirebilir, ardından o müşteri olarak oturum açıp para çekme limitlerini artırabilirdi. Bunun tam olarak nasıl yapıldığını yayınlıyoruz, çünkü kodumuz açık kaynaklıdır, diğer hizmetler bu koddan oluşturulan dağıtımları çalıştırmaktadır ve kodun temelindeki hata — bir tokenin ne yapabileceğine dair kendi açıklamasına güvenmek — aynı şekilde oluşturulmuş herhangi bir sistemde de yapılabilir.
Çalışanlarımız, müşterilere yardımcı olmak için bir yönetici arayüzü kullanıyor: hesap kilidini açmak, bir telefon numarasını düzeltmek, limiti yükseltmek gibi. Bu arayüze erişim, bir web sitesinden diğerine giriş yapmanızı sağlayan OAuth2 standardı üzerinden gerçekleşiyor. Üç ayrı sorun vardı ve bunların her biri tek başına bakıldığında olağan bir durumdu.
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 olduğu gibi OAuth sunucumuza aktarıyordu. Bu listeyi, uygulamanın gerçekte ne istediğiyle hiçbir zaman karşılaştırmıyordu. Dolayısıyla herhangi biri, forma “bana yönetici izni de ver” yazan gizli bir alan ekleyebilirdi ve sunucu — kendi onay sayfasına haklı olarak güvenerek — “yönetici” yazan tamamen geçerli bir jeton oluştururdu.
Yönetici API’si her türlü jetonu kabul ediyordu. Önündeki gatekeeper, OAuth sunucumuzdan gelen herhangi bir aktif jetonu kabul ediyordu: gerekli izin yoktu, jetonun yönetici API’si için olup olmadığına dair bir kontrol yoktu, istemcinin kim olduğuna dair bir kontrol yoktu. Jetonun kendi beyan ettiği izinleri, yönetici sunucusunun kullandığı kimlik bilgilerine kopyalıyordu.
Yönetici sunucusu, izin dizesine güveniyordu. Dize “admin” yazıyorsa, kullanıcı yönetici sayılırdı. Jetonun arkasında bulunan kişinin bilinen bir yönetici olup olmadığına dair herhangi bir kontrol yapılmıyordu.
Bu iki faktör bir araya geldiğinde, tek bir ücretsiz hesap ve bir tarayıcının yeterli olduğu anlamına geliyordu. Hiçbir personel hesabı veya personel kimlik bilgisi kullanılmadı ve herhangi bir kötü amaçlı yazılım da söz konusu değildi. Bu jetonlar kendi kimlik sistemimiz tarafından verilmişti; işte bu yüzden herhangi bir alarm devreye girmedi. Saldırgan önce en bariz yolu denedi — ana yetkilendirme talebine izinler ekleyerek — ve yapılandırmamız bunu doğru bir şekilde reddetti. Ardından onay sayfasını denediler ve bu sefer geçmelerine izin verildi.
Benzer bir yığın üzerinde denetim yapan herkes için geçmiş önemlidir. Bu güvenlik açığı, Ekim 2023’te arka arkaya gelen üç çekme isteği (pull request) ile ortaya çıktı: ilki, ayrı bir düzenleyici kontrolü hâlâ koruma sağlarken yönetici API’sının OAuth belirteçlerini kabul etmesine izin verdi; ikincisi bu düzenleyici kontrolünü kaldırdı; üçüncüsü ise her kullanıcıya OAuth onay ekranına erişim hakkı verdi. Mayıs 2026’da yapılan bir güvenlik güçlendirme değişikliği (PR #158), yönetici sunucusunda yönetici izin gereklilikleri ekledi; ancak bu izinler tokenin kendisinden okunuyordu ve onay sayfası hâlâ herkesin bu izinleri oraya eklemesine izin veriyordu. Bu güvenlik açığı yaklaşık üç yıl boyunca istismar edilebilir durumdaydı.
Düzeltmeler herkese açıktır: Onay sayfası artık uygulamanın talep etmediği hiçbir izni kabul etmemektedir (PR #853); yönetici jetonları, yalnızca yönetici API’si için verilmiş bir hedef kitle içermelidir; bu hedef kitleye müşteri jetonları erişemez (aynı PR; PR #855, bu kontrolü üretim ortamında ayrı olarak etkinleştirmemize olanak sağladı; bunu 21 Eylül'de gerçekleştirdik); ayrıca, iletişim bilgilerini değiştiren yönetici işlevleri, yapılandırma yoluyla herkes için tamamen devre dışı bırakılabilir (PR #861).
Kod, 2019 yılından itibaren Blink platformunun geliştirildiği şirket bünyesinde 2023 yılında yazıldı ve Blink’in sahiplik değişikliği geçirerek bağımsız bir şirket haline geldiği Ekim 2024’te bizim mülkiyetimize geçti. Platformu geliştiren mühendislerden ikisi bize katıldı, ancak yönetici yetkilendirme akışını yazan mühendisler geride kaldı; bu nedenle Blink ekibinden hiç kimse, neden daha önceki bir izin kontrolünün orada olduğunu bilmiyordu. 2025 yılı boyunca mühendislik çalışmalarımızın çoğu, yıllar içinde birbirine entegre olmuş sistemlerimizi o şirketinkilerden ayırmaya yönelikti: kendi altyapımız, kendi hesaplarımız, kendi düğümümüz.
2026 yılında, hizmet verdiğimiz birçok ülkede mevzuat değişiklikleri yaşandı. Google, on beş pazarda cüzdan uygulamaları için yerel lisanslar talep etmeye başladı; AB’nin MiCA kuralları için geçiş dönemi 1 Temmuz’da sona erdi ve diğer birçok ülkede yeni yasalar kabul edildi ya da önceki yıllarda kabul edilen yasalar yürürlüğe girdi. Buna yanıt olarak, daha fazla lisans başvurusunda bulunmak yerine müşterilerimizin parası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ı kendi anahtarlarını kendilerinin sakladığı hesaplara geçirdik. Haziran ayında yayınladığımız, saklama hizmeti sunmayan cüzdanımızın lansmanına ilişkin yazımızda bu süreci anlatıyoruz. Yaklaşık yirmi kişilik bir ekip için bu çalışma, yılın büyük bir bölümünü aldı.
Devraldığımız kodun güvenliğini güçlendirme işi, bu iki projenin gerisinde kalmıştı. Çok uzun süre beklemişti. Güvenlikle ilgili bulguların nasıl önceliklendirileceği ve kimin sorumluluğunda olacağı konusu, değiştirdiğimiz ilk şeydi.
Yükseltilmiş sıcak cüzdan da bu olayın bir parçasıdır. Taşınma işlemi için bir tampon olarak bu cüzdanı normal seviyesinin yaklaşık iki katında çalıştırıyorduk; taşınmanın ilk aşaması saldırıdan bir veya iki hafta önce sona ermişti. Henüz seviyeyi eski haline geri döndürmemiştik. İşte bu yüzden kayıp bu kadar büyük oldu. O zamandan beri bu seviye çok daha düşük bir düzeye indirildi ve Lightning işletme bakiyesi de daha da azaltılmaktadır.
Saldırgan, aynı yöntemle 35’ten fazla hesabı ele geçirdi: yönetici araçları aracılığıyla e-posta adresini veya telefon numarasını değiştirdi, giriş kodu talep etti ve oturum açtı. Bunlardan 24’ünde para çekimi gerçekleştirdi. Dokuzunda ise engele takıldı. Bu dokuz hesapta iki faktörlü kimlik doğrulama etkinleştirilmişti — hesap sahibinin telefonundaki bir kimlik doğrulama uygulaması — ve iki faktörlü kimlik doğrulama ile korunan bir hesapta, yalnızca giriş kodu ile açılan bir oturumda para transferi yapılamaz. Kayıtlarımız, saldırganın bu dokuz hesapta yaptığı 18 denemenin de tam olarak bu aşamada başarısız olduğunu gösteriyor. Hiçbirinde para kaybı yaşanmadı.
İki Aşamalı Kimlik Doğrulama (2FA), yönetici araçlarımızın ele geçirilmesini engelleyemedi. Ancak bireysel hesaplardan yapılan hırsızlıkları önledi. Para kaybeden 24 hesabın hiçbirinde bu özellik etkin değildi. Büyük tutarlı para çekme işlemleri ve yüksek bakiyeye sahip hesaplar için bu özelliği zorunlu kılmalıydık.
Bu yazıda tek bir adım atacaksanız, lütfen şunu yapın: Ayarlar → Güvenlik ve Gizlilik → İki faktörlü kimlik doğrulama. Ardından, Blink giriş kodlarınız bu adrese gönderilebileceğinden, e-posta hesabınız için de bu özelliği etkinleştirin.
Saldırının ertesi günü olan Pazar gününe kadar, kimin ne kadar satoshi'sinin çalındığını, defter, blok zinciri ve Lightning düğümüyle karşılaştırarak tespit ettik ve Yönetim Kurulu bu tutarın nasıl karşılanacağına karar verdi. Blink hissedarları, 24 saat içinde tutarın tamamını faizsiz bir kredi olarak taahhüt ettiler, Çarşamba günü bu tutarı ödediler ve her hissedara aynı koşullarda kendi payına düşen tutarı karşılamaları için fırsat sunuldu. 24 Eylül Perşembe günü, etkilenen tüm bakiyeleri eski haline getirdik ve dolandırıcılık amaçlı para çekme işlemleri üzerinden tahsil ettiğimiz ücretleri iade ettik. Etkilenen müşterilerimize, kamuoyuna herhangi bir açıklama yapmadan önce doğrudan bilgi verdik; kayıtları okunan kişilere de aynı şekilde bilgi verdik.
Bu sıralama kasıtlı olarak belirlendi. Önce kullanıcılar; geri kalan her şey sonra. Cuma günü hissedarlarımıza, şu anda okuduğunuz bilgilerin aynısını aktardık ve yetkililer raporlarımızı alana kadar bu paylaşımı yayınlamadık: El Salvador Cumhuriyet Başsavcılığı’na sunulan bir suç duyurusu, El Salvador’un finansal düzenleme kurumu ve siber güvenlik kurumuna yapılan bildirimler, Próspera ZEDE Emniyet Müdürlüğü’ne sunulan bir suç duyurusu ve Próspera’nın finansal düzenleme kurumuna yapılan bir bildirim.
O hafta, kayıtlara geçmesini istediğimiz iki olay yaşandı. 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 onların şantaj girişiminin kanıtıdır. Pazar gününden Çarşamba gününe kadar ise, kilitli hesaplardan dördüne giriş yapmaya devam ettiler — bu hesapların iletişim bilgilerinde hâlâ saldırganın e-posta adresi yer alıyordu, çünkü biz henüz bu hesapları geri yüklememiştik. Denedikleri 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ı sonlandırır ve ancak ondan sonra hesabın kilidini açar.
Böyle bir zararı üstlenip kullanıcıları zararsız kılan ilk şirket biz değiliz. Borsalar ve cüzdan sağlayıcıları bizden önce bunu yaptı. Bir saklama kuruluşunun zararı, o kuruluşa aittir.
Blink, 19 Eylül’de sıfırdan başlamıyordu. Müşteri fonlarının çoğu, kıtalara yayılmış çoklu imza gerektiren soğuk depolama sistemlerinde zaten bulunuyordu; hizmet tam rezerv sistemiyle çalışıyordu; iki faktörlü kimlik doğrulama mevcuttu ve kullanıcıları bu yöntemi kullanmaya teşvik ediyorduk; ayrıca para çekme işlemleri hesap düzeyinde sınırlandırılmıştı. Bunların çoğu geçerliliğini korudu: Saldırgan, soğuk depolama sistemlerine asla ulaşamadı, saklama hizmeti sunmayan hesaplara asla dokunmadı ve iki faktörlü kimlik doğrulaması (2FA) olan her hesapta başarısız oldu. Özellikle başarısız olan, miras aldığımız yönetici araçlarındaki yetkilendirme kontrolleri ve bir yöneticinin yapmaması gereken bir şey yapıp yapmadığını izlemek yerine, sadece kesintileri izleyen izleme sistemiydi. Daha genel olarak başarısız olan ise önceliklerimizdi: sahiplik devri ve ardından emanet hizmetinden çıkma süreci ekibin büyük bir kısmını meşgul etti ve miras aldığımız kod üzerindeki güvenlik çalışmaları bu süreçlerin gerisinde kaldı.
İlk günlerde bu konuda ne yaptık:
Platform genelinde daha da sıkılaştırma çalışmaları 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, sağladığınız bilgilerin doğrudan sonucu olarak geri kazanılan herhangi bir kısmının değerinin %25'ini ödeyeceğiz — tamamı geri kazanılırsa yaklaşık 1,65 BTC'ye kadar. Geri kazanılan her şeyin %25'i ise Bitcoin Beach, Bitcoin Ekasi, Afribit Kibera ve ek desteğe ihtiyaç duyabilecek , Küresel Güney'deki Bitcoin döngüsel ekonomileri arasından ortaklaşa seçtikleri kuruluşlara gidecektir. Bu teklifin son tarihi yoktur; bounty@blinkbtc.com adresine yazabilirsiniz. Ödül, yalnızca bizim kontrolümüz altındaki bir cüzdana iade edilen fonlardan ödenir. Çalınan fonlar, bc1q5vek5m04l6v277t6exhrurylqsmtvg2l30pt99 adresine zincir üzerinde veya Lightning üzerinden Lightning adresine bounty@blink.sv gönderilerek bize iade edilebilir.
2.Ödüllü bir güvenlik bildirim kanalı. bounty@blinkbtc.com adresine yazın. Bildirimler 72 saat içinde onaylanır ve çözüme kavuşturulana kadar güvenlik ekibimiz tarafından ele alınır. Blink yazılımı üzerine iyi niyetle yapılan araştırmalara açığız ve bir güvenlik açığını sorumlu bir şekilde bildiren hiç kimseye karşı yasal işlem başlatmayacağı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, yaşanan şu olay nedeniyle oluşturulmuştur: her raporun bir yere ulaşması, teyit edilmesi ve çözüme kavuşturulana kadar ilgili birim tarafından ele alınması gerekir.
Bu %50’lik pay ikiye bölünür: %25’i, verdiği bilgi sayesinde varlıkların geri kazanılmasına yol açan kişiye verilir; geri kazanılan varlıkların kalan %25’i ise Bitcoin Beach, Bitcoin Ekasi, Afribit Kibera ve bu kuruluşların seçeceği döngüsel ekonomilere aktarılır. Bu fonların büyük olasılıkla geri dönüşü olmayan bir şekilde kaybolduğunu düşünüyoruz. Çalınan bitcoinleri geri kazanmak çok zordur; bu nedenle bizim için geri kazanılan her miktar büyük bir kazançtır ve saldırganı bulmamıza yardım etmeleri için ne kadar çok kişiyi teşvik edebilirsek o kadar iyi olur. Bu tür insanlar kolayca paçayı kurtarmamalı ve paralarını harcamalarını olabildiğince zor ve rahatsız edici hale getirmek istiyoruz.
İkinci %25’i ekledik çünkü saldırgana şunu hatırlatmak istiyoruz: Çaldığı parayı, biz ve misyonumuzla aynı çizgide olan hissedarlarımız, aslında dünya çapında bankacılık hizmetlerinden mahrum kalan topluluklarda Bitcoin’in tabandan benimsenmesini desteklemek ve Bitcoin geliştiricilerini güçlendirmek için harcamayı çok daha fazla tercih ederdik. Saldırganın yüzü kara olsun.
19 Eylül'den bu yana fonların izini sürekli olarak takip ettik. 1 Ekim itibarıyla: yaklaşık 0,87 BTC, alıcı adreslerde hâlâ hareket etmeden duruyordu. Geri kalanı, Blink'ten gelmeyen bitcoinleri de barındıran diğer cüzdanlarına aktarıldı. Bu cüzdanlardan yaklaşık 5,05 BTC, bir zincirler arası takas hizmeti (NEAR Intents) aracılığıyla aktarıldı; 1 BTC 21 Eylül'de ve yaklaşık 4,05 BTC 28–29 Eylül'de; 22 Eylül'de yaptığımız dondurma talebine yanıt alınamayınca yetkililerden bu hizmetin kayıtlarını temin etmelerini talep ettik; yaklaşık 0,012 BTC ise Binance'e yatırıldı ve Binance'in güvenlik ekibi konuyla ilgilenerek kara listeye alma işlemlerini yürütüyor. Saldırganın kendi bitcoin'leri de bu miktara karıştığı için, bu rakamların toplamı 6,61 BTC'ye ulaşmamaktadır. Zincir üzerindeki adresler ekte yer almaktadır.
Kod tabanımız açık kaynaklıdır ve bizim tarafımızdan geliştirilmeyen hizmetler de bu kod tabanından türetilmiş dağıtımları çalıştırmaktadır. Güvenlik açığına yol açan bu yapı — tarayıcının izin listesine güvenen bir onay akışı ve hedef kitle kontrolü yapmadan herhangi bir aktif jetonu kabul eden bir uç güvenlik denetleyicisi — Blink’in mevcut depolarından daha eskiye dayanmaktadır ve arşivlenmiş halka açık geçmişte yer almaktadır. Bildiğimiz, bu kod tabanından türetilmiş dağıtımların işletmecilerine özel olarak bildirimde bulunduk; bunlardan biri aynı gün yama uyguladı. Kod tabanına ilişkin güvenlik bildirimimiz, CVE tanımlayıcısı talep edilmiş olarak GitHub'da github.com/blinkbitcoin/blink/security/advisories adresinde yer almaktadır. Blink kod tabanı üzerine inşa edilmiş bir sistem çalıştırıyorsanız ve bizden haber almadıysanız, bounty@blinkbtc.com adresine yazın; bir dağıtım işlettiğinizi doğruladığımızda, tam kontrol prosedürünü paylaşacak ve bunu doğrulamanıza yardımcı olacağız. Düzeltmeler, yukarıda bağlantısı verilen üç PR'dir. Saldırganlar artık kamuya açık kodları makine hızında taramaktadır. Bu kodu çalıştırıyorsanız, bugün kontrol edin.
Blink, insanların güvenilir bir ödeme aracına ihtiyaç duyduğu küçük bir sahil kasabası için günlük kullanım amaçlı bir Bitcoin cüzdanı olarak yola çıktı. 19 Eylül’de, 22 müşterimiz için bu cüzdan işlevini yerine getiremedi. Her biri paralarını bize emanet etmişti; ki bir emanetçinin 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 şirketin arkasında duran hissedarlara; ve bir Cumartesi günü her şeyi bir kenara bırakıp uykusuz kalan ekibimize — teşekkür ederiz. El Zonte’de kazanıldığı gibi bu güveni de geri kazanacağız: her gün işimizin başında olarak ve ödemelerin sorunsuz bir şekilde gerçekleşmesini sağlayarak.
Param risk altında mıydı? Hesabınız açıksa ve size herhangi bir bildirimde bulunmadıysak, saldırganın hesabınızın bilgilerini okuduğuna dair herhangi bir kaydımız yoktur ve hesabınızdan 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 iki faktörlü kimlik doğrulaması (2FA) olan bir hesapta, bu açığın kullanılmasıyla kimsenin para transferi yapması mümkün olmazdı. Müşteri fonlarının çoğu, yönetim araçlarının erişemeyeceği soğuk depolama ortamında tutulmaktadır. Eğer saklama hizmeti sunulmayan bir 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 yoktur.
Saldırgan verilerime ulaştı mı? 3.817 hesabın ayrıntılarını okudular. Ulaşabildiğimiz her hesap sahibine, hangi bilgilerin görüldüğünü belirten bir mektup gönderdik. Hesabınız aktifse ve bu mesajı almadıysanız, hesabınız bu hesaplar arasında yer almamıştır. Hesabınızla ilgili hangi bilgilere erişildiğini (varsa) bize her zaman sorabilirsiniz: support@blink.sv.
Neden izleme sisteminiz bu saldırıyı tespit edemedi? Uyarı sistemimiz, hizmet kesintilerini tespit etmek üzere tasarlanmıştı. Bir yöneticinin yapmaması gereken eylemleri gerçekleştirmesi durumuna yönelik herhangi bir kural yoktu ve saldırgan, kendi sistemimizin vermiş olduğu erişim belirteçleriyle bizim kendi araçlarımızı kullanıyordu.
Sıcak cüzdanda neden bu kadar çok para vardı? Saklama hizmeti sunmayan hesaplara geçiş için bir tampon olarak işletme bakiyemizi kabaca iki katına çıkarmıştık ve ilk dalga sona erdikten sonra bu tutarı tekrar düşürmemiştik. Şu anda bu tutarın çok küçük bir kısmı kaldı ve rakamı açıklamıyoruz.
İki Aşamalı Kimlik Doğrulama (2FA) beni kurtarır mıydı? 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 sunulmayan bir hesaba geçmeli miyim? Kendi anahtarlarınızı elinizde tutmayı tercih ediyorsanız, evet — bu hesaplar tam da bunun için var ve ne Blink’teki hiç kimse ne de Blink’e izinsiz giriş yapan hiç kimse, sizin elinizde tuttuğunuz fonları hareket ettiremez. Bu zorunlu değildir; henüz tüm özellikler mevcut değildir ve kullanılabilirlik bölgenize bağlıdır. Saklama hizmeti sunan bir hesapta kalırsanız, 2FA’yı etkinleştirin.
Bunun masrafını kim karşıladı? Blink’in hissedarları; 24 saat içinde taahhüt edilen ve 23 Eylül’de ödenen faizsiz bir kredi olarak. Ne müşteriler ne de müşteri rezervleri. Blink, tam rezerv sistemini sürdürüyor: her 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. 72 saat içinde yanıt alacaksınız; raporunuz, sorun çözülene kadar bir sorumlu tarafından takip edilecek ve kritik bulgular ödüllendirilecektir.
İyileşme süreciyle ilgili güncel bilgiler, ödül ve bu gönderide yapılacak her türlü düzeltme buraya eklenecektir.
Aşağıdaki adreslere zincir üzerinde para çekme işlemleri gerçekleştirilmiştir. Borsalardan ve araştırmacılardan, bu adreslerden gelen para yatırma işlemlerini incelemeyi ve bounty@blinkbtc.com adresine başvurmalarını rica ederiz. (Lightning-rail gelirleri, saldırganın kontrolündeki Lightning cüzdanlarına aktarılmış olup, bunlar ayrı olarak izlenmektedir.)
Toplam zincir içi tutar: Bu adreslere 14 para çekme işlemiyle 4,62685758 BTC alınmıştır; bunların 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şlemle gerçekleştirilmiştir. Toplam 6,61085425 BTC’den kalan 1,98399667 BTC ise Lightning adresinde bulunmaktadır.
Şimdi bitcoin almaya ve göndermeye başlayın