چه اتفاقی میافتد اگر لپتاپ شما بدون اطلاعتان ویدئویی از محیط اطراف شما ضبط کند یا صدای شما را در حین مکالمه تلفنی یا صحبت کردن با کسی ضبط کند؟ این سناریو نه تنها ترسناک به نظر میرسد بلکه انجامشدنی نیز هست.
کد سمت کلاینت سایتها در مرورگر کروم موجب جاسوسی صوتی و تصویری از کاربران میشود. این نقض در مرورگر کروم اجازه میدهد وبسایتهای مخرب صدا یا ویدئو کاربر را بدون هیچگونه هشدار یا نشانههای بصری ضبط کنند و بدین صورت کاربر مورد سوءاستفاده قرار گیرد.
برای این کار نیازی به استفاده از واسطههای سخت و محلی ویندوز یا پلاگینهای عجیب مرورگر نیست. هر دو مرورگر فایرفاکس و کروم (و مرورگر اج نیز به زودی) اجازه دسترسی به دوربین لپتاپ، تبلت، گوشی یا هر وسیله دیگر را میدهند. برای مقابله با این خطرات، توسعهدهندگان مرورگرها دو مانع را ایجاد کردهاند که باعث جلوگیری یا حداقل کاهش نقض حریم خصوصی شوند.
این آسیبپذیری در دهم آوریل ۲۰۱۷ توسط یک توسعهدهنده به گوگل گزارش شد اما این غول فناوری این آسیبپذیری را به عنوان یک مسئله امنیتی معتبر نپذیرفت. بنابراین بر اساس اطلاعات وبسایت مرکز ماهر (مدیریت امداد و هماهنگی رخدادهای رایانهای)، هیچ وصله امنیتی رسمی برای این آسیبپذیری در کار نیست، اما گوگل اعلام کرده است که در آینده راهکاری برای بهبود این شرایط پیدا خواهد کرد.
ارتباطات ویدیویی و صوتی که از طریق مرورگرها انجام میشوند بر مبنای پروتکل WebRTC (Web Real-Time Communications) هستند. به منظور حفظ امنیت، به راحتی میتوان پروتکل WebRTCرا غیرفعال کرد که اگر به آن نیازی نباشد میتوان این کار را به راحتی انجام داد. اما اگر به این ویژگی نیاز باشد، وبسایتهای معتبر را مجاز به استفاده از پروتکل WebRTC کنید و مراقب هر پنجره دیگری که ممکن است پس از آن در بالای صفحه ظاهر شود، باشید.
دسترسی به دوربین و میکروفن با اجازه کاربر
برای جلوگیری از پخش غیرمجاز صوتی و تصویری بدون اجازه کاربر، ابتدا مرورگر از کاربران درخواست میکند که با صراحت اجازه استفاده وبسایت از پروتکل WebRTC و دسترسی به دوربین و میکروفن دستگاه را بدهد. با این فرض وبسایت برای همیشه به دوربین و میکروفن دستگاه ما دسترسی خواهد داشت تا زمانی که ما به صورت دستی امتیاز پروتکل WebRTC را باطل کنیم. در گوگلکروم نیز یک آیکون به شکل نقطه قرمز ظاهر میشود که کاربران در مورد جریان ضبط زنده صوتی و تصویری اطلاع میدهد.
کد پایه جاوا اسکریپت برای شروع دسترسی به دستگاههای صوتی و تصویری است. اجرای این کد باعث میشود که مرورگر از کاربر درخواست اجازه استفاده عمومی از دستگاههای صوتی و تصویری را بدهد. در مرورگر کروم، این درخواست اجازه دسترسی به دستگاههای صوتی و تصویری همانند درخواستهای دیگر است.
ممکن است بسیاری از کاربران یکی از این درخواستها را تایید کنند.
از آنجایی که بسیاری از سایتهای خبری درخواست اطلاعرسانی میکنند و بسیاری از سایتهای رستورانها، هتلها و مراکز خدماتی درخواست دانستن محل را میکنند، کاربران فقط این درخواستها را تایید میکنند و در مورد آن خیلی فکر نمیکنند. اما جای ترس نیست، زیرا یک خط دفاعی مهم دیگری نیز وجود دارد. بعد از گرفتن اجازه عمومی کاربر برای استفاده صوتی و تصویری، توسعهدهنده به جریانی از اطلاعات از طریق دستگاههای صوتی و تصویری دسترسی پیدا میکند، اما برای استفاده از این جریان اطلاعاتی توسعهدهنده باید آن را ضبط کند. این کار با استفاده از MediaRecorder انجام میشود.
این علامت رکورد آخرین و مهمترین خط دفاعی است. اجازه کلی استفاده از دستگاه صوتی و تصویری فقط یک بار از کاربر درخواست میشود که کاربر ممکن است خطا کند و آن را بپذیرد. آخرین خط دفاعی زمانی است که این درخواست پذیرفته شود. هشدار ضبط در هر مورد استفاده از جریان رکورد داده میشود و بدون اطلاع کاربر از هر ضبطی ممانعت میکند.
اما روال کار همیشه اینگونه نیست، بهطوری که توسعهدهندگان میتوانند از یک نقض که با دستکاری کوچک در UX به وجود میآید برای فعال کردن MediaRecorder API بدون هشدار دادن به کاربران بهرهبرداری کنند. این فرآیند کاملا ساده است به این صورت که بعد از اعطای دسترسی عمومی توسط کاربر یک پنجره باز میشود که از آن پنجره MediaRecorder فعال میشود. در کروم هیچ نشانهای از ضبط بصری وجود نخواهد داشت.
برای این آسیبپذیری یک صفحه دموی کوچک پیادهسازی شده است که دو دکمه دارد. دکمه اول اجازه دستگاه را درخواست میکند. بسیاری از سایتها این درخواست را میکنند و اکثر کاربران بدون هیچگونه فکری این درخواست را میپذیرند. دکمه دوم حمله را شبیهسازی میکند که فرآیند آن آسان است. به این صورت که یک پنجره بدون سربرگ باز میشود و شروع به ضبط از کاربر میکند. تمام کاری که باید در این صفحه دمو انجام شود این است که روی این دکمه کلیک شده تا به وبسایتها اجازه استفاده از پروتکل WebRTC در مرورگر داده شود. بعد ۳۰ ثانیه شما میتوانید تصویر یا صدای ضبطشده را از کامپیوتر دانلود کنید.
اگر در هر وبسایت مجازی یک پنجره بدون سربرگ بی سرو صدا ایجاد شود که از کدهای جاوا اسکریپت استفاده میکند، میتواند شروع به ضبط مخفیانه صدا و تصویر کند که این اتفاق بدون هیچگونه آیکن نقطه قرمز یا دادن هرگونه نشانه در مرورگر اتفاق میافتد.
به منظور حفظ امنیت، به راحتی میتوان پروتکل WebRTC را غیرفعال کرد که اگر به آن نیازی نباشد میتوان به راحتی انجام داد، اما اگر به این ویژگی نیاز باشد، وبسایتهای معتبر را مجاز به استفاده از پروتکل WebRTC کنید و مراقب هر پنجره دیگری که ممکن است پس از آن در بالای صفحه ظاهر شود باشید. هرچند که گذاشتن نوار بر روی وبکم نمیتواند مانع از رکورد صدای کاربر توسط هکرها و آژانسهای جاسوسی دولت شود، اما حداقل میتواند مانع از گرفتن عکس یا ضبط ویدئوی شما شود.