İçeriğe atla
Yazılar

CAN Bus Trafiğini pcap’e Alıp Timeline Çıkarmak

Bir aracın ya da endüstriyel sistemin sinir sistemi CAN bus üzerinden konuşur. O konuşmayı kaydedip zaman çizelgesine dökmek, hem güvenlik hem adli analiz için güçlü bir yöntem.

3 dk okuma
CAN Bus, yakalama, pcap ve timeline adımlarını oklarla bağlayan akış şeması ve altında beklenmedik 0x18F tekrarını kırmızıyla işaretleyen örnek zaman çizelgesi.
CAN trafiğini yakala → pcap’e al → zaman çizelgesi çıkar: dört adımlı bir analiz hattı.
İçindekiler
  1. CAN çerçevesi 30 saniyede
  2. Adım 1–2: Trafiği yakalamak
  3. Adım 3: pcap’e dönüştürmek
  4. Adım 4: Timeline ve anomali
  5. Savunma tarafı
  6. Adli bilişim açısı
  7. Kapanış

CAN bus (Controller Area Network), 1980’lerde otomotiv için tasarlanmış ama bugün araçlardan endüstriyel makinelere, tıbbi cihazlardan enerji sistemlerine kadar her yerde karşımıza çıkan bir alan veriyoludur. Bir araçtaki motor kontrol ünitesi, fren sistemi, gösterge paneli — hepsi bu tek hat üzerinden konuşur.

Güvenlik ve adli açıdan CAN’ın en önemli özelliği, Modbus gibi, kimlik doğrulaması olmamasıdır: hatta yayılan her çerçeveyi, hattaki her düğüm okur ve kaynağını doğrulayamaz. Bu, hem bir zafiyet hem de bir analiz fırsatıdır. Bu yazıda CAN trafiğini yakalayıp adli açıdan kullanışlı bir zaman çizelgesine nasıl dönüştüreceğini anlatıyorum.

CAN çerçevesi 30 saniyede

Bir CAN çerçevesinin özü basittir: bir arbitration ID (mesajın kimliği ve önceliği) ve en fazla 8 baytlık veri. ID kaynağı değil, mesaj tipini/önceliğini belirtir. Örneğin 0x18F bir fren komutu, 0x244 bir hız verisi olabilir — bu eşleme araca/sisteme özeldir ve çoğu zaman tersine mühendislik gerektirir.

Kimlik doğrulaması olmadığı için, hatta erişen herkes herhangi bir ID ile çerçeve gönderebilir. Bu yüzden CAN üzerinde “kim gönderdi” sorusunun tek cevabı çoğu zaman trafiğin kendisidir.

Adım 1–2: Trafiği yakalamak

Linux’ta CAN, SocketCAN altyapısıyla birinci sınıf bir ağ arayüzü gibi ele alınır. Bir USB-CAN adaptörü ile arayüzü ayağa kaldırıp trafiği dinlersin:

# CAN arayüzünü ayağa kaldır (500 kbit/s örnek)
sudo ip link set can0 type can bitrate 500000
sudo ip link set up can0
# Trafiği canlı izle
candump can0
# Zaman damgalı olarak dosyaya kaydet
candump -l can0        # candump-*.log dosyası üretir

Bu aşamada elinde zaman damgalı bir ham kayıt olur. Adli açıdan zaman damgası kritik — çünkü timeline’ın omurgası budur.

Adım 3: pcap’e dönüştürmek

Ham candump logu iş görür, ama trafiği standart bir adli/ağ formatı olan pcap’e almak analizi güçlendirir: Wireshark’ta açabilir, filtreleyebilir, diğer delillerle aynı araç setinde birleştirebilirsin.

# candump'ı doğrudan pcap uyumlu yakalamak için
# (can-utils + Wireshark CAN desteği ile)
candump -L can0 > trafik.log
# Wireshark, SocketCAN yakalamalarını doğrudan açabilir

Wireshark’ta CAN çerçevelerini ID’ye, zamana veya veri içeriğine göre filtreleyebilir, belirli bir olayın etrafındaki trafiği izole edebilirsin. pcap, delil zinciri açısından da avantajlıdır çünkü yaygın, doğrulanabilir bir formattır.

Adım 4: Timeline ve anomali

Asıl değer, ham çerçeveleri olay sıralamasına çevirmekte. ID’leri anlamlarına eşledikten sonra, zaman çizelgesi okunabilir hâle gelir:

t0.000  ID 0x18F  frenleme komutu
t0.012  ID 0x244  hız verisi
t0.031  ID 0x18F  beklenmedik tekrar  → anomali
t0.045  ID 0x3C1  kapı durumu

Anomaliler burada ortaya çıkar: normalde belirli bir aralıkta gelen bir mesajın aniden ve düzensiz tekrarlanması, hiç görülmemiş bir ID’nin belirmesi, ya da bir komutun beklenen bağlamın dışında gönderilmesi. Bir saldırı ya da arıza, çoğu zaman bu zamansal desende bir kırılma olarak görünür.

Savunma tarafı

  • Segmentasyon ve gateway: kritik CAN segmentlerini daha az güvenilir olanlardan ayır.
  • Anomali tespiti (IDS): mesaj frekansını ve ID setini öğrenip sapmaları yakala.
  • Mesaj kimlik doğrulama (CAN-FD üzerinde): yeni sistemlerde kriptografik bütünlük ekle.
  • Fiziksel erişim kontrolü: OBD portu ve teşhis arayüzleri birer giriş noktasıdır.

Adli bilişim açısı

CAN timeline çıkarma, “IoT/OT forensics” pratiğinin ders kitabı örneğidir: cihaz kimlik bırakmaz, delil ağ trafiğindedir, ve iş zaman damgalı bir kaydı olaya dönüştürmeye dayanır. Bu yaklaşım doğrudan kendi araç fikrimle de örtüşüyor — CAN/Modbus trafiğini pcap’ten alıp otomatik timeline üreten bir araç, hem savunma hem adli analiz için değerli bir açık kaynak katkısı olabilir. Bu tür bir aracın mimarisini ilerleyen proje yazılarında ele alacağım.

Kapanış

CAN bus, kimlik doğrulaması olmayan ama her şeyi konuşan bir hattır — bu da onu hem savunmasız hem de analiz için şeffaf kılar. Trafiği zaman damgalı yakalamak, pcap’e almak ve olay sıralamasına dökmek; bir aracın ya da bir OT sisteminin “kara kutusunu” okumanın en güçlü yollarından biri.


Bu içerik eğitim amaçlıdır; yalnızca sahibi olduğun ya da test yetkin olan sistemlerde uygula.