İçeriğe geç

5.4 · Seviye 0 · Dijital Dünyanın Temelleri

Çalışan süreçleri görmek

süreç listesi, kaynak kullanımı ve tanımadığın bir süreci araştırmak

Siber Güvenlik Akademisi — M05, Komut Satırına Giriş · 1.973 kelime · 3 saha durumu · ≈ 9 dk okuma · 13 dk dinleme

Saha durumlarındaki kişiler ve kurumlar kurgusaldır; kaynaklar gerçektir. Bu akademi savunma odaklıdır: saldırılar mekanizma düzeyinde anlatılır, adım adım saldırı tarifi verilmez. Uygulamalar yalnız kendi cihazında, kendi hesabında ya da yalıtılmış bir laboratuvarda yapılır; başkasının sistemine izinsiz erişim suçtur. Dersler hukuki danışmanlığın yerini tutmaz.

Açılış

Barış bir süredir dizüstü bilgisayarından şikâyet ediyordu: hiçbir şey yapmadığı hâlde fan durmadan dönüyor, kasa ısınıyor, oyunlar takılıyordu. Bir akşam Ece'ye baktırdı. Ece, Barış'ın izniyle ve yanında oturarak, Görev Yöneticisi'ni açtı ve süreçleri işlemci kullanımına göre sıraladı.

Listenin en üstünde, işlemcinin büyük kısmını tek başına kullanan bir süreç duruyordu. Adı, Windows'un kendi hizmetlerinden birinin adına çok benziyordu; ilk bakışta tamamen masum görünüyordu. Ece süreçlerin yanına dosyanın konumunu gösteren sütunu ekledi. Windows'un gerçek hizmetleri sistem klasöründen çalışırdı; bu süreç ise Barış'ın kullanıcı klasörünün derinlerindeki gizli bir dizinden çalışıyordu.

Barış iki hafta önce bir oyun için internetten bir "hile programı" indirdiğini hatırladı. Program çalışmamış, Barış onu silmişti. Ama geride bir şey bırakmıştı: Barış'ın bilgisayarının gücünü başkası için kullanan, adını gizleyen bir süreç. Bu ders bilgisayarında şu anda neyin çalıştığını görmeyi, bir sürecin gerçekte ne olduğunu sorgulamayı ve adını bilmediğin bir sürecin izini nasıl süreceğini öğretiyor.

Tek fikir

Bilgisayarında çalışan her programın bir adı, bir kimliği, bir başlatanı, bir sahibi ve bir konumu vardır. Ad kolayca taklit edilir; konum, başlatan süreç ve dijital imza ise bir sürecin gerçekte ne olduğunu çok daha güvenilir biçimde söyler.

Nasıl çalışır

Süreçler ve izinler dersinde süreci, bellekte çalışmakta olan program olarak tanımlamış ve her sürecin bir hesabın yetkisini taşıdığını görmüştük. Bir bilgisayarda aynı anda genellikle yüzlerce süreç çalışır: işletim sisteminin kendi hizmetleri, arka planda güncellemeleri kontrol eden programlar, tarayıcının her sekmesi için ayrı süreçler ve kullanıcının açtığı uygulamalar. Bu kalabalığı okumayı öğrenmek, bir şeyin yanlış gittiğini fark etmenin en doğrudan yollarından biridir.

Her sürecin birkaç temel özelliği vardır ve süreç listeleri bunları sütunlar hâlinde gösterir.

Bir sürecin adı yalnız onu başlatan dosyanın adıdır ve dosyanın adı istendiği gibi seçilebilir. Bu yüzden ad, bir sürecin kimliği hakkında en zayıf bilgidir.

Bu yüzden bir süreci tanımak için adın ötesine bakmak gerekir. İlk bakılacak şey konumdur, yani sürecin hangi dosyadan çalıştığı. Windows'un kendi hizmetleri sistem dizininden, uygulamalar genellikle program dosyaları dizininden çalışır. Kullanıcının indirilenler klasöründen, geçici dizinlerden ya da kullanıcı klasörünün gizli alt dizinlerinden çalışan ve bir sistem hizmetinin adını taşıyan bir süreç, ciddi bir uyarı işaretidir.

İkinci bakılacak şey, süreci kimin başlattığıdır.

Süreçler ve izinler dersinde Kaan'ın incelediği uyarıyı hatırla: bir belge programının komut satırı başlatması olağandışıydı. Ana süreç ile alt süreç arasındaki ilişki, tek tek süreçlerden daha çok şey söyler.

Üçüncü bakılacak şey dijital imzadır. Meşru yazılım üreticilerinin çoğu programlarını dijital olarak imzalar; Windows'ta bir dosyanın özelliklerinde imzayı ve yayımcının adını görmek mümkündür. İmzasız bir dosya kendi başına kötü niyetli değildir, ama bir sistem hizmetinin adını taşıyan imzasız bir dosya çok şüphelidir.

Dördüncü bakılacak şey kaynak kullanımıdır: işlemci, bellek ve ağ.

Yüksek kaynak kullanımı tek başına kötü niyet anlamına gelmez; bir yedekleme, bir güncelleme ya da bir video dönüştürme de işlemciyi zorlar. Önemli olan, kaynak kullanımını diğer işaretlerle, yani konumla, imzayla ve ana süreçle birlikte okumaktır.

Komut satırı bu bilgileri hızla toplamanın yoludur, ama grafik araçlar da işe yarar. Windows'ta Görev Yöneticisi'nin Ayrıntılar sekmesi, Microsoft'un kendi Sysinternals araçları arasındaki Process Explorer ise çok daha ayrıntılı bir görünüm sunar.

Sahada

Savunma

Süreçlere dair savunma, bilgisayarının olağan hâlini bilmek ve olağandışını fark edebilmektir.

İlk savunma, bir süreci yalnız adıyla değerlendirmemektir. Tanıdık bir ad, güvenli bir süreç anlamına gelmez; saldırganlar tam da bu yüzden tanıdık adlar seçer. Bir süreci değerlendirirken konumuna, imzasına, onu başlatan ana sürece ve kaynak kullanımına birlikte bakmak gerekir. Sistem hizmetinin adını taşıyıp kullanıcı klasöründen çalışan, imzasız bir süreç, adı ne olursa olsun incelenmeyi hak eder.

İkinci savunma, olağan hâli bilmektir. Bora'nın yaptığı gibi, bir bilgisayarın ya da sunucunun normalde hangi süreçleri çalıştırdığını ve ne kadar kaynak kullandığını bir kez görmek, bir dahaki sefere olağandışı bir şeyi hemen fark etmeyi sağlar. Bu, Seviye 3'te ağ için konuşacağımız taban çizgisi fikrinin süreçlerdeki karşılığıdır.

Üçüncü savunma, uzaktan erişim programlarını ve başlangıçta çalışan yazılımları bilmektir. Defne Hanım'ın bürosundaki gibi unutulmuş bir uzaktan erişim programı, sahibi değişmiş bir kapıdır. Bilgisayar açıldığında kendiliğinden başlayan programların listesi, kalıcılık için kullanılabilecek yerlerin de listesidir; bunu Seviye 2'deki saldırının anatomisi modülünde göreceğiz.

Dördüncü savunma, şüpheli bir süreç bulduğunda aceleyle onu sonlandırmak yerine önce bilgi toplamaktır. Süreci sonlandırmak bazen gereklidir, ama önce adını, kimliğini, konumunu, ana sürecini ve imza durumunu kaydetmek, sonradan ne olduğunu anlamak için delil bırakır. Kurumlarda bu adımı olay müdahale süreci belirler; evde ise bir ekran görüntüsü ve deftere birkaç satır yeterlidir. Barış'ın bilgisayarında Ece önce bunları kaydetti, sonra süreci sonlandırıp dosyayı kaldırdı ve bilgisayarın güvenlik yazılımıyla tam bir tarama yaptı.

Uygulama

Bu uygulamada kendi bilgisayarında çalışan süreçleri listeleyecek, en çok kaynak kullananları bulacak ve birinin kimliğini araştıracaksın. Hiçbir süreci sonlandırmazsın; yalnız okursun.

Çoğu süreç masum çıkacak ve bu iyi bir şey; amaç kendi bilgisayarının olağan hâlini tanımak.

Defter: Her cihazın envanter satırına en çok kaynak kullanan beş süreç ve olağan oldukları; başlangıçta çalışan programların listesi ve bunlar arasındaki uzaktan erişim yazılımları. Araştırdığın tanımadık sürecin adı, konumu ve ne olduğu. Acil durum sayfasına eklenecek satır: şüpheli bir süreci sonlandırmadan önce adını, konumunu ve kimliğini kaydet.

Hata köşesi

Yaygın yanlış"Adı Windows'un kendi süreci gibi görünüyorsa güvenlidir."
Doğrusu

Saldırganlar tam da bu yüzden tanıdık adlar seçer; saldırı tekniklerini toplayan ortak sözlükte ad taklidinin kendi girdisi var. Bir sürecin gerçek kimliğini konumu, imzası ve onu başlatan süreç söyler. Sistem hizmetinin adını taşıyıp kullanıcı klasöründen çalışan bir süreç incelenmelidir.

Yaygın yanlış"İşlemciyi çok kullanan her süreç kötü niyetlidir."
Doğrusu

Yedekleme, güncelleme, video dönüştürme ya da bir oyun da işlemciyi zorlar. Bora'nın arşiv sunucusundaki yüksek kullanım, bilinen bir yedekleme yazılımına aitti. Yüksek kaynak kullanımı bir soru başlatır; cevabı konum, imza ve zamanlama verir.

Yaygın yanlış"Şüpheli bir süreç görürsem hemen sonlandırırım, iş biter."
Doğrusu

Sonlandırmak sorunu çoğu zaman bitirmez; süreci başlatan dosya ve onu bilgisayar her açıldığında yeniden başlatan ayar yerinde kalabilir. Önce bilgileri kaydetmek, sonra süreci sonlandırmak, dosyayı kaldırmak ve kalıcılık yerlerini kontrol etmek gerekir; Barış'ın bilgisayarında Ece bu sırayı izledi.

Etik ve sınırlar

Süreç listesi, bir bilgisayarda kimin hangi programı kullandığını gösterir ve bu bilgi o bilgisayarın kullanıcısına aittir. Ece, Barış'ın bilgisayarını onun izniyle ve yanında oturarak inceledi; bir ev arkadaşının, bir aile üyesinin ya da bir iş arkadaşının bilgisayarındaki süreçlere, sahibinin izni olmadan bakmak, ne kadar yardımsever bir niyetle olursa bile, onun mahremiyetine girmektir. Bir kurumda başka kullanıcıların süreçlerini görebilen yönetici araçları ise yalnız görevin gerektirdiği ölçüde ve kurumun yetkisiyle kullanılır. Şüpheli bir süreci bulup araştırmak meşrudur; ama o sürecin bağlandığı uzak sunucuya kendi başına bağlanmaya ya da onu "geri izlemeye" çalışmak, o sunucunun sahibine karşı izinsiz bir girişim olur. Doğru adım delili kaydetmek ve gerekirse yetkili kişilere bildirmektir.

Kapanış

  1. Bilgisayarda aynı anda yüzlerce süreç çalışır; her birinin bir adı, bir süreç kimliği, bir ana süreci, bir sahibi ve bir konumu vardır ve süreç listeleri bunları gösterir.
  2. Ad kolayca taklit edilir; bir sürecin gerçek kimliğini konumu, dijital imzası ve onu başlatan ana süreç söyler ve kaynak kullanımı bu işaretlerle birlikte okunmalıdır.
  3. Savunma, bilgisayarın olağan hâlini bilmek, başlangıçta çalışan programları ve uzaktan erişim yazılımlarını tanımak ve şüpheli bir süreci sonlandırmadan önce bilgilerini kaydetmektir.

Üç soru

  1. Barış'ın bilgisayarındaki süreç neden adına rağmen şüpheliydi?
  2. Bora'nın arşiv sunucusundaki gece boyunca süren yüksek işlemci kullanımı neden bir saldırı değildi ve bu deneyimden hangi alışkanlık çıktı?
  3. Şüpheli bir süreci hemen sonlandırmak yerine önce neleri kaydetmek gerekir ve neden?

Yanıtlar

  1. Adı bir Windows hizmetinin adına benziyordu ama Windows'un gerçek hizmetleri sistem dizininden çalışır; bu süreç ise kullanıcı klasörünün gizli bir alt dizininden çalışıyordu. Ayrıca işlemciyi sürekli yüksek tutuyordu, ki bu kaynak gaspının, örneğin gizli kripto para madenciliğinin tipik bir işaretidir. Ad taklidi ve olağandışı konum birlikte süreci şüpheli kıldı.
  2. Yüksek kullanım, her gece aynı saatte çalışan, bilinen bir konumdan başlatılan ve imzalı olan yedekleme yazılımına aitti; konum, imza ve zamanlama süreci açıklıyordu. Bora sunucuların olağan gece davranışını bir kez kaydetmeye karar verdi; böylece bir dahaki sefere neyin normal olduğunu hemen bilebilecekti.
  3. Sürecin adı, kimliği, dosya konumu, ana süreci ve imza durumu kaydedilmelidir. Süreci sonlandırmak onu başlatan dosyayı ve bilgisayar açıldığında yeniden başlatan ayarı yerinde bırakabilir; kaydedilen bilgiler hem bu kalıcılık yerlerini bulmayı hem de sonradan ne olduğunu anlamayı sağlar.

Sonraki derse köprü

Bu derste bir sürecin konumuna, imzasına ve kaynak kullanımına baktık. Ama bir süreç hakkında en çok şey söyleyen bilgilerden biri, kiminle konuştuğudur: Barış'ın bilgisayarındaki süreç büyük olasılıkla bir uzak sunucuya bağlanıyordu, Defne Hanım'ın bürosundaki uzaktan erişim programı da öyle. Sıradaki ders ağ bilgisini okumayı ele alıyor: kendi adresini, ağ geçidini ve bilgisayarının açık bağlantılarını komut satırından görmeyi.

Anlamadığın bir yer mi var?

Mentor yalnız bu dersin metnine dayanarak cevap verir. Metinde geçmeyen bir şey sorarsan uydurmaz, geçmediğini söyler.