SORU
15 EYLÜL 2010, ÇARŞAMBA


Ne kadar ciddi bu yeni ASP.NET güvenlik açığı ve nasıl çözüm bulabilirim?

Sadece ASP.NET yeni keşfedilen bir güvenlik açığı hakkında net okumaya devam ettim. You can read the details here.

Sorunu bu şekilde yatıyor ASP.NET AES şifreleme uygular algoritma bütünlüğünü korumak için kurabiyeleri bu uygulamalar sırasında bilgi deposu oluşturmak kullanıcı oturumları.

Bu biraz belirsiz, ama burada daha korkutucu bir parçasıdır:

Saldırının ilk aşaması alır birkaç bin ister, ancak bir kez ve saldırgan alır başarılı olur gizli anahtarlar, tamamen gizli.Bu şifreleme bilgisi gereklidir çok temel.

Sonuçta, eğer bu gerçekten ciddi olup olmadığını öğrenmek için güvenlik/cryptograpy konu yeterince aşina değilim.

Tüm ASP.NET geliştiriciler bu teknik bir korku busaniye içinde herhangi bir ASP.NET Web sitesi sahibiya da ne?

Bu sorunu nasıl ortalama ASP.NET geliştirici etkiler? Bizi etkiler mi? Gerçek hayatta, bu güvenlik açığı, sonuçları nelerdir? Ve son olarak: bu güvenlik açığı engelleyen bazı geçici çözüm var mı?

Cevaplar için teşekkürler!


EDİT: bana tepkileri özetleyelim aldım

Yani, bu temelde bir "doldurma " oracle" türü bir saldırı düzenlendi. @Sri saldırı demek bu tip ne yaptığı hakkında büyük bir açıklama sağlamıştır. Here is a shocking video about the issue!

Bu güvenlik açığı ciddiyeti hakkında: Evet, gerçekten ciddi.Bir uygulamanın makine anahtarı tanımak saldırganın sağlar.Böylece, bazı yapabilirçokistenmeyen şeyler.

  • App makine anahtarı posession, saldırganın kimlik doğrulama tanımlama şifresini çözebilir.
  • Daha da kötüsü, o olabilirkimlik doğrulama tanımlama bilgilerini oluşturmakherhangi bir kullanıcı adı ile. Böylece, sitede kimse olarak görülür. Uygulama ya da kendisi için isminin bir kimlik doğrulama tanımlama bilgisi tarafından oluşturulan korsan ayırt edemiyor.
  • Ayrıca şifresini (ve aynı zamanda oluşturmak) için onu sağlaroturum çerezleribu bir önceki kadar tehlikeli olsa da.,
  • Çok ciddi değil: sayfaların şifreli görünüm durumu deşifre edebilir. Eğer görünüm durumu confidental veri depolamak için kullanırsanız (bu zaten yapmamalısın!)
  • Oldukça beklenmedik: Makine bilgisi, saldırganın anahtarı ileindirebilirsinizweb uygulamanızı, normalde indirilemiyor bile olsalar, herhangi bir rasgele bir dosya! (Dahil olmak üzereWeb.Configvb.)

İşte bunu aldım iyi uygulamalar bir sürüyoksorunu çözmek ancak bir web uygulaması genel güvenliği artırmak.

Şimdi, bu soruna odaklanalım.

Çözüm

  • CustomErrors ve tek bir hata sayfası yapmak için etkinleştirintüm hatalarıyönlendirilir. Evethatta 404'ler. (ScottGu 404'ler ve 500 arasında ayırt bu saldırı için gerekli olduğunu söyledi.) Ayrıca, içine Application_Error Error.aspx rasgele bir gecikme yapar bazı kod koymak. (Rastgele bir sayı üretmek ve İplik kullanın.O kadar uzun süre uyku uyumak için.) Bu saldırgan tam olarak senin server ne karar vermek imkansız hale getirdi.
  • Bazı insanlar geri 3DES geçiş önerilir. Eğer AES kullanmasanız bile teoride, AES güvenlik uygulamasında zayıflık karşılaşma yok. Görünüşe göre, bukesinlikle tavsiye.

Başka düşünceler

  • 18* everyone *çözüm yeterince iyi olduğunu düşünüyor gibi görünüyor.

Soruma cevap veren herkese çok teşekkürler. Bu sorun hakkında çok şey öğrendim, ama genel olarak güvenlik web sitesi. @Kabul Mikael'in cevabı işaretledim, ama diğer cevaplar da çok yararlıdır.

CEVAP
15 EYLÜL 2010, ÇARŞAMBA


Ben de kendimi korumak için ne yapmalıyım?

[Güncelleme 2010-09-29]

Microsoft security bulletin

KB Article with reference to the fix

ScottGu siteleri için bağlantılar vardır

[Güncelleme 2010-09-25]

Düzeltme bekliyoruz ederken, dün Özel bağlantı noktaları bir kural ile kendi alanlarını korumak için fazladan bir adım ekleme postet an update ScottGu.

Ayrıca hata sayfasında rastgele bir zaman uyku eklendi saldırı bilgi için timing the responses saldırganın önlemek için ekleyin.

Web.config

<configuration>
 <location allowOverride="false">
   <system.web>
     <customErrors mode="On" defaultRedirect="~/error.html" />
   </system.web>
 </location>
</configuration>

Bu özel bir sayfa 200 durum kodu ile iade için herhangi bir hata yönlendirir. Bu şekilde saldırgan bir veya daha fazla bilgi için hata kodu ya da hata bilgileri daha fazla saldırı için gerekli bak.

Ayrıca bu güvenli "" istemcileri. gerçek yönlendirir customErrors mode="RemoteOnly", ayarlamak Sadece localhost tarama dahili gösterecektir .Net hata.

Önemli kısmı tüm hatalar aynı hata sayfasına dönmek için yapılandırılmış olduğundan emin olun. Bu açıkça <customErrors> bölümünde defaultRedirect öznitelik kümesi ve her durum kodları ayarlandığından emin olmak için gereklidir.

Tehlikede olan nedir?

Eğer bir saldırgan söz konusu istismar yönetmek, web Uygulama içinde dahili dosya indirme yapabilir. Genellikle web sitesi.config bir hedef ve bir veritabanı bağlantı dizesi giriş bilgileri ya da birini tutmak istemezsin sql-express automouted bir veritabanı bağlantısı gibi önemli bilgiler içerebilir. Ama eğer en iyi uygulama aşağıdaki Protected Configuration web sitenizin tüm hassas verileri şifrelemek için kullanın.config.

Başvurular için bağlantılar

http://www.microsoft.com/technet/security/advisory/2416728.mspx Bu güvenlik açığı hakkında bilgi Microsoft'un resmi bir açıklama yapılmadı. Özellikle "" bu konuda uygulama ayrıntıları için. bölüm Çözüm

Ayrıca web savunmasız ASP.NET apps script bir sunucu da dahil olmak üzere ScottGu's blog bazı bilgiler.

Bir açıklama için "Anlayış Doldurma Oracle Saldırıları", @sri's answer okuyun.


Makale yorum:

Rizzo ve Üzerinden ASP.NET uygulamalar karşı uyguladığı saldırı şifreleme gerektirir Web sitesinde uygulama şifreli mesajı gönderdiğinde, yalnızca metnin şifresini çözmek değil, bu bir kehanet var amaGönderen şifreli mesajı dolgu geçerli olup olmadığı konusunda bir mesaj vermek.

Eğer doldurma geçersiz, gönderenin alır hata iletisini onu sitenin şifre çözme işlemi çalışma biçimi hakkında bazı bilgiler verir.

Saldırının işe yaraması için aşağıdaki doğru olması gerekir:

  • Uygulamanız doldurma geçersiz olmakla ilgili bir hata mesajı vermek gerekir.
  • Biri şifreli çerezleri veya Görünüm durumu kurcalamak gerekir

Uygulamanızın insan okunabilir hata iletileri dönerseniz yani"Bir şeyler ters gitti" . lütfen tekrar deneyin o zaman, son derece güvenli olmalı. Bu yazı hakkında yorum üzerinde biraz okuma da değerli bilgiler verir.

  • Şifreli çerez oturum kimliği saklamak
  • Oturum durumu gerçek verileri (db kalıcı) saklayın
  • Kullanıcı bilgileri yanlış olduğunda rastgele bir Dur hata dönmeden önce ekleyin, o zaman yapamazsın

Bu şekilde kaçırılan bir çerez sadece büyük olasılıkla artık var olan bir oturum almak için kullanılabilir ya da geçersiz.

Aslında Ekoparty konferansında sunulan ne görmek ilginç olacak, ama şu anda bu güvenlik açığı hakkında pek endişeli değilim.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • BetterCoder

    BetterCoder

    17 Aralık 2012
  • GUN-TIME with Brandon

    GUN-TIME wit

    3 ŞUBAT 2009
  • theavettbrothers

    theavettbrot

    9 ŞUBAT 2007