برای پژوهشگران امنیتی که حملات غیرمتعارف Side-Channel را بررسی میکنند، Acoustic Keylogging یا شنود صوتی صفحهکلید چیزی شبیه Hello World است؛ مسئلهای پایه که تاکنون بارها مورد بررسی قرار گرفته است.
یک مقاله پژوهشی جدید که توسط پژوهشگران سه دانشگاه ژاپن منتشر شده، به شش مطالعه قبلی در این زمینه اشاره میکند که قدیمیترین آنها به سال ۲۰۰۴ بازمیگردد. آزمایشهای پیشین از نظر تئوری امیدوارکننده بودند، اما محدودیتهای آنها در دنیای واقعی آنقدر جدی بود که استفاده عملی از این روش برای جاسوسی تقریباً غیرممکن میشد.
با این حال، نویسندگان پژوهش جدید ادعا میکنند که توانستهاند بر بیشتر این محدودیتها غلبه کنند. در ادامه بررسی میکنیم که آنها چگونه به این نتیجه رسیدهاند و آیا روش پیشنهادیشان در سناریوهای واقعی نیز کارایی دارد یا خیر.
رویکرد جدید چه تفاوتی دارد؟
روشهای قبلی Acoustic Keylogging محدودیتهای اساسی داشتند. در بهترین حالت، لازم بود مدل از قبل با مدل مشخص صفحهکلید قربانی آموزش داده شود. در بدترین حالت نیز برای تشخیص تفاوتهای صوتی بسیار ظریف میان کلیدها، به مجموعهای پیچیده از میکروفونها نیاز بود.
مهمتر از همه اینکه تقریباً تمام مدلهای قبلی خارج از محیطهای ساکت عملکرد مناسبی نداشتند و همین مسئله، این روش حمله را در عمل تقریباً بلااستفاده میکرد.
تیم پژوهشی ژاپنی نشان داد که میتوان کلیدهای فشردهشده را حتی در شرایطی که قربانی در یک فضای عمومی نزدیک مهاجم نشسته باشد، صدای تایپ از طریق یک جلسه آنلاین ضبط شود یا پژوهشگران برای شنود از پشت دیوار از Contact Microphone استفاده کنند، با اطمینان بالایی شناسایی کرد.
تمام این موارد با دقت بالای مدل و حجم بسیار محدودی از دادههای آموزشی امکانپذیر شده است. این روش تنها به نمونهای شامل ۱۵۰ تا ۲۰۰ بار فشردن کلید نیاز دارد تا در شناسایی تایپهای بعدی به دقت ۹۹ درصد برسد.
سناریوهای حمله و روش اصلی پیشنهادی پژوهشگران ژاپنی
چگونه ۲۰۰ کلید فشردهشده را در کمتر از ۵۰ مرحله شناسایی کنیم؟
برای درک اینکه پژوهشگران چگونه به چنین دقت و انعطافپذیری بالایی رسیدهاند، باید Pipeline پردازش صوت آنها را بررسی کنیم.
تحلیل با تقسیم خودکار فایل صوتی خام به صداهای مجزای ناشی از فشردن هر کلید آغاز میشود. سپس دادهها وارد یک الگوریتم تخصصی میشوند که مراحل بعدی تحلیل صوتی را سادهتر میکند.
در مرحله بعد، سیستم سیگنالهایی را که از نظر صوتی به یکدیگر شبیه هستند در یک Cluster قرار میدهد. فرض بر این است که اعضای هر Cluster به یک کلید مشخص تعلق دارند.
یکی از نکات جالب این پژوهش، امکان تشخیص صدای Spacebar از سایر کلیدها بود. از آنجا که Spacebar الگوی صوتی کاملاً متمایزی نسبت به سایر کلیدها ایجاد میکند، شناسایی آن مرز میان کلمات را مشخص میکند. همین موضوع مرحله بعدی، یعنی ارسال دادههای صوتی پیشپردازششده به مدلهای زبانی تخصصی برای تحلیل، را بسیار سادهتر میکند.
این روش نه از یک مدل، بلکه از دو مدل زبانی استفاده میکند.
مدل نخست چندین بار جریان صوتی را بررسی میکند تا الگوهای صوتی را به کاراکترهای احتمالی صفحهکلید مرتبط کند. در هر مرحله، مدل با استفاده از Dictionaryها نگاشت احتمالی کاراکترها را حدس میزند و بررسی میکند که آیا متن حاصل با کلمات استاندارد مطابقت دارد یا خیر.
مدل دوم مرحله نهایی اصلاح را انجام میدهد. ورودی این مدل بهجای داده خام، اطلاعاتی است که مراحل کامل پیشپردازش را پشت سر گذاشتهاند.
اما فرایند در همینجا متوقف نمیشود. کلیدهایی که شناسایی نشدهاند بهصورت دستی تحلیل میشوند و کارشناسان حدسهای مبتنی بر تحلیل خود را به سیستم اضافه میکنند؛ سپس Pipeline شناسایی دوباره اجرا میشود.
هدف از تکرار این مراحل، رسیدن به شناسایی کامل کلیدهای صفحهکلید با استفاده از Dataset بسیار کوچکی است که در حالت ایدهآل، بیش از ۲۰۰ کلید ثبتشده ندارد. این رویکرد تفاوت قابلتوجهی با روشهای قدیمی دارد که به Datasetهای آموزشی بسیار بزرگ وابسته بودند.
Cluster کردن صدای کلیدها امکان گروهبندی الگوهای صوتی مشابه را پیش از مرحله شناسایی فراهم میکند. صدای Spacebar بهوضوح از سایر کلیدها متمایز است و همین موضوع بازسازی متن را در مراحل بعد بسیار سادهتر میکند.
نتایج پژوهش
پژوهشگران برای ارزیابی مدل تئوری خود، یک محیط آزمایشی ایجاد کردند.
تیم پژوهشی چهار مدل مختلف لپتاپ را آزمایش کرد که هرکدام الگوی صوتی متفاوتی برای صفحهکلید خود داشتند. شرکتکنندگان در هر آزمایش ۲۴۰۰ کاراکتر تایپ کردند و کارشناسان نمونههای صوتی شامل ۵۰ تا ۴۰۰ کلید فشردهشده را استخراج کردند.
در تمام دستگاهها، سیستم توانست با استفاده از نمونه پایهای شامل تنها ۱۵۰ کلید یا بیشتر، متن تایپشده را با اطمینان بازسازی کند.
دقت شناسایی با ۱۵۰ کلید از ۸۰ درصد فراتر رفت و زمانی که حجم نمونه به ۲۰۰ کلید رسید، دقت به نزدیک ۱۰۰ درصد افزایش یافت.
پژوهشگران در شرایط نزدیکتر به محیط واقعی و در حالی که میکروفون در فاصله سهمتری از دستگاه هدف قرار داشت نیز تقریباً به همین نتایج رسیدند.
تیم پژوهشی حتی سناریوی دشوارتری را با موفقیت آزمایش کرد: استفاده از یک Contact Microphone تخصصی برای شنود از پشت یک دیوار فیزیکی.
لپتاپ هدف و گوشی هوشمند مهاجم
در این شرایط، دقت برای برخی مدلهای لپتاپ اندکی کاهش یافت. دستگاههای Dell و Lenovo با نمونهای شامل ۲۰۰ کلید، دقتی در حدود ۸۰ درصد داشتند؛ در حالی که دستگاههای Apple و HP همچنان نرخ شناسایی نزدیک به ۱۰۰ درصد را حفظ کردند.
شنود از راه دور در جریان جلسات ویدئوکنفرانس متغیر دیگری را نیز وارد آزمایش کرد: نتایج هم به مدل لپتاپ قربانی و هم به نرمافزار وبکنفرانس مورد استفاده بستگی داشت.
با وجود این، در بیشتر سناریوهای آزمایشی، شناسایی کاراکترها همچنان قابلاعتماد بود؛ هرچند در چند مورد خاص لازم بود حجم نمونه از ۲۰۰ به حداقل ۲۵۰ کلید افزایش پیدا کند.
نقد واقعبینانه این روش
با وجود نتایج چشمگیر، این تکنیک محدودیتهای مشخصی دارد.
نخست اینکه تمام آزمایشها صرفاً با متون انگلیسی دارای حروف کوچک انجام شدهاند. Dataset هدف نیز تنها به ۲۹ کاراکتر محدود بود: حروف استاندارد الفبای انگلیسی، Spacebar، نقطه و ویرگول. حتی کلیدهای اعداد نیز در آزمایشها حضور نداشتند.
در نتیجه، شناسایی رشتههای تصادفی کاراکتر مانند Passwordهای پیچیده همچنان یک چالش جدی محسوب میشود؛ در حالی که دقیقاً همین اطلاعات از مهمترین اهداف مهاجمان هستند.
آزمایش شنود از پشت دیوار
با این حال، تیم پژوهشی ژاپنی موضوع Passwordها را نادیده نگرفته است. اگرچه دقت شناسایی آنها طبق انتظار پایین بود، نویسندگان پیشنهاد کردند موفقیت حمله از زاویهای واقعبینانهتر ارزیابی شود.
نخست اینکه مهاجمان تقریباً همیشه میتوانند علاوه بر زمان وارد کردن Password، صدای سایر فعالیتهای تایپی کاربر را نیز ضبط کنند. به این ترتیب، حجم قابلتوجهی از زبان طبیعی با تعداد کمی کاراکتر خاص در اختیار مهاجم قرار میگیرد. در نظر گرفتن این اطلاعات صوتی گستردهتر هنگام تحلیل Password، احتمال حدس موفق آن را به شکل قابلتوجهی افزایش میدهد.
پژوهشگران همچنین بهدرستی اشاره میکنند که حتی دستیابی به فهرستی شامل چند Password احتمالی نیز شانس نفوذ به حساب هدف را افزایش میدهد.
همانطور که نمودار پژوهش نشان میدهد، در صورت جمعآوری داده کافی، یعنی ۴۲۶ کلید فشردهشده، یک Password کوتاه پنجکاراکتری را میتوان با حداکثر ۱۰۰ تلاش و با احتمال موفقیت ۹۰ درصدی شناسایی کرد.
طبیعتاً Passwordهای طولانیتر مقاومت بسیار بیشتری در برابر این نوع شنود نشان دادند.
با وجود محدودیتها، این پژوهش یک پیشرفت مهم در حوزه حملات Acoustic Side-Channel محسوب میشود. نتایج آن یک سناریوی تهدید کاملاً عملی را نشان میدهد: مهاجم فایل صوتی کوتاهی از فعالیت تایپی قربانی ضبط میکند و سپس با تحلیل تکرارشونده و اصلاحات دستی هدفمند، دادهها را در محیطی دیگر پردازش و دقیقتر میکند.
اگرچه اجرای شنود در یک رستوران شلوغ یا از پشت دیوار احتمالاً در مقیاس گسترده دشوار است، ضبط صدای کلیدها هنگام جلسات مجازی و رمزگشایی آفلاین آنها یک سناریوی حمله واقعبینانه محسوب میشود.
در نهایت، این پژوهش یک Proof-of-Concept قابلتوجه ارائه میدهد: الگوریتمهای مدرن میتوانند دقت شناسایی اطلاعات از طریق شنود صوتی را به شکل چشمگیری افزایش دهند.