bilgiliadam
Yeni Üye
RootKit
RootKit olarak bilinen yazılımlar ilk olarak UNIX işletim sistemlerinde ortaya cıkmıştır ve orijinal UNIX işletim sistemi dosyaları ile yer değiştirip normal bir kullanıcıya root erişim hakkı vermeyi hedeflemişlerdir Zamanla bu yazılımlar Windows ortamına calışabilir olmuştur Windows NT tabanlı işletim sistemlerinde calışabilen ilk Rootkit ise 1999 yılında gozlenmiştir Yine de bu donemde normal bilgisayar kullanıcısının guvenlik konusunda dikkatini cekememiş, sadece guvenlik uzmanlarının uzaktan izlediği bir yazılım turu olarak kalmıştır 2005 yılında ise Sony Digital Rights Management (DRM) Rootkit’inin tespit edilmesi Rootkit konusunun onemini gozler onune sermiştir İşte bu noktadan sonra rootkit’ler tum guvenlik cevrelerince onemli ve tehlikeli bir tehtid olarak tanımlanmıştır Bu gunku Sony DRM rootkit zararsız bir rootkit olsa da tum rootkit yazılımları kotu niyetli kullanıcılar tarafından zararlı hale getirilebilmektedir yani zararsız rootkitler de potansiyel bir tehlike oluşturmaktadır
Adından da anlaşılabileceği gibi RootKit iki parcadan oluşmaktadır; Root Unix sistemlerinde herşeyi yapma yetkisine sahip olan kullanıcı ya da kullanıcı yetkisi, Kit Bu yetki sahibi olabilmek icin kullanılan gerekli arac kutusu şeklinde ifade edilebilir
Bunu yaparken sistem aracları ile yer değiştirmiş olmaları, tanınmalarını engellemekte ve arkaplanda hicbir kullanıcının ya da tarayıcının fark edemeyeceği bicimde calışmalarını sağlamaktadır Bu ozellikleri zararlı yazılımları yazan programcılar (hacker) tarafından cok cazip bulunmakta ve ilk başlarda kotu amaclarla kullanılmayan bu yazılımlardan yanlış kimselerin elinde cok tehlikeli olabilecekleri icin gunumuzde kotu niyetli yazılımlar olarak bahsedilmektedir
Rootkit’lerin fark ettirmeden işlemler yapabildiğinden bahsetmiştim Bunu biraz acmak gerekirse; Rootkit yazılımların bu derece tehlikeli olmalarının en onemli nedeni sadece kendilerini gizleyebilmeleri değil aynı zamanda ne yapmak icin programlandılarsa yapacakları işlemlerde kullandıkları aracları, dosyaları, kayıt defteri anahtarları, portları ve hatta sistem dosyalarını da gizleyebilmeleridir
Rootkit’ler bu kotu ozelliklerine rağmen daha once UNIX orneğinde verdiğim gibi tamamen kotu niyetli yazılımlar olmayabilirler ancak sistemde bir rootkit olması bile bu yazılımların kotu niyetli olarak yeniden duzenlenebilmesinden sağladığı icin potansiyel bir tehlike oluşturmaktadır
Rootkit’lerin kullanılış amacları aslında diğer kotu niyetli yazılımlardan cok farklı değildir, sisteminize aldığınız bir Rootkit başka birininin (hacker) bilgisayarınıza girmesini ve kendi yasal olmayan amacları icin bilgisayarınızı kullanmasını sağlayabilir Mesela bir Rootkit yazılımı bilgisayarınıza başka bir kotu niyetli yazılımı (virus, spyware, keylogger vs…) daha oncede bahsettiğim gibi gizleyebilmektedir
Rootkitler Nasıl Gizlenir
Rootkit yazılımlarının asıl etkili 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ı coğu zararlı program tarayıcısından kendisini saklayabilir ve tarama sonuclarında gorunmezler Tarama yapılırken işletim sisteminin kendileri icin, tarama yapan guvenlik yazılımına yanlış bilgiler vermesini sağlarlar ve boylece 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 doğrudan bilgi isterse, işletim sisteminden gelen bilginin doğru olduğu kabul edilir Bu bir kural gibidir Tarama yapan bir arac 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 donecek olan bu bilgiyi kendi cıkarı icin duzenler ve hem kendisini hem de ilişki kurduğu diğer zararlı yazılımları gizleyen, yeniden duzenlenmiş bilgileri tarayıcıya gonderir Bunu yapabilmesini sağlayan temel guc ise rootkit yazılımının root yani yonetici haklarına sahip olmuş olmasıdır
Rootkitler sistemden istenen bilgileri değerlendirmek icin bir sure bu bilgilerin geri donuşunu geciktirir bu işleme hooking denmektedir Bu hooking suresi boyunca rootkit tarayıcı ya da kullanıcı tarafından sistemden istenen bilgileri, kendisini ve ona eşlik eden zararlı yazılımları gizleyecek şekilde değiştirir
Rootkit ile birlikte işlem goren ya da rootkit sayesinde sistemde gizlenmiş olan yazılımların tespit edilip kaldırılması da cok onemlidir Çunku bu yazılımlar surekli rootkitler ile bir veri alış verişi icindedir Rootkitden temizlenmiş bir sistemde eğer zararlı bir yazılım kendisini gizleyecek bir rootkit olmadığını fark ederse bu sistemi oncelikle rootkit ile tekrar enfekte etmek icin calışacaktır bunu actığı backdoorlar ile yapabileceği gibi değişik bicimlerde de yapabilmektedir
Peki bu gizlenme size nasıl yansır, orneğin gorev yoneticisini actığınızda arkada calışan bu rootkit ve ilişkili dosyalar calışsalar da goremezsiniz Eğer windows ile bu rootkit dosyasının bulunduğu dizine giderseniz ortada bir rootkit olmadığını gorursunuz, kayıt defterinde bir değişiklik var mı diye kontrol ettiğinizde değişiklik bulunsa da goremezsiniz ve eğer rootkit bir port kullanıyorsa, portları kontrol etseniz bile acık değil, kapalı olarak gorursunuz
Kac Tur Rootkit Vardır
Temelde iki tur rootkit bulunmaktadır Bunlar sistemdeki etkilerine, sistemde kalıcı olup olmadıklarına gore iki ana gruba ayrılabilirler
1) Kullanıcı Aracılı Rootkitler
a) Kalıcı Olanlar (Sistem yeniden başlatılsa bile kendisi ve etkisi ortadan kalkmayan)
b) Kalıcı Olmayanlar (Sistem yeniden başlatıldığında kendisi ve etkisi ortadan kalkan)
2) Çekirdek (Kernel) Aracılı Rootkitler
a) Kalıcı Olanlar
b) Kalıcı 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 yapmak ve işletim sisteminden istekte bulunmak icin API (application programming interface) kullanmak durumundadırlar Bu API istekleri Kernel’e doğrudan ulaşmaz ve DLL (Dynamic Link Libraries) olarak bilinen dosyalara uğramak durumundadır Bu DLL dosyaları API isteklerini kernel’in anlayabileceği
şekilde duzenler ve istek gercekleştirilir Gorduğunuz gibi bu seviyede doğrudan kernele erişim bulunmamakta ve aracı kullanılmaktadır
Kernel Aracılı Rootkitler
Kernel, işletim sisteminin beyni ve en temel parcası olarak değerlendirilebilir Tum yazılımlar bir şekilde kernel ile iletişim halinde olmalıdır ve bu kadar oneme sahip olan bir bolume rootkit yazılımılarının doğrudan erişimi cok tehlikelidir Bu alanda bulunan bir rootkit sistemin tum kontrolunu elinde tutabilir Ancak Kernel Aracılı Rootkitler kendilerini daha cok sistem hatası vermeleri ile belli edebilirler Yani sistem kararsız duruma gelir ve coğu zaman hata vermeye başlar
Kalıcı Olanlar
Bir rootikin işletim sistemini yeniden başlatmadan kurtulmasının ve bu sayede kalıcı olmasının nedeni şu şeklide acıklanabilir; rootkit sistemde yani sabit diskte bir yerde bulunmakta ve kayıt defterinde otomatik başlatma girişi eklemektedir Bu sayede kendisini hafızaya atabilmekte ve sistem her yeniden başlatıldığında kontrolu eline alabilmektedir
Kalıcı Olmayanlar
Bu tur rootkiler sadece hafızada calışır durumda bulunurlar ve sistemin yeniden başlatılması ile tekrar hafızaya yerleşmez ya da kayıt defteri girişi eklemezler Bu durum ev bilgisayarlarında bir sorun yaratmaz gibi gorunsede birbirine bağlı ve surekli calışmak durumunda olan bir bilgisayar ağında can sıkıcı olabilmektedir
KAYNAK
RootKit olarak bilinen yazılımlar ilk olarak UNIX işletim sistemlerinde ortaya cıkmıştır ve orijinal UNIX işletim sistemi dosyaları ile yer değiştirip normal bir kullanıcıya root erişim hakkı vermeyi hedeflemişlerdir Zamanla bu yazılımlar Windows ortamına calışabilir olmuştur Windows NT tabanlı işletim sistemlerinde calışabilen ilk Rootkit ise 1999 yılında gozlenmiştir Yine de bu donemde normal bilgisayar kullanıcısının guvenlik konusunda dikkatini cekememiş, sadece guvenlik uzmanlarının uzaktan izlediği bir yazılım turu olarak kalmıştır 2005 yılında ise Sony Digital Rights Management (DRM) Rootkit’inin tespit edilmesi Rootkit konusunun onemini gozler onune sermiştir İşte bu noktadan sonra rootkit’ler tum guvenlik cevrelerince onemli ve tehlikeli bir tehtid olarak tanımlanmıştır Bu gunku Sony DRM rootkit zararsız bir rootkit olsa da tum rootkit yazılımları kotu niyetli kullanıcılar tarafından zararlı hale getirilebilmektedir yani zararsız rootkitler de potansiyel bir tehlike oluşturmaktadır
Adından da anlaşılabileceği gibi RootKit iki parcadan oluşmaktadır; Root Unix sistemlerinde herşeyi yapma yetkisine sahip olan kullanıcı ya da kullanıcı yetkisi, Kit Bu yetki sahibi olabilmek icin kullanılan gerekli arac kutusu şeklinde ifade edilebilir
Bunu yaparken sistem aracları ile yer değiştirmiş olmaları, tanınmalarını engellemekte ve arkaplanda hicbir kullanıcının ya da tarayıcının fark edemeyeceği bicimde calışmalarını sağlamaktadır Bu ozellikleri zararlı yazılımları yazan programcılar (hacker) tarafından cok cazip bulunmakta ve ilk başlarda kotu amaclarla kullanılmayan bu yazılımlardan yanlış kimselerin elinde cok tehlikeli olabilecekleri icin gunumuzde kotu niyetli yazılımlar olarak bahsedilmektedir
Rootkit’lerin fark ettirmeden işlemler yapabildiğinden bahsetmiştim Bunu biraz acmak gerekirse; Rootkit yazılımların bu derece tehlikeli olmalarının en onemli nedeni sadece kendilerini gizleyebilmeleri değil aynı zamanda ne yapmak icin programlandılarsa yapacakları işlemlerde kullandıkları aracları, dosyaları, kayıt defteri anahtarları, portları ve hatta sistem dosyalarını da gizleyebilmeleridir
Rootkit’ler bu kotu ozelliklerine rağmen daha once UNIX orneğinde verdiğim gibi tamamen kotu niyetli yazılımlar olmayabilirler ancak sistemde bir rootkit olması bile bu yazılımların kotu niyetli olarak yeniden duzenlenebilmesinden sağladığı icin potansiyel bir tehlike oluşturmaktadır
Rootkit’lerin kullanılış amacları aslında diğer kotu niyetli yazılımlardan cok farklı değildir, sisteminize aldığınız bir Rootkit başka birininin (hacker) bilgisayarınıza girmesini ve kendi yasal olmayan amacları icin bilgisayarınızı kullanmasını sağlayabilir Mesela bir Rootkit yazılımı bilgisayarınıza başka bir kotu niyetli yazılımı (virus, spyware, keylogger vs…) daha oncede bahsettiğim gibi gizleyebilmektedir
Rootkitler Nasıl Gizlenir
Rootkit yazılımlarının asıl etkili 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ı coğu zararlı program tarayıcısından kendisini saklayabilir ve tarama sonuclarında gorunmezler Tarama yapılırken işletim sisteminin kendileri icin, tarama yapan guvenlik yazılımına yanlış bilgiler vermesini sağlarlar ve boylece 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 doğrudan bilgi isterse, işletim sisteminden gelen bilginin doğru olduğu kabul edilir Bu bir kural gibidir Tarama yapan bir arac 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 donecek olan bu bilgiyi kendi cıkarı icin duzenler ve hem kendisini hem de ilişki kurduğu diğer zararlı yazılımları gizleyen, yeniden duzenlenmiş bilgileri tarayıcıya gonderir Bunu yapabilmesini sağlayan temel guc ise rootkit yazılımının root yani yonetici haklarına sahip olmuş olmasıdır
Rootkitler sistemden istenen bilgileri değerlendirmek icin bir sure bu bilgilerin geri donuşunu geciktirir bu işleme hooking denmektedir Bu hooking suresi boyunca rootkit tarayıcı ya da kullanıcı tarafından sistemden istenen bilgileri, kendisini ve ona eşlik eden zararlı yazılımları gizleyecek şekilde değiştirir
Rootkit ile birlikte işlem goren ya da rootkit sayesinde sistemde gizlenmiş olan yazılımların tespit edilip kaldırılması da cok onemlidir Çunku bu yazılımlar surekli rootkitler ile bir veri alış verişi icindedir Rootkitden temizlenmiş bir sistemde eğer zararlı bir yazılım kendisini gizleyecek bir rootkit olmadığını fark ederse bu sistemi oncelikle rootkit ile tekrar enfekte etmek icin calışacaktır bunu actığı backdoorlar ile yapabileceği gibi değişik bicimlerde de yapabilmektedir
Peki bu gizlenme size nasıl yansır, orneğin gorev yoneticisini actığınızda arkada calışan bu rootkit ve ilişkili dosyalar calışsalar da goremezsiniz Eğer windows ile bu rootkit dosyasının bulunduğu dizine giderseniz ortada bir rootkit olmadığını gorursunuz, kayıt defterinde bir değişiklik var mı diye kontrol ettiğinizde değişiklik bulunsa da goremezsiniz ve eğer rootkit bir port kullanıyorsa, portları kontrol etseniz bile acık değil, kapalı olarak gorursunuz
Kac Tur Rootkit Vardır
Temelde iki tur rootkit bulunmaktadır Bunlar sistemdeki etkilerine, sistemde kalıcı olup olmadıklarına gore iki ana gruba ayrılabilirler
1) Kullanıcı Aracılı Rootkitler
a) Kalıcı Olanlar (Sistem yeniden başlatılsa bile kendisi ve etkisi ortadan kalkmayan)
b) Kalıcı Olmayanlar (Sistem yeniden başlatıldığında kendisi ve etkisi ortadan kalkan)
2) Çekirdek (Kernel) Aracılı Rootkitler
a) Kalıcı Olanlar
b) Kalıcı 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 yapmak ve işletim sisteminden istekte bulunmak icin API (application programming interface) kullanmak durumundadırlar Bu API istekleri Kernel’e doğrudan ulaşmaz ve DLL (Dynamic Link Libraries) olarak bilinen dosyalara uğramak durumundadır Bu DLL dosyaları API isteklerini kernel’in anlayabileceği
şekilde duzenler ve istek gercekleştirilir Gorduğunuz gibi bu seviyede doğrudan kernele erişim bulunmamakta ve aracı kullanılmaktadır
Kernel Aracılı Rootkitler
Kernel, işletim sisteminin beyni ve en temel parcası olarak değerlendirilebilir Tum yazılımlar bir şekilde kernel ile iletişim halinde olmalıdır ve bu kadar oneme sahip olan bir bolume rootkit yazılımılarının doğrudan erişimi cok tehlikelidir Bu alanda bulunan bir rootkit sistemin tum kontrolunu elinde tutabilir Ancak Kernel Aracılı Rootkitler kendilerini daha cok sistem hatası vermeleri ile belli edebilirler Yani sistem kararsız duruma gelir ve coğu zaman hata vermeye başlar
Kalıcı Olanlar
Bir rootikin işletim sistemini yeniden başlatmadan kurtulmasının ve bu sayede kalıcı olmasının nedeni şu şeklide acıklanabilir; rootkit sistemde yani sabit diskte bir yerde bulunmakta ve kayıt defterinde otomatik başlatma girişi eklemektedir Bu sayede kendisini hafızaya atabilmekte ve sistem her yeniden başlatıldığında kontrolu eline alabilmektedir
Kalıcı Olmayanlar
Bu tur rootkiler sadece hafızada calışır durumda bulunurlar ve sistemin yeniden başlatılması ile tekrar hafızaya yerleşmez ya da kayıt defteri girişi eklemezler Bu durum ev bilgisayarlarında bir sorun yaratmaz gibi gorunsede birbirine bağlı ve surekli calışmak durumunda olan bir bilgisayar ağında can sıkıcı olabilmektedir
KAYNAK