Z-Wave, bağlantı katmanında bulunan, düşük enerjili radyo dalgalarını kullanan, akıllı ev sistemlerinde, akıllı anahtarlarda, güvenlik sistemleri vb. sistemlerde kullanılan, kablosuz ağ yoluyla iletişim kuran protokolüdür. Z-Wave farklı üreticilerden oluşturulan ev kontrol sistemlerinin birlikte çalışmasına olanak sağlar. Z-Wave haberleşmesi, kısa gecikmelerle küçük veri paketlerinin gönderilmesi üzerine dizayn edilmiştir. Yaklaşık 30 metreye kadar etki alanı olan Z-Wave, diğer bağlantı katmanındaki protokollerle karşılaştırıldığında, daha fazla menzil alanı vardır. Buna karşılık, veri aktarım hızı diğerlerine göre düşüktür. Z-Wave, gönderilen komutun alıcı tarafından onaylanmasını kontrol eder ve eğer karşı cihazdan cevap alamazsa, hata raporu oluşturur. Bundan dolayı, Z-Wave daha güvenilir kablosuz ağ tekniği olarak kabul edilir.
Cihazların ya da sensörlerin birbiriyle etkileşiminde, ZigBee’deki tekniğin aksine kullanılan koordinatör cihaza bağlanma zorunluluğu yoktur. Merkezdeki koordinatör direkt radyo bağı ile etki alanındaki diğer tüm cihazlara bağlanma yetkisine sahiptir. Yönlendirici olmadığı zaman, etki alanı dışındaki cihazlara etki edemeyen koordinatör, Z-Wave ağ mekanizması ile birlikte bu sorunun üstesinden gelir. Z-Wave cihazları, koordinatörün kontrolü altında olmayan komşu cihazlarla etkileşime geçebilir. Bu sayede etkileşime geçtiği cihazla koordinatör arasında yönlendirici görevini üstlenir. Bu sayede daha fazla cihaz ağın içine katılmış olur, bu da daha sağlam ve daha esnek bir iletişim ağını ortaya çıkarır.
Z-Wave, ağ içindeki cihazlara iki tane tanımlama zorunluluğu getirir: Ortam Kimliği (Home ID) ve Cihaz Kimliği (Node ID). Ortam kimliği, yalnızca o ağdaki cihazların ortak olarak kullandığı kimliktir. Cihaz Kimliği ise her cihaz için özeldir. Aynı ortamda aynı cihaz kimliğine sahip cihazlar bulunamayacağı gibi, farklı ortamlarda aynı cihaz kimliğine sahip cihazlar olabilir. Fakat farklı ortam kimliğine sahip cihazlar, iletişim kuramaz.
Bu protokolde, bir cihazla merkezdeki bir cihazın iletişime geçmesi için ağ anahtarı paylaşılmalıdır. Mesela yeni bir cihaz Z-Wave ağına katıldığında, bu ağ anahtarı cihazla paylaşılır. Alıcı ve verici arasında özel bit serilerini, bu cihazların Home ID ve Node ID sini içeren bir paket karşılıklı gönderilir. Bu şifrelenmemiş ilk paket, saldırganlar için saldırıya açık hale gelir. Bu paketin içerdiği zaman bilgisini, kaynağı ve varış yerini saldırgan kolayca tespit edebilir. Bu bilgileri kullanarak, merkezdeki cihaz taklit edilir ve diğer cihazlara gerçek merkez cihazdan geliyor gibi görünen paketler gönderilir. Böylece her paketten saldırgan bilgiler elde eder ve tüm cihazların ağ haritasını çıkartır.
1) EZ-Wave Aracıyla Yapılan Saldırılar
EZ-Wave aracı, 200 satır bir python kodundan oluşan açık kaynaklı kod olup, temel olarak 3 bölümden oluşuyor ve kaynak kodlarına https://github.com/cureHsu/EZ-Wave adresinden ulaşabilirsiniz.
Ezstumbler komutu, sistemde hangi Z-Wave cihazlarının mevcut olduğunu bulmaya yarar.
Ezrecon komutu, cihazı bulmaya, cihazın adını, üreticisini, yazılımını ve şuanki durumunu keşfetmeye yardımcı olur.
Ezfingerprint komutu, cihazda kullanılan spesifik Z-Wave protokolüyle ilgili bilgileri bulmaya yarar.
EZ-Wave, cihaz üzerinde keşif yapmaya yarayan bir araç olup, saldırı yapmak için gereken kapasiteye sahip değildir. Bu araç geliştirilerek, 2016’da Joseph Hall ve Ben Ramsey, bir konferansta bu araçla lambaları rahatlıkla patlatabildiklerini ve Z-Wave haberleşmesini nasıl hacklediklerini göstermişlerdir. Ayrıca aşağıdaki videodan 2013 yılında Black Hat etkinliğinde gerçekleştirilen saldırıyı izleyebilirsiniz.