מיינט הרצליה

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

Lightning Development Kit, ערכת כלים לבניית יישומי ביטקוין Lightning, שוחררה בגרסה 0.2.6 ב-9 בספטמבר עם תיקונים עבור באגים שעלולים להסיט כמויות קטנות מהכספים של הצומת או למנוע טעינת מצב ערוץ שמור.

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

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

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

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

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

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

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

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

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

שתף את הפוסט
דילוג לתוכן