Ethereum akıllı kontratları için güvenlik denetim metodolojisi /
Yazar: TURGAY ARDA USMAN
Danışman: PROF. DR. ALİ AYDIN SELÇUK ; DR. ÖĞR. ÜYESİ SÜLEYMAN ÖZARSLAN
TOBB Ekonomi ve Teknoloji Üniversitesi / Fen Bilimleri Enstitüsü / Bilgisayar Mühendisliği Ana Bilim Dalı / Bilgi Güvenliği Bilim Dalı
Derece: Yüksek Lisans, 2022
Konu: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol = Computer Engineering and Computer Science and Control
Dizin: Akıllı sözleşmeler = Smart contracts ; Blok zinciri sistemi = Blockchain system ; Denetim = Control ; Ethereum = Ethereum

Özet:
Akıllı kontratlar blokzincir teknolojisi altında çalışan, belli amaçları gerçekleştirmek için yazılmış küçük programlardır. Blokzincir teknolojisinin en temel özelliklerinden olan değişmezlik ilkesi akıllı kontratlar için de geçerlidir. Bu da zincire yüklenmiş olan bir kontratın değiştirme ve manipülasyonlara karşı dirençli olduğu anlamına gelir. Bu kontratlarda bulunan mantık hatalarının ve zafiyetli kısımların zincire yüklendikten sonra değiştirilemeyeceği anlamına da gelmektedir. Saldırganlar için bu durum büyük bir kolaylıktır. Bunu önlemek için akıllı kontrat projeleri bloğa yüklenmeden önce üstlerinde güvenlik denetimleri uygulanmaktadır. Ancak kimi zaman bu denetimler de yetersiz kalır ve projeler saldırganların hedefi olur.
Bu çalışmada Ethereum ekosisteminde meydana gelmiş olaylardan önemli etkiye sahip olanları incelenerek projelerin denetimlerinde bir eksik varsa bunu tespit etmek ve buna ek olarak ekosisteminde sıkça rastlanan zafiyetleri inceleyerek kapsamlı bir denetim metodolojisi önermek ve bu sayede bahsi geçen olayların bu metodoloji ile denetlenen kontratların başına gelmesinin önlenmesi amaçlanmıştır.
Ethereum ekosistemindeki daha önceden denetlenmiş ve önemli saldırıların hedefi olan projelerin denetleme raporları incelendiğinde, büyük çoğunluğunun önüne geçebilmenin mümkün olduğu görülmüştür. Bunun nedeninin ise söz konusu projelerin işletme mantıkları incelenirken gözden kaçan noktalar ve sadece otomatik araçlara güvenen süreçler olduğu gözlemlenmiştir. Buna ek olarak çalışmada incelenen zafiyetlerde etkin zafiyetlerin %60'ının kullanıcı ihmallerinden kaynaklandığı görülmektedir. Bu tarz zafiyetlerin tespiti mantıksal eksikliklere göre daha kolaydır, hem araçlar hem insanlar için.
Tüm anlatılanlar göz önüne alındığında bu çalışmada önerilen metodolojinin kabaca manuel analiz ile otomatik araçları bir arada kullanmayı hedeflediğini söylemek makuldür. Manuel analiz yöntemlerini esas olarak kabul eden metodoloji hem statik hem dinamik manuel analiz sırasında dikkat edilmesi gereken noktaları ve bu noktaların nasıl incelenmesi gerektiğini anlatır. Otomatik araçları ise manuel analiz yöntemlerinin eksik kaldığı, uç nokta testleri, gözden kaçan noktalar, hatalı pozitif veya negatiflerin doğrulanması gibi noktalarda kullanır. Bu sayede iki yaklaşımın birbirlerini eksiklerini kapatacak şekilde kullanılması sağlanmış olur ve kapsamlı bir denetim sağlanır.

Abstract:
Smart contracts are small programs that work under blockchain technology and are written to achieve certain purposes. The principle of immutability, which is one of the most fundamanetal features of blockchain technology, also applies to smart contracts. This means that a contract deployed to the chain is resistant to modification and manipulation. However, this means that the logic errors and vulnerabilities in the contracts cannot be fixed after they are uploaded to the chain. For attackers, this is a great convenience. To prevent this, security checks are applied to smart contract projects before they are uploaded to the block. However, sometimes these controls are insufficient and projects become the target of attackers.
In this study, it is aimed to examine the events that have a significant impact on the Ethereum ecosystem, to detect if there is a deficiency in the audits of the projects, and to suggest a comprehensive audit methodology by examining the frequently encountered vulnerabilities in the ecosystem, and thus to prevent the mentioned events from happening to the contracts audited with this methodology.
When the audit reports of the projects in the Ethereum ecosystem that were previously audited and the target of important attacks are examined, it has been seen that it is possible to prevent the vast majority of them. It was observed that the reason for this was the points that were overlooked while examining the business logic in question and the processes that only rely on automated tools. In addition, it is seen that 60% of the active vulnerabilities in the vulnerabilities examined in the study are caused by user negligence. Such vulnerabilities are easier to detect than logical ones, both for vehicles and humans.
To sum up, it is reasonable to say that the methodology proposed in this study aims to combine manual analysis with automated tools. The methodology, which accepts manual analysis methods as its basis, explains the points to be considered during both static and dynamic manual analysis and how these points should be examined. It uses automated tools where manual analysis methods are lacking, such as endpoint testing, overlooked points, and verification of false positives or negatives. In this way, it is ensured that the two approaches are used in a way that makes up for each other's deficiencies and a comprehensive audit is provided.