Akıllı Sözleşme Güvenlik Zihniyeti

blog 1HaberlerGeliştiricilerEnterpriseBlockchain AçıklamasıEtkinlikler ve KonferanslarBasınBültenler

Haber bültenimize abone ol.

E

Senin gizliliğine saygı duyuyoruz

AnasayfaBlogBlockchain Geliştirme

Akıllı Sözleşme Güvenlik Zihniyeti

Her Ethereum geliştiricisinin bilmesi gereken 5 güvenlik ilkesi ve temel değiş tokuşlar. by ConsenSysHaziran 17, 2020Yayınlanan Haziran 17, 2020

Blockchain Güvenliği

Blockchain güvenlik uzmanlarından oluşan ekibimiz ConsenSys Diligence tarafından.

Sektör olgunlaşıyor olsa da, akıllı sözleşme geliştirme hala nispeten yeni ve olgunlaşmakta olan bir alandır. Bu nedenle, yeni hatalar ve güvenlik riskleri keşfedildikçe ve yeni en iyi uygulamalar geliştirildikçe güvenlik ortamında sürekli değişiklikler beklemelisiniz. Öğrenmek ve takip etmek en iyi uygulamalar akıllı bir sözleşme geliştiricisi olarak yapmanız gereken güvenlik çalışmasının yalnızca başlangıcıdır.

Akıllı sözleşme programlama, alışkın olabileceğinizden farklı bir mühendislik zihniyeti gerektirir. Başarısızlığın maliyeti yüksek olabilir ve değişiklik zor olabilir, bu da onu bazı yönlerden donanım programlamasına veya finansal hizmet programlamasına web veya mobil geliştirmeden daha benzer hale getirir. Bu nedenle, bilinen güvenlik açıklarına karşı savunma yapmak yeterli değildir. Bunun yerine, yeni bir gelişim felsefesi öğrenmeniz gerekecek.

Başarısızlığa Hazırlanın

Önemsiz olmayan herhangi bir sözleşmede hatalar olacaktır. Bu nedenle kodunuz, hatalara ve güvenlik açıklarına zarif bir şekilde yanıt verebilmelidir.

  • İşler ters gittiğinde sözleşmeyi duraklatın (“devre kesici”).
  • Risk altındaki para miktarını yönetin (oran sınırlama, maksimum kullanım).
  • Hata düzeltmeleri ve iyileştirmeler için etkili bir yükseltme yoluna sahip olun.

Dikkatlice Kullanıma Sunma

Tam bir üretim sürümünden önce hataları yakalamak her zaman daha iyidir.

  • Sözleşmeleri iyice test edin ve yeni saldırı vektörleri keşfedildiğinde testler ekleyin.
  • Sağlamak böcek ödülleri alfa testnet sürümlerinden başlayarak.
  • Her aşamada artan kullanım ve test ile aşamalı olarak kullanıma sunma.

Sözleşmeleri Basit Tutun

Karmaşıklık, hata olasılığını artırır.


  • Sözleşme mantığının basit olduğundan emin olun.
  • Sözleşmeleri ve işlevleri küçük tutmak için kodu modüler hale getirin.
  • Mümkün olduğunda önceden yazılmış araçları veya kodu kullanın (örneğin, kendi rastgele sayı oluşturucunuzu yuvarlamayın).
  • Mümkün olduğunda performansı netliği tercih edin.
  • Blok zincirini yalnızca sisteminizin ademi merkeziyetçilik gerektiren bölümleri için kullanın.

Güncel kal

Yeni güvenlik gelişmelerini takip edin.

  • Sözleşmelerinizde herhangi bir yeni hata keşfedilir keşfedilmez kontrol edin.
  • Herhangi bir aracın veya kitaplığın en son sürümüne mümkün olan en kısa sürede yükseltin.
  • Yararlı görünen yeni güvenlik tekniklerini benimseyin.

EVM’nin Tanıklıklarının Farkında Olun

Programlama deneyiminizin çoğu Ethereum programlamayla ilgili olsa da, farkında olmanız gereken bazı tuzaklar vardır..

  • Kötü amaçlı kod çalıştırabilecek ve kontrol akışını değiştirebilecek harici sözleşme çağrıları konusunda son derece dikkatli olun.
  • Herkese açık işlevlerinizin herkese açık olduğunu ve kötü niyetle ve herhangi bir sırada çağrılabileceğini anlayın. Akıllı sözleşmelerdeki özel veriler de herkes tarafından görüntülenebilir.
  • Gaz maliyetlerini ve blok gaz limitini göz önünde bulundurun.
  • Bir blok zincirinde zaman damgalarının kesin olmadığının farkında olun: madenciler, bir işlemin gerçekleştirilme süresini birkaç saniyelik bir marj içinde etkileyebilir.
  • Rastgelelik, blok zincirinde önemsiz değildir, rastgele sayı üretmeye yönelik çoğu yaklaşım bir blok zincirinde oynanabilir..

Temel Ödünleşmeler

Akıllı sözleşme sisteminin yapısını ve güvenliğini değerlendirirken dikkate alınması gereken çok sayıda temel değiş tokuş vardır. Herhangi bir akıllı sözleşme sistemi için genel öneri, bu temel ödünleşmeler için uygun dengeyi belirlemektir..

Bir yazılım mühendisliği eğiliminden ideal bir akıllı sözleşme sistemi modülerdir, kodu çoğaltmak yerine yeniden kullanır ve yükseltilebilir bileşenleri destekler. Güvenli bir mimari önyargılı ideal bir akıllı sözleşme sistemi, özellikle daha karmaşık akıllı sözleşme sistemleri durumunda bu zihniyeti paylaşabilir..

Ancak, güvenlik ve yazılım mühendisliği en iyi uygulamalarının uyumlu olmayabileceği önemli istisnalar vardır. Her durumda, uygun denge, aşağıdakiler gibi sözleşme sistemi boyutları boyunca en uygun özellik karışımını tanımlayarak elde edilir:

  • Sert ve Yükseltilebilir
  • Monolitik ve Modüler
  • Çoğaltma ve Yeniden Kullanım
Sert ve Yükseltilebilir

Bu da dahil olmak üzere birçok kaynak Öldürülebilir, Yükseltilebilir veya Değiştirilebilir modeller gibi şekillendirilebilirlik özelliklerini vurgularken, işlenebilirlik ve güvenlik arasında temel bir değiş tokuş vardır.

İşlenebilirlik modelleri tanım gereği karmaşıklık ve potansiyel saldırı yüzeyleri ekler. Basitlik, akıllı sözleşme sisteminin önceden tanımlanmış sınırlı bir süre için çok sınırlı bir işlevsellik kümesi gerçekleştirdiği durumlarda, örneğin, yönetişim içermeyen, sınırlı zamanlı bir token satış sözleşme sistemi gibi, özellikle karmaşıklık üzerinde etkilidir.

Monolitik ve Modüler

Monolitik bağımsız bir sözleşme, tüm bilgileri yerel olarak tanımlanabilir ve okunabilir tutar. Monolitler olarak yüksek saygı duyulan birkaç akıllı sözleşme sistemi varken, aşırı veri ve akış yerelliği için yapılması gereken bir argüman vardır – örneğin, kod inceleme verimliliğini optimize etme durumunda.

Burada ele alınan diğer ödünleşmelerde olduğu gibi, en iyi güvenlik uygulamaları, basit kısa süreli sözleşmelerde yazılım mühendisliği en iyi uygulamalarından uzaklaşır ve daha karmaşık sürekli sözleşme sistemleri durumunda yazılım mühendisliği en iyi uygulamalarına doğru eğilim gösterir..

Çoğaltma ve Yeniden Kullanım

Yazılım mühendisliği perspektifinden akıllı bir sözleşme sistemi, makul olduğu durumlarda yeniden kullanımı en üst düzeye çıkarmak ister. Solidity’de sözleşme kodunu yeniden kullanmanın birçok yolu vardır. Sahip olduğunuz kanıtlanmış önceden dağıtılmış sözleşmeleri kullanmak, genellikle kodun yeniden kullanımını sağlamanın en güvenli yoludur..

Önceden konuşlandırılmış kendi mülkiyetinde olan sözleşmelerin mevcut olmadığı durumlarda çoğaltmaya sıklıkla güvenilir. Gibi çabalar OpenZeppelin’in Solidity Kitaplığı güvenli kodun yineleme olmadan yeniden kullanılabilmesi için kalıplar sağlamaya çalışın. Herhangi bir sözleşme güvenlik analizi, daha önce hedef akıllı sözleşme sisteminde risk altındaki fonlarla orantılı bir güven düzeyi oluşturmamış, yeniden kullanılan herhangi bir kodu içermelidir..

Ethereum’da uygulama oluşturmak ve başlatmak, bugün yazılım mühendisleri için tartışmasız en heyecan verici sınırdır, ancak sürekli tehdit modellemesi, güvenlik denetimi ve olay müdahale planlaması gerektirir..

Çalışkanlık ekibi, tetikte olmanıza ve dağıtımlarınızda güven oluşturmanıza yardımcı olmak için burada.

Blockchain Güvenlik Spot Kontrolü için rezervasyon yapın

1 günlük incelemelerimiz, uzun vadede zamandan ve paradan tasarruf edebilmeniz için başlangıçtan itibaren blockchain kodunuzda güvenlik oluşturmanıza yardımcı olur. Bugün Sizin İçin Ayırtın SecuritySmart SözleşmeleriHaber Bülteni En son Ethereum haberleri, kurumsal çözümler, geliştirici kaynakları ve daha fazlası için haber bültenimize abone olun.Başarılı Bir Blockchain Ürünü Nasıl OluşturulurWeb semineri

Başarılı Bir Blockchain Ürünü Nasıl Oluşturulur

Ethereum Düğümü Nasıl Kurulur ve ÇalıştırılırWeb semineri

Ethereum Düğümü Nasıl Kurulur ve Çalıştırılır

Kendi Ethereum API'nizi Nasıl Oluşturabilirsiniz?Web semineri

Kendi Ethereum API’nizi Nasıl Oluşturabilirsiniz?

Sosyal Simge Nasıl OluşturulurWeb semineri

Sosyal Simge Nasıl Oluşturulur

Akıllı Sözleşme Geliştirmede Güvenlik Araçlarını KullanmaWeb semineri

Akıllı Sözleşme Geliştirmede Güvenlik Araçlarını Kullanma

Finansın Geleceği Dijital Varlıklar ve DeFiWeb semineri

Finansın Geleceği: Dijital Varlıklar ve DeFi

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me
Like this post? Please share to your friends:
Adblock
detector
map