2010-09-29 10 views
10

Microsoft dün ASP.NET'te out of band release to fix the security flaw ürününü yayımladı.ASP.NET Sabit'teki oracle dolgu saldırısı nasıldı?

hangi yöntemleri Microsoft bu vektörün uygulanabilirliğini sonuna kadar kullandı? Bu kırık görmesini engelleyen patlatır engeller - değişikliklerin

+3

Koli bandı olduğunu düşünüyorum. – FrustratedWithFormsDesigner

+2

er ya da geç birisi, NDepend veya Reflector kullanarak System.Web.Extensions.dll sürümlerini karşılaştırır. –

+0

@Mauricio, AES uygulamaları yönetilmeyen bir koddur, bu yüzden Reflector veya NDepend'in çok yardımcı olacağını düşünmüyorum :-) Eğer bu, yönetilen bir düzeltmeyse, her bir Windows sürümü, CPU tipi için yama sürümleri olmazdı. .. –

cevap

14

Büyük özeti istisna bilgi sızması etmeyin http://musingmarc.blogspot.com/2010/09/ms10-070-post-mortem-analysis-of-patch.html

  • geliyor.
  • doldurma çeklerde kısa devre fazlası (kırık dolgusu dolgu doğru ayet için zaman aynı miktarda almak) - Bu, yanlış dolgu için zamanlama farkı görmesini patlatır engeller.
  • IHttpHandler.ProcessRequest içinde alıcı istisna hakkında çok seçici olma - Bu yerine tüm istisnaların istisnanın (CryptographicException) bir tür yakalanmış olduğunu görmesini patlatır engeller. Rastgele IVs için karma tabanlı başlatma vektörlerinden
  • Anahtar - Bu, daha hızlı şifresini çözmek için veri ve karma arasındaki ilişkiyi kullanarak patlatır engeller.
  • Geriye dönük uyumluluk için izin ver - Bu, bir şeyi bozarsa, yeni davranışın bölüm içinde geri alınmasına izin verin.
  • Bir kod gözden geçirme kodu yaparken, yeni seçenekleri göz önünde bulundurduğunuzdan emin olmak için değiştirin.
+0

+1 güzel ayrıntılı bilgi, ana düzeltme olarak kabul ettiğim hakkında bir cevap ekledi. – eglasius

+1

Çok kötü Burada bakmayı düşünmüyordum ve ilk önce blog yanıtımı göndermedim :) – IDisposable

+0

@IDisposable ...Yazar – eglasius

3

Ana: tarayıcıya gönderilen şifrelenmiş verileri imzala. Bu, saldırının geçerli vs geçersiz doldurma hakkında bilgi elde etmek için yaptığı değerlerle uğraşmayı engeller, çünkü imza tüm bu durumlarda eşleşmeyeceğinden.

Onun dikkat etmek önemlidir, dosyalar alma izin webresource and scriptresource delik böyle olmaması gerekirdi. Tek başına basit şifreleme, kurcalamaya dayanıklı değildir. Başka bir deyişle, o zamanki dolgunluktan kurtulma oracle saldırısının geri kalanı gibi gelişmiş bir senaryonun bir gözetimi değildi (yine de aynı gerçeğe dayanarak, sunucuda kurcalamaya karşı korumasız bir koruma uygulayarak değiştirilmiş şifrelenmiş verileri geri gönderiyordu).

Yukarıdaki ana düzeltmenin yanı sıra, beklenen şifreleme yan kanallarını gizlemeye ve aynı şifreleme çağrılarına (asp.net üyeliği gibi) dayanan diğer özellikleri kırmadığından emin olmak gibi beklenen şeyler.