Code Risk ile Röportaj – WordPress Eklentileri İçin Ücretsiz Bir Kaynak Kodu Analiz Hizmeti

Yayınlanan: 2018-10-17

Hendrik Buchwald CodeRisk CEO'su WordPress eklentilerindeki güvenlik açıkları, WordPress çekirdeğindeki güvenlik açıklarından daha fazla site hackine neden olmuştur. Bunun olmasının nedenlerinden biri kaynak eksikliğidir. WordPress çekirdek kodu binlerce kişi tarafından incelense de, yazılımların her zaman güvenlik açıkları olacaktır. Ayrıca vakıf, kodun mümkün olduğunca güvenli olmasını sağlamak için ayrılmış kaynaklara sahiptir.

Öte yandan, birçok eklenti geliştiricisi, özellikle küçük bir eklenti ise, eklentilerinin kodunun güvenli olduğundan emin olmak için mevcut kaynaklara sahip değildir. Hendrik Buchwald'ın bu röportajda açıkladığı gibi, bunların hepsi değişecek olsa da. Hendrik, yazılım mühendisi, güvenlik araştırmacısı ve RIPS Technologies'in kurucu ortağıdır.

RIPS Teknolojileri ne yapar?

RIPS Technologies, Bochum, Almanya merkezli bir yüksek teknoloji şirketidir. Yerel yazılım kurulumu veya yüksek düzeyde ölçeklenebilir bulut hizmeti olarak PHP uygulamaları için otomatik güvenlik analizi sunuyoruz. Özellikle PHP diline ayrılmış yenilikçi kod analizi algoritmalarımız, modern uygulamalardaki karmaşık güvenlik açıklarını başka hiçbir çözümde bulamayacağınız şekilde belirleyebilir. Misyonumuz, geliştiricilere ve güvenlik uzmanlarına mümkün olan en doğru ve verimli güvenlik analizini sağlamaktır.

Geliştiricilerin yaptığı en yaygın güvenlik hatası nedir ve WordPress eklentilerinde gördüğünüz ilk 3 güvenlik açığı nedir?

Şaşırtıcı olmayan bir şekilde, en yaygın sorunlar, HTML yanıt sayfasına uygun temizleme yapılmadan kullanıcı girişi yazdırıldığında ortaya çıkan siteler arası komut dosyası çalıştırma (XSS) güvenlik açıklarıdır. Birincisi, veri çıktısı PHP uygulamalarının en yaygın işlemi olduğu ve bu nedenle güvenlik ihlallerinden diğer işlemlere göre daha fazla etkilendiği için bu sorunlar sıklıkla ortaya çıkar. İkincisi, HTML bağlamlarının çeşitliliği ve temizlemedeki tuzakları göz önüne alındığında, bu sorunlar kolayca ortaya çıkıyor. Siteler arası komut dosyası çalıştırma (XSS) güvenlik açıkları WordPress'te oldukça ciddidir çünkü bunlar örneğin şablon düzenleyici aracılığıyla PHP kodunu enjekte etmek için kullanılabilir. Neyse ki, bir yönetici ile etkileşim gerektiriyorlar.

İkinci en yaygın sorunlar, SQL enjeksiyon güvenlik açıklarıdır. SQL Enjeksiyonları, siteler arası komut dosyası çalıştırma güvenlik açıklarından daha ciddidir, çünkü en kötü durumda, herhangi bir kullanıcı etkileşimi olmadan veritabanından hassas bilgileri (örneğin parolaları) çıkarmak için kullanılabilirler. Sonuç olarak, tam otomatik kötü niyetli saldırılar için kullanılabilirler.

En popüler / indirilen 1.000 eklentinin genel güvenlik durumunun ne kadar iyi veya kötü olduğunu söyleyebilir misiniz?

Buna cevap vermek zor çünkü en popüler 1000 eklentiye ayrıntılı olarak bakmadım. Bu tür işlemlerin tamamlanması aylar alacak ve hazır olduğumuzda bazı eklentiler çok sık güncellendiğinden yeniden başlamamız gerekecek.

Bu nedenle, Kod Riski gibi otomatik bir güvenlik hizmeti kullanmak neden önemlidir. Depoda yaptığımız otomatik ve doğrulanmamış kaynak kod taramalarından elde edilen CodeRisk puanına rağmen, kötü puanlı eklentiler de olsa çoğunun kodunun kötü olmadığını söyleyebilirim. Bu eklentilerin çoğu çok büyük olsa da birçok işlevselliğe sahiptir. Bu, otomatik olarak bir yerde hata olma olasılığını artırır. Manuel testlerimizden, büyük eklentilerin çoğu zaman mantıksal güvenlik açıklarına sahip olduğunu da söyleyebiliriz.

WordPress eklenti geliştiricilerine neler sunduğunuzdan biraz bahseder misiniz?

En son projemiz CodeRisk, geliştiricilerin ve kullanıcıların eklenti kodlarının güvenlik riskini ücretsiz olarak değerlendirmesine yardımcı olur. Şimdilik bu, resmi WordPress deposunda barındırılan WordPress eklentileriyle sınırlıdır.

WordPress deposundan otomatik olarak yeni eklentiler getiriyoruz ve bunları PHP güvenlik tarayıcımız RIPS ile tarıyoruz. RIPS'in ayrıntılı sonuçları, anlaşılması kolay bir risk değerinde birleştirilir. Değer, başarılı bir şekilde yararlanmanın ciddiyetini, kod boyutuna göre bulunan sorunların miktarını ve bir sorunun bir üçüncü tarafça kötüye kullanılma olasılığını hesaba katar.

Eklenti geliştiricileri, otomatik bir sistem aracılığıyla kendi eklentileri için tam ayrıntılı sonuçları talep edebilir. Bilgileri olası güvenlik açıklarını düzeltmek ve kodlarını güçlendirmek için kullanabilirler, böylece WordPress ekosistemini daha güvenli hale getirebilirler. CodeRisk'in arkasındaki fikir, eklenti geliştiricilerine, güvenlik konusunda bilgili olmasalar bile kodlarındaki sorunları kendi başlarına bulmalarını sağlamaktır. WordPress güvenliği ile ilgili çok fazla araştırma yapmamıza ve birçok güvenlik açığını geliştiricilere bildirmemize rağmen, hepsini manuel olarak analiz etmek için çok fazla eklenti var.

Pek çok eklenti geliştiricisi, ücretsiz kaynak kodu analiz hizmetinize abone oluyor ve bunları kullanıyor mu? WordPress topluluğundan yanıt nasıl?

Şu anda eklentilerinde güvenlik açıkları riskini azaltmak için CodeRisk kullanan birkaç düzine eklenti geliştiricisi var. Şimdiye kadar çok sayıda iyi geri bildirim aldık ve CodeRisk şimdiden yüzlerce sorunun çözülmesine yardımcı oldu.

Otomatik tarayıcılar, yanlış pozitifleri ve istismar edilemeyen uç vakaları bildirme eğilimindedir. Pek çok geliştiricinin güvenlik konusunda bilgili olmadığını göz önünde bulundurarak, onlara yardımcı olmak ve yanlış alarmlardan kaçınmak için ne yapıyorsunuz?

Kullanıcılarımız, güvenlik riski oluşturan kodları vurguladığımızın farkında olmalıdır. İstenmeyen güvenlik açıkları arasında bu, örneğin daha sonra tehdit oluşturabilecek zayıf korumalar gibi diğer bulguları da içerir.

Gelecekte bir güvenlik tehdidi haline gelmeyeceğinden emin olmak için bir sorunun istismar edilebilir olup olmadığını ve nasıl olduğunu bilmek zorunda değilsiniz. Örneğin, bir işlevin dönüş değerini yazdırırsanız, siteler arası komut dosyası çalıştırma güvenlik açıklarını önlemek için işlevi doğru şekilde kodladığınızdan emin olun. Dönüş değeri henüz kullanıcı girdisi içermese bile, gelecekte bu olmayabilir.

Bu ücretsiz WordPress projesinin nereye gittiğini görüyorsunuz? Bunun için planların var mı? Belki de geliştiricilere el ele tutuşanlara birinci sınıf bir hizmet sunmak, sonuçları anlamalarına ve onlardan en iyi şekilde yararlanmalarına yardımcı olmak?

CodeRisk'in bir sonraki sürümü, çoğu blogun ayrılmaz bir parçası olduklarından ve çoğu zaman güvenlik açıkları içerdiğinden WordPress temaları için destek ekleyecektir. Bir noktada CodeRisk'i diğer içerik yönetim sistemlerine genişletmek istiyoruz. Şu anda premium hizmet için bir plan yok, ancak bunun için yeterli talep varsa bu değişebilir.

WordPress geliştiricilerine daha güvenli kod yazabilmeleri için izleyecekleri iki veya üç güvenli geliştirme en iyi uygulaması verebilir misiniz?

Daha güvenli kod yazmak istiyorsanız, mevcut koda asla körü körüne güvenmeyin. Her zaman işlevlerin kullanıcı girdisi döndürebileceğini varsayın ve onlara öyle davranın. Güvenli PHP kodunun nasıl yazılacağı hakkında genel bilgi için Güvenli PHP Yazılımı Oluşturma 2018 Kılavuzuna bakın.

Hizmet hakkında daha fazla bilgi için CodeRisk web sitesini ziyaret edin. Ve bir WordPress eklenti geliştiricisiyseniz ve eklentiniz WordPress eklenti deposundaysa, eklentinizin hangi güvenlik açıklarına sahip olabileceğini görmek için ücretsiz bir hesaba kaydolun.