فشل أمان منصات تداول الكريبتو في السرعة لا في التشفير
سرقة Binance بقيمة 6.3 مليار دولار في 20 دقيقة تكشف أن أمان منصات الكريبتو يفشل في سرعة التحويلات لا في التشفير. إليك ما يوقف السرقات السريعة فعلاً.

عشرون دقيقة. هذه هي المدة التي يُقال إن المهاجمين احتاجوها لسحب 6.3 مليار دولار من Binance، وهي أقل من الوقت الذي تحتاجه معظم فرق الاستجابة للحوادث لتجتمع في مكالمة فيديو. إن أخذت درسًا واحدًا من هذه الحادثة، فليكن هذا: أمان منصات تداول الكريبتو لا يفشل في الرياضيات. ربما كانت التوقيعات صحيحة، والمفاتيح فعلت ما تفعله المفاتيح دائمًا. الفشل في السرعة، أي أن منصة حديثة قادرة على تحويل بيانات اعتماد مخترقة واحدة إلى تسويات بمليارات الدولارات لا رجعة فيها، أسرع من أن ينطق أي إنسان كلمة «انتظر».
تشير التقارير الأولية إلى أن نقطة الدخول كانت جهاز موظف مخترقًا، وتعهدت المنصة بتغطية الخسائر والتعاون مع جهات إنفاذ القانون. لا ينبغي أن يطمئنك أي من ذلك. حاسوب محمول واحد يقف بين المهاجم و6.3 مليار دولار ليس بنية أمنية؛ إنه حادثة تنتظر أن تقع. قضينا عقدًا كاملًا في تقوية الطبقة الخطأ من هذه المنظومة، وهذه السرقة هي الفاتورة التي حان موعد دفعها.
عشرون دقيقة خلل تصميمي، لا يوم سيئ
الجزء المثير في القصة، أي عشرون دقيقة، هو في الواقع أقل الأجزاء إثارة للدهشة. كل سرقة كبيرة من منصة تداول تتبع النمط ذاته: أشهر أو سنوات من التحضير الصامت، ثم نافذة تنفيذ تُقاس بالدقائق. سرقة بنك بنغلاديش عام 2016 سارت بالطريقة نفسها. قضى المهاجمون شهورًا داخل شبكة البنك، ثم أرسلوا رسائل SWIFT احتيالية دفعة واحدة. كانوا يريدون مليار دولار، فحصلوا على 81 مليون فقط، ولم يتوقف الباقي إلا لأن موظفًا يقظًا في أحد البنوك المراسلة لاحظ شيئًا غريبًا. تدخّل الحظ. والحظ ليس ضابط أمان.
ما يجعل منصات الكريبتو مميزة، وهشة بشكل فريد، هو اجتماع ثلاث خصائص نادرًا ما تجتمع معًا في التمويل التقليدي. التسوية نهائية، فلا يوجد زر استرجاع. والتسوية سريعة، فلا توجد نافذة مراجعة. والتسوية قائمة على حامل الأداة، أي أن من يملك قدرة التوقيع يملك المال. يمكن تجميد حوالة مصرفية باتصال هاتفي بالبنك المراسل، أما دفعة من المعاملات الموقعة على البلوكتشين فلا يمكن إلغاء توقيعها. عندما يصل مهاجم إلى مسار التوقيع في المنصة، فهو لا يسرق المال، بل ينقله آنيًا.
إذن، رقم العشرين دقيقة ليس هو الفضيحة. الفضيحة أن تصميم النظام يجعل عشرين دقيقة كافية. إذا كانت بنيتك تسمح بخروج مليارات الدولارات من المبنى في وقت أقل من استراحة الغداء، فالمهاجم لا يحتاج أن يكون سريعًا. أنت من بنى السرعة لأجله.
لماذا لم يكن تشفير أفضل ليُنقذ المنصة
كلما تصدّرت سرقة بقيمة تسعة أو عشرة أرقام الأخبار، يكون الرد التلقائي أن إدارة المفاتيح لابد أنها كانت مهملة، وأنه كان ينبغي استخدام HSM، أو الحوسبة متعددة الأطراف (MPC)، أو نصاب توقيع متعدد أكبر. استوعبت الصناعة هذا الدرس جيدًا، حتى إن معظم المنصات الكبرى تستخدم اليوم HSM وMPC فعلًا. ومع ذلك تستمر السرقات، لأن المقدمة خاطئة. التشفير يجيب عن سؤال واحد: هل هذا الطلب أصيل؟ لكنه لا يستطيع الإجابة عن السؤال الذي يهم فعلًا أثناء السرقة: هل يجب أن يتم هذا الطلب الأصيل؟
إذا كانت نقطة الدخول حاسوب موظف مخترقًا، أي جلسة ببيانات اعتماد صحيحة ورموز MFA صحيحة ووصول صحيح إلى طبقة تنسيق السحب، فكل توقيع يُنتجه النظام يكون سليمًا تشفيريًا بلا عيب. لا يعرف HSM أن الإنسان الذي يشغله يُتحكم به عن بعد. ولا تساعد MPC عندما يخترق المهاجم عددًا كافيًا من أجهزة المشاركين، وهذا بالضبط ما حدث في سرقة جسر Ronin بقيمة 625 مليون دولار: خمسة مفاتيح من تسعة للمدققين، سُرقت عبر أجهزة مخترقة، لا عبر كسر للرياضيات. حتى الأسطورة الشائعة بأن البيتكوين نفسه «يُخترق» تنهار عند الفحص، كما وجدنا حين تفحصنا استغلالًا لبيتكوين عبر PHP كان يُروَّج له بكثافة، واكتشفنا أن التشفير لم يكن أبدًا نقطة الضعف. نقطة الضعف دائمًا هي اللحظة التي يُستخدم فيها نظام موثوق كما صُمم، من قِبل شخص لا ينبغي أن يقوده.
التشفير يحمي المفتاح. ولا شيء في الرياضيات يحمي اللحظة التي يُستخدم فيها المفتاح تمامًا كما صُمم ليُستخدم.
المراقبة لا تستطيع مواجهة ساعة العشرين دقيقة
ردة الفعل الثانية هي الكشف: مراقبة أفضل، وكشف للشذوذ، وذكاء اصطناعي يراقب التحويلات. المنصات تملك هذا بالفعل، وهو يعمل، وبه عرفنا أن السرقة استغرقت عشرين دقيقة. لكن الكشف والمنع منتجان مختلفان بميزانيات زمنية مختلفة. في مركز عمليات أمنية ناضج، يستغرق الانتقال من تنبيه عالي الدقة إلى إنسان يملك صلاحية إيقاف السحوبات عشرات الدقائق في أحسن الأحوال: استدعاء المناوب، والتحقق من أنه ليس إنذارًا كاذبًا، ثم التصعيد إلى من يستطيع سحب المفتاح الكبير، والحصول على الموافقة، ثم سحبه. عملية المهاجم كاملة تتسع داخل هذه الحلقة، مع وقت إضافي.
هذه هي المفارقة التي لا يريد أحد أن يحسبها. المدافعون يوظفون لساعات الدوام الرسمي، بينما يهاجم المهاجمون في عطلات نهاية الأسبوع والأعياد تحديدًا لأن أوقات الاستجابة تتراجع. وحتى عندما يُطلق التنبيه فورًا، فالتنبيه ليس زر الإيقاف، فالإنسان هو زر الإيقاف. لقد رأينا هذا الفيلم خارج عالم الكريبتو: سرقة بنك بنغلاديش أُوقفت بفضل شخص لا بفضل نظام، وذلك الشخص كاد لا يكون موجودًا. إذا كانت آخر خط دفاع لديك هي «نأمل أن يكون أحدهم يراقب لوحة المعلومات»، فأنت لا تملك خط دفاع أخيرًا. ينطبق المنطق نفسه بعيدًا عن المنصات، فقد قدمنا حجة مشابهة حول لماذا تتفوق الاحتواء على المراقبة للوكلاء المستقلين: الرصد دون القدرة على التدخل ليس سوى تسجيل لفشلك.

تغطية الخسائر اعتراف لا حل
تقول Binance إنها ستغطي كل الخسائر، ولها فضل في ذلك، فقد فعلت هذا من قبل. بعد اختراق عام 2019 لـ7,000 بيتكوين، أعاد صندوق SAFU للتأمين المستخدمين أموالهم. لم يتأثر السوق كثيرًا حينها، ولن يتأثر كثيرًا الآن على الأرجح. لكن لنكن صريحين حول ما يعنيه «سنغطي الخسارة» معماريًا: لا شيء. التأمين آلية في الميزانية لامتصاص الفشل، لا آلية هندسية لمنعه. إنه يحوّل الكارثة إلى بند مصروفات، وهذا منطقي للمنصة، لكنه لا يعني شيئًا للمهاجم التالي، الذي يواجه نافذة العشرين دقيقة نفسها.
هناك أيضًا مشكلة حجم لا يريد أحد في الصناعة قولها بصوت عالٍ. خسارة بقيمة 6.3 مليار دولار تتجاوز سعة التأمين الإجمالية المتاحة لقطاع الكريبتو بأكمله بأضعاف. لا توجد على الأرض سوى حفنة من المنصات قادرة على تأمين خسارة كهذه ذاتيًا. وكل منصة أصغر، وهناك مئات تحتفظ بأموال عملاء مهمة، تراهن ضمنيًا على ألا تكون هي الضحية التالية. هذه بالضبط الفجوة التي وُجدت التأمينات على الودائع والتنظيم الاحترازي لسدها في القطاع المصرفي، ولهذا فإن غريزة «ألا يجب أن تُلاحَق Binance بتهمة الإهمال الأمني؟»، مهما كانت فجة، تشير إلى شيء حقيقي. قررنا قبل قرن تقريبًا أن المؤسسات التي تحتفظ بأموال الآخرين لا تملك حق اختيار مستوى المخاطرة بنفسها. وقد قضى الكريبتو خمسة عشر عامًا يعيد النقاش في هذا القرار، سرقة تلو أخرى.
قواطع الدائرة: الحل الذي اخترعته الأسواق بالفعل
الجزء المحبط أن التمويل حل هذه المشكلة قبل عقود، لكن في اتجاه مختلف. بعد انهيار عام 1987، اعتمدت البورصات قواطع الدائرة التي توقف التداول عندما تتحرك الأسعار بعيدًا وبسرعة كبيرة. لا أحد يزعم أن التوقف يمنع الاحتيال أو الانهيارات؛ الغاية هي تحويل عملية جامحة إلى عملية خاضعة للإشراف، فتكسب وقتًا للحكم البشري. المنطق نفسه ينطبق على عمليات الإخراج، وهو بسيط إلى درجة محرجة: لا ينبغي لأي منصة أن تُصدر أكثر من جزء صغير من أصولها في أي نافذة زمنية قصيرة، مهما كانت التوقيعات صحيحة.
قاطع الدائرة للسحب هو محرك سياسات يقع في مسار التوقيع، ويعامل السرعة نفسها كعلامة شذوذ. والأهم أنه لا يسأل إن كان الطلب أصيلًا، بل يفترض أن كل طلب قد يكون أصيلًا وخبيثًا في آن، ويحدّ من نطاق الضرر على أي حال:
from dataclasses import dataclass
from datetime import datetime, timedelta
@dataclass
class WithdrawalPolicy:
window: timedelta = timedelta(minutes=30)
max_outflow_pct: float = 2.0 # of hot-wallet balance per window
hard_freeze_pct: float = 5.0 # trip the breaker entirely
large_threshold_usd: float = 1_000_000
large_delay: timedelta = timedelta(hours=24)
class CircuitBreaker:
def __init__(self, policy: WithdrawalPolicy):
self.policy = policy
self.recent: list[tuple[datetime, float]] = []
self.tripped = False
def authorize(self, amount_usd: float, hot_balance_usd: float) -> str:
if self.tripped:
return "REJECT: breaker tripped, manual review required"
now = datetime.utcnow()
cutoff = now - self.policy.window
self.recent = [(t, a) for t, a in self.recent if t > cutoff]
outflow_pct = 100 * (sum(a for _, a in self.recent) + amount_usd) / hot_balance_usd
if outflow_pct > self.policy.hard_freeze_pct:
self.tripped = True
return "HALT: outflow exceeded safety threshold, withdrawals frozen"
if outflow_pct > self.policy.max_outflow_pct:
return "QUEUE: velocity limit reached, withdrawal delayed"
if amount_usd > self.policy.large_threshold_usd:
return f"DELAY: held {self.policy.large_delay} for review"
self.recent.append((now, amount_usd))
return "APPROVE"
تأمل ما يمنحك إياه هذا بالأرقام من هذه السرقة. إذا احتفظت المحفظة الساخنة بنسبة 10% فقط من 6.3 مليار دولار، فإن إيقافًا صارمًا عند 5% من رصيد المحفظة الساخنة يحد الخسائر التلقائية عند نحو 31 مليون دولار، أي يوم سيئ لا حدث وجودي. والأهم أن عدْو المهاجم البالغ عشرين دقيقة يتحول إلى زحف يستمر أيامًا، وهذا يعني أن فريق المراقبة يحصل أخيرًا على فرصته. الغاية ليست التفوق على المهاجم، بل كسب الوقت حتى يصل إنسان. هذا هو الهندسة الدفاعية بمعناها الكلاسيكي: صمّم النظام بحيث يكون أسوأ فشل فيه مملًا.

تأخير السحب وحجة العودة إلى البنوك المملة
قواطع الدائرة تتعامل مع السرعة، والتأخير يتعامل مع الحجم. السلاح السري للنظام المالي التقليدي ليس التعقيد، بل الاحتكاك. الحوالات يمكن استرجاعها، وACH يستغرق أيامًا، والتحركات الكبيرة تُفعّل فترات احتجاز ومكالمات تأكيد إلى جهات اتصال معروفة عبر قنوات منفصلة. أما الكريبتو فقد أزال كل ذلك لأن التسوية الفورية النهائية كانت هي المنتج. لكن يمكنك إعادة إدخال الاحتكاك بشكل انتقائي عند حد السحب، دون المساس بتجربة التداول التي يهتم بها المستخدمون فعلًا:
- سحوبات كبيرة مؤجلة زمنيًا. أي مبلغ فوق حد معين ينتظر 24 ساعة في طابور مرئي. المستخدمون يخططون حوله، أما المهاجمون فلا يستطيعون، فكل ساعة تأخير هي ساعة لاكتشاف الاختراق.
- حدود صارمة للمحفظة الساخنة. احتفظ فقط بما تحتاجه السحوبات العادية لمدة 24 ساعة على الإنترنت، وفي معظم المنصات هذه نسبة منخفضة من الأصول. حركات التخزين البارد تتطلب مراسم متعددة الأطراف تستغرق أيامًا، ولا يمكن تسريعها بأي بيانات اعتماد.
- قائمة بيضاء لعناوين السحب مع تأخير التغييرات. تُفعَّل عناوين السحب الجديدة بعد تأخير مع تأكيد خارج النطاق. وهذا يُبطل الحركة الكلاسيكية لتبديل عناوين الوجهة أثناء الاختراق.
- صلاحيات توقيع مجزأة. لا يستطيع أي جهاز أو دور أو جلسة منفردة، مهما كانت موثوقة، نقل أكثر من مبلغ محدد. تقل أهمية نقطة الدخول عندما يكون نطاق الضرر صغيرًا، وهو درس علّمه حادث سلسلة توريد LiteLLM لنظام بايثون البيئي: أجهزة المطورين هي الهدف الأسهل.
- إثبات احتياطيات علني مع الالتزامات. ليس ضابط سرقة، بل جرس إنذار للملاءة يُجبر خيار التستر على الخروج من الطاولة مبكرًا.
لاحظ أن أيًا من هذه لا يتطلب تشفيرًا جديدًا، ولا أجهزة جديدة، ولا علمًا جديدًا. إنها سياسات. وهي أيضًا غير شعبية، لأن كل واحدة منها كابوس لمدير المنتج، من احتكاك وتأخير وحدود، ولأن اقتصاديات المنصات تكافئ الإنتاجية والفورية في كل شيء. التوتر حقيقي، وإجابة الصناعة حتى الآن كانت قبول مخاطر الذيل الكارثية مقابل واجهة مستخدم سلسة. سرقة بقيمة 6.3 مليار دولار في عشرين دقيقة هي ما يبدو عليه هذا المقايضة عندما يحين موعد دفعها.
السرعة اختيار، فاختَرها بوعي
هناك قول مأثور في الاستجابة للحوادث: عندما تهم الثواني، نرقّع في أيام إلى أسابيع. هذه السرقة تقلب القول، فعندما تهم الثواني يتحرك المال في دقائق، وعملية المدافعين كلها مبنية لعالم أبطأ. لا يمكن إصلاح ذلك بتنبيهات أذكى أو مفاتيح أقوى، لأن المهاجم لا يكسر المفاتيح ولا يختبئ من التنبيهات. إنه يستخدم نظامك كما صُمم، وبالسرعة التي صممته لتعمل بها.
إذن السؤال الصريح لكل مهندس منصات، وبصراحة لكل مهندس يبني أنظمة تنقل القيمة، ليس «كيف نُبقي المهاجمين بعيدًا إلى الأبد؟». لن تفعل ذلك. الحواسيب المحمولة تُخترق، والناس يتعرضون للتصيد، وسلاسل التوريد تُلوَّث. السؤال هو: عندما يدخل أحد، هل تفشل بنيتك سريعًا أم ببطء؟ الآن، إجابة الصناعة هي سريعًا، ونهائيًا، ومُذاعًا على الهواء. سقوف السرعة، والسحوبات المؤجلة زمنيًا، وحدود المحافظ الساخنة الصارمة هي ما يغيّر هذه الإجابة. التقنية بسيطة. الإرادة لقبول قدر من الاحتكاك ليست كذلك. وإن رفضت الصناعة اختيار هذا الاحتكاك بنفسها، فإن الجهات التنظيمية، وهي تشاهد خسارة بقيمة 6.3 مليار دولار تحدث بين استراحتين للقهوة، ستختاره عنها في النهاية.


