چگونه ماشین های اسلات را شکست دهیم اسلاتهایي کـه بـه درستی طراحی شدهاند و با مولدهای اعداد تصادفی واقعی کار میکنند، از نظر تئوری بیحریف هستند. اما در واقعیت، موارد مستند زیادی از بازیکنانی وجوددارد کـه موفق شدهاند اسلاتها را فریب دهند و بسیار بیشتر از انچه کـه صاحبان کازینو انتظار داشتند، بـه آن ها پرداخت کنند.
تعداد زیادی از این ترفندها دزدی آشکار هستند. این ابزارها طبق معمولً شامل ابزارهایی برای دستکاری سختافزار یک دستگاه اسلات ؛ یعنی توزیع کننده سکه یا گیرنده اسکناس اسـت. عده اي از موارد مربوط بـه یک خودی کازینو بود کـه بـه دستکاری دستگاه اسلات کمک کرد.
در گروه دیگری از موارد، بازیکنان بـه طور غیرعادی خوش شانس بودند. انها موفق شدند یک نقص نرم افزاری پیدا کنند و از ان بـه نفع خود استفاده کنند.
با این حال، تا حد زیادی جالب ترین مورد، داستان مربوط بـه گذشته بسیار نزدیک «2009-2018» یک مرد روسی از سن پترزبورگ اسـت کـه موفق شد نتیجه چرخش را در مدل هاي خاصی از اتومبیل هاي بازی پیشبینی کند و از این بـه نفع خود استفاده کرد. برای دوشیدن میلیونها نفر از کازینوهای سراسر جهان.
این داستان بـه قدری گیج کننده اسـت کـه تصمیم گرفتم مدتی رابا ان بگذرانم و برای تجزیه و تحلیل عمیق تر تکنیک هایي کـه او استفاده کرده اسـت، در ان تحقیق کنم.اعتبار انتشار جزئیات این داستان بـه wired.com و Brendan Koerner اسـت .
الکس، مردی کـه PRNG مورد استفاده توسط اسلات ها را رمزگشایی کرد و میلیونها دلار بـه دست آورد. الکس بـه عنوان یک برنامه نویس مستقل و هکر کار می کرد کـه یک کازینو روسی وی را برای دستکاری RTP عده اي از خودرو هاي اسلات Novomatic استخدام کرد .
برای انجام اینکار، الکس باید با جزئیات در مورد نحوه عملکرد داخلی این اتومبیل ها یاد میگرفت. او همچنین در مورد PRNG «تولید کننده اعداد تصادفی شبه» ؛ نحوه کار آن ها و نحوه استفاده از انها در خودرو هاي اسلات آموخت. این پیشرفت زمانی اتفاق افتاد کـه او متوجه شد کـه خودرو هاي بازی از یک الگوریتم ناامن PRNG استفاده می کنند کـه ممکن اسـت قابل پیشبینی باشد.
RNG واقعی از نویز الکترومغناطیسی برای تولید مقادیر کاملا تصادفی و کاملا غیر قابل پیشبینی استفاده می کند. PRNG بـه روشی متفاوت کار می کند. با یک مقدار از پیش تعریف شده شروع می شود و سپس ان رابا برخی ورودی هاي دیگر ترکیب می کند تا یکسری نامتناهی از مقادیر تولید شود. مقادیر خروجی PRNG در نگاه اول کاملا تصادفی و غیرممکن بـه نظر میرسد. با این حال، اگر PRNG از الگوریتم ضعیفی استفاده می کند و شـما دقیقاً میدانید کدام یک، ممکن اسـت بتوانید شماره تصادفی بعدی را پیشبینی کنید .
اگر PRNG از الگوریتم ضعیفی استفاده می کند و شـما دقیقاً می دانید کدام یک، ممکن اسـت بتوانید شماره تصادفی بعدی را پیشبینی کنید .الکس ظاهرا متوجه شده بود کـه الگوریتمهاي استفاده شده توسط عده اي از اتومبیلهاي اسلات ضعیف هستند و تصمیم گرفت از ان بـه نفع خود استفاده کند .
در طی چند سال بعد، او توانست مقدمات را فراهم کند و برای عملیاتی بسیار پیچیدهتر آماده شود:
توجه: سیستم الکس در کازینوها و بازیهاي آنلاین مدرن، مانند مواردی کـه می توانید در فهرست اسلاتهاي رایگان ما بیابید، کار نمیکند ؛ زیرا از سیستمهاي RNG واقعی برای ایجاد نتایجی کـه واقعاً تصادفی هستند استفاده می کنند.
الکس از روسیه کـه توانست راهی هوشمندانه برای شکست دادن اسلات پیدا کند
تکنیکی کـه او توسعه داد شامل هیچگونه دستکاری ممنوعه اتومبیل هاي بازی نمیشود. این در تضاد بسیار زیادی با تعداد زیادی از تکنیکهاي سرقت اسـت کـه در ادامه این مقاله توضیح داده شد، کـه سختافزار اتومبیلهاي اسلات را فریب می دهند تا پول بیشتری از انچه درنظر گرفته شده اسـت بپردازند. استراتژی الکس مبتنی بر ریاضیات محض از مشاهدات خود او اسـت، و بنابر این میتوان ان را یک استراتژی معتبر و تمیز “چگونه شکارها را شکست داد” درنظر گرفت .
تعداد زیادی از کارشناسان قمار «از جمله من» اقدامات الکس را کاملاً پاک و از نظر اخلاقی قابل قبول میدانند . من ان رابا شمارش کارت در بلک جک ؛ شکار پاداش یا شرط بندی مزیت مقایسه میکنم. کازینوها داوطلبانه این دستگاههاي اسلات را روی زمین میگذارند، و این مشکل آنهاست اگر فردی باهوش بتواند نتایج را پیشبینی کند و از ان استفاده کند.
این استراتژی از نظر فنی در تعداد زیادی از حوزههاي قضایی غیرقانونی نبود . بنابر این حتی اگر ماموران امنیتی کازینو موفق بـه دستگیری یکی از عوامل او میشوند، فقط برندههاي وی را مصادره میکنند و وی را از دسترسی بیشتر بـه کازینو منع میکنند.
اما کازینوها «مخصوصاً مستقر در زمین» شرکت هاي بزرگی هستند کـه پول زیادی دارند و ارتباطات قوی با مقامات محلی دارند. وقتی کازینوها متوجه شدند کـه یک گروه سازمانیافته از دستگاههاي اسلات خود بـه عنوان دستگاه عابر بانک استفاده میکنند، بی شک برخی رشتهها را بـه کار گرفتند.
مقامات و وکلای کازینو در نهایت موفق شدند جنایتی را پیدا کنند کـه با انچه این گروه انجام میداد مطابقت دارد. یعنی “توطئه برای ارتکاب کلاهبرداری”. این منجر بـه دستگیری 4 نفر از عوامل الکس در میسوری درسال 2015 شد «کـه بعدا متهم و بـه 2 سال زندان فدرال محکوم شدند» .
این نقطه شکست ماجرا بودو عده اي از عوامل شروع بـه صحبت آشکارتر در مورد جزئیات سیستم شیردوشی خود کردند. این گروه بـه احتمال زیاد برای اکثر افسران امنیتی کازینو در سرتاسر جهان شناخته شده بودو دستگیری دیگری در سنگاپور دنبال شد.
الکس با درک این موضوع کـه ادامه استفاده از این سیستم برای عواملش بسیار خطرناک اسـت، تصمیم گرفت آخرین تلاش خودرا برای استفاده از دانش خود برای کسب درآمد انجام دهد. او مستقیماً با Aristocrat – سازنده اتومبیلهاي بازی کـه موفق بـه سازش شد – تماس گرفت.
او بـه امید پاداش 8 رقمی، خدمات خودرا در التیام الگوریتم هاي PRNG و رفع تمام مشکلات امنیتی ارائه کرد. در همان زمان او تهدید کرد کـه اگر Aristocrat پیشنهاد وی را نپذیرد، این اطلاعات حساس را بـه رقبای انها خواهد فروخت. با این حال، اریستوکرات از انجام بازی خود امتناع کرده اسـت، علیرغم این واقعیت کـه تمام جزئیات ریاضی درباره آسیب پذیری آن ها را در اختیار آن ها قرار داده اسـت.
وقتی ارسطوکرات پیشنهاد الکس را رد کرد، تصمیم گرفت یک فرصت دیگر بـه ان بدهد و با انتشار جزئیات داستانش کمی جلوتر بیاید. او با برندن کوئرنر – مردی کـه قبلاً حقایق شناخته شده داستان خودرا دراین مقاله پوشش داده بود، تماس گرفت .
برندن موافقت کرد کـه داستان را ادامه دهد و مقاله دیگری رابا جزئیات بسیار جدید مستقیماً از الکس منتشر کرد. اگر این اتفاق نمی افتاد، شـما در مقاله من در مورد انها نمیخوانید.
در هر صورت، برای من، این بزرگ ترین داستان قمار قرن بیست و یکم اسـت . من قطعا منتظر فصل بعدی و همچنین فیلم هستم. امیدوارم هالیوود عدالت را رعایت کند. پاپ کورن آماده شد.
شواهد بسیار زیادی وجوددارد کـه الکس توانسته اسـت استراتژی خودرا با موفقیت بر روی یک اسلات اتومبیل قدیمی Aristocrat MK IV اعمال کند. خود Aristocrat بـه مشتریان خود توصیه می کند اکنون این اتومبیل ها را جای گزین کنند. باوجود ان؛ هنوز هزاران دستگاه از این دستگاه ها در تعداد زیادی از کازینوها در سراسر جهان وجوددارد. با این حال، اکثر کازینوها نباید درصورت لزوم مشکلی برای تعویض انها داشته باشند.
الکس ادعا می کند «و سیگنال هایي وجوددارد کـه ادعای وی را تایید می کند [4] » کـه درسال 2009؛ او شروع بـه رمزگشایی PRNG هاي عده اي از کابینت هاي قدیمی Novomatic کرد. با این حال، بـه احتمال بسیار زیاد Novomatic توانسته این آسیبپذیری رابا یک بـهروزرسانی امنیتی درسال 2011 حذف کند. شاید این حق اختراع Novomatic برای سیستم و روش پردازش متمرکز اعداد تصادفی تولیدکننده اعداد از سال 2013 نیز بـه این موضوع مربوط باشد.
او همچنین ادعا می کند کـه با عده اي از اتومبیل هاي ساخته شده توسط آترونیک موفق بـه انجام همین کار شده اسـت.
قویترین ادعای الکس این اسـت کـه آسیبپذیری مشابهی برای کابینه آریستوکرات هلیکس پیدا کرده اسـت. Helix یکی از مدلهاي فعلی انها اسـت، بنابر این اگر الکس بلوف نمی زد، ممکن اسـت Aristocrat مشکل بزرگتری داشته باشد – مخصوصاً اگر با یک بـهروزرسانی امنیتی یا جایگزینی جزئی تراشه برطرف شود.
اما از سوی دیگر، Aristocrat یک شرکت بزرگ با درآمد سالانه 2 میلیارد دلار و سود سالانه 500 میلیون دلار اسـت. بنابر این انها بـه احتمال زیاد از ان جان سالم بـه در خواهند برد «با جایگزینی عمده HW داخلی و آسیب بـه شهرت انها، در بدترین حالت».
بـه هرحال، انتظار تفریح زیادی نداشته باشید. حتی اگر الکس تصمیم بگیرد جزئیات بیشتری در مورد الگوریتمهاي خود منتشر کند، کازینوها بـه احتمال زیاد تمام دستگاههاي اسلات آسیبدیده را قبل از این کـه مردم عادی فرصتی برای استفاده از ان بـه نفع خود داشته باشند، خاموش میکنند.
اگر میخواهید خوش بگذرانید، کابینت اریستوکرات خودرا تهیه کنید و مهندسی معکوس خودرا انجام دهید. شرط می بندم کـه اگر بخواهیم با یکی از دوستانم کـه متخصص میکروالکترونیک اسـت میتوانیم اینکار را انجام دهیم. ;-»
شواهد غیرمستقیم زیادی وجوددارد کـه نشان می دهد داستانی کـه الکس توصیف کرده اسـت درست اسـت. اگر درست نبود، مقامات ماموران وی را در 2 کشور دستگیر و محکوم نمیکردند. Novomatic دستکاری اتومبیل هاي اسلات را بررسی نمیکرد و اگر درست نبود، بـه روز رسانی هاي امنیتی را منتشر نمیکرد.
این را بـه اسانی بـه شـما میگویم.
من 10 سال بـه عنوان یک توسعه دهنده نرم افزار کار کرده ام و میتوانم بگویم کـه تهدیدات امنیتی بـه اسانی قابل چشم پوشی هستند . این حتی برای انواع جدید و ناشناخته حملات مانند این بیشتر اسـت. حتی اگر در ان زمان یک مدیر امنیتی مسئول بود.
او آموزش دیده بود تا فقط تهدیداتی را کـه در ان زمان برای او شناخته شده بود «پنجه میمون و غیره» کاهش دهد. اگر تیم توسعه یک متخصص واقعی در هیئت مدیره نداشت کـه بتواند آسیب پذیری هاي جدید را پیشبینی کند و دست خودرا بالا ببرد، آنگاه این تهدید PRNG می توانست بـه اسانی نادیده گرفته شود.
رگولاتورها فقط بـه PRNG نیاز داشتند تا توزیع یکنواختی از اعداد تولید شده را ایجاد کند. این کاری اسـت کـه حتی PRNG هاي ساده انجام می دهند. غیر قابل پیشبینی بودن «امنیت رمزنگاری» اصلاً نیازی بـه آزمایش ندارد.
مفهوم PRNG برای اکثر «تجار» چیزی غریب بـه نظر میرسد. آن ها فقط بـه چند چیز اهمیت می دهند. آن ها راضی هستند زمانی کـه یک دستگاه اسلات:
تصادف نمی کند،
مورد علاقه بازیکنان اسـت،
پول در می آورد .
همچنین، نرمافزار موجود در دستگاههاي اسلات اغلب با بـهروزرسانیهاي جزئی، چندین نسل از کابینتها را حفظ میکند. و چرا چیزی را تغییر دهید کـه در 15 سال گذشته بدون مشکل کار کرده اسـت، درست اسـت؟ بنابر این، این امکان وجوددارد کـه حتی تعداد زیادی از خودرو هاي مدرن از بخش هایي از کدهای اوایل دهه 90 استفاده کنند.
من میدانم کـه تعداد زیادی از شـما مشتاق هستید تا با جزئیات نحوه عملکرد سیستم الکس را یاد بگیرید.بـه همین دلیل اسـت کـه من تمام جزئیات منتشر شده را برداشتم و تصمیم گرفتم نشان دهم کـه چگونه میتوان از مهندسی معکوس برای پیشبینی نتایج آینده یک اسلات PRNG استفاده کرد . تحلیل فنی من را در پایان مقاله بررسی کنید .
همان طور کـه قبلاً بیان کردم، من معتقدم کـه سیستم الکس از نظر اخلاقی قابل قبول و حتی در عده اي از حوزه هاي قضایی قانونی بود. با این حال، همه ی روشهایي کـه قبلاً برای ضرب و شتم اسلاتها استفاده شدهاند اینطور نیستند. روش هاي غیرقانونی متعددی وجوددارد کـه در گذشته از طریق انها اسلات تقلب شده اسـت .
بیشتر کلاهبرداریهاي ضبطشده در دستگاههاي اسلات مربوط بـه دستکاری سختافزار و/یا ابزارهای ویژهاي اسـت کـه برای «گول زدن» دستگاه اسلات و کسب درآمد استفاده میشود.
ذکر این نکته مهم اسـت کـه دستکاری هاي سخت افزاری و استفاده از هر ابزاری برای تغییر روش کار دستگاه هاي اسلات غیرقانونی اسـت . این بدان معناست کـه شـما همچنین ممکن اسـت یک تبر بگیرید و کابینت را بشکنید تا بـه محل ذخیره پول برسید. از نقطه نظر حقوقی، شـما تقریبا همین کار را انجام میدهید.
عده اي از انها بـه طور مکرر رخ داده اند، در حالی کـه برخی دیگر یک عملیات یک باره بودند. وجه اشتراک همه ی آن ها این واقعیت اسـت کـه انها فقط با دستگاه هاي اسلات فیزیکی کـه می توانید در کازینوهای زمینی پیدا کنید کار می کنند. کازینوهای آنلاین محافظت می شوند، زیرا بازیکنان باید از نظر فیزیکی نزدیک یک دستگاه اسلات برای دستکاری ان باشند.
همچنین، از آنجایی کـه کازینوها بـه طور مداوم کلاهبرداری میشدند، آن ها شروع بـه اجرای اقدامات امنیتی بیشتر و بـهروزرسانیهاي سختافزاری کردند کـه باعث شده تعداد زیادی از کلاهبرداریهایي کـه امروز در مورد انها صحبت خواهم کرد، انجام نشوند .
باشه بریم سراغش در این جا عده اي از روشهایي کـه در گذشته بـه اتومبیلهاي بازی تقلب شدهاند، آورده شده اسـت .
نخستین کلاهبرداری اسلات کـه بـه ان اشاره خواهم کرد بسیار ساده اسـت. این شامل سکه هاي جعلی یا هر چیز دیگری اسـت کـه دستگاه هاي اسلات بـه عنوان نوعی پرداخت ثبت می شوند. اگر بتوانید چیزی بسازید کـه خودرو «فکر می کند» سکه اسـت، می توانید از ان برای کسب درآمد استفاده کنید.
البته باید بتوانید سکه ها را کمتر از ارزش اسمی آن ها بسازید . در غیر این صورت سود زیادی نخواهید داشت.یک مثال مشهور از مردی وجوددارد کـه توانسته از این تکنیک بسیار موفق استفاده کند. لوئیس کولاوکیو یک جعل کننده کازینو آمریکایی اسـت کـه با نام ” سکه ” نیز شناخته می شود.
او و گروهش موفق شدند مقادیر قابل توجهی سکه جعلی و توکن هاي کازینو بسازند و از انها برای کسب درآمد در کازینوهای آتلانتیک سیتی و کانکتیکات استفاده کنند. او دستگیر شد و بعدا بـه لطف کانال History کـه مستندی درباره او ساخت، کاملاً مشهور شد.
اگر تا بـه حال با یویو بازی کرده باشید، می دانید کـه با استفاده صحیح از ان پایین و بالا میرود. و این دقیقاً همان کاری اسـت کـه یک سکه روی یک رشته انجام می دهد. ابتدا در دستگاه اسلات قرار داده می شود و اجازه داده می شود تا آن قدر دور برود تا دستگاه بتواند ان را ثبت کند و بازی را شروع کند. سپس بـه عقب کشیده می شود و بارها و بارها استفاده می شود .
این تکنیک بسیار شبیه بـه سکه هاي تقلبی اسـت، اما نیاز بـه تولید سکه هاي تقلبی در مقیاس بزرگ را از بین میبرد. با یک سکه روی یک رشته، تقریبا همه ی میتوانند سعی کنند از یک کازینو کلاهبرداری کنند . البته نه همه ی اینکار را کردند و نه هرکسی کـه اینکار را انجام داد موفق نبود.
فناوری مورد استفاده برای قضاوت در مورد اعتبار سکهها هرروز بهتر و بهتر میشد، کـه ترفندهایی مانند سکههاي جعلی را منسوخ میکرد، یا حداقل بـهکارگیری انها بسیار سختتر می شد. اتومبیلهاي اسلات شروع بـه استفاده از یک حسگر نور برای ثبت پرداختها و کشف جعلی یا واقعی بودن سکهها کردند.
یک سکه تراشیده شده بـه عنوان یک روش پرداخت معتبر ثبت شد، اما از طریق مقایسه کننده فیزیکی کـه برای اندازه گیری اندازه سکه هاي ورودی استفاده می شد، افتاد. بنابر این سکه بـه بازیکن بازگردانده شد و آماده استفاده مجدد شد.
اگر دستگاه اسلات نیاز داشت کـه سکه با اندازه مورد نیاز مطابقت داشته باشد، شی دیگری با خود سکه تراشیده شده در دستگاه وارد می شد . این شی کاملاً با اندازه سکه مطابقت داشت ودر دستگاه باقی ماند، در حالی کـه سکه تراشیده شده حسگر نوری را “گول زد” و از ان بیرون افتاد.
روشهایي کـه قبلاً برای شکست دادن اسلاتها توضیح داده شد، با نحوه قرار دادن پول در دستگاه ارتباط داشت . تقلب اسلات بعدی، و همچنین تعداد زیادی از موارد زیر، متفاوت هستند. آن ها بر روشهایي کـه اسلاتها پول پرداخت میکنند ؛ بـهویژه سکهها، تأثیر می گذراند.
شـما باید در مورد نوع قدیمی اسلات ها فکر کنید کـه هر بار کـه بازیکن چیزی برنده می شود مستقیماً سکه ها را پرداخت می کند. آن ها یک سکه شمار مکانیکی داشتند کـه از ان برای شمارش سکه هاي خروجی از دستگاه استفاده می شد تا بـه همان اندازه کـه بازیکن برنده شده بود پرداخت کنند.
دراین تقلب، یک رخت آویز «یا چیزی شبیه بـه شکل و فرم» درکنار سکه شمار بـه داخل قسمت فشار داده می شد کـه بر دقت ان تأثیر می گذاشت. این بدان معنی بود کـه اسلات بیشتر از آنچه کـه قرار بود پرداخت می کرد ؛ کـه بازی را در دراز مدت سودآورتر می کرد.
اتصال بالا بـه پایین ابزاری بود کـه از دو قسمت تشکیل شده بود … شـما حدس زدید – بالا و پایین، بـه طور خاص یک میله فلزی خم شده برای تشکیل یک دایره «بالا» و یک سیم بلند گیتار یا یک سیم نازک دیگر « پایین» .
اتصال بالا بـه پایین یکی از شناخته شده ترین ابزارهایی اسـت کـه برای کلاهبرداری از کازینوها استفاده می شود. در دهه 70 و 80 بسیار محبوب بود. این اصطلاح ” تخلیه اتومبیل اسلات ” را بـه سطح کاملاً جدیدی رساند.
قسمت پایینی در قسمت پایینی دستگاه قرار داده شد ودر آنجا با برق داخلی دستگاه تماس پیدا کرد و بار کوچکی از ان خارج شد. سپس قسمت بالایی داخل شکاف سکه قرار داده شد، کـه مدار را کامل کرد و دستگاه را وادار کرد تمام سکههایي را کـه داخل ان بود پرداخت کند .
پنجه میمون توسط افسانه اي از هنر تقلب در اتومبیل هاي بازی و کازینو – تامی گلن کارمایکل ایجاد شد . اما برای رسیدن بـه پنجه میمون، ابتدا باید بـه مفصل بالا بـه پایین برگردیم. کارمایکل صاحب یک تعمیرگاه تلویزیون بود کـه خیلی خوب کار نمیکرد. بنابر این، وقتی دوستش ری مینگ مفصل بالا بـه پایین را بـه او معرفی کرد، تصمیم گرفت ان را امتحان کند.
او تا حدودی دراین زمینه موفق شد، اما بعدا نه تنها بـه دلیل تقلب، بلکه بـه دلیل محکومیت هاي قبلی اش دستگیر و بـه 5 سال زندان محکوم شد. سپس متوجه شد کـه ابزاری کـه از ان استفاده کرده بود «مفصل بالا بـه پایین» از قبل کاملاً شناخته شده بود. او متوجه شد کـه باید چیز جدیدی برای موفقیت در زمینه کلاهبرداری از کازینوها کشف کند .
بـه همین دلیل پنجه میمون را اختراع کرد. او برای خودش یک دستگاه پوکر ویدیویی تهیه کرد و شروع بـه آزمایش کرد. کارمایکل موفق شد یک ابزار بسیار ساده ودر عین حال کاربردی ایجاد کند. او یک رشته فلزی را بـه یک میله فلزی خم شده وصل کرد، کـه بعدا ان را در دریچه دستگاه شکاف قرار داد و ان را بـه اطراف حرکت داد تا این کـه سوئیچ قیف سکه دستگاه را پیدا کرد. ان را کشید و هر چیزی کـه داخل دستگاه بود را گرفت .
همان طور کـه خودرو هاي بازی از نظر تکنولوژیکی پیشرفته تر و ایمن تر شدند، استفاده از سیستم هاي مکانیکی برای شمارش پول را متوقف کردند. آن ها شروع بـه استفاده از حسگرهای نوری کردند کـه اکثر تقلب هاي ذکر شده را منسوخ کرد. اما کارمایکل با این تغییر سازگار شد و راهی برای فریب دادن سیستمهاي جدید پیدا کرد .
او دستگاه کوچکی ساخت کـه میتوانست حسگر نوری را «کور» کند، و ان را قادر بـه تشخیص مقدار پولی کـه در دستگاه وارد شده و چقدر پرداخت میشود، نداشت . از آنجایی کـه خودرو فکر می کرد هنوز مبلغ صحیح پرداخت نشده اسـت، پول بیشتری و بیشتر پرداخت می کرد و متقلبان را ثروتمندتر و ثروتمندتر می کرد.
روش سیم پیانو برای تقلب اسلات هیچ ارتباطی با درج یا پرداخت پول ندارد. سیم پیانو برای تغییر نتیجه بازی استفاده شد کـه ان را بـه شکلی بسیار منحصر بـه فرد از تقلب تبدیل می کند.
قدمت ان بـه سال 1982 برمیگردد، زمانی کـه قرقرههاي دستگاه اسلات هنوز بـه صورت مکانیکی کار میکردند. سیم پیانو در داخل چرخان دستگاه اسلات وارد شد. سیم برای گیر کردن ساعت مورد استفاده برای اندازه گیری چرخش چرخ استفاده می شد، کـه بـه این معنی بود کـه بازیکنان می توانستند نتیجه چرخش را دستکاری کنند.
گروهی از افرادی کـه سعی کردند این عملیات را بـه اتمام برسانند، توانستند 50000 دلار برنده شوند . اما در تمام مراحل از انها فیلم برداری می شد و بعدا دستگیر شدند. موفقیت انها کوتاه مدت بود، اما انها واقعاً توانستند نتیجه بازی را تنها با استفاده از سیم پیانو تغییر دهند.
دنیس نیکراش کارها را متفاوت انجام داد. او همچنین یک دستگاه اسلات برای «بازی» در خانه خرید. او متوجه شد کـه تراشه دستگاه میتوانست برای دستکاری در نتیجه بازی دوباره برنامهریزی شود . تراشههاي برنامهریزیشده مجدداً میتوانستند در دستگاههاي اسلات کازینوها نصب شوند و برای کسب درآمد زیادی استفاده شوند.
و او این اطلاعات را برای خودش نگه نداشت. او باری از این تراشهها را سفارش داد، انها را دوباره برنامهریزی کرد، کلیدهای اسلات را بـه دست گرفت و تراشههاي آن ها را جای گزین کرد. و “درست” مانند ان؛ او موفق شد عملیات موفقیت آمیزی را انجام دهد کـه وی را ثروتمند کرد . او البته بعدا درسال 2004 دستگیر شد ودر سال 2010 درگذشت.
اگر چه این روش شکست دادن اسلات از نظر فنی یک تقلب یا کلاهبرداری نیست، تصمیم گرفتم ان را بخشی از این مقاله کنم. اسلات ها توسط افراد برنامه ریزی می شوند. و مردم اشتباه می کنند. یک اشتباه برنامه نویسی می تواند منجر بـه یک اشکال نرم افزاری شود کـه بعدا «دانسته یا ناآگاهانه» توسط بازیکنان مورد سوء استفاده قرار میگیرد .
موارد مستند تعداد زیادی از اشکالات نرم افزاری وجوددارد کـه منجر بـه پیروزی هاي بزرگ شده اسـت:
درسال 2015؛ یک زن 90 ساله اهل ایلینویز در حالی کـه بازی میس کیتی را بازی می کرد، 41 میلیون دلار برنده شد. کازینو از پرداخت پول بـه او خودداری کرد.
مردی در اتریش برنده جکپات 43 میلیون یورویی شد. با این حال، کازینو اصرار داشت کـه او فقط 4 علامت از 5 علامت مورد نیاز برای شروع جکپات را زده اسـت. بنابر این، برد او پرداخت نشد و بـه جای ان 100 دلار و یک وعده غذایی رایگان بـه او پیشنهاد شد.
زنی در نیویورک توانست بـه یک جکپات شگفت انگیز 42.9 میلیون دلاری دست یابد. این دستگاه حداکثر پرداخت 6500 دلار داشت و برد بزرگ فقط یک نقص بود. کازینو اصرار داشت کـه او فقط 2.25 دلار از چرخش خودرا دریافت می کند.
و میتونستم ادامه بدم نکته این اسـت کـه پیروزی هاي بزرگی کـه بـه دلیل نقص نرم افزار اتفاق میوفتد تقریبا هرگز پرداخت نمیشود . و بدتر از ان؛ عده اي از کازینوهای پنهان ممکن اسـت در واقع از این استفاده کنند تا با سرزنش کردن انها بـه خاطر یک نقص، بردهای واقعی را پرداخت نکنند.
با این حال، یک نقص نرم افزار همیشه نباید منجر بـه یک جکپات شود. در عوض ممکن اسـت جریانی از بردهای کوچک تر را برای بازیکن فراهم کند، یا پول درج شده در دستگاه را بـه نحوی کـه بـه نفع بازیکن باشد، اشتباه تفسیر کند. نمونه هایي از این نوع میتوانند زیر رادار باقی بمانند و توسط بازیکنان حیله گر مورد سوء استفاده قرار گیرند .
هر چند برای پیدا کردن این نوع باگ باید بسیار خوش شانس باشید. و حتی اگر موفق بـه انجام ان شوید، هرگز نمیتوانید مطمئن باشید کـه واقعاً پول را خواهید دید.اما بـه یاد داشته باشید، ثروت بـه نفع ذهن آماده اسـت . :»
بیایید با خلاصه کردن همه ی چیزهایی کـه در مورد استراتژی او میدانیم شروع کنیم:
الکس برای پیشبینی نتایج آینده بـه نتایج حدود 24 چرخش نیاز داشت.
ماموران منتظر زمان مناسب برای فشار دادن دکمه چرخش بودند .
برندن کوئرنر توانست منشا الگوریتم PRNG «از شواهد ریاضی ارائه شده توسط الکس» را تا کتاب هنر برنامه نویسی کامپیوتری ردیابی کند.
سلب مسئولیت: تجزیه و تحلیل فنی زیر فقط حدس و گمان من اسـت کـه مهندسان در Aristocrat چه اشتباهی انجام داده اند و چگونه الکس می تواند از ان سوء استفاده کند. باوجود این واقعیت کـه من تمام اطلاعات موجود در ان زمان را درنظر گرفتم، بهره برداری واقعی می توانست در جزئیات جزئی یا عمده متفاوت باشد.
گورو کازینو در حال بررسی دقیق تر پرونده الکس اسـت. PRNG کـه ممکن اسـت در کابینت هاي Aristocrat استفاده شده باشد. ساده ترین الگوریتم PRNG کـه در هنر برنامه نویسی کامپیوتری توضیح داده شده و نتایج رضایت بخشی را ارائه می دهد، در واقع بسیار ساده اسـت:
RNG = «a * PreviousRNG + c» mod m
این الگوریتم کـه بـه عنوان ژنراتور همگام خطی «LCG» شناخته می شود ؛ هنوز بـه عنوان یک الگوریتم پیش فرض PRNG در تعداد زیادی از زبان هاي برنامه نویسی «مانند جاوا» استفاده می شود.
آیا توسعه دهندگان خودرو هاي اسلات Aristocrat بـه سادگی می توانستند از الگوریتم پیش فرض PRNG ارائه شده توسط زبان برنامه نویسی کـه استفاده می کردند استفاده کنند؟ یا میتوانستند از ساده ترین PRNG کـه الزامات یکنواختی را برآورده می کند استفاده کنند؟
من فکر میکنم کـه این سناریوی ممکن اسـت. این الگوریتم پیش فرض کار می کند و معیار های یکنواختی اعداد تصادفی تولید شده را برآورده می کند. ممکن اسـت تمام معیارهایی را کـه برنامه نویسان در مشخصات الزامات روی ان کار می کردند، برآورده کرده باشد.
حالا بیایید حدس بزنیم کـه الکس چقدر جسورانه می توانست از این الگوریتم بهره برداری کند.
نخستین قدم این اسـت کـه با پارامترهای دقیق الگوریتم «پارامترهای a، c و m» آشنا شوید. اینبخش راحت اسـت، زیرا این پارامترها در هر دستگاه اسلات نوشته شده اسـت. الکس فقط باید کد باینری را از حافظه کابینت بخواند و ان را دیکامپایل کند. این وظیفه اي اسـت کـه هر متخصص میکروالکترونیک درصورت مجهز بودن بـه ابزار مناسب می تواند انجام دهد.
اما دانستن تنها پارامترهای a، c و m بـه تنهایی کافی نیست. با کامپایلسازی، میتوانید پارامترهای همه ی الگوریتمهاي PRNG را بخوانید – حتی الگوریتمهاي امن رمزنگاری. برای این کـه بتوانید دنباله RNG را دریک دستگاه اسلات واقعی کـه دریک کازینو قرار داده شده اسـت پیشبینی کنید و از ان بهره برداری کنید، باید چیز دیگری نیز بدانید – مقدار فعلی RNG .
الگوریتم LCG PRNG بـه طور کلی بـه اسانی قابل پیشبینی اسـت . این بدان معناست کـه فقط با دانستن 3 شماره تصادفی می توانید پارامترهای a, c, m را ارزیابی کرده و اعداد بعدی را بـه اسانی پیشبینی کنید .
با ان اشتباه نگیرید، زیرا این وظیفه دقیقی نبود کـه الکس با ان روبهرو بود. الکس قبلاً پارامترهای a، c و m را از کامپایلسازی میدانست، اما مقدار فعلی RNG را نمیدانست . او توانست اعداد تصادفی تولید شده را بـه طور غیرمستقیم با تماشای موقعیت هایي کـه قرقره ها در چرخش هاي ضبط شده متوقف می شوند، مشاهده کند.
نکته کلیدی این اسـت کـه منطق یک بازی اسلات قطعی اسـت ودر داخل کابینت برنامه ریزی شده اسـت. بنابر این میتوان ان را دکامپایل کرد، مهندسی معکوس کرد ودر جای دیگری شبیه سازی کرد. منطق بازی طبق معمولً یک شماره تصادفی میگیرد و از برخی عملیات ریاضی برای تعیین محل توقف هر حلقه استفاده می کند .
قرقره هاي اسلات طبق معمولً حدود 50 تا 100 علامت دارند کـه سه مورد از انها روی صفحه نمایش داده می شود. ترکیب ها ممکن اسـت گاهی تکرار شوند و قرقره ها میتوانند طول متفاوتی داشته باشند، اما بیایید فرض کنیم کـه 50 ترکیب منحصر بـه فرد در هر حلقه وجوددارد. شماره تصادفی یکی از این 50 ترکیب را انتخاب می کند، بنابر این فقط با نگاه کردن بـه نخستین حلقه در نخستین چرخش می توانید 49/50 «98٪» از اعداد تصادفی احتمالی را حذف کنید .
اگر بازی دارای 5 حلقه باشد، بـه طور متوسط تنها یکی از 312 میلیون شماره تصادفی دقیقاً همان نتیجه اي را می دهد کـه توسط یک بازیکن مشاهده شده اسـت.اگر نتیجه تعداد زیادی از اعداد تصادفی «*» متوالی را بدانید ؛ خیلی زود فقط با 1 شماره تصادفی اولیه خواهید رسید کـه نتیجه دلخواه را برای همه ی چرخش ها می دهد. در واقع تعداد چرخش هاي مورد نیاز شـما متناسب با طول شماره تصادفی اولیه اسـت.
بنابر این شـما فقط باید تمام اعداد تصادفی ممکن را شبیه سازی کنید و voilà… خوب، نه بـه این سرعت .اگر یک دستگاه اسلات از اعداد تصادفی 64 بیتی استفاده می کند، شبیه سازی همه ی آن ها بـه قدرت محاسباتی زیادی نیاز دارد «544 سال در لپتاپ من». الکس هنوز نیاز داشت کـه از توسعه دهندگان Aristocrat کمک ناخواسته اي دریافت کند. من دو کار را پیدا کردم کـه آن ها می توانستند برای کمک بـه الکس انجام دهند:
از حالت RNG کـه خیلی کوتاه اسـت «32 بیت» استفاده کنید.
از شماره تصادفی بـه گونه اي استفاده کنید کـه بتوان از ان برای یافتن وضعیت فعلی RNG استفاده کرد.
کابینت هاي Aristocrat MK IV بر روی یک پردازنده 32 بیتی ARM 250 ساخته شده اند. اگر توسعه دهندگان اسلات تصمیم گرفتند کـه از یک دانه اعداد تصادفی 32 بیتی نیز استفاده کنند، آنگاه فقط 4,294,967,296 حالت RNG ممکن وجوددارد . ممکن اسـت زیاد بـه نظر برسد، اما رایانه هاي فعلی بسیار سریع هستند و این تعداد گزینه را میتوان بـه اسانی با نیروی brute force بررسی کرد «در لپتاپ من 4 ثانیه طول میکشد».
با این حال، من این گزینه را کمتر محتمل میدانم. علاوه بر این، یک شماره تصادفی 32 بیتی برای پوشش تمام نتایج ممکن در برخی بازیها بسیار کوتاه اسـت «5 حلقه * 90 سمبل».
بیایید فرض کنیم کـه یک حالت RNG 64 بیتی در حال استفاده اسـت. چگونه از یک شماره 64 بیتی برای توقف قطعی 5 قرقره با 50 سمبل استفاده میکنید؟ ساده ترین روشی کـه یکنواختی را حفظ می کند، موارد زیر اسـت:
Pos1 = مدول RND 50
Pos2 = «RND / 50» مدول 50
Pos3 = «RND / «50*50»» مدول 50
Pos4 = «RND / «50*50*50»» مدول 50
Pos5 = «RND / «50*» 50*50*50»» مدول 50
اکنون هر قرقره از قسمت خود از یک شماره تصادفی استفاده می کند و هیچ ارتباطی بین حلقه ها وجود ندارد. بـه شرطی کـه اعداد تصادفی یکنواخت باشند، احتمال یکسانی برای هر نتیجه بازی وجوددارد «**» . تنظیم کننده تایید می کند.
اگر موقعیت هاي قرقره را می دانید، می توانید بـه اسانی انتهای یک شماره تصادفی را ارزیابی کنید «RND mod 50^5»:
RndEnd = pos1 + pos2*50 + pos3*50*50 + pos4*50*50*50 + pos5*50*50*50*50
آیا این بـه شـما کمک می کند تا وضعیت RNG فعلی را حدس بزنید؟ در واقع خواهد شد. کمک زیادی بـه شـما خواهد کرد.
اکنون نیازی بـه شبیه سازی همه ی اعداد تصادفی ممکن نیست، بلکه فقط آنهایی را کـه بـه RndEnd ختم می شوند، شبیه سازی کنید . یا، بـه طور دقیق تر، تمام اعداد تصادفی کـه با الگوی RndEnd + X * 50^5 مطابقت دارند :
1 * 312500000 + RndEnd
2 * 312500000 + RndEnd
3 * 312500000 + RndEnd
…
اکنون از 2^64 مقدار ممکن «18466744073709551616»؛ شـما باید فقط 59029581035 را امتحان کنید. هردو مقادیر زیادی از مقادیر ممکن هستند، اما در حالی کـه شبیه سازی اولی در لپتاپ من 544 سال طول میکشد، شبیه سازی دوم خواهد بود . در 60 ثانیه تکمیل شد . این یک تفاوت بزرگ اسـت.و بس. حالا شـما شماره تصادفی را می دانید و می توانید چرخش هاي آینده را پیشبینی کنید.
اکسپلویت واقعی RNG کـه Alex استفاده می کند میتواند متفاوت باشد، اما شرط میبندم کـه با فرآیندی کـه در این جا توضیح دادم اشتراکات زیادی دارد.«*» در واقع الکس نتایج اعداد تصادفی متوالی را نمی دانست، اما نتایج اعداد تصادفی را می دانست کـه در دنباله کاملاً بـه هم نزدیک بودند.
ماموران الکس باید برای یک لحظه خاص منتظر می ماندند تا دکمه چرخش را فشار دهند. این نشان می دهد کـه کابینه Aristocrat MK IV بـه طور مداوم اعداد تصادفی رابا مقداری فرکانس تولید می کند «در عده اي از حوزه هاي قضایی این یک الزام قانونی اسـت ». هنگامی کـه بازیکن دکمه چرخش را فشار می دهد، از شماره تصادفی فعلی برای تعیین نتیجه چرخش استفاده می شود.
چگونه خودرو هاي اسلات را شکست دهیم
توجه داشته باشید کـه فرکانس تولید اعداد تصادفی نیز باید در داخل دستگاه اسلات برنامه ریزی شود. بنابر این، پس از کامپایل کردن کد نیز بـه اسانی قابل خواندن و پیشبینی اسـت.
بیایید فرض کنیم کـه اعداد تصادفی دریک اتومبیل اسلات با فرکانس 100 در ثانیه تولید می شوند. انجام 24 راند ممکن اسـت حدود 60 ثانیه طول بکشد، بنابر این حدود 6000 شماره تصادفی درگیر اسـت کـه از 24 شماره برای ارزیابی نتیجه چرخش استفاده شده اسـت.
سپس کار این اسـت کـه نخستین شماره تصادفی را ارزیابی کنیم کـه نتیجه چرخش اول را نشان می دهد، و همچنین نتایج 23 چرخش باقی مانده را وقتی کـه در 6000 چرخه بعدی چرخه می شود، ارزیابی شود. انجام این شبیه سازی نیز راحت اسـت. فقط چند برابر بیشتر طول میکشد «با بهینه سازی مناسب».