FireAI Güvenlik Blogu

Yazan FireAI Security & Research Team · Yayınlandı

Mac’te ağ izleme: uygulamalarınızın kurduğu her bağlantıyı görün

Mac’te ağ izleme: uygulamalarınızın kurduğu her bağlantıyı görün

Mac’iniz şu anda konuşuyor. Mecazi anlamda değil: bu anda birkaç düzine süreç, adını hiç duymadığınız sunuculara açık soketler tutuyor ve bunun çoğu sorunsuz. Güncelleme denetimleri, eşitleme, anlık bildirimler, telemetri, bir yazı tipinin indirilmesi. Ağ izlemenin amacı hacim karşısında paniğe kapılmak değil, bunun herhangi bir satırı hakkında tek bir soruyu yanıtlayabilmektir: hangi uygulama, kime ve neden. macOS, sizi yolun bir kısmına götüren üç ücretsiz araç sunar. Bu yazı her birinin ne gösterdiğini, nerede durduğunu ve uygulama bazlı bir güvenlik duvarının üstüne ne eklediğini açıklar.

Activity Monitor: hedefler değil, toplamlar

Activity Monitor’ü açıp Ağ sekmesine tıkladığınızda, Apple’ın tasarladığı dürüst genel görünümü elde edersiniz. Apple’ın kılavuzu alt paneli tanımlar: gelen ve giden paketler, megabayt olarak alınan ve gönderilen veri ve paket ile veri aktarım hızı arasında geçiş yapabileceğiniz bir grafik. Üstündeki süreç listesi her sürecin ne kadar gönderip aldığını söyler. Söylemediği şey nereye olduğudur. Uzak sunucu için sütun yok, bağlantı noktası yok, ülke yok. Activity Monitor “bir şey çok bant genişliği mi kullanıyor?” sorusunu yanıtlar ve orada durur. Bir yardımcı sürecin gece boyunca iki gigabayt yüklediğini fark etmek için doğru araç, kime yüklediğini bulmak için yanlış araçtır.

lsof: her açık soketin anlık görüntüsü

Komut satırı aracı lsof açık dosyaları listeler ve Unix’te bir ağ soketi bir dosyadır. macOS man sayfasının internet adresi eşleşen dosyaları seçmek olarak tanımladığı -i seçeneğiyle, her açık bağlantıyı sahibi olan sürecin adı, süreç kimliği, protokol ve yerel ile uzak adres ve bağlantı noktasıyla birlikte alırsınız. Adreslerin ve bağlantı noktalarının ters DNS beklemek yerine sayısal kalması için -n ve -P ekleyin. Sonuç, şu an hakkında ücretsiz edinebileceğiniz en eksiksiz resimdir ve vurgu “şu an” üzerindedir: lsof bir anlık görüntüdür. Enter’a basmanızdan yarım saniye önce açılan, bir kilobayt gönderip kapanan bir bağlantı orada basitçe yoktur. Ayrıca süreci kimin imzaladığıyla değil, adı ve PID’siyle tanımlar; bu yüzden geçici bir klasördeki “Adobe Update Helper” adlı bir ikili dosya gerçeğiyle tıpatıp aynı görünür.

nettop: aynı görünüm, canlı güncellenen

nettop, macOS’un canlı bir bağlantı izleyicisine en yakın olarak sunduğu şeydir. Man sayfası onu, periyodik olarak güncellenen ağ istatistikleriyle soketlerin veya rotaların bir listesini görüntülemek olarak tanımlar. Pratikte her süreci, açık bağlantılarını, bağlantı başına gelen ve giden baytları, kullanılan arabirimi ve bağlantı durumunu her saniye yenilenerek görürsünüz. lsof’un anlık görüntü sorununu çözer ve “o uygulama şu anda ne yapıyor” sorusuna en iyi yerleşik yanıt olmayı sürdürür. Diğer her açıdan sınırları lsof’unkiyle aynıdır: süreç adının ötesinde kimlik yok, bir adresin arkasındaki ülke veya kuruluş kavramı yok, bir saat önce olanların hafızası yok ve hayır deme yolu yok. nettop ile bir bağlantıyı izleyebilirsiniz; durduramazsınız.

Yerleşik güvenlik duvarı burada yardımcı olmaz

İnsanlar genellikle Sistem Ayarları’nda güvenlik duvarını açmanın bunu kapsadığını varsayar. Kapsamaz. Apple’ın kendi kılavuzu sözcüklerinde dikkatlidir: macOS güvenlik duvarı Mac’inizi diğer bilgisayarların başlattığı istenmeyen temaslara karşı korur. Gelen yönlü bir filtredir. Uygulamalarınızın dışarı ne gönderdiği hakkında söyleyecek hiçbir şeyi yoktur; oysa bu yazıdaki her soru o yönü işaret eder. Giden yönlü, uygulama bazlı denetim için Apple, içerik filtresi sağlayıcıları sayesinde üçüncü taraf bir uygulamanın ağ akışlarını onları oluşturan uygulamanın kimliğiyle birlikte görüp filtrelemesine olanak tanıyan Network Extension çerçevesini sunar. macOS’taki modern uygulama bazlı güvenlik duvarlarının üzerine kurulduğu temel budur ve bir soket listesini bir karar listesine dönüştüren şey odur.

Uygulama bazlı bir güvenlik duvarının ekledikleri

Somut olarak dört şey. Kimlik: bir akış imzalı bir uygulamaya atfedilir; böylece Slack için bir kural Slack’e uygulanır, onunla aynı adı taşıyan herhangi bir şeye değil; FireAI’ın uygulama bazlı kuralları bu nedenle uygulamanın kod imzasını izler. Görünürlük: yarım saniye süren bağlantılar dahil her bağlantı gerçekleştiği anda gösterilir. Bağlam: ham IP adresi arkasındaki kuruluşa ve ülkeye çözümlenir; FireAI bunu engellenen bağlantıları kırmızıyla gösteren canlı bir dünya haritasında sunar. Ve denetim: bir bağlantıya sunucu, alan adı, IP veya bağlantı noktasına göre izin verilebilir ya da reddedilebilir; bilinmeyen bir uygulama ilk bağlantısından önce sormak zorundadır ve istemde cihaz üzerindeki modelin kararının gerekçesi gösterilir. Yapay zekânın verdiği bir karara katılmıyorsanız geri alırsınız ve geri alma, daha sonra okuyabileceğiniz veya metin dosyası olarak dışa aktarabileceğiniz görünür bir kurala dönüşür.

FireAI ayrıca “block Microsoft Teams” gibi İngilizce veya Fransızca düz dille verilen komutları da kabul eder; bu, dört alanlı bir iletişim kutusundan daha hızlı bir kural yazma yoludur. Yapmadıklarını da aynı açıklıkla belirtmek gerekir: şifrelenmiş trafiğin içeriğini incelemez, dosyaları taramaz ve süreçleri veya belleği incelemez. Kimin neye bağlandığı düzeyinde çalışır ve bu sınır konusunda dürüsttür.

Tek bir bağlantı nasıl okunur

nettop’tan veya bir güvenlik duvarı günlüğünden herhangi bir satırı alın ve üç soru sorun. Birincisi şirket: adresin sahibi kim? Trafiğin çoğu bir avuç barındırma sağlayıcısına ve içerik ağına gider; Amazon veya Cloudflare ile konuşan bir müzik uygulaması genellikle sadece kendi arka ucuyla konuşuyordur. Fark edilmesi gereken kalıp uyumsuzluktur: bir reklam ağına bağlanan bir not alma uygulaması ya da kullanması için hiçbir nedeni olmayan bir barındırma sağlayıcısına bağlanan bir ekran görüntüsü aracı. İkincisi ülke: yabancı bir sunucu kötü olduğu için değil, bir değişiklik bilgi verici olduğu için. Bir yıldır İrlanda’ya bağlanan ve bugün ilk kez yeni bir ülkeye bağlanan bir uygulama bir şeyi değiştirmiştir. Üçüncüsü bağlantı noktası. 443 HTTPS’dir ve neredeyse her şeyi kapsar; 80 düz HTTP’dir ve 2026’da nadir olmalıdır; 53 DNS’tir; 22 SSH’dir; 445 SMB dosya paylaşımıdır; 5353 yerel ağdaki Bonjour’dur. İnternet üzerindeki bir adrese 22 veya 445 numaralı bağlantı noktasını açan bir tüketici uygulaması, bir soruyu hak edecek kadar sıra dışıdır.

İkinci kez bakmaya değer kalıplar

  • Sinyal gönderme: aynı sürecin aynı adrese sabit aralıklarla, her altmış saniyede veya her on dakikada bir, minik yüklerle ulaşması. MITRE ATT&CK komuta ve kontrolü, saldırganın ele geçirilmiş sistemleri denetlemek için onlarla iletişim kurmaya çalışması olarak tanımlar ve düzenli bir kalp atışı bunun aldığı en yaygın biçimdir. Güncelleme denetimleri de sinyal gönderir; bu yüzden ipucu tek başına ritim değil, tanıdık olmayan süreçtir.
  • Tor çıkış düğümleri: Tor Project çıkış düğümü listesini yayımlar ve bir üretkenlik uygulamasının bunlardan birine ulaşması için sıradan bir neden yoktur. FireAI bu listeyi tehdit istihbaratı beslemelerinden biri olarak yerel olarak uygular.
  • Kimlik bilgisi taşıyan düz HTTP: 80 numaralı bağlantı noktasından gönderilen bir giriş formu, bir API anahtarı veya bir kart numarası yol üzerindeki herkes tarafından okunabilir. FireAI’ın şifrelenmemiş veri koruması tam olarak bu durum için yapılmıştır ve kart numaralarının, parolaların ve API anahtarlarının düz HTTP üzerinden çıkmasını durdurur.
  • Uzun süredir yüklü bir uygulamadan ilk bağlantı: aylarca sessiz kalan ve aniden bir soket açan bir uygulama güncellenmiş, değiştirilmiş veya bir eklenti tarafından ele geçirilmiştir. Üçünü de bilmek gerekir.
  • İmzasız veya bilinmeyen ikili dosyaların çevrimiçi olması: kullandığınız her şeyin imzalı olduğu bir Mac’te, ilk bağlantısını kuran imzasız bir ikili dosya, bir güvenlik duvarının verebileceği en yararlı uyarıdır. FireAI’ın daha sıkı güvenlik modları Paranoid ve Under attack, imzasız uygulamaları doğrudan engeller.
  • Yayımlanmış engelleme listelerindeki adresler: Spamhaus, DROP listesini o kadar tehlikeli aralıklar olarak tanımlar ki bu koruma katmanını isteyen herkese ücretsiz sunar; FireHOL saldırı ve kötüye kullanıma odaklanan herkese açık IP beslemelerini toplar ve belgeler; abuse.ch topluluk odaklı tehdit istihbaratı platformları işletir. FireAI bu beslemeleri trafiğinizi hiçbir yere göndermeden, sistem genelinde IP engelleme listeleri olarak yerel olarak uygular.

DNS filtreleme, dürüstçe

Pek çok ağ filtreleme ürünü DNS’te yaşar; bu yüzden FireAI’ın nerede durduğunu sormak adildir. Bugün FireAI bağlantının kendisi üzerinde filtreler: tehdit istihbaratı beslemelerini ve IP engelleme listelerini uygulamalarınızın gerçekten ulaştığı adreslere uygular ve uygulama bazlı kurallar bir sunucu veya alan adıyla eşleşebilir. Henüz yapmadığı şey DNS çözümleyiciniz olarak davranmak ya da kendi şifreli DNS’ini sunmaktır; bu planlanmıştır ve bunu ima etmektense söylemeyi tercih ederiz. Anlaşılması gereken pratik bir sonuç vardır. RFC 7858’de DNS over TLS ve RFC 8484’te DNS over HTTPS olarak tanımlanan ve Apple’ın şifreli DNS’i etkinleştirme üzerine WWDC 2020 oturumundan bu yana macOS’ta sistem genelinde desteklenen şifreli DNS, sorgularınızı ağ yolundaki herkesten gizler. Bu gizlilik için iyidir ve aynı zamanda yalnızca DNS sorgularını izleyen bir filtrenin, bir tarayıcı kendi DoH çözümleyicisini kullandığında kör kalması demektir. Hedef adres üzerinde işlem yapan bir filtre bağlantıyı yine de görür, çünkü uygulamanın onu yine de açması gerekir. İki yaklaşım da tek başına eksiksiz değildir; dürüst konum bu yüzden birinin diğerinin yerini aldığı iddiası değil, “ikisi de, zamanla”dır.

Pratik bir rutin

Ağı bütün gün izlemeniz gerekmez. İşe yarar bir rutin haftada bir üç dakikadır: FireAI’ın bağlantı listesini açın, uygulama uygulama gözden geçirin ve tanımadıklarınıza bakın. Yeni olan her şeyin arkasındaki şirketi ve ülkeyi kontrol edin. Aynı bağlantıyı asla iki kez incelememek için kararınız hakkında bir kural yazın ve yeni bir Mac sıfırdan değil kararlarınızla başlasın diye kurallarınızı ara sıra dışa aktarın. Ham görünümü istediğinizde ücretsiz araçlar her zaman orada olacaktır; uygulama bazlı bir güvenlik duvarı, o görünümü üzerinde harekete geçebileceğiniz bir şeye dönüştüren şeydir.

FireAI ve HisnLabs burada nereye oturuyor

lsof and nettop will show you a snapshot; what they cannot do is stop a connection, remember your decision, or tell you in plain words which company and country sit behind an IP address — and that gap is exactly the one FireAI was built to fill.

FireAI, HisnLabs’in kendi ürünüdür: doğrudan Mac’inizde çalışan, yapay zekâ destekli bir güvenlik duvarı. Uygulamalarınızın kurduğu her bağlantıyı sade bir dille gösterir ve Mac’inizden neyin çıkacağına sizin karar vermenizi sağlar — yapay zekâsı yerel olarak çalışır, yani trafiğiniz asla bize ya da başka birine gönderilmez. HisnLabs güvenlik araştırma ekibi bu kararların isabetli kalmasını sağlayan ekiptir: hangi alan adlarının sıradan telemetri, hangilerinin gerçek bir hizmet olduğunu kataloglar, bir bağlantının ardındaki ülkeyi ve ağı izler ve cihaz üzerindeki modeli (Autopilot özelliği) gerçek trafik örüntüleriyle eğitir — üstelik bunların hiçbiri Mac’inizden dışarı çıkmadan.

Arkasındaki teknik kararları okuyabilir ya da FireAI’yi 17 gün boyunca deneyebilirsiniz: HisnLabs’ten FireAI.

Kaynaklar