CryptoSIM ile IoT Kaba Kuvvet Saldırısı

CryptoSIM ile IoT Brute Force Saldırısı Analizi

Nesnelerin İnterneti (Internet of Things - IoT) cihazlarına karşı yapılan saldırılar gün geçtikçe artmaya devam etmesine rağmen, güvenlik konusunda alınan önlemler hala yeterli düzeye ulaşamamıştır. 

Open Web Application Security Project (OWASP) tarafından 2014 yılında yayınlanan OWASP IoT Top 10, IoT cihazlarına karşı gerçekleştirilen saldırıların sebeplerini;
  1. Güvensiz Web Arayüzü
  2. Yetersiz Kimlik Doğrulama
  3. Güvensiz Ağ Servisleri
  4. Şifreli İletişimden Kaynaklanan Zafiyetler
  5. Gizlilik Problemleri
  6. Güvensiz Bulut Hizmetleri
  7. Güvensiz Mobil Arayüzü
  8. Yetersiz Güvenlik Yapılandırnası
  9. Güvensiz Yazılımlar / Firmware
  10. Zayıf Fiziksel Güvenlik
şeklinde listeleyerek güvenliği zayıflatan ana sebepleri öne çıkardı. Bu konu hakkında daha detaylı bilgi için "Nesnelerin Güvensiz İnterneti" yazımı okuyabilirsiniz.

Siber saldırıları yoğun bir şekilde yaşadığımız son günlerde artık kamu ve özel kurumlara yönelik özel solucanlar, truva atları, virüsler gibi eşsiz zararlı yazılımlar oluşturulmaktadır. Mevcut güvenlik sistemleri bu tehditleri fark etmek ya da önlemekte ne yazık ki yetersiz kalmaktadır. Sıfırıncı Gün Açıklıkları (Zero day Exploit) durmaksızın yayınlanırken zayıf güvenliğe sahip IoT cihazları büyük ilgi kaynağına dönüştü. Siber saldırıların %70'ini üzerinde toplamayı  başaran IoT, hayatımızın her noktasında yer almaya devam ediyor. 

Saldırılara karşı alınabilecek yegane önlem Bilgi Güvenliği ve Olay Yönetimi (Security Information and Event Management - SIEM ) .  IoT cihazlarına karşı yapılan bu saldırıları Crypttech tarafından oluşturulan CryptoSIM ile inceleyelim.



Message Queueing Telemetry Transport (MQTT)

MQTT, istemci - sunucu (client - server) mesaj iletim protokolüdür. İletileri yayımcı/abone (publisher/subscriber) modelini kullanarak taşır. Hafif veri aktarım protokolü MQTT, yayımcı/abone modeli ile düşük güçlü cihazlar, sensörler, telefonlar veya mikro denetleyiciler gibi IoT cihazlarında tercih edilir. 


MQTT protokol güvenliği;
  • Client ID
  • Kullanıcı Adı ve Şifre
  • Client Sertifikası
ile sağlanır. Üç farklı yöntemin yeterli güvenlik önlemi sağlayamaması ile MQTT, Kaba Kuvvet Saldırısı (Brute Force Attack) ile nasıl kırılıyor görelim :)

Mosquitto Sunucusu (Broker)

Hafif veri aktarım protokolünü (MQTT) işlemek için kullanılan açık kaynaklı bir mesaj sunucusudur. Yayımcı  ve abone arasındaki mesajlaşma;

Linux cihazlarda:
  • Abone: mosquitto_sub -h localhost -t "mqtt" -v
  • Yayımcı:   mosquitto_pub -h localhost -t "mqtt" -m "Hello MQTT" 

Windows cihazlarda:
  • Abone: mosquitto_sub -h test.mosquitto.org -t topic 
  • Yayımcı:   mosquitto_pub -h test.mosquitto.org -t topic -m "Hello" şeklinde gerçekleşmektedir.

Mosquitto Sunucu Entegrasyonu (CryptoSIM)

CryptoSIM'in yeteneklerini kullanarak IoT cihazlarında en çok tercih edilen Mosquitto Sunucu ve Message Queue Telemtry Transport (MQTT) protokolü kullanılarak bir sanal makine ile laboratuvar ortamı oluşturuldu. IoT cihazlarından herhangi biri misal bir buzdolabı üzerinde çalışabilirdim tabi ancak ofise taşımak kolay olmayacaktır. Şimdilik sanal laboratuvar ortamı bizim için yeterli :) 

%100 yerli SIEM ürünü olan CryptoSIM, tüm logları toplayarak otomatik ilişkilendirir, davranış farklılıkları ve anomali tespiti sağlar. Gelişmiş Sürekli Tehditleri (Advanced Persistent Threat - APT)  algılayabilir. CryptoSIM, kural ve makine öğrenmesi yöntemleri ile çalışan benzersiz korelasyon özellikleri ile tehditlerin algılanması için en stratejik ürünlerden biri haline gelmiştir.

CRYPTOSIM çok sayıda ileri korelasyon kuralıyla sadece milyonlarca olay dosyası arasında benzer saldırı kalıplarını keşfetmekle kalmayarak politika ihlallerini tespit eder. Saldırı Tespit Sistemi Intrusion Detection System - IDS) ve güvenlik duvarı verimliliğini gösterir.

Mosquitto kurulumu tamamlandığında kullanıcı ve şifre politikaları gerekli konfigürasyon işlemleri ile aktif hale getirildi. Belirlenen kullanıcı ve şifresini kullanarak gerçekleşen mesajlaşma 3 farklı terminal tarafından takip edildi.

1. Terminal ile /var/log dizini altında yer alan mosquitto.log dosyası aktif olarak takip edilir.
2. Terminal ile yayımcı görevini üstelenen python kodu yer almaktadır. Gerçekleştirilen Brute Force saldırısı ile aktif olarak aboneye mesaj gönderme isteğinde bulunur. Abone tarafından kullanıcı bilgileri doğrulanır ve mesaj alınır. Kabul edilmeyen mesajlar "Kimlik Doğrulama Hatası" şeklinde geri dönüş sağlar.
3. Terminal ise abone görevini üstelenen şifreli kullanıcı bilgisi yer alır ve yayımcı  gelicek olan mesajları bekler. Bu mesajlar belirlenen kullanıcı ve şifre doğruluğu sağlandığında kabul edilir.

Yayımcı için oluşturulan kod içerisinde kullanıcı adı ve şifre sözlüğünün taranması sağlandı.  Sözlük ile 1000'den fazla deneme gerçekleştirilerek sistem üzerinde denenmiştir. Ard arda gerçekleşen denemeler sonucunda elde edilen ekran görüntüleri aşağıdaki gibidir.



CryptoSIM entegrasyonu ile;
  •    Log Toplama
  •    Log Kaynağı Ekleme
  •    Ayrıştırma 
  •    Sınıflandırma
  •    Korelasyon 
  •    Uyarı - Alarm
  •    Rapor
adımları sırasıyla takip edilir ve işlemler tamamlanır. 

Mosquitto Sunucu log kaynağı aktif olarak CryptoSIM'e log gönderir ve çalışma bilgileri kontrol edilir. Kaynak üzerinde düzenleme işlemleri gerçekleştirilebileceği gibi pasif duruma da getirilebilir.








Toplanan loglar anlık olarak dosya sisteminde zaman damgası, hash bilgileri ve dijital sertifika ile imzalanarak yer almaktadır. 

Gün sonunda hashlenen dosyalar TUBITAK zaman damgası ile imzalanarak kapatılır. İnkar Edilemezlik yapısına sahip olan loglar, hem dijital sertifikaya hem de TUBITAK zaman damgasına sahip olarak diğer SIEM ürünlerinden farklılığını ortaya koymaktadır. Loglar; zaman damgası, hash ve dijital sertifika ile saklanmaz ise üst seviye yetkiye sahip herhangi bir kullanıcı tarafından, loglar üzerinde çeşitli manipülasyonlar gerçekleştirilebilir. Değişikliğe uğrayan log dosyaları 5651 yasasının gereksinimlerini taşıyamamaktadır. Bir SIEM ürünü olarak loglar üzerinde herhangi bir değişikliğe izin vermemektedir. Inkar edilemezlik yapısına sahip olmalıdır.

Mosquitto Sunucusundan toplanan loglar, özel formatına uygun olarak geliştirilen plugin ile ayrıştırılarak belirli standartlar ölçüsünde normalize edilir.


Farklı kaynaktan gelen log tipleri ile Mosquitto Sunucu log tipleri ortak bir grup halinde sınıflandırılır. 

Loglar anlamlı hale gelip sınıflandırıldıktan sonra ise içerden ya da dışardan gelebilecek her türlü tehditler için kayıtlar arası ilişkilendirmeye yani korelasyona tabi tutulur. CRYPTTECH, in memory korelasyon yeteneği ile SIEM ürünleri arasında farkındalığını ortaya koymuştur. 








Korelasyon, farklı kaynaklardan gelen farklı özellikteki kayıtlar arasındaki ilişkileri ve olaylar arasındaki eğilimleri ortaya çıkarma yeteneğidir. Bunun anlamı; sıradan bir güvenlik duvarı logunun, başka uygulamalardan alınan loglar ile değerlendirildiğinde tamamen farklı anlamlar içerebileceğidir.

Oluşturulan korelasyon kuralları ile bellek üzerinde anlık olarak anomalilik tespiti sağlayarak, saldırı öncesi koruma ve saldırı esnasında alarm üreterek sistem güvenliğini en üst seviyeye taşımaktadır. 

Sistem aktif şekilde anlık log almaya devam ettiği için inmemory korelasyon anlık olarak kuralları test etmektedir. Birden fazla belirlenen korelasyon kurallarının her biri sağlandıkça sistem uyarı ve alarm üretmeye başlar. 

Anlık Olay Sayısı (Event Per Second - EPS) sayısı CryptoSIM lisansından fazla geliyor ise kullanıcıya lisansın aşıldığına dair bir uyarı oluşturulur. Şayet " EPS değeri sürekli aşılır ve loglar temp halinde kuyrukta beklerse ya da kuyruk boyutu artarsa ne olur ? " diye düşünmeye gerek yok. Kuyruk boyutu ve log kaybı hakkında endişelenilmemeli. CryptoSIM bu tarz sorunlarla karşı karşıya bırakmadan, bir dost hizmeti sunmaktadır.

IoT cihazlarının en çok maruz kaldığı saldırı türü olan Brute Force'u Mosquitto Sunucusu üzerinde deneyerek CryptoSIM üzerinde analizi gerçekleştirdik. Ne yazık ki yeteri kadar güvenlik desteği sağlayamayan IoT cihazları kolaylıkla saldırı altında kalabiliyor. Umarım IoT cihazlarının bu tarz durumlarla karşılaşmaması için gerekli önlemler alınır. 


M. Büşra ÖZTÜRK

Yazılım Destek Mühendisi

Yorumlar

Bu blogdaki popüler yayınlar

1. Geleneksel Stajyer CTF Soru ve Cevapları

B*-Tree (BTree, BPlusTree) Veri Yapısı ile Veri İndeksleme

2. Geleneksel Stajyer CTF Soru ve Cevapları - 2017