פריצת גשרים

TL;DR גשרים ממלאים תפקיד חשוב יותר ויותר במתן אפשרות ל- blockchains שונים לתקשר זה עם זה. שיתוף ניסיון הן מהפריצה עם כובע לבן והן מהמנהיגות החדשה שלהם בתחום הביקורת של web3, האחים ומייסדי סייפר ניר דואן (מנכ"ל) ואור דואן (CTO) הציגו ב-Israel Crypto Community (ICC) ב-22/9/ 2022 על מדוע גשרים כל כך רגישים להתקפות, כיצד הם נפרצים, ומהן הגישות הטובות ביותר לביקורת חוזים חכמה מוצלחת על גשר.

למה צריך לבדוק גשר?

גשרים הם יעד משתלם במיוחד עבור האקרים קריפטו. יותר מ-1.6 מיליארד דולר נגנבו בשנת 2022 בלבד. זה בשילוב עם המורכבות המובנית שמגיעה עם קידוד גשר הופך את הביקורת לחלק הכרחי מתהליך הפריסה. Sayfer עוזר לחברות אחרות להיות בטוחות יותר על ידי ביצוע בדיקות חדירה, שהן חלק מכריע מביקורת אבטחה מלאה. ביקורת חוזים חכמה היא חלק מיוחד של ביקורת אבטחה המיועד לקוד הפונה לבלוקצ'יין של web3 מודרני, אפליקציה מבוזרת או dapp. תהליך הביקורת נועד להבטיח שברגע שהחוזה הבלתי ניתן לשינוי נפרס על הבלוקצ'יין, הוא יכול לעשות רק את מה שהוא נועד לעשות. גשרים מציגים מקרה מיוחד עוד יותר עבור המבקרים, מכיוון שהם מכילים רכיבי קוד בשתי הרשתות, כמו גם רכיב מחוץ לשרשרת. אם מתאים חשיבה אבטחה וביקורת לא תיושם בתחום זה של פיתוח web3, סביר מאוד להניח שמיליוני דולרים באסימונים ימשיכו להתנקז מגשרים שתוכננו בצורה גרועה.

מדריך שלב אחר שלב לביקורת גשר

למד על הארכיטקטורה

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

ניהול מפתח

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

ארכיטקטורת Validator

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

הבנת בסיס הקוד

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

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

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

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

כלי ביקורת

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

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

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

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

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

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

לאחר שלמדתם את המתודולוגיות הללו, צפו בחלק שבו ניר ואור הדגימו אתגר חי ב-ICC כיצד למצוא בפועל את הפגיעות בקוד:

<br> סיכום

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

נכתב על ידי: זואי רונן


נכתב על ידי
אנה שרדר

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

עבור לתוכן