Gelişmiş tehdit algılama teknolojilerimizle tespit edilebilen ve düzeltilebilen çeşitli CVE'lere (Ortak Güvenlik Açıkları ve Maruziyetler) odaklanan bir dizi teknik analiz blogunu tanıtmaktan heyecan duyuyoruz.Tüm araştırmalar, Aralık 2023'te başlayan OPSWAT Cybersecurity Fellowship programına katılan lisansüstü öğrenciler tarafından yapılmaktadır.
Bu blogda, Rockwell Micrologix CVE-2017-14469 ve kuruluşların CVE- 2017-14469 istismar saldırılarına karşı nasıl savunma yapabileceklerini açıklayacağız.
Rockwell Automation MicroLogix 1400 Kontrol Cihazı
PLC (Programlanabilir Mantık Denetleyicisi), endüstriyel üretim süreçlerini kontrol etmek için özel olarak tasarlanmış bir bilgisayardır. Montaj hatları, makine izleme, proses kontrolü vb. gibi kritik altyapı sektörlerinde kullanılır. Rockwell Automation MicroLogix 1400 Kontrolör, yüksek I/O sayısı, hızlı yüksek hızlı sayıcı ve gelişmiş ağ desteğine sahip modüler ve genişletilebilir bir PLC'dir, bu da onu çok çeşitli uygulamalar için uygun hale getirir.
14469
Rockwell Automation MicroLogix 1400 Series B FRN 21.2 ve önceki sürümlerindeki bir güvenlik açığı, bir saldırganın cihazdaki hassas verileri okumasına ve yazmasına / üzerine yazmasına olanak tanır. Kimliği doğrulanmamış, özel olarak hazırlanmış ve bir komut içeren bir paket, kullanıcı tanımlı hata rutini numarasının değiştirilmesine yol açarak cihazın yürütülmesinde beklenmedik bir duraklamaya neden olabilir.
Ulusal Güvenlik Açığı Veritabanı (NVD) bu güvenlik açığını maksimum CVSS (Common Vulnerability Scoring System) puanı ile "Kritik" olarak sınıflandırmıştır. Etkisi, herhangi bir ek kimlik doğrulama gerektirmeden bir cihazın gizliliğini, bütünlüğünü ve kullanılabilirliğini önemli ölçüde etkileyebilir. Sistemin kullanılabilirliği, özellikle herhangi bir kesinti veya aksama süresinin büyük mali kayıplara ve hatta fiziksel hasara yol açabileceği kritik altyapı sistemlerinde çok önemlidir. Bu CVE, kontrolör içinde bir 'sistem hatası' tetikleyerek PLC işlevlerinin durmasına yol açabilir ve böylece kritik altyapı sistemlerini kesintiye uğratma riski oluşturur.
Güvenlik Açığı Analizi
Hata kavramı, programlamadaki istisna kavramına çok benzemektedir. Bir hata oluştuğunda, komutun yürütülmesi durdurulur ve cihaz bir hata durumuna geçer. Hatalar iki türe ayrılabilir: kullanıcı hataları ve kullanıcı dışı hatalar.
Hataları temizlemek için iki mekanizma vardır: kontrol ünitesine giden gücü keserek otomatik olarak temizleme veya bir kullanıcı hatasına yanıt olarak otomatik olarak yürütülecek şekilde ayarlanabilen bir prosedür olan kullanıcı hatası rutini ile manuel olarak temizleme. CVE-2017-14469 ikinci mekanizma ile ilgilidir. Sistemin bir kullanıcı hatası nedeniyle beklenmedik bir şekilde kapanmasını veya yürütmenin durdurulmasını önlemek için, hata numaralarına göre atanmış hataları işlemek üzere bir kullanıcı hatası rutini tanımlanır ve ilgili hata meydana geldiğinde yürütülür. Hatayı ele alacak bir rutin yoksa, cihaz yürütmeyi durdurur ve hata numarasını görüntüler. Kullanıcı hata rutini için değer, cihaz normal çalıştığında 0x00 olarak ayarlanır ve hata işleme için yalnızca 0x03 ila 0xFF aralığında yapılandırılmalıdır.
Rockwell Automation MicroLogix 1400'de üç mod anahtarı konumu vardır: PROGRAM, REMOTE ve RUN. Hem PROGRAM hem de UZAKTAN modları cihaza program indirilmesine izin verirken aynı zamanda gelen istekleri kabul eder ve işler. Ancak, RUN modunda cihaz yalnızca kısıtlı istekleri kabul eder. Bu güvenlik açığı bağlamında, cihaz RUN modundaysa istismar mümkün değildir.
- Boşta modu, programları indirmek ve düzenlemek için kullanılır
- İletişim portundaki mesajlara yanıt verir
- Yürütme durduruldu ve çıktı yok
- Yazılımdan bir oturumun cihazı kontrol etmesine izin verir
- İletişim portundaki mesajlara yanıt verir
- Normal yürütme ve çıktı
Cihaz, PCCC uzantılı CIP (Ortak Industrial Protokol) aracılığıyla iletişim kurar. CIP protokolü Ethernet/IPIndustrial Protokol) üzerine inşa edilmiştir. Bir paketin yapısı aşağıdaki şekilde gösterilmiştir:
Yukarıdaki resimden de görülebileceği gibi, kimlik doğrulama için belirlenmiş bir alan yoktur. Cihaz, bir saldırganın talepleri ile bir kullanıcıdan gelen normal trafiği ayırt etme yeteneğinden yoksun olduğu için bu önemli bir zorluk teşkil etmektedir.
Tipik olarak, bir operatör kontrol yazılımı aracılığıyla cihazın yapılandırmasını izleyebilir ve güncelleyebilir. Kontrol Software , cihazla iletişim kurmak için CIP PCCC Nesnesini doldurarak korumalı bir mantıksal yazma veya okuma komutu ile ilgili bir istek gönderir. CIP PCCC protokol formatında bir komut, komut kodu ve fonksiyon kodu ile tanımlanır.
Komut Kodu | Fonksiyon Kodu | Tanım |
0x0F | 80 | Mod Değiştir |
0x0F | 0xAA | Üç adres alanı ile korumalı tipli mantıksal yazma |
0x0F | 0xA2 | Üç adres alanı ile korumalı tipli mantıksal okuma |
Korumalı tip mantıksal yazma komutu Durum dosyası, Bit dosyası, Sayaç dosyası ve cihazın diğer konfigürasyonları gibi hassas dosyalara yazmak için kullanılır.
Cihaz, okuma ve yazma konumunu tanımlamak için CIP paketinde üç adres alanı kullanır: dosya türü, dosya numarası ve eleman numaraları. Aşağıda, komuttan etkilenecek yapılandırma dosyası konumlarını tanımlamak için bazı örnek değerler verilmiştir:
Dosya Türü | Dosya Numarası | Element Numaraları | Tanım |
84 | 02 | 0x1d | Durum dosyası - Kullanıcı Arıza Rutin numarası |
84 | 02 | 06 | Durum dosyası - Büyük Hata Kodu |
84 | 02 | 05 | Durum dosyası - Büyük Hata Kodu |
Ancak, cihaz talebi işlerken girdi doğrulama eksikliği vardır; yazma komutunda gönderilen veriler doğrulanmaz ve herhangi bir geçersiz değere ayarlanmasına izin verir.
Güvenlik açığı iki ana nedenden kaynaklanmaktadır. İlk olarak, cihaz gelen isteklerin kimliğini doğrulayamamakta, bu da bir saldırganın hassas ayarları değiştirmek için kimliği doğrulanmamış bir istek göndermesine olanak sağlamaktadır. İkinci olarak, cihaz gelen verileri hatalı bir şekilde doğrulayarak ayarların geçersiz bir duruma değiştirilmesine neden olur.
Güvenlik açığından başarılı bir şekilde faydalanmak için saldırgan, durum dosyasındaki hata rutini numarasının üzerine 0x01 veya 0x02 gibi geçersiz bir değer yazmak için korumalı yazılan mantıksal yazma komutunu kötüye kullanarak kötü amaçlı bir istek gönderir. Hata rutini numarasının üzerine geçersiz bir değer yazıldığında ve cihaz başka bir CIP Paketi aracılığıyla ÇALIŞMA moduna geçtiğinde, bir hatayı tetikler ve yürütmeyi durdurur.
Güvenlik Açığı İstismarı
Saldırı 4 adıma ayrılabilir.
- Oturum tanıtıcısını almak için Ethernet/IP üzerinden cihazla bağlantı kurun.
- Hata rutin numarasının üzerine yazmak için kötü niyetli isteği gönderin.
- Hatayı tetiklemek için PLC'yi tekrar Çalıştırma moduna geçirmek üzere kötü niyetli bir CIP paketi oluşturun.
- Cihaz bir hatayla karşılaşır ve yürütmeyi durdurur.
Bir saldırganın cihazla iletişim kurmak için cihaza bir oturum kaydettirerek bir bağlantı başlatması, oturum tanıtıcısını elde etmesi ve bunu devam eden iletişim için kullanması gerekir. Aşağıdaki kodda standart bir oturum kayıt isteği gösterilmektedir:
Daha sonra, bir saldırgan önceden elde edilen oturum tanıtıcısını kullanarak bir istek hazırlar ve bir CIP paketine kapsüllenmiş hata rutin numarasının üzerine yazmak için korumalı bir mantıksal yazma komutu içeren bir yük içerir.
Son adımda, cihazı çalışma moduna geçirmek ve hatayı tetiklemek için başka bir CIP paketi gönderilir.
Resimde gösterildiği gibi, PLC'nin yürütülmesi durdurulur ve güvenlik açığından başarıyla yararlanılır.
İyileştirme
OPSWAT'in ICS güvenliğine yönelik ürünleri bu tür saldırılara dayanacak şekilde tasarlanmıştır. MetaDefender OT Security saldırganlardan gelen anormal talepleri tespit ederek yöneticilerin potansiyel tehditleri belirlemesini sağlayan yapay zeka destekli bir tehdit algılama ve istihbarat aracıdır.
MetaDefender OT Security OT ortamlarının güvenlik duruşunu iyileştirmek için aşağıdaki yeteneklere sahiptir:
- Akıllı Varlık Profili Oluşturma ile varlık envanterini hızla keşfeder ve oluşturur
- Tehditleri ve anomalileri aktif ve pasif olarak izler
- Merkezi, otomatik yama özellikleriyle uzaktan yama yönetimi
- Kapsamlı ve özelleştirilebilir bir gösterge paneli tarafından yönetilen yapılandırılmış ve kolaylaştırılmış risk uyarısı iş akışı
- Küresel, bölgesel ve sektörel mevzuata uygunluk raporlaması
Ayrıca, MetaDefender OT Security aşağıdakilerle de entegre edilebilir MetaDefender Industrial FirewallOT Security tarafından tespit edilen kötü niyetli isteklerin cihazları etkilemesini önlemek için. MetaDefender Industrial Firewall , görev açısından kritik PLC'leri, VFD'leri, RTU'ları ve diğer endüstriyel varlıkları koruyan son savunma hattıdır. Son derece granüler cihaz erişim politikaları uygular ve cihaz erişim bölgelerini zorlayarak yetkisiz erişim veya değişikliklerin kritik donanımı etkilememesini sağlar.
İkisi birlikte, anormal ağ bağlantılarını, istekleri, iletişimleri vb. etkili bir şekilde tespit eden ve ağın etkilenmesini önleyen kesintisiz bir IDPS (saldırı tespit ve önleme sistemi) oluşturur.
MetaDefender OT Security varlık görünürlüğü ve güçlü tehdit tespiti sayesinde kritik altyapılar için önemli koruma sağlar. Teknolojik hünerlerinin ötesinde OPSWAT , siber güvenlik konusunda tutkulu bireyler için heyecan verici kariyer fırsatları sunmaktadır. Güvenliğin geleceğini şekillendirmek ve en önemli şeyleri korumak için bize katılın. Uzmanlığınızın somut bir fark yaratabileceği OPSWAT adresindeki çeşitli rolleri ve etkili projeleri keşfedin. Birlikte, dünyanın en hayati sistemlerini koruyalım.