SSH aracısının iletilen özelliğinde CVE-2023-38408 olarak bilinen bir RCE güvenlik açığı bulundu
Peki Bu Açık Nedir ?
19 Temmuz 2023'te, Secure Shell protokolünün (SSH) yaygın olarak kullanılan uygulaması OpenSSH, yakın zamanda tanımlanan CVE-2023-38408 tehdidini ele alan bir güncelleme yayınladı. Qualys Güvenlik Danışmanlığı ekibi, OpenSSH'nin SSH aracısı özelliğindeki uzaktan kod yürütme potansiyelinden kaynaklanan bu açığı keşfetti.
CVE-2023-38408 Açığı Nedir ?
CVE-2023-38408, uzaktan kod yürütülmesini sağlayan ve özellikle PKCS#11 sağlayıcıları ile ilgili olarak SSH aracısının iletilmiş özelliğinde bulunan bir güvenlik açığıdır. Belirli koşullar altında SSH aracısının PKCS#11 desteğinden yararlanmak, saldırganların iletilen bir aracı soketi aracılığıyla uzaktan kod yürütmesine olanak tanır.
OpenSSH, Secure Shell (SSH) protokolünün açık kaynaklı bir uygulamasıdır ve istemci-sunucu ortamında güvenli olmayan bir ağ üzerinden şifreli iletişimi kolaylaştırmak için kapsamlı bir hizmet seti sağlar. Güvenli ağ etkileşimleri için hayati bir bileşen olan OpenSSH, çok sayıda kuruluşun siber güvenlik stratejileri için çok önemlidir.
SSH aracısı, kimlik anahtarlarının ve parolaların yönetimi yoluyla kullanıcı kimlik doğrulamasını basitleştirerek önemli bir rol oynar. Anahtarların SSH aracısında saklanması, kullanıcıların diğer sunucularda oturum açarken parolalarını veya parolalarını yeniden girme ihtiyacını ortadan kaldırarak sorunsuz bir çoklu oturum açma (SSO) deneyimi oluşturur.
Ancak, son olaylar bu iyi niyetli sistemdeki potansiyel olarak ciddi bir güvenlik açığını ortaya çıkardı.
Güvenlik açığı, SSH-aracısının kaynak kodundadır ve uzaktaki bir saldırganın, kullanıcının iş istasyonunda /usr/lib* içindeki paylaşılan kitaplıkları yüklemek ve kaldırmak için bir kullanıcının SSH-aracısının iletildiği uzak sunucuya erişimini sağlar. Bu güvenlik açığı, SSH aracısı varsayılan yapılandırma olan ENABLE_PKCS11 ile derlendiğinde ortaya çıkar.
/usr/lib* içindeki paylaşılan kitaplıklar resmi dağıtım paketlerinden kaynaklandığından ve SSH-agent genellikle bunlar üzerinde yalnızca dlopen() ve dlclose() işlemleri gerçekleştirdiği için bu eylem başlangıçta güvenli görünse de, birçok paylaşılan kitaplığın sisteme yüklendiğinde ve boşaltıldığında istenmeyen yan etkileri vardır. SSH-agent gibi güvenlik açısından hassas bir program. Örneğin, bazı paylaşılan kitaplıklar, yapıcı ve yıkıcı işlevlerini sırasıyla dlopen() ve dlclose() aracılığıyla otomatik olarak yürütür.
Saldırgan, resmi dağıtım paketlerinden paylaşılan kitaplıkların dört yaygın yan etkisini birbirine zincirleyerek, bu sınırlı ilkel (dlopen() ve dlclose() /usr/lib*) paylaşılan kitaplıklardan güvenilir, tek seferlik uzaktan kod yürütmeye dönüştürebilir. SSH aracısında.
SSH aracısını uzaktan kullanmak için Kavram Kanıtı'na (PoC) ilişkin ilk fikir şu adımları takip etti:
"execstack" kitaplıklarından birini dlopen() yaparak SSH aracısının yığınını çalıştırılabilir yapın ve kabuk kodunu bu yürütülebilir yığında depolayın.
SIGSEGV için bir sinyal işleyici kaydedin ve çekirdeğin eşlenmemiş sinyal işleyicisine sarkan bir işaretçiyi tutarak "şaşırtıcı davranış 3/"den paylaşılan kitaplıklardan birini dlopen()ing ve dlclose()ing yaparak hemen kodunu munmap() yapın.
"nodelete" kitaplıklarından birini dlopen()ing (mmap()ing) yaparak ("şaşırtıcı davranış 2/") eşlenmemiş sinyal işleyicinin kodunu başka bir paylaşılan kitaplıktan gelen kodla değiştirin.
Paylaşılan kitaplıklardan birini "şaşırtıcı davranış 4/"den dlopen() yaparak bir SIGSEGV oluşturun; eşlenmemiş sinyal işleyicinin çekirdek tarafından çağrılmasına neden olur, ancak değiştirme kodunu bunun yerine "nodelete" kitaplığından yürütür (bir kullanımdan sonra- ücretsiz senaryo).
Sinyal işleyicinin eşlendiği yerde eşlenen değiştirme kodunun, kabuk kodunun depolandığı yürütülebilir yığına atlayan kullanışlı bir araç görevi görmesini umuyoruz.
OpenSSH, Secure Shell (SSH) protokolünün açık kaynaklı bir uygulamasıdır ve istemci-sunucu ortamında güvenli olmayan bir ağ üzerinden şifreli iletişimi kolaylaştırmak için kapsamlı bir hizmet seti sağlar. Güvenli ağ etkileşimleri için hayati bir bileşen olan OpenSSH, çok sayıda kuruluşun siber güvenlik stratejileri için çok önemlidir.
SSH aracısı, kimlik anahtarlarının ve parolaların yönetimi yoluyla kullanıcı kimlik doğrulamasını basitleştirerek önemli bir rol oynar. Anahtarların SSH aracısında saklanması, kullanıcıların diğer sunucularda oturum açarken parolalarını veya parolalarını yeniden girme ihtiyacını ortadan kaldırarak sorunsuz bir çoklu oturum açma (SSO) deneyimi oluşturur.
Ancak, son olaylar bu iyi niyetli sistemdeki potansiyel olarak ciddi bir güvenlik açığını ortaya çıkardı.
Güvenlik açığı, SSH-aracısının kaynak kodundadır ve uzaktaki bir saldırganın, kullanıcının iş istasyonunda /usr/lib* içindeki paylaşılan kitaplıkları yüklemek ve kaldırmak için bir kullanıcının SSH-aracısının iletildiği uzak sunucuya erişimini sağlar. Bu güvenlik açığı, SSH aracısı varsayılan yapılandırma olan ENABLE_PKCS11 ile derlendiğinde ortaya çıkar.
/usr/lib* içindeki paylaşılan kitaplıklar resmi dağıtım paketlerinden kaynaklandığından ve SSH-agent genellikle bunlar üzerinde yalnızca dlopen() ve dlclose() işlemleri gerçekleştirdiği için bu eylem başlangıçta güvenli görünse de, birçok paylaşılan kitaplığın sisteme yüklendiğinde ve boşaltıldığında istenmeyen yan etkileri vardır. SSH-agent gibi güvenlik açısından hassas bir program. Örneğin, bazı paylaşılan kitaplıklar, yapıcı ve yıkıcı işlevlerini sırasıyla dlopen() ve dlclose() aracılığıyla otomatik olarak yürütür.
Saldırgan, resmi dağıtım paketlerinden paylaşılan kitaplıkların dört yaygın yan etkisini birbirine zincirleyerek, bu sınırlı ilkel (dlopen() ve dlclose() /usr/lib*) paylaşılan kitaplıklardan güvenilir, tek seferlik uzaktan kod yürütmeye dönüştürebilir. SSH aracısında.
SSH aracısını uzaktan kullanmak için Kavram Kanıtı'na (PoC) ilişkin ilk fikir şu adımları takip etti:
"execstack" kitaplıklarından birini dlopen() yaparak SSH aracısının yığınını çalıştırılabilir yapın ve kabuk kodunu bu yürütülebilir yığında depolayın.
SIGSEGV için bir sinyal işleyici kaydedin ve çekirdeğin eşlenmemiş sinyal işleyicisine sarkan bir işaretçiyi tutarak "şaşırtıcı davranış 3/"den paylaşılan kitaplıklardan birini dlopen()ing ve dlclose()ing yaparak hemen kodunu munmap() yapın.
"nodelete" kitaplıklarından birini dlopen()ing (mmap()ing) yaparak ("şaşırtıcı davranış 2/") eşlenmemiş sinyal işleyicinin kodunu başka bir paylaşılan kitaplıktan gelen kodla değiştirin.
Paylaşılan kitaplıklardan birini "şaşırtıcı davranış 4/"den dlopen() yaparak bir SIGSEGV oluşturun; eşlenmemiş sinyal işleyicinin çekirdek tarafından çağrılmasına neden olur, ancak değiştirme kodunu bunun yerine "nodelete" kitaplığından yürütür (bir kullanımdan sonra- ücretsiz senaryo).
Sinyal işleyicinin eşlendiği yerde eşlenen değiştirme kodunun, kabuk kodunun depolandığı yürütülebilir yığına atlayan kullanışlı bir araç görevi görmesini umuyoruz.
CVE-2023-38408 Nasıl Düzeltilir ?
Güvenlik açığı endişe verici olsa da, istismarı önlemek için önleyici tedbirler mevcuttur. Sisteminizin güvenliğinin ihlal edildiğinden şüpheleniyorsanız, ClamAV, Malwarebytes veya Avast gibi araçları kullanarak kötü amaçlı kod taraması yapmalısınız.
CVE-2023-38408'e karşı etkili bir şekilde ele almak ve korunmak için şu kapsamlı adımları izleyin:
OpenSSH 9.3p2 veya sonraki bir sürüme yükseltin: Güvenlik açığını azaltmak için kritik yamalar içerdiğinden, OpenSSH'nin en son sürümüne yükseltme yapmak çok önemlidir. İlgili tüm sistemlerin ve sunucuların önerilen sürüme veya daha yüksek bir sürüme derhal güncellendiğinden emin olun.
PKCS#11 sağlayıcılarını kısıtla: OpenSSH'yi yalnızca belirli ve güvenilir PKCS#11 sağlayıcılarına izin verecek şekilde yapılandırın. PKCS#11 sağlayıcılarının kullanımını bilinen ve doğrulanmış kaynaklarla sınırlandırarak potansiyel saldırı yüzeyini azaltabilir ve istismar riskini en aza indirebilirsiniz.
SSH aracısını iletirken dikkatli olun: SSH'de aracı yönlendirmeyi kullanırken dikkatli olun. SSH aracınızı güvenilmeyen sunuculara veya ortamlara iletmekten kaçının. CVE-2023-38408 ile ilişkili potansiyel riskleri göz önünde bulundurarak, güvenlik sonuçlarını değerlendirin ve aracı yönlendirmeyi yalnızca gerektiğinde etkinleştirin.
Sistem taramaları gerçekleştirin: ClamAV, Malwarebytes veya Avast gibi saygın antivirüs ve kötü amaçlı yazılım tespit araçlarını kullanarak sistemlerinizi düzenli olarak tarayın. Bu taramalar, sisteminizi zaten etkilemiş olabilecek potansiyel tehditleri veya kötü amaçlı kodları belirlemeye ve azaltmaya yardımcı olur.
Bu önleyici tedbirleri özenle uygulayarak, OpenSSH'yi derhal güncelleyerek ve güvenli yapılandırmalar uygulayarak siber güvenlik duruşunuzu geliştirebilir ve sistemlerinizi CVE-2023-38408 ile ilişkili potansiyel risklerden koruyabilirsiniz.
Konumu Okuduğunuz İçin Teşekkür ederim
Yararlandığım Kaynaklar Vulcan Cyber Security
CVE-2023-38408'e karşı etkili bir şekilde ele almak ve korunmak için şu kapsamlı adımları izleyin:
OpenSSH 9.3p2 veya sonraki bir sürüme yükseltin: Güvenlik açığını azaltmak için kritik yamalar içerdiğinden, OpenSSH'nin en son sürümüne yükseltme yapmak çok önemlidir. İlgili tüm sistemlerin ve sunucuların önerilen sürüme veya daha yüksek bir sürüme derhal güncellendiğinden emin olun.
PKCS#11 sağlayıcılarını kısıtla: OpenSSH'yi yalnızca belirli ve güvenilir PKCS#11 sağlayıcılarına izin verecek şekilde yapılandırın. PKCS#11 sağlayıcılarının kullanımını bilinen ve doğrulanmış kaynaklarla sınırlandırarak potansiyel saldırı yüzeyini azaltabilir ve istismar riskini en aza indirebilirsiniz.
SSH aracısını iletirken dikkatli olun: SSH'de aracı yönlendirmeyi kullanırken dikkatli olun. SSH aracınızı güvenilmeyen sunuculara veya ortamlara iletmekten kaçının. CVE-2023-38408 ile ilişkili potansiyel riskleri göz önünde bulundurarak, güvenlik sonuçlarını değerlendirin ve aracı yönlendirmeyi yalnızca gerektiğinde etkinleştirin.
Sistem taramaları gerçekleştirin: ClamAV, Malwarebytes veya Avast gibi saygın antivirüs ve kötü amaçlı yazılım tespit araçlarını kullanarak sistemlerinizi düzenli olarak tarayın. Bu taramalar, sisteminizi zaten etkilemiş olabilecek potansiyel tehditleri veya kötü amaçlı kodları belirlemeye ve azaltmaya yardımcı olur.
Bu önleyici tedbirleri özenle uygulayarak, OpenSSH'yi derhal güncelleyerek ve güvenli yapılandırmalar uygulayarak siber güvenlik duruşunuzu geliştirebilir ve sistemlerinizi CVE-2023-38408 ile ilişkili potansiyel risklerden koruyabilirsiniz.
Konumu Okuduğunuz İçin Teşekkür ederim
Yararlandığım Kaynaklar Vulcan Cyber Security
Son düzenleme: