
1. Giriş
RFID teknolojisi erişim kontrolü, toplu taşıma, kimlik doğrulama ve temassız ödeme sistemleri gibi birçok alanda yaygın olarak kullanılıyor. Bu yaygın kullanım, beraberinde bazı güvenlik sorularını da getiriyor. Kullanılan kart türü nedir, hangi protokoller kullanılıyor, kart kolayca kopyalanabilir mi ve kart ile okuyucu arasındaki iletişim hangi güvenlik mekanizmaları ile korunuyor?
Bu sorulara daha sistematik ve teknik bir yaklaşım getirmek amacıyla Proxmark RFID Analyzer adlı bir proje geliştirdim. Bu araç, Proxmark3 cihazının ürettiği log çıktılarını analiz eder, kart tipini belirler, potansiyel güvenlik risklerini değerlendirir ve sonuçları yorumlanabilir bir rapor halinde sunar.
Bu yazıda Proxmark RFID Analyzer aracının geliştirilme sürecini, çalışma mimarisini, kullanılan teknolojileri ve örnek bir kart analizi üzerinden aracın işleyişini adım adım inceleyeceğim.
Etik Uyarı
Bu yazıda ele alınan RFID analiz teknikleri ve güvenlik değerlendirmeleri yalnızca eğitim, araştırma ve savunma amaçlıdır. Anlatılan yöntemlerin izinsiz sistemler üzerinde uygulanması hukuki ve etik açıdan sorumluluk doğurabilir. Bu nedenle tüm çalışmaların yalnızca yetkili olunan sistemler üzerinde ve sorumlu güvenlik araştırması ilkelerine uygun şekilde gerçekleştirilmesi gerekmektedir.
2. Bu projeyi neden geliştirdim?
RFID sistemleri özellikle erişim kontrolü ve kimlik doğrulama alanlarında yaygın şekilde kullanılıyor. Ancak pratikte birçok sistemde kullanılan kartların güvenlik seviyesi çoğu zaman yeterince analiz edilmeden kullanılıyor. Bazı kart türleri zayıf kriptografik yapılar içerir, bazıları ise kolayca klonlanabilir veya çeşitli saldırı tekniklerine karşı savunmasızdır.
RFID güvenliği üzerine çalışırken Proxmark3 cihazı ile elde edilen analiz çıktılarının çoğunlukla ham log formatında olduğunu fark ettim. Proxmark3 güçlü bir analiz aracıdır, ancak ürettiği veriler doğrudan yorumlanabilir bir yapıda değildir ve bu verileri anlamlandırmak genellikle kullanıcıya kalır. Bu durum analiz sürecini hem zaman alıcı hem de hataya açık hale getirir.
Bu noktada şu soruya odaklandım: Proxmark3 tarafından üretilen log çıktıları otomatik olarak analiz edilebilir mi? Bu sorudan yola çıkarak Proxmark RFID Analyzer projesini geliştirdim. Araç, Proxmark3 loglarını analiz ederek kartın teknik özelliklerini ve olası güvenlik risklerini daha sistematik şekilde incelemeyi amaçlar. Bu yaklaşım RFID kart analiz sürecini daha hızlı ve daha düzenli hale getirir.
3. Projenin Çalışma Mantığı
Proxmark RFID Analyzer, Proxmark3 cihazından elde edilen RFID tarama çıktılarının otomatik olarak analiz edilmesini sağlayan modüler bir yapıya sahiptir. Araç temel olarak birkaç aşamadan oluşan bir analiz pipeline’ı üzerinden çalışır.
Proxmark3 Log Çıktısının Alınması
RFID kart analizi genellikle Proxmark3 cihazı ile yapılır. Cihaz kart taraması sırasında UID, ATQA, SAK ve protokol bilgileri gibi çeşitli teknik parametreler içeren bir çıktı üretir. Bu veriler çoğunlukla terminal üzerinden alınan ham log formatındadır.
Ancak bu log çıktıları doğrudan yorumlanabilir bir yapıda değildir. Log içerisinde yer alan teknik bilgiler farklı satırlara dağılmış halde bulunur ve kartın türünü ya da güvenlik özelliklerini doğrudan anlamak her zaman kolay değildir. Proxmark RFID Analyzer bu noktada devreye girer ve ham log verisini analiz ederek daha anlamlı bir veri yapısına dönüştürür.

Log Parser
Parser modülü Proxmark3 tarafından üretilen log çıktısını okuyarak gerekli teknik bilgileri ayıklar. Bu aşamada araç terminal karakterlerini temizler, logun HF veya LF moduna ait olup olmadığını belirler ve kartla ilgili temel parametreleri çıkarır. Elde edilen veriler daha sonra analiz modüllerinin kullanabileceği yapılandırılmış bir formata dönüştürülür.
Bu işlem sayesinde ham terminal çıktısı, sistemin diğer bileşenleri tarafından işlenebilecek bir veri yapısına dönüşür.
Kart Tanımlama (Fingerprint Engine)
Parser tarafından elde edilen veriler fingerprint engine tarafından analiz edilir. Bu modül kartın teknik parametrelerini inceleyerek kart türünü belirler. Tanımlama işlemi kartın UID uzunluğu, ATQA ve SAK değerleri, kullanılan protokol ve log içerisinde geçen bazı anahtar ifadeler üzerinden yapılır.
Bu analiz sonucunda araç MIFARE Classic, MIFARE Ultralight, DESFire veya farklı LF kart türlerini ayırt edebilir.
Güvenlik Analizi
Kart türü belirlendikten sonra araç güvenlik analiz modüllerini çalıştırır. Bu aşamada kartın güvenlik özellikleri incelenir ve potansiyel riskler değerlendirilir. Analiz süreci kartın UID yapısı, kullanılan kriptografi, kimlik doğrulama mekanizması ve bilinen güvenlik zafiyetleri gibi faktörleri dikkate alır.
Bu sayede araç yalnızca kart tipini belirlemekle kalmaz, aynı zamanda kartın güvenlik durumu hakkında da bir değerlendirme sunar.
Risk Skoru ve Tehdit Değerlendirmesi
Analiz sonuçlarına dayanarak sistem kart için bir risk skoru üretir. Bu skor kartın güvenlik seviyesini genel bir çerçevede ifade eder. Değerlendirme sırasında kullanılan kriptografik mekanizma, kartın klonlanabilirliği, kimlik doğrulama mekanizması ve protokol seviyesindeki zayıflıklar birlikte değerlendirilir.
Risk skoru, farklı güvenlik faktörlerine belirli ağırlıklar verilerek hesaplanır. Basitleştirilmiş bir skor modeli aşağıdaki şekilde ifade edilebilir:
Bu modelde her faktör 0 ile 1 arasında normalize edilmiş bir değer alır. Ağırlık katsayıları (w₁, w₂, w₃, w₄) ise her faktörün risk skoruna olan etkisini temsil eder ve toplamları 1 olacak şekilde tanımlanır.
Bu modele göre MIFARE Classic gibi zayıf kriptografik yapıya sahip bir kart için örnek bir hesaplama şu şekilde olabilir:
Bu durumda kartın toplam risk skoru 0.72 olarak hesaplanır. Yüksek skorlar daha zayıf güvenlik seviyesini ifade eder.
Araç ayrıca kart için olası saldırı senaryolarını da değerlendirir ve kartın hangi tür saldırılara karşı savunmasız olabileceğini gösterir. Böylece kullanıcı yalnızca teknik parametreleri değil, bu parametrelerin güvenlik açısından ne anlama geldiğini de daha açık şekilde görebilir.
Analiz Raporunun Oluşturulması
Analiz sürecinin sonunda araç elde edilen tüm verileri bir rapor halinde sunar. Bu rapor terminal çıktısı olarak görüntülenebilir veya JSON formatında dışa aktarılabilir. Böylece analiz sonuçları hem kullanıcı tarafından incelenebilir hem de farklı araçlarla işlenebilir.
Aşağıda araç tarafından oluşturulan zafiyet tarama raporunun bir bölümünü görebilirsiniz:

4. Projede Kullandığım Teknolojiler
Proxmark RFID Analyzer projesini geliştirirken temel hedefim esnek ve genişletilebilir bir analiz aracı ortaya çıkarmaktı. Bu nedenle proje mimarisini modüler bir yapıda tasarladım ve Python ekosisteminin sunduğu araçlardan faydalandım.
Python
Projenin ana geliştirme dili Python’dur. Python, metin işleme ve veri ayrıştırma konusunda güçlü kütüphaneler sunar ve hızlı prototipleme imkânı sağlar. Proxmark3 loglarının büyük bölümü metin tabanlı olduğu için Python bu tür verileri analiz etmek için uygun bir ortam sağlar. Ayrıca Python ile komut satırı araçları geliştirmek ve modüler bir proje yapısı kurmak oldukça pratiktir.
Regex(Regular expressions)
Log çıktılarından teknik bilgileri ayıklamak için düzenli ifadeler (regular expressions – regex) kullandım. Proxmark3 çıktıları belirli bir formatta olsa da farklı kart türleri ve farklı komutlar nedeniyle log yapısı değişebilir. Regex kullanarak log içerisindeki UID, ATQA, SAK, ATS ve protokol bilgileri gibi alanları otomatik olarak çıkarıyorum. Bu yaklaşım ham terminal çıktısını analiz edilebilir bir veri yapısına dönüştürmemi sağlıyor.
Örneğin Proxmark3 logu içerisinden UID bilgisini çıkarmak için aşağıdaki gibi bir ifade kullanıyorum:
Bu ifade log içerisinde yer alan UID değerini yakalayarak analiz modülüne aktarır.
Modüler Proje Yapısı
Projenin sürdürülebilir ve genişletilebilir olması için kodu farklı modüllere ayırdım. Parser modülü Proxmark3 loglarını ayrıştırır, fingerprint engine kart türünü belirler, analiz modülleri güvenlik değerlendirmelerini gerçekleştirir ve scoring engine kart için bir risk skoru üretir. Son aşamada report modülü tüm analiz sonuçlarını kullanıcıya rapor halinde sunar.
RFID Protokol Bilgisi
Projenin geliştirilmesinde RFID teknolojileri hakkında teknik bilgi de önemli bir rol oynadı. Özellikle ISO14443A, ISO14443B ve MIFARE kart ailesi gibi standartlar analiz sürecinde dikkate alınan temel referansları oluşturur. Kartların UID yapısı, protokol parametreleri ve kimlik doğrulama mekanizmaları bu standartların teknik özelliklerine göre değerlendirilir.
CLI(Command Line Interface)
Proxmark RFID Analyzer bir komut satırı aracı olarak tasarlandı. Kullanıcılar Proxmark3 tarafından elde edilen log dosyasını araca vererek analiz gerçekleştirebilir. Örneğin aşağıdaki komut bir log dosyasını analiz ederek kart hakkında detaylı bir güvenlik raporu üretir:
python3 main.py sample_log.txt
5. Proje Yapısı
Projenin sürdürülebilir ve genişletilebilir olması için kod yapısını modüler bir şekilde organize ettim. Aşağıda GitHub repository üzerinde bulunan proje dizin yapısı gösterilmektedir.

Proje dizinleri ve dosyalarının görevleri kısaca şu şekildedir:
core/
Projenin ana analiz mantığını içeren modüller burada bulunur. Parser, fingerprint engine, analiz modülleri ve raporlama sistemi bu dizin içerisinde yer alır.
data/
Kart profilleri ve güvenlik veritabanı gibi veri odaklı bileşenler bu dizinde bulunur.
samples/
Test ve geliştirme sırasında kullanılan örnek Proxmark log çıktıları bu klasörde yer alır.
main.py
Uygulamanın giriş noktasıdır. Kullanıcı tarafından verilen log dosyasını okuyarak analiz pipeline’ını başlatır.
vuln_query.py
Kart türüne göre ilgili güvenlik zafiyetlerini sorgulamak için kullanılan yardımcı modüldür.
install.sh
Projenin hızlı bir şekilde kurulabilmesi için hazırlanan kurulum scriptidir.
6. Örnek RFID Kart Analizi
Aracın nasıl çalıştığını daha somut bir şekilde göstermek için örnek bir RFID kart analizini inceleyelim.
Analizde Kullanılan Örnek Kart
Bu örnekte samples/ dizininde yer alan mifare_classic_1k.txt log dosyası kullanılmıştır. Bu dosya, Proxmark3 ile elde edilen örnek bir kart tarama çıktısını içermektedir.

Proxmark3 Tarama Çıktısı

Bu veriler ham log formatında bulunduğu için doğrudan yorumlanmaları her zaman kolay değildir. Bu noktada Proxmark RFID Analyzer aracı, bu çıktıyı analiz ederek daha anlaşılır bir güvenlik raporu üretir.
Log Dosyasının Araç ile Analiz Edilmesi
python3 main.py samples/mifare_classic_1k.txt
Bu komut ile örnek log dosyası analiz aracına verilmiş ve kartın teknik özellikleri ile potansiyel güvenlik risklerini içeren bir analiz raporu otomatik olarak oluşturulmuştur.


Analiz Raporu
Aşağıda Proxmark RFID Analyzer tarafından üretilen güvenlik raporunun özet bir bölümü yer almaktadır.
python3 main.py samples/mifare_classic_1k.txt komutunun çalıştırılması sonucunda reports/ dizini içerisinde vuln_report_20260307_135101.md adlı bir zafiyet raporu oluşturulmuştur. Oluşturulan rapor aşağıdaki komut ile incelenebilir.
nano reports/vuln_report_20260307_135101.md
Bu rapor dosyası, kartın güvenlik durumu, tespit edilen zafiyetler ve önerilen güvenlik önlemleri hakkında detaylı bilgiler içermektedir.
Raporun girişi ve yönetici özeti:


Analiz sonucunda kart için tespit edilen güvenlik zafiyetlerinin özeti aşağıdaki tabloda gösterilmektedir.

Örneğin MIFARE Classic kartlarda kullanılan Crypto1 algoritması ile ilgili tespit edilen zafiyet aşağıda gösterilmektedir:


Bu bölümde raporun yalnızca özet kısmı gösterilmiştir. Araç tarafından üretilen tam güvenlik raporu daha detaylı teknik analizler ve öneriler içermektedir.
7. Geliştirme Sürecinde Karşılaşılan Zorluklar
Proxmark RFID Analyzer projesini geliştirirken karşılaştığım en önemli zorluklardan biri, Proxmark3 tarafından üretilen log çıktılarının her zaman aynı formatta olmamasıydı. Farklı komutlar, farklı kart türleri ve kullanılan Proxmark3 sürümü gibi faktörler log formatında küçük ancak önemli değişikliklere neden olur. Bu durum özellikle otomatik analiz yapan bir araç geliştirirken log verisinin güvenilir şekilde ayrıştırılmasını zorlaştırır.
Log Formatlarının Değişkenliği
Proxmark3 çıktıları çoğunlukla metin tabanlıdır, ancak aynı bilgi farklı log çıktılarında farklı biçimlerde yer alabilir. Örneğin UID, ATQA veya SAK gibi temel parametreler bazen farklı satırlarda veya farklı formatlarda bulunur. Parser modülünü geliştirirken bu değişkenliği dikkate aldım ve log formatına bağımlı olmayan daha esnek bir ayrıştırma yaklaşımı tasarladım. Bu yaklaşım farklı log formatlarını desteklemeyi, eksik veri durumlarında analiz sürecinin bozulmamasını ve regex ifadelerinin mümkün olduğunca esnek şekilde tasarlanmasını gerektirdi. Sonuç olarak araç, farklı Proxmark3 çıktılarıyla uyumlu çalışacak şekilde geliştirildi.
Kart Türünü Doğru Şekilde Tanımlamak
Bir diğer önemli zorluk kart türünü doğru şekilde tanımlamaktı. RFID kartları bazı durumlarda benzer teknik özellikler gösterebilir. Örneğin farklı kart türleri aynı ATQA veya SAK değerlerine sahip olabilir. Bu nedenle kart tanımlama sürecini tek bir parametreye dayandırmak yerine birden fazla teknik kriteri birlikte değerlendiren bir yaklaşım kullandım. Kartın UID uzunluğu, ATQA ve SAK değerleri, kullanılan protokol bilgisi ve log içerisinde geçen belirli anahtar ifadeler birlikte analiz edilerek kart türü belirlenir. Bu yöntem kart tanımlama doğruluğunu artırır ve yanlış sınıflandırma ihtimalini azaltır.
Güvenlik Analizinin Yorumlanması
RFID kartların güvenlik seviyesini yorumlamak da dikkat gerektiren bir konudur. Bazı kart türleri tasarım gereği daha zayıf güvenlik mekanizmalarına sahiptir, ancak bu durum her zaman doğrudan bir güvenlik açığı anlamına gelmez. Bu nedenle analiz modüllerini tasarlarken kartın teknik özelliklerini objektif şekilde değerlendiren bir yaklaşım benimsedim. Analiz süreci kartın protokol özelliklerini, kullanılan kriptografik mekanizmaları ve literatürde bilinen zafiyetleri birlikte değerlendirir. Böylece araç yalnızca teknik verileri sunmakla kalmaz, aynı zamanda kullanıcıya yorumlanabilir bir güvenlik değerlendirmesi de sağlar.
8. Sonuç ve Gelecek Planları
Bu proje, Proxmark3 tarafından üretilen RFID analiz çıktılarının otomatik olarak yorumlanmasının mümkün olduğunu gösterdi. Ham log verisinin sistematik şekilde ayrıştırılması, kart türünün belirlenmesi ve potansiyel güvenlik risklerinin değerlendirilmesi tek bir araç içerisinde birleştirildiğinde RFID analiz süreci daha hızlı ve daha tutarlı hale geliyor.
Proje geliştirme süreci aynı zamanda RFID sistemlerinin güvenlik analizinde bazı pratik zorlukları da ortaya koydu. Özellikle Proxmark3 log formatlarının farklı komutlara ve kart türlerine göre değişebilmesi, parser tasarımında esnek bir yaklaşım gerektiriyor. Benzer şekilde kart tanımlama sürecinde tek bir parametreye güvenmek yerine birden fazla teknik göstergenin birlikte değerlendirilmesi gerekiyor. Bu deneyim, RFID analiz araçlarında güvenilir sonuçlar elde etmek için hem veri ayrıştırma hem de fingerprint mantığının dikkatli şekilde tasarlanması gerektiğini gösterdi.
Mevcut araç belirli kart türleri ve log çıktıları için güvenilir analiz sağlayabilse de bazı sınırlamalara sahiptir. Özellikle farklı Proxmark3 komut çıktıları, yeni kart türleri ve üreticiye özgü protokol varyasyonları analiz doğruluğunu etkileyebilir. Bu nedenle aracın fingerprint veritabanının ve analiz modüllerinin genişletilmesi önemlidir.
Gelecek çalışmalarda fingerprint veritabanını genişleterek daha fazla kart türü için destek eklemeyi, analiz modüllerini yeni güvenlik kontrolleriyle geliştirmeyi ve farklı Proxmark3 komut çıktılarıyla uyumlu çalışacak şekilde aracı genişletmeyi planlıyorum. Ayrıca daha gelişmiş raporlama seçenekleri ekleyerek analiz sonuçlarının daha detaylı ve yorumlanabilir şekilde sunulmasını hedefliyorum.
Uzun vadede bu aracı RFID güvenlik araştırmaları ve analiz süreçlerinde kullanılabilecek daha kapsamlı bir analiz platformuna dönüştürmeyi amaçlıyorum.
9. Kaynaklar
Bu proje geliştirilirken RFID teknolojileri, Proxmark3 platformu ve RFID güvenliği üzerine yapılan çeşitli teknik çalışmalar incelenmiştir. Ayrıca kart protokollerinin yapısını anlamak ve güvenlik değerlendirmelerini oluşturmak için akademik çalışmalar ve standart dokümanlardan faydalanılmıştır. Konuyla ilgili daha fazla teknik bilgi edinmek isteyenler için aşağıdaki kaynaklar incelenebilir. Ayrıca projenin kaynak kodlarına GitHub üzerinden erişebilir ve geliştirme sürecine katkıda bulunabilirsiniz.
Proje Kaynağı
Proxmark RFID Analyzer – GitHub Repository
https://github.com/Cinargenc/proxmark_rfid_analyzer
Proxmark3 ve Araç Ekosistemi
Proxmark3 Official Repository – RFID Research Group
Proxmark3 cihazının firmware’i, komut seti ve RFID analiz araçlarını içeren resmi proje deposudur. https://github.com/RfidResearchGroup/proxmark3
RFID Teknolojisi ve Protokoller
RFID Handbook – Klaus Finkenzeller
RFID teknolojileri, frekans türleri, kart mimarileri ve protokol seviyesindeki detayları açıklayan temel referans kitaplardan biridir.
ISO/IEC 14443 Standardı
Temassız akıllı kartların fiziksel ve protokol seviyesinde iletişimini tanımlayan uluslararası standarttır. https://www.iso.org/standard/73596.html
