הלך הרוח החכם לביטחון חוזה

בלוג 1חדשות מפתחיםיזם הסבר על בלוקצ’יין אירועים וכנסים לחץעלונים

הירשם לניוזלטר שלנו.

כתובת דוא”ל

אנו מכבדים את פרטיותך

HomeBlog פיתוח בלוקצ’יין

הלך הרוח החכם לביטחון חוזה

5 עקרונות אבטחה שכל מפתח אתריום צריך לדעת בתוספת פשרות בסיסיות. על ידי ConsenSys 17 ביוני 2020 הועלה ב 17 ביוני 2020

אבטחת בלוקצ'יין

על ידי ConsenSys Diligence, צוות המומחים שלנו לאבטחת בלוקצ’יין.

אף שהתעשייה מתבגרת, פיתוח חוזים חכם הוא עדיין תחום חדש ומתבגר יחסית. לכן, עליך לצפות לשינויים מתמידים בנוף האבטחה, כאשר מתגלים באגים חדשים וסיכוני אבטחה, וכשפותחים שיטות עבודה מומלצות חדשות. למידה ועקיבה שיטות עבודה מומלצות זו רק ההתחלה של עבודת האבטחה שתצטרך לבצע כמפתח חוזים חכם.

תכנות חוזים חכם דורש חשיבה הנדסית שונה ממה שהיית רגיל. עלות הכישלון עשויה להיות גבוהה, והשינוי יכול להיות קשה, מה שהופך אותו במובן מסוים לדומה יותר לתכנות חומרה או לתכנות שירותים פיננסיים מאשר לפיתוח אינטרנט או מובייל. לכן לא מספיק להתגונן מפני נקודות תורפה ידועות. במקום זאת תצטרך ללמוד פילוסופיה חדשה של פיתוח.

היכונו לכישלון

בכל חוזה שאינו טריוויאלי יהיו טעויות. על הקוד שלך, אם כן, להיות מסוגל לענות בחיפושים ופגיעות בחן.

  • השהה את החוזה כאשר הדברים משתבשים (“מפסק מעגל”).
  • נהל את סכום הכסף בסיכון (הגבלת תעריפים, שימוש מרבי).
  • יש נתיב שדרוג יעיל לתיקוני באגים ושיפורים.

השקה בזהירות

תמיד עדיף לתפוס באגים לפני שחרור הייצור המלא.

  • בדוק חוזים ביסודיות והוסף בדיקות בכל פעם שמתגלים וקטורי התקפה חדשים.
  • לְסַפֵּק שפע באגים החל משחרורי alpha testnet.
  • השקה בשלבים, עם הגדלת השימוש והבדיקות בכל שלב.

שמור על חוזים פשוטים

מורכבות מגדילה את הסבירות לטעויות.

  • ודא שההיגיון בחוזה פשוט.
  • התאמת קוד כדי לשמור על חוזים ופונקציות קטנות.
  • השתמש בכלים או בקוד שנכתב כבר במידת האפשר (למשל, אל תגלגל מחולל מספרים אקראי משלך).
  • העדיפו בהירות על ביצועים במידת האפשר.
  • השתמש רק בבלוקצ’יין עבור החלקים במערכת שלך שדורשים ביזור.

הישאר מעודכן

עקוב אחר התפתחויות אבטחה חדשות.

  • בדוק אם יש באג חדש בכל החוזים שלך ברגע שהוא התגלה.
  • שדרג לגרסה האחרונה של כל כלי או ספרייה בהקדם האפשרי.
  • אמצו טכניקות אבטחה חדשות שנראות שימושיות.

היו מודעים לאידיוסינקרציות של ה- EVM

בעוד שחלק ניכר מחוויית התכנות שלך יהיה רלוונטי לתכנות את’ריום, יש להכיר כמה מלכודות.

  • היזהר ביותר בשיחות חוזה חיצוניות, העלולות לבצע קוד זדוני ולשנות את זרימת הבקרה.
  • הבן כי התפקידים הציבוריים שלך הם ציבוריים, ואפשר לקרוא להם בזדון ובכל סדר. הנתונים הפרטיים בחוזים חכמים ניתנים לצפייה גם על ידי כל אחד.
  • זכור את עלויות הדלק ואת מגבלת הגז החוסמת.
  • שים לב כי חותמות זמן אינן מדויקות בבלוקצ’יין: כורים יכולים להשפיע על זמן ביצוע העסקה בטווח של שניות..
  • אקראיות אינה טריוויאלית בבלוקצ’יין, רוב הגישות לייצור מספרים אקראיים ניתנות למשחק בבלוקצ’יין.

פשרות בסיסיות

ישנם פשרות בסיסיות מרובות שיש לקחת בחשבון בעת ​​הערכת המבנה והאבטחה של מערכת חוזים חכמה. ההמלצה הכללית לכל מערכת חוזים חכמים היא לזהות את האיזון הראוי לפשרות בסיסיות אלה.

מערכת חוזה חכמה אידיאלית מהטיה בהנדסת תוכנה היא מודולרית, עושה שימוש חוזר בקוד במקום לשכפל אותו ותומכת ברכיבים הניתנים לשדרוג. מערכת חוזה חכמה אידיאלית מהטיה של ארכיטקטורה מאובטחת עשויה לחלוק את הלך הרוח הזה, במיוחד במקרה של מערכות חוזיות חכמות מורכבות יותר.

עם זאת, ישנם יוצאים מן הכלל החשובים שבהם שיטות העבודה המומלצות להנדסת אבטחה והנדסת תוכנה עשויות שלא להתאים. בכל מקרה, האיזון הנכון מתקבל על ידי זיהוי התמהיל האופטימלי של מאפיינים לאורך ממדי מערכת החוזה כגון:

  • נוקשה לעומת שדרוג
  • מונוליטי מול מודולרי
  • שכפול מול שימוש חוזר
נוקשה לעומת שדרוג

בעוד שמספר רב של משאבים, כולל זה, מדגישים מאפייני יכולת גמישות כגון דפוסים הניתנים להריגה, ניתן לשדרוג או ניתן לשינוי, קיים פשרה מהותית בין יכולת גמישות לביטחון..

דפוסי גמישות מעצם הגדרתם מוסיפים מורכבות ומשטחי התקפה פוטנציאליים. פשטות יעילה במיוחד על מורכבות במקרים בהם מערכת החוזים החכמים מבצעת קבוצה מוגבלת מאוד של פונקציונליות לפרק זמן מוגבל מוגדר מראש, למשל, מערכת חוזה מכר אסימונים ללא הגבלת זמן למסגרת..

מונוליטי מול מודולרי

חוזה מונוליטי עצמאי שומר על כל הידע מזוהה וקריא. אמנם יש מעט מערכות חוזים חכמות המוקנות כמתייחסות למונוליטים, אך יש לטעון למיקום קיצוני של נתונים וזרימה – למשל במקרה של אופטימיזציה של יעילות סקירת הקוד..

כמו בשאר הפשרות שנחשבות כאן, שיטות עבודה מומלצות בתחום האבטחה מתרחקות משיטות מומלצות להנדסת תוכנה בחוזים פשוטים לזמן קצר ומגמה לשיטות עבודה מומלצות להנדסת תוכנה במקרה של מערכות חוזיות נצחיות מורכבות יותר..

שכפול מול שימוש חוזר

מערכת חוזים חכמה מנקודת מבט של הנדסת תוכנה מבקשת למקסם את השימוש החוזר במידת הצורך. ישנן דרכים רבות לעשות שימוש חוזר בקוד החוזה ב- Solidity. שימוש בדרך כלל בחוזים מוכחים שבוצעו בבעלותך הוא הדרך הבטוחה ביותר להשיג שימוש חוזר בקוד.

שכפול נשען לעתים קרובות במקרים שבהם אין חוזים בבעלות עצמית שפרסו בעבר. מאמצים כגון ספריית המוצקות של OpenZeppelin חפש לספק דפוסים כך שניתן יהיה להשתמש שוב בקוד מאובטח ללא שכפול. כל ניתוח אבטחת חוזה חייב לכלול כל קוד בשימוש חוזר שלא ביסס בעבר רמת אמון התואמת את הכספים הנמצאים בסיכון במערכת החוזים היעד..

בנייה והשקה של יישומים באתריום הם ללא ספק הגבול המרתק ביותר עבור מהנדסי תוכנה כיום, אך זה דורש מידול איומים מתמשך, ביקורת אבטחה ותכנון תגובה לאירועים..

צוות החריצות כאן כדי לעזור לך לשמור על ערנות ולבנות אמון בפריסות שלך.

הזמינו בדיקת ספוט אבטחה של Blockchain

הביקורות החד-יומיות שלנו עוזרות לך לבנות אבטחה בקוד הבלוקצ’יין שלך מההתחלה, כך שתוכל לחסוך זמן וכסף בטווח הארוך. הזמן את עצמך היום אבטחה חוזים חכמים ניוזלטר הירשם לניוזלטר שלנו לקבלת החדשות האחרונות של Ethereum, פתרונות ארגוניים, משאבי מפתח ועוד. כתובת דוא”ל תוכן בלעדיכיצד לבנות מוצר מצליח של בלוקצ'ייןוובינר

כיצד לבנות מוצר מצליח של בלוקצ’יין

כיצד להגדיר ולהפעיל צומת אתריוםוובינר

כיצד להגדיר ולהפעיל צומת אתריום

כיצד לבנות ממשק API משלך של Ethereumוובינר

כיצד לבנות ממשק API משלך של Ethereum

כיצד ליצור אסימון חברתיוובינר

כיצד ליצור אסימון חברתי

שימוש בכלי אבטחה בפיתוח חוזים חכםוובינר

שימוש בכלי אבטחה בפיתוח חוזים חכם

העתיד של נכסים דיגיטליים של פיננסים ו- DeFiוובינר

עתיד האוצר: נכסים דיגיטליים ו- DeFi

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