Güvenlik Açıkları

by

Bilgisayar yazılımları güvenlik açıkları içerir. Yazılımı geliştiren kişi güvenlik konusunda çok özenli olsa bile kullandığı yazılım dilinin veya çeşitli kütüphanelerin güvenlik açıkları ister istemez o yazılımı da etkiler.

Güvenlik açıklarına karşı tedbir olarak yazılımın güncel tutulması tavsiye edilir. Dile kolay olan bu tavsiyeyi uygulamak her zaman o kadar kolay değildir. Belli bir yazılım versiyonu için güvenlik açıklarını kapatacak yamalar sınırlı bir süre boyunca çıkartılır. O süre dolunca kullanan kişilerin yeni versiyona geçmesi beklenir. Örneğin Red Hat Enterprise Linux (RHEL) ve RHEL türevleri olan Oracle Linux, Rocky Linux, Alma Linux bir versiyon için 10 yıl süreyle yamaları çıkartır. Bu süre diğer Linux dağıtımlarında değişebilir.

Peki yama çıkartma süresi dolduğu halde hala eski versiyonu kullanmak zorunda kalırsak ne olacak? Çeşitli nedenlerle yeni versiyona geçemeyebiliriz. Böyle bir sistemi internete açık olarak kullanmak çok büyük risk almak demektir. Mümkünse kapalı bir ağ ortamında kullanarak veya en azından güvenlik duvarı ile erişim sınırlandırması yaparak tedbir almaya çalışırız. Sistem Güvenliği yazımda bazı tedbirlerden bahsetmiştim.

Bir de yama yapabildiğimiz halde yapmaya çekindiğimiz durumlar vardır. Uygulanan yama, programın işleyişini bozabilir. Kendim şahsen yıllar içinde bu tür örnekler yaşadım. Güncelleme yapmaya karar vermek kolay olmuyor.

Açıklar kapatılırken yazılımı geliştirenler genelde sürüm numarasını değiştirir. Mesela Apache web sunucusunu çıkartanlar 2.4.50 içindeki kritik bir açığı kapatmak için 2.4.51’i çıkartabilir. Fakat Linux dağıtımları aynı şekilde davranmayabilir. Örneğin içinde Apache 2.4.50 gelen bir Linux dağıtımı, açığı kapatıp versiyonu 2.4.50’de bırakabilir. Yani sadece versiyona bakılarak bir yazılımın açık içerip içermediği bilinemez.

Açıkları tarayan çeşitli uygulamalar vardır. Bunlar sistemin içinden veya uzaktan taramalar yapabilir. Tabii taramada bir şey bulunamaması hiç açık olmadığı anlamına gelmez. Sadece o tarama anında bilinen açıkların taranan sistemlerde olup olmadığı kontrol edilir. Çok hassas sistemlere yapılan saldırılarda kullanılabilen, sıfır gün açıkları olarak bilinen açıkları tarama yaparak bulmak mümkün değildir. Bu yüzden bütün güvenlik açıklarını kapatacak yamaları uygulamış olsak bile yine de açık olabileceği ihtimalini düşünerek her zaman güvenlik konusunda alabildiğimiz her tür tedbiri almalıyız.

Açıklarla ilgili yapılan taramalar, eskiden kullanılan ama artık güvenli kabul edilmeyen protokolleri de tespit edebilir. Mesela SSLv3 uzun süredir güvenli kabul edilmiyor. https hizmeti veren bir sunucunun SSLv3 desteği kolayca tespit edilebilir. SSLv3 örneğinde uzaktan yapılacak tarama kullanılabilir ama sistem içinden yapılacak açık taramaları zayıf noktaları daha doğru tespit eder.

Güvenlik açıkları sadece sunucularla ilgili bir konu değildir. Kullandığımız bilgisayar, telefon, tablet gibi cihazların hepsi yazılım içerir. Doğal olarak da açıklar içerirler. Bunları mümkün olduğu kadar güncel tutmaya çalışmak iyi bir tedbirdir. Özellikle internette dolaşırken kullandığımız web tarayıcılarının açıkları istenmeyen problemlere yol açabilir. Ben masaüstü sistemimde Linux kullanıyorum. Linux bildiğim bir sistem olduğu için güvenliğini sağlamada kendimi daha rahat hissediyorum. Güvenliğin daha önemli olduğu bağlantılar için mesela bankacılık işlemlerinde iki aşamalı güvenlik uygulamaları devreye giriyor. Bilgisayardan bağlandıysam telefona gelen bir kısa mesaj veya telefona kurulu bir uygulama üzerinden ikinci bir doğrulama işlemi güvenliği artırıyor. Bu mantıkla düşününce telefondan kullanılan bir bankacılık uygulamasında güvenlik bana daha zayıf geliyor. Çünkü bütün işlemler sadece telefondan yapılıyor.

Güvenlikte insan faktörü en zayıf nokta olabiliyor. Telefonun kendisinde hiç bir açık olmasa bile insan kendi eliyle kuracağı bir uygulama ile bütün güvenliği sıfırlayabilir. Saldırı amaçlı kullanılabilecek o uygulama bir anlamda telefonu ele geçirip diğer uygulamaların bilgilerine de erişebilir. Bu yüzden her zaman dikkatli olmak zorundayız.