iltasyazilim
FD Üye
RootKit
RootKit olarak tanıdık yazılımlar başlangıçta UNIX işletim sistemlerinde ortaya çıkmıştır ve orijinal UNIX işletim sistemi dosyaları ile yer değiştirip bayağı bir kullanıcıya root erişim hakkı vermeyi hedeflemişlerdir Zamanla bu yazılımlar Windows ortamına çalışabilir olmuştur Windows NT tabanlı işletim sistemlerinde çalışabilen ilk Rootkit ise 1999 yılında gözlenmiştir gerçi bu dönemde sıradan bilgisayar kullanıcısının emniyet konusunda dikkatini çekememiş, sadece güvenlik uzmanlarının uzaktan izlediği bir yazılım türü olarak kalmıştır 2005 yılında ise Sony Digital Rights Management (DRM) Rootkit ’inin tespit edilmesi Rootkit konusunun önemini gözler önüne sermiştir İşte bu noktadan daha sonra rootkit ’ler tüm emniyet çevrelerince manâlı ve tehlikeli bir tehtid olarak tanımlanmıştır Bu günkü Sony DRM rootkit zararsız bir rootkit olsa da tüm rootkit yazılımları fena niyetli kullanıcılar göre zararlı ışık halkası getirilebilmektedir yani zararsız rootkitler de potansiyel bir risk oluşturmaktadır
Adından da anlaşılabileceği gibi RootKit iki parçadan oluşmaktadır; Root Unix sistemlerinde herşeyi yapma yetkisine sahip olan kullanıcı veya kullanıcı yetkisi, Kit Bu yetki sahibi olabilmek için kullanılan zorunlu vasıta kutusu şeklinde ifade edilebilir
Bunu yaparken sistem araçları ile yer değiştirmiş olmaları, tanınmalarını engellemekte ve arkaplanda hiçbir kullanıcının veya tarayıcının fark edemeyeceği biçimde çalışmalarını sağlamaktadır Bu özellikleri zararlı yazılımları yazan programcılar (hacker) kadar fazla cazip bulunmakta ve birincil başlarda kötü amaçlarla kullanılmayan bu yazılımlardan hatalı kimselerin elinde fazla güvenli olmayan olabilecekleri için günümüzde kötü niyetli yazılımlar olarak bahsedilmektedir
Rootkit ’lerin fark ettirmeden işlemler yapabildiğinden bahsetmiştim Bunu birazcık açmak icabında; Rootkit yazılımların bu derece tehlikeli olmalarının en manâlı nedeni yalnızca kendilerini gizleyebilmeleri yok bununla birlikte ne gerçekleştirmek için programlandılarsa yapacakları işlemlerde kullandıkları araçları, dosyaları, tescil defteri anahtarları, portları ve hatta sistem dosyalarını da gizleyebilmeleridir
Rootkit ’ler bu kötü özelliklerine karşın daha önce UNIX örneğinde verdiğim gibi tamamen fena niyetli yazılımlar olmayabilirler fakat sistemde bir rootkit olması bile bu yazılımların fena niyetli olarak tekrar düzenlenebilmesinden sağladığı için potansiyel bir risk oluşturmaktadır
Rootkit ’lerin kullanılış amaçları fiilen öteki kötü niyetli yazılımlardan fazla bambaşka değildir, sisteminize aldığınız bir Rootkit diğer birininin (hacker) bilgisayarınıza girmesini ve kendi hukuki olmayan amaçları için bilgisayarınızı kullanmasını sağlayabilir Örneğin bir Rootkit yazılımı bilgisayarınıza başka bir kötü niyetli yazılımı (virüs, spyware, keylogger vs…) daha öncede bahsettiğim gibi gizleyebilmektedir
Rootkitler Nasıl Gizlenir
Rootkit yazılımlarının ana etkin olmasının nedeni işletim sisteminin zayıflıklarından yararlanmalarıdır Bu zayıflıkları kullanarak işletim sistemine sızarlar ve bu sayede kendilerini işletim sistemi dosyaları ile değiştirebilirler
Önceden de belirttiğim gibi rootkit yazılımları birçok zararlı program tarayıcısından kendisini saklayabilir ve tarama sonuçlarında görünmezler Tarama yapılırken işletim sisteminin kendileri için, tarama yapan emniyet yazılımına hatalı bilgiler vermesini sağlarlar ve bu nedenle işletim sistemi herhangi bir rootkit bulundurmadığını tarama yazılımına belirtir Her ne zaman bir tarayıcı ya da kullanıcı, işletim sisteminden aracısız olarak bilgi isterse, işletim sisteminden gelen bilginin doğru olduğu kabul edilir Bu bir kaide gibidir Tarama yapan bir araç işletim sistemine zararlı bir yazılım olup olmadığını sorduğunda ya da tarama yaptığında işletim sisteminde eğer rootkit varsa rootkit geri dönecek olan bu bilgiyi kendi çıkarı için düzenler ve hem kendisini keza de ilişki kurduğu diğer zararlı yazılımları gizleyen, her tarafta düzenlenmiş bilgileri tarayıcıya gönderir Bunu yapabilmesini sağlayan esas kuvvet ise rootkit yazılımının root yani yönetici haklarına sahip olmuş olmasıdır
Rootkitler sistemden istenen bilgileri değer biçmek için bir vakit bu bilgilerin geri dönüşünü geciktirir bu işleme hooking denmektedir Bu hooking süresi boyunca rootkit tarayıcı ya da kullanıcı göre sistemden istenen bilgileri, kendisini ve ona eşlik eden zararlı yazılımları gizleyecek şekilde değiştirir
Rootkit ile birlikte işlem gören veya rootkit doğruca sistemde gizli olan yazılımların tespit edilip kaldırılması da çok önemlidir Çünkü bu yazılımlar aralıksız rootkitler ile bir data alış verişi içindedir Rootkitden temizlenmiş bir sistemde eğer zararlı bir yazılım kendisini gizleyecek bir rootkit olmadığını ayrım ederse bu sistemi ilk kez rootkit ile bitmiş enfekte etmek için çalışacaktır bunu açtığı backdoorlar ile yapabileceği gibi değişik biçimlerde de yapabilmektedir
Peki bu gizlenme size nasıl yansır, örneğin tayin yöneticisini açtığınızda arkada çalışan bu rootkit ve ilişkili dosyalar çalışsalar da göremezsiniz Eğer windows ile bu rootkit dosyasının bulunduğu dizine giderseniz ortada bir rootkit olmadığını görürsünüz, tescil defterinde bir değiştirme var mı diye denetim ettiğinizde değiştirme bulunsa da göremezsiniz ve eğer rootkit bir port kullanıyorsa, portları teftiş etseniz bile açık değil, kapalı olarak görürsünüz
Kaç Nesil Rootkit Vardır
Temelde iki tür rootkit bulunmaktadır Bunlar sistemdeki etkilerine, sistemde kalıcı olup olmadıklarına tarafından iki ana gruba ayrılabilirler
1) Kullanıcı Aracılı Rootkitler
a) Daimi Olanlar (Sistem yeniden başlatılsa bile kendisi ve etkisi ortadan kalkmayan)
b) Daimi Olmayanlar (Sistem her yerde başlatıldığında kendisi ve etkisi ortadan kalkan)
2) Çekirdek (Kernel) Aracılı Rootkitler
a) Daimi Olanlar
b) Daimi Olmayanlar
Bunlardan Kullanıcı Rootkileri, Kernel Rootkitlerinden daha az zararlıdır ve etkileri sadece bulaştıkları kullanıcı hesabı ile sınırlıdır
Kullanıcı Aracılı Rootkitler
Bunlar zararlı işlemleri gerçekleştirmek ve işletim sisteminden istekte bulunmak için API (application programming interface) uygulamak durumundadırlar Bu API istekleri Kernel ’e ilk elden ulaşmaz ve DLL (Dynamic Link Libraries) olarak aşina dosyalara ziyaret etmek durumundadır Bu DLL dosyaları API isteklerini kernel ’in anlayabileceği
şekilde düzenler ve arzu gerçekleştirilir Gördüğünüz gibi bu seviyede aracısız kernele erişim bulunmamakta ve arabulucu kullanılmaktadır
Kernel Aracılı Rootkitler
Kernel, işletim sisteminin beyni ve en esas parçası olarak değerlendirilebilir Bütün yazılımlar bir şekilde kernel ile iletişim halinde olmalıdır ve bu dek öneme sahip olan bir bölüme rootkit yazılımılarının aracısız olarak erişimi çok tehlikelidir Bu alanda yer alan bir rootkit sistemin bütün kontrolünü elinde tutabilir Fakat Kernel Aracılı Rootkitler kendilerini daha fazla sistem hatası vermeleri ile emin edebilirler Yani sistem kararsız duruma kazanç ve çoğu süre kusur vermeye başlar
Daimi Olanlar
Bir rootikin işletim sistemini bitmiş başlatmadan kurtulmasının ve bu sayede kalıcı olmasının nedeni şu şeklide açıklanabilir; rootkit sistemde yani değişmez diskte bir yerde bulunmakta ve tescil defterinde otomatik başlatma girişi eklemektedir Bu sayede kendisini hafızaya atabilmekte ve sistem her tekrar başlatıldığında kontrolü eline alabilmektedir
Daimi Olmayanlar
Bu cins rootkiler yalnızca hafızada çalışır durumda bulunurlar ve sistemin yeniden başlatılması ile baştan hafızaya yerleşmez ya da tescil defteri girişi eklemezler Bu şart konut bilgisayarlarında bir sorun yaratmaz gibi görünsede birbirine tabi ve sürekli hedeflemek durumunda olan bir bilgisayar ağında sıkıcı olabilmektedir
KAYNAK *
RootKit olarak tanıdık yazılımlar başlangıçta UNIX işletim sistemlerinde ortaya çıkmıştır ve orijinal UNIX işletim sistemi dosyaları ile yer değiştirip bayağı bir kullanıcıya root erişim hakkı vermeyi hedeflemişlerdir Zamanla bu yazılımlar Windows ortamına çalışabilir olmuştur Windows NT tabanlı işletim sistemlerinde çalışabilen ilk Rootkit ise 1999 yılında gözlenmiştir gerçi bu dönemde sıradan bilgisayar kullanıcısının emniyet konusunda dikkatini çekememiş, sadece güvenlik uzmanlarının uzaktan izlediği bir yazılım türü olarak kalmıştır 2005 yılında ise Sony Digital Rights Management (DRM) Rootkit ’inin tespit edilmesi Rootkit konusunun önemini gözler önüne sermiştir İşte bu noktadan daha sonra rootkit ’ler tüm emniyet çevrelerince manâlı ve tehlikeli bir tehtid olarak tanımlanmıştır Bu günkü Sony DRM rootkit zararsız bir rootkit olsa da tüm rootkit yazılımları fena niyetli kullanıcılar göre zararlı ışık halkası getirilebilmektedir yani zararsız rootkitler de potansiyel bir risk oluşturmaktadır
Adından da anlaşılabileceği gibi RootKit iki parçadan oluşmaktadır; Root Unix sistemlerinde herşeyi yapma yetkisine sahip olan kullanıcı veya kullanıcı yetkisi, Kit Bu yetki sahibi olabilmek için kullanılan zorunlu vasıta kutusu şeklinde ifade edilebilir
Bunu yaparken sistem araçları ile yer değiştirmiş olmaları, tanınmalarını engellemekte ve arkaplanda hiçbir kullanıcının veya tarayıcının fark edemeyeceği biçimde çalışmalarını sağlamaktadır Bu özellikleri zararlı yazılımları yazan programcılar (hacker) kadar fazla cazip bulunmakta ve birincil başlarda kötü amaçlarla kullanılmayan bu yazılımlardan hatalı kimselerin elinde fazla güvenli olmayan olabilecekleri için günümüzde kötü niyetli yazılımlar olarak bahsedilmektedir
Rootkit ’lerin fark ettirmeden işlemler yapabildiğinden bahsetmiştim Bunu birazcık açmak icabında; Rootkit yazılımların bu derece tehlikeli olmalarının en manâlı nedeni yalnızca kendilerini gizleyebilmeleri yok bununla birlikte ne gerçekleştirmek için programlandılarsa yapacakları işlemlerde kullandıkları araçları, dosyaları, tescil defteri anahtarları, portları ve hatta sistem dosyalarını da gizleyebilmeleridir
Rootkit ’ler bu kötü özelliklerine karşın daha önce UNIX örneğinde verdiğim gibi tamamen fena niyetli yazılımlar olmayabilirler fakat sistemde bir rootkit olması bile bu yazılımların fena niyetli olarak tekrar düzenlenebilmesinden sağladığı için potansiyel bir risk oluşturmaktadır
Rootkit ’lerin kullanılış amaçları fiilen öteki kötü niyetli yazılımlardan fazla bambaşka değildir, sisteminize aldığınız bir Rootkit diğer birininin (hacker) bilgisayarınıza girmesini ve kendi hukuki olmayan amaçları için bilgisayarınızı kullanmasını sağlayabilir Örneğin bir Rootkit yazılımı bilgisayarınıza başka bir kötü niyetli yazılımı (virüs, spyware, keylogger vs…) daha öncede bahsettiğim gibi gizleyebilmektedir
Rootkitler Nasıl Gizlenir
Rootkit yazılımlarının ana etkin olmasının nedeni işletim sisteminin zayıflıklarından yararlanmalarıdır Bu zayıflıkları kullanarak işletim sistemine sızarlar ve bu sayede kendilerini işletim sistemi dosyaları ile değiştirebilirler
Önceden de belirttiğim gibi rootkit yazılımları birçok zararlı program tarayıcısından kendisini saklayabilir ve tarama sonuçlarında görünmezler Tarama yapılırken işletim sisteminin kendileri için, tarama yapan emniyet yazılımına hatalı bilgiler vermesini sağlarlar ve bu nedenle işletim sistemi herhangi bir rootkit bulundurmadığını tarama yazılımına belirtir Her ne zaman bir tarayıcı ya da kullanıcı, işletim sisteminden aracısız olarak bilgi isterse, işletim sisteminden gelen bilginin doğru olduğu kabul edilir Bu bir kaide gibidir Tarama yapan bir araç işletim sistemine zararlı bir yazılım olup olmadığını sorduğunda ya da tarama yaptığında işletim sisteminde eğer rootkit varsa rootkit geri dönecek olan bu bilgiyi kendi çıkarı için düzenler ve hem kendisini keza de ilişki kurduğu diğer zararlı yazılımları gizleyen, her tarafta düzenlenmiş bilgileri tarayıcıya gönderir Bunu yapabilmesini sağlayan esas kuvvet ise rootkit yazılımının root yani yönetici haklarına sahip olmuş olmasıdır
Rootkitler sistemden istenen bilgileri değer biçmek için bir vakit bu bilgilerin geri dönüşünü geciktirir bu işleme hooking denmektedir Bu hooking süresi boyunca rootkit tarayıcı ya da kullanıcı göre sistemden istenen bilgileri, kendisini ve ona eşlik eden zararlı yazılımları gizleyecek şekilde değiştirir
Rootkit ile birlikte işlem gören veya rootkit doğruca sistemde gizli olan yazılımların tespit edilip kaldırılması da çok önemlidir Çünkü bu yazılımlar aralıksız rootkitler ile bir data alış verişi içindedir Rootkitden temizlenmiş bir sistemde eğer zararlı bir yazılım kendisini gizleyecek bir rootkit olmadığını ayrım ederse bu sistemi ilk kez rootkit ile bitmiş enfekte etmek için çalışacaktır bunu açtığı backdoorlar ile yapabileceği gibi değişik biçimlerde de yapabilmektedir
Peki bu gizlenme size nasıl yansır, örneğin tayin yöneticisini açtığınızda arkada çalışan bu rootkit ve ilişkili dosyalar çalışsalar da göremezsiniz Eğer windows ile bu rootkit dosyasının bulunduğu dizine giderseniz ortada bir rootkit olmadığını görürsünüz, tescil defterinde bir değiştirme var mı diye denetim ettiğinizde değiştirme bulunsa da göremezsiniz ve eğer rootkit bir port kullanıyorsa, portları teftiş etseniz bile açık değil, kapalı olarak görürsünüz
Kaç Nesil Rootkit Vardır
Temelde iki tür rootkit bulunmaktadır Bunlar sistemdeki etkilerine, sistemde kalıcı olup olmadıklarına tarafından iki ana gruba ayrılabilirler
1) Kullanıcı Aracılı Rootkitler
a) Daimi Olanlar (Sistem yeniden başlatılsa bile kendisi ve etkisi ortadan kalkmayan)
b) Daimi Olmayanlar (Sistem her yerde başlatıldığında kendisi ve etkisi ortadan kalkan)
2) Çekirdek (Kernel) Aracılı Rootkitler
a) Daimi Olanlar
b) Daimi Olmayanlar
Bunlardan Kullanıcı Rootkileri, Kernel Rootkitlerinden daha az zararlıdır ve etkileri sadece bulaştıkları kullanıcı hesabı ile sınırlıdır
Kullanıcı Aracılı Rootkitler
Bunlar zararlı işlemleri gerçekleştirmek ve işletim sisteminden istekte bulunmak için API (application programming interface) uygulamak durumundadırlar Bu API istekleri Kernel ’e ilk elden ulaşmaz ve DLL (Dynamic Link Libraries) olarak aşina dosyalara ziyaret etmek durumundadır Bu DLL dosyaları API isteklerini kernel ’in anlayabileceği
şekilde düzenler ve arzu gerçekleştirilir Gördüğünüz gibi bu seviyede aracısız kernele erişim bulunmamakta ve arabulucu kullanılmaktadır
Kernel Aracılı Rootkitler
Kernel, işletim sisteminin beyni ve en esas parçası olarak değerlendirilebilir Bütün yazılımlar bir şekilde kernel ile iletişim halinde olmalıdır ve bu dek öneme sahip olan bir bölüme rootkit yazılımılarının aracısız olarak erişimi çok tehlikelidir Bu alanda yer alan bir rootkit sistemin bütün kontrolünü elinde tutabilir Fakat Kernel Aracılı Rootkitler kendilerini daha fazla sistem hatası vermeleri ile emin edebilirler Yani sistem kararsız duruma kazanç ve çoğu süre kusur vermeye başlar
Daimi Olanlar
Bir rootikin işletim sistemini bitmiş başlatmadan kurtulmasının ve bu sayede kalıcı olmasının nedeni şu şeklide açıklanabilir; rootkit sistemde yani değişmez diskte bir yerde bulunmakta ve tescil defterinde otomatik başlatma girişi eklemektedir Bu sayede kendisini hafızaya atabilmekte ve sistem her tekrar başlatıldığında kontrolü eline alabilmektedir
Daimi Olmayanlar
Bu cins rootkiler yalnızca hafızada çalışır durumda bulunurlar ve sistemin yeniden başlatılması ile baştan hafızaya yerleşmez ya da tescil defteri girişi eklemezler Bu şart konut bilgisayarlarında bir sorun yaratmaz gibi görünsede birbirine tabi ve sürekli hedeflemek durumunda olan bir bilgisayar ağında sıkıcı olabilmektedir
KAYNAK *