ثغرات أمنية ناتجة عن مُولِّد الأعداد العشوائية الضعيف في Dart/Flutter

2024-12-13

كشف بحث Zellic عن العديد من الثغرات الأمنية التي تسببها مُولِّد الأعداد العشوائية (PRNG) الضعيف في Dart/Flutter. أدى عيب في تهيئة دالة `Random()` داخل مجموعة أدوات تطوير Dart إلى عدم كفاية الانتروبيا في المفاتيح المُولَّدة، مما جعلها عرضة لهجمات القوة الغاشمة. سمح هذا للمهاجمين بالوصول بسهولة إلى Dart Tooling Daemon، مما مكنهم من قراءة أو كتابة ملفات مساحة العمل، بل وحتى تنفيذ تعليمات برمجية عشوائية. علاوة على ذلك، تأثرت مشاريع Proton Wallet وSelfPrivacy أيضًا بهذا المُولِّد الضعيف، حيث واجهت ثغرات تشفير ومشاكل تتعلق بكلمات مرور قابلة للتنبؤ. على الرغم من إصلاح الثغرة الأمنية، يُحث المطورون على توخي الحذر عند استخدام دالة `Random()`، واستخدام `Random.secure()` عندما تكون هناك حاجة إلى أعداد عشوائية آمنة تشفيرياً.

التطوير