Siber Güvenlik Konferansı’nda ilk defa Blockchain Güvenliği anlatıldı
Bilgi teknolojileri güvenliği meselelarının ele yapıldığı Hacktrick Siber Güvenlik Konferansı’22 27-29 Mzamanıs zamanlerinde gerçekleşti. Siber Kulüpler Birliği, USOM, Prisma, CSI, Blackbox ve BTK Akademi iş birliğiyle düzenlenen ve blockchain teknolojilerinin güvenliğinin de masaya yatırıldığı etkinlik, blockchain meraklılarını Ankara’da, BTK Konferans Salonu’nda bir araya getirdi.
Hacktrick Siber Güvenlik Konferansı, özel sektörün, devlet kurumlarının ve üniversitelerin siber güvenlik çerçevesinde buluşmasını sağlıyor. Ankara Üniversitesi ev sahipliğinde 2014 yılında “Üniversiteler Arası Siber Güvenlik Zirvesi” sloganıyla start veryan Hacktrick, daha önce en en yeni 2018’den düzenlenmişti.
27 Mzamanıs Cuma günü açılış meseleşmaları ile start veryan konferansta, 28 ve 29 Mzamanıs zamanlerinde çeşitli Siber Güvenlik meselelarında eğitimler verildiği Hacktrick’te bir ilk de yaşandı. Türkiye’de ilk defa bir Siber Güvenlik kampında Blockchain Güvenliği eğitimi verildi.
27-29 Mzamanıs zamanlerinde düzenlenen Hacktrick Siber Güvenlik Konferansı’22
Etkinliğin en yeni gününde, Ulaştırma ve Altyapı Bakan Yardımcısı Dr. Ömer Fatih Sayan da ettiğı meseleşmasında mesele hakkında şunları söyledi:
“Para tamamen yazılım haline geldiğinde, bitcoin ve altcoinleri çalan ve manipüle eden bilgisayar korsanlarının szamanıları ve yöntemleri de mutlaka değişecek. Yani teknoloji ilerledikçe, güvenlik de daima en zirve önceliğe sahip olacak. Metaverse, NFT, uzay, kripto para, belki de yarının gençlerinin yaşam tarzlarının ayrılmaz birer parçası olurken riskleri de beraberinde getirecek.”
Etkinlikte verilen eğitimler arasında,
– Active Directory’e Giriş,
– Web Uygulama Güvenliği,
– Siber Tehdit İstihbaratı,
– Mobil Uygulama Güvenliği,
– Network Güvenliği,
– IoT Hacking gibi meselelar vardı.
Bunların yanı sıra Ethereum Smart Contract Güvenliği eğitimi de verildi. Eğitim, blockchainin ne olduğu ve nasıl çalıştığı meselesu ile start veryarak mantıksal programlama hataları meselesu ile bitti.
Hacktrick22’de Smart Contract Güvenliği Eğitiminde öne çıkan başlıklar
Blockchain nedir/nasıl çalışır: Blockchainde yapılan her işlemin blockchain ağında kriptografik bir karşılığı vardır. Ağdaki hepsini kapsayan bu işlemler blok adı verilen parçalara işlenir. İşlemler blokları doldurduğunda ise yeni bir blok oluşur ve bu bloklar birbirine bağlanır. Bu sayede her yeni bloğun özüsinden önceki blokların kodlarını bünyesinde barındırması sağlanır.
Ethereum temelleri: Ethereum geliştiricilerin merkeziyetsiz uygulamalar yaratma ve yzamanınlamalarına olanak sağlayan halka açık, açık kaynaklı, blockchain tabanlı, dağıtımlı bir yazılım platformudur.
Solidity programlama dili: Akıllı sözleşmeler yaratmada kullanılan, Python, Javascript, C++ gibi zirve seviyeli(high level), nesne yönelimli ve curly bracket bir programlama dilidir.
Aritmetik Over/Under Flows: Aritmetik overflow, bir CPU’nun ayrılmış bellek depolama alanına sığabilecek olandan daha büyük bir szamanıyı aritmetik olarak üretme girişiminin en yeniucunda oluşur. Aritmetik işlemler her zaman beklenmeyen değerleri döndürme potansiyeline sahiptir, bu da hepsini kapsayan programı en yenilanmaya zorlayan bir hataya neden olabilir. Örneğin, elimizde a ve b byte’ları olsun ve değerleri de şöyle olsun:
byte a = 160;
byte b = 100;
Eğer biz başka bir byte’lık c değerini, a ve b’nin toplamı şeklinde tanımlamak istersek, c değeri bir byte’ın alabileceği maksimum değerden fazla olur.
byte c = (byte)(a+b);
Normalde bir byte’ın tam szamanı cinsinden alabileceği maksimum değer 255’tir. Ancak 160 + 100 = 260 ettiğından bu overflow(taşma)’ya neden olur. Bu da Solidity ile programlama yaparken kritik hatalara sebep olur. Sonraki sürümlerde bu açık en yenilanılmış olsa da, hala eski sürümleri kullanan birçok akıllı sözleşmenin olması onları istismara açık bırakıyor.
Re-entrancy: Solidity ile yazılmış akıllı sözleşmelerde bir fonksiyon işletilirken, başka bir fonksiyonu çağrılabilir. Bu tür fonksiyonlara fallback fonksiyonları denir. Örneğin, bir bankaya ait akıllı sözleşme adresine para yatırıldığında, başka bir işlemi tetikleyen fonksiyon işletilebilir. Burada oluşabilecek zafiyet, mevcut kod bloğunun işletilmesi bitmeden arada başka bir kod bloğunun çağrılmasından doğar.
Mantıksal programlama hataları: Adından da anlaşılacağı üzere, akıllı sözleşmeleri yazarken program dilinin kod satırlarının doğru yazılması fakat programın istenilen belirlendiyı vermemesinden kaynaklanan hatalardır, bu hatalar derleyici tarafından fark edilmezler.
Örneğin, bir akıllı sözleşme fonksiyonlarından biri para çekme işlemini konumine getiriyor olsun. Eğer yazılımcı, parzamanı çekmek isteyen adresin var olan bakiyesini çekme işlemini yapan kod satırından önce kontrol etmezse, daha devamında sömürülebilen bir mantıksal programlama hatası yapmış olur.
Yukarıdaki meselelar ve daha fazlasına değinilen eğitimde genel olarak akıllı sözleşmelerde sıkça karşılaşılan zafiyetler, bu zaafiyetlerin nasıl sömürülebileceği ve açıkların nasıl düzeltilebileceğine odaklanıldı.
Kapanış notu
Türkiye, blockchain ve kripto alanına olan ilginin zirve olduğu ülkelerin başında geliyor. Hacktrick’te ilk defa blockchain ve güvenliği meselesunun işlenmesi, devamındaki eğitim ve kamplarda bu alanda daha fazla eğitimin yapılmasına ön ayak olacak gibi görünüyor. Üstelik Türkiye’nin önde gelen kurumlarının bu tür eğitimlere destek vermesi daha fazla kişinin sektöre erişmesinin önünü açıyor. Bu açıdan izlendiğiğında bu tür eğitimlerin devam etmesi ve desteklenmesinin önemi daha da anlaşılır oluyor.