it reminded me with some high deterministic hard realtime embedded frameworks. we used what was called "sandwitches" to make jobs/tasks take the exact same amount of time each run, even if the task finished earlier we would add a delay to match the pre-determined execution time!
مثال على ان ازاي ممكن تكتب كود صحيح و سريع بس غير آمن و ممكن يتس��ب في مشاكل أمنية.
تخيل ان مطلوب منك تكتب method بتقارن اتنين arrays مع بعض, و تقولك اذا كانوا متطابقين و لا لأ. غالباً حتكتب كود شبه ده
و هو كود صحيح و سريع لأنه أول ما يكتشف أول اختلاف بين العناصر حيقولك انهم مختلفين و مش حيحضيع وقت في الباقي.
طيب فين المشكلة؟
المشكلة ان سرعة الكود بتتناسب مع مدى تشابه ال arrays يعني لو a و b بينهم اختلاف في الأول الكود حيشتغل أسرع من لو الاختلاف ده حصل في الآخر.
فلوانت استخدمت ال method دي في مقارنة كجزء من عملية أمنية, زي مثلاً لو بتقارن hashes, cryptographic keys, passwords أو أي حاجة أمنية, ساعتها بتفتح ثغرة اسمها [1]Timing Attack و اللي الهاكر بيستخدم المعل��مة بتاعة وقت التنفيذ في انه يعرف اذا كان قرب من الحل الصحيح و لا لسة, و بالتالي ده بيسهل عليه جداً انه يخمن السر اللي بتحاول تحميه.
و هنا الحل الأمني ان أي كود بيعمل مقارنة لمعلومات أمنية, يكون Constant Time بمعنى انه بغض النظر الاختلاف حصل بدري أو لأ, لازم ياخذ نفس الوقت كل مرة.
و بالتالي حتكتب حاجة شبه كده
و اللي حتعمل نفس عدد العمليات بغض النظر عن وجود الاختلاف, و بالتالي حتاخذ نفس الوقت دايماً.
[1] https://t.co/ZZJh1mVJ2k
@kobi_ca@corecpp Well, no one is willing to trade their land with your blood-thirsty friends and innovations that mainly helps quicker children bloodshedding.
Why Israel Deliberately Targets Civilians
الفيديو ده مهم جدا
ضروري ينتشر علي اوسع نطاق
بيشرح بالتفصيل الممل بالمصادر والادلة المرتبة والتاريخ والممارسات ازاي ان خطة اسرائيل دايما استهداف المدنيين عمدا وعلي اوسع نطاق
دي الخطة اساسا
وليه هي بتعمل كده وللاسف اسلوب نجس بس ناجح
An Al Jazeera digital investigation found no grounds for the Israeli army's claim that the strike on the al-Ahli Arab hospital in Gaza was caused by a failed rocket launch.