Araştırmacı, a16z web sitesindeki bir kusurun bazı şirket verilerini açığa çıkardığını buldu
(kibty.town)- Bir güvenlik araştırmacısı, a16z ile ilişkili
portfolio.a16z.comalt alan adında Heroku instance’ının tamprocess.enviçeriğinin JavaScript’e dinamik olarak dahil edildiğini keşfetti - Açığa çıkan değerler arasında
DATABASE_URL,AWS_ACCESS_KEY_ID,AWS_SECRET_ACCESS_KEY,SALESFORCE_CLIENT_SECRET,OKTA_CLIENT_SECRET,MAILGUN_API_KEYgibi çeşitli servis kimlik bilgileri bulunuyordu - Araştırmacı, JS dosyalarındaki secret’ları bulmak için yaptığı sıradan bir
lunchcattaraması sırasında AWS anahtarı referansını yakaladığını ve bunun yalnızca tarayıcı geliştirici araçlarındaki Sources sekmesi ile görülebildiğini söyledi - Etki alanının PII içeren veritabanı, AWS, Salesforce ve Mailgun’u kapsadığı; Mailgun üzerinden a16z alan adından rastgele e-posta gönderilebildiği ve geçmiş e-postaların okunabildiği öne sürüldü
- a16z, bug bounty ödemesi yapmadı ve gerekçe olarak kamuya açık iletişim girişimlerini gösterdi; araştırmacı ise ana sitede bir iletişim adresi bulunmadığını ve bulduğu e-posta adreslerinin de geri döndüğünü söyledi
Alt alan adı incelemesi sırasında ortaya çıkan ortam değişkenleri
- Araştırmacı, Twitter’da şirketleri bulduktan sonra hızlıca sızma testi yaparak hedef seçtiğini ve sık sık
Relevant Peoplesekmesini kullandığını söyledi- Bu seferki yol
cryptoile ilgili bir şirket → crypto girişim sermayesi →a16z crypto→a16zşeklinde ilerledi
- Bu seferki yol
- a16z’yi incelerken olağan bir alt alan adı taraması yaptı ve lunchcat aracıyla alan adı kontrolü ve JS dosyalarındaki secret tespitini yürüttü
portfolio.a16z.com, a16z’ye bağlı şirketler için bir portföy yönetim aracı gibi görünüyordu ve inceleme sırasında sitenin bir yerinde AWS anahtarı referansı tespit edildi- JS içinde, Heroku instance’ının tüm
process.enviçeriği gibi görünen değerler dinamik olarak yer alıyordu- Dahil edilen öğeler arasında
MARKETPLACE_URL,DATABASE_URL,SALESFORCE_CLIENT_ID,SALESFORCE_CLIENT_SECRET,OKTA_CLIENT_SECRET,SESSION_SECRET,MAILGUN_API_KEY,AWS_ACCESS_KEY_ID,AWS_SECRET_ACCESS_KEY,COOKIE_SECRET,HEROKU_POSTGRESQL_CRIMSON_URLvb. vardı - Araştırmacı, kimlik bilgilerini hızlıca kontrol ettiğini ve bunların sahte değil, gerçek kimlik bilgileri gibi göründüğünü söyledi
- Erişimin, tarayıcı geliştirici araçlarında yalnızca Sources sekmesini açmak düzeyinde olduğunu anlattı
- Dahil edilen öğeler arasında
Olası sızıntı kapsamı ve bug bounty tartışması
- Araştırmacının sıraladığı ihlal edilebilir servisler şunlardı
- Veritabanı: PII içerdiğini söyledi
- AWS: Açığa çıkan anahtarlarla erişim olasılığından söz edildi
- Salesforce: Doğrudan doğrulamadığını, hesap yetkilerinin sınırlı olabileceğini ekledi
- Mailgun: a16z alan adından rastgele e-posta gönderilebildiğini ve geçmiş e-postaların da okunabildiğini söyledi
- Bunun dışında daha fazlası da olabileceğini belirtti
- a16z, araştırmacının özel kanaldan değil kamuya açık şekilde iletişim kurmaya çalıştığını gerekçe göstererek bug bounty ödemedi
- Araştırmacı, kamuya açık şekilde iletişime geçmesinin iki nedeni olduğunu söyledi
- a16z’nin ana sitesinde kullanılabilir bir iletişim bilgisi bulamadı
- Bulabildiği e-posta adresine gönderdiği mesaj geri döndü
- İlgili bağlantı olarak TechCrunch haberi eklendi; araştırmacı, a16z ile iletişime geçmeye çalışırken attığı tweet’i Lorenzo’nun görüp kendisine ulaştığını ve haberi bu şekilde yazdığını söyledi
1 yorum
Hacker News yorumları
Açık kaynak projemizi (https://github.com/heyPuter/puter/) yayımladığımızda, Eva oldukça kapsamlı bir sızma testi yaptı ve güvenlik açığı bildirimini de son derece profesyonel biçimde ele aldı.
O sırada bir bug bounty programımız bile yoktu; buna rağmen ödül talep etmedi. Eva hem çok yetenekli hem de sorumluluk sahibi bir hacker, bu yüzden a16z ona daha iyi davranmalı.
Ben de benzer bir hata yapmıştım.
apostrophecms adlı Node.js CMS’ini kullanıyordum; “global settings” denen yönetici panelini kimlik doğrulama sunucusu API anahtarlarını yönetmek için kullanmıştık. Birkaç ay sonra bu değerlerin HTML kaynak koduna yazdırıldığını fark ettik.
JavaScript’te kullanılabilsin diye böyle tasarlanmıştı ve belgelerde de yazıyordu; o yüzden onları suçlamıyorum, ama biz üstünkörü geçmiştik.
Daha da sinir bozucu olan, büyük bir danışmanlık şirketine sızma testi için epey para ödememize rağmen onların da bunu yakalayamamış olmasıydı. Sonunda kendimiz keşfettik, logları kontrol ettiğimizde kötüye kullanım izine rastlamadık gibi görünüyordu ama yine de epey sarsıcı bir sızıntıydı.
Şimdiye kadar gördüğüm sızma testlerinin hiçbiri kutucuk işaretlemekten öteye gitmedi.
Dediğiniz gibi, bu veri paylaşım biçimi belgelerde yazıyordu; yine de şaşırtıcı olabilir.
İleride araştıracak olanlar için ekleyeyim: Apostrophe’un şu anda desteklenen ana sürümü artık bu şekilde davranmıyor.
Oturumu kapalı frontend’e veri enjekte etmek artık geliştiricinin bilerek seçmesi gereken bir şey; bu tür sürprizleri önlemek için böyle değiştirildi.
Yine de belirli bir widget’ın ayarlarının ve içeriğinin parçası olarak API anahtarı eklemeyi gerektiren kullanım durumları hâlâ var.
Not: Apostrophe’ta tasarımdan sorumluyum ve aynı zamanda mühendislik rolüm de var.
Bu durum bizim çok kiracılı yapılandırmamız ve apostrophe’u yeterince anlamamamız yüzünden ortaya çıktı.
Tehlikeli bir davranışı belgelemek kişiyi sorumluluktan kurtarmaz; bence bu ders artık herkesçe biliniyor olmalı.
Yeni bir servis oluşturup ACME ile sunucuya LetsEncrypt sertifikası bağladığınız anda loglar saçma sapan isteklerle doluyor.
Geliştiricilerin açık bırakmış olabileceği zayıf varsayılanları arayan botlar açıkça görülüyor; hatta process environment dosyasını isteyenleri bile gördüm.
Böyle bir açığın nasıl keşfedilmediğini ya da istismar edilmediğini bilmiyorum; a16z çok şanslı olabilir ya da zaten istismar edilmiş ama kamuya açıklanmamış olabilir.
İyi niyetli bir araştırmacı ya da white-hat kafasında canı sıkılmış biri önce onlarla iletişime geçmiş oldu. Böyle dikkatsizlikler için yasal bir çerçeve olmaması üzücü, ama bence a16z büyük bir para cezası yemeli.
Belki de çoktan edilmiştir.
Bunu kapattırmak yerine açık bırakmak daha değerli olmuş olabilir.
Ama OKTA gibi kimlik bilgilerinden birkaç tanesi oldukça tehlikeli görünüyor.
“Herkese açık şekilde iletişime geçtiği için bug bounty vermedik. Bunu yapmasının nedeni ana sitede iletişim bilgisi olmaması ve bulduğu engineering@a16z.com adresine gönderilen e-postanın geri dönmesiydi” kısmı, şirket parasından tasarruf ettiren akıllı bir hayat hilesi gibi görünüyor.
Mühendislik ekibiyle özel olarak iletişime geçmenin yolunu ortadan kaldırırsanız tüm bug bounty bildirimleri herkese açık yapılır; böylece hiçbir şey ödemek zorunda kalmazsınız.
Geliştirmeyi de fiverr tarzı yerlerden insanları ucuza çalıştırarak epey kısmışlardır; bir Rus fidye yazılımı grubu kolayca içeri girerse muhasebe maliyetlerinden de dolaylı olarak çok tasarruf ederler.
Kamuya açık bir bug bounty programı yoksa borçlu oldukları bir şey de yok.
Üstelik https://a16z.com/connect sayfasının altında bir iletişim e-posta adresi var; araştırmacı bunu uygun biçimde gözden kaçırmış.
Sorumlu açıklamadan çok bilinirlik peşinde gibi görünüyor.
Şirketler “hacklendik” dediğinde, artık kulağa “önemli kimlik bilgilerini düzgün koruyamadık ama lütfen sorumluluğu ‘hacker’ dediğimiz isimsiz bir aktöre yükleyin” anlamına gelen kurumsal bir ifade gibi geliyor.
“Konut dokunulmazlığını ihlal”, “hırsızlık”, “izinsiz giriş” gibi hukuki ayrımlar var; kapının açık olup olmaması hukuka aykırılığı ya da cezayı etkileyebilir, ama gündelik dilde hâlâ soyulmuş olursunuz.
Bu kadar geniş açık bir delik için sembolik bir tutarda bounty bile vermemek oldukça berbat.
Devasa üretken yapay zeka mimarisi whitepaper’ları yazmakla meşguller.
Biraz rahat bırakalım; yarım yamalak yapılmış sohbet botlarının hareket ettiği geleceğin ajanlar dünyasını hayal ediyorlar.
Dünya bozuk yazılım güncellemeleriyle yanarken.
Cuma günkü bozuk yazılım güncellemesi bunun üstüne konan son dokunuş oldu.
Hiç şaşırtıcı değil.
Gerçekten Salesforce instance’ına erişilebildiyse, kurucular açısından çok huzursuz edici olurdu.
Çünkü Salesforce gibi yerlerde genellikle e-postalar kaydedilir ve bunların içinde portföy şirketi kurucularının dışarıyla paylaşmadığı fon toplama planları ya da M&A planları sürekli kalıyor olabilir.
Ama o anahtarlarla yetkisiz sistemlere erişmek suçtur.
Bu fark çok büyük.
Bu VC şirketinin böylesine büyük bir güvenlik deliği için bug bounty ödememiş olması güven vermiyor.
HN yöneticileri başlığı daha az utanç verici bir şeyle değiştirmiş.
Şaşırtıcı değil.
Puan değişimi yok ama en üstten en alta taşınmış.
Yanıt verme biçimleri de gerçekten çeşit çeşit.