محققان با استفاده از نقصی در نسخهای قدیمی از نرمافزار مدیریت رمز عبور RoboForm و کمی شانس، موفق به کشف رمز عبور کیف پول رمزنگاری شدهای شدند که حاوی حدود ۳ میلیون دلار بود.
دو سال پیش، زمانی که “مایکل”، یکی از دارندگان ارزهای دیجیتال، با جو گرند تماس گرفت تا به او کمک کند به حدود ۲ میلیون دلار بیتکوین که بهصورت رمزگذاری شده در رایانهاش ذخیره شده بود، دسترسی پیدا کند، گرند درخواست او را رد کرد.
مایکل که در اروپا زندگی میکند و خواسته ناشناس بماند، ارز دیجیتال خود را در یک کیف پول دیجیتال با رمز عبور محافظتشده ذخیره کرده بود. او رمز عبور را با استفاده از مدیر رمز RoboForm تولید کرده و آن را در فایلی که با ابزاری به نام TrueCrypt رمزگذاری شده بود، ذخیره کرده بود. اما این فایل در مقطعی خراب شد و مایکل دسترسی به رمز عبور ۲۰ کاراکتری خود که برای ایمن کردن ۴۳.۶ بیتکوین (که در سال ۲۰۱۳ حدود ۴,۰۰۰ یورو یا ۵,۳۰۰ دلار ارزش داشت) استفاده کرده بود، از دست داد. او رمز عبور تولیدشده توسط RoboForm را در مدیر رمز خود ذخیره نکرده بود، زیرا نگران بود که کسی رایانهاش را هک کند و به رمز عبور دسترسی پیدا کند.
مایکل میگوید:
در آن زمان واقعاً نسبت به امنیت خودم خیلی نگران بودم.
جو گرند، یک هکر معروف سختافزار، در سال ۲۰۲۲ به صاحب کیف پول دیگری کمک کرد تا به ۲ میلیون دلار ارز دیجیتال که تصور میکرد برای همیشه ازدسترفته است، پس از فراموشکردن پین کیف پول Trezor خود، دسترسی پیدا کند. از آن زمان، دهها نفر با گرند تماس گرفتهاند تا به آنها کمک کند گنجهایشان را بازیابی کنند. اما گرند که به “کینگ پین” معروف است، اکثر این درخواستها را به دلایل مختلف رد میکند.
گرند، مهندس برق، از سن ۱۰ سالگی شروع به هککردن سختافزارهای کامپیوتری کرد و در سال ۲۰۰۸ هم میزبان برنامه تلویزیونی Discovery Channel به نام “Prototype This” بود. او اکنون با شرکتهایی که سیستمهای دیجیتال پیچیده میسازند، مشاوره میدهد تا به آنها کمک کند بفهمند که هکرهایی مانند او ممکن است چگونه سیستمهایشان را زیر پا بگذارند. او در سال ۲۰۲۲ کیف پول Trezor را با استفاده از تکنیکهای پیچیده سختافزاری که کیف پول را مجبور به افشای رمز عبورش کرد، هک کرد.
اما مایکل ارز دیجیتال خود را در کیف پول نرمافزاری ذخیره کرده بود، به همین دلیل هیچیک از مهارتهای سختافزاری گرند در این مورد کارآمد نبود. او به این فکر کرد که شاید با نوشتن اسکریپتی که میلیونها رمز عبور ممکن را بهصورت خودکار امتحان کند، بتواند رمز عبور مایکل را پیدا کند، اما این روش را غیرممکن دانست. او به طور مختصر این احتمال را در نظر گرفت که شاید مدیر رمز RoboForm که مایکل برای تولید رمز عبور استفاده کرده بود، دارای نقصی باشد که به او امکان دهد رمز عبور را راحتتر حدس بزند. اما گرند شک داشت که چنین نقصی وجود داشته باشد.
مایکل با چندین متخصص رمزنگاری تماس گرفت، اما همه به او گفتند که شانسی برای بازیابی پولش وجود ندارد. اما در ژوئن گذشته، مایکل دوباره به گرند مراجعه کرد و امیدوار بود او را متقاعد کند که کمکش کند. این بار گرند پذیرفت و با دوستش برونو که در آلمان زندگی میکند و کیفهای دیجیتال را هک میکند، همکاری کرد.
گرند و برونو ماهها صرف مهندسی معکوس نسخهای از برنامه RoboForm کردند که فکر میکردند مایکل در سال ۲۰۱۳ از آن استفاده کرده است. آنها دریافتند که تولیدکننده اعداد شبهتصادفی که برای تولید رمزهای عبور در آن نسخه و نسخههای بعدی تا سال ۲۰۱۵ استفاده میشد، نقص بزرگی داشت که باعث میشد این اعداد به طور تصادفی تولید نشوند. برنامه RoboForm رمزهای عبوری را که تولید میکرد، به تاریخ و زمان رایانه کاربر پیوند میداد. یعنی با دانستن تاریخ و زمان و سایر پارامترها، میشد هر رمزی را که در تاریخ و زمان خاصی درگذشته تولید شده بود، محاسبه کرد.
اگر مایکل میدانست که در چه روز یا دوره زمانی در سال ۲۰۱۳ رمز عبور را تولید کرده است و همچنین پارامترهایی که برای تولید آن استفاده کرده بود (برای مثال، تعداد کاراکترهای رمز عبور، شامل حروف کوچک و بزرگ، اعداد و کاراکترهای ویژه)، میتوانستند تعداد حدسهای ممکن را به حداقل برسانند. سپس آنها میتوانستند تابع RoboForm را که مسئول بررسی تاریخ و زمان روی یک رایانه بود، هک کرده و آن را به زمان گذشته بازگردانند، طوری که برنامه باور کند تاریخ فعلی روزی در سال ۲۰۱۳ است که مایکل رمز عبورش را تولید کرده بود. سپس RoboForm همان رمزهای عبوری را تولید میکرد که در روزهای سال ۲۰۱۳ تولید کرده بود.
یک مشکل وجود داشت: مایکل نمیتوانست به یاد بیاورد که رمز عبور را چه زمانی تولید کرده است.
طبق لاگ کیف پول نرمافزاریاش، مایکل برای اولینبار در تاریخ ۱۴ آوریل ۲۰۱۳ بیتکوین را به کیف پولش منتقل کرده بود. اما او نمیتوانست بهخاطر بیاورد که آیا رمز عبور را در همان روز یا قبل یا بعد از آن تولید کرده است؛ بنابراین، گرند و برونو باتوجهبه پارامترهای سایر رمزهای عبوری که مایکل با استفاده از RoboForm تولید کرده بود، RoboForm را طوری تنظیم کردند که رمزهای عبور ۲۰ کاراکتری با حروف بزرگ و کوچک، اعداد و هشت کاراکتر ویژه تولید کند، از ۱ مارس تا ۲۰ آوریل ۲۰۱۳. این کار موفق نبود؛ بنابراین گرند و برونو بازه زمانی را از ۲۰ آوریل تا ۱ ژوئن ۲۰۱۳ افزایش دادند، با استفاده از همان پارامترها. همچنان نتیجهای حاصل نشد.
مایکل میگوید که آنها چندین بار به او مراجعه کردند و پرسیدند آیا مطمئن است که پارامترهایی که استفاده کرده را درست به یاد دارد. او بر پاسخ اولیهاش اصرار میکرد.
او میگوید:
آنها واقعاً من را اذیت میکردند، چون چه کسی میداند ۱۰ سال پیش چهکار کرده است.
مایکل سایر رمزهای عبوری که در سال ۲۰۱۳ با RoboForm تولید کرده بود را پیدا کرد و متوجه شد که دو تا از آنها از کاراکترهای ویژه استفاده نمیکردند، بنابراین گرند و برونو تنظیمات را تغییر دادند. در ماه نوامبر گذشته، آنها با مایکل تماس گرفتند تا جلسهای حضوری ترتیب دهند. مایکل فکر میکرد که قرار است باز هم از او در مورد تنظیمات سؤال کنند.
اما در عوض، آنها به او اطلاع دادند که بالاخره رمز عبور صحیح را پیدا کردهاند – بدون کاراکترهای ویژه. رمز عبور در تاریخ ۱۵ می ۲۰۱۳، ساعت ۴:۱۰:۴۰ بعدازظهر بهوقت گرینویچ تولید شده بود.
گرند در ایمیلی به WIRED گفت:
در نهایت، خوششانس بودیم که پارامترها و بازه زمانی ما درست بود. اگر هر یک از آنها اشتباه بود، باید همچنان به حدسهای تصادفی ادامه میدادیم و این کار خیلی بیشتر طول میکشید تا همه رمزهای ممکن را از پیش محاسبه کنیم.
گرند و برونو یک ویدئو تهیه کردند تا جزئیات فنی این کار را بیشتر توضیح دهند.
RoboForm که توسط شرکت آمریکایی Siber Systems ساخته شده است، یکی از اولین مدیران رمز عبور در بازار بود و طبق گزارش این شرکت، اکنون بیش از ۶ میلیون کاربر در سراسر جهان دارد. در سال ۲۰۱۵، به نظر میرسد که شرکت Siber این مشکل را در مدیر رمز عبور RoboForm رفع کرده باشد. در بررسی اولیه، گرند و برونو نتوانستند هیچ نشانهای پیدا کنند که تولیدکننده اعداد شبهتصادفی در نسخه ۲۰۱۵ همچنان از تاریخ رایانه استفاده میکرده باشد که به آنها این ایده را داد که احتمالاً این نقص برطرف شده است. اما گرند میگوید که برای اطمینان باید این مسئله را دقیقتر بررسی کنند.
Siber Systems به WIRED تأیید کرد که این مشکل را در نسخه ۷.۹.۱۴ از RoboForm که در تاریخ ۱۰ ژوئن ۲۰۱۵ منتشر شد، رفع کرده است، اما سخنگوی این شرکت به سؤالات در مورد چگونگی رفع این مشکل پاسخ نداد. در یک گزارش تغییرات در وب
سایت این شرکت، فقط ذکر شده که برنامهنویسان Siber تغییراتی برای “افزایش تصادفی بودن رمزهای تولید شده” اعمال کردهاند، اما توضیح ندادهاند که این کار چگونه انجام شده است. سیمون دیویس، سخنگوی Siber، گفت که “RoboForm 7 در سال ۲۰۱۷ ازردهخارج شد.”
گرند میگوید که بدون دانستن نحوه رفع مشکل توسط Siber، ممکن است مهاجمان همچنان بتوانند رمزهایی را که با نسخههای قبل از سال ۲۰۱۵ RoboForm تولید شدهاند، بازتولید کنند. او همچنین مطمئن نیست که آیا نسخههای فعلی همچنان این مشکل را دارند یا خیر.
او میگوید:
هنوز مطمئن نیستم که بدون دانستن اینکه آنها واقعاً چطور تولید رمز عبور را در نسخههای اخیر بهبود دادهاند، به آن اعتماد کنم. مطمئن نیستم که RoboForm میدانست این ضعف خاص چقدر بد است.
ممکن است مشتریان همچنان از رمزهایی استفاده کنند که با نسخههای اولیه برنامه قبل از رفع مشکل در سال ۲۰۱۵ تولید شدهاند. به نظر نمیرسد که Siber هنگام انتشار نسخه رفع شده ۷.۹.۱۴ در سال ۲۰۱۵ مشتریان خود را مطلع کرده باشد که باید برای حسابها یا دادههای حساس رمزهای عبور جدیدی تولید کنند. این شرکت به سؤالی در این مورد پاسخ نداد.
اگر Siber مشتریان را مطلع نکرده باشد، این بدان معناست که هر کسی که مانند مایکل از RoboForm برای تولید رمز عبور قبل از سال ۲۰۱۵ استفاده کرده است و هنوز از آن رمزها استفاده میکند، ممکن است رمزهای عبور آسیبپذیری داشته باشد که هکرها میتوانند آنها را بازتولید کنند.
گرند میگوید:
ما میدانیم که اکثر افراد تا زمانی که مجبور نشوند، رمزهای عبور خود را تغییر نمیدهند. از ۹۳۵ رمز عبوری که در مدیر رمز عبور من (نه RoboForm) ذخیره شده است، ۲۲۰ مورد آنها مربوط به سال ۲۰۱۵ و قبل از آن هستند و بیشتر آنها برای سایتهایی هستند که هنوز هم استفاده میکنم.
بسته به اینکه شرکت Siber چگونه این مشکل را در سال ۲۰۱۵ رفع کرده است، ممکن است رمزهای عبور جدیدتر نیز آسیبپذیر باشند.
در ماه نوامبر گذشته، گرند و برونو درصدی از بیتکوینهای مایکل را بهعنوان دستمزد از حساب او برداشت کردند و سپس رمز عبور را به او دادند تا به بقیه بیتکوینهایش دسترسی پیدا کند. در آن زمان، ارزش بیتکوین ۳۸,۰۰۰ دلار بهازای هر واحد بود. مایکل منتظر ماند تا ارزش آن به ۶۲,۰۰۰ دلار بهازای هر واحد رسید و مقداری از آن را فروخت. او اکنون ۳۰ بیتکوین دارد که حدود ۳ میلیون دلار ارزش دارند و منتظر است تا ارزش بیتکوین به ۱۰۰,۰۰۰ دلار بهازای هر واحد برسد.
مایکل میگوید که خوششانس بود که سالها پیش رمز عبور را گمکرده بود، زیرا در غیر این صورت وقتی قیمت بیتکوین به ۴۰,۰۰۰ دلار رسیده بود، آن را میفروخت و فرصت کسب سود بیشتر را از دست میداد.
او میگوید:
اینکه رمز عبورم را گم کردم، از نظر مالی به نفعم بود.
منبع: How Researchers Cracked an 11-Year-Old Password to a $3 Million Crypto Wallet