‫صنایع‬ ‫مهندسی‬ ‫دانشکده‬
‫هوشمند‬ ‫قراردادهای‬ ‫امنیت‬ ‫ارزیابی‬ ‫برای‬ ‫جدید‬ ‫مدلی‬ ‫ارائه‬
‫اطالعات‬ ‫فناوری‬ ‫رشته‬ ‫در‬ ‫ارشد‬ ‫کارشناسی‬ ‫درجه‬ ‫دریافت‬ ‫برای‬ ‫نامه‬ ‫پایان‬
‫الکترونیک‬ ‫تجارت‬ ‫گرایش‬
‫راهنما‬ ‫استاد‬
:
‫فتحیان‬ ‫محمد‬ ‫دکتر‬ ‫آقای‬ ‫جناب‬
‫دانشجو‬
:
‫شیرازی‬ ‫قاسم‬ ‫سعید‬
1
2 ‫تحقیقات‬ ‫پیشینه‬ ‫مرور‬
5
‫آتی‬ ‫پیشنهادات‬ ‫و‬ ‫بندی‬ ‫جمع‬
1
‫مقدمه‬
4 ‫ارزیابی‬ ‫و‬ ‫نتایج‬
3
‫تحقیق‬ ‫روش‬
‫مطالب‬ ‫فهرست‬
2
‫آتی‬ ‫پیشنهادات‬ ‫و‬ ‫بندی‬ ‫جمع‬
‫تحقیق‬ ‫روش‬
‫ه‬‫مقدم‬
3
‫آتی‬ ‫پیشنهادات‬ ‫و‬ ‫بندی‬ ‫جمع‬
‫تحقیق‬ ‫روش‬
‫چیست؟‬ ‫هوشمند‬ ‫قرارداد‬
•
‫قرارداد‬ ‫یک‬ ‫تسهیل‬ ‫برای‬ ‫بالکچین‬ ‫در‬ ‫کامپیوتری‬ ‫کد‬ ‫قطعه‬ ‫یک‬
•
‫واسطه‬ ‫بدون‬ ‫مالی‬ ‫فرایند‬ ‫سازی‬ ‫ساده‬ ‫برای‬
•
‫است‬ ‫اتریوم‬ ‫هوشمند‬ ‫قرارداده‬ ‫برای‬ ‫پلتفرم‬ ‫ترین‬ ‫مشهور‬
‫مقدمه‬
4
‫آتی‬ ‫پیشنهادات‬ ‫و‬ ‫بندی‬ ‫جمع‬
‫تحقیق‬ ‫روش‬
‫اولیه‬ ‫ایده‬
•
‫اولیه‬ ‫ایده‬
1994
‫زابو‬ ‫نیک‬ ‫توسط‬
•
‫اعتماد‬ ‫مورد‬ ‫واسط‬ ‫به‬ ‫نیاز‬ ‫بدون‬ ‫پول‬ ‫دریافت‬ ‫و‬ ‫ارسال‬
!
•
‫بیشت‬ ‫معماالت‬ ‫محرک‬ ‫و‬ ‫آمد‬ ‫در‬ ‫اجرا‬ ‫به‬ ‫عموم‬ ‫برای‬ ‫هوشمند‬ ‫قرارداد‬ ‫اتریوم‬ ‫ظهور‬ ‫با‬ ‫و‬ ‫کرد‬ ‫فراهم‬ ‫رو‬ ‫مناسب‬ ‫بستر‬ ‫کوین‬ ‫بیت‬
‫شد‬ ‫ری‬
.
‫مقدمه‬
5
‫آتی‬ ‫پیشنهادات‬ ‫و‬ ‫بندی‬ ‫جمع‬
‫مقدمه‬
‫تحقیق‬ ‫روش‬
‫هوشمند‬ ‫قراردادهای‬ ‫کاربردهای‬
‫گیری‬ ‫رای‬
‫لجستیک‬
‫دیجیتال‬ ‫هویت‬ ‫ها‬ ‫دولت‬
‫تامین‬ ‫زنجیره‬
‫های‬ ‫فعالیت‬
‫مالی‬ ‫و‬ ‫تجاری‬
‫مقدمه‬
6
‫آتی‬ ‫پیشنهادات‬ ‫و‬ ‫بندی‬ ‫جمع‬
‫مقدمه‬
‫تحقیق‬ ‫روش‬
‫هوشمند‬ ‫قراردادهای‬ ‫مزایای‬
•
‫شفافیت‬
•
‫وری‬‫بهره‬
‫در‬
‫زمان‬
•
‫دقت‬
•
‫امنیت‬
•
‫اعتماد‬
•
‫هزینه‬
‫کمتر‬
•
‫اتوماتیک‬
‫و‬
‫خودمختار‬
‫مقدمه‬
7
‫آتی‬ ‫پیشنهادات‬ ‫و‬ ‫بندی‬ ‫جمع‬
‫مقدمه‬
‫تحقیق‬ ‫روش‬
‫هوشمند‬ ‫قراردادهای‬ ‫معایب‬
•
‫عامل‬
‫انسانی‬
•
‫وضعیت‬
‫حقوقی‬
‫نامشخص‬
•
‫دشواری‬
‫در‬
‫تغییر‬
•
‫هزینه‬
‫های‬
‫اجرا‬
‫مقدمه‬
8
‫آتی‬ ‫پیشنهادات‬ ‫و‬ ‫بندی‬ ‫جمع‬
‫تحقیق‬ ‫روش‬
‫تحقیق‬ ‫اهداف‬ ‫و‬ ‫مسئله‬
•
‫بر‬ ‫تمرکز‬ ‫با‬ ‫هوشمند‬ ‫قراردادهای‬ ‫امنیتی‬ ‫ارزیابی‬ ‫برای‬ ‫جدید‬ ‫مدل‬ ‫ارائه‬
:
•
‫ها‬ ‫پذیری‬ ‫آسیب‬ ‫و‬ ‫تهدیدات‬ ‫شناسایی‬
•
‫پذیری‬ ‫آسیب‬ ‫از‬ ‫جلوگیری‬ ‫برای‬ ‫راهکار‬ ‫ارائه‬
•
‫حوزه‬ ‫این‬ ‫امنیتی‬ ‫های‬ ‫ابزار‬ ‫سایر‬ ‫با‬ ‫بندی‬ ‫رتبه‬ ‫و‬ ‫مقایسه‬
•
‫خودکار‬ ‫صورت‬ ‫به‬ ‫پذیری‬ ‫آسیب‬ ‫شناسایی‬ ‫ابزار‬ ‫ساخت‬
‫مقدمه‬
9
‫آتی‬ ‫پیشنهادات‬ ‫و‬ ‫بندی‬ ‫جمع‬
‫تحقیق‬ ‫روش‬
‫تحقیق‬ ‫ضرورت‬ ‫و‬ ‫اهمیت‬
•
‫اطالعات‬ ‫حفاظت‬
‫حساس‬
•
‫اطمینان‬ ‫و‬ ‫اعتماد‬ ‫حفظ‬
•
‫ها‬ ‫پذیری‬ ‫آسیب‬ ‫و‬ ‫خطرات‬ ‫کاهش‬
•
‫تقلب‬ ‫از‬ ‫پیشگیری‬
‫مقدمه‬
10
‫آتی‬ ‫پیشنهادات‬ ‫و‬ ‫بندی‬ ‫جمع‬
‫مقدمه‬
‫تحقیق‬ ‫روش‬
‫تحقیق‬ ‫سواالت‬
‫مقدمه‬
11
‫است؟‬ ‫چگونه‬ ‫هوشمند‬ ‫قراردادهای‬ ‫امنیتی‬ ‫ارزیابی‬ ‫برای‬ ‫مناسب‬ ‫مدل‬
‫تشخیص؟‬ ‫های‬ ‫هوشمند؟روش‬ ‫قراردادهای‬ ‫در‬ ‫امنیتی‬ ‫مشکالت‬ ‫و‬ ‫ها‬ ‫پذیری‬ ‫آسیب‬ ‫نوع‬ ‫چه‬
‫آوری؟‬ ‫جمع‬ ‫نحوه‬ ‫و‬ ‫داریم؟‬ ‫نیاز‬ ‫های‬ ‫داده‬ ‫نوع‬ ‫چه‬ ‫به‬ ‫ماشین‬ ‫یادگیری‬ ‫های‬ ‫تکنیک‬ ‫از‬ ‫استفاده‬ ‫برای‬
‫هوشند‬ ‫قراردادهای‬ ‫امنیتی‬ ‫ارزیابی‬ ‫و‬ ‫تشخیص‬ ‫برای‬ ‫ماشین‬ ‫یادگیری‬ ‫های‬ ‫تکنیک‬ ‫از‬ ‫استفاده‬ ‫های‬ ‫چالش‬
‫دارد؟‬ ‫بهتری‬ ‫عملکرد‬ ‫ماشین‬ ‫یادگیری‬ ‫مدل‬ ‫کدام‬
‫آتی‬ ‫پیشنهادات‬ ‫و‬ ‫بندی‬ ‫جمع‬
‫تحقیق‬ ‫روش‬
‫تحقیق‬ ‫پیشینه‬ ‫مرور‬
12
‫آتی‬ ‫پیشنهادات‬ ‫و‬ ‫بندی‬ ‫جمع‬
‫مقدمه‬
‫تحقیق‬ ‫روش‬
‫هوشمند‬ ‫قراردادهای‬ ‫امنیت‬ ‫تامین‬ ‫مشکالت‬
‫تحقی‬ ‫پیشینه‬
‫ق‬
‫های‬ ‫روش‬ ‫نبود‬
‫امن‬ ‫کدنویسی‬
‫پیچ‬ ‫باگ‬ ‫رفع‬ ‫پروسه‬
‫یده‬
‫نااش‬ ‫نویسان‬ ‫برنامه‬
‫نا‬
‫متفاوت‬ ‫پروسه‬
‫لیست‬ ‫چک‬ ‫نبود‬
‫مناسب‬ ‫امنیتی‬ ‫های‬
‫تغییر‬
‫ناپذیری‬
‫و‬ ‫جامع‬ ‫ابزار‬ ‫نبود‬
‫ساده‬
‫بر‬ ‫نظارت‬ ‫هزینه‬
‫باال‬ ‫امنیت‬
13
‫آتی‬ ‫پیشنهادات‬ ‫و‬ ‫بندی‬ ‫جمع‬
‫مقدمه‬
‫تحقیق‬ ‫روش‬
‫هوشمند‬ ‫قراردادهای‬ ‫امنیت‬ ‫تحلیل‬ ‫و‬ ‫تجزیه‬ ‫های‬‫روش‬ ‫انواع‬
‫تحقی‬ ‫پیشینه‬
‫ق‬
14
‫آتی‬ ‫پیشنهادات‬ ‫و‬ ‫بندی‬ ‫جمع‬
‫مقدمه‬
‫تحقیق‬ ‫روش‬
‫هوشمند‬ ‫قراردادهای‬ ‫امنیتی‬ ‫ارزیابی‬ ‫برای‬ ‫مصنوعی‬ ‫هوش‬ ‫از‬ ‫استفاده‬ ‫دالیل‬
‫تحقی‬ ‫پیشینه‬
‫ق‬
•
‫تشخیص‬ ‫سرعت‬ ‫افزایش‬
•
‫تشخیص‬ ‫دقت‬ ‫افزایش‬
•
‫سیستماتیک‬ ‫اسکن‬
•
‫هزینه‬ ‫کاهش‬
•
‫اطمینان‬ ‫قابلیت‬ ‫افزایش‬
15
‫آتی‬ ‫پیشنهادات‬ ‫و‬ ‫بندی‬ ‫جمع‬
‫مقدمه‬
‫تحقیق‬ ‫روش‬
‫تحقیق‬ ‫های‬ ‫شکاف‬
•
‫هوشمند‬ ‫قراردادهای‬ ‫در‬ ‫امنیت‬ ‫ایجاد‬ ‫فرایند‬ ‫استانداردسازی‬ ‫عدم‬
•
‫هوشمند‬ ‫قراردادهای‬ ‫امنیت‬ ‫ارزیابی‬ ‫جامع‬ ‫مدل‬ ‫فقدان‬
•
‫ها‬‫پذیری‬‫آسیب‬ ‫جدیدترین‬ ‫با‬ ‫مطابق‬ ‫امنیتی‬ ‫های‬‫لیست‬‫چک‬ ‫نبود‬
•
‫مصنوعی‬ ‫هوش‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫امن‬ ‫کدنویسی‬ ‫ابزار‬ ‫فقدان‬
•
‫هوشمند‬ ‫قراردادهای‬ ‫اعتبارسنجی‬ ‫و‬ ‫تست‬ ‫برای‬ ‫جامع‬ ‫ابزار‬ ‫فقدان‬
‫تحقی‬ ‫پیشینه‬
‫ق‬
16
‫آتی‬ ‫پیشنهادات‬ ‫و‬ ‫بندی‬ ‫جمع‬
‫تحقیق‬ ‫روش‬
‫تحقیق‬ ‫روش‬
17
‫مقدمه‬
‫نظر‬ ‫مورد‬ ‫داده‬ ‫مجموعه‬
‫تحقیق‬ ‫روش‬
18
‫ویژگی‬
‫مقدار‬
‫نوع‬
‫واقعی‬ ‫هوشمند‬ ‫قراردادهای‬ ،‫متوازن‬ ‫غیر‬
‫هوشمند‬ ‫قرارداد‬ ‫تعداد‬
120608
‫فرمت‬
Parquet
‫ها‬ ‫ویژگی‬ ‫تعداد‬
4
‫پذیری‬ ‫آسیب‬ ‫کالس‬ ‫تعداد‬
36
‫ها‬ ‫داده‬ ‫مجموعه‬
:
❖
SB Curated
❖
SmartBugs Wild Dataset
❖
SolidiFI Benchmark
❖
Slither Audited Smart Contracts Dataset
‫آتی‬ ‫پیشنهادات‬ ‫و‬ ‫بندی‬ ‫جمع‬
‫مقدمه‬
‫تحقیق‬ ‫روش‬
‫داده‬ ‫مجموعه‬ ‫شناخت‬
Address
‫قرارداد‬ ‫آدرس‬ ‫دهنده‬ ‫نشان‬ ‫که‬ ‫ای‬ ‫رشته‬
‫است‬ ‫اتریوم‬ ‫اصلی‬ ‫شبکه‬ ‫در‬ ‫مستقر‬ ‫هوشمند‬
.
01
Bytecode
‫قرارداد‬ ‫کد‬ ‫بایت‬ ‫دهنده‬ ‫نشان‬ ‫که‬ ‫ای‬ ‫رشته‬
‫است‬ ‫هوشمند‬
03
Slither
‫خروجی‬
Json
‫ابزار‬ ‫از‬
Slither
‫همراه‬ ‫به‬
‫نظر‬ ‫مورد‬ ‫کالس‬ ‫برچسب‬
04
Source Code
‫قرارداد‬ ‫کد‬ ‫سورس‬ ‫از‬ ‫مسطح‬ ‫نسخه‬ ‫یک‬
‫در‬ ‫هوشمند‬
‫سالیدیتی‬
02
Slither Audit Smart
Contract
Dataset
‫تحقیق‬ ‫روش‬
19
‫آتی‬ ‫پیشنهادات‬ ‫و‬ ‫بندی‬ ‫جمع‬
‫مقدمه‬
‫تحقیق‬ ‫روش‬
‫ها‬ ‫داده‬ ‫اولیه‬ ‫پردازش‬ ‫پیش‬ ‫و‬ ‫سازی‬ ‫پاک‬
‫پردازش‬ ‫پیش‬
‫سازی‬ ‫پاک‬
‫های‬ ‫داده‬
‫تکراری‬
‫نرمال‬
‫و‬ ‫سازی‬
‫تبدیل‬
‫ها‬ ‫داده‬
‫تنظیم‬
‫داده‬ ‫اندازه‬
‫ها‬
‫داده‬ ‫حذف‬
‫های‬
‫نامعتبر‬
‫تحقیق‬ ‫روش‬
20
‫آتی‬ ‫پیشنهادات‬ ‫و‬ ‫بندی‬ ‫جمع‬
‫مقدمه‬
‫تحقیق‬ ‫روش‬
‫پذیری‬ ‫آسیب‬ ‫های‬ ‫برچسب‬ ‫سازی‬ ‫محدود‬
‫تحقیق‬ ‫روش‬
21
‫آتی‬ ‫پیشنهادات‬ ‫و‬ ‫بندی‬ ‫جمع‬
‫مقدمه‬
‫تحقیق‬ ‫روش‬
‫پیشنهادی‬ ‫مدل‬ ‫کار‬ ‫نحوه‬ ‫و‬ ‫اجرایی‬ ‫نمودار‬
‫تحقیق‬ ‫روش‬
22
‫آتی‬ ‫پیشنهادات‬ ‫و‬ ‫بندی‬ ‫جمع‬
‫مقدمه‬
‫تحقیق‬ ‫روش‬
‫برچسب‬ ‫همراه‬ ‫به‬ ‫هوشمند‬ ‫قرارداد‬ ‫از‬ ‫شده‬ ‫درست‬ ‫های‬ ‫عکس‬ ‫نمونه‬
‫تحقیق‬ ‫روش‬
23
‫آتی‬ ‫پیشنهادات‬ ‫و‬ ‫بندی‬ ‫جمع‬
‫تحقیق‬ ‫روش‬
‫ارزیابی‬ ‫و‬ ‫نتایج‬
24
‫آتی‬ ‫پیشنهادات‬ ‫و‬ ‫بندی‬ ‫جمع‬
‫مقدمه‬
‫تحقیق‬ ‫روش‬
‫ابزارها‬ ‫و‬ ‫سازی‬ ‫پیاده‬ ‫محیط‬
‫مشخصات‬
‫توضیحات‬
CPU
Intel Core i9 12900K (24 virtual CPU)
RAM
60GB
GPU
Nvidia 3090 Ti
HARD
80GB OS disk
OS
Windows 10, 64bit
‫ورژن‬
‫مورداستفاده‬ ‫ماژول‬
11.2
CUDA TOOLKIT
8.1.0
CUDNN
2.10
TensorFlow
3.9
Python
‫تحقی‬ ‫نتایج‬
‫ق‬
25
‫آتی‬ ‫پیشنهادات‬ ‫و‬ ‫بندی‬ ‫جمع‬
‫مقدمه‬
‫تحقیق‬ ‫روش‬
‫پیشنهادی‬ ‫مدل‬ ‫در‬ ‫آنها‬ ‫مقادیر‬ ‫و‬ ‫ها‬ ‫هایپرپارامتر‬
‫مقدار‬
‫هایپرپارامتر‬
1e-4
Learning Rate
32
Batch Size
30
Number of Epochs
L2(0.01)
Regularization Strength
0.3
Dropout Rate
Patience = 5
Early Stopping Patience
‫تحقی‬ ‫نتایج‬
‫ق‬
26
‫آتی‬ ‫پیشنهادات‬ ‫و‬ ‫بندی‬ ‫جمع‬
‫مقدمه‬
‫تحقیق‬ ‫روش‬
‫متقا‬ ‫سنجی‬ ‫اعتبار‬
‫بل‬
.1
‫بخش‬ ‫چندین‬ ‫به‬ ‫ها‬ ‫داده‬ ‫تقسیم‬
.2
‫آزمون‬ ‫های‬ ‫داده‬ ‫ها‬ ‫بخش‬ ‫بقیه‬ ‫و‬ ‫آموزشی‬ ‫داده‬ ‫عنوان‬ ‫به‬ ‫بخش‬ ‫یک‬ ‫مرحله‬ ‫هر‬ ‫در‬
.3
‫ارزیابی‬ ‫آزمون‬ ‫های‬ ‫داده‬ ‫با‬ ‫و‬ ‫آموزش‬ ،‫آموزشی‬ ‫های‬ ‫داده‬ ‫با‬
.4
‫مراحل‬ ‫تکرار‬
.5
‫خطا‬ ‫یا‬ ‫دقت‬ ‫میانگین‬ ‫گرفتن‬
•
‫مزیت‬
:
‫تر‬ ‫صحیح‬ ‫ارزیابی‬
•
‫دلیل‬
:
‫ها‬ ‫داده‬ ‫تمامی‬ ‫از‬ ‫استفاده‬
‫تحقی‬ ‫نتایج‬
‫ق‬
27
‫آتی‬ ‫پیشنهادات‬ ‫و‬ ‫بندی‬ ‫جمع‬
‫مقدمه‬
‫تحقیق‬ ‫روش‬
‫معماری‬ ‫با‬ ‫شده‬ ‫داده‬ ‫توسعه‬ ‫مدل‬ ‫عملکرد‬ ‫نتایج‬
ResNet50
‫مقدار‬
‫معیار‬
0.67
Average Loss
87.48 %
Average Accuracy
0.87
Average Precision
0.87
Average Recall
0.98
Average AUC
0.87
Average Micro-Averaged F1 Score
97.83%
Average Top-5 Accuracy
•
‫درسال‬ ‫که‬ ‫عصبی‬ ‫شبکه‬ ‫از‬ ‫خاصی‬ ‫نوع‬
2015
‫شد‬ ‫معرفی‬
.
•
‫شبکه‬ ‫این‬ ‫اصلی‬ ‫نوآوری‬
:
‫مانده‬ ‫باقی‬ ‫بلوک‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫ها‬ ‫الیه‬ ‫تعداد‬ ‫شدن‬ ‫زیاد‬ ‫مشکل‬ ‫حل‬
‫تحقی‬ ‫نتایج‬
‫ق‬
28
‫آتی‬ ‫پیشنهادات‬ ‫و‬ ‫بندی‬ ‫جمع‬
‫مقدمه‬
‫تحقیق‬ ‫روش‬
‫معماری‬ ‫با‬ ‫شده‬ ‫داده‬ ‫توسعه‬ ‫مدل‬ ‫عملکرد‬ ‫نتایج‬
Densenet121
‫مقدار‬
‫معیار‬
0.68
Average Loss
86.35 %
Average Accuracy
0.86
Average Precision
0.86
Average Recall
0.98
Average AUC
0.86
Average Micro-Averaged F1 Score
97.73%
Average Top-5 Accuracy
•
‫گفتاری‬ ‫و‬ ‫تصویری‬ ‫های‬ ‫تحلیل‬ ‫برای‬ ‫مناسب‬ ‫متراکم‬ ‫پیچشی‬ ‫عصبی‬ ‫شبکه‬
•
‫گربه‬ ‫بینایی‬ ‫قشر‬ ‫از‬ ‫گرفته‬ ‫الهام‬
•
‫به‬ ‫نسبت‬ ‫کمتری‬ ‫های‬ ‫پارامتر‬ ‫تعداد‬
Resnet
•
‫دارد‬ ‫بهتری‬ ‫عملکرد‬ ‫محدود‬ ‫های‬ ‫داده‬ ‫روی‬
‫تحقی‬ ‫نتایج‬
‫ق‬
29
‫آتی‬ ‫پیشنهادات‬ ‫و‬ ‫بندی‬ ‫جمع‬
‫مقدمه‬
‫تحقیق‬ ‫روش‬
‫پیشنهادی‬ ‫مدل‬ ‫برای‬ ‫مختلف‬ ‫معماری‬ ‫دو‬ ‫مقایسه‬
ResNet50
Densenet121
87.48
86.15
Average Accuracy
0.87
0.86
Average Precision
0.87
0.86
Average Recall
0.98
0.98
Average AUC
0.87
0.86
Micro-Averaged F1 Score
97.83
97.70
Average Top-5 Accuracy
‫تحقی‬ ‫نتایج‬
‫ق‬
30
‫آتی‬ ‫پیشنهادات‬ ‫و‬ ‫بندی‬ ‫جمع‬
‫مقدمه‬
‫تحقیق‬ ‫روش‬
‫ه‬ ‫ابزار‬ ‫سایر‬ ‫با‬ ‫پیشنهادی‬ ‫مدل‬ ‫مقایسه‬
‫ا‬
‫ابزار‬
Accuracy
F1-Score
SmartCheck
52.9
28
Oyente
61.62
44.96
Mythrill
60.54
51.02
Securify
71.89
53.57
Slither
56
0.48
‫مدل‬
‫پیشنهادی‬
87.48
87
‫تحقی‬ ‫نتایج‬
‫ق‬
31
‫آتی‬ ‫پیشنهادات‬ ‫و‬ ‫بندی‬ ‫جمع‬
‫تحقیق‬ ‫روش‬
‫بندی‬ ‫جمع‬
32
‫آتی‬ ‫پیشنهادات‬ ‫و‬ ‫بندی‬ ‫جمع‬
‫مقدمه‬
‫تحقیق‬ ‫روش‬
‫بندی‬ ‫جمع‬
‫بندی‬ ‫جمع‬
33
‫تحقیق‬ ‫های‬ ‫شکاف‬ ‫استخراج‬ ‫و‬ ‫هوشمند‬ ‫قراردادهای‬ ‫های‬ ‫پذیری‬ ‫آسیب‬ ‫با‬ ‫آشنایی‬
‫توالی‬ ‫از‬ ‫استفاده‬
Opcode
‫به‬ ‫آن‬ ‫تبدیل‬ ‫و‬
Simhash
‫آموزشی‬ ‫های‬ ‫داده‬ ‫ساخت‬ ‫برای‬
‫ها‬ ‫پذیری‬ ‫آسیب‬ ‫بندی‬ ‫طبقه‬ ‫برای‬ ‫ماشین‬ ‫بینایی‬ ‫نوین‬ ‫های‬ ‫معماری‬ ‫از‬ ‫استفاده‬
‫آسان‬ ‫و‬ ‫خودکار‬ ‫صورت‬ ‫به‬ ‫پذیری‬ ‫آسیب‬ ‫تشخیص‬ ‫برای‬ ‫وب‬ ‫تحت‬ ‫ابزار‬ ‫ارائه‬
‫خودکار‬ ‫صورت‬ ‫به‬ ‫هوشمند‬ ‫قراردادهای‬ ‫پذیری‬ ‫آسیب‬ ‫تشخیص‬ ‫برای‬ ‫ماشین‬ ‫یادگیری‬ ‫های‬ ‫مدل‬ ‫روی‬ ‫بر‬ ‫تمرکز‬
‫آتی‬ ‫پیشنهادات‬ ‫و‬ ‫بندی‬ ‫جمع‬
‫مقدمه‬
‫تحقیق‬ ‫روش‬
‫نامه‬ ‫پایان‬ ‫از‬ ‫حاصل‬ ‫نهایی‬ ‫محصول‬
✓
‫معماری‬ ‫با‬ ‫سازی‬ ‫پیاده‬
model as a service
‫بندی‬ ‫جمع‬
34
‫آتی‬ ‫پیشنهادات‬ ‫و‬ ‫بندی‬ ‫جمع‬
‫مقدمه‬
‫تحقیق‬ ‫روش‬
‫نامه‬ ‫پایان‬ ‫از‬ ‫حاصل‬ ‫نهایی‬ ‫محصول‬
‫بندی‬ ‫جمع‬
35
‫آتی‬ ‫پیشنهادات‬ ‫و‬ ‫بندی‬ ‫جمع‬
‫مقدمه‬
‫تحقیق‬ ‫روش‬
‫آینده‬ ‫تحقیقات‬ ‫برای‬ ‫پیشنهاد‬
•
‫پذیری‬ ‫آسیب‬ ‫تشخیص‬ ‫های‬ ‫مدل‬ ‫و‬ ‫ها‬ ‫معماری‬ ‫سایر‬ ‫از‬ ‫استفاده‬
•
‫پیشرفته‬ ‫عمیق‬ ‫یادگیری‬ ‫های‬ ‫مدل‬ ‫ادغام‬ ‫و‬ ‫ترکیب‬
•
‫مثل‬ ‫طبیعی‬ ‫زبان‬ ‫پردازش‬ ‫های‬ ‫مدل‬ ‫از‬ ‫استفاده‬
Bert
‫بندی‬ ‫جمع‬
36
‫شما‬ ‫توجه‬ ‫از‬ ‫فراوان‬ ‫سپاس‬ ‫با‬
‫شما‬ ‫توجه‬ ‫از‬ ‫تشکر‬ ‫با‬
37
‫آتی‬ ‫پیشنهادات‬ ‫و‬ ‫بندی‬ ‫جمع‬
‫مقدمه‬
‫تحقیق‬ ‫روش‬
Similarity Hash(Simhash)
✓
‫ها‬ ‫داده‬ ‫مجموعه‬ ‫بین‬ ‫شباهت‬ ‫مقایسه‬ ‫و‬ ‫تشخیص‬ ‫برای‬
38
‫آتی‬ ‫پیشنهادات‬ ‫و‬ ‫بندی‬ ‫جمع‬
‫مقدمه‬
‫مختلف‬ ‫های‬ ‫معماری‬ ‫بین‬ ‫مقایسه‬
39
‫مقدار‬ ،‫ها‬ ‫الیه‬ ‫تعداد‬ ‫افزایش‬ ‫با‬
loss Function
‫شود‬ ‫می‬ ‫دو‬ ‫به‬ ‫رو‬ ‫مشکل‬ ‫با‬ ‫را‬ ‫مدل‬ ‫آموزش‬ ‫این‬ ‫و‬ ‫شود‬ ‫می‬ ‫نزیک‬ ‫صفر‬ ‫به‬
(Vanishing Gradient)
‫معماری‬
Resnet
‫تکنیک‬ ‫از‬ ‫استفاده‬ ‫با‬
Skip Connection
‫بگیرد‬ ‫را‬ ‫مشکل‬ ‫این‬ ‫جلوی‬ ‫تواند‬ ‫می‬
.
‫آتی‬ ‫پیشنهادات‬ ‫و‬ ‫بندی‬ ‫جمع‬
‫مقدمه‬
‫تحقیق‬ ‫روش‬
‫هوشمند‬ ‫قراردادهای‬ ‫امنیت‬
‫تحقی‬ ‫پیشینه‬
‫ق‬
40

A Novel Aprroach for smart contract audit.pdf

  • 1.
    ‫صنایع‬ ‫مهندسی‬ ‫دانشکده‬ ‫هوشمند‬‫قراردادهای‬ ‫امنیت‬ ‫ارزیابی‬ ‫برای‬ ‫جدید‬ ‫مدلی‬ ‫ارائه‬ ‫اطالعات‬ ‫فناوری‬ ‫رشته‬ ‫در‬ ‫ارشد‬ ‫کارشناسی‬ ‫درجه‬ ‫دریافت‬ ‫برای‬ ‫نامه‬ ‫پایان‬ ‫الکترونیک‬ ‫تجارت‬ ‫گرایش‬ ‫راهنما‬ ‫استاد‬ : ‫فتحیان‬ ‫محمد‬ ‫دکتر‬ ‫آقای‬ ‫جناب‬ ‫دانشجو‬ : ‫شیرازی‬ ‫قاسم‬ ‫سعید‬ 1
  • 2.
    2 ‫تحقیقات‬ ‫پیشینه‬‫مرور‬ 5 ‫آتی‬ ‫پیشنهادات‬ ‫و‬ ‫بندی‬ ‫جمع‬ 1 ‫مقدمه‬ 4 ‫ارزیابی‬ ‫و‬ ‫نتایج‬ 3 ‫تحقیق‬ ‫روش‬ ‫مطالب‬ ‫فهرست‬ 2
  • 3.
    ‫آتی‬ ‫پیشنهادات‬ ‫و‬‫بندی‬ ‫جمع‬ ‫تحقیق‬ ‫روش‬ ‫ه‬‫مقدم‬ 3
  • 4.
    ‫آتی‬ ‫پیشنهادات‬ ‫و‬‫بندی‬ ‫جمع‬ ‫تحقیق‬ ‫روش‬ ‫چیست؟‬ ‫هوشمند‬ ‫قرارداد‬ • ‫قرارداد‬ ‫یک‬ ‫تسهیل‬ ‫برای‬ ‫بالکچین‬ ‫در‬ ‫کامپیوتری‬ ‫کد‬ ‫قطعه‬ ‫یک‬ • ‫واسطه‬ ‫بدون‬ ‫مالی‬ ‫فرایند‬ ‫سازی‬ ‫ساده‬ ‫برای‬ • ‫است‬ ‫اتریوم‬ ‫هوشمند‬ ‫قرارداده‬ ‫برای‬ ‫پلتفرم‬ ‫ترین‬ ‫مشهور‬ ‫مقدمه‬ 4
  • 5.
    ‫آتی‬ ‫پیشنهادات‬ ‫و‬‫بندی‬ ‫جمع‬ ‫تحقیق‬ ‫روش‬ ‫اولیه‬ ‫ایده‬ • ‫اولیه‬ ‫ایده‬ 1994 ‫زابو‬ ‫نیک‬ ‫توسط‬ • ‫اعتماد‬ ‫مورد‬ ‫واسط‬ ‫به‬ ‫نیاز‬ ‫بدون‬ ‫پول‬ ‫دریافت‬ ‫و‬ ‫ارسال‬ ! • ‫بیشت‬ ‫معماالت‬ ‫محرک‬ ‫و‬ ‫آمد‬ ‫در‬ ‫اجرا‬ ‫به‬ ‫عموم‬ ‫برای‬ ‫هوشمند‬ ‫قرارداد‬ ‫اتریوم‬ ‫ظهور‬ ‫با‬ ‫و‬ ‫کرد‬ ‫فراهم‬ ‫رو‬ ‫مناسب‬ ‫بستر‬ ‫کوین‬ ‫بیت‬ ‫شد‬ ‫ری‬ . ‫مقدمه‬ 5
  • 6.
    ‫آتی‬ ‫پیشنهادات‬ ‫و‬‫بندی‬ ‫جمع‬ ‫مقدمه‬ ‫تحقیق‬ ‫روش‬ ‫هوشمند‬ ‫قراردادهای‬ ‫کاربردهای‬ ‫گیری‬ ‫رای‬ ‫لجستیک‬ ‫دیجیتال‬ ‫هویت‬ ‫ها‬ ‫دولت‬ ‫تامین‬ ‫زنجیره‬ ‫های‬ ‫فعالیت‬ ‫مالی‬ ‫و‬ ‫تجاری‬ ‫مقدمه‬ 6
  • 7.
    ‫آتی‬ ‫پیشنهادات‬ ‫و‬‫بندی‬ ‫جمع‬ ‫مقدمه‬ ‫تحقیق‬ ‫روش‬ ‫هوشمند‬ ‫قراردادهای‬ ‫مزایای‬ • ‫شفافیت‬ • ‫وری‬‫بهره‬ ‫در‬ ‫زمان‬ • ‫دقت‬ • ‫امنیت‬ • ‫اعتماد‬ • ‫هزینه‬ ‫کمتر‬ • ‫اتوماتیک‬ ‫و‬ ‫خودمختار‬ ‫مقدمه‬ 7
  • 8.
    ‫آتی‬ ‫پیشنهادات‬ ‫و‬‫بندی‬ ‫جمع‬ ‫مقدمه‬ ‫تحقیق‬ ‫روش‬ ‫هوشمند‬ ‫قراردادهای‬ ‫معایب‬ • ‫عامل‬ ‫انسانی‬ • ‫وضعیت‬ ‫حقوقی‬ ‫نامشخص‬ • ‫دشواری‬ ‫در‬ ‫تغییر‬ • ‫هزینه‬ ‫های‬ ‫اجرا‬ ‫مقدمه‬ 8
  • 9.
    ‫آتی‬ ‫پیشنهادات‬ ‫و‬‫بندی‬ ‫جمع‬ ‫تحقیق‬ ‫روش‬ ‫تحقیق‬ ‫اهداف‬ ‫و‬ ‫مسئله‬ • ‫بر‬ ‫تمرکز‬ ‫با‬ ‫هوشمند‬ ‫قراردادهای‬ ‫امنیتی‬ ‫ارزیابی‬ ‫برای‬ ‫جدید‬ ‫مدل‬ ‫ارائه‬ : • ‫ها‬ ‫پذیری‬ ‫آسیب‬ ‫و‬ ‫تهدیدات‬ ‫شناسایی‬ • ‫پذیری‬ ‫آسیب‬ ‫از‬ ‫جلوگیری‬ ‫برای‬ ‫راهکار‬ ‫ارائه‬ • ‫حوزه‬ ‫این‬ ‫امنیتی‬ ‫های‬ ‫ابزار‬ ‫سایر‬ ‫با‬ ‫بندی‬ ‫رتبه‬ ‫و‬ ‫مقایسه‬ • ‫خودکار‬ ‫صورت‬ ‫به‬ ‫پذیری‬ ‫آسیب‬ ‫شناسایی‬ ‫ابزار‬ ‫ساخت‬ ‫مقدمه‬ 9
  • 10.
    ‫آتی‬ ‫پیشنهادات‬ ‫و‬‫بندی‬ ‫جمع‬ ‫تحقیق‬ ‫روش‬ ‫تحقیق‬ ‫ضرورت‬ ‫و‬ ‫اهمیت‬ • ‫اطالعات‬ ‫حفاظت‬ ‫حساس‬ • ‫اطمینان‬ ‫و‬ ‫اعتماد‬ ‫حفظ‬ • ‫ها‬ ‫پذیری‬ ‫آسیب‬ ‫و‬ ‫خطرات‬ ‫کاهش‬ • ‫تقلب‬ ‫از‬ ‫پیشگیری‬ ‫مقدمه‬ 10
  • 11.
    ‫آتی‬ ‫پیشنهادات‬ ‫و‬‫بندی‬ ‫جمع‬ ‫مقدمه‬ ‫تحقیق‬ ‫روش‬ ‫تحقیق‬ ‫سواالت‬ ‫مقدمه‬ 11 ‫است؟‬ ‫چگونه‬ ‫هوشمند‬ ‫قراردادهای‬ ‫امنیتی‬ ‫ارزیابی‬ ‫برای‬ ‫مناسب‬ ‫مدل‬ ‫تشخیص؟‬ ‫های‬ ‫هوشمند؟روش‬ ‫قراردادهای‬ ‫در‬ ‫امنیتی‬ ‫مشکالت‬ ‫و‬ ‫ها‬ ‫پذیری‬ ‫آسیب‬ ‫نوع‬ ‫چه‬ ‫آوری؟‬ ‫جمع‬ ‫نحوه‬ ‫و‬ ‫داریم؟‬ ‫نیاز‬ ‫های‬ ‫داده‬ ‫نوع‬ ‫چه‬ ‫به‬ ‫ماشین‬ ‫یادگیری‬ ‫های‬ ‫تکنیک‬ ‫از‬ ‫استفاده‬ ‫برای‬ ‫هوشند‬ ‫قراردادهای‬ ‫امنیتی‬ ‫ارزیابی‬ ‫و‬ ‫تشخیص‬ ‫برای‬ ‫ماشین‬ ‫یادگیری‬ ‫های‬ ‫تکنیک‬ ‫از‬ ‫استفاده‬ ‫های‬ ‫چالش‬ ‫دارد؟‬ ‫بهتری‬ ‫عملکرد‬ ‫ماشین‬ ‫یادگیری‬ ‫مدل‬ ‫کدام‬
  • 12.
    ‫آتی‬ ‫پیشنهادات‬ ‫و‬‫بندی‬ ‫جمع‬ ‫تحقیق‬ ‫روش‬ ‫تحقیق‬ ‫پیشینه‬ ‫مرور‬ 12
  • 13.
    ‫آتی‬ ‫پیشنهادات‬ ‫و‬‫بندی‬ ‫جمع‬ ‫مقدمه‬ ‫تحقیق‬ ‫روش‬ ‫هوشمند‬ ‫قراردادهای‬ ‫امنیت‬ ‫تامین‬ ‫مشکالت‬ ‫تحقی‬ ‫پیشینه‬ ‫ق‬ ‫های‬ ‫روش‬ ‫نبود‬ ‫امن‬ ‫کدنویسی‬ ‫پیچ‬ ‫باگ‬ ‫رفع‬ ‫پروسه‬ ‫یده‬ ‫نااش‬ ‫نویسان‬ ‫برنامه‬ ‫نا‬ ‫متفاوت‬ ‫پروسه‬ ‫لیست‬ ‫چک‬ ‫نبود‬ ‫مناسب‬ ‫امنیتی‬ ‫های‬ ‫تغییر‬ ‫ناپذیری‬ ‫و‬ ‫جامع‬ ‫ابزار‬ ‫نبود‬ ‫ساده‬ ‫بر‬ ‫نظارت‬ ‫هزینه‬ ‫باال‬ ‫امنیت‬ 13
  • 14.
    ‫آتی‬ ‫پیشنهادات‬ ‫و‬‫بندی‬ ‫جمع‬ ‫مقدمه‬ ‫تحقیق‬ ‫روش‬ ‫هوشمند‬ ‫قراردادهای‬ ‫امنیت‬ ‫تحلیل‬ ‫و‬ ‫تجزیه‬ ‫های‬‫روش‬ ‫انواع‬ ‫تحقی‬ ‫پیشینه‬ ‫ق‬ 14
  • 15.
    ‫آتی‬ ‫پیشنهادات‬ ‫و‬‫بندی‬ ‫جمع‬ ‫مقدمه‬ ‫تحقیق‬ ‫روش‬ ‫هوشمند‬ ‫قراردادهای‬ ‫امنیتی‬ ‫ارزیابی‬ ‫برای‬ ‫مصنوعی‬ ‫هوش‬ ‫از‬ ‫استفاده‬ ‫دالیل‬ ‫تحقی‬ ‫پیشینه‬ ‫ق‬ • ‫تشخیص‬ ‫سرعت‬ ‫افزایش‬ • ‫تشخیص‬ ‫دقت‬ ‫افزایش‬ • ‫سیستماتیک‬ ‫اسکن‬ • ‫هزینه‬ ‫کاهش‬ • ‫اطمینان‬ ‫قابلیت‬ ‫افزایش‬ 15
  • 16.
    ‫آتی‬ ‫پیشنهادات‬ ‫و‬‫بندی‬ ‫جمع‬ ‫مقدمه‬ ‫تحقیق‬ ‫روش‬ ‫تحقیق‬ ‫های‬ ‫شکاف‬ • ‫هوشمند‬ ‫قراردادهای‬ ‫در‬ ‫امنیت‬ ‫ایجاد‬ ‫فرایند‬ ‫استانداردسازی‬ ‫عدم‬ • ‫هوشمند‬ ‫قراردادهای‬ ‫امنیت‬ ‫ارزیابی‬ ‫جامع‬ ‫مدل‬ ‫فقدان‬ • ‫ها‬‫پذیری‬‫آسیب‬ ‫جدیدترین‬ ‫با‬ ‫مطابق‬ ‫امنیتی‬ ‫های‬‫لیست‬‫چک‬ ‫نبود‬ • ‫مصنوعی‬ ‫هوش‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫امن‬ ‫کدنویسی‬ ‫ابزار‬ ‫فقدان‬ • ‫هوشمند‬ ‫قراردادهای‬ ‫اعتبارسنجی‬ ‫و‬ ‫تست‬ ‫برای‬ ‫جامع‬ ‫ابزار‬ ‫فقدان‬ ‫تحقی‬ ‫پیشینه‬ ‫ق‬ 16
  • 17.
    ‫آتی‬ ‫پیشنهادات‬ ‫و‬‫بندی‬ ‫جمع‬ ‫تحقیق‬ ‫روش‬ ‫تحقیق‬ ‫روش‬ 17
  • 18.
    ‫مقدمه‬ ‫نظر‬ ‫مورد‬ ‫داده‬‫مجموعه‬ ‫تحقیق‬ ‫روش‬ 18 ‫ویژگی‬ ‫مقدار‬ ‫نوع‬ ‫واقعی‬ ‫هوشمند‬ ‫قراردادهای‬ ،‫متوازن‬ ‫غیر‬ ‫هوشمند‬ ‫قرارداد‬ ‫تعداد‬ 120608 ‫فرمت‬ Parquet ‫ها‬ ‫ویژگی‬ ‫تعداد‬ 4 ‫پذیری‬ ‫آسیب‬ ‫کالس‬ ‫تعداد‬ 36 ‫ها‬ ‫داده‬ ‫مجموعه‬ : ❖ SB Curated ❖ SmartBugs Wild Dataset ❖ SolidiFI Benchmark ❖ Slither Audited Smart Contracts Dataset
  • 19.
    ‫آتی‬ ‫پیشنهادات‬ ‫و‬‫بندی‬ ‫جمع‬ ‫مقدمه‬ ‫تحقیق‬ ‫روش‬ ‫داده‬ ‫مجموعه‬ ‫شناخت‬ Address ‫قرارداد‬ ‫آدرس‬ ‫دهنده‬ ‫نشان‬ ‫که‬ ‫ای‬ ‫رشته‬ ‫است‬ ‫اتریوم‬ ‫اصلی‬ ‫شبکه‬ ‫در‬ ‫مستقر‬ ‫هوشمند‬ . 01 Bytecode ‫قرارداد‬ ‫کد‬ ‫بایت‬ ‫دهنده‬ ‫نشان‬ ‫که‬ ‫ای‬ ‫رشته‬ ‫است‬ ‫هوشمند‬ 03 Slither ‫خروجی‬ Json ‫ابزار‬ ‫از‬ Slither ‫همراه‬ ‫به‬ ‫نظر‬ ‫مورد‬ ‫کالس‬ ‫برچسب‬ 04 Source Code ‫قرارداد‬ ‫کد‬ ‫سورس‬ ‫از‬ ‫مسطح‬ ‫نسخه‬ ‫یک‬ ‫در‬ ‫هوشمند‬ ‫سالیدیتی‬ 02 Slither Audit Smart Contract Dataset ‫تحقیق‬ ‫روش‬ 19
  • 20.
    ‫آتی‬ ‫پیشنهادات‬ ‫و‬‫بندی‬ ‫جمع‬ ‫مقدمه‬ ‫تحقیق‬ ‫روش‬ ‫ها‬ ‫داده‬ ‫اولیه‬ ‫پردازش‬ ‫پیش‬ ‫و‬ ‫سازی‬ ‫پاک‬ ‫پردازش‬ ‫پیش‬ ‫سازی‬ ‫پاک‬ ‫های‬ ‫داده‬ ‫تکراری‬ ‫نرمال‬ ‫و‬ ‫سازی‬ ‫تبدیل‬ ‫ها‬ ‫داده‬ ‫تنظیم‬ ‫داده‬ ‫اندازه‬ ‫ها‬ ‫داده‬ ‫حذف‬ ‫های‬ ‫نامعتبر‬ ‫تحقیق‬ ‫روش‬ 20
  • 21.
    ‫آتی‬ ‫پیشنهادات‬ ‫و‬‫بندی‬ ‫جمع‬ ‫مقدمه‬ ‫تحقیق‬ ‫روش‬ ‫پذیری‬ ‫آسیب‬ ‫های‬ ‫برچسب‬ ‫سازی‬ ‫محدود‬ ‫تحقیق‬ ‫روش‬ 21
  • 22.
    ‫آتی‬ ‫پیشنهادات‬ ‫و‬‫بندی‬ ‫جمع‬ ‫مقدمه‬ ‫تحقیق‬ ‫روش‬ ‫پیشنهادی‬ ‫مدل‬ ‫کار‬ ‫نحوه‬ ‫و‬ ‫اجرایی‬ ‫نمودار‬ ‫تحقیق‬ ‫روش‬ 22
  • 23.
    ‫آتی‬ ‫پیشنهادات‬ ‫و‬‫بندی‬ ‫جمع‬ ‫مقدمه‬ ‫تحقیق‬ ‫روش‬ ‫برچسب‬ ‫همراه‬ ‫به‬ ‫هوشمند‬ ‫قرارداد‬ ‫از‬ ‫شده‬ ‫درست‬ ‫های‬ ‫عکس‬ ‫نمونه‬ ‫تحقیق‬ ‫روش‬ 23
  • 24.
    ‫آتی‬ ‫پیشنهادات‬ ‫و‬‫بندی‬ ‫جمع‬ ‫تحقیق‬ ‫روش‬ ‫ارزیابی‬ ‫و‬ ‫نتایج‬ 24
  • 25.
    ‫آتی‬ ‫پیشنهادات‬ ‫و‬‫بندی‬ ‫جمع‬ ‫مقدمه‬ ‫تحقیق‬ ‫روش‬ ‫ابزارها‬ ‫و‬ ‫سازی‬ ‫پیاده‬ ‫محیط‬ ‫مشخصات‬ ‫توضیحات‬ CPU Intel Core i9 12900K (24 virtual CPU) RAM 60GB GPU Nvidia 3090 Ti HARD 80GB OS disk OS Windows 10, 64bit ‫ورژن‬ ‫مورداستفاده‬ ‫ماژول‬ 11.2 CUDA TOOLKIT 8.1.0 CUDNN 2.10 TensorFlow 3.9 Python ‫تحقی‬ ‫نتایج‬ ‫ق‬ 25
  • 26.
    ‫آتی‬ ‫پیشنهادات‬ ‫و‬‫بندی‬ ‫جمع‬ ‫مقدمه‬ ‫تحقیق‬ ‫روش‬ ‫پیشنهادی‬ ‫مدل‬ ‫در‬ ‫آنها‬ ‫مقادیر‬ ‫و‬ ‫ها‬ ‫هایپرپارامتر‬ ‫مقدار‬ ‫هایپرپارامتر‬ 1e-4 Learning Rate 32 Batch Size 30 Number of Epochs L2(0.01) Regularization Strength 0.3 Dropout Rate Patience = 5 Early Stopping Patience ‫تحقی‬ ‫نتایج‬ ‫ق‬ 26
  • 27.
    ‫آتی‬ ‫پیشنهادات‬ ‫و‬‫بندی‬ ‫جمع‬ ‫مقدمه‬ ‫تحقیق‬ ‫روش‬ ‫متقا‬ ‫سنجی‬ ‫اعتبار‬ ‫بل‬ .1 ‫بخش‬ ‫چندین‬ ‫به‬ ‫ها‬ ‫داده‬ ‫تقسیم‬ .2 ‫آزمون‬ ‫های‬ ‫داده‬ ‫ها‬ ‫بخش‬ ‫بقیه‬ ‫و‬ ‫آموزشی‬ ‫داده‬ ‫عنوان‬ ‫به‬ ‫بخش‬ ‫یک‬ ‫مرحله‬ ‫هر‬ ‫در‬ .3 ‫ارزیابی‬ ‫آزمون‬ ‫های‬ ‫داده‬ ‫با‬ ‫و‬ ‫آموزش‬ ،‫آموزشی‬ ‫های‬ ‫داده‬ ‫با‬ .4 ‫مراحل‬ ‫تکرار‬ .5 ‫خطا‬ ‫یا‬ ‫دقت‬ ‫میانگین‬ ‫گرفتن‬ • ‫مزیت‬ : ‫تر‬ ‫صحیح‬ ‫ارزیابی‬ • ‫دلیل‬ : ‫ها‬ ‫داده‬ ‫تمامی‬ ‫از‬ ‫استفاده‬ ‫تحقی‬ ‫نتایج‬ ‫ق‬ 27
  • 28.
    ‫آتی‬ ‫پیشنهادات‬ ‫و‬‫بندی‬ ‫جمع‬ ‫مقدمه‬ ‫تحقیق‬ ‫روش‬ ‫معماری‬ ‫با‬ ‫شده‬ ‫داده‬ ‫توسعه‬ ‫مدل‬ ‫عملکرد‬ ‫نتایج‬ ResNet50 ‫مقدار‬ ‫معیار‬ 0.67 Average Loss 87.48 % Average Accuracy 0.87 Average Precision 0.87 Average Recall 0.98 Average AUC 0.87 Average Micro-Averaged F1 Score 97.83% Average Top-5 Accuracy • ‫درسال‬ ‫که‬ ‫عصبی‬ ‫شبکه‬ ‫از‬ ‫خاصی‬ ‫نوع‬ 2015 ‫شد‬ ‫معرفی‬ . • ‫شبکه‬ ‫این‬ ‫اصلی‬ ‫نوآوری‬ : ‫مانده‬ ‫باقی‬ ‫بلوک‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫ها‬ ‫الیه‬ ‫تعداد‬ ‫شدن‬ ‫زیاد‬ ‫مشکل‬ ‫حل‬ ‫تحقی‬ ‫نتایج‬ ‫ق‬ 28
  • 29.
    ‫آتی‬ ‫پیشنهادات‬ ‫و‬‫بندی‬ ‫جمع‬ ‫مقدمه‬ ‫تحقیق‬ ‫روش‬ ‫معماری‬ ‫با‬ ‫شده‬ ‫داده‬ ‫توسعه‬ ‫مدل‬ ‫عملکرد‬ ‫نتایج‬ Densenet121 ‫مقدار‬ ‫معیار‬ 0.68 Average Loss 86.35 % Average Accuracy 0.86 Average Precision 0.86 Average Recall 0.98 Average AUC 0.86 Average Micro-Averaged F1 Score 97.73% Average Top-5 Accuracy • ‫گفتاری‬ ‫و‬ ‫تصویری‬ ‫های‬ ‫تحلیل‬ ‫برای‬ ‫مناسب‬ ‫متراکم‬ ‫پیچشی‬ ‫عصبی‬ ‫شبکه‬ • ‫گربه‬ ‫بینایی‬ ‫قشر‬ ‫از‬ ‫گرفته‬ ‫الهام‬ • ‫به‬ ‫نسبت‬ ‫کمتری‬ ‫های‬ ‫پارامتر‬ ‫تعداد‬ Resnet • ‫دارد‬ ‫بهتری‬ ‫عملکرد‬ ‫محدود‬ ‫های‬ ‫داده‬ ‫روی‬ ‫تحقی‬ ‫نتایج‬ ‫ق‬ 29
  • 30.
    ‫آتی‬ ‫پیشنهادات‬ ‫و‬‫بندی‬ ‫جمع‬ ‫مقدمه‬ ‫تحقیق‬ ‫روش‬ ‫پیشنهادی‬ ‫مدل‬ ‫برای‬ ‫مختلف‬ ‫معماری‬ ‫دو‬ ‫مقایسه‬ ResNet50 Densenet121 87.48 86.15 Average Accuracy 0.87 0.86 Average Precision 0.87 0.86 Average Recall 0.98 0.98 Average AUC 0.87 0.86 Micro-Averaged F1 Score 97.83 97.70 Average Top-5 Accuracy ‫تحقی‬ ‫نتایج‬ ‫ق‬ 30
  • 31.
    ‫آتی‬ ‫پیشنهادات‬ ‫و‬‫بندی‬ ‫جمع‬ ‫مقدمه‬ ‫تحقیق‬ ‫روش‬ ‫ه‬ ‫ابزار‬ ‫سایر‬ ‫با‬ ‫پیشنهادی‬ ‫مدل‬ ‫مقایسه‬ ‫ا‬ ‫ابزار‬ Accuracy F1-Score SmartCheck 52.9 28 Oyente 61.62 44.96 Mythrill 60.54 51.02 Securify 71.89 53.57 Slither 56 0.48 ‫مدل‬ ‫پیشنهادی‬ 87.48 87 ‫تحقی‬ ‫نتایج‬ ‫ق‬ 31
  • 32.
    ‫آتی‬ ‫پیشنهادات‬ ‫و‬‫بندی‬ ‫جمع‬ ‫تحقیق‬ ‫روش‬ ‫بندی‬ ‫جمع‬ 32
  • 33.
    ‫آتی‬ ‫پیشنهادات‬ ‫و‬‫بندی‬ ‫جمع‬ ‫مقدمه‬ ‫تحقیق‬ ‫روش‬ ‫بندی‬ ‫جمع‬ ‫بندی‬ ‫جمع‬ 33 ‫تحقیق‬ ‫های‬ ‫شکاف‬ ‫استخراج‬ ‫و‬ ‫هوشمند‬ ‫قراردادهای‬ ‫های‬ ‫پذیری‬ ‫آسیب‬ ‫با‬ ‫آشنایی‬ ‫توالی‬ ‫از‬ ‫استفاده‬ Opcode ‫به‬ ‫آن‬ ‫تبدیل‬ ‫و‬ Simhash ‫آموزشی‬ ‫های‬ ‫داده‬ ‫ساخت‬ ‫برای‬ ‫ها‬ ‫پذیری‬ ‫آسیب‬ ‫بندی‬ ‫طبقه‬ ‫برای‬ ‫ماشین‬ ‫بینایی‬ ‫نوین‬ ‫های‬ ‫معماری‬ ‫از‬ ‫استفاده‬ ‫آسان‬ ‫و‬ ‫خودکار‬ ‫صورت‬ ‫به‬ ‫پذیری‬ ‫آسیب‬ ‫تشخیص‬ ‫برای‬ ‫وب‬ ‫تحت‬ ‫ابزار‬ ‫ارائه‬ ‫خودکار‬ ‫صورت‬ ‫به‬ ‫هوشمند‬ ‫قراردادهای‬ ‫پذیری‬ ‫آسیب‬ ‫تشخیص‬ ‫برای‬ ‫ماشین‬ ‫یادگیری‬ ‫های‬ ‫مدل‬ ‫روی‬ ‫بر‬ ‫تمرکز‬
  • 34.
    ‫آتی‬ ‫پیشنهادات‬ ‫و‬‫بندی‬ ‫جمع‬ ‫مقدمه‬ ‫تحقیق‬ ‫روش‬ ‫نامه‬ ‫پایان‬ ‫از‬ ‫حاصل‬ ‫نهایی‬ ‫محصول‬ ✓ ‫معماری‬ ‫با‬ ‫سازی‬ ‫پیاده‬ model as a service ‫بندی‬ ‫جمع‬ 34
  • 35.
    ‫آتی‬ ‫پیشنهادات‬ ‫و‬‫بندی‬ ‫جمع‬ ‫مقدمه‬ ‫تحقیق‬ ‫روش‬ ‫نامه‬ ‫پایان‬ ‫از‬ ‫حاصل‬ ‫نهایی‬ ‫محصول‬ ‫بندی‬ ‫جمع‬ 35
  • 36.
    ‫آتی‬ ‫پیشنهادات‬ ‫و‬‫بندی‬ ‫جمع‬ ‫مقدمه‬ ‫تحقیق‬ ‫روش‬ ‫آینده‬ ‫تحقیقات‬ ‫برای‬ ‫پیشنهاد‬ • ‫پذیری‬ ‫آسیب‬ ‫تشخیص‬ ‫های‬ ‫مدل‬ ‫و‬ ‫ها‬ ‫معماری‬ ‫سایر‬ ‫از‬ ‫استفاده‬ • ‫پیشرفته‬ ‫عمیق‬ ‫یادگیری‬ ‫های‬ ‫مدل‬ ‫ادغام‬ ‫و‬ ‫ترکیب‬ • ‫مثل‬ ‫طبیعی‬ ‫زبان‬ ‫پردازش‬ ‫های‬ ‫مدل‬ ‫از‬ ‫استفاده‬ Bert ‫بندی‬ ‫جمع‬ 36
  • 37.
    ‫شما‬ ‫توجه‬ ‫از‬‫فراوان‬ ‫سپاس‬ ‫با‬ ‫شما‬ ‫توجه‬ ‫از‬ ‫تشکر‬ ‫با‬ 37
  • 38.
    ‫آتی‬ ‫پیشنهادات‬ ‫و‬‫بندی‬ ‫جمع‬ ‫مقدمه‬ ‫تحقیق‬ ‫روش‬ Similarity Hash(Simhash) ✓ ‫ها‬ ‫داده‬ ‫مجموعه‬ ‫بین‬ ‫شباهت‬ ‫مقایسه‬ ‫و‬ ‫تشخیص‬ ‫برای‬ 38
  • 39.
    ‫آتی‬ ‫پیشنهادات‬ ‫و‬‫بندی‬ ‫جمع‬ ‫مقدمه‬ ‫مختلف‬ ‫های‬ ‫معماری‬ ‫بین‬ ‫مقایسه‬ 39 ‫مقدار‬ ،‫ها‬ ‫الیه‬ ‫تعداد‬ ‫افزایش‬ ‫با‬ loss Function ‫شود‬ ‫می‬ ‫دو‬ ‫به‬ ‫رو‬ ‫مشکل‬ ‫با‬ ‫را‬ ‫مدل‬ ‫آموزش‬ ‫این‬ ‫و‬ ‫شود‬ ‫می‬ ‫نزیک‬ ‫صفر‬ ‫به‬ (Vanishing Gradient) ‫معماری‬ Resnet ‫تکنیک‬ ‫از‬ ‫استفاده‬ ‫با‬ Skip Connection ‫بگیرد‬ ‫را‬ ‫مشکل‬ ‫این‬ ‫جلوی‬ ‫تواند‬ ‫می‬ .
  • 40.
    ‫آتی‬ ‫پیشنهادات‬ ‫و‬‫بندی‬ ‫جمع‬ ‫مقدمه‬ ‫تحقیق‬ ‫روش‬ ‫هوشمند‬ ‫قراردادهای‬ ‫امنیت‬ ‫تحقی‬ ‫پیشینه‬ ‫ق‬ 40