Matt Mullenweg Güvenlik Rantına Yanıt Verdi: WordPress Güncellemeleri için Dijital İmzalar Önemlidir, Öncelik Değildir

Yayınlanan: 2017-02-16

En çok kriptografi mühendisliği çalışmalarıyla tanınan Paragon Initiative Enterprises'ın Baş Geliştirme Sorumlusu Scott Arciszewski, Medium'da WordPress açık kaynaklı yazılım projesinin ortak yaratıcısı Matt Mullenweg'i güvenliğe yeterince önem vermediği için eleştiren bir gönderi yayınladı. Arciszewski o zamandan beri gönderiyi geri çekti, ancak bunu Wayback Machine aracılığıyla okuyabilirsiniz.

Arciszewski, PHP 7.2'nin şifreleme, şifre çözme, imzalar, şifre karma ve daha fazlasına izin veren çekirdek bir uzantısı olan libsodium olarak bilinen bir proje üzerinde çalışıyor. Amacı, geliştiricilerin daha yüksek seviyeli şifreleme araçları oluşturmasını sağlamaktır.

WordPress'in otomatik güncelleme sistemi api.wordpress.org üzerinden gerçekleştirilir. Güncellemelerin dijital imzası olmadığından, api.wordpress.org'un güvenliği ihlal edilirse, saldırganlar binlerce veya milyonlarca siteye kötü amaçlı güncellemeler gönderebilir. Bu senaryo, Wordfence'in güncelleme sunucularını tehlikeye atmış olabilecek karmaşık bir güvenlik açığının ayrıntılarını yayınlamasından sonra geçen yılın sonlarında insanların akıllarında ön plandaydı.

Arciszewski, çözüm olarak çevrimdışı kod imzalamayı ve eliptik eğri şifrelemesini önerir, “Bir dosya için geçerli bir imza üretebilen anahtar sunucuda depolanmaz (yalnızca dosyanın kendisi ve geçerli bir imzadır), bu nedenle sunucu saldırıya uğrasa bile , saldırganlar dosyaya sadece truva atı kötü amaçlı yazılımları ekleyemez” dedi.

OpenSSL, PHP'nin bir uzantısıdır ve genel olarak açık anahtarlı şifreleme olarak kullanılır, ancak yalnızca Arciszewski'nin yetersiz bulduğu RSA'yı destekler. WordPress PHP ile yazıldığından ve 5.2-7+ sürümlerini desteklediğinden, Arciszewski'nin bu kadar uyumlu bir çözüm oluşturması gerekiyordu. Bu ona, WordPress'in otomatik güncelleyicisine Ed25519 imza doğrulaması ekleyen sodyum_compat'ı yaratması için ilham verdi.

Arciszewski, WordPress'e bir dizi yama gönderdi, ancak WordPress çekirdek geliştiricisi Dion Hulse tarafından, sodyum_compat kitaplığının bir üçüncü taraf tarafından bir güvenlik denetiminden geçene kadar çekirdekle birleştirilemeyeceğini söyledi. Denetimler çok pahalıya mal olabilir, bu nedenle Arciszewski'nin planı, Automattic'in maliyetin bir kısmını üstlenip üstlenmeyeceğini veya fonların kitle kaynaklı olup olmayacağını görmekti. Ancak Mullenweg'in Hulse'a bu özellik üzerinde çalışmayı durdurması için bildirmesinden sonra projesi askıya alındı, çünkü bu özellik Editör, Özelleştirici ve REST API'nin üç temel odak alanıyla ilgili değil.

Arciszewski, kararı sorumsuz olarak nitelendirdi ve her kullanıcının alarma geçmek için bir nedeni olduğunu söyledi: “WordPress ekibi, etkileyici İnternet sahipliğini yönetecek kadar sorumlu olmadıklarını gösterdi (kuruluşun gidişatını düzeltmek için güçsüz olan bazı kişiler hariç). )," dedi. "Bu ihmal eylemi, ağın geri kalanını zarara sokacak ."

Güncelleme İmzalama Önemlidir, ancak Öncelikli Değildir

Mullenweg, Medium.com'daki gönderiye kendi mesajlarından biriyle yanıt verdi ve WordPress geliştirme ekibinin güvenlik konusundaki kararlılığını yineledi.

"Katılan herkes sorumluluğunu çok ciddiye alıyor ve WordPress'in büyümesi, birçok düşünceli, çalışkan insanın dahil olması ve WP sitelerinin güvenliğini her açıdan bütünsel olarak düşünmesi anlamına geldi" dedi.

Mullenweg, WordPress güncellemelerine dijital imzalar uygulayarak hangi saldırıların durdurulacağını da açıkladı.

“Birinin blogunuz ve WordPress.org arasındaki ağdaki güncelleme dosyalarını değiştirdiği ortadaki bir saldırıyı durdurabilir veya .org'un güncellemeye hizmet eden bölümünün tehlikeye atıldığı ancak imzalamanın gerçekleştiği bir durumu durdurabilir. parçası değil ve birisi reddedileceğini bilse bile güncellemeler göndermeye karar verdi” dedi.

Ekip, bu şekilde saldırıya uğrayan herhangi bir WordPress sitesinden habersizdir. Olasılık mevcut olsa da, hasarın kapsamı muhtemelen sınırlı olacaktır. Güncelleme sunucuları günün her saatinde izlenir ve birçok büyük web barındırma şirketi, müşterilerinin sitelerini kötü amaçlı yazılımlara karşı otomatik olarak taradığından, kötü amaçlı güncelleme muhtemelen hızlı bir şekilde keşfedilecektir.

Mullenweg, bir güncelleme sunucusunun güvenliği ihlal edildiğinde ne olacağını açıklar.

"Gerçekten hızlı bir şekilde kapatır, dünyaya bir sorun olduğunu bildirir, sorunu giderir, yeniden açar ve belirli siteleri veya ana bilgisayarları mümkün olduğunca bilgilendirirdik" dedi. WordPress, Alexa tarafından izlenen ilk 10 milyon sitenin %27,5'ine güç sağlasa da, site sayısının tehlikeye girmesi pek olası değildir.

Bir WordPress sitesini tehlikeye atmanın daha kolay yolları olduğunu söylemeye devam ediyor ve etki temelinde WordPress güvenliğine ilişkin en büyük sorunları listeliyor.

  1. Siteler çekirdek güncellenmiyor.
  2. Eklentileri güncellemeyen siteler.
  3. Siteler temaları güncellemiyor.
  4. Kaba kuvvet koruması veya iki faktörlü kimlik doğrulaması olmayan zayıf parolalar.
  5. Ana bilgisayarlar (profesyonel veya geçici) siteleri taramaz ve onarmaz.
  6. Uygulamada görülmeyen, yukarıdaki mevcut önceliklerden dikkati dağıtan varsayımsal konular.

Mullenweg, Arciszewski gönderisini yayınlamadan bir gün önce sodyum_compat denetimine bağışta bulunmayı teklif ettiğini doğruladı. Kütüphane bir denetimden geçse bile, kod hemen çekirdeğe eklenemedi, “İmzalamayı güncelleme sunucusundan izole etmek için sunucu tarafında da önemli işler yapmanız gerekecek, bu yüzden ilk etapta buna değer. ”dedi.

Ve eğer kod çekirdeğe eklenirse, yalnızca kriptografik kitaplığa ve güncelleme denetimine sahip sürüme güncellenen siteler bundan yararlanabilecektir. WordPress.org'un yine de güncelleme denetimi olmayan eski sürümlere güncelleme göndermesi gerekir. Bu siteler yine de kötü amaçlı bir güncelleme almaya karşı savunmasız olacaktır.

Mullenweg, dijital imzaların ve güncelleme imzalamanın eninde sonunda WordPress'te sona ereceğini, ancak önünde başka güvenlik sorunları olduğu için bunun bir öncelik olmadığını söylüyor: "dedi.

“Önce sunucu tarafını oluşturmak iyi bir yaklaşım olacaktır, çünkü bunu düzgün bir şekilde, örneğin bir HSM ile yapmak zor ve önemli kısımdır; sonra paketleri imzalatın; ardından otomatik güncellemeleri bozmak istemediğimiz için doğrulamayı bir eklentide test edin; ve son olarak çekirdekle birleşin ve istemciyi imzasız güncellemeleri reddetmeye ayarlayın. İstemci tarafında bir kriptografi kitaplığı seçmemiz ve denetlememiz gerekiyor.”

Mullenweg, yanıtını neden kişisel sitesi yerine Medium'da yayınladığını açıklayarak yazısını sonlandırdı. "Böyle rantlar için en popüler yer gibi görünüyor. Meşhur Medium editörünü de denemek istedim” dedi.

Sodyum_compat İçin Sırada Ne Var

Arciszewski, kütüphanesinin 2017'de WordPress'e eklenmesi için pek iyi görünmese de, bundan faydalanabilecek pek çok başka PHP projesi olduğunu söylüyor: “Onların iyiliği için, hala bağımsız bir üçüncü- parti kriptografisi denetimi ve maliyeti kitlesel fonlamaya çalışmak” dedi.