İçeriğe geç
Sedat Özdemir
Yazılar

hardware

Komşunun Akıllı Ampulünden Senin Local Network’e Yol Olur mu? IoT Güvenliğinde Sınırları Zorlamak

Artık sadece laptopları korumak yetmiyor. Ofisteki o masum görünen akıllı priz, aslında iç ağınıza açılan bir tünel olabilir. IoT dünyasındaki 'güvenlik unutkanlığını' ve bu cihazları nasıl zırhlandıracağımızı konuşuyoruz.

Sedat Özdemir
· 4 dk okuma

Selamlar millet, ben Sedat. Bugün biraz 'akıllı' diye aldığımız ama aslında güvenlik anlamında bazen 'üstün zekalı' olmayan cihazlardan, yani IoT (Internet of Things) dünyasının karanlık dehlizlerinden konuşalım diyorum.

Siber güvenlikte trendler çok hızlı değişiyor, fark etmişsinizdir. Bir zamanlar 8 karakterli parolaları kırmaya çalışırken 'Hacker' hissediyorduk kendimizi. Sonra 12, 16 karakterler derken MFA (Çok Faktörlü Kimlik Doğrulama) hayatımıza girdi. Artık sadece parola yetmiyor, telefonumuza gelen onay koduyla uğraşıyoruz. Peki, ya sizin ofisteki kahve makinesi? Ya da koridorun sonundaki o şık akıllı ampul? Onlarda 16 karakterli parola mı var, yoksa hala admin:admin mi takılıyorlar?

Asıl mesele şu: Biz kapıyı yedi kilitli çelik kapıyla değiştirdik ama pencereleri tamamen açık unuttuk. Ofisteki akıllı cihazlar, ağın en zayıf halkası haline geldi. Gelin, bir Red Teamer gözüyle bu cihazlara nasıl bakıyoruz ve siz savunma tarafında (Blue Team) neler yapabilirsiniz, beraber inceleyelim.

Gölge IoT: Gözden Irak Ama Hacker'a Yakın

Çalıştığım yer olan testCompany'de (isim vermeyeyim, kurumsal kurallar malum) bir gün ofiste tarama yaparken, IT ekibinin bile haberinin olmadığı 14 farklı cihaz bulmuştum. Akıllı tartıdan tutun da, bir çalışanın gizlice masasının altına koyduğu 'akıllı' ayak ısıtıcısına kadar neler neler... İşte biz buna 'Shadow IoT' diyoruz.

Bu cihazların çoğu Çin'den ya da ucuz üreticilerden geliyor. Firmware güncellemeleri hak getire. Çoğu zaman bu cihazlar üretildikleri günkü güvenlik açıklarıyla mezara kadar gidiyorlar. Bir saldırgan için bundan daha güzel bir 'ilk giriş noktası' (initial access) olabilir mi?

Protokollerin Sessiz Çığlığı: MQTT ve Telnet

IoT dünyası hala taş devrinden kalma protokolleri seviyor. Neden? Çünkü kaynaklar kısıtlı, işlemci gücü az, RAM düşük. Şifreleme (Encryption) dediğimiz şey bu cihazlar için lüks kaçabiliyor.

Örneğin MQTT (Message Queuing Telemetry Transport) protokolünü ele alalım. Eğer broker (merkezi sunucu) düzgün konfigüre edilmediyse, tüm cihaz trafiğini dinlemek çocuk oyuncağı.

Zararsızlaştırılmış bir örnek üzerinden gidelim. Bir saldırgan ağa dahil olduktan sonra şu komutu çalıştırdığında neler görebileceğini hayal edin:

# Yerel ağdaki bir MQTT broker'ını dinleme denemesi (Defanged)
mosquitto_sub -h 127.0.0.1 -t "#" -v

Bu komutla (# wildcard karakteri sayesinde), o ağdaki tüm sensör verilerini, belki de kapı kilitlerinin açılma sinyallerini düz metin olarak yakalayabiliriz. Eğer şanslıysak (ya da saldırgan şanslıysa), kullanıcı adı ve şifrelerin bile bu trafikten geçtiğini görebiliyoruz.

Command Injection: Web Arayüzlerinin Laneti

IoT cihazlarının çoğu bir web arayüzü ile yönetilir. Bu arayüzler genellikle hızlıca yazılmış, güvenlik testlerinden geçmemiş PHP veya CGI scriptleridir. En sevdiğim açık türü olan Command Injection, bu dünyada hala altın çağını yaşıyor.

Bir yönlendiricinin (router) veya akıllı kameranın 'Ping Testi' aracını düşünün. Siz oraya bir IP yazarsınız, arka planda sistem ping IP_ADRESI komutunu çalıştırır. Eğer girdi temizlenmiyorsa (sanitization yoksa), araya bir ; ekleyip kendi komutumuzu çalıştırabiliriz.

# Örnek bir zararsızlaştırılmış Command Injection payload'u
POST /api/diagnostics/ping HTTP/1.1
Host: 127.0.0.1
Content-Type: application/json

{
  "ip": "127.0.0.1; cat /etc/passwd #"
}

Burada saldırgan aslında sistemi kandırarak sadece ping atmıyor, aynı zamanda sistemdeki kullanıcı listesini de döküyor. Buradan sonrası genellikle bir reverse shell alıp iç ağda yayılmaya (lateral movement) kadar gidiyor.

Donanımın İçine Sızmak: UART ve JTAG

Bir Red Teamer olarak bazen elimize tornavidayı almamız gerekir. Cihazın web arayüzü kapalıysa veya çok sağlamsa, fiziksel olarak müdahale ederiz. Cihazın içini açtığınızda karşınıza çıkan o küçük pinler (UART - Universal Asynchronous Receiver-Transmitter), aslında cihazın ruhuna açılan bir kapıdır.

Bir USB-to-TTL dönüştürücü ile o pinlere bağlandığınızda, karşınıza doğrudan bir root terminali çıkması işten bile değildir. İşte bu yüzden fiziksel güvenlik, siber güvenliğin ayrılmaz bir parçasıdır. Ofisteki bir akıllı cihazın herkesin erişebileceği bir yerde durması, aslında bir 'root kabuğu'nun ortalıkta durması demektir.

Peki Ne Yapacağız? (Defensive Mindset)

Şimdi işin 'nasıl korunuruz' kısmına gelelim. Sadece 'cihazı almayın' demek gerçekçi değil. Bu cihazlar hayatımızı kolaylaştırıyor. Ama akıllıca yönetilmeleri şart.

  1. Ağ Segmentasyonu (Segmentation): Bu işin alfabesi bu. IoT cihazlarını asla ana kullanıcı ağınıza (corporate network) dahil etmeyin. Onlar için ayrı bir VLAN oluşturun ve bu VLAN'ın ana ağ ile olan iletişimini bir firewall üzerinden kısıtlayın. Bir ampulün, domain controller sunucunuza ping atabilmesi için hiçbir geçerli sebebi olamaz.

  2. Varsayılan Şifreleri Değiştirin: Komik geliyor ama hala Mirai botnet'i gibi devasa saldırılar admin:1234 kombinasyonları sayesinde başarılı oluyor. Cihazı kutudan çıkardığınız anda ilk işiniz şifresini değiştirmek olsun.

  3. Gereksiz Servisleri Kapatın: Cihazın UPnP (Universal Plug and Play), Telnet veya SSH gibi servisleri açık mı? Eğer kullanmıyorsanız kapatın. Saldırı yüzeyini (attack surface) ne kadar daraltırsanız o kadar güvendesiniz.

  4. Firmware Güncellemeleri: Takip etmesi zor biliyorum ama düzenli aralıklarla cihazlarınızın güncel olup olmadığını kontrol edin. Eğer üretici artık güncelleme vermiyorsa, o cihazı emekli etme vaktiniz gelmiş demektir.

  5. DNS İzleme: IoT cihazları genellikle belirli bir 'cloud' sunucusuyla konuşur. Eğer cihazınız bir anda daha önce hiç görmediğiniz bir IP'ye veya garip bir domain'e (Örn: x-malicious-domain.example.com) gitmeye çalışıyorsa, bir şeyler ters gidiyor demektir.

Bitirirken

IoT dünyası, saldırganlar için devasa bir oyun alanı, biz savunmacılar içinse bitmek bilmeyen bir 'açık kapı kapatma' maratonu. Ancak unutmayın, siber güvenlikte 'mükemmel' yoktur, 'yeterince zorlaştırılmış' vardır. Bizim amacımız, bir saldırganın bizim ağımıza sızma maliyetini o kadar artırmak ki, vazgeçip başka (ve daha kolay) bir hedefe yönelmesini sağlamak.

Bir sonraki yazıda belki de bu cihazların firmware'lerini nasıl 'reverse engineering' (tersine mühendislik) yöntemleriyle analiz ettiğimizi konuşuruz. O zamana kadar, akıllı cihazlarınıza iyi bakın, ama onlara asla tam olarak güvenmeyin!

Sağlıcakla kalın ve güvenli kod yazılı kalın.

İlgili yazılar