1. مقدمه

با وجود چالش‌های امنیتی مستند آن، احراز هویت مبتنی بر رمز عبور همچنان روش غالب برای احراز هویت در وب است. کاربران هنگام مدیریت چندین رمز عبور قوی با بار شناختی مواجه می‌شوند که منجر به استفاده مجدد از رمز عبور و ایجاد رمزهای عبور ضعیف می‌شود. مدیران رمز عبور با تولید، ذخیره‌سازی و پرکردن خودکار رمزهای عبور، قول رفع این مشکلات را می‌دهند. با این حال، امنیت آن‌ها توسط پژوهش‌های پیشین مورد سوال قرار گرفته است. این مقاله یک ارزیابی امنیتی به‌روز و جامع از سیزده مدیر رمز عبور محبوب مبتنی بر مرورگر ارائه می‌دهد و چرخه کامل را بررسی می‌کند: تولید، ذخیره‌سازی و پرکردن خودکار.

2. روش‌شناسی و محدوده

ما سیزده مدیر رمز عبور را ارزیابی کردیم که شامل پنج افزونه مرورگر (مانند LastPass، Dashlane)، شش مدیر یکپارچه با مرورگر (مانند Chrome، Firefox) و دو کلاینت دسکتاپ برای مقایسه می‌شد. چارچوب ارزیابی سه مرحله اصلی را پوشش داد: تحلیل تصادفی بودن ۱۴۷ میلیون رمز عبور تولیدشده، ارزیابی امنیت ذخیره‌سازی (رمزنگاری، مدیریت فراداده‌ها، پیش‌فرض‌ها) و آزمایش آسیب‌پذیری‌های پرکردن خودکار در برابر حملاتی مانند کلیک‌ربایی و XSS.

3. تحلیل تولید رمز عبور

این بخش اولین تحلیل در مقیاس بزرگ از الگوریتم‌های تولید رمز عبور در مدیران رمز عبور را به تفصیل شرح می‌دهد.

3.1. چارچوب ارزیابی تصادفی بودن

ما از آزمون‌های آماری برای تصادفی بودن استفاده کردیم، از جمله تحلیل فراوانی، محاسبه آنتروپی و آزمون‌های توزیع یکنواخت در مجموعه کاراکترهای تعریف‌شده (حروف بزرگ، حروف کوچک، ارقام، نمادها).

3.2. یافته‌های توزیع کاراکترها

چندین مدیر، توزیع کاراکتر غیرتصادفی نشان دادند. به عنوان مثال، برخی تمایل به موقعیت‌ها یا مجموعه‌های خاصی از کاراکترها داشتند که آنتروپی موثر رمزهای عبور تولیدشده را به زیر انتظارات نظری کاهش می‌داد.

3.3. آسیب‌پذیری در برابر حملات حدسی

یک یافته مهم این بود که زیرمجموعه‌ای از رمزهای عبور تولیدشده—به ویژه آنهایی که کوتاه‌تر از ۱۰ کاراکتر بودند—در برابر حملات جستجوی فراگیر آنلاین آسیب‌پذیر بودند. رمزهای عبور کوتاه‌تر از ۱۸ کاراکتر، با فرض قابلیت‌های سخت‌افزاری مدرن، به طور بالقوه در برابر حملات آفلاین آسیب‌پذیر یافت شدند.

4. امنیت ذخیره‌سازی رمز عبور

با تکرار و گسترش کار پیشین لی و همکاران، ما ارزیابی کردیم که رمزهای عبور چگونه به صورت محلی و در فضای ابری رمزنگاری و ذخیره می‌شوند.

4.1. رمزنگاری و مدیریت کلید

در حالی که اکثر مدیران از رمزنگاری قوی (مانند AES-256) استفاده می‌کنند، توابع استخراج کلید و مکانیزم‌های ذخیره کلید متفاوت بود و برخی پیاده‌سازی‌ها ضعیف‌تر از بقیه بودند.

4.2. حفاظت از فراداده‌ها

یک نقص حیاتی شناسایی‌شده، ذخیره‌سازی فراداده‌های حساس (مانند آدرس‌های وب‌سایت، نام‌های کاربری) به صورت متن ساده یا با حفاظت ناکافی بود که حتی اگر خود رمز عبور رمزنگاری شده باشد، یک ریسک حریم خصوصی ایجاد می‌کند.

4.3. تحلیل پیکربندی پیش‌فرض

چندین مدیر رمز عبور، پیش‌فرض‌های ناامن داشتند، مانند فعال‌سازی پرکردن خودکار خودکار یا عدم نیاز به رمز عبور اصلی پس از راه‌اندازی مجدد مرورگر، که سطح حمله را افزایش می‌داد.

5. آسیب‌پذیری‌های مکانیزم پرکردن خودکار

پرکردن خودکار، اگرچه راحت است، اما بردارهای حمله قابل توجهی معرفی می‌کند. ما در برابر کلاس‌های اکسپلویت شناخته‌شده آزمایش کردیم.

5.1. کلیک‌ربایی و تغییر ظاهر رابط کاربری

ما دریافتیم که چندین مدیر در برابر حملات کلیک‌ربایی آسیب‌پذیر باقی مانده‌اند، جایی که یک سایت مخرب، عناصر نامرئی را روی دکمه‌های رابط کاربری قانونی قرار می‌دهد تا کاربران را فریب دهد تا پرکردن خودکار را در یک فیلد تحت کنترل مهاجم فعال کنند.

5.2. ریسک‌های اسکریپت‌نویسی بین‌سایتی (XSS)

اگر یک وب‌سایت آسیب‌پذیری XSS داشته باشد، یک اسکریپت تزریق‌شده می‌تواند به طور بالقوه با عناصر DOM مدیر رمز عبور تعامل کند تا اطلاعات احراز هویت را استخراج کند، ریسکی که در کار قبلی استاک و جونز برجسته شده است.

5.3. حملات تزریق شبکه

مدیرانی که برای همگام‌سازی یا ویژگی‌ها با سرویس‌های ابری ارتباط برقرار می‌کنند، از نظر حساسیت به حملات مرد میانی که می‌توانند کد مخرب تزریق یا توکن‌های احراز هویت را بدزدند، آزمایش شدند.

6. نتایج و تحلیل تطبیقی

به طور کلی، امنیت در مقایسه با ارزیابی‌های پنج سال قبل بهبود یافته است، اما مسائل مهمی همچنان پابرجاست. هیچ مدیر واحدی در هر سه دسته (تولید، ذخیره‌سازی، پرکردن خودکار) بی‌عیب نبود. مدیران یکپارچه با مرورگر اغلب منطق پرکردن خودکار ساده‌تر و امن‌تری داشتند اما الگوریتم‌های تولید ضعیف‌تری داشتند. افزونه‌های شخص ثالث ویژگی‌های بیشتری ارائه می‌دادند اما پیچیدگی و سطح حمله بیشتری معرفی می‌کردند. ما مدیران خاصی را که عملکرد ضعیفی داشتند و باید توسط کاربران حساس به امنیت اجتناب شوند، شناسایی می‌کنیم.

مدیران ارزیابی‌شده

13

رمزهای عبور تولید و تحلیل‌شده

147M+

مدیران دارای نقص حیاتی

4

7. توصیه‌ها و جهت‌های آینده

برای کاربران: مدیرانی با سابقه امنیتی قوی انتخاب کنید، تمام ویژگی‌های امنیتی موجود (مانند 2FA) را فعال کنید و در مورد پرکردن خودکار محتاط باشید. برای توسعه‌دهندگان: مولدهای اعداد تصادفی امن رمزنگاری‌شده (CSPRNG) را برای تولید رمز عبور پیاده‌سازی کنید، تمام فراداده‌ها را رمزنگاری کنید، پیش‌فرض‌های امن را اتخاذ کنید (مثلاً همیشه نیاز به رمز عبور اصلی) و پرکردن خودکار را در برابر دستکاری رابط کاربری مقاوم‌سازی کنید. برای پژوهشگران: مبادله قابلیت استفاده-امنیت پرکردن خودکار را بررسی کنید، چارچوب‌های استاندارد ارزیابی امنیتی را توسعه دهید و رمزنگاری پساکوانتومی را برای آینده‌پذیری بررسی کنید.

8. تحلیل اصلی و نظرات کارشناسی

بینش اصلی: مطالعه اوش و روتی یک بررسی واقعیت‌سنجی هوشیارکننده ارائه می‌دهد: همان ابزارهایی که برای حل بحران رمز عبور طراحی شده‌اند، خودشان تکه‌ای از آسیب‌پذیری‌ها هستند. تمرکز صنعت بر راحتی و انباشت ویژگی‌ها، در چندین مورد، مستقیماً وعده‌های امنیتی اصلی را تضعیف کرده است. یافته اینکه رمزهای عبور تولیدشده می‌توانند ضعیف باشند به ویژه محکوم‌کننده است—این به قلب ارزش پیشنهادی مدیر رمز عبور ضربه می‌زند.

جریان منطقی: مقاله به طور درخشان حمله خود را در طول سفر کاربر ساختار می‌دهد: ایجاد (تولید)، در حالت سکون (ذخیره‌سازی) و در حال استفاده (پرکردن خودکار). این رویکرد چرخه حیات، که یادآور مدل‌سازی تهدید در چارچوب‌هایی مانند STRIDE مایکروسافت است، نشان می‌دهد که ضعف‌ها منزوی نیستند بلکه سیستماتیک هستند. یک نقص در تولید، اثربخشی ذخیره‌سازی قوی را کاهش می‌دهد؛ یک نقص در پرکردن خودکار هر دو را بی‌اثر می‌کند. این درهم‌تنیدگی اغلب در حسابرسی‌های نقطه‌ای در زمان از دست می‌رود.

نقاط قوت و ضعف: نقطه قوت مطالعه جامعیت و تکرار کار گذشته است که یک دید طولی نادر از تکامل امنیت ارائه می‌دهد. مجموعه عظیم ۱۴۷ میلیون رمز عبور تولیدشده برای تحلیل قابل تحسین است. با این حال، تحلیل یک ضعف مشترک در بسیاری از ارزیابی‌های امنیتی دارد: عمدتاً یک آزمون جعبه سیاه و عملکردی است. این آنچه شکسته است را شناسایی می‌کند اما بینش کمتری در مورد چرایی آن از منظر مهندسی نرم‌افزار ارائه می‌دهد—آیا این نقص‌ها به دلیل ضرب‌الاجل‌های عجله‌ای، مشخصات اشتباه فهمیده‌شده، یا عدم بررسی امنیتی بود؟ علاوه بر این، در حالی که به راهنمای هویت دیجیتال NIST ارجاع می‌دهد، یک بررسی عمیق‌تر در مورد چگونگی همسویی (یا عدم همسویی) این مدیران با استانداردهایی مانند FIPS 140-3 یا الزامات امنیتی ذکر شده در پیشنهادات IETF برای تبادل کلید احراز هویت شده با رمز عبور (PAKE) وزن قابل توجهی اضافه می‌کرد.

بینش‌های عملی: برای تیم‌های امنیتی سازمانی، این مقاله دستوری است برای بررسی دقیق مدیران رمز عبور تأییدشده. اتکا به اعتبار برند کافی نیست. چک‌لیست‌های تأمین باید شامل آزمون‌های خاصی برای تصادفی بودن تولید (مانند استفاده از مجموعه آزمون‌های استاندارد مانند Dieharder یا STS NIST)، رمزنگاری فراداده‌ها و رفتار پرکردن خودکار تحت شبیه‌سازی حملات باشد. برای توسعه‌دهندگان، درس این است که سادگی و پیش‌فرض‌های امن را اولویت‌دهی کنند. امن‌ترین مکانیزم پرکردن خودکار ممکن است ساده‌ترین باشد: یک «کلیک برای پرکردن» دستی که نیاز به اقدام صریح و آگاهانه کاربر دارد، همانطور که پژوهش دانشگاه کالیفرنیا، برکلی در مورد رابط‌های رضایت صریح پیشنهاد می‌کند. آینده در تلاش برای امن کردن کامل پرکردن خودکار هوشمندانه و خودکار نیست، بلکه در طراحی تعاملات کاربری با حداقل مزاحمت و حداکثر صراحت است که انسان را در حلقه تصمیم‌گیری‌های امنیتی حیاتی نگه می‌دارد.

9. جزئیات فنی و چارچوب ریاضی

ارزیابی تصادفی بودن تولید رمز عبور بر محاسبه آنتروپی شانون $H$ رمزهای عبور تولیدشده متکی بود:

$H = -\sum_{i=1}^{n} P(x_i) \log_2 P(x_i)$

که در آن $P(x_i)$ احتمال ظاهر شدن کاراکتر $x_i$ در یک موقعیت معین است. برای یک انتخاب کاملاً تصادفی از مجموعه‌ای از $C$ کاراکتر، حداکثر آنتروپی به ازای هر کاراکتر $\log_2(C)$ است. برای یک مجموعه ۷۲ کاراکتری (۲۶ حرف کوچک + ۲۶ حرف بزرگ + ۱۰ رقم + ۱۰ نماد)، حداکثر $H_{char} \approx 6.17$ بیت است. بنابراین یک رمز عبور ۱۰ کاراکتری حداکثر نظری حدود ۶۱.۷ بیت آنتروپی دارد.

مطالعه دریافت که تمایلات در الگوریتم‌های برخی مدیران، آنتروپی موثر را کاهش می‌دهد. آسیب‌پذیری در برابر حملات آفلاین با استفاده از نرخ تخمینی شکستن $R$ (هش در ثانیه) و فضای رمز عبور $N$ ارزیابی شد:

$\text{Time to crack} \approx \frac{N}{2 \times R}$

با فرض نرخ بالای $10^{10}$ هش/ثانیه (در محدوده برای خوشه‌های GPU مدرن)، یک رمز عبور با کمتر از حدود ۶۵ بیت آنتروپی ($N = 2^{65}$) می‌تواند در یک بازه زمانی قابل قبول برای یک مهاجم با انگیزه شکسته شود.

10. نتایج آزمایشی و مصورسازی داده‌ها

نمودار کلیدی ۱: تمایل توزیع کاراکتر. یک نمودار میله‌ای که فراوانی مشاهده‌شده در مقابل فراوانی مورد انتظار انواع کاراکتر (حروف بزرگ، حروف کوچک، رقم، نماد) را در چندین مدیر رمز عبور مقایسه می‌کند. چندین مدیر انحراف آماری معنی‌داری (p < 0.01) از توزیع یکنواخت مورد انتظار نشان دادند، با نمایندگی بیش از حد ارقام در موقعیت‌های خاص.

نمودار کلیدی ۲: آنتروپی در مقابل طول رمز عبور. یک نمودار پراکندگی که آنتروپی اندازه‌گیری‌شده به ازای هر مدیر را برای طول‌های رمز عبور پیکربندی‌شده مختلف (۸، ۱۲، ۱۶، ۲۰ کاراکتر) نشان می‌دهد. نمودار نشان می‌دهد که در حالی که اکثر مدیران برای رمزهای عبور طولانی‌تر به خط آنتروپی نظری نزدیک می‌شوند، چندین مورد برای طول‌های کوتاه‌تر (۱۲-۸ کاراکتر) کوتاه می‌آیند و در زیر خط خوشه می‌کنند که نشان‌دهنده تصادفی بودن ضعیف‌تر است.

نمودار کلیدی ۳: ماتریس آسیب‌پذیری پرکردن خودکار. یک نقشه حرارتی با مدیران در محور Y و کلاس‌های آسیب‌پذیری (کلیک‌ربایی، نشت XSS، تزریق شبکه) در محور X. سلول‌ها به رنگ سبز (آسیب‌پذیر نیست)، زرد (تا حدی/متغیر آسیب‌پذیر) و قرمز (آسیب‌پذیر) رنگ‌آمیزی شده‌اند. این مصورسازی به وضوح نشان می‌دهد که کدام مدیران در سطح حمله پرکردن خودکار پرریسک‌تر هستند.

11. چارچوب تحلیل: نمونه مطالعه موردی

مورد: ارزیابی امنیت پرکردن خودکار «مدیر X».

مرحله ۱ - نقشه‌برداری ویژگی: مستندسازی کنید که مدیر X چگونه پرکردن خودکار را فعال می‌کند: آیا به طور خودکار پر می‌کند؟ آیا یک منوی کشویی نشان می‌دهد؟ به چه ویژگی‌های DOM متکی است (id، name، class، placeholder)؟

مرحله ۲ - مدل‌سازی تهدید: مدل STRIDE را اعمال کنید.

  • جعل: آیا یک فرم ورود جعلی می‌تواند مدیر را فریب دهد؟ (آزمایش با تغییرات `id="password"`).
  • دستکاری: آیا جاوااسکریپت می‌تواند داده‌های پرشده را قبل از ارسال تغییر دهد؟
  • انکار: آیا مدیر رویدادهای پرکردن خودکار را ثبت می‌کند؟
  • افشای اطلاعات: آیا یک iframe مخفی یا CSS طراحی‌شده (opacity:0.001) می‌تواند باعث پر شدن در یک فیلد نامرئی شود که سپس استخراج می‌شود؟
  • محرومیت از سرویس: آیا سایت‌های مخرب می‌توانند ویژگی پرکردن خودکار را قفل کنند؟
  • ارتقای امتیاز: آیا پرکردن خودکار در صفحات chrome مرورگر کار می‌کند؟ (نباید).

مرحله ۳ - اجرای آزمون: یک صفحه وب هارنس آزمون ایجاد کنید که به طور سیستماتیک هر بردار تهدید را امتحان کند. برای کلیک‌ربایی، عناصر شفاف همپوشان ایجاد کنید. برای XSS، یک اسکریپت را شبیه‌سازی کنید که ویژگی `value` فیلدهای پرشده را می‌خواند.

مرحله ۴ - تحلیل و امتیازدهی: هر آسیب‌پذیری را بر اساس احتمال و تأثیر امتیازدهی کنید (مثلاً با استفاده از امتیازدهی DREAD). امتیاز تجمیعی، رتبه امنیت پرکردن خودکار کلی برای مدیر X را تعیین می‌کند.

این رویکرد ساختاریافته فراتر از آزمون‌های موردی می‌رود و پوشش جامع را تضمین می‌کند.

12. کاربردهای آینده و جهت‌های پژوهشی

۱. یکپارچه‌سازی با WebAuthn/Passkeys: آینده بدون رمز عبور است. تکامل بعدی برای مدیران رمز عبور این است که به کارگزاران اصلی برای کلیدهای عبور (بر اساس API احراز هویت وب W3C) تبدیل شوند. پژوهش در مورد همگام‌سازی امن و بازیابی کلیدهای خصوصی کلید عبور در دستگاه‌های مختلف مورد نیاز است، چالشی که توسط اتحادیه FIDO برجسته شده است.

۲. پرکردن خودکار مبتنی بر ریسک و آگاه از زمینه: به جای منطق دودویی پرکردن/پر نکردن، مدیران آینده می‌توانند از یادگیری ماشین برای ارزیابی مشروعیت صفحه (بررسی عمر دامنه، گواهی SSL، امتیازات اعتبار) و زمینه کاربر (زمان ورود معمول، دستگاه) برای تنظیم رفتار پرکردن خودکار استفاده کنند و برای سناریوهای پرریسک نیاز به احراز هویت اضافی داشته باشند.

۳. تأیید رسمی و سخت‌افزار امن: اجزای حیاتی، به ویژه مولد اعداد تصادفی و روال‌های اصلی رمزنگاری/رمزگشایی، می‌توانند به طور رسمی با استفاده از ابزارهایی مانند Coq یا Tamarin Prover تأیید شوند. یکپارچه‌سازی با ماژول‌های پلتفرم مورد اعتماد (TPM) یا محفظه‌های امن برای ذخیره کلید می‌تواند امنیت را برای اهداف با ارزش بالا ارتقا دهد.

۴. معماری‌های غیرمتمرکز و کاربر-محور: دور شدن از مخازن ابری متمرکز به سمت پروتکل‌های غیرمتمرکز (مانند مبتنی بر محاسبات چندجانبه امن یا سرورهای شخصی) می‌تواند ریسک‌های نقض در مقیاس بزرگ ارائه‌دهنده را کاهش دهد. این با دیدگاه گسترده‌تر پروژه «Solid» برای پادهای داده شخصی همسو است.

13. منابع

  1. Oesch, S., & Ruoti, S. (2020). That Was Then, This Is Now: A Security Evaluation of Password Generation, Storage, and Autofill in Browser-Based Password Managers. USENIX Security Symposium.
  2. Li, Z., He, W., Akhawe, D., & Song, D. (2014). The Emperor’s New Password Manager: Security Analysis of Web-based Password Managers. IEEE Symposium on Security and Privacy.
  3. Stock, B., & Johns, M. (2016). Protecting the Intranet Against "JavaScript Malware" and Related Attacks. IEEE EuroS&P.
  4. National Institute of Standards and Technology (NIST). (2017). Digital Identity Guidelines (SP 800-63B).
  5. FIDO Alliance. (2022). FIDO2: WebAuthn & CTAP Specifications. https://fidoalliance.org/fido2/
  6. Grassi, P., et al. (2017). NIST Special Publication 800-63B: Digital Identity Guidelines - Authentication and Lifecycle Management.
  7. Silver, D., Jana, S., Boneh, D., Chen, E., & Jackson, C. (2014). Password Managers: Attacks and Defenses. USENIX Security Symposium.
  8. Shannon, C. E. (1948). A Mathematical Theory of Communication. The Bell System Technical Journal.