Rastlanılan En Sık Güvenlik Açıkları ve Çözümleri {!}
Yazar
Mesaj
Konu: Rastlanılan En Sık Güvenlik Açıkları ve Çözümleri {!} Salı Kas. 17, 2009 12:41 pm
En sık rastlanılan güvenlik açıkları ve çözümlerinin, on ana başlık altında incelenmesi: Hatalı kablosuz ağ yapılandırması, Hatalı yapılandırılmış sanal özel ağ ( VPN ) sunucuları, Web uygulamalarında SQL sorgularının değiştirilebilmesi, Web uygulamalarında başka siteden kod çalıştırma, Kolay tahmin edilebilir sifrelere sahip kullanıcı hesapları, SNMP servisi kullanımı, Güncellemeleri yapılmamış web sunucusu, İşletim sistemi ve uygulamaların standart şekilde kurulması, Hatalı yapılandırılmış saldırı tespit sistemleri, Güvenlik duvarı tarafından korunmayan sistemler.
Hatalı kablosuz ağ yapılandırması
Açıklama:
Günümüzde kullanımı oldukça artan kablosuz ağlar, birçok kurumun yerel ağının bir parçası olmuştur. Ancak kablosuz ağ erişim noktalarının, istemcilerin ve kablosuz ağ tasarımlarının yapılandırmasında güvenlik gereksinimleri gözönüne alınmamaktadır. İstemcilerin kimlik doğrulamasının yapılmaması, kriptolu erişim kullanılmaması, kablosuz ağların güvenlik duvarı aracılığıyla erişim denetimine tabi tutulmaması ve sinyal kalitesinde kısıtlama olmaması, saldırganların kablosuz ağlara sızmasını kolaylaştırmaktadır. Kablosuz ağlara sızabilen bir saldırgan, kurum yerel ağına girebilir, sunuculara erişim sağlayabilir, tüm ağ erişimlerini izleyebilir veya değiştirebilir.
Çözüm Önerileri:
Kablosuz ağ tasarımı yapılırken, kablosuz ağın Internet gibi güvensiz bir ağ olduğu göz önüne alınmalı, güvenlik duvarının DMZ bölümünden giriş yapılması sağlanmalı, tercihen sanal özel ağ ( VPN ) sistemleri kullanılmalı, sinyal kalitesinde kısıtlamalara gidilmeli ve istemciler harici doğrulama sistemleri tarafından kimlik kontrolüne tabi tutulmalıdır. Kurum güvenlik politikası dahilinde, gezgin kullanıcıların sistemlerinde kurumda kullanılmamasına rağmen kablosuz ağ kartı bulunması engellenmeli ve istemci kurumda iken ağ kartının devre dışı olması sağlanmalıdır.
Hatalı yapılandırılmış sanal özel ağ ( VPN ) sunucuları
Açıklama:
Sanal özel ağ ( VPN ) sunucuları güvensiz ağlar üzerinde güvenli iletişim tünelleri oluşturmak için kullanılmaktadır. Genel kullanım alanları arasında; kurum bölgeleri arası bağlantıları, çözüm ortakları ile iletişim, veya gezgin istemcilerin yerel ağa güvenli bağlanabilmesi sayılabilmektedir. Sıkça karşılaşılan sanal özel ağ güvenlik açıkları arasında, sanal özel ağ sunucularında harici kimlik doğrulama sistemleri kullanılmaması, sunucunun yerel ağda bulunması sonucu yerel ağa doğrudan erişim, istemciler ile Internet arasında iletişim izolasyonu olmaması ve zayıf kriptolama algoritmalarının seçilmesi sayılabilmektedir. Güvenlik açığı barındıran sanal özel ağa sızabilen bir saldırgan, kurum ağına doğrudan erişim sağlayabilmekte ve yerel kullanıcı haklarına sahip olabilmektedir.
Çözüm Önerileri:
Sanal özel ağ sunucuları kendilerine ayrılmış bir DMZ bölümü ve güvenlik duvarı aracılığıyla yerel ağa bağlanmalıdır. Böylece güvenlik duvarına gelen iletişim kriptosuz olacak ve üzerinde erişim denetimi yapılabilecektir. Gezgin kullanıcıların bağlantısında ise sayısal sertifika veya tek seferlik şifre gibi kimlik doğrulama yöntemleri kullanılmalıdır. Kriptolama amaçlı kullanılacak algoritma mutlak suretle günümüzde kolayca kırılamayan algoritmalar ( 3DES, AES vb. ) arasından seçilmelidir. Kullanılacak istemci yazılımları, Internet kullanımı ile sanal özel ağ kullanımı arasında izolasyon yapmalı ve istemcilerin Internette farklı kaynaklara erişimini kısıtlamalıdır. Ayrıca uzak erişimlerde sahip olunan yetkiler, yerel ağda sahip olunan yetkilerden çok daha az olacak şekilde yapılandırılmalıdır.
Web uygulamalarında SQL sorgularının değiştirilebilmesi
Açıklama:
Web uygulamalarında bazı bilgilerin tutulabilmesi için SQL veritabanları kullanılmaktadır. Uygulama geliştiricileri, bazı durumlarda kullanıcılardan gelen verileri beklenen veri türü ile karşılaştırmayarak SQL sorguları içinde kullanmaktadırlar. Genel olarak problemler, uygulama geliştiricinin SQL sorgularında anlam ifade edebilecek; UNION gibi kötü niyetli karakterlere karşı bir önlem almadığı zaman ortaya çıkmaktadır. Bu durum kullanıcıya önceden planlanmamış uygulama düzeyinde erişim sağlayabilir. İçinde SQL sorgulama barındıran bir çok ürün SQL sorguları değiştirilebilmesine ( SQL Injection ) karşı savunmasızdır. Saldırganlar SQL sorgularını değiştirme tekniklerini web sitelerine ve uygulamalara zarar vermek amaçlı kullanmaktadırlar. SQL enjeksiyon ile saldırgan tablo yaratabilir, değişiklikler yapabilir, veritabanı üzerinde erişim sağlayabilir veya veritabanı kullanıcısının hakları doğrultusunda sunucuda komut çalıştırabilir.
Çözüm Önerileri:
Uygulamanın tüm bileşenlerinde kullanılan değişkenler için kontroller oluşturulmalı ve değişkene atanması beklenen veri türü ile kullanıcı girdisi karşılaştırılmalıdır. Beklenen girdi türünden farklı karakterler saptanması durumunda, karakterler SQL sorgularında anlam ifade etmeyecek biçimde değiştirilmeli, silinmeli veya kullanıcıya uyarı mesajı döndürülmelidir. Tercihen uygulamanın tamamı için geçerli olacak, değişken türü ve atanabilecek girdi türünü parametre olarak alan ve kontrolleri yaptıktan sonra girdi kabul sonucu üreten sabit bir fonksiyon tercih edilmelidir.
Başka siteden kod çalıştırma ( Cross-Site Scripting ) açıkları, bir art niyetli kullanıcının hedef web sitesi aracılığıyla site ziyaretçilerinin sisteminde komut çalıştırabilmesine olanak tanımaktadır. Saldırı sonucu olarak site ziyaretçilerinin browser’larında bulunabilecek güvenlik açıklarının kullanılması, JavaScript/ActiveX ve VBScript komutlarının çalıştırılmasını mümkün kılmaktadır. Bu tür komutlar ile kullanıcıya ait site çerezleri alınabilir, kaydedilmiş şifreler çalınabilir veya browser’da bulunabilecek güvenlik açıkları ile kullanıcı sistemi ele geçirilebilir. Ayrıca elektronik ticaret veya bankacılık uygulamaları için sahte giriş ekranları oluşturularak ziyaretçilerin yanıltılması ve sonucunda kullanıcıya ait önemli bilgilerin ele geçirilmesi mümkün olabilir.
Çözüm Önerileri:
Uygulamanın tüm bileşenlerinde kullanılan değişkenler için kontroller oluşturulmalı ve değişkene atanması beklenen veri türü ile kullanıcı girdisi karşılaştırılmalıdır. Beklenen girdi türünden farklı karakterler ( örn; <>/; () ) saptanması durumunda, karakterler anlam ifade etmeyecek biçimde değiştirilmeli, silinmeli veya kullanıcıya uyarı mesajı döndürülmelidir. Tercihen uygulamanın tamamı için geçerli olacak, değişken türü ve atanabilecek girdi türünü parametre olarak alan ve kontrolleri yaptıktan sonra girdi kabul sonucu üreten sabit bir fonksiyon tercih edilmelidir.
Referanslar:
SPI Dynamics Cross-site Scripting Whitepaper cripting.pdf OWASP Cross-site Scripting Information
Kolay tahmin edilebilir şifrelere sahip kullanıcı hesapları
Açıklama:
Ağda bulunan istemci, sistem yöneticisi veya servislere özel kullanıcı hesaplarının kolay tahmin edilebilir şifrelere sahip olması, bir saldırganın kurum ağına yönelik kullanabileceği en basit saldırı yöntemidir. Özellikle yönlendirici yönetim şifreleri veya sunucu servislerine ait kullanıcı hesaplarının şifreleri kolayca tahmin edilebilmektedir. Web temelli uygulamaların yaygınlaşması ile web temelli uygulamalar da şifre seçim hatalarından etkilenmektedir. Bir saldırganın, yönetim hesaplarını veya geçerli bir kullanıcıya ait şifreleri ele geçirmesi durumunda, kurum ağına sınırsız erişim sağlanabilmekte ve istenen ağ sistemi kolayca ele geçirilebilmektedir.
Çözüm Önerileri:
Şifre seçimi, kalitesi ve yönetimi konusunda kurum politikası oluşturulmalıdır. Başta sistem yöneticileri olmak üzere kullanıcıların şifre seçim kriterlerine uyumu, dizin hizmetleri veya alan denetçileri ile sağlanmalı ve kullanıcıların daha zor tahmin edilebilir şifre seçimleri yapmaları sağlanmalıdır. Özel uygulama alanlarında (sanal özel ağ, ERP yazılımları, bankacılık uygulamaları vb.) harici doğrulama sistemleri veya sayısal sertifikalar kullanılmalıdır. Web temelli uygulamaların tasarımında, kullanıcı hesap yönetimi ve şifre seçimi konusunda, beklenen kriterlerin uygulanması zorlayıcı olmalıdır.
Referanslar:
Passwords: the Weak Link in Network Security Information Security: web applications
SNMP servisi kullanımı
Açıklama:
SNMP protokolü, ağ yönetim ve izleme amaçlı olarak kullanılmaktadır. Kurumsal ağlarda, birçok sunucu veya ağ bileşeninde SNMP servisi kullanılmaktadır. Kurumlar, Internet erişim ortamında güvenlik duvarı aracılığıyla sunucularda bulunan SNMP servisine erişimleri engellenmektedir. Ancak güvenlik duvarının önünde yer almakta olan birçok yönlendirici SNMP servisini ve SNMP servisinin yapısından kaynaklanan güvenlik sorunlarını içermektedir. UDP protokolü temelli olması, kullanıcı adı ve şifre doğrulamaları kullanmaması, SNMP protokolünün en zayıf yönlerindendir. Yönlendirici üzerinde bulunan SNMP servisini ele geçiren bir saldırgan, tüm kurumsal ağ trafiğini tünelleme ile kendisine aktarabilir, yönlendirme tablolarında değişiklik yapabilir ve kurum ağına geçiş için yönlendiriciyi atlama noktası olarak kullanabilir.
Çözüm Önerileri:
Internet erişimine açık sistemlerde SNMP servisinin kullanılmaması tavsiye edilir. SNMP protokolünün kullanılması gerekli ise yönlendirici/sunucu üzerinde bulunan paket filtreleme seçenekleri ve erişim denetim kuralları aracılığıyla sadece bağlanması istenen sistemlere izin verilmelidir. Ayrıca SNMP erişimi için zor bir iletişim kelimesi tanımlanmalı ve iletişim TCP protokolü temelli veya yönlendirici/sunucu destekliyor ise kriptolu veri trafiği üzerinden yapılmalıdır.
Birçok kurum, ağlarında bulunan web sunucu yazılımlarını düzenli olarak güncellememektedir. Microsoft IIS veya ASF Apache web sunucu yazılımların eski sürümleri birçok güvenlik açığı barındırmaktadır. Web sunucularının düzenli güncellenememesinin sebeplerinden en önemlisi, bu yazılımların parçası olduğu ticari ürünlerin kullanılıyor olmasıdır. Web sunucuda yapılacak sürüm değişikliği veya güncellemeler, ürün firması tarafından desteğin kesilmesine neden olabilmektedir. Her iki web sunucusunda da saptanan güvenlik açıkları, web sunucusunun servis dışı kalmasına veya tüm sunucunun ele geçirilmesine neden olmaktadır. Önceden belirlenmiş yapılandırma ile kurulan web sunucuları, gerekli olmayan birçok bileşeni bünyelerinde barındırmakta ve gelecekte bu bileşenlere ait ortaya çıkabilecek güvenlik açıklarından etkilenebilmektedir.
Çözüm Önerileri:
Web sunucu yazılımların düzenli güncellenmeleri oldukça önemlidir, ayrıca gerekli olmayan tüm bileşenler ( WebDAV, HTTP Trace, Frontpage Uzantıları, Yazıcı desteği, Index oluşturma desteği ve örnek CGI uygulamaları ) sistemden çıkarılmalıdır. Böylece gelecekte söz konusu bileşenler için duyurulacak güvenlik açıklarından etkilenilmeyecektir. Microsoft IIS web sunucusu için Microsoft URLScan aracı kullanılmalı ve tüm web istekleri içeriklerine göre süzülmelidir. Microsoft IIS veya ASF Apachenin parçası olduğu ticari ürünler kullanılıyor ve güncellemeler yapılması durumunda üretici firmanın desteğinin kesilmesi söz konusu ise alternatif yöntemler kullanılmalıdır. Bir ters proxy aracılığıyla güvenlik açığı barındıran web sunucusuna doğrudan erişimin kısıtlanması, uygulama katmanında kullanılabilecek içerik denetim sistemleri, uygulama güvenlik duvarları veya saldırı tespit sistemleri verimli sonuçlar üreten çözümlerdendir.
İşletim sistemi ve uygulamaların standart şekilde kurulması
Açıklama:
İşletim sistemleri ve uygulamalar temel kullanım standartları doğrultusunda öntanımlı bir yapılandırma ile kurulmaktadırlar. Öntanımlı yapılandırma, etkin kullanımda gerekmeyecek birçok desteği içermekte ve ürünün kullanımının kolaylaştırılması için sunulmaktadır. İşletim sistemi ve uygulamaların öntanımlı kurulumlarında kolay tahmin edilebilir şifreler, güvenlik açığı içermekte olan bileşenler ve örnek uygulamalar kolay kurulum sebebiyle tercih edilmektedir. Bu şekilde kurulan işletim sistemi ve uygulamalar genel özelliklere sahip olmakta, yayınlanmış ve kullanılmayan bileşenlerinde içermekte olduğu güvenlik açıklarından etkilenmektedir. Yazılımlarda bulunan yayınlanmış güvenlik açıkları, kullanımlarının güvenlik tehditi içerebileceği öngörülmemiş uygulamalar ve gerekli olmayan servisler sonucu, sistemin tamamen ele geçirilmesi veya servis dışı bırakılması mümkün olmaktadır.
Çözüm Önerileri:
İşletim sistemi ve uygulama kurulumlarında, kurulum seçenekleri özelleştirilmeli, yönetim şifreleri zor tahmin edilebilir olmalı, gerekli olmayan servisler durdurulmalı ve örnek uygulamalar sistemden çıkarılmalıdır. Ürün geliştiricisi tarafından sağlanan tüm güvenlik yamaları ve yapılandırma önerileri yazılımlara uygulanmalıdır. Kurulumlarda minimalist bir yaklaşım belirlenmeli ve gerekli olmayan tüm erişim yetkileri kısıtlanmalıdır. Ayrıca düzenli olarak üretici tarafından yayınlanmış güvenlik duyuruları ve güncel güvenlik e-posta listeleri takip edilmeli, yönergeler izlenmelidir.
Saldırı tespit sistemleri etkin güvenlik için vazgeçilmez uygulamalardır; ancak hatalı yapılandırılmaları durumunda saldırganların ağ iletişimini aksatabilmesi için en önemli araçlardandır.
Tespit edilen saldırılara kontrolsüz tepkiler verilmesi durumunda, – saldırganlar saldırı tespit sisteminin türünü ve özelliklerini saptayabilir, – çokça yapılan saldırı ile kayıt veritabanlarını doldurabilir, – sunuculara yönelik servis engelleme saldırısı yapabilir, – ağda gereksiz veri trafiği oluşturabilir, – saldırılarını gizleyebilir, – sahte saldırılar ile kritik görevdeki yönlendirici ve alan adı sunucularına erişimi kesebilir – veya güvenlik duvarı aracılığıyla saldırgan engelleme yapılıyor ise güvenlik duvarının kural tablosunu taşırabilir.
Öntanımlı yapılandırmalarda, saldırı tespit sistemleri saldırı önleme yapmamaktadırlar, ancak optimizasyon yapılmamış birçok sistemde kontrolsüz olarak saldırı önleme yapılmaktadır. Güncelleme ve tanımlamaları doğru yapılmamış, güncel yamaları uygulanmamış sistemlerde, farklı veri ve iletişim türleri seçilmesi durumunda saldırı tespit edilememektedir.
Çözüm Önerileri:
Ağ üzerinde bir süre saldırı tespit sistemi izleme durumunda çalıştırılmalı ve gelen veri trafiği türüne bağlı olarak saldırı tespit sistemi kural ve tepki optimizasyonu yapılmalıdır. Saldırı tespit siteminin saldırı türlerine göre tepki vermesi sağlanmalı, zorunlu kalmadıkça tepki üretilmemelidir. Güvenilir sistemler tanımı oluşturulmalı, önemli yönlendiriciler ve alan adı sunucuları ile kritik güvenlik sistemleri güvenilir olarak tanımlanmalıdır. Tepkiler öncelikle ICMP/TCP/UDP paketleri ile üretilmeli, çok sayıda saldırı olması durumunda tek bir işlem olarak ele alınmalı ve sürekli saldırılarda saldırgan sistem güvenlik duvarı tarafından engellenmelidir. Paket ve iletişim analiz seçenekleri için önerilen yama ve yardımcı yazılımlar kullanılmalı, ürün geliştiricilerinin hazırlamış oldukları rehber dökümanlarla karşılaştırılarak yapılandırmalar gözden geçirilmelidir.
Güvenlik duvarları, kurumların güvenlik sürecinde en önemli bileşenlerdendir. Doğru yapılandırılmamış veya tasarım hatası içermekte olan güvenlik duvarları, istenen güvenlik seviyesini sağlayamamaktadır. Özel istemci veya sunuculara verilmiş sınırsız erişim hakları, güvenlik duvarının önünde bulunan sunucu ve istemciler ile erişim denetim kuralları özelleştirilmemiş güvenlik duvarları, saldırganların kurum ağına sınırsız olarak erişimine imkan tanımaktadır. Yayınlanmış güvenlik açıklarının takip edilmemesi veya yapılandırma hatası sonucu güvenlik duvarı tarafından korunmayan bir sistem, saldırganın kurum ağına girebilmesi için atlama noktası olabilmektedir.
Çözüm Önerileri:
Güvenlik duvarı tasarımı yapılırken, kurum ağında bulunan ve Internet üzerinden hizmet sunacak sistemler DMZ bölümüne taşınmalı, yönlendirici ile güvenlik duvarı arasındaki ağa fiziksel giriş imkanları önlenmeli ve güvenlik duvarı üzerinde düzenli kontroller yapılarak, özel haklar sağlayan kurallar devre dışı bırakılmalıdır. Özel amaçlar için güvenlik duvarının dışına yerleştirilmesi gereken sistemlerin, yapılandırmaları özelleştirilmeli, gerekmeyen servisler durdurulmalı, güvenlik yamaları tamamlanmalı ve güvenlik duvarı üzerinden ağa erişimlerinde hiçbir özel erişim kuralı belirlenmemelidir.