Güvenlik sorunları olduğunda eklenti WordPress depolarından ertelenmeli mi?
27 Şubat 2020’de 21:34 (CET) ‘de WP eklenti etkinliğimizin günlüğünün “sömürü nedeniyle wordpress.org eklenti dizininden çekilirken” olduğunu söyleyen bir e -posta aldık. 28 Şubat 2020 Cuma günü 16: 08’de iyileştirmeler gönderdik. İyileştirmeleri serbest bırakmak için sadece 16.5 saate ihtiyacımız var. Bu normal çalışma saatlerimizde (Avrupa merkezliyiz) gerçekleşirse sorunu daha önce çözeceğiz, çünkü çok iyi bir yanıt süremiz var (referans). Eklentimiz 2 Mart 2020 Pazartesi günü 13: 00’da yeniden etkinleştirildi. Onarım gönderdikten 69 saat sonra. Ekibin hafta sonları nedeniyle eklentiyi yeniden etkinleştirmesinin uzun zaman aldığını belirtmek önemlidir.
Bunu neden yazıyorum? Güvenlik sorunları olan yönetilen eklentilerin WordPress depolarından askıya alınması gerektiğine inandığımı göstermek istiyorum. Ayrıca, eklenti inceleme ekibinde gönüllüler tarafından yürütülen çalışmalara gerçekten saygı duyuyorum ve bildirilen güvenlik sorunlarından da tamamen sorumluyum. Ancak, eklentide bildirilen güvenlik sorunlarının daha iyi ele alınabileceğinden eminim. Şu anki halledilecek yolları nedeniyle, eklentilerin itibarının büyük bir olumsuz darbesi var ve kullanıcıları ve web siteleri risk altında. Bu nedenle bu yazının sonunda yardımcı olabilecek bazı olası gelişmeleri vurguladım ve bence bunlar dikkate alınmalı. Fikir her zaman daha az kullanıcıyı riske atmak ve eklentiler ve geliştiriciler üzerindeki etkiyi azaltmaktır.Bu yazıda, neler olduğuna dair tüm ayrıntıları da belgeledim ve eklentimizde bildirilen düşük seviyeli kenar vakalarının güvenlik açığını açıkladım. WordPress eklentilerinin güvenlik sorunlarını bildirme prosedürü nedir? Eklenti El Kitabı’ndaki resmi yönergelerden: Eklentiyi bize bildirmeden önce geliştiriciyle doğrudan iletişim kurmak için her türlü çaba (bunun zor olabileceğini anlasak da – önce eklentinin kaynak kodunu kontrol edin, birçok geliştirici e -postalarını içerir) . Onlarla kişisel olarak iletişime geçemezseniz, lütfen doğrudan bizimle iletişime geçin ve yardım edeceğiz. Bizim durumumuzda ne oldu? Eklenti geliştiren eklenti üzerinde çok net bir şekilde yaptık. Depodaki eklenti sayfasına bakın ve bir fikir edineceksiniz! Ayrıca bizimle iletişime geçmeyi de kolaylaştırıyoruz. Ancak, eklenti geçici olarak eklenti deposundan çekilmeden önce hiç kimse bize güvenlik sorunları bildirmedi. Birisi sorunu WordPress eklentisi inceleme ekibine bildirdi ve eklentimizi geçici olarak önceden haber vermeksizin bir depodan çekti. Neden ve neyin ve neyin iyi, neyin geliştirilebileceğini ve neyin iyileştirilebileceğine bakmadan önce, eklentinin güvenlik açığına ve kim olduğumuza dair kısa bir açıklamaya bakalım.
Eklentinin güvenlik açığı nedir? Kullanıcıların eklentileri yapılandırmasına yardımcı olmak için WP etkinlik günlüğünde bir kurulum sihirbazımız var. Sihirbazdaki ayarlardan biri, AMMIN dışı kullanıcıların etkinlik günlüğünü okumasına izin vermenize izin verir.
Ancak bir hata yaptık; Sihirbazı çalıştıran kullanıcının kimliği doğrulanıp doğrulanmadığını kontrol etmiyoruz. Bu nedenle, suttered olmayan kullanıcılar bir sihirbaz çalıştırabilir ve kullanıcıların veya diğer rollerin eklenti ayarlarına erişmesine izin verebilir. Bununla birlikte, bu, kenar vakasının düşük bir şiddetidir. Bu neden düşük şiddetli kenar vakalarının güvenlik sorunu? Saldırgan bunu yalnızca: Kurulum sihirbazı kurulum tarafından asla tamamlanmazsa kullanabilir, Saldırganın zaten kullanıcıları var / web sitesinde kullanıcılara erişimi var,
Saldırgan yalnızca eklenti ayarlarına ve etkinlik günlüklerine erişebilir.
Bu güvenlik sorunundan yararlanarak, saldırgan WordPress sitesindeki diğer ayrıcalıklara erişemez. Bu nedenle, bu sömürünün web sitesinin davranışı ve işlevselliği üzerinde olumsuz etkileri yoktur. POC kavramının kanıtı çok basit. Yetkisiz bir kullanıcı olarak bu sayfayı ziyaret edin: http://example.com/wp-admin/admin-post.php?page=wsal-setup¤t-step=access
Bu, günlüğü kimin görebileceğini belirlemenizi sağlayan bir sihirbaz adımdır. HTML sayfa kaynağında nonce ‘_wpnone’ arayın, aşağıdaki curl komutunu kopyalayın ve girin: $ curl ‘http://example.com/wp-admin/admin-post.php -d’ _wpnone = insert-none-here & WSal-Access = Evet & Editörler%5B%5D = Müşteri & Save_step = Next ‘Müşteri olarak girdikten sonra eklenti ayarlarına tam erişiminiz olacak. Neden bu davanın yanlış işleme olduğunu düşünüyoruz? E -postamızda aşağıdakiler var: Eklentiyi hafifçe kapatmıyoruz ve güvenlik sorunları söz konusu olduğunda, kullanıcının hacmini ve geliştirici geçmişini rapordaki ciddiyet ve potansiyel hasarla dengelemeye çalışıyoruz. Ancak bence Eklentimiz çok erken çekildi. Çok uzak;
Geçmişte problemlerimiz olduğunda, her zaman birkaç saat içinde üstesinden geliriz. Bu sefer de aynı şeyi yaptık.
Eklenti inceleme ekibi temas ettiğinde her zaman zamanında cevap veririz.
Güvenlik sorunları sadece eklentimizi (düşük şiddet) etkiler ve bu bir kenar durumdur.
Güvenlik sorunları otomatik olarak kullanılamaz.
Saldırganın yapabileceği tek hasar eklenti ayarlarını değiştirmek, etkinlik günlüğünü okumak veya silmektir.
Diğer geliştiricilerin böyle bir durum hakkındaki görüşü nedir? Çoğumuz benzer sorunlar hakkında sosyal medyada makaleler, tweetler veya mesajlar okuduk. Ancak, bu konuda diğer insanların, özellikle geliştiricileri, ne düşündüğünü öğrenmek istiyorum. Bence bu önemli çünkü görmediğim bazı şeyler olabilir.
Başlamak için sorunu tanımlayan kişiye bir e -posta gönderdim ve sorumlu açıklama için teşekkür ettim. Yanıt: “Eklentideki sorunu hızlı bir şekilde çözdüğünüzü görmek güzel. BTW, WordPress.org’daki insanların birkaç gün boyunca kapattığını fark ettim, oldukça zor ve gerçekten gerekli değildi. “-Jerome Bruandet. Facebook grubunda WordPress ürünleri satan küçük bir anket yaptım. Bu grup küçük olmasına rağmen, üyelerinin çoğu eklenti geliştiricileri ve temalarıdır. Anketten, yuvarlak geliştiricinin düşük ila ılımlı bir ciddiyet sorunu durumunda, geliştiriciyle iletişime geçilmesi ve iyileştirme sağlama ve eklentileri çekmemesi gerektiğini kabul ettiğini görebiliriz: Bu prosedür nasıl geliştirilebilir? Bildiğim kadarıyla, birisi bir eklentideki güvenlik sorunlarını bildirdiğinde geçerli olan belgelenmiş bir prosedür yoktur. Sorun bu ise, aşağıdaki gibi prosedürler geliştiricilere yardımcı olabilir ve ayrıca insanların riskini azaltabilir. Eklenti İnceleme eklentisinin eklentisini kapatmadan önce geliştiriciyle iletişime geçin ve eylem planını onaylayın, eklentiyi kapatmadan önce geliştiriciyle iletişime geçmeyi ve güvenlik açığını onaylamayı deneyebilir. Geliştirici, iyileştirme için makul bir tarih de dahil olmak üzere eylem planına cevap vermelidir. Gerekirse, eklenti inceleme ekibi bir son tarih belirleyebilir. Örneğin, geliştiricilerin sorunu çözmek için 12 ila 24 saat arasında bir zamanları olmalıdır. Bununla birlikte, bazı durumlarda oldukları saat dilimine bağlı olarak daha fazla zamana ihtiyaç duyabilirler. Geliştirici yanıt veremezse, eklenti bir depodan çekilmelidir.
Güvenlik sorunlarının şiddeti ve türünün tartışılmaya açık olabileceğini belirleyin. Bununla birlikte, küçük bir güvenlik deneyimi olan biri, bildirilen güvenlik sorunlarının otomatik olarak kullanılıp kullanılamayacağını, bir avantaj durumu olup olmadığını ve rapor edilen kanıtların (POC) etkisi ne olduğunu kolayca öğrenebilir. Geliştiricinin Eylem Planında kalıp kalmadığını kontrol edin, geliştiricinin onarım gönderdiğini ve eylem planında yer alan diğer görevlere kaldığını onaylamak için bir tür inceleme olmalıdır. Depodan tutulan ilginç eklentiler, korunan eklentiler durumunda yardımcı olmaz, havuzdan ilginç olandan daha zararlıdır. Örneğin; eklentilerin sorunları olduğunu, büyük olasılıkla güvenlik sorunları olduğunu duyuruyorsunuz. Bu çok fazla alarm neden olur ve eklentiyi vurgular. Bu aynı zamanda saldırganları davet etmek gibi, eklentideki bir şeyin kullanılabileceğini söylemek.
Bu, geçerli eklenti kullanıcı tabanını ortaya çıkarır, çünkü aniden web siteleri hedeflenir. Çoğu kullanıcı ne yapmaları gerektiğini bilmiyor, özellikle eklenti işlevselliği web sitelerinin ve işlerinin özü ise.
İyileşmeyi geciktirme olasılığını artırırsınız. Bu genellikle iletişim eksikliğinden veya tatiller ve hafta sonları nedeniyle neden olur.