İçeriğe atla

Proxmark3

Proxmark3
First version of Proxmark3 originally designed by Jonathan Westhues
Date invented 2007
FPGA Xilinix Spartan®-II
Processor Atmel AT91SAM7S64
Memory 64 kB flash

Proxmark3, RFID (Radyo Frekansı Tanımlama) güvenlik analizi, araştırma ve geliştirme için çok yönlü bir donanım aracıdır. Bu araç, yüksek frekanslı (13.56 MHz) ve düşük frekanslı (125/134 kHz) yakınlık kartlarını destekler ve kullanıcılara RFID protokollerinin çoğunu okuma, taklit etme, karıştırma yapma ve kaba kuvvet saldırıları gerçekleştirme gibi imkanlar sunar.

Başlangıçta Jonathan Westhues tarafından oluşturulan ve açık kaynaklı donanım olarak yayınlanan proje, daha sonra orijinal versiyona kıyasla hem donanımı hem de yazılımı önemli ölçüde geliştiren bir geliştirici topluluğu tarafından alınmıştır. Proxmark3, RFID erişim kontrol sistemlerini araştıran ve projeyi kendi araştırmalarında kullanırken genişleten ve sürdüren büyük bir güvenlik araştırmacıları topluluğunu bir araya getirdi. Orijinal Proxmark3 donanım platformu, ticari olanlar da dahil olmak üzere yeni cihaz sürümleri için temel oluşturmuştur.

Teknik Özellikler

Proxmark3, yüksek performanslı düşük seviyeli analog sinyal işleme, modülasyon ve demodülasyonun uygulanmasına olanak tanıyan sahada programlanabilir kapı dizisi (FPGA) teknolojisine dayanmaktadır. Ayrı bir mikrodenetleyici demodüle edilmiş çerçeveleri işler. Bu tür bir kurulum potansiyel olarak herhangi bir RFID protokolünün Proxmark3'ün yazılımında uygulanmasına izin verir.

Proxmark3 Hardware Blocks

Antenler

Düşük frekanslar (LF) 125 kHz ve 134 kHz ve yüksek frekans (HF) 13.56 MHz için 2 bağımsız anten devresi kullanılır. Başlangıçta, her iki anten de zaman zaman güvenilmez olan ortak bir 4 pinli Hirose USB konektörü ile bağlandı. Daha sonraki revizyonlarda her anten için ayrı bir konektör kullanılması tercih edilmiştir.

ADC

8-bit Analogdan dijitale dönüştürücü (ADC) anten devresinden bir analog sinyal alır, bunu dijitalleştirir ve dijital sinyali FPGA'ya verir.

FPGA

Sahada programlanabilir kapı dizisi, hem CPU'dan veri iletirken düşük seviyeli modülasyonu hem de bir ADC'den sinyal alırken demodülasyonu yapar. On-off keying (OOK), amplitude-shift keying (ASK), vb. gibi çeşitli modülasyonları işleyebilir. FPGA iki şekilde çalışır: kartlar için elektromanyetik alan üreten okuyucu olarak veya okuyucu alanını bekleyen kart olarak.

CPU

ARM mikrodenetleyici protokol kısmından sorumludur. Çerçeveleri kodlar ve kodlarını çözer (Manchester, Miller, vb.) ve daha gelişmiş işlevleri yerine getirir. CPU, sinyal işleminden sonra FPGA'ya geri yanıt verebilir, böylece taşıma katmanını uygular. CPU ayrıca PC istemci uygulaması ile USB iletişimini de yönetir

Flash Hafıza

Flash bellek aygıt yazılımını saklamak için kullanılır. Proxmark3'ün ilk sürümlerinde yalnızca 64 kB flash bellek vardı, ancak aygıt yazılımı geliştikçe bu bellek azaldı ve 512 kB'lık sürümler ortaya çıktı.

Ürün yazılımının kendisi ARM kodu ve bir FPGA görüntüsünden (ARM tarafından yüklenen) oluşur. FPGA, ARM ile ya SPI portu (ARM master'dır) ya da genel SSP aracılığıyla iletişim kurar. SPI, FPGA yapılandırması için kullanılır. SSP, hava üzerinden gönderilen veriler için kullanılır.

Yazılım

Proxmark3'ün geliştirildiği dönemde SDR erişilmesi zor bir teknolojiydi. Bu nedenle bölünmüş bir FPGA/MCU mimarisi tasarlanmıştır: bir FPGA modülasyon/demodülasyon gibi düşük seviyeli işlevleri yerine getirirken, bir mikrodenetleyici yüksek seviyeli işlevlerle (komut satırı arayüzü, protokol kodlama/kod çözme vb.) ilgilenir. FPGA/MCU mimarisi teknik olarak eski olsa da, donanım revizyonları boyunca değişmeden kalmıştır. Bu, farklı sürümlerin aynı ürün yazılımını kullanmasına izin verdi ve geniş bir kod tabanıyla sonuçlandı. Ancak zamanla Proxmark3 kod tabanı giderek parçalandı ve donanım dengesizlikleri ortaya çıkmaya başladı. Sonuç olarak, bazı uygulamalar kodu iyileştirip optimize ederken (örneğin Proxmark3 RDV4), diğerleri orijinal Proxmark3 kod tabanını kullanmaktadır (örneğin Proxmark3 EVO).

Proxmark3 RDV4 genel komutları

Proxmark3 yazılımı üç bölüme ayrılmıştır:

  • PC istemcisi (uygulama katmanı) - Proxmark3 işlevlerini çağıran PC uygulaması. Verileri görüntülemek, sinyali analiz etmek ve Proxmark3'ü yönetmek için kullanılır. Daha sonra, daha yeni Proxmark3 sürümlerinde Bluetooth bağlantılı cihazı kontrol etmek için bir mobil uygulama kullanılabilir.
  • CPU ürün yazılımı (taşıma katmanı) - Protokol mesajlarını, formatlarını ve kuyruklarını yöneten ARM ürün yazılımı. Ayrıca CLI araçları da sağlar.
  • FPGA firmware (fiziksel katman) - Xilinx Spartan II firmware DSP'den sorumludur: sinyallerin modüle edilmesi/demodüle edilmesi.
Proxmark3 client application plots data sample

Eski aygıt yazılımı, istemciyi Proxmark3'e bağlamak için USB HID protokolünü kullanıyordu. Alınan örnekleri gerçek zamanlı olarak PC'ye aktarmak mümkün değildi. CPU istemciden bir komut alıyor, komutu uyguluyor ve sonucu bellek tamponunda saklıyordu. İstemci, CPU'nun arabelleğe aldığı verileri almak için yeni bir komut göndermek zorundaydı. Yeni ürün yazılımı sürümleri, istemci ile iletişim kurmak için CDC seri arayüzünü kullanır.

Sinyal örnekleri PC istemcisi tarafından işlenebilir, bilinmeyen sinyallerin analizine yardımcı olmak için alınan verileri çizebilir.

Topluluk

Proxmark3'ün 2007'de piyasaya sürülmesinden bu yana birçok RFID meraklısı işlevselliğini genişletmektedir. Proxmark3 topluluğu, ISO/IEC 14443-A standardını destekleyen aygıt yazılımının piyasaya sürülmesinden ve Mifare Classic'e yönelik başarılı saldırıların ortaya çıkmasından sonra hızlı bir büyüme kaydetti. Proxmark3 forumu (kayıt gereklidir), elektronik erişim kontrol (EAC) sistemlerine odaklanan güvenlik araştırmacılarının uğrak yeri olan RFID sistem güvenlik açığı tartışmaları için ana merkezlerden biri haline geldi. Proxmark topluluğu ayrıca diğer RFID araştırma araçlarının geliştiricilerine de ev sahipliği yapmaktadır: örneğin LibNFC. Topluluk Discord sunucusu daha sonra EAC sistem güvenliği konusunda hem metin hem de sesli tartışmalara ev sahipliği yapmak için oluşturuldu. 2021'in sonunda yaklaşık 3000 üyesi vardı.

Araştırmalarda Proxmark3 kullanıldı

Mifare Classic Kart saldırı çeşitleri:

  • Darkside attack (Nijmegen/Oakland Group, 2009)- kartın herhangi bir bölümünden en az bir anahtarın kurtarılması. Her kart için çalışır, uzun zaman alır. libnfc yığınından mfoc (Mifare Offline Cracker) aracını kullanma.
  • İç içe saldırı (nested)(Nicolas T. Curtois, 2009) - Bir sektör bilinen bir anahtarla şifrelenmişse, diğer sektörler kısa sürede kırılabilir. Bu saldırının güncellenmiş versiyonu da vardır - Hardnested. libnfc yığınından mfcuk (Mifare Classic universal toolkit) aracını kullanarak.

Mifare Classic :

  • MIFARE Classic'e yönelik pratik bir saldırı

Mifare DESFire :

  • Toplu taşımada kullanılan MIFARE DESFire EV1 akıllı kartına yönelik olası saldırıların araştırılması[1]

HID iClass :

  • Karanlığın kalbi - HID iCLASS güvenliğinin keşfedilmemiş arka sularını keşfetmek

Hitag :

  • Gone in 360 Seconds: Hijacking with Hitag2[2]
  • Megamos Kripto'yu Sökmek: Bir Araç İmmobilizerini Kablosuz Olarak Kilitleme

NFC :

  • NFC özellikli cep telefonlarına pratik saldırılar

Kaynakça

  1. ^ "Heart of Darkness - exploring the uncharted backwaters of HID iCLASS security" (PDF). 16 Eylül 2021 tarihinde kaynağından arşivlendi (PDF). Erişim tarihi: 16 Eylül 2021. 
  2. ^ Verdult, Roel; Garcia, Flavio; Balasch, Josep (2012). Gone in 360 Seconds: Hijacking with Hitag2. [S.l.] : USENIX Association. OCLC 1247338434. 4 Şubat 2023 tarihinde kaynağından arşivlendi. Erişim tarihi: 15 Eylül 2023. 

İlgili Araştırma Makaleleri

<span class="mw-page-title-main">Mikrodenetleyici</span>

Mikrodenetleyici bir VLSI entegre devre çipinde küçük bir bilgisayar'dır. Mikrodenetleyici, bellek ve programlanabilir giriş/çıkış çevre birimleri ile birlikte bir veya daha fazla CPU kapsar.

<span class="mw-page-title-main">Macintosh</span> dizüstü ve masaüstü bilgisayarlara yönelik geliştirilen işletim sistemi

Macintosh, kısaca Mac olarak bilinen ve adını McIntosh Amerikan 1949 ses firmasından alan patent sorunu yaşamamak için Macintosh olarak yazılan, kişisel bilgisayar üreten Apple Computer Inc.'in bir ürünüdür. Ürün yelpazesi 1984 yılında başlamış ve piyasada fare ve grafik arayüz kullanan ilk başarılı bilgisayar serilerinden biri olmuştur. Bu başarıdan dolayı, 1986 yılından itibaren şirketin Lisa, Apple II, Apple III gibi yelpazeleri sonlandırılıp tüm bilgisayarları Macintosh serisi altında toplanmıştır.

<span class="mw-page-title-main">Merkezî işlem birimi</span> bir bilgisayar programının talimatlarını, talimatlar tarafından belirtilen temel aritmetik, mantıksal, kontrol ve giriş/çıkış (G/Ç) işlemlerini gerçekleştirerek yürüten ve diğer bileşenleri koordine eden bir bilgisayar içindeki elektro

Merkezî işlem birimi, dijital bilgisayarların veri işleyen ve yazılım komutlarını gerçekleştiren bölümüdür. Çalıştırılmakta olan yazılımın içinde bulunan komutları işler. Mikroişlemciler ise tek bir yonga içine yerleştirilmiş bir merkezî işlem birimidir. 1970'lerin ortasından itibaren gelişen mikroişlemciler ve bunların kullanımı, günümüzde MİB teriminin genel olarak mikroişlemciler yerine de kullanılması sonucunu doğurmuştur.

İndirgenmiş Buyruk Küme Bilgisayar, işlemci tasarım alanında 1980'li yıllarda önerilen ve giderek CISC'in yerini alan bir buyruk kümesi mimarisidir.

<span class="mw-page-title-main">GNU Debugger</span>

GNU Debugger(GDB olarak kısaltılır) GNU yazılım sistemi için kullanılan bir hata ayıklayıcıdır (debugger). Unix tabanlı pek çok sisteminde, C, C++ ve Fortran gibi birçok programlama dilinde çalışan taşınabilir bir hata ayıklayıcıdır.

<span class="mw-page-title-main">AmigaOS</span> Amiga kişisel bilgisayarının işletim sistemi

AmigaOS, Amiga kişisel bilgisayarının işletim sistemidir. Grafik arabirimi olan Workbench, CLI komut satırı arabirimi ile birlikte AmigaDOS ve çoğu Amiga modelinde ROM'da yer alan Kickstart'tan oluşur.

<span class="mw-page-title-main">Kesme (bilgisayar)</span>

İş kesme, bilgi işlemede donanımsal olarak olağanüstü durumu belirtmek için gönderilen asenkron sinyal veya yazılımda işletimde değişiklik olacağını göstermek için ihtiyaç duyulan senkronize olaydır.

<span class="mw-page-title-main">Mikroişlemci</span> ana işlem biriminin fonksiyonlarını tek bir yarı iletken tümdevrede birleştiren programlanabilir sayısal elektronik bileşen

Mikroişlemci, işlemci olarak da bilinen, merkezî işlem biriminin (CPU) fonksiyonlarını tek bir yarı iletken tüm devrede (IC) birleştiren programlanabilir bir sayısal elektronik bileşendir.

<span class="mw-page-title-main">Bilgisayar mimarisi</span>

Bilgisayar mimarisi, en küçüğe ve en başarılıya ulaşmayı hedeflerken aynı zamanda maliyeti de göz önünde bulundurduğu için sanat ve bilimin ortak buluştuğu nokta olarak da tanımlanır. Bilgisayar Mimarisi, bilgisayar parçalarının iç yapıları ve aralarındaki haberleşme bağlantıları ile ilgilidir.

<span class="mw-page-title-main">Geriye uyumluluk</span>

Telekomünikasyon ve bilişim teknolojisinde yeni aygıtların eski aygıtlar tarafından üretilmiş girdileri çalıştırabilme yeteneğine geriye uyumluluk denir. Yeni standartlar için tasarlanmış bir ürün eski standartlara erişebiliyor, okuyor veya oynatabiliyorsa o ürüne geriye uyumludur denir. Örneğin veri biçimleri ve iletişim protokolünü içeren standartlar gibi.

<span class="mw-page-title-main">Önyükleme</span> CPUya ilk elektrik verildiğinde bilgisayarın çalışabilmesi için uygulamaya konulan işlemler bütünü ve çalışan uygulamalar

Bilgisayar biliminde önyükleme, bir donanım veya bir yazılım komutu ile elektrik verilen bilgisayarı başlatma işlemidir. Açıldıktan sonra, bir bilgisayarın merkezî işlem biriminin (CPU) ana belleğinde yazılım yoktur, bu nedenle bazı işlemlerin yürütülebilmesi için yazılımı belleğe yüklemesi gerekir. Bu, CPU'daki donanım veya bellenim veya bilgisayar sistemindeki ayrı bir işlemci tarafından yapılabilir. İşletim sistemi ve bazı uygulamalar elde başlatıldığında, önyükleme tamamlanır.

<span class="mw-page-title-main">Gömülü sistem</span> Belli bir fonksiyonu yapmaya yönelik bilgisayar sistemi

Gömülü sistem, bilgisayarın kendisini kontrol eden cihaz tarafından içerildiği özel amaçlı bir sistemdir. Genel maksatlı, örneğin kişisel bilgisayar gibi bir bilgisayardan farklı olarak, gömülü bir sistem kendisi için önceden özel olarak tanımlanmış görevleri yerine getirir. Sistem belirli bir amaca yönelik olduğu için tasarım mühendisleri ürünün boyutunu ve maliyetini azaltarak sistemi uygunlaştırabilirler. Gömülü sistemler genellikle büyük miktarlarda üretildiği için maliyetin düşürülmesinden elde edilecek kazanç, milyonlarca ürünün katları olarak elde edilebilir.

Kali; Linux tabanlı, CD'den başlatma seçenekli BackTrack yapımcıları tarafından 2013 yılında oluşturulmuş olan bir güvenlik kontrol işletim sistemi. Offensive Security Ltd. aracılığıyla Mati Aharoni, Devon Kearns ve Raphaël Hertzog tarafından geliştirilmekte ve finanse edilmektedir. İçerisindeki araçlar sayesinde birçok alanda güvenlik testi yapmak ve yazılım geliştirmek mümkün. Masaüstü ortamı olarak KDE, GNOME ve Xfce ortamı bulunmaktadır. Ayrıca 64-bit (amd64), 32-bit (i386), ARM ve Armel alt yapı desteği de vardır.

<span class="mw-page-title-main">Apple Software Update</span>

Apple Software Update OS X çalıştıran bilgisayarlarda Apple yazılımının en son sürümünü yükleyen, Apple Inc tarafından yaratılan bir Programlama aracıdır. OS X Mountain Liona kadar, güncelleme yöntemi Software Update kullanımı ile idi; Mountain Lion dahil olmak üzere, yazılım Güncelleme Mac App Store ile birleştirilmiştir. Yani,Mountain Lion ve ondan sonraki sürümler Mac App Store ile yüklenmeye başladı. Başlangıçta Mac OS 9 Mac kullanıcılarına tanıtıldı. Bir Windows sürümü, iTunes 7 girmesinden bu yana Apple Software Update ismi altında mevcut olmuştur. Yazılım Güncelleme otomatik olarak yeni güncellemeleri kullanıcılara bildirirdi. Program OS X'da Core Servicesin parçasıdır. Yazılım Güncelleme günlük, haftalık, aylık ya da hiçbir zaman güncellemeleri kontrolü için ayarlanabilir; ek olarak, indirmek ve .pkg ilişkili dosyasını saklayabilir,, daha sonraki bir tarihte yüklenmiş ve yüklü güncellemeleri geçmişini tutar edecekdir. Yazılım Güncellemeleri Mac OS ve uygulamaları, Güvenlik Güncelleştirmeleri güncellemeleri, aygıt sürücüsü ve artan Donanım yazılımı güncellemelerinden oluşmaktadır. Tüm yazılım güncellemeleri tüm netice sistem değişiklikleri ile olduğu gibi idari parola girmesini gerektirir. Bazı güncellemelerde sistemi yeniden başlatma gerektirir. mac OS X Leoparddan başlayarak, güncellemeler tamamlandığında montajdan önce kullanıcıya logout-u yeniden başlatmayı gerektirebilir ve otomatik olarak bilgisayarı yeniden başlatabilir. Önceki sürümlerinde, güncellemeler yüklenir, ancak kritik dosyaları bir sonraki sistem başlatma kadar değiştirilmirdi.

Gömülü yazılım, denetim makineleri ve bilgisayar sayılmayan aygıtlar için yazılmış yazılımlardır. Gömülü yazılımlar genellikle çalıştırılacakları donanıma göre özelleştirilir, zaman ve bellek kısıtlamalarına sahiptir. "Gömülü yazılım" terimi bazen firmware terimi ile beraber kullanılır, fakat firmware bir bilgisayardaki, üstünde bir işletim sisteminin çalıştığı ROM tabanlı koda uygulanabilir. Oysaki, gömülü yazılım genellikle aygıttaki tek yazılım olarak bulunur.

<span class="mw-page-title-main">Veri edinimi</span>

Veri edinimi gerçek dünyanın fiziksel koşullarını ölçen ve elde edilen örnekleri bilgisayar tarafından manipüle edilebilen dijital sayısal sonuçlara dönüştüren sinyalleri örneklendirme sürecidir. Veri edinim sistemleri DAS VEYA DAQ ile kısaltılmıştır. Genellikle analog dalga formlarını işlemek için dijital değere dönüştürür.

<span class="mw-page-title-main">OpenEmbedded</span>

OpenEmbedded, gömülü sistemler için Linux dağıtımları oluşturmak için kullanılan bir yapı otomasyonu çerçevesi ve çapraz derleyiciler ortamıdır. OpenEmbedded çerçeve 2003 yılında resmen kurulan OpenEmbedded topluluğu tarafından geliştirilmiştir. OpenEmbedded, ticari şirketlere gömülü ürünler için Linux tabanlı sistem geliştirilmesine yardımcı olan ve Linux Foundation çalışma grubu olan Yocto Projesinin önerilen yapı sistemidir.

Güvenli kabuk,, ağ hizmetlerinin güvenli olmayan bir ağ üzerinde güvenli şekilde çalıştırılması için kullanılan bir kriptografik ağ protokolüdür. En iyi bilinen örnek uygulaması bilgisayar sistemlerine uzaktan oturum açmak için olandır.

Uygulamaya özel komut seti işlemcisi (UÖKİ) veya ASIP, yongada sistem tasarımında kullanılan bir bileşendir. Aynı zamanda bir tasarım yöntemi olarak kullanılır. Bir UÖKİ'nin komut seti, belirli bir uygulamaya fayda sağlayacak şekilde uyarlanmıştır. Çekirdeğin özelleşmesi, genel amaçlı bir CPU'nun esnekliği ve bir ASIC'in performansı arasında denge sağlar.

<span class="mw-page-title-main">MIFARE</span> Akıllı ve yakınlık kartları markası

MIFARE, temassız akıllı kartlar'da ve yakınlık kartlarında kullanılan bir dizi entegre devre (IC) çipidir. Marka, ISO/IEC 14443 Type-A 13,56 MHz temassız akıllı kart standardının çeşitli seviyelerini temel alan tescilli çözümler içerir. AES ve DES/Triple-DES şifreleme standartlarının yanı sıra daha eski özel bir şifreleme algoritması olan Crypto-1'i kullanır. NXP'ye göre 10 milyar akıllı kart çipi ve 150 milyondan fazla okuyucu modülü satılmıştır. MIFARE ticari markası, 2006 yılında Philips Electronics'ten ayrılan NXP Semiconductors'a aittir.