در نسخههای 9.3.1 و 9.4.0 از برنامه تلگرام، یک آسیبپذیری وجود دارد که به حملات کنندگان امکان دسترسی به فایلها، میکروفون و یا ضبط ویدیو را از طریق پرچم DYLD_INSERT_LIBRARIES میدهد. پرچم DYLD_INSERT_LIBRARIES یک متغیر محیطی در سیستم عامل macOS است که امکان بارگذاری پویای یک کتابخانه پویا (Dylib) مشخص را در یک فرایند فراهم میکند. در این مورد، با بهرهگیری از آسیبپذیری، حملهکننده میتواند از این پرچم استفاده کرده و یک کتابخانه پویا مخرب را در فرآیند تلگرام درج کند، که این عمل امکان دسترسی غیرمجاز به منابع محدود شده مانند فایلها، میکروفون و ضبط ویدیو را فراهم میکند. محقق امنیتی گوگل، Dan Revah، آسیبپذیری با شناسه CVE-2023-26818 در نسخه macOS تلگرام کشف و گزارش کرده است که امکان دور زدن TCC را میدهد. (Transparency, Consent, and Control) TCC مکانیزمی است که دسترسی به برخی مناطق خاص که بعنوان محافظت از حریم خصوصی (privacy-protected) مشخص شده است را مدیریت میکند. در مقاله ای که منتشر شده است با تزریق Dynamic Library) Dylib) امکان دسترسی به دوربین دستگاه بدون نیاز به اجازه کاربر را میگیرد و به مدت 3 ثانیه ویدیو ضبط و دخیره میکند. نکتهای که وجود دارد بدین شرح است که در macOS حتی کاربر RooT هم دسترسی به میکروفن و ضبط تصویر و … را ندارد، مگر اینکه برنامه در طول دسترسی اولیه به برنامه، رضایت مستقیم کاربر را دریافت کرده باشد. (یا بصورت دستی اعمال شود).
مفاهیم پایه:
برای درک آسیب پذیری و نحوه بهره برداری ، ابتدا مفاهیمی شرح داده شده است.
شفافیت، رضایت و کنترل (TCC):
مکانیزمی در سیستم عامل macOS است که مدیریت دسترسی به بخشهای خاصی که به عنوان "حفاظت از حریم خصوصی" تعریف شدهاند را بر عهده دارد. دسترسی به این بخشها توسط جمع آوری رضایت کاربران یا تشخیص نیت کاربر از طریق یک عمل خاص فعال میشود.
سطوح دسترسی:
سطوح دسترسی (Entitlements) مجوزهایی هستند که به یک باینری خاص اعطا میشوند تا به امتیازات خاصی دسترسی پیدا کند. به عنوان مثال، برای اجازه دسترسی به میکروفون، باید برنامه با سطوح دسترسی مربوطه امضا شده باشد و در هنگام دسترسی اولیه به میکروفون، از کاربر مجوز دریافت کند.
اجرای امن: (Hardened Runtime)
اجرای امن به گفته توسعهدهندگان اپل، از تمامی انواع حملاتی مانند درج کد، هجوم به کتابخانههای پویا DLL و دستکاری فضای حافظه، جلوگیری میکند و جزئی از System Integrity Protection (SIP) است. این به این معناست که مکانیزم اجرای امن (Hardened Runtime) امنیت را به برنامههایی که به عنوان "محافظت شده" تعریف شدهاند، اضافه میکند. در iOS، برای بارگذاری یک برنامه در App Store، باید با سطوح دسترسی Hardenedجرای امن امضا شود. اما به نظر میرسد که این الزام در macOS وجود ندارد.
مراجع
2- https://nvd.nist.gov/vuln/detail/CVE-2023-26818
- 74