CyberFlow Logo CyberFlow 📚 Blog

gatttool - BLE GATT servis analizi

✍️ Ahmet BİRKAN 📂 kali_tools_bluetooth_araclari
gatttool - BLE GATT servis analizi Giriş Giriş Bluetooth Low Energy (BLE), günümüzde birçok cihaz ve uygulama için kritik bir iletişim protokolü haline gelmişt…
gatttool - BLE GATT servis analizi

gatttool - BLE GATT servis analizi

Giriş

Giriş

Bluetooth Low Energy (BLE), günümüzde birçok cihaz ve uygulama için kritik bir iletişim protokolü haline gelmiştir. Özellikle IoT (Nesnelerin İnterneti) uygulamaları, giyilebilir teknolojiler ve akıllı ev sistemleri gibi alanlarda yaygın bir şekilde kullanılmaktadır. Bu noktada, BLE’nin sağladığı hizmetleri ve özellikleri analiz etmek amacıyla kullanılan araçlardan biri olan gatttool önemli bir rol oynamaktadır.

gatttool Nedir?

gatttool, Bluetooth GATT (Generic Attribute Profile) protokolü ile çalışan bir araçtır. GATT, BLE cihazları arasında veri iletimini organize eden bir protokol olup, profiller ve hizmetler aracılığıyla belirli uygulama alanlarına uyum sağlar. gatttool, terminal üzerinden BLE cihazlarıyla etkileşim kurarak, bu hizmetlerin ve özelliklerin detaylı analizini yapmamıza imkân tanır.

Farklı BLE cihazları, kendilerine özgü GATT hizmetleri ve özelliklerine sahiptir. gatttool, bu hizmetleri keşfetmek, okumak ve yazmak gibi temel işlevleri gerçekleştirmemizi sağlar. GATT hizmetlerini analiz etmek, siber güvenlik uzmanları için kritik öneme sahiptir çünkü uygunsuz bir yapılandırma veya zayıf bir güvenlik önlemi, kötü niyetli bireylerin sisteme sızmasına olanak tanıyabilir.

Neden Önemlidir?

BLE’nin yaygınlaşmasıyla birlikte, ilgili siber güvenlik tehditleri de artmaktadır. Özellikle düşük enerji tüketimi ile çalışan cihazların korunması, akıllı ev sistemlerinden sağlık izleme cihazlarına kadar birçok alanda önem kazanmaktadır. gatttool gibi araçlar, bu tür tehditleri tespit etmek ve analiz etmek için kullanılır.

Siber güvenlik araştırmacıları, gatttool ile birlikte bir BLE cihazının mikro mimarisini ve operatif işleyişini inceleyebilir, potansiyel güvenlik açıklarını tespit edebilir ve gerekli önlemleri alabilir. Örneğin, bir sağlık izleme cihazının veri iletiminde kullanılan şifreleme yöntemlerinin gücünü analiz etmek, cihazın güvenliği açısından kritik bir adım olacaktır.

Hangi Alanlarda Kullanılır?

gatttool, birçok farklı alanda kullanılabilir. Örneğin:

  1. IoT Uygulamaları: Akıllı ev bileşenleri ve endüstriyel IoT cihazlarının güvenliğini incelemek için.
  2. Sağlık İzleme Cihazları: Medikal cihazların veri iletiminde kullanılan GATT hizmetlerini analiz etmek için.
  3. Giyilebilir Teknolojiler: Fitness takipçileri ve akıllı saatler gibi cihazların veri alışverişi süreçlerini gözlemlemek için.
  4. Araştırma ve Geliştirme: Yeni BLE tabanlı ürünlerin geliştirilmesi sırasında güvenlik testleri yapmak için.

Siber Güvenlik Açısından Konumu

Siber güvenlik alanında, gatttool kullanarak BLE cihazları üzerinde gerçekleştireceğiniz analizler, kritik öneme sahiptir. GATT hizmetlerinin güvenliğini sağlamak, veri gizliliğini korumak ve sistem bütünlüğünü sağlamak için bu tür teknolojik araçlar, kullanıcıların ve organizasyonların siber güvenlik stratejilerinde önemli bir rol üstlenmektedir.

Sonuç olarak, Bluetooth Low Energy (BLE) ve gatttool, günümüzün dijital dünyasında güvenli ve etkili bir veri iletimi sağlamanın ötesinde, siber güvenlik alanında derinlemesine bir anlayış geliştirmek için ihtiyaç duyulan temel araçlardandır. BLE cihazlarıyla gerçekleştireceğiniz analizler, hem güvenlik açıklarını tespit etmek hem de güvenli uygulama geliştirmek açısından size önemli kazanımlar sunacaktır.

Teknik Detay

gatttool ile BLE GATT Servis Analizi

Bluetooth Low Energy (BLE), düşük enerji tüketimi ile iletişim sağlayan ve sıklıkla IoT cihazlarında kullanılan bir protokoldür. GATT (Generic Attribute Profile), BLE cihazları arasında veri iletimi için yapılandırılmış bir protokoldür ve gatttool bu protokolü analiz etmek için kullanılan güçlü bir komut satırı aracıdır. Gatttool, BLE cihazlarıyla etkileşime girmek ve GATT servislerini incelemek amacıyla çeşitli komutlar sunar.

gatttoolun Çalışma Mantığı

gatttool, genel olarak BLE GATT yapısını sorgulamak için kullanılır. GATT, karakteristikler (characteristics) ve hizmetler (services) açısından yapılandırılmıştır. GATT servisi bir grup karakteristik içerir ve her karakteristik, bir veri noktası veya bir işlevsellik sunar. BLE cihazı ile bağlantı kurulduktan sonra, kullanıcılar bu servisleri ve karakteristikleri sorgulayabilir.

Bir BLE cihazıyla bağlantı kurmak için gatttool komutu şu şekilde kullanılır:

gatttool -b <BLE_CIHAZ_ADRESI> -I

Burada -b parametresi bağlantı kurulacak cihazın adresini belirler, -I ise komut satırı etkileşim modunu etkinleştirir.

Servis ve Karakteristiklerin Sorgulanması

Bağlantı sağlandıktan sonra, GATT servislerini ve karakteristikleri listelemek mümkündür. Bunun için discover-services komutu kullanılır:

[<CİHAZ_ADI>]: info

Bu komut kullanıldığında, bağlantı sağlanan BLE cihazındaki tüm servisler ve onların UUID'leri görüntülenir.

Örnek bir çıktı:

Service       UUID: 0000180f-0000-1000-8000-00805f9b34fb
Characteristic UUID: 00002a19-0000-1000-8000-00805f9b34fb

Veri Oluşturma ve Yazma

gatttool, belirli bir karakteristiğe veri yazma yeteneğine de sahiptir. Bu, genellikle bir cihazın durumunu değiştirmek ya da bir komut göndermek için kullanılır. Veriyi yazmak için aşağıdaki komut kullanılır:

gatttool -b <BLE_CIHAZ_ADRESI> --char-write-req -a <CHARACTERISTIC_HANDLE> -n <VERİ>

Burada -a ile belirtilen karakteristik handle değerine yazılacak veri -n parametresi ile belirtilir. Karakteristik yazım işlemi, yazılan veri türüne bağlı olarak, ekran çıktısı ile onaylanır.

Dikkat Edilmesi Gereken Noktalar

Analiz Bakış Açısı

gatttool ile gerçekleştirilen analizler, yalnızca servis ve karakteristiklerin gözlemlenmesiyle sınırlı değildir. Verilerin güvenliği, cihazların kimlik doğrulama süreçleri ve iletişim sürekliliği gibi unsurlar da incelenmelidir. Özellikle güvenlik açığı bulunan GATT servisleri, potansiyel saldırı vektörleri oluşturabilir; bu nedenle analiz sürecinde dikkatli olunmalıdır.

Sonuç

gatttool, BLE GATT servislerinin detaylı bir şekilde analiz edilmesine olanak tanır. Kullanıcıların sadece veri okumakla kalmayıp, aynı zamanda GATT yapıları hakkında derinlemesine bilgi edinmeleri için güçlü bir araçtır. BLE ekosisteminde çalışma yeteneğini artırmak için, gatttool'un sunduğu imkanları iyi değerlendirmek ve analiz süreçlerini doğru yönlendirmek hayati önem taşır.

İleri Seviye

gatttool ile GATT Servis Analizi

gatttool, Bluetooth Low Energy (BLE) cihazlarının Generic Attribute Profile (GATT) servislerini analiz etmek için oldukça etkili bir araçtır. Bu bölümde, gatttool kullanarak yapılan ileri seviye GATT servis analizi üzerine odaklanacağız. BLE cihazlarıyla sızma testleri gerçekleştirmek, güvenlik açıklarını keşfetmek ve veri analizi yapmak için gatttool'u nasıl kullanabileceğinizi öğreneceksiniz.

gatttool Kurulumu

gatttool, BlueZ paketiyle birlikte gelir ve genellikle Linux tabanlı sistemlerde bulunur. Aşağıdaki komut ile BlueZ ve gatttool’u kurabilirsiniz:

sudo apt-get install bluez

BLE Cihazına Bağlanma

GATT servisi ile etkileşimde bulunmadan önce, hedef BLE cihazına bağlanmanız gerekir. Aşağıdaki örnek, hedef cihazın MAC adresi kullanılarak gerekli bağlantıyı sağlar:

gatttool -b XX:XX:XX:XX:XX:XX -I

Bağlandıktan sonra, 'connect' komutu ile cihazı bağlayabilirsiniz:

connect

GATT Özelliklerinin Analizi

Bağlandıktan sonra, cihazın sahip olduğu GATT servislerini ve özelliklerini keşfetmek önemlidir. Bu aşamada characteristics komutu kullanılır. GATT servisinin UUID'lerini ve desteklenen özelliklerini listelemek için aşağıdaki komutu kullanabilirsiniz:

characteristics

Bu komut, size servisin genel bilgilerini gösterecek ve hangi özelliklerin okunabilir, yazılabilir veya abone olunabilir olduğunu listeleyecektir. Örneğin:

Characteristic 1 - UUID: abcdef01-1234-5678-9abc-def012345678, Properties: read
Characteristic 2 - UUID: abcdef02-1234-5678-9abc-def012345678, Properties: write

Veri Okuma ve Yazma

BLE cihazları ile veri alışverişi yaparken, belirli özellikleri okumak veya yazmak için read ve write komutlarını kullanabilirsiniz. Aşağıda veri okuma ve yazma işlemlerinin örnekleri verilmiştir.

Veri okuma işlemi için:

char-read-uuid abcdef01-1234-5678-9abc-def012345678

Veri yazmak için ise şu komutu kullanabilirsiniz:

char-write-uuid abcdef02-1234-5678-9abc-def012345678 01

Yukarıdaki komut, belirli bir UUID ile özelliğe "01" değeri yazacaktır.

Abone Olma ve Veri Dinleme

Bazı özellikler, değişikliklerinizi almak için abonelik gerektirebilir. Abone olmak için char-write-req komutu kullanılabilir:

char-write-req abcdef03-1234-5678-9abc-def012345678 0100

Bu komut, belirli bir özelliğe abone olmanızı sağlar. Abone olduğunuzda, gelen verileri görüntülemek için terminal monitörünüzü izleyebilirsiniz.

Sızma Testinde gatttool Kullanımı

gatttool üzerinde gerçekleştireceğiniz sızma testleri kapsamında, zayıf yapılandırmalar, ASCII kod tabanlı şifreleme veya açık servisler tespit edilebilir. Örneğin, güvenlik açıkları bulunan bir cihazda char-read-uuid komutuyla hassas veriler okuma şansınız olabilir.

Uzman İpuçları

gatttool, BLE ağı üzerinde derinlemesine analiz ve keşif yapmanıza olanak tanır. Bu bilgiler ve teknik örnekler, GATT servisleri ile çalışırken yetkinliğinizi ilerletmenize yardımcı olacaktır.