SiberGuvenlik
March 8, 2020

SCADA / ICS Pentest İşlemleri

Scada Nedir ?

Scada Terimi İngilizce "Supervisory Control And Data Acquisition" Kelimelerinin İlk Harflerinin Okunması İle Oluşturulan Bir Kısaltmadır.

Kapsamlı Ve Entegre Bir Veri Tabanlı Kontrol Ve İzleme Sistemi Olan Scada İle Bir Tesise Veya İşletmeye Ait Tüm Ekipmanların Kontrolünden Üretim Planlamasına, Çevre Kontrol Ünitelerinden Yardımcı İşletmelere Kadar Tüm Birimlerin Otomatik Kontrolü, Gözetlenmesi Ve Sonuçların Raporlanması Sağlanabilir.

Temel Olarak Scada Yazılımından İzleme, Kontrol, Veri Toplama, Verilerin Kaydı Ve Saklanması İşlevlerini Gerçekleştirmesi Beklenmektedir.

Scada Sistemleri Endüstriyel İşlemlerde, İmalat , Üretim, Enerji Üretimi, İmalat Ve Rafinerilerde Sürekli,Kesintili, Tekrarlayan Ya Da Ayrık Modlarda Çalışabilir. Altyapı İşlemleri, Kamu Veya Özel Sektörlerde Su Arıtma Ve Terfi Merkezlerinde, Atıksu Arıtma, Petrol Ve Gaz Boru Hatları, Elektrik İletim Ve Dağıtım, Rüzgar Jenaratörleri, Sivil Savunma Siren Sistemleri Ve Büyük İletişim Sistemlerini İçerebilir.Tesis Binaları, Havaalanları, Gemiler Ve Uzay İstasyonları Da Dahil Olmak Üzere Kamu Ve Özel Tesisleri Kapsayabilir. Isıtma Ve Havalandırma Sistemlerinde (Hvac) Erişim Ve Enerji Tüketimini Kontrol Ve İzleme Gerekebilir.Scada Sağladığı Maksimum Fayda, Güvenlik Ve Kolaylık Bakımından Endüstri Tesislerinin En Büyük İhtiyaçlarından Olmaya Devam Edecektir.

 

Ics (Eks) Nedir ?

 

Endüstriyel Kontrol Sistemi (Eks), Scada Sistemleri, Dağıtılmış Kontrol Sistemlerinde Ve Programlanabilir Mantıksal Denetleyiciler Gibi

Diğer Küçük Kontrol Sistem Yapılandırmalarında Kullanılan Kontrol Sisteminin Genel Adıdır.

Eks, Elektrik Üretimi, Su, Yağ, Gaz Ve Veri Gibi Endüstrilerde Kullanılır.

 

Endüstriyel Kontrol Sistemlerine Yönelik Zaafiyet Analizi Nasıl Yapılır ?

 

Eks'de Zaafiyete Sebep Olan Şeyler;

  • Kapalı Sanılan Ağlarda İnternet Erişimi
  • Güvenilir Olmayan Protokoller
  • Güncel Olmayan Sistemler
  • Sistemlere Özel Zaafiyetler
  • Uzaktan Erişimler
  • Yetersiz Ağ Segmentasyonu
    Yetersiz Güvenlik Bilinci
    Yetersiz Hesap Ve Parola Yönetimi
    Yetersiz Bilgisayar / Endpoint Koruması.

Eks'de Güvenlik Denetimi Yaparken Bu Denetimleri Bazı Başlıklara Bölebiliriz.

- Güvenlik Testleri
- Konfigürasyon Denetimleri
- Süreç Denetimleri
- Fiziksel Denetim

İsteğe Bağlı Ön Hazırlıklar

Genel Olarak Bilgisayarların, Ağların Ve Sistemlerin Temelleri İle İlgili Birkaç Beceri Almak
Her Zaman İyidir.

  1. Temel Ağ Bilgisi.
    Bilgisayar Ağlarını Ve Çalışma Mantığını, Protokolleri Bilmeniz Size Çok Yararlı Olacaktır.
  2. Windows / Linux Konfigürasyon Bazlı Zaafiyetler.
    Her Ne Kadar EKS Farklı Bir Sistem Farklı Bir Konu Olsada Sızma Testlerinde Sıklıkla Karşılaşılabilen Konfigürasyon Hatalarından Kaynaklanan Zaafiyetler Önemli Bir Yere Sahip
  3. Python
    Bir Script Yani Betik Dili Bilmeniz Size Büyük Avantajlar Sağlayacaktır. İlla Python İçin Zorlayamam Tercih Sizin.

Kontrol Sistemlerine Giriş

Kontrol Sistemleri Etrafımızdaki Dünyayı Yönetiyor . Yürüyen Merdivenler, Asansörler, Tıbbi Ekipman Çeşitleri, Otomobillerimizde Direksiyon Ve Bina Otomasyon Sistemleri, Günlük Olarak Etkileşime Girdiğiniz Kontrol Sistemleri Tipleridir. Endüstriyel Kontrol Sistemleri (ICS), Petrol Sondajı, Gaz Boru Hatları , Elektrik Şebekeleri, Su Hizmetleri, Petrokimya Tesisleri Ve Daha Fazlası Gibi Yerlerde Bulunan Kontrol Sistemlerinin Endüstriyel Versiyonlarıdır. Bu Bölümde Endüstriyel Kontrol Sistemleri Hakkında Daha Fazla Bilgi Edinmek İçin Bazı Yararlı Kaynaklar Ve Videolar Sunacağım.

  • Youtube'da Plcpro Ve Web Sitesi Plcprofessor.Com Programlanabilir Mantık Denetleyicilerinin (Plc'ler) Ve Diğer Kontrol Sistemleri Türlerinin Ve Mantığının Ne Olduğunu Ve Nasıl Çalıştıklarını Öğrenmek İçin Birçok İçerir. Bazı Kaynaklar Ücretli İken Bazı Kaynaklar Ücretsizdir. Bir Noktada, Öğrenmek İçin Bir Kit Almak Bir Gereklilik Olacak.
  • Control System Basics
    Bu, Sistemlerin Harekete Geçmek İçin Fiziksel Değişiklikleri Algılamak Ve Oluşturmak İçin Kullandıkları Mantık Türünü De İçeren Kontrol Sistemi Temellerini Açıklayan Harika Bir Video.
  • What is SCADA?
    Bu Video SCADA'yı Açıklayan Güzel Bir Temel Yaklaşımdır.

Kaynak PDF Önerisi

https://www.wbdg.org/files/pdfs/ics_handbook.pdf

https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-82r1.pdf

https://energycollection.us/Energy-Security/SCADA-System-Cyber.pdf

EKS Yönelik Sızma Testlerinde Kullanılabilecek Araçlar Ve Eğitim Materyalleri

https://github.com/hslatman/awesome-industrial-control-system-security

MODBUS TCP PROTOKOLÜ (MODBUS TCP PROTOCOL)

Modbus protokolü SCADA’ya özel geliştirilmiş ve endüstriyel standart haline gelmeye başlamış bir protokoldür.

Farklı tip ağlara bağlı cihazlar arasındaki istemci/sunucu haberleşmesi için uygulama katmanında mesajlaşma görevi görmektedir. Günümüz uygulamalarında şu şekilde kullanılmaktadır:

• Ethernet üzerinden TCP/IP tabanlı haberleşme,
• Farklı ortamlar üzerinden (kablo: EIA/TIA-232-E, EIA-422, EIA/TIA-485-A, fiber optik, radio, vb) asenkron seri haberleşme,
• Modbus Plus, yüksek hızlı andaç geçirme (token passing) ağı üzerinden haberleşme sağlar.
Birçok üretici bu protokolü kullanmakta, sistemlerini geliştirmekte ve cihaz üretimi yapmaktadır. endüstriyel denetim amaçlı SCADA sistemleri içerisinde, Modbus TCP protokolü %50 gibi ciddi bir kullanım oranına sahiptir.

Modbus protokolü, belirli bir RTU’ya (remote terminal unit – uzak terminal birimi) istek mesajının gönderilerek ve tekrar yanıt alınan usta/köle (master/slave) prensibine göre çalışmaktadır.

Eğer, protokol yayın tipindeyse hiçbir yanıt alınmaz. Veriler, ASCII ve RTU olmak üzere iki transmisyon modunda gönderilip alınabilir. RTU, daha kısa çerçeveye sahip olmasından ve eşlik denetimi, hata denetimi veya CRC olmasından dolayı tercih edilmektedir.

ASCII modu daha uzun mesaj çerçevesine sahip olmasından dolayı sistemi yavaşlatmaktadır. Modbus protokolünün, Modbus Serial ve Modbus TCP olmak üzere iki adet değişkeni vardır. IP bağlantılı ağlarda çalışan Modbus TCP, MTU’ya (master terminal unit – ana terminal birimi) çoklu işlem özelliği sağlar ve RTU’nun çoklu sunucudan paralel işlem çalıştırmasına imkan verir
Modbus protokolünün temel fonksiyonları aşağıdaki gibidir:

• Okuma için kontrol bobin komutları ve tekli veya grup bobin ayarlamaları
• Girdi gruplarının giriş durumlarını okumak için girdi kontrol komutları
• Bekleyen yazmaçları okumak ve ayarlamak için yazmaç kontrol komutları
• Hata bulma testi ve fonksiyon raporu
• Program fonksiyonları
• Sorgulama kontrol fonksiyonları

Buna göre mesaj yapısının ilk alanı adresin depolandığı tek baytlık alandır. İstek çerçevesinde hedef adresin IP adresi, yanıt çerçevesinde MTU’nun IP adresi bulunur. Modbus protokolü en fazla 248 köle cihazına sahip olabilir fakat pratikte tek bir MTU, 2 veya 3 köle cihazla bağlantılıdır.

İkinci alan, hedef cihazda uygulanacak fonksiyonları barındırır. İstek çerçevesinde bu bayt uygulanacak hedefin fonksiyonunu tanımlar. İstek hedef istasyonda başarılı bir şekilde tamamlanırsa fonksiyon alanı geri çağrılır, başarısız olunursa en soldaki bit gönderilir ve böylece problemli yanıt döner.

Üçüncü alan veri bölümü olup fonksiyon kodundaki değişkendir. Son iki bayt, çerçevedeki hata denetimi için CRC alanıdır. Fonksiyon kodlarının bulunduğu fonksiyon alanı Tablo 1’de gösterilmiştir. Modbus TCP protokolü hem IP tabanlı hem LAN tabanlı ağlarda çalışır.

Modbus TCP protokolünde, köle cihaz sadece pasif işlemler yaptığı için ana cihaz istemci olarak tasarlandığında köle cihaz sunucu olarak tasarlanır. Modbus TCP protokolü mesajlarını TCP paketlerinde kapsüllediğinden dolayı TCP PDU (protocol data unit), Modbus uygulama protokolünü (MBAP) barındırır. MBAP başlığı; işlem tanımlayıcı, protokol tanımlayıcı, uzunluk ve birim tanımlayıcı olmak üzere dört alan barındırır. İstek ve yanıtların çiftli eşleştirilmesi işlem tanımlayıcısı tarafından gerçekleştirilirken protokol tanımlayıcısı MBAP başlığı (Modbus için 0) tarafından kapsüllenen uygulama protokolünü gösterir.

Birim tanımlayıcısı, işlemle ilgili köle cihazları gösterir ve sadece legal sistemleri için kullanılır. Uzunluk alanı veri paketinin kalan bayt miktarını gösterir.

Modbus TCP Protokolüne Saldırı Çeşitleri (Attacks Types against Modbus TCP Protocol)

Modbus sistemlerine ve ağlarına yönelik saldırılar bu protokolün özelliklerine, uygulamalarına ve altyapısına göre istismar edilir.

Modbus seri protokolüne yapılan saldırılar ana ve köle cihazlarına ve seri haberleşme ağına yönelik gerçekleşirken, Modbus TCP’ye yapılan saldırılar IP ağına, ana ve köle cihazlarına gerçekleştirilir.

Bu saldırılarda mesajın içeriğine erişilebilmesinden dolayı taşınan bilginin gizliliğinin ifşa olmasına sebep olunabilir, hizmet engellemesine sebep olduğu için sistem erişilebilirliğine etki eder ve araya girerek ele geçirilen bilginin yeniden üretilebilmesinden dolayı veri bütünlüğü etkilenir.

Modbus seri protokolünde fonksiyon kodu değiştirilerek son sistemin çökmesine sebep olunabilir. Aynı zamanda aşağıda belirtilen fonksiyon kodlarında yapılan değişiklerle sisteme zarar verilebilir.


• Fonksiyon kodu 08 ve alt fonksiyon kodu 0A hedef cihaza gönderildiğinde saymacı sıfırlar ve hata yazmaç değerlerini değiştirir. Bu durum saha cihazının yapılandırmasını değiştirir ve hata işlemlerini etkiler. Bu tehdit kategorisi saha cihazını değiştirme sınıfında değerlendirilir.

• Fonksiyon kodu 08, 01’e değiştirildiğinde son cihaz yeniden başlar ve güç açma testi çalışır. Bu mesaj saha cihazının yapılandırma ayarlarını değiştirmesine sebep olur. Bu tehdit, kesme ve değiştirme kategorisinde değerlendirilir.

• Fonksiyon kodu 17, saha cihazına gönderildiğinde saha cihazının durum bilgisi döner. Bu bilgiyle ağ dinlenebilir ve daha farklı saldırıların temeli oluşturulabilir. Bu durum sistemin gizliliğine etki eder.

Modbus TCP protokolüne yönelik yapılan saldırılar şu şekildedir:
• TCP paketinin çerçeveli yapısına etki etmeye yöneliktir.
Çoklu Modbus mesajları tek bir TCP paketinin içinde bulunamaz. Bu yüzden mesajlar MTU tarafından parçalarına ayrılır ve RTU’a gönderilir. Bu saldırıda hatalı mesajlar enjekte edilebilir veya mesajlar değiştirilerek hedef sisteme gönderilebilir.

• Son çerçeve biti legal olmayan bir paket TCP bağlantısını kesebilir.
Bu tip bir paket gönderilecek Modbus mesajlarını sonlandırabilir ve haberleşmede kesmelere neden olabilir.

• Yüksek önceliğe sahip saha cihazlarına veya ana cihaza sık istekte bulunmak veya diğer bir deyişle bombardıman yapmak hizmet kesintilerine neden olabilir.

Yukarıda bahsedilen saldırılar sonucunda sistemde gizlilik kaybı, erişim kaybı ve veri bütünlüğünün bozulması gibi etkiler görülebilir.

Bu Haftalık Bu Kadardı Önümüzdeki Hafta Görüşmek Üzere...