הגונב מגנב פטור?
במהלך גאוני, אך גם שנוי במחלוקת, הצליחו Jump ו- Oasis לשנע כספים שהחזיק הפורץ ישירות מתוך כספת החוזה החכם בפרוטוקול של Oasis, פעולה שלכאורה כלל לא הייתה אפשרית.
במהלך, הצליחו הצמד להחזיר לידם מטבעות דיגיטליים בסכום עתק של כ 225 מיליון דולר והעבירו אותם לארנק נפרד ובטוח.
נזכיר שפורץ ה Wormhole, ביצע את אחת מפריצות הקריפטו הגדולות ביותר אי פעם כאשר גנב מטבעות wETH או איתריום עטוף, בשווי של 321 מיליון דולר בחודש פברואר 2022.
הפרצה בוצעה על ידי ניצול חולשה בחוזה החכם של פרוטוקול ה Wormhole שמשמש כגשר (Bridge) בין רשתות בלוקצ’יין. הפורץ ניצל את הפרצה בחוזה החכם כדי לשאוב מאות אלפי מטבעות איתריום בשווי של מאות מליוני דולרים עוד לפני שמישהו הספיק להבין מה בכלל התרחש.
מאז ועד ללפני מספר ימים, הפורץ שינע את הסכום הגנוב פעמים רבות, סחר במטבעות ואפילו ביצע באמצעותו פעולות DeFi כמו לקיחת הלוואות, ביצוע Staking ועוד, זאת על מנת למנף את אחזקותיו הגנובות ולהרוויח אפילו עוד קצת כסף על הדרך.
לקורבן הגניבה, חברת Jump Crypto שעומדת מאחורי פרוטוקול ה Wormhole לא נותר הרבה מה לעשות חוץ מלעקוב אחרי הכספים הגנובים ברחבי הבלוקצ’יין בתקווה שאולי הפורץ יעשה טעות.
אחרי המתנה ארוכה וסבלנית בשבוע שעבר נפתח חלון ההזדמנויות ש Jump חיכו לו.
מסתבר שבסוף חודש ינואר האחרון, אותו האקר מפורסם הפקיד כ 120,069 מטבעות wstETH ועוד כ 3,210 מטבעות rETH לכספות בפרוטוקול ה Oasis. הפורץ השתמש בכספות האלו כדי ללוות מול הערבון שהפקיד את המטבע היציב DAI ובכך למנף אפילו עוד יותר את פוזיציות הלונג שהחזיק באיתריום.
הטעות (וקצת מזל)
אבל מסתבר שהפקדת הכספים בכספות של Oasis היא לא הפעולה היחידה שביצע הפורץ. בנוסף להפקדה, הפורץ אישר לפרוטוקול להשתמש בשירותי האוטומציה ש Oasis מציעים למפקידים בכספות שלהם. שירותי האוטומציה האלו נועדו על מנת לאפשר לכספות לנהל באופן אוטומטי את יחס הערבון של ההלוואות בהן לפי הצורך.
ואז, ב-16 לפברואר, פחות מחודש בלבד לאחר שהפורץ פתח את הכספות, הגיע גם המזל.
קבוצת האקרים הפועלת למטרות טובות, (Whitehat Group) הביאו לתשומת ליבם של מפתחי אפליקציית Oasis שהם איתרו חולשה בקוד שלהם שמאפשרת הוצאת כספים ישירות מכספות הפרוטוקול (מה שאמור היה להיות בלתי אפשרי) על ידי ניצול מנגנון המולטי-סיג של החוזה החכם בתנאי שמופעלות בכספת אותם שירותי אוטומציה שהפעיל הגנב.
מסתבר שהפורץ הזהיר עד כה, מבלי לדעת, אפשר את יצירתה של הדלת האחורית בחוזה שהובילה בסופו של דבר לריקון הארנק שלו רק 9 דקות אחרי פתיחת הכספת כאשר הזין בה הוראת סטופ-לוס אוטומטית.
אבל, זה לבדו לא היה מספיק ל Oasis כדי לבצע את שינוע הכספים. כדי לעשות את זה הם היו צריכים לשנות את הלוגיקה של החוזה שאחראי על ההוספה או ההורדה של הערבון מהכספת שלהם.
למזלם (שוב), מנגנון האוטומציה של Oasis משתמש במשהו שנקרא Upgradable proxy pattern. מנגנון זה מאפשר, בכל שלב, שינוי של לוגיקת החוזה החכם על ידי היוצר שלו בכפוף לאישור מנגנון מולטי-סיג של 4 מתוך 12.
לאחר שבחנו את הפרצה וניצולה לטובתם במשך מספר ימים ולאחר שקיבלו את אישורו ולמעשה את הוראותו של בית המשפט באנגליה לפעול על מנת להשיב את הכספים הגנובים בכל דרך אפשרית, מפתחי Oasis ניצלו את הפרצה החדשה שהתגלתה בקוד שלהם עצמם כדי לגנוב את הכספים בחזרה מתוך הכספת של הפורץ. קארמה איז אה ביץ’ :).
בהתייחסות להשלכות השליליות לכך של-Oasis יש את היכולת לגשת לכספי המשתמשים שלה, נכתב בבלוג של Oasis שחשוב להם לציין שפעולה חריגה שכזו, של פריצה למעשה לתוך כספת של אחד ממשתמשיה היא מהלך חריג וחד-פעמי שהתאפשר אך ורק בזכות גילוי הפרצה על ידי צוות ה Whitehat רק כמה ימים קודם לכן.
מבחינתם עד לאותו גילוי לא ניתן היה לגשת לכספים שנמצאים בכספת. הם התחייבו שפעולה כזו לא בוצעה מעולם ולא תבוצע שוב לעולם. כמו כן, הם ציינו שמיד אחרי שהכספים הגנובים הועברו לארנקים בטוחים, הפרצה בקוד תוקנה ונסגרה.
למיטבי לכת, ניתן למצוא ניתוח מלא ומעמיק של מהלך הפריצה הנגדי בפוסט הבא.