סופרים : (1) Tianle Sun, אוניברסיטת Huazhong של מדע וטכנולוגיה; (2) Ningyu He, אוניברסיטת בייג'ינג (3) Jiang Xiao, אוניברסיטת Huazhong של מדע וטכנולוגיה; (4) Yinliang Yue, מעבדה Zhongguancun; (5) Xiapu Luo, האוניברסיטה הפוליטכנית של הונג קונג; (6) Haoyu וואנג, אוניברסיטת Huazhong של מדע וטכנולוגיה. : Authors (1) Tianle Sun, אוניברסיטת Huazhong של מדע וטכנולוגיה; (2) Ningyu He, אוניברסיטת בייג'ינג (3) Jiang Xiao, אוניברסיטת Huazhong של מדע וטכנולוגיה; (4) Yinliang Yue, מעבדה Zhongguancun; (5) Xiapu Luo, האוניברסיטה הפוליטכנית של הונג קונג; (6) Haoyu וואנג, אוניברסיטת Huazhong של מדע וטכנולוגיה. שולחן שמאל Abstract ו- Introduction Background 2.1 Ethereum Primer 2.2 Whitelisted Address Verification 2.3 Taint Analysis on Smart Contracts and 2.4 Threat Model Motivating Example and Challenges 3.1 Motivating Example 3.2 Challenges 3.3 Limitations of Existing Tools Design of AVVERIFIER and 4.1 Overview 4.2 Notations 4.3 Component#1: Code Grapher 4.4 Component#2: EVM Simulator 4.5 Component#3: Vulnerability Detector Evaluation 5.1 Experimental Setup & Research Questions 5.2 RQ1: Effectiveness & Efficiency 5.3 RQ2: Characteristics of Real-world Vulnerable Contracts 5.4 RQ3: Real-time Detection Discussion 6.1 Threats to Validity and 6.2 Limitations 6.3 Ethical Consideration Related Work Conclusion, Availability, and References abstractעריכה ב- Ethereum, הפרקטיקה של אימות תוקף של כתובות העבר היא פרקטיקה נפוצה, שהיא צעד קריטי כדי להבטיח ביצוע בטוח של חוזים חכמים. פגיעות בתהליך אימות כתובות יכול להוביל לבעיות אבטחה גדולות, וראיות אנקדוטות דווחו על ידי הקהילה שלנו. עם זאת, סוג זה של פגיעות לא נחקרו היטב. כדי למלא את החסר, במאמר זה, אנו שואפים לתאר ולחשוף סוג זה של פגיעות מתעוררות. אנו מעצבים וליישם AVVERIFIER, אנליסט טואנט קל מבוסס על סימולציה סטטית EVM opcode. הזיהוי של שלוש השלבים שלו יכול בהדרגה לחסל חיוביות שווא וחיוביות ש 1 ההקדמה לאחר שסאטושי נאקמוטו השיקה את ביטקוין [60], פלטפורמות blockchain התעוררו. ביניהם, Ethereum [18] הוא הידוע ביותר. זה יכול להיחשב לחתימה של תסריט בלתי ניתן לשינוי אשר יבוצע בדרך מסוימת ברגע התנאים המוגדרים מראש עומדים. חוזה חכם מכיוון שמיליארדי דולרים של נכסים שווה ערך מאוחסנים בחוזה חכם, זיהוי וניצול פגיעות מוסתרות בהם הוא העדיפויות העיקריות עבור התוקפים. על פי דו"ח לאחרונה [68], ישנם כ -303 אירועים גדולים של התקפות נגד חוזה Ethereum ידוע בשנה האחרונה, המהווים הפסדים של כ -3.8 מיליארד דולר. Chen et al. [21] סיכמו 26 סוגים עיקריים של פגיעות בחוזה חכם Ethereum, וסוגים חדשים של פגיעות עדיין מופיעים בזרימה אינסופית לאורך הפעלת התכונה המתמדת וההערכה ב Ethereum [48]. זיהוי אוטומטי של פגיעות בהסכמים חכמים של Ethereum הוא נושא שנלמד היטב [14, 37, 46, 47, 56, 70, 72, 78]. בהתחשב במספר ההסכמים ואת האובדן הכלכלי שנגרם על ידי שליליות שווא, ביצוע סימבולי סטטי, אשר יכול להבטיח תקינות במידה מסוימת, משמש כשיטת הניתוח העיקרית. לדוגמה, Mythril [70] הוא ביצוע סימבולי ברמה bytecode סטטי עבור חוזי Ethereum, בעוד Slither [31] עובד על קוד מקור, אשר טוען להשיג יעילות ויעילות גבוהה. אימות תוקף של כתובות הכניסה הוא שיטה נפוצה ושלב מפתח כדי להבטיח ביצועים בטוחים של חוזים חכמים. פגיעות בתהליך אימות כתובות יכולות להוביל לבעיות אבטחה גדולות, וראיות אנקדוטות דווחו על ידי הקהילה שלנו [11]. כדי להיות ספציפיים, פונקציות בהסכמים חכמים ניתן להתייחס כאל טענות. אם מפתחים מתעלמים בטעות של אימות על הכתובת שהועברה, ברגע שהוא נלקח כמטרה של שיחה חיצונית, ניתן להתייחס לפעולות אקראי, כולל אלה זדוניים, בתוך כתובת. נכון לעכשיו, אין כלים קיימים יכולים לזהות את פגיעות אימות כתובות, ויישום פגיעות כאלה המבוסס על מסגרת קיימת הוא מאתגר. מצד אחד, על פי המאפיינים של פגיעות אימות כתובות, כדי לזהות אותו ביעילות, הזיהוי צריך לבצע ניתוח בין-הליך או אפילו בין-חוזה. עבודה קיימת, עם זאת, תמיד סובלת או את היעילות או את הבעיה של היעילות בעת ביצוע ניתוחים כאלה. לדוגמה, דפוס מבוסס דפוס בקושי יכול להתמודד עם דפוס פגיעות מסובך כזה, בעוד הבדיקה הסימבולית סובלת מבעיות התפוצצות נתיב ואת הבקבוק הובא מהגבלות לפתרון. מצד אחד, רוב החו כדי למלא את הפער, אנו שואפים לתאר ולגלות סוג זה של פגיעה מתעוררת. כדי להיות ספציפיים, אנו מעצבים וליישם AVVERIFIER, מסגרת ניתוח פגיעה סטטית קלה חדשה שיכולה לזהות בצורה יעילה ויעילה את פגיעת אימות כתובות. ניתוח פגיעה שלה מסתמך על סימולציה סטטית של רצף האופקוד. במילים אחרות, מבלי לקחת בחשבון את היעילות של מסלולים, AVVERIFIER שומרת על הערכים של מבנים נתונים (לדוגמה, קובץ וזיכרון) ואת מצב התפשטות הפגיעה. סימולציה סטטית כזו עוברת דרך הרבה דרכים, כולל אלה שאינם אפשריים במקור. כך, על פי המדינות המתאימות This work. בהתבסס על מדדי הביצועים שלנו, AVVERIFIER מצליחה בהרבה יותר מ-812 אמצעי זיהוי חוזה חכם (כלומר, Mythril, Ethainter, Jackal, ו- ETHBMC)[1] מבחינת יעילות ויעילות. על פי הערכה מקיפה של יותר מ-5 מיליון חוזה Ethereum המופעלים, AVVERIFIER מציינת יותר מ-812 חוזה פגיעים, ו-348 חוזה חכם עם קוד פתוח נבדקו עוד יותר, שערך הכולל נעול מעל 11.2 מיליארד דולר. לבסוף, אנו מפעילים את AVVERIFIER כזיהוי בזמן אמת על Ethereum ו- BSC, פלטפורמה blockchain דומה EVM. התוצאות מראות ש- AVVERIFIER מסוגלת להעלות המאמר מספק את התרומות הבאות: • זוהי העבודה הראשונה על זיהוי פגיעה בדרישות אימות כתובות, והיינו מעצבים ומייצרים את AVVERIFIER, אנליסט חריגות יעיל ויעיל המבוסס על סימולציה EVM סטטית. השתמשנו ב-AVVERIFIER ביותר מ-5 מיליון חוטי חכם ב-Ethereum, וגילינו מאות חוטי חכם פגיעים שלא נחשפו בעבר על ידי הקהילה שלנו. בהשוואה ל-Mythril, Ethainter, Jackal ו-ETHBMC, AVVERIFIER יכול לשפר את יעילות האנליזה בערך 2 עד 5 פעמים תוך השגת דיוק של 94.3% ומחזירה של 100% על מדדים מוכשרים. • הפעלנו את AVVERIFIER כמחשבת בזמן אמת על Ethereum ו- BSC. התוצאות מצביעות על כך ש- AVVERIFIER מסוגלת להעלות אזהרות מוקדמות ברגע שההסכמים מופעלים לפני שהתקפה נפתחת על ידי תוקפים. מאמר זה זמין ב-archiv תחת רישיון CC BY 4.0 DEED. הנייר הזה הוא רישיון CC BY 4.0 DEED. available on arxiv זמין בArchiv [1] שימו לב כי כלים אלה אינם מסוגלים לזהות פגיעות בזיהוי כתובות, ואנו קיימים את אותה לוגיקה של זיהוי עליהם, לשם השוואה הוגנת.