حتما این روزها متوجه تصمیم بانک مرکزی در مورد اجرای اجباری رمز پویا برای کارتهای اعتباری مطلع شدهاید، این تصمیم با مخالفت برخی فعالان سرویسهای اینترنتی مواجه شده چرا که اجرای آن بدون آموزش کافی باعث سردرگمی مردم در کارهای روزانه و ضرر شرکتهای فعال در این زمینه خواهد شد.
طبق آمارهای رسمی روزانه تعداد زیادی پرونده قضایی در پلیس فتا در مورد فیشینگ یا کلاهبرداری اینترنتی از کاربران و دزدی از حساب آنها باز میشود که باعث دردسرهای زیادی هم برای بانکها، مردم و هم پلیس فتا شده است.
اما اجرای این طرح تا چه حد میتواند جلوی کلاهبرداری اینترنتی را بگیرد؟
این مقاله صرفا جهت آموزش بوده و بررسی فنی اجمالی در مورد مسایل پیرامون فیشینگ است.
فیشینگ به انگلیسی Phishing که تبدیل یافتهی کلمهٔ Fishing است نوعی کلاهبرداری اینترنتی است. در این روش فرد کلاهبرداری ابتدا یک سایت اینترنتی میسازد، مثلا فروش شارژ نیم بها، یا سایت ثبت نام یارانه. بعد این فرد با هر دوز و کلک و دروغی که شده سعی میکند کاربر را به این سایت ببرد و او را برای انجام عملیات بانکی وسوسه یا مجبور کند، مثلا قربانی پیامکی دریافت میکند که برای جلوگیری از قطع یارانه به سایت زیر مراجعه کنید.
کاربر بینوا تصور میکند که یک عملیات بانکی ساده انجام میدهد و یک خرید اینترنتی معمولی انجام میدهد ولی بی خبر از آن که درگاه بانکی نیز جعلی است و اطلاعاتی که در آن وارد میکند مستقیما به فرد کلاهبردار فرستاده میشود.
معمولا کلاهبردارها از آدرسهایی مشابه سایتهای معتبر استفاده میکند تا کاربر کمتر شک کند.
در این جا به هیچ وجه از واژهٔ هکر برای این افراد استفاده نمیکنم چون هیچ عملیات نفوذی انجام نمیشود و روش فیشینگ کاملا مبتنی بر دروغ و کلاهبرداری است، گرچه هر دو مجرم هستند و عمل مجرمانه انجام میدهند.
یکی از راههای جلوگیری از فیشینگ استفاده از رمز یک بار مصرف یا رمز پویا است
(one-time password (OTP), dynamic password)، به طوری که کاربر علاوه بر اطلاعات کاربری برای ورود به حساب کاربری یا انجام تراکنش بانکی نیاز به یک رمز دیگر دارد که فقط برای همان عملیات معتبر است. روشهای زیادی برای تولید و ارسال رمز یک بار مصرف وجود دارد مثل دستگاههای تولید رمز (token device)، روش پیامکی، روش تماس صوتی و روش نرم افزاری مثل google authenticator.
الگوریتمهای مختلفی برای تولید رمز یک بار مصرف وجود دارد ولی عمده این روشها از ترکیب اطلاعات کاربر، زمان جاری و یک کلید مشترک استفاده میکنند. برای همین معمولا نیاز است تا دستگاه یا نرم افزاری که رمز یک بار مصرف تولید میکند با ساعت سمت سرور همگام باشد.
حتی اگر یک کلاهبردار به این اطلاعات دسترسی پیدا کند فقط برای مدت زمان کوتاهی میتواند از آن استفاده کند (بین ۶۰ تا ۱۲۰ ثانیه).
با استفاده از این روش اطلاعاتی که شما برای شخص کلاهبردار میفرستید دیگر قابل استفاده نخواهد بود.
تا به حال اکثر روشهای فیشینگ کاملا به صورت ایستا (Static) بودند. در روشهای فیشنگ سنتی قربانی به یک سایت فیشینگ میرسد و اطلاعات شخصی خود را وارد میکند. این اطلاعات برای استفادههای بعدی مجرم ذخیره میشدند. معرفی سیستمهای احراز هویت دو عاملی (two-factor authentication) به اختصار 2FA به خصوص رمز ورود یک بار مصرف این روشهای فیشینگ از کار افتادند. ذخیره این اطلاعات پویا دیگر به درد کلاهبردارها نمیخورد. در روش احراز هویت دو عاملی کاربر باید یک رمز یک بار مصرف را در فرآیند ورود به سایت یا تراکنش مالی وارد کند.
برای مدت کوتاهی سرویسهای اینترنتی کاهش شدید حملههای فیشینگ را گزارش کردند، اما این پایان ماجرا نبود و مجرمین تسلیم نشدند.
روش Cross-Channel Phishing
در این روش فرد کلاهبردار سعی میکند علاوه بر سایت فیشینگ از طریقی به رمز یک بار مصرف کاربر نیز دسترسی پیدا کند، مثلا تلفن مشتری یا شبکه تلفن همراه را شنود کند و به پیامک رمز یک بار مصرف دسترسی پیدا کند، یا با یک دروغ دیگر کاربر را وادار کند تا رمز را به یک شماره دیگر ارسال کند.
سالها پیش یک گروه کلاهبردار در سوئد به بهانه خراب بودن دستگاه رمز ساز مشتریان بانک به منزل مشترکین مراجعه میکردند و یک دستگاه رمز ساز جعلی را با دستگاه اصلی تعویض میکردند تا از این طریق به رمز یک بار مصرف مشتریان دسترسی پیدا کنند.
بسیاری از سازمانها بر این باورند که با اجرای 2FA دیگر ایمن خواهند بود، اما این دیگر صادق نیست. با استفاده از ابزارهای فیشینگ جدید که قابلیتهای real-time دارند کلاهبرداران روشهای عملیاتی خود را بهبود دادهاند تا بتوانند عمل کلاهبرداری را در زمان حقیقی انجام دهند.
این روش که به real-time phishing یا Man in the Middle phishing نیز شناخته میشود میتواند سرویسهایی را که 2FA هم دارند مورد حمله قرار داد.
در این روش سایت فیشینگ به صورت Real-time با سایت بانک در ارتباط است. در نگاه اول real-time phishing به نظر شبیه انواع مختلف فیشینگ دیگر است، اما فقط با بررسی دقیقتر است که مشخص میشود سایت مخرب به صورت real-time به سایت بانک متصل است. این اتصال سایت مخرب را قادر میسازد که اطلاعات وارد شده توسط کاربر را بلافاصله به سایت بانک ارسال کند.
اطلاعات احراز هویتی که کاربر وارد سایت فیشینگ میکند از جمله رمز یک بار مصرف دزدیده شده و بلافاصله توسط کلاهبردار برای برقراری ارتباط با حساب بانکی مورد استفاده قرار میگیرد. دیگر مهم نیست که سایت بانک از چه دستگاه token ای، سیستم پیامکی یا هر سیستم دیگری استفاده میکند.
روشهای (Man In The Middle (MITM خیلی جدید نیستند و راه حلهای مقابله خاص خود را دارند اما باید توجه داشت که کاربران آموزش ندیدهای که تا امروز به این راحتی به دام سادهترین روشهای فیشینگ میافتادند چطوری خواهند توانست با چنین روشهای پیچیدهای مقابله کنند.
در برخی روشهای MITM نیاز است که کلاهبردار و قربانی درون یک شبکه باشند تا بتوان از طریق -ARP Spoofing عملیات دستکاری اطلاعات را انجام داد ولی در فیشینگ لزوما نیاز به این موضوع نیست، چرا که کاربر خود به سایت فیشینگ مراجعه میکند.
برای انجام این کار نیاز است تا برنامهای سمت سرور فیشینگ اجرا شود و درخواست را به بانک ارسال کند اما به علت وجود روشهای Anti-Forgery در سایتها نیاز است تا صفحه بانک بارگذاری شده و اطلاعات کاربر از طریق همان صفحه ارسال شود. برای همین نیاز است تا صفحهٔ Html سایت پردازش شود و بعد همراه با اطلاعات کاربر به سمت بانک ارسال شود. این کار برای یک برنامه نویس متوسط کار سختی نیست به خصوص با زبان Python، البته ابزارهایی وجود دارد که این کار را به صورت خودکار انجام میدهند که در ادامه با آنها آشنا میشویم.
از جمله ابزارهای Phishing 2.0 می توان به evilginx2 و Modlishka اشاره کرد.
با استفاده از این ابزار دیگر لازم نیست حتی یک سایت جعلی شبیه سایت اصلی ساخت به این صورت که نرم افزار فیشینگ میان شما و سایت اصلی قرار میگیرد و ترافیک سایت را تحلیل میکند و تغییراتی که لازم است را در آن ایجاد میکند، در این حالت سایتی که شما میبینید از نظر ظاهری کاملا شبیه سایت اصلی است ولی در محتوای اطلاعات آن تغییراتی انجام شده است.
این ابزار علاوه بر دور زدن سیستم 2FA اطلاعات Session token را نیز ذخیره میکند که به کلاهبردار اجازه میدهد به راحتی وارد حساب کاربری قربانی شود.
https://en.wikipedia.org/wiki/Phishing
https://en.wikipedia.org/wiki/One-time_password
https://securityintelligence.com/real-time-phishing-takes-off/
https://www.ubisecure.com/security/phishing-2-0/
https://www.zdnet.com/article/new-tool-automates-phishing-attacks-that-bypass-2fa/
https://www.microsoft.com/security/blog/2019/12/11/the-quiet-evolution-of-phishing/