7 تغريدة 15 قراءة Aug 24, 2020
الأغلب يعرف أنظمة التشغيل بتقسيمها المعتاد userspace, kernel. والـ boundaries بينهم لغرض الحماية. لكن هل تعرف عن طبقة حماية إضافية تسمى بـ Trusted Execution Environment أو TEE. هذي الطبقة موجودة في أغلب أجهزة الاندرويد ومعزولة بشكل كامل حتى عن الكيرنل
عزلها خليط بين هاردوير وسوفتوير وأشهر مثال عليها هو ARM TrustZone الموجود في أجهزة مثل Google Pixel, OnePlus, Samsung.
الإعتقاد الشائع أن بمجرد وصول الاتاكر للكيرنل أو بمعنى آخر root أن أصبح له تحكم كامل بالجهاز وكل مافيه من محتويات.
والهدف من الطبقة الإضافية هذي هي عكس الفكرة السابقة. سحب الثقة حتى بالكيرنل أو من يملك صلاحيات root. ويتم في منطقة محمية تنفيذ عمليات مثل التشفير، DRM، فتح الجهاز عن طريق باسورد، و secure payments, وغيره من عمليات حساسة.
على سبيل المثال نتفلكس لاترغب بأن يتم التلاعب في تطبيقها وتسجيل حلقات وغيره بمجرد كون المستخدم root على جهازه. وهنا يجي دور DRM في حماية حتى بث الفيديو لشاشة المستخدم عن طريق bus خاص لايمر على الكيرنل إنما للشاشة مباشرة. مثال آخر تطبيقات الدفع الالكتروني وحماية بيانات المستخدم.
على عكس نظام أندرويد. أغلب الـ TEE مثل QSEE ليست مفتوحة المصدر. ركزت في السنة الماضية على الـ implementation والتواصل بين الكيرنل والـTEE في عدة أجهزة مثل OnePlus, Google pixel. ولقيت عدة ثغرات مع زميل لي.
تذكرت الموضوع وانا افر بايميلي ولقيت وحدة من الثغرات من سنة و٣ شهور و OnePlus ساحبين علينا 😂. الثغرة في الامبلمنتيشن في نقطة فتح الجهاز. بدون تفاصيل كثيرة هذا ديمو سريع فيه أثر الثغرة أن الباسورد يصير ماله داعي أي باسورد ممكن يفتح الجهاز.
خلال بحثي تعمقت في آلية عملهم طورت اداة لعمل fuzzing لـ QSEE مرة basic وكان من التحديات الممتعة. النطاق هذا فيه مجال كبير للاستكشاف والثغرات للمهتمين. اذا في اهتمام بالموضوع ممكن أكتب مقالة عنه.

جاري تحميل الاقتراحات...