الهاكرز هم وجود مخيف في نظام Web3 البيئي. بالنسبة للمشاريع، يعني فتح الشيفرة المصدرية أن الهاكرز في جميع أنحاء العالم قد يركزون عليك، وبمجرد ظهور ثغرة أمنية، فإن العواقب قد تكون غير محتملة. بالنسبة للمستخدمين الأفراد، إذا لم يفهموا العمليات التي يقومون بها، فإن كل تفاعل أو توقيع على السلسلة قد يؤدي إلى سرقة الأصول. لذلك، كانت مشكلة الأمان دائمًا واحدة من أكثر القضايا تعقيدًا في عالم التشفير. نظرًا لخصائص البلوكشين، فإن استرداد الأصول المسروقة يكاد يكون مستحيلاً، لذا فإن اكتساب المعرفة الأمنية في عالم التشفير هو أمر بالغ الأهمية.
مؤخراً، بدأ أسلوب جديد من أساليب الاحتيال في الظهور، فبمجرد التوقيع سيتم سرقة الأصول، والأسلوب خفي للغاية وصعب الوقاية منه. أي عنوان تفاعل مع Uniswap قد يواجه خطرًا. ستتناول هذه المقالة توعية حول أسلوب الاحتيال بالتوقيع لتجنب المزيد من خسائر الأصول.
مجريات الحدث
مؤخراً، تمت سرقة أصول المحفظة لصديق ( الذي نطلق عليه اسم صغير A). على عكس طرق السرقة الشائعة، لم يقم صغير A بكشف مفتاحه الخاص، ولم يتفاعل مع عقود مواقع التصيد.
تظهر متصفح blockchain أن USDT في محفظة A الصغيرة تم نقله من خلال وظيفة Transfer From. وهذا يعني أن عنوانًا آخر قام بعملية نقل الرمز، وليس تسريب مفتاح المحفظة الخاص.
تفاصيل الصفقة تظهر:
تم نقل أصول 小A من عنوان ينتهي بـ fd51 إلى عنوان ينتهي بـ a0c8
هذه العملية تتفاعل مع عقد Permit2 الخاص بـ Uniswap
السؤال الرئيسي هو: كيف حصل العنوان الذي ينتهي بـ fd51 على إذن لهذه الأصول؟ ولماذا يتعلق الأمر بـ Uniswap؟
أظهرت التحقيقات الإضافية أنه قبل نقل أصول A الصغيرة، تم إجراء عملية تصريح من قبل العنوان الذي ينتهي برقم fd51، وكان الطرف المتفاعل في هذين العملين هو عقد تصريح Uniswap 2.
Uniswap Permit2 هو عقد جديد تم إطلاقه في نهاية عام 2022، يسمح بتفويض الرموز لمشاركة وإدارة عبر تطبيقات مختلفة، ويهدف إلى خلق تجربة مستخدم أكثر توحدًا وفعالية من حيث التكلفة وأمانًا. مع دمج المزيد من المشاريع لـ Permit2، يمكن أن يحقق توحيد الموافقة على الرموز في جميع التطبيقات، مما يقلل من تكاليف المعاملات ويعزز أمان العقود الذكية.
تعمل Permit2 كوسيط بين المستخدم وDapp، حيث يحتاج المستخدم فقط إلى منح إذن للتوكن لعقد Permit2، ويمكن لكل Dapp مدمجة مع Permit2 مشاركة هذا الحد من الإذن. هذا يقلل من تكلفة تفاعل المستخدم ويعزز التجربة. لكن هذه أيضًا سلاح ذو حدين، تكمن المشكلة في طريقة التفاعل مع Permit2.
في طرق التفاعل التقليدية، يكون التفويض وتحويل الأموال تفاعلات على السلسلة من قبل المستخدم. ولكن Permit2 تحول عمليات المستخدم إلى توقيعات خارج السلسلة، حيث تتم جميع العمليات على السلسلة بواسطة دور وسيط. الفائدة من ذلك هي أنه حتى لو كانت محفظة المستخدم لا تحتوي على ETH، يمكن استخدام رموز أخرى لدفع رسوم الغاز أو يتم تعويضها من قبل الدور الوسيط.
ومع ذلك، فإن التوقيع خارج السلسلة هو المرحلة التي يسهل على المستخدمين تجاهلها. العديد من الناس لا يتحققون بدقة من محتوى التوقيع، كما أنهم لا يفهمون معناه، وهذه هي النقطة الأكثر خطورة.
لتحفيز عملية التصيد بتوقيع Permit2، الشرط الأساسي هو أن المحفظة المخدوعة يجب أن تكون قد منحت إذنًا للرموز لعقد Permit2 الخاص بـ Uniswap. حاليًا، كل ما عليك فعله هو إجراء عملية تبادل على Dapp المدمج مع Permit2 أو على Uniswap، حيث يتوجب منح الإذن لعقد Permit2.
الأكثر رعبًا هو أنه بغض النظر عن مبلغ Swap، فإن عقد Permit2 الخاص بـ Uniswap سيتيح للمستخدمين بشكل افتراضي تفويض جميع أرصدة هذا التوكن. على الرغم من أن MetaMask يسمح بإدخال المبلغ المخصص، إلا أن معظم الأشخاص قد يختارون مباشرة القيمة القصوى أو القيمة الافتراضية، والقيمة الافتراضية لـ Permit2 هي حد غير محدود.
هذا يعني أنه طالما أنك تفاعلت مع Uniswap بعد عام 2023 ومنحت الإذن لعقد Permit2، فقد تواجه خطر هذا التضليل.
المفتاح هو دالة Permit، التي تسمح للهاكر باستخدام توقيعك لنقل حدود توكناتك المصرح بها لعقد Permit2 إلى عناوين أخرى. بمجرد حصوله على توقيعك، يمكن للهاكر الحصول على صلاحيات توكناتك في محفظتك ونقل الأصول.
تحليل تفصيلي للحدث
سير العمل في وظيفة permit:
تحقق مما إذا كان الوقت الحالي قد تجاوز فترة صلاحية التوقيع (sigDeadline)
التحقق من صحة التوقيع
إذا كانت من خلال المراجعة، فإن تحديث السجلات يسمح للآخرين باستخدام رموزك
التركيز على دالة verify ودالة _updateApproval.
تستخرج دالة verify القيم v و r و s الثلاثة من معلومات التوقيع، لاستخدامها في استعادة عنوان توقيع المعاملة. تقارن العقدة العنوان المستعاد بعنوان مالك الرمز المميز المدخل، فإذا كان متطابقًا يتم التحقق بنجاح، ويتم المتابعة لاستدعاء دالة _updateApproval؛ وإذا كان مختلفًا، يتم إلغاء المعاملة.
تقوم دالة _updateApproval بتحديث قيمة التفويض بعد التحقق من التوقيع، مما يعني أن صلاحياتك قد انتقلت. في هذه الحالة، يمكن للطرف المخول استدعاء دالة transferfrom لنقل الرموز إلى عنوان محدد.
تظهر المعاملات الحقيقية على السلسلة:
owner هو عنوان محفظة A الصغيرة ( رقم النهاية 308a)
يمكن رؤية عنوان عقد التوكن المصرح به (USDT) والمبلغ ومعلومات أخرى في التفاصيل.
Spender هو عنوان الهاكر الذي ينتهي بالرقم fd51
sigDeadline هو وقت صلاحية التوقيع، signature هي معلومات توقيع A الصغيرة
عند مراجعة سجل تفاعل Xiao A، تم اكتشاف أنه عند استخدامه لـ Uniswap، قام بالنقر على الحد الافتراضي للتفويض، أي حد تقريبًا غير محدود.
مراجعة بسيطة: قام الشخص A سابقًا بتفويض حد غير محدود من USDT لـ Permit2 عند استخدام Uniswap. لاحقًا، أثناء عملية استخدام المحفظة، وقع عن غير قصد في فخ تصيد توقيع Permit2 الذي صممه القراصنة. بعد أن حصل القراصنة على توقيع الشخص A، قاموا بتنفيذ عمليات التفويض والنقل في عقد Permit2، مما أدى إلى نقل أصول الشخص A. يبدو أن عقد Permit2 لـ Uniswap قد أصبح مرتعًا لعمليات التصيد، وقد بدأت هذه الأنشطة النمطية للتصيد بالتوقيع في النشاط قبل حوالي شهرين.
كيف نتجنب ذلك؟
نظرًا لأن عقد Uniswap Permit2 قد يصبح أكثر شيوعًا في المستقبل، فمن المحتمل أن تقوم المزيد من المشاريع بدمجه لمشاركة التفويض، تشمل الوسائل الفعالة للوقاية ما يلي:
فهم وتحديد محتوى التوقيع:
عادةً ما يتضمن تنسيق توقيع Permit معلومات أساسية مثل Owner و Spender و value و nonce و deadline. إذا كنت ترغب في الاستفادة من المزايا والتكاليف المنخفضة التي يوفرها Permit2، يجب عليك تعلم كيفية التعرف على هذا التنسيق التوقيعي. استخدام الإضافات الآمنة هو خيار جيد.
استخدام محفظة الأصول ومحفظة التفاعل بشكل منفصل:
إذا كنت تمتلك أصولًا كبيرة، يُنصح بتخزين الأصول الرئيسية في محفظة باردة، وترك القليل من الأموال في محفظة التفاعل على الشبكة، مما يمكن أن يقلل بشكل كبير من الخسائر عند مواجهة تضليل الصيد.
تقييد المبلغ المصرح به لعقد Permit2 أو إلغاء التفويض:
عند التبديل على Uniswap، قم بتفويض المبلغ المطلوب فقط للتفاعل. على الرغم من أن الحاجة إلى إعادة التفويض في كل تفاعل ستزيد من التكاليف، إلا أنها يمكن أن تتجنب التعرض للاحتيال على توقيع Permit2. إذا تم تفويض المبلغ، يمكنك استخدام الإضافة الآمنة لإلغاء التفويض.
التعرف على طبيعة الرموز وفهم ما إذا كانت تدعم وظيفة الإذن:
قد يكون هناك المزيد من رموز ERC20 التي ستدعم وظيفة التصريح في المستقبل. يجب أن نكون حذرين بشأن الرموز التي نملكها وما إذا كانت تدعم هذه الوظيفة، وإذا كانت تدعمها، يجب أن نكون أكثر حذراً في المعاملات أو العمليات، والتحقق بدقة من كل توقيع غير معروف إذا كان يتعلق بوظيفة التصريح.
إذا تم التضليل بعد ذلك ولا يزال هناك رموز موجودة على منصات أخرى، يجب وضع خطة إنقاذ كاملة:
بعد اكتشاف الاحتيال، إذا كانت هناك رموز مميزة موجودة على منصات أخرى من خلال الرهن أو غيره، يجب سحبها وتحويلها، مع الانتباه إلى أن القراصنة قد يراقبون رصيد عنوانك في أي لحظة. ضع عملية إنقاذ الرموز المميزة بشكل كامل، لضمان تنفيذ السحب والتحويل في نفس الوقت، لمنع إدخال معاملات القراصنة. يمكنك التفكير في استخدام تحويل MEV أو طلب المساعدة من شركات الأمان المحترفة مثل فريق Beosin.
قد تزداد عمليات الاحتيال المرتبطة بـ Permit2 في المستقبل. هذه الطريقة في الاحتيال من خلال التوقيعات خفية للغاية وصعبة الحماية، ومع توسع نطاق تطبيق Permit2، ستزداد العناوين المعرضة للخطر. نأمل أن يتمكن القراء من نشر هذا المقال ليصل إلى المزيد من الأشخاص، لتجنب تعرض المزيد من الناس للخسائر.
قد تحتوي هذه الصفحة على محتوى من جهات خارجية، يتم تقديمه لأغراض إعلامية فقط (وليس كإقرارات/ضمانات)، ولا ينبغي اعتباره موافقة على آرائه من قبل Gate، ولا بمثابة نصيحة مالية أو مهنية. انظر إلى إخلاء المسؤولية للحصول على التفاصيل.
تسجيلات الإعجاب 10
أعجبني
10
8
إعادة النشر
مشاركة
تعليق
0/400
DeFiGrayling
· منذ 2 س
الأمان هو أمر بالغ الأهمية حقًا
شاهد النسخة الأصليةرد0
TokenSleuth
· منذ 2 س
شاهد عيان على الحادثة الأولى، هذه الحيلة فعلاً يصعب تصديها.
شاهد النسخة الأصليةرد0
NotFinancialAdviser
· 08-10 23:39
مرة أخرى، أنا الجامع uni أتحمل المسؤولية عن المخاطر
شاهد النسخة الأصليةرد0
BlockTalk
· 08-10 15:17
又是 وقع في الفخ还是被盗
شاهد النسخة الأصليةرد0
AirdropChaser
· 08-10 15:16
هل هناك طريقة لاستردادها؟ إنه حقًا مؤسف.
شاهد النسخة الأصليةرد0
ZenChainWalker
· 08-10 15:06
آه، هناك خدعة جديدة، الموت المبكر يعني شريك متواطئ.
شاهد النسخة الأصليةرد0
AirdropHunterZhang
· 08-10 15:05
آه، بعد أن استمتعت به لفترة طويلة، يبدو أنه يجب أن أدفع الثمن. لقد قمت بتبديل uniV3 كثيرًا.
شاهد النسخة الأصليةرد0
LiquidationAlert
· 08-10 14:50
بعد رؤية العديد من ثغرات البروتوكول، لم أعد أجرؤ على التوقيع.
احتيال جديد في توقيع Uniswap Permit2: دليل التعرف على المخاطر والوقاية
كشف النقاب: احتيال توقيع Uniswap Permit2
الهاكرز هم وجود مخيف في نظام Web3 البيئي. بالنسبة للمشاريع، يعني فتح الشيفرة المصدرية أن الهاكرز في جميع أنحاء العالم قد يركزون عليك، وبمجرد ظهور ثغرة أمنية، فإن العواقب قد تكون غير محتملة. بالنسبة للمستخدمين الأفراد، إذا لم يفهموا العمليات التي يقومون بها، فإن كل تفاعل أو توقيع على السلسلة قد يؤدي إلى سرقة الأصول. لذلك، كانت مشكلة الأمان دائمًا واحدة من أكثر القضايا تعقيدًا في عالم التشفير. نظرًا لخصائص البلوكشين، فإن استرداد الأصول المسروقة يكاد يكون مستحيلاً، لذا فإن اكتساب المعرفة الأمنية في عالم التشفير هو أمر بالغ الأهمية.
مؤخراً، بدأ أسلوب جديد من أساليب الاحتيال في الظهور، فبمجرد التوقيع سيتم سرقة الأصول، والأسلوب خفي للغاية وصعب الوقاية منه. أي عنوان تفاعل مع Uniswap قد يواجه خطرًا. ستتناول هذه المقالة توعية حول أسلوب الاحتيال بالتوقيع لتجنب المزيد من خسائر الأصول.
مجريات الحدث
مؤخراً، تمت سرقة أصول المحفظة لصديق ( الذي نطلق عليه اسم صغير A). على عكس طرق السرقة الشائعة، لم يقم صغير A بكشف مفتاحه الخاص، ولم يتفاعل مع عقود مواقع التصيد.
تظهر متصفح blockchain أن USDT في محفظة A الصغيرة تم نقله من خلال وظيفة Transfer From. وهذا يعني أن عنوانًا آخر قام بعملية نقل الرمز، وليس تسريب مفتاح المحفظة الخاص.
تفاصيل الصفقة تظهر:
السؤال الرئيسي هو: كيف حصل العنوان الذي ينتهي بـ fd51 على إذن لهذه الأصول؟ ولماذا يتعلق الأمر بـ Uniswap؟
أظهرت التحقيقات الإضافية أنه قبل نقل أصول A الصغيرة، تم إجراء عملية تصريح من قبل العنوان الذي ينتهي برقم fd51، وكان الطرف المتفاعل في هذين العملين هو عقد تصريح Uniswap 2.
! [التوقيع مسروق؟] إزالة الغموض عن تصريح Uniswap2 احتيال التصيد الاحتيالي](https://img-cdn.gateio.im/webp-social/moments-0cc586809f131d9dfab81df33fd1835e.webp)
Uniswap Permit2 هو عقد جديد تم إطلاقه في نهاية عام 2022، يسمح بتفويض الرموز لمشاركة وإدارة عبر تطبيقات مختلفة، ويهدف إلى خلق تجربة مستخدم أكثر توحدًا وفعالية من حيث التكلفة وأمانًا. مع دمج المزيد من المشاريع لـ Permit2، يمكن أن يحقق توحيد الموافقة على الرموز في جميع التطبيقات، مما يقلل من تكاليف المعاملات ويعزز أمان العقود الذكية.
تعمل Permit2 كوسيط بين المستخدم وDapp، حيث يحتاج المستخدم فقط إلى منح إذن للتوكن لعقد Permit2، ويمكن لكل Dapp مدمجة مع Permit2 مشاركة هذا الحد من الإذن. هذا يقلل من تكلفة تفاعل المستخدم ويعزز التجربة. لكن هذه أيضًا سلاح ذو حدين، تكمن المشكلة في طريقة التفاعل مع Permit2.
في طرق التفاعل التقليدية، يكون التفويض وتحويل الأموال تفاعلات على السلسلة من قبل المستخدم. ولكن Permit2 تحول عمليات المستخدم إلى توقيعات خارج السلسلة، حيث تتم جميع العمليات على السلسلة بواسطة دور وسيط. الفائدة من ذلك هي أنه حتى لو كانت محفظة المستخدم لا تحتوي على ETH، يمكن استخدام رموز أخرى لدفع رسوم الغاز أو يتم تعويضها من قبل الدور الوسيط.
ومع ذلك، فإن التوقيع خارج السلسلة هو المرحلة التي يسهل على المستخدمين تجاهلها. العديد من الناس لا يتحققون بدقة من محتوى التوقيع، كما أنهم لا يفهمون معناه، وهذه هي النقطة الأكثر خطورة.
لتحفيز عملية التصيد بتوقيع Permit2، الشرط الأساسي هو أن المحفظة المخدوعة يجب أن تكون قد منحت إذنًا للرموز لعقد Permit2 الخاص بـ Uniswap. حاليًا، كل ما عليك فعله هو إجراء عملية تبادل على Dapp المدمج مع Permit2 أو على Uniswap، حيث يتوجب منح الإذن لعقد Permit2.
الأكثر رعبًا هو أنه بغض النظر عن مبلغ Swap، فإن عقد Permit2 الخاص بـ Uniswap سيتيح للمستخدمين بشكل افتراضي تفويض جميع أرصدة هذا التوكن. على الرغم من أن MetaMask يسمح بإدخال المبلغ المخصص، إلا أن معظم الأشخاص قد يختارون مباشرة القيمة القصوى أو القيمة الافتراضية، والقيمة الافتراضية لـ Permit2 هي حد غير محدود.
! [التوقيع مسروق؟] إزالة الغموض عن تصريح Uniswap2 احتيال التصيد الاحتيالي](https://img-cdn.gateio.im/webp-social/moments-bb348691082594ecc577f91d7f9dc800.webp)
هذا يعني أنه طالما أنك تفاعلت مع Uniswap بعد عام 2023 ومنحت الإذن لعقد Permit2، فقد تواجه خطر هذا التضليل.
المفتاح هو دالة Permit، التي تسمح للهاكر باستخدام توقيعك لنقل حدود توكناتك المصرح بها لعقد Permit2 إلى عناوين أخرى. بمجرد حصوله على توقيعك، يمكن للهاكر الحصول على صلاحيات توكناتك في محفظتك ونقل الأصول.
تحليل تفصيلي للحدث
سير العمل في وظيفة permit:
التركيز على دالة verify ودالة _updateApproval.
تستخرج دالة verify القيم v و r و s الثلاثة من معلومات التوقيع، لاستخدامها في استعادة عنوان توقيع المعاملة. تقارن العقدة العنوان المستعاد بعنوان مالك الرمز المميز المدخل، فإذا كان متطابقًا يتم التحقق بنجاح، ويتم المتابعة لاستدعاء دالة _updateApproval؛ وإذا كان مختلفًا، يتم إلغاء المعاملة.
تقوم دالة _updateApproval بتحديث قيمة التفويض بعد التحقق من التوقيع، مما يعني أن صلاحياتك قد انتقلت. في هذه الحالة، يمكن للطرف المخول استدعاء دالة transferfrom لنقل الرموز إلى عنوان محدد.
تظهر المعاملات الحقيقية على السلسلة:
عند مراجعة سجل تفاعل Xiao A، تم اكتشاف أنه عند استخدامه لـ Uniswap، قام بالنقر على الحد الافتراضي للتفويض، أي حد تقريبًا غير محدود.
مراجعة بسيطة: قام الشخص A سابقًا بتفويض حد غير محدود من USDT لـ Permit2 عند استخدام Uniswap. لاحقًا، أثناء عملية استخدام المحفظة، وقع عن غير قصد في فخ تصيد توقيع Permit2 الذي صممه القراصنة. بعد أن حصل القراصنة على توقيع الشخص A، قاموا بتنفيذ عمليات التفويض والنقل في عقد Permit2، مما أدى إلى نقل أصول الشخص A. يبدو أن عقد Permit2 لـ Uniswap قد أصبح مرتعًا لعمليات التصيد، وقد بدأت هذه الأنشطة النمطية للتصيد بالتوقيع في النشاط قبل حوالي شهرين.
كيف نتجنب ذلك؟
نظرًا لأن عقد Uniswap Permit2 قد يصبح أكثر شيوعًا في المستقبل، فمن المحتمل أن تقوم المزيد من المشاريع بدمجه لمشاركة التفويض، تشمل الوسائل الفعالة للوقاية ما يلي:
! [التوقيع مسروق؟] إزالة الغموض عن تصريح Uniswap2 احتيال التصيد الاحتيالي](https://img-cdn.gateio.im/webp-social/moments-730db044a34a8dc242f04cf8ae4d394c.webp)
استخدام محفظة الأصول ومحفظة التفاعل بشكل منفصل: إذا كنت تمتلك أصولًا كبيرة، يُنصح بتخزين الأصول الرئيسية في محفظة باردة، وترك القليل من الأموال في محفظة التفاعل على الشبكة، مما يمكن أن يقلل بشكل كبير من الخسائر عند مواجهة تضليل الصيد.
تقييد المبلغ المصرح به لعقد Permit2 أو إلغاء التفويض: عند التبديل على Uniswap، قم بتفويض المبلغ المطلوب فقط للتفاعل. على الرغم من أن الحاجة إلى إعادة التفويض في كل تفاعل ستزيد من التكاليف، إلا أنها يمكن أن تتجنب التعرض للاحتيال على توقيع Permit2. إذا تم تفويض المبلغ، يمكنك استخدام الإضافة الآمنة لإلغاء التفويض.
التعرف على طبيعة الرموز وفهم ما إذا كانت تدعم وظيفة الإذن: قد يكون هناك المزيد من رموز ERC20 التي ستدعم وظيفة التصريح في المستقبل. يجب أن نكون حذرين بشأن الرموز التي نملكها وما إذا كانت تدعم هذه الوظيفة، وإذا كانت تدعمها، يجب أن نكون أكثر حذراً في المعاملات أو العمليات، والتحقق بدقة من كل توقيع غير معروف إذا كان يتعلق بوظيفة التصريح.
إذا تم التضليل بعد ذلك ولا يزال هناك رموز موجودة على منصات أخرى، يجب وضع خطة إنقاذ كاملة: بعد اكتشاف الاحتيال، إذا كانت هناك رموز مميزة موجودة على منصات أخرى من خلال الرهن أو غيره، يجب سحبها وتحويلها، مع الانتباه إلى أن القراصنة قد يراقبون رصيد عنوانك في أي لحظة. ضع عملية إنقاذ الرموز المميزة بشكل كامل، لضمان تنفيذ السحب والتحويل في نفس الوقت، لمنع إدخال معاملات القراصنة. يمكنك التفكير في استخدام تحويل MEV أو طلب المساعدة من شركات الأمان المحترفة مثل فريق Beosin.
قد تزداد عمليات الاحتيال المرتبطة بـ Permit2 في المستقبل. هذه الطريقة في الاحتيال من خلال التوقيعات خفية للغاية وصعبة الحماية، ومع توسع نطاق تطبيق Permit2، ستزداد العناوين المعرضة للخطر. نأمل أن يتمكن القراء من نشر هذا المقال ليصل إلى المزيد من الأشخاص، لتجنب تعرض المزيد من الناس للخسائر.