<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>نوشته های Mohsen Tahmasebi</title>
        <link>https://virgool.io/feed/@moh53n</link>
        <description>این بلاگ به https://moh53n.net/blog-fa/ منتقل شد و پست جدیدی در اینجا منتشر نخواهد شد.</description>
        <language>fa</language>
        <pubDate>2026-06-17 05:56:09</pubDate>
        <image>
            <url>https://files.virgool.io/upload/users/27554/avatar/Ido4u4.png?height=120&amp;width=120</url>
            <title>Mohsen Tahmasebi</title>
            <link>https://virgool.io/@moh53n</link>
        </image>

                    <item>
                <title>خداحافظی با ویرگول و انتقال بلاگ</title>
                <link>https://virgool.io/@moh53n/%D8%AE%D8%AF%D8%A7%D8%AD%D8%A7%D9%81%D8%B8%DB%8C-%D8%A8%D8%A7-%D9%88%DB%8C%D8%B1%DA%AF%D9%88%D9%84-%D9%88-%D8%A7%D9%86%D8%AA%D9%82%D8%A7%D9%84-%D8%A8%D9%84%D8%A7%DA%AF-eyywtg2qv4bz</link>
                <description>درود!برای ماه ها قصد داشتم که بلاگ رو منتقل کنم و بالاخره این اتفاق افتاد. از ویرگول بابت این شش سال همراهی و میزبانی نوشته هام ممنونم.چیزی از اینجا پاک نخواهد شد، اما تمام پست های جدیدم در بلاگ جدید منتشر خواهد شد و دیگه فعالیتی در ویرگول نخواهم داشت. تمامی پست های قدیمی به بلاگ جدید منتقل شدن و به زودی چند تا از رشته توییت های سابقم رو هم به بلاگ جدید اضافه خواهم کرد.آدرس بلاگ جدید:https://moh53n.net/blog-fa/</description>
                <category>Mohsen Tahmasebi</category>
                <author>Mohsen Tahmasebi</author>
                <pubDate>Fri, 16 May 2025 02:40:16 +0330</pubDate>
            </item>
                    <item>
                <title>داستان یک شبکه معیوب: چرا شبکه و اینترنت ایران بدون فیلترینگ هم خراب است؟</title>
                <link>https://virgool.io/@moh53n/%D8%AF%D8%A7%D8%B3%D8%AA%D8%A7%D9%86-%DB%8C%DA%A9-%D8%B4%D8%A8%DA%A9%D9%87-%D9%85%D8%B9%DB%8C%D9%88%D8%A8-%DA%86%D8%B1%D8%A7-%D8%B4%D8%A8%DA%A9%D9%87-%D9%88-%D8%A7%DB%8C%D9%86%D8%AA%D8%B1%D9%86%D8%AA-%D8%A7%DB%8C%D8%B1%D8%A7%D9%86-%D8%A8%D8%AF%D9%88%D9%86-%D9%81%DB%8C%D9%84%D8%AA%D8%B1%DB%8C%D9%86%DA%AF-%D9%87%D9%85-%D8%AE%D8%B1%D8%A7%D8%A8-%D8%A7%D8%B3%D8%AA-djxr3zdfyauy</link>
                <description>نکته ۱: تلاش شده که این مطلب به زبان نسبتا ساده ای نوشته بشه و به همین دلیل ممکنه برای مخاطب فنی حوصله سر بر باشه.نکته ۲: بعضی موارد عمدا در این مطلب ذکر نشدن، دلیلش هم واضحه. در واقع تا همین حد هم زیادی گفتم :))وضعیت اینترنت در ایران به قدری خراب هست که نیازی به مقدمه سرایی نیست. دلیل اول این وضعیت خراب رو هم همه ما میدونیم، &quot;فیلترینگ&quot;. اما یک سوال اساسی وجود داره، کشور های دیگه ای در دنیا مثل چین و روسیه هم سیستم های فیلترینگ پیشرفته ای دارن، اما وضعیت شبکه و اینترنتشون انقدر خراب نیست، پس چرا وضعیت ما اینجوریه؟دلایل این موضوع در دو دسته قرار میگیرن:دلایل مربوط به فیلترینگکنترل دسترسی کامل یک کشور به اینترنت، با علم و تکنولوژی امروزی ممکن نیست. تا زمانی که شما دسترسی به &quot;شبکه اینترنت&quot; دارید (حتی به صورت محدود)، بالاخره یک راهی پیدا میشه که محدودیت های دسترسی به این شبکه رو دور بزنید. به دلایل واضحی بیش از این وارد مبحث فیلترینگ نمیشیم (نمیتونیم بشیم)، صرفا تا همین حد بدونیم که به خاطر عدم پذیرش غیرممکن بودن کنترل دسترسی کامل به اینترنت، سیاستی برای اجرای فیلترینگ در پیش گرفته شده که غیرممکن، به دور از واقعیت و احمقانه است. اجرای این نوع از فیلترینگ باعث فشار بسیار شدید به زیرساخت معیوب شبکه ایران شده و نه فقط شبکه اینترنت، بلکه شبکه داخلی رو هم با اختلال شدید مواجه کرده. (اینارو نگفتم که بگم سیاست فیلترینگ باید عوض بشه، من از اساس با فیلترینگ مشکل دارم. دلیلش این هست که این مورد یکی از دلایل اصلی خراب بودن وضعیت شبکه ایران در مقایسه با کشور های دیگه دارای فیلترینگ هست)دلایل نامربوط به فیلترینگبیاید فرض کنیم که فردا در یک دنیای غیرممکن بیدار میشیم و فیلترینگ به طور کامل از اینترنت و شبکه ایران حذف شده. با چه چیزی مواجه خواهیم شد؟اولین تغییر بزرگ، عدم نیاز به فیلترشکن هست. عدم استفاده از فیلترشکن باعث کاهش قابل توجه بار ترافیک روی زیرساخت کشور میشه. از طرفی بخش های مبارزه با فیلترشکن سیستم فیلترینگ، دیگه روی ترافیک مشکوک به فیلترشکن اختلال ایجاد نمیکنن و این باعث بهبود قابل توجه کیفیت شبکه میشه، چرا که این سیستم روی بخش بزرگی از ترافیک عادی هم اختلال ایجاد میکنه.بازگشت دسترسی به جاهایی مثل گوگل پلی، به مرور باعث افزایش نسبی امنیت کاربران ایرانی میشه که آلودگی بات نت ها در ایران رو کم میکنه. این موضوع حجم بسیار قابل توجهی از فشار روی زیرساخت ایران رو کم میکنه و حجم حملات DDoS با منشا داخلی هم کم میشه.پایان اختلال روی تانل های شبکه، باعث افزایش کیفیت ارتباطات سازمانی و تجاری میشه که احتمالا سمت کاربران هم حس خواهد شد.در کل میتونیم بگیم که در این دنیای خیالی، کیفیت و پایداری ارتباطات در شبکه ایران به طور خوبی افزایش پیدا میکنه و باعث عدم هدر رفت کلی پول میشه. اما سوال اینجاست، آیا الان ما با یک شبکه با کیفیت طرفیم؟ آیا پارامتر هایی مثل پینگ تایم (Latency) و پهنای باند (چیزی که به اشتباه بهش سرعت اینترنت گفته میشه) خوب میشن؟جواب اینه که قطعا شاهد بهبود هایی در این پارامتر ها خواهیم بود اما نه، هنوز هم فرسنگ ها با یک شبکه و اینترنت با کیفیت فاصله خواهیم داشت. چرا؟مرکزیت شبکه کشور در سازمان ارتباطات زیرساختتا حالا به اسم اینترنت دقت کردید؟ Internet یا به عبارتی InterNetwork که من بهش میگم شبکه ای بین شبکه های مختلف. در واقع اینترنت یک شبکه از شبکه های مختلف هست که تحت قوانین و پروتکل های مشترک، به هم متصل هستن. شبکه ای که شما در خونه دارید، شبکه ای که شرکت اینترنتی (ISP) شما داره و شما بخشی از اون هستید و... همگی نمونه هایی از این شبکه ها هستن که در کنار هم و با اتصال به هم دیگه، اینترنت رو شکل دادن.این باعث عدم تمرکز نسبی شبکه اینترنت شده (که خوشبختانه در سال های اخیر این عدم تمرکز بیشتر هم شده)، یعنی مثلا آمریکا نمیتونه یک دکمه بزنه و اینترنت خاموش بشه. آمریکا (و هر کشور دیگه ای) میتونه با یک دستور، شبکه های خودش رو از اینترنت قطع کنه و طبیعتا هرجایی که به اون شبکه ها وابسته هست دچار اختلال میشه، اما به هیچ عنوان شبکه جهانی اینترنت قطع نمیشه، چون دیگه دست یک شرکت و یک کشور و... نیست.این عدم تمرکز یک خاصیت دیگه هم داره. شرکت های ارائه دهنده اینترنت (ISP) هرچی ارتباط بیشتر و بهینه تری با بقیه شبکه ها داشته باشن، کیفیت کلی ارتباط بهتر خواهد بود. پس این شرکت ها با هم وارد رقابت میشن تا با ساختن یک شبکه بزرگ تر و بهینه تر، کیفیت بهتری ارائه بدن و این هم به نفع شرکت هست، هم به نفع مشتریانش و هم به نفع شبکه جهانی اینترنت.پس تا اینجا فهمیدیم که شرکت های ارائه دهنده اینترنت یا همون ISP ها به هم متصل میشن و باقی ماجرا. اما از اونجایی که اینجا ایرانه، بدیهیه که ما باید یک مدل کاملا غیراستاندارد، احمقانه و خطرناک رو جایگزین کنیم. در ایران، شرکت های ارائه دهنده اینترنت حق ندارن به طور مستقیم با شبکه های خارجی اتصالی داشته باشن! در عوض، جایی به اسم سازمان ارتباطات زیرساخت که زیرمجموعه وزارت ارتباطات هست، این اتصال رو میخره (به هر اندازه ای که دلش بخواد) و ISP های ایرانی باید اینترنت رو از این سازمان بخرن! اشکالات این مدل بسیار بزرگ و قابل توجه هستن:سازمان ارتباطات زیرساخت، به هر میزانی که دولت بخواد/بتونه پهنای باند اینترنت تهیه میکنه. این یعنی نه تنها پهنای باند بین الملل (اینترنت) کل کشور محدود به خواست و توانایی دولت هست، بلکه یعنی شرکت های اینترنتی خصوصی حق توسعه و بهبود این ارتباط رو ندارن یا به شکل بسیار محدودی دارن!این مدل وجود رقابت رو تا حد زیادی حذف میکنه. هم در توسعه زیرساخت، هم در رقابت بر سر میزان پهنای باند، هم در رقابت بر سر کیفیت و هم در رقابت بر سر قیمت. چرا؟ چون در نهایت ترافیک همه میرسه به سازمان ارتباطات زیرساخت و همه به یک شکل به فنا میرن، علاوه بر اینکه قیمت ترافیک بین الملل هم عملا توسط دولت داره تعیین میشه.فساد زا و رانت زا هست.امکان مشارکت شرکت های ایرانی در بازار ترانزیت اینترنت رو میگیره. خیلی ها معتقدن که ایران به دلیل موقعیت جغرافیایی مناسبش، فرصت بسیار خوبی در بازار ترانزیت اینترنت (انتقال ترافیک اینترنت بین شبکه های مختلف در دنیا) داره.تازه ما فرض کردیم که فیلترینگ وجود نداره وگرنه این لیست طولانی تر میشد.معماری متمرکز و غیربهینه شبکهعلاوه بر انحصار و مرکزیت سازمان ارتباطات زیرساخت در شبکه ایران، معماری شبکه ایران هم به دلایلی به شدت متمرکز هست که خلاف اصول استاندارد اینترنت هست. این خلاف اصول بودن باعث میشه ترافیک شبکه به طور مناسب توزیع نشه. در موارد بسیاری من اگر بخوام با یک نفر در شهر خودم ارتباط اینترنتی داشته باشم، این ارتباط یک دور میره تهران و بر میگرده! این موضوع نه تنها باعث افزایش سرسام آور Latency میشه، بلکه فشار احمقانه ای رو هم به زیرساخت مرکزی شبکه ایران وارد میکنه. سال هاست که قراره با شکستن مرکزیت تهران در شبکه ایران، این موضوع تا حدی حل بشه اما شواهد نشون میدن تا به امروز پیشرفت ویژه ای رخ نداده.علاوه بر مرکزیت، باز هم به دلایلی از جمله عدم توسعه زیرساخت (که متاسفانه بخش زیادیش در انحصار دولت هست) و دلایل دیگه، مسیر ترافیک بین الملل هم در ایران بهینه نیست. یعنی اگر من در شیراز در یک بازی آنلاین به سرور خاورمیانه (جنوب خلیج فارس) وصل بشم، در عموم ISP ها پینگم چندین برابر عددی هست که باید باشه (در واقع ترافیک من، مستقیم از شیراز به جنوب ایران و جنوب خلیج فارس نمیره و یک مسیر به شدت غیر بهینه تر رو طی میکنه).عدم توسعه و فرسودگی لایه اکسساز پر شدن ظرفیت دکل های موبایل تا فرسودگی شدید زیرساخت خطوط مسی در ایران و عدم توسعه زیرساخت فیبر نوری (که اخیرا دارن کار هایی دربارش میکنن)، متاسفانه زیرساختی که قراره کاربر نهایی رو به شبکه متصل کنه انقدر ضعیف و توسعه نیافته هست که حتی اگر تمام مشکلاتی که تا اینجا ذکر شد هم حل بشن، باز هم کاربر نهایی تجربه خوبی نخواهد داشت. به گزارش سازمان تنظیم مقررات و ارتباطات رادیویی در تابستان ۱۴۰۲ دقت کنید:تعداد کسانی که از اینترنت همراه استفاده میکنن، با اختلاف وحشتناکی بیشتر از مشترکین اینترنت ثابت هست در حالی که باید به دلایلی بسیاری (اقتصادی و فنی) برعکس باشه! در عموم دنیا این اینترنت ثابت هست که حکم روش اتصال اصلی رو داره چون هم به شدت ارزون تر هست و هم به شدت با کیفیت تر (به دلایل فنی)! این خودش گویای وخامت اوضاع لایه اکسس در ایران هست...باقی مواردموارد بسیار دیگه ای هم هستن که در این وضعیت نقش دارن، از بی سوادی و فساد تا کمبود نیروی متخصص. تازه دقت کنید که تمام این موارد در حضور فیلترینگ (دنیای واقعی ما)، به مراتب مخرب تر هستن. این یک واقعیته که شبکه ایران بدون فیلترینگ هم معیوبه، حالا تصور کنید که سیستم فیلترینگ سنگین ایران چه بلایی سر این زیرساخت معیوب میاره.موارد ذکر شده صرفا چیز هایی بودن که در ذهن من، اصلی ترین دلایل (به جز فیلترینگ) وضعیت کنونی شبکه و اینترنت در ایران بودن.راه حل؟بیاید این دنیای خیالی رو خیالی تر کنیم و بگیم نه تنها فیلترینگ در ایران برداشته شده، بلکه قصد بهبود شبکه و اینترنت هم وجود داره (تو خواب ببینیم). چه باید کرد؟درسته داریم فرض میکنیم که فیلترینگ برداشته شده، ولی چون میدونیم که این اتفاق نیفتاده، تاکید میکنم که قدم اول برداشته شدن کامل فیلترینگ هست :))دومین مورد برداشتن انحصار سازمان ارتباطات زیرساخت و خصوصی سازی کامل شبکه و اینترنت در ایران هست. به جاش یک رگولاتوری صرفا به عنوان ناظر و تنظیم گر کافی هست (البته خودش نباید عامل خرابی و فساد بشه).دولت پای خودش رو از روی گردن شبکه و اینترنت ایران برداره (حداقلی کردن سیاست گذاری دولتی و عدم امنیتی سازی شبکه).با خصوصی شدن کامل شبکه و اینترنت ایران و عدم دخالت دولت، باقی چیز ها خودش انجام میشه. تمرکز زدایی از معماری شبکه ایران به دست شرکت ها صورت میگیره و لینک های بین الملل به سرعت توسعه پیدا میکنن. لایه اکسس هم طی یک روند نه چندان سریع بهبود پیدا میکنه.سخن پایانیهدف از این پست، نگاه عمیق تر به مشکلات زیرساخت شبکه ایران بود. متاسفانه مشکلات یکی دو تا نیستن و من به چشم دارم میبینم که نیرو های متخصص شبکه کشور، خسته شدن و دارن میرن. با توجه به اینکه بسیار بعید میدونم حالا حالا ها تغییر مثبت قابل توجهی رو شاهد باشیم، فقط میتونم بگم که روز های سختی رو در پیش میبینم.امیدوارم این پست براتون مفید بوده باشه، ممنونم که خوندید!</description>
                <category>Mohsen Tahmasebi</category>
                <author>Mohsen Tahmasebi</author>
                <pubDate>Wed, 05 Jun 2024 22:58:03 +0330</pubDate>
            </item>
                    <item>
                <title>نگاهی به حملات و آلودگی های سایبری در ایران</title>
                <link>https://virgool.io/@moh53n/%D9%86%DA%AF%D8%A7%D9%87%DB%8C-%D8%A8%D9%87-%D8%AD%D9%85%D9%84%D8%A7%D8%AA-%D9%88-%D8%A2%D9%84%D9%88%D8%AF%DA%AF%DB%8C-%D9%87%D8%A7%DB%8C-%D8%B3%D8%A7%DB%8C%D8%A8%D8%B1%DB%8C-%D8%AF%D8%B1-%D8%A7%DB%8C%D8%B1%D8%A7%D9%86-ica8vhyc7kqf</link>
                <description>حملات در حال انجام به هانی پاتتوی این پست، من و جواد دادگر نتایج تحقیق آخر هفته ای که روی حملات و آلودگی های سایبری در ایران داشتیم رو به اشتراک میذاریم.مدت زیادی هست که همگی میدونیم آلودگی سایبری در ایران به قدری زیاده که در بعضی موارد، رتبه اول در دنیا رو به خودش اختصاص داده [1]. هفته پیش، این آلودگی ها کار دست من داد و با جواد تصمیم گرفتیم یک بررسی خیلی کوتاه (در حد یک پروژه آخر هفته) روی این موضوع داشته باشیم.در ابتدای این پست یک مقدمه خواهیم گفت، بعد به موارد عمومی تر میپردازیم، بعد به مطالب فنی تر و در نهایت یک توصیه و سخن پایانی.آلودگی و حملات سایبری در ایران به روایت گزارش هاطی سال های گذشته من تحقیقاتی رو روی بدافزار های عمدتا اندرویدی انجام دادم [2][3][4] که بیانگر اوضاع در ایران هست، اما گستردگی آلودگی در ایران به خوبی در گزارشات خارجی هم نمایان هست؛ از گزارش کلادفلر درباره نوع ترافیک از مبدا ایران [5] (که هنوز به طور دقیق دلیلش مشخص نیست) تا رتبه یک ایران در آلودگی بدافزار های موبایلی [1].گزارش رادار کلادفلر از ترافیک مبدا ایراندود این آلودگی فقط به چشم خود کاربر نمیره، بلکه ممکنه باعث حملاتی از سیستم آلوده کاربر بشه که هم حجم اینترنت رو تلف میکنه، هم به شبکه فشار میاره و هم باعث فشار به زیرساخت مقصد حمله میشه. بدتر از اون، در مواردی آلودگی های اینچنینی باعث لو رفتن اطلاعات حساس و هک شدن یک سازمان میشه، مثلا این یکی از احتمالات درباره شیوه هک اسنپ فود هست [6].تصویری از اطلاعات دزدیده شده از سیستم آلوده کارمند اسنپ فود [6]اما موردی که کمتر در اخبار و فضای عمومی بهش پرداخته میشه، هک شدن دستگاه هایی به جز گوشی و PC و سرور هست. به طور دقیق تر، طی سال های اخیر تهدیدات فراوانی علیه دستگاه های اینترنت اشیا (IoT) و چیز هایی مثل دوربین های آنلاین و مودم ها ایجاد شده، چرا که این دستگاه ها لزوما امن طراحی نشدن، دائما به اینترنت متصل هستن و به ندرت آپدیت میشن. در ادامه خواهیم دید که بر خلاف تصور خیلی ها، این حملات و آلودگی ها در ایران رواج دارن.شیوه انجام تحقیقدر این تحقیق ما از روش های مختلفی استفاده کردیم: دو هانی پات [7] بزرگ در دو دیتاسنتر ایرانی، یک سنسور اینترنتی passive روی شبکه خانگی من، اسکنر ها و کرالر های اینترنتی و منابع Threat intelligence آزاد.اطلاعات حاصل از این روش ها تجمیع و آنالیز شدن و موارد قابل توجه، بعد از تحقیق بیشتر در این پست ذکر شدن. بدیهی هست که این یک پروژه بسیار کوچیک با زمان، منابع و اطلاعات بسیار کم هست، اگرچه موارد جالبی در همین مقیاس یافت شده.بریم سراغ اصل مطلب!آلودگی سایت ها و حمله به کاربرانطی این تحقیق به سایت های ایرانی بسیاری (خصوصا وردپرسی) برخوردیم که به دلیل ضعف های امنیتی مثل استفاده از پلاگین های آسیب پذیر یا کرکی، به بدافزار های PHP آلوده شده بودن. این بدافزار ها به راحتی قابل حذف نیستن و با تزریق خودشون به بخش های مختلف سایت آلوده، از حذف کامل جلوگیری میکنن.در یک نمونه خاص به بدافزاری برخوردیم [8] که یکی از سایت های ایرانی مشهور رو آلوده کرده بود و با یک صفحه جعلی آپدیت مرورگر، کاربر بازدید کننده رو برای دانلود یک بدافزار ویندوزی فریب می داد. با بررسی بیشتر مشخص شد که این بدافزار ویندوزی احتمالا از انواع تروجان RedLine Stealer هست [9].نکته جالب درباره این بدافزار، Malware as a Service بودنش هست؛ به این معنی که این تروجان به همراه ابزار و حتی زیرساخت لازمش به هکر ها فروخته میشه و هکر ها با روش های مختلف، کاربران رو به این تروجان آلوده میکنن تا بدون دغدغه های فنی مدیریت زیرساخت، اطلاعات کاربران رو بدزدن و از طریق سیستم اون ها حملاتی رو انجام بدن.گراف ارتباطات بدافزارکمپین های گسترده بدافزار های بانکیچند وقت پیش گزارشی از Zimperium منتشر شد درباره بدافزار های بانکی در ایران [10] و خوبه که اینجا هم بهش اشاره کنم.بدافزار های بانکی ایرانی نسبت به چند سال پیش، بسیار پیشرفته تر شدن. این بدافزار ها که عموما خودشون رو جای موبایل بانک ها یا برنامه های کاربردی اندرویدی جا میزنن، با شنود پیامک های بانکی یا گرفتن اطلاعات ورود به موبایل بانک کاربر، حساب قربانی رو خالی میکنن. طبق بررسی های Zimperium این گروه های هکری هر روز پیشرفته و گسترده تر میشن. مطابق سنت همیشگی بدافزار های ایرانی، C&amp;C این بدافزار ها یا کلا روی تلگرام هست یا حداقل یک اینترفیس تلگرامی مشابه نمونه زیر داره.طبق بررسی چند سال پیش من، عموم این بدافزار ها داخل تلگرام پخش میشن و توصیه میشه کلا از تلگرام هیچگونه برنامه اندرویدی نصب نکنید. با توجه به تغییرات و پیشرفت بدافزار های ایرانی طی سال های اخیر، بررسی و شکار این تهدیدات میتونه نتایج جالبی داشته باشه.حملات متداول SMS Bombing در ایراناین حمله در ایران نسبتا متداول هست و ممکنه خودتون یا یکی از اطرافیانتون قربانی این حمله بوده باشید. در این حمله، برای قربانی از تعداد زیادی سایت، پیامک احراز هویت و ورود میاد. گاها تعداد این پیامک ها به ده ها SMS در دقیقه میرسه که باعث ترس در قربانی میشه. این نوع حملات هیچ خطر امنیتی برای کاربر ندارن و صرفا جهت ترسوندن قربانی استفاده میشن.نکته مهم درباره این حملات در ایران، این هست که به عنوان یک سرویس ارائه میشن. یعنی هر کسی میتونه با پرداخت مبلغی به هکر هایی که این کار رو انجام میدن، این حمله رو علیه یک نفر انجام بده. ظاهرا درآمد این کار به اندازه ای بوده که یک یا چند گروه ایرانی، به صورت تمام وقت در حال مهندسی معکوس API های ارسال SMS سایت ها و سرویس های ایرانی هستن برای بکارگیری در این حملات. به دلیل حجم بالای پیامک های ارسالی، سایت ها و سرویس های کوچیک قربانی این حملات، دچار زیان مالی میشن.برای مقابله با این حمله، کاری از کاربر بر نمیاد اما سایت ها و سرویس ها باید تا حد امکان Rate limit روی API های مربوطه اعمال کنن تا سطح خسارت رو پایین نگه دارن (البته که اگر بخوان، روش هایی برای به صفر رسوندنش هم هست). نکته قابل تامل اینکه در دو مورد، دیدم که سرور مهاجم در داخل ایران هست اما ارائه دهندگان سرور علاقه ای به پیگیری و جلوگیری از این حملات ندارن.راز اسکن های اینترنتی از مبدا ایران: آلودگی وسیع به خانواده Miraiاز دقایق اولیه راه اندازی هانی پات، متوجه ترافیک زیادی از مبدا ایران شدیم. آنالیز بیشتر نشون داد که از مبدا یک ISP ایرانی (AS50558) اسکن های بسیار زیادی به پورت های SMB و TELNET در حال انجام هست. این اسکن ها در اینترنت بسیار عادی هستن، در واقع شما به محض اینکه در اینترنت آنلاین بشید، از سراسر دنیا درخواست هایی به سمت شما میاد. هدف بخشی از این درخواست ها، اسکن کل اینترنت به دلایل پژوهشی و امنیتی هست، اما در بیشتر مواقع اینطور نیست. بیشتر اسکن های اینترنتی توسط هکر ها و سیستم های آلوده انجام میشن و هدفشون هم پیدا کردن سیستم های آسیب پذیر یا با پسورد های ضعیف هست. در واقع این یک مسابقه بین هکر ها هست که زودتر سیستم های آسیب پذیر رو پیدا و آلوده کنن.در این مورد خاص، remark این ISP ما رو مشکوک به اسکن های پژوهشی و امنیتی کرد:تصویر whois مربوط به ISPاما حجم اسکن ها، پورت های اسکن شده و دستورات اجرا شده، سناریوی دیگه ای رو مطرح کرد. در مواردی، دستوراتی اجرا شده بود برای دانلود و اجرای یک فایل [11] که مشخص شد بدافزار Hajime هست [12]. این بدافزار که شباهت هایی با خانواده Mirai داره [13]، در میان گسترش شدید بدافزار جنجالی Mirai در حدود سال 2017 فعال شد و شروع به هک دستگاه های IoT آسیب پذیر در اینترنت کرد، و البته به جای سوءاستفاده، اون هارو در برابر بقیه حملات مشابه امن کرد!این بدافزار که هنوز هم اسرار آمیز هست، در سال 2017 حدود 300,000 دستگاه رو آلوده کرد که حدود 20 درصد این آلودگی در ایران بود [14]. با وجود اینکه Hajime تا حدودی دستگاه آسیب پذیر رو در برابر حملات مشابه امن میکنه، اما خودش روی دستگاه باقی میمونه به آلوده کردن دستگاه های آسیب پذیر دیگه ادامه میده. تا به امروز عملیات مخربی از این بدافزار دیده نشده اما شبکه فعال و پیچیدگی اون، هنوز هم یک تهدید هست (مطالعه این بدافزار، خصوصا مکانیزم ارتباطیش رو به علاقه مندان توصیه میکنم).با وجود دیدن نشانه های Hajime از حملات این شبکه ایرانی، برخی موارد مثل بعضی اسکن های خاص با رفتار این بدافزار تناقض داشت. این مورد هم ساعاتی بعد حل شد، در شبکه ای که Hajime به این شدت حضور داره احتمالا Mirai و دوستانش هم هستن. به فاصله چند ساعت، ما تلاش هایی برای دانلود و اجرای بدافزار های خانواده Mirai و Bashlite از این شبکه دیدیم [15][16].گستردگی آلودگی در این شبکه برای ما بسیار جالب بود، اگرچه کمی بعد تر حملات بسیار مشابهی از شبکه های ایرانی دیگه (با شدت کمتر) مشاهده شد.آلودگی به بدافزار های IoT در ایران: مودم ها و دوربین های ناامنمشاهده این سطح از آلودگی به بدافزار های IoT در ایران چیزی نبود که خیلی انتظارش رو داشته باشیم. حملات از مبدا مخابرات، احتمال آلودگی مودم ها و دوربین های مدار بسته رو مطرح کرد. با بررسی یکی از آیپی های مبدا این حملات که مشکوک به آلودگی به بدافزاری از خانواده Mirai بود، با صفحه لاگین به یک دوربین آنلاین آسیب پذیر مواجه شدیم:اطلاعات یکی از آیپی ها مبدا حملهصفحه لاگین دوربین بر روی همان آیپیبا توجه به کوچیک بودن زیرساخت ما، بررسی منابع Threat intelligence تصویر بهتری از سطح آلودگی رو نمایان کرد:حملات از مبدا ایران به شبکه اینترنتبدافزار هایی مثل خانواده Mirai با Brute force دستگاه هایی با پسورد ضعیف و اکسپلویت دستگاه های آسیب پذیر، اون ها رو تبدیل به بات هایی برای گسترش آلودگی و حملات DDoS میکنن. یکی از نکات جالبی که دیده شد، اسکن های نسبتا وسیع روی پورت 7547 از مبدا آلودگی های ایران بود که میتونه تلاش بدافزار های خانواده Mirai برای اکسپلویت TR-069 روی مودم های قدیمی باشه [17].علاوه بر ایران، آلودگی های مشابهی با گستردگی قابل توجه در کشور های دیگه خاورمیانه هم مشاهده شد. با توجه به مقیاس کوچیک زیرساخت ما، داشتن تخمین خوبی از سطح آلودگی چنین بدافزار هایی در ایران ممکن نبود، اما با در نظر گرفتن نسبت حملات ثبت شده به مقیاس ما، میشه گفت سطح آلودگی کم نیست.حملات Brute force روی SSH و آلودگی سرور های ایرانیچند نمونه از آلودگی به XorDDoS و اسکن SSH در ایران دیده شد [18] که دور از انتظار نبود. موردی که جالب بود، حملات Brute force روی SSH از مبدا آمریکا و چند کشور دیگه (شامل ایران) با یوزر و پسورد های ایرانی مثل ali و arman و mohammad بود. با توجه به نسبت بالای این موارد نسبت به باقی یوزر و پسورد ها، به نظر میرسه در مواردی هکر ها در حال استفاده از password list های کاستوم شده برای تارگت حمله هستن که نکته جالبی بود.هک ماینر ها و سیستم ها برای ماینینگاین مورد بسیار شناخته شده ای بود که تقریبا از مبدا ایران نمونه ای مشاهده نشد. در موارد بسیاری هکر ها با حمله روی SSH و TELNET و ADB تلاش برای نصب ماینر داشتن. در مواردی بررسی میکردن که آیا دستگاه هک شده ماینر هست یا نه.مورد ADB اما از این جهت جالب بود که میزان حملات بیشتر از حد انتظار بود. در این حمله، هکر دنبال دستگاه های اندرویدی میگشت که ADB over Network فعال و exposed داشتن و بعد از کمی جمع آوری اطلاعات، یک برنامه ماینر رو روی دستگاه هک شده نصب و اجرا میکرد [19].واناکرای؟یکی از هانی پات های مورد استفاده ما، یک سیستم با SMB باز و آسیب پذیر رو شبیه سازی میکرد. در کمال تعجب به دفعات باج افزار معروف WannaCry مشاهده شد [20] و برای ما جالب بود که این ویروس هنوز زنده است.واکنش نهاد های امنیت سایبری ایران به آلودگی های سایبریبعد از دیدن حجم آلودگی به خانواده Mirai و نمونه های مشابه، برای من جالب شد که چه واکنشی از سمت نهاد های امنیت سایبری ایران انجام شده. اسم این بدافزار ها رو در سایت مرکز ماهر و چند جای دیگه جستجو کردم و به جز چند خبر ترجمه شده (مربوط به اوج آلودگی در سال 2017) چیزی پیدا نکردم. نه فقط الان، بلکه در زمانی که بیست درصد کل آلودگی Hajime در ایران بود هم، هیچ گزارشی درباره این آلودگی ها در ایران وجود نداره.این مورد درباره کمپین گسترده بدافزار های بانکی که اشاره شد هم صدق میکنه، اینکه یک شرکت آمریکایی چنین کمپینی (که مختص ایران هست) رو پیدا و مستند کنه در حالی که تا قبل از اون هیچ گزارشی در داخل ازش وجود نداره، جالب هست.توصیه به کاربرانممکنه بپرسید تمام این ها به کنار، از من به عنوان یک کاربر عادی چه کاری بر میاد برای حفظ امنیت سایبری خودم؟پاسخ خیلی خلاصه به این سوال این هست که در دنیای امنیت سایبری، دشمن شما به عنوان یک کاربر عادی سه چیز هست:نرم افزار و سخت افزار قدیمی و به روز نشدهپسورد های ضعیفبی احتیاطی در استفاده از اینترنت (نصب نرم افزار از منابع ناشناس، کلیک کردن روی لینک های ناشناس، لاگین کردن در هر سایتی و…)رعایت این موارد باعث رفع تمام خطرات نمیشه، اما شاید بالای 90 درصد خطرات متوجه یک کاربر عادی در اینترنت رو رفع کنه.سخن پایانیاین پروژه کوچیک برای ما بسیار لذت بخش بود. طبیعیه که این ها تمام تهدیدات جاری در ایران نیستن (در واقع تمام مواردی که ما پیدا کردیم هم نیستن، بیش از هشتاد گیگابایت داده خام ثبت و آنالیز شد و فقط نکات جالبی که به چشم ما اومد در این مطلب ذکر شد)، شاید حتی جزو مهم ترین ها هم نباشن. اما برای شخص من به عنوان یک پروژه آخر هفته ای، بسیار آموزنده و جالب بود، مثلا یاد گرفتم تغییر و مخدوش کردن Fingerprint یک هانی پات، بهبود قابل توجهی در نتایج به همراه داره :)امیدوارم که از خوندن این پست لذت برده باشید![1] https://www.statista.com/statistics/325201/countries-share-of-malicious-attacks/[2] https://vrgl.ir/r1lgK[3] https://vrgl.ir/MrAQ0[4] https://vrgl.ir/AmA4u[5] https://radar.cloudflare.com/ir[6] https://www.infostealers.com/article/mysterious-hacker-strikes-iran-with-major-cyberattacks-against-industry-leading-companies/[7] https://fa.wikipedia.org/wiki/%D9%87%D8%A7%D9%86%DB%8C%E2%80%8C%D9%BE%D8%A7%D8%AA[8] 7c14b7f423e9554f9157d1abb6a62708b6f9b99fa0ad657bd69816a6bf4732cd[9] https://malpedia.caad.fkie.fraunhofer.de/details/win.redline_stealer[10] https://www.zimperium.com/blog/unveiling-the-persisting-threat-iranian-mobile-banking-malware-campaign-extends-its-reach/[11] a04ac6d98ad989312783d4fe3456c53730b212c79a426fb215708b6c6daa3de3[12] https://en.wikipedia.org/wiki/Hajime_(malware)[13] https://en.wikipedia.org/wiki/Mirai_(malware)[14] https://www.kaspersky.com/about/press-releases/2017_300000-obeying-devices-hajime-is-conquering-the-internet-of-things-world[15] 7e8e33efdc8bab0d130eaf05b6dd7330c795cdaae468c11d8da807cd37a5a828[16] a108ff340f5256cc17c1e8345aacc3cf6c91987a1884957ea75df6d23281480b[17] https://www.qacafe.com/resources/home-router-attack-tr-069-vulnerability/[18] ea40ecec0b30982fbb1662e67f97f0e9d6f43d2d587f2f588525fae683abea73[19] 76ae6d577ba96b1c3a1de8b21c32a9faf6040f7e78d98269e0469d896c29dc64[20] 64bb708b31b4b043018457c1098465ea83da7d6408c7029b2f68c333fc25891c</description>
                <category>Mohsen Tahmasebi</category>
                <author>Mohsen Tahmasebi</author>
                <pubDate>Tue, 05 Mar 2024 16:36:15 +0330</pubDate>
            </item>
                    <item>
                <title>گوش دادن به ماهواره ها: گرفتن تصاویر ماهواره ای با دانگل رادیویی RTL-SDR V3</title>
                <link>https://virgool.io/@moh53n/%DA%AF%D9%88%D8%B4-%D8%AF%D8%A7%D8%AF%D9%86-%D8%A8%D9%87-%D9%85%D8%A7%D9%87%D9%88%D8%A7%D8%B1%D9%87-%D9%87%D8%A7-%DA%AF%D8%B1%D9%81%D8%AA%D9%86-%D8%AA%D8%B5%D8%A7%D9%88%DB%8C%D8%B1-%D9%85%D8%A7%D9%87%D9%88%D8%A7%D8%B1%D9%87-%D8%A7%DB%8C-%D8%A8%D8%A7-%D8%AF%D8%A7%D9%86%DA%AF%D9%84-%D8%B1%D8%A7%D8%AF%DB%8C%D9%88%DB%8C%DB%8C-rtl-sdr-v3-vwe3zippvhzc</link>
                <description>نکته ۱: این پست، ترجمه پست انگلیسی من در این رابطه هست که با استقبال خوبی در ردیت و Hacker News مواجه شد و بلاگ رسمی RTL-SDR هم اون رو بازنشر کرد.نکته ۲: متاسفانه نمیدونم الان دانگل های SDR در ایران از کجا و چطور قابل تهیه هستن. من مال خودم رو مدت ها پیش گرفتم.نکته ۳: این پست روایت ماجراجویی رادیویی من هست. اگر به دنبال آموزش هستید، احتمالا این پست برای شما مناسب نخواهد بود. لینک چند منبع پایین پست گذاشته شده.نکته ۴: تا جایی که تونستم عبارات، نرم افزار ها و اصطلاحات رو داخل متن به تعاریفشون لینک کردم و برای مطالعه بیشتر میتونید روی اون ها کلیک کنید. در پایان پست هم چند مورد قرار داره.نکته ۵: بدیهیه که موضوع ما راه انداختن دیش ماهواره نیست و من هم نصاب ماهواره نیستم. امیدوارم به خاطر کلمات دیش، ماهواره و LNB در این مطلب علمی، صیانت نشیم :)برای مدت طولانی (به طور دقیق، از ۱۳ سالگیم) من مجذوب سیگنال های رادیویی و رادیو آماتوری بودم، اما خب، داشتن چنین تفریحاتی در ایران به خاطر کم یاب (یا گرون) بودن ابزار و تجهیزات، و البته دردسر های گواهی های لازم، کار سختی بود (و هست).بنابراین من برای چند سال کاملا این رویا رو فراموش کردم تا اینکه به طور غیرمنتظره ای، جواهری به نام دانگل &quot;RTL-SDR Blog V3&quot; گیرم اومد. این دانگل یک گیرنده رادیویی قابل کنترل توسط کامپیوتر هست که گستره وسیعی از فرکانس های رادیویی رو پوشش میده. برای مدتی به انواع و اقسام فرکانس های رادیویی (گاهی از صد ها کیلومتر دورتر) گوش دادم تا اینکه یک پروژه جدید چشمم رو گرفت: &quot;گوش دادن به سیگنال رادیویی ماهواره ها&quot; (یا به طور دقیق تر، دریافت سیگنال اون ها).کدوم ماهواره ها و چه نوع سیگنال هایی؟تصور عموم ما از ماهواره و امواجش، ماهواره های پخش تلویزیونی هست که در مدار GEO و موقعیت ثابت نسبت به زمین قرار دارن و خب، کانال های تلویزیونی رو پخش میکنن. اما دنیای ماهواره ها، انواعشون و کاربرد هاشون خیلی خیلی بزرگتر از این حرف هاست. عموم ماهواره ها در واقع در مدار پایینی زمین که میشه LEO به دور زمین میچرخن و موقعیت ثابتی نسبت به زمین ندارن. این مدار برای ماهواره های پژوهشی، هواشناسی، جاسوسی، IoT و... معمولا ایده آل هست چرا که با ارتفاع کمتری نسبت به مدار های بالاتر، مدام از روی نقاط مختلف زمین عبور میکنن.همونطور که احتمالا میدونید، تعداد خوبی ماهواره (البته به لطف SpaceX، خیلی بیشتر از تعداد خوبی!) در حال گردش به دور زمین هستن. بسیاری از اون ها ماهواره های مرده و غیر فعال، و البته زباله های فضایی هستن، اما تعداد قابل توجهی از این ماهواره ها هنوز کار میکنن (حتی به صورت نصفه و نیمه، باتری بعضی از این ماهواره ها خراب شده و در نیمه تاریک زمین کار نمیکنن اما وقتی در معرض نور خورشید قرار میگیرن، به لطف پنل های خورشیدیشون هنوز هم کار میکنن). عموم این ماهواره های فعال، به طور مرتب با ایستگاه های زمینی در ارتباطن و این کار رو از طریق ارتباط رادیویی انجام میدن (بیشتر دیتا به سمت زمین ارسال میکنن).قسمت جالب ماجرا اینجاست که شما هم میتونید اطلاعات ارسالی خیلی از این ماهواره ها رو دریافت کنید، اگرچه در عموم موارد این اطلاعات به درد شما نخواهد خورد چون داده های ارسالی رمزنگاری شدن؛ اما بعضی از این ماهواره ها به دلایلی انقدر بخشنده هستن که دیتاشون (یا بخشی از اون) رو بدون رمزنگاری یا با رمزنگاری ضعیف به سمت زمین ارسال کنن.حالا سوال اینجاست که چه اطلاعاتی؟ از داده های تله متری مربوط به سیستم های داخلی ماهواره (مثل وضعیت باتری ها) تا تصاویری از زمین و حتی اطلاعات رله شده ای که دیگران به سمت ماهواره ارسال کردن (بعضی ماهواره ها، خصوصا Cubesat ها یک پیلود رادیو آماتوری با خودشون حمل میکنن، کار این پیلود اینه که اطلاعات دریافتی از زمین روی یک فرکانس خاص رو روی یک فرکانس دیگه به سمت زمین بازنشر میکنه. اینطوری رادیو آماتور ها میتونن در حالی که ماهواره از بالای سرشون عبور میکنه، به صورت CW یا صوت، دیتایی رو به سمت ماهواره ارسال کنن و از این طریق با باقی رادیو آماتور ها ارتباط دو طرفه برقرار کنن).این اطلاعات به انواع مختلفی ارسال میشن، مثلا انواع قدیمی تر ماهواره های هواشناسی آمریکایی NOAA با سیستم APT و HRPT تصاویری که از زمین گرفتن رو ارسال میکنن، و ماهواره های هواشناسی روسی Meteor با سیستم های LRPT و HRPT خاص خودشون.ما در این پست، نگاهی به دریافت تصاویر زنده ماهواره ای از ماهواره های NOAA و METEOR خواهیم انداخت، بعد اطلاعات تله متری و رله شده ی چند Cubesat، و نهایتا دریافت اطلاعات رله شده ی ماهواره افسانه ای QO-100 که بر خلاف ماهواره های قبلی، در مدار GEO زمین قرار داره و به بخش بسیار بزرگی از زمین اطلاعات ارسال میکنه.تلاش اول NOAA APTدر تلاش اولم، سعی کردم زمانی که ماهواره به مدت حدود ۱۴ دقیقه از بالای سرم رد میشه، با استفاده از آنتن dipole که همراه دانگل RTL-SDR هست سیگنال ماهواره NOAA-19 رو بگیرم، اما چیزی دریافت نشد. نتیجتا چند روز بعد با یکی از دوستانم به یکی از جاده های کمربندی اطراف شیراز رفتیم که زاویه دید بسیار خوبی به آسمون داشت. نزدیک غروب و زمانی که طبق اطلاعات سایت n2yo ماهواره شروع به عبور از بالای سرمون کرد، دو میله آنتن رو در زاویه ۱۲۰ درجه قرار دادم و به سمت جنوب گرفتم، دانگل رو به به لپتاپم وصل کردم و روی فرکانس ۱۳۷.۱ مگاهرتز تیون کردم، و به برنامه SDR++ (برنامه ای که باهاش سیگنال رو میدیدم) خیره شدم. چند ثانیه بعد، برای اولین بار صدای زیبای سیگنال آنالوگ APT رو که به شکل بوق های ممتد بود، شنیدم. سیگنال رو تا تموم شدن عبورش ضبط کردم تا بعدا اون رو پردازش و به تصویر تبدیل کنم. (نکته خنده دار: چند تا خانواده، در چند متری ما برای پیک نیک نشسته بودن و وقتی آنتن رو با یک دستم بالا گرفته بودم و به صفحه لپتاپ خیره بودم، جوری به ما زل زده بودن که انگار قرار بود یک بمب رو خنثی یا منفجر کنیم، هر لحظه احتمال میدادم به پلیس زنگ بزنن، صحنه خنده داری بود)حالا من یک فایل WAV از سیگنال ماهواره داشتم. دو گزینه پیش روی من بود. اولی برنامه معروف WXTOIMG بود و دومی برنامه noaa-apt. اولی به مراتب پیشرفته تر بود، اما من روی لینوکس بودم و فعلا به پیشرفتگی خاصی نیاز نداشتم. پس از noaa-apt استفاده کردم...نگاه کردن به تصویر زنده زمین از فضا در حالی که ماهواره از بالای سرم عبور میکرد... فوق العاده بود...اولین نتیجه موفق، تصویر مادون قرمز غروب ۱۲ فروردین ۱۴۰۱اولین آنتن ۱۳۷ مگاهرتزاز اونجایی که من به شدت از نظر ابزار و تجهیزات محدود بودم، سریع یک آنتن V Dipole از روی طرح Adam 9A4QV ساختم که بهم اجازه میداد سیگنال ماهواره های NOAA 15 و NOAA 18 و NOAA 19 رو بگیرم. آنتن بسیار ساده و فقیر پسندانه ای بود.طرح Adam 9A4QV برای ماهواره های هواشناسی فرکانس ۱۳۷ مگاهرتز (از rtl-sdr.com)برای ساختنش نیاز به مقداری کابل کواکسیال، دو تا میله آلمینیومی یا مسی، یک ترمینال و چیزی برای نگه داشتن آنتن بود. آنتن باید از اشیا فلزی فاصله داشته باشه و در ارتفاع مناسبی از کف باشه (به قسمت محاسبات این موضوع خواهیم رسید). طبیعتا هرچی زاویه دید به آسمون بیشتر و موانع کمتر باشه، بهتره. داشتن یک LNA مناسب (اگر درست استفاده بشه) به شدت به کیفیت کار کمک میکنه.در نسخه اول، من از دو میله مسی با طول دقیق و یک لوله آب استفاده کردم، بدون LNA (چون اون هم به سختی در ایران گیر میاد).بعد از چند بار آزمون و خطا، از آنتن به داخل خونه سیم کشیدم و دانگل رو به یک رزبری پای وصل کردم. با استفاده از raspberry-NOAA-v2 کل فرایند دریافت و پردازش سیگنال به صورت خودکار انجام میشد. نتیجه، فوق العاده بود.اولین تصویر با آنتن ساخته شده، ماهواره NOAA 19، طلوع ۱۸ فروردین ۱۴۰۱ (تصویر کراپ شده) تصویر بالا از ماهواره NOAA 19 روی فرکانس حدود ۱۳۷ مگاهرتز با فرمت APT گرفته شده. ماهواره های NOAA تصاویر با رزولوشن و کیفیت بالاتر رو با فرمت HRPT روی فرکانس بالاتری ارسال میکنن که گرفتنش به شدت سخت تره و نیاز به آنتن Directional داره.همونطور که میبینید، تصویر خام و اصلی به صورت سیاه و سفید هست، اما میشه به اون False Color اضافه کرد:تصویر قبلی با False Color دریافت METEOR-M2 LRPTبرای چند روزی از نتایج ماهواره های NOAA لذت بردم و بعد تصمیم گرفتم یک قدم جلوتر برم و سیگنال LRPT ماهواره METEOR-M2 رو بگیرم که مجددا روی محدوده فرکانسی ۱۳۷ مگاهرتز بود. بر خلاف APT که سیگنال آنالوگ داشت و روی دو کانال، تصاویری با رزولوشن ۴ کیلومتر بر پیکسل ارسال میکرد، LRPT روی همون محدوده فرکانسی، سیگنال دیجیتال با سه کانال با رزولوشن ۱ کیلومتر بر پیکسل ارسال میکرد که قاعدتا باید تصاویر بهتری می داشت.پردازش این سیگنال کمی پیچیده تر بود اما من با raspberry-NOAA-v2 همه چیز رو اتوماتیک کردم، اگرچه این روز ها SatDump راه بسیار بهتری هست.طلوع ۲۰ فروردین ۱۴۰۱، ماهواره METEOR-M2بهینه سازی آنتنبا وجود اینکه تا اینجا موفق شده بودم کلی تصویر ماهواره ای بگیرم، نتایج کارم هنوز فاصله زیادی تا خوب بودن داشت. در ردیت، u/PhaseRay به من تذکر داد که تصاویری که دریافت میکنم احتمالا دچار radiation pattern هست که مربوط به آنتنه، در حالی که من به اتصالات مشکوک بودم.به الگوی نویز دقت کنیداون به من درباره ارتفاع آنتن از کف تذکر داد در حالی که من هیچ تصوری نداشتم که این میتونه موضوع مهمی باشه! نتیجتا متوجه شدم که دانش من در این زمینه هنوز خیلی ناقصه و شروع به مطالعه بیشتر کردم. دو راه من برای من وجود داشت، کم کردن ارتفاع آنتن یا اضافه کردن یک reflector. البته که من نهایتا راه سوم رو انتخاب کردم، ساختن یک آنتن جدید!یکی از مهم ترین مراحل ساخت یک آنتن، تست اون آنتن هست. راه های مختلفی برای این کار وجود داره، از استفاده از یک VNA تا آزمون و خطا. متاسفانه من در این مرحله به شدت محدود بودم. در ایران VNA به شدت گرون بود (و هست) و به خاطر تعداد کم دفعات عبور ماهواره، فرصت زیادی برای تست آنتنم نداشتم و از طرفی سیگنال رفرنس دیگه ای به جز سیگنال خود ماهواره نبود...نتیجتا من فقط یک راه داشتم و اون هم شبیه سازی بود. یک سیستم مدلینگ آنتن بسیار قدیمی و محبوب وجود داره به نام NEC. یاد گرفتنش واقعا سخته اما وقتی یادش گرفتی، کار رو واقعا آسون میکنه.من برنامه 4nec2 رو انتخاب کردم و مدل آنتن V Dipole ام رو داخلش ساختم. کاشف به عمل اومد که اضافه کردن یک reflector در ارتفاع ۸۰ سانتی متری میتونه الگوی آنتن بسیار خوبی به من بده، اما فقط در بعضی جهت ها. پس روی کاغذ بعضی از عبور ها نتیجه بسیار خوبی خواهند داشت (که بستگی به مسیر حرکتشون در آسمون نسبت به آنتن من داره).نمونه الگوی یک مدل. تصاویر و مدل های خودم به دلایلی از بین رفت. تصویر از https://www.qsl.net/4nec2با توجه به نتایج شبیه سازی، اتصالات رو درست کردم و یک reflector هم به آنتن اضافه کردم. چند روز بعد، اختلاف نتیجه با قبل مشخص شد:ظهر ۱۰ خرداد ۱۴۰۱، ماهواره NOAA-18 همونطور که انتظار میرفت، این یک استثنا بود چرا که مسیر حرکت ماهواره نسبت به آنتن من مناسب بود، در حالی که باقی دفعات نتایج به این خوبی نمیشدن.طلوع ۳۱ اردیبهشت ۱۴۰۱، ماهواره METEOR M2 قبل از اینکه به بخش بعدی بپردازیم، بیاید ببینیم چرا بهینه سازی و کیفیت اتصالات مهم هستن:ستاپ و آنتن اولیه بدون reflector و با اتصالات ضعیفبه الگوی نویز توجه کنیدآنتن جدید Turnstileبا کمک 4nec2 و طرح alicja.space برای فرکانس ۴۳۵ مگاهرتز، اعداد این طرح رو برای ۱۳۷ مگاهرتز تغییر دادم و به جای استفاده از پرینتر سه بعدی و طرح اصلی، آنتن خرابه و فقیر پسندانه قبلیم رو تغییر اساسی دادم تا با حداقل پیچیدگی در ساخت، یک آنتن جدید بسازم. طبیعتا نسخه من از این طرح بسیار کثیف تر و ضعیف تر از طرح اصلی هست، صرفا چون تنبل هستم.اعداد برای ۴۳۵ مگاهرتز هستنسخه کثیف من از طرح بالا، reflector بعدا اضافه شداین آنتن جدید، الگوی آنتن پهن تری داشت که باعث کاهش شدید نویز در عموم عبور ها میشد.نتیجه واقعا رضایت بخش بود:۱۵ خرداد ۱۴۰۱، METEOR M2۲۳ خرداد ۱۴۰۱، به غبار روی خلیج فارس دقت کنید، METEOR M2 کمی بعد، یک Nooelec LaNA LNA هم به دو برابر قیمت خریدم (که سه ماه طول کشید تا به دستم برسه) و به ستاپ اضافه کردم که نتیجه رو باز هم بهتر کرد (چند ماه پیش این LNA رو هم خراب کردم). گیر آوردن اینجور چیز ها در ایران سخت و گرونه...یکی از با کیفیت ترین تصاویری که گرفتم، ظهر ۱۷ بهمن ۱۴۰۱، NOAA-18 دنیای CubeSat ها و فرکانس ۴۳۵ مگاهرتزبعد از سه ماه، تصمیم گرفتم که وقت دریافت دیتای غیر تصویری CubeSat ها مثل اطلاعات تله متری هست، پس دوباره آنتن رو تغییر دادم.همون زباله قبلی، با اعداد جدیدقبل از اینکه سراغ نتایج بریم، کمی درباره کیوب ست ها (CubeSat) و محدوده فرکانس ۴۳۵ مگاهرتز صحبت کنیم. روی محدوده ۱۳۷ مگاهرتز ما حدود ۵ ماهواره داشتیم که تصاویر ماهواره ای از زمین ارسال میکردن. اگرچه دیدن این تصاویر هواشناسی زنده واقعا جذاب هست، اما ماهواره ها اطلاعات جذاب خیلی بیشتری علاوه بر تصاویر هواشناسی ارسال میکنن. بر خلاف ۱۳۷ مگاهرتز، روی ۴۳۵ مگاهرتز ده ها و شاید صد ها ماهواره، دیتا ارسال میکنن (عموما اطلاعات تله متری، و متاسفانه خبری از تصاویر ماهواره ای نیست)، پس خوشبختانه به جای اینکه نیاز باشه تا صبح صبر کنم، یک ساعت بعد از تکمیل آنتن جدید، اولین سیگنال در نیمه شب دریافت شد.نیمه شب ۲۰ تیر ۱۴۰۱، ماهواره GOMX 1این سیگنال های جهشی و کوتاه، فریم های دیتا هستن که باید decode بشن، اما چطور؟بهشت ایستگاه های زمینی آماتور: شبکه SATNOGSتصور کنید ده ها ایستگاه زمینی آماتور بهم متصل هستن و داده های دریافت شده از ماهواره ها رو با هم به اشتراک میذارن، حالا کل این فرایند (از ضبط تا به اشتراک گذاری) رو اتوماتیک کنید. SATNOGS دقیقا همین کار رو میکنه.در واقع SATNOGS نرم افزار و سخت افزار اوپن سورسی رو به ایستگاه های زمینی آماتور ارائه میده که با اون ها میشه به صورت اتوماتیک سیگنال های ماهواره ای رو دریافت، پردازش و منتشر کرد و به شبکه SATNOGS (که متشکل از باقی ایستگاه های زمینی مشابه هست) متصل شد. اون ها یک دیتابیس خیلی خوب و کامل از ماهواره ها و فرستنده هاشون هم دارن.خوشبختانه SATNOGS یک ایمیج ISO آماده برای رزبری پای داره که کافیه اون رو روی SD Card رایت کنید، دانگل رو به رزبری پای وصل کنید، رزبری رو به اینترنت وصل کنید و توکنی که از شبکه گرفتید رو وارد کنید. البته که من چون حدس میزدم متصل کردن یک ایستگاه رادیویی در ایران به یک شبکه خارجی باعث دردسر و نگرانی امنیتی میشه، یک روز کامل وقت گذاشتم و یک نسخه از کنترلر شبکه SATNOGS رو (که اون هم اوپن سورسه اما داکیومنت درست نداره) روی سرور خونه و محدود به شبکه خودم بالا آوردم تا دیتایی از شبکه خودم خارج نشه.وقتی شما یک ایستگاه در شبکه SATNOGS میسازید، نوع آنتن و محدوده فرکانسی قابل دریافت رو مشخص میکنید و شبکه خودش بر اساس مشخصات و موقعیت جغرافیایی آنتن شما، ماهواره هایی که برای شما قابل دریافت هستن رو پیدا و زمان عبورشون از آسمان شما رو برای ایستگاهتون ارسال میکنه. ایستگاه در زمان معین، سیگنال رو ضبط و پردازش میکنه و نتیجه رو به شبکه میفرسته. خوشبختانه شبکه SATNOGS کاملا آزاده و از اینجا میتونید نتیجه بعضی از دریافت های موفق از سراسر دنیا رو ببینید.۶ فریم از ماهواره GRIFEX، هر کدوم ۲۶۱ بایتسیستم SATNOGS به صورت خودکار فریم هارو تبدیل میکنهاگر برای ماهواره مورد نظر دیکدر موجود باشه، میشه اطلاعات دریافتی رو از هگز به مقادیر معنادار دیکد کرد (در این مورد، دیتای تله متری GRIFEX) تصویر بالا، اطلاعات دیکد شده ی تله متری ماهواره GRIFEX هست که شامل اطلاعاتی مثل وضعیت حافظه، وضعیت پردازنده، برق و... ماهواره هست.اما SATNOGS میزان خفن بودنش رو باز هم بالاتر میبره. اون ها یک داشبورد دارن برای اطلاعات ماهواره هایی که دیکدرشون موجود هست؛ داخل این داشبورد با استفاده از اطلاعات گرفته شده از ایستگاه های سراسر جهان، وضعیت تقریبا زنده این ماهواره ها قابل مشاهده است.ماهواره QO-100 (Es’hail 2) در مدار GEOتا اینجای کار تمام ماهواره هایی که دربارشون صحبت کردیم، در مدار LEO بودن، یعنی موقعیتشون نسبت به زمین دائما در حال تغییره. بنابراین ما باید محاسبه کنیم که هر ماهواره در چه زمانی از بالای سر ما رد میشه، در هر عبور مسیر حرکتش نسبت به ما چطوریه و حداکثر زاویه اش از خط افق چقدره. هرچی زاویه از خط افق بیشتر باشه، کیفیت دریافت بهتره.اما همونطور که گفته شد، ماهواره های مدار GEO موقعیت ثابتی نسبت به زمین دارن و برای همینه که دیش گیرنده ماهواره همیشه به یک نقطه اشاره میکنه. در سال ۲۰۱۸ ماهواره QO-100 یا همون Es’hail 2 (ساخت ژاپن به سفارش قطر) اولین پیلود رادیو آماتوری رو به مدار GEO برد که از برزیل تا تایلند رو پوشش میده. QO-100 از ماهواره های مدار LEO به مراتب در ارتفاع بالاتری هست (۳۵۰۰۰ کیلومتر در مقابل ۵۰۰ کیلومتر) و در باند X دیتا ارسال میکنه؛ بنابراین ما ناچاریم از آنتن های Directional استفاده کنیم که اینجا میشه دیش معمولی ماهواره.خوشبختانه چون موقعیت این ماهواره نسبت به ما ثابت هست، نیاز نیست آنتن به اون سنگینی رو بچرخونیم و تکون بدیم (بر خلاف زمانی که بخوایم دیتای فرستنده های فرکانس بالاتر ماهواره های مدار LEO رو بگیریم، مثل HRPT)؛ پس ما در اینجا از یک دیش معمولی و یک LNB کاستوم شده استفاده میکنیم.ماهواره QO-100 سیگنال های narrowband رو روی 2400.050–2400.300 مگاهرتز میگیره و روی 10489.550–10489.800 مگاهرتز به زمین رله میکنه (برای سیگنال های wideband میشه 2401.500–2409.500 مگاهرتز و 10491.000–10499.000 مگاهرتز). دانگل RTL-SDR صرفا تا ۱۷۰۰ مگاهرتز رو پشتیبانی میکنه، اما LNB ما سیگنال دریافتی رو به میزان ۹۷۵۰ مگاهرتز downconvert میکنه تا داخل محدوده دریافتی دانگل ما قرار بگیره (تمام LNB ها این کار رو انجام میدن).برای این ماهواره من بیشتر نیاز به خرج کردن داشتم تا ساختن، پس یک دیش موتور دار (بدون موتور هم کارساز بود، اما من برای پروژه های بعدیم موتور دار گرفتم) گیر آوردم و LNB کاستوم شده رو مجددا به یک و نیم برابر قیمت سفارش دادم تا دو ماه بعد به دستم برسه. بعد از دو ماه LNB به دستم رسید و حالا همه چیز آماده بود... اوه، لعنتی.مشکل بدی وجود داشت. LNB ها برای کار کردن نیاز به برق دارن و این برق توسط گیرنده از طریق کابل کواکسیال که بین اون ها هست، منتقل میشه. این LNB به ولتاژ بین ۱۲ تا ۱۹ ولت نیاز داشت، پس ۴.۵ ولت دانگل SDR هم کارساز نبود. بدتر از اون، برای سوییچ polarization دریافتی، باید ولتاژ ورودی به LNB رو تغییر داد.برای تزریق برق به کابل بدون نابود کردن سیگنال (یا بدتر از اون، نابود کردن دانگل) باید یه یک جهت کابل جریان DC تزریق کرد و در جهت دیگه (به سمت دانگل)، این جریان رو مسدود کرد. به این نوع تزریق کننده جریان میگن BIAS-TEE و من فراموش کرده بودم سفارشش بدم (چون این هم داخل ایران گیر نمیاد)؛ از طرفی هم اعتماد به نفس ساختش رو نداشتم، اما چاره ای نبود...مدار نسبتا ساده ای هست. در حالی که جریان DC رو به سمت دانگل مسدود میکنه، باید اجازه عبور RF (موج رادیویی) رو بده.https://www.sotabeams.co.uk/blog/biast-for-lnb-a-few-notes/تلاشم رو کردم که از روی این پست یک BIAS-TEE بسازم و نتیجه خیلی با کیفیت در نیومد (مدار های RF خیلی حساسن و اگر درست هندل نشن، سیگنالی در کار نیست).خیلی با کیفیت، خیلی استاندارد!دیشمدار رو روشن کردم، و بر خلاف انتظاراتم، کار کرد! ویدئوی اولین سیگنال رو اینجا ببینید، و البته میتونید از اینجا هم به صورت آنلاین و زنده به QO-100 گوش بدید.نتیجه گیریاین یکی از طولانی ترین، اما لذت بخش ترین و آموزنده ترین پروژه های من به عنوان یک آدم نرم افزاری بود. از تمام افرادی که در اینترنت به صورت آزاد و رایگان در این باره تولید محتوا کردن و تجربشون رو منتشر کردن تشکر میکنم، بدون اون ها این پروژه ممکن نبود. هنگامی که اردیبهشت ۱۴۰۲ نسخه انگلیسی این پست رو نوشتم، قصد داشتم که بعدا به این پروژه برگردم و سراغ HRPT و HRIT برم و حتی بخشی از تجهیزاتش رو هم خریدم، اما چند ماه پیش تمام ستاپ باند X من شامل دیش و LNB به سرقت رفت و ظاهرا همون موقع، آنتن ۱۳۷/۴۳۵ مگاهرتز من هم به شدت آسیب دید و تا حدی انگیزه ادامه این پروژه رو از من گرفت؛ اما تا همینجا هم خوشحالم و از نتایج راضی.ممنونم که وقت گذاشتید :)نرم افزار های استفاده شدهSDR++: https://github.com/AlexandreRouma/SDRPlusPlusWXTOIMG: https://www.rtl-sdr.com/tag/wxtoimg/n2yo: https://www.n2yo.com/noaa-apt: https://github.com/martinber/noaa-aptraspberry-NOAA-v2: https://github.com/jekhokie/raspberry-noaa-v2SatDump: https://github.com/SatDump/SatDump4nec2: https://www.qsl.net/4nec2/Custom Raspbian image with SatNOGS Client Ansible: https://wiki.satnogs.org/Raspberry_Pi#Downloadsatnogs-network: https://gitlab.com/librespacefoundation/satnogs/satnogs-networkKaitai Web IDE: https://ide.kaitai.io/بیشتر بخوانیدRTL-SDR TUTORIAL: RECEIVING NOAA WEATHER SATELLITE IMAGES: https://www.rtl-sdr.com/rtl-sdr-tutorial-receiving-noaa-weather-satellite-images/SIMPLE NOAA/METEOR WEATHER SATELLITE ANTENNA: A 137 MHZ V-DIPOLE: https://www.rtl-sdr.com/simple-noaameteor-weather-satellite-antenna-137-mhz-v-dipole/How to build a turnstile antenna for 435Mhz (and connect it to SatNOGS network) — tutorial for beginners: https://alicja.space/blog/how-to-build-turnstile-antenna/Es’hail-2 (or QO-100) for beginners: https://hf5l.pl/en/eshail-2-or-qo-100-for-beginners/Creditsدوست عزیزم، آرین اقبال بابت کمک های بسیارش در فهم مفاهیم رادیویی و باقی موارد مرتبطبلاگ rtl-sdr.com بابت آموزش ها و مطالب فوق العادهاAdam 9A4QV بابت طرح آنتن V Dipoleبلاگ alicja.space برای آموزش و طرح عالی آنتنکامیونیتی و وبسایت AMSAT-UK بابت دیتابیس و اطلاعات ماهواره هابلاگ hf5l.pl بابت آموزش QO-100بلاگ sotabeams.co.uk برای BIAS-TEEیوزر u/PhaseRay برای کامنت ردیت و کمک به پیدا کردن مشکل آنتنشبکه SatNOGS برای شبکه، طرح ها و ابزار بسیار مفیدشونتمام افرادی که تجربیات و آموزش های خودشون در این باره رو منتشر کردن</description>
                <category>Mohsen Tahmasebi</category>
                <author>Mohsen Tahmasebi</author>
                <pubDate>Sun, 05 Nov 2023 16:11:06 +0330</pubDate>
            </item>
                    <item>
                <title>نقشه راه فکری ورود به حوزه هک و امنیت</title>
                <link>https://virgool.io/@moh53n/%D9%86%D9%82%D8%B4%D9%87-%D8%B1%D8%A7%D9%87-%D9%81%DA%A9%D8%B1%DB%8C-%D9%88%D8%B1%D9%88%D8%AF-%D8%A8%D9%87-%D8%AD%D9%88%D8%B2%D9%87-%D9%87%DA%A9-%D9%88-%D8%A7%D9%85%D9%86%DB%8C%D8%AA-nhrednwgw8k9</link>
                <description>hacنکته: خیلی از مطالب این پست به صورت ساده سازی شده بیان شدن و یا درباره مفاهیم ساده توضیحات زیادی داده شده، برای اینکه دوستان تازه کار تر هم بتونن استفاده کنن.چند وقت پیش قرار شد یک کارگاه سه ساعته درباره &quot;مقدمه ای بر امنیت سایبری&quot; با همکاری انجمن علمی کامپیوتر دانشگاه شیراز برگزار کنم. موقع آماده کردن اسلاید ها به این فکر افتادم که خب، این همه رودمپ و منابع خفن برای یادگیری و ورود به هک و امنیت وجود داره، من چه چیز جدیدی دارم که بگم؟! و نهایتا به این نتیجه رسیدم که جای یک چیز در وب فارسی درباره هک و امنیت خالیه، یک &quot;نقشه راه فکری&quot;. نقشه راه فکری هدف اصلیش اینه که یک ذهنیت به مخاطب بده و خط فکری مخاطب رو برای درک بهتر آماده کنه. توی این پست میخوایم به تعدادی فوت کوزه گری و خط فکری برای شروع بپردازیم و بعد هم منابع برای شروع مطالعه داشته باشیم. (لینک اسلاید های رویدادی که گفتم رو آخر پست گذاشتم، بعضی از مطالب اونجا، اینجا ذکر نشده)فهرست مطالب:۱. هک و امنیت چی هست و چی نیست؟    ۱.۱. ماهیت کلی هک و امنیت    ۱.۲. علم هک و امنیت    ۱.۳. کار (مشاغل) امنیت سایبری۲. بخش های مختلف امنیت سایبری و یادگیری آن ها    ۲.۱. موارد مشترک و پیش نیاز ها    ۲.۲. امنیت وب    ۲.۳. امنیت شبکه    ۲.۴. امنیت برنامه ها و اپلیکیشن های موبایلی    ۲.۵. امنیت شاخه باینری و مهندسی معکوس    ۲.۶. امنیت سازمانی و SOC۳. نکات و فوت کوزه گری در یادگیری۴. چه حوزه ای مناسب منه؟۵. سخن پایانیهک و امنیت چی هست و چی نیست؟قبل از اینکه بخوایم یک نقشه راه داشته باشیم، باید بدونیم هک و امنیت چی هست و چی نیست. نه جدی میگم، این بخش رو رد نکنید! خیلی از ما تصورات خیلی عمیق و خیلی غلطی از هک و امنیت داریم، حتی به عنوان کسانی که سال هاست داخل حوزه IT کار میکنن. پس بد نیست که یکم عمیق تر و جزئی تر، چیستی این موضوع رو مرور کنیم.خیلی از عزیزانی که به هک و امنیت سایبری علاقه مند و جذب میشن، از طریق فیلم ها و داستان های نسبتا دور از واقعیت با این موضوع آشنا میشن. این باعث میشه که تصورات غلطی شکل بگیره که باید در اولین زمان ممکن اصلاح بشن. چرا؟ چون امروز ما متخصصینی داریم که بعد از سال ها کار تو این حوزه به دلیل همون باور های غلط، یه جاهایی به اصطلاح اشتباه میزنن. بدتر از اون، وقتیه که شما با یک تیم یا شرکت کار میکنید و همکاران شما درگیر این باور های غلط هستن، که باعث دردسر هایی از جمله انتظارات غلط برای شما میشه.ما اینجا در سه دسته هک و امنیت رو بررسی و تعریف میکنیم:ماهیت کلی هک و امنیتهک و امنیت از دیدگاه من، قابل تفسیر در یک جمله نیست چراکه ممکنه گمراه کننده باشه، در عوض فکر میکنم تعریفش پیرامون یک جریان در دنیای واقعی فکر بهتری باشه. همه ما می دونیم در دنیای امروز که کامپیوتر ها از ریز تا درشت زندگی ما رو گرفتن، تهدیداتی وجود داره که ما بهشون میگیم تهدیدات سایبری، این تهدیدات رو شما در اخبار زیادی دیدید یا اگر بدشانس بوده باشید، از نزدیک تجربه کردید. یک عده هستن که ما بهشون میگیم بازیگر تهدید، یا threat actor، این عزیزان آدم های بد ماجرا هستن، به هدف های مختلف از پول، اختلال تا جاسوسی یا حتی به عنوان یک تفریح ناسالم، اهداف مختلف رو به طور مخرب و غیرقانونی هک میکنن. توی این بازی یک عده دیگه هستن که صنعت و حوزه امنیت سایبری رو تشکیل میدن. این افراد در حوزه های مختلف تلاش میکنن تا محصولات، سیستم ها، سازمان ها و به طور کلی دنیا رو در برابر تهدیدات گروه اول (آدم بد ها) امن تر کنن و امن نگه دارن. کل این ماجرا و تقابل بین دو گروه میشه ماهیت کلی هک و امنیت، که از اسکریپت کیدی های خردسال تا هکر های حکومتی کارکشته، گسترده هست! این وسط ما یک بخش مشترک بین دو گروه رو داریم که میشه &quot;علم هک و امنیت&quot;، که هر دو گروه ازش استفاده میکنن و هر دو گروه در گسترشش نقش دارن (بله، حتی آدم بد ها)، و بخش &quot;کار هک و امنیت&quot; رو داریم که مخصوص گروه آدم خوب ها هست. در ادامه به هر دو میپردازیم.علم هک و امنیتواضحه که علم هک و امنیت به دسته ای از علوم گفته میشه که در حوزه ها و بخش های مختلف (مرتبط با دنیای سایبری) به امنیت ماجرا می پردازن، و این رو همه ما می دونیم. اما لازمه قبل از ادامه، کمی جزئی تر نگاه کنیم. شاید در دهه های پیشین علم هک رو میشد فقط به دید نفوذ به سیستم های کامپیوتری نگاه کرد، اما امروزه و با حجم بسیار زیاد تهدیدات سایبری، گاها در پیچیدگی های بسیار بالا، محدوده این علم به شدت گسترش پیدا کرده. بنابراین ما نمی تونیم صرفا هک و امنیت رو به دید نفوذ، و یا حتی فقط نفوذ و دفاع نگاه کنیم! گستردگی این علم فراتر از این حرفاست که در ادامه بهش خواهیم پرداخت.وسط این گستردگی، خیلی ها امنیت سایبری رو فقط وب و شبکه میبینن در صورتی که اینطور نیست. درسته که گرایش امنیت وب در دنیا و مخصوصا در ایران خیلی خیلی پرطرفدار تر هست، اما ما شاخه هایی از این علم رو داریم (مثل مهندسی معکوس و باینری ها و...) که از نظر اهمیت، اگر مهم تر نباشن، به هیچ وجه کم اهمیت تر نیستن. یکی از مهم ترین مواردی که قراره تو این پست بهش بپردازیم، همین شاخه های مختلف علوم امنیت سایبری هست.کار (مشاغل) امنیت سایبرییک نمونه از ساختار تیم امنیت سایبری در یک سازمانهمونطور که گفتیم علم امنیت سایبری بسیار گسترده است و شاخه های زیادی داره، نتیجتا مشاغل این حوزه هم شاخه های مختلفی دارن. ما در اینجا، این عناوین رو در سه دسته قرار میدیم:۱. تهاجمی (Red Team):اشتباه نکنید، اینجا منظور ما هک غیرقانونی نیست. یکی از روش های امن سازی در دنیای امنیت سایبری، شبیه سازی حملات سایبری هست. یعنی یک نفر با دید اینکه یک هکر خارج از سازمان هست، میشینه و روی منابع سازمان (سایت و برنامه و اطلاعات و...) کار میکنه و تلاش میکنه نفوذ کنه و آسیب پذیری پیدا کنه. تست نفوذ (Pentest) در واقع در این دسته قرار میگیره. این بخش خودش میتونه شاخه های متفاوتی داشته باشه اما در کل کسی که در این بخش کار میکنه، قراره با نفوذ به منابع سازمان، مشکلاتش رو پیدا کنه و نتیجتا به امن تر شدنش کمک کنه. در این بخش شما ممکنه کارمند یک شرکت باشید تا روی منابع و محصولات اون شرکت کار کنید، ممکنه عضو یک آزمایشگاه یا شرکت امنیت سایبری باشید که این کار رو برای شرکت های مختلف انجام میده، یا ممکنه یک هکر مستقل باشید که روی برنامه های شکار آسیب پذیری (Bug Bounty) شرکت های مختلف کار میکنه.۲. تدافعی (Blue Team):در این بخش ما در سمت دیگه ی ماجرا هستیم. بر خلاف پنتستر و رد تیمر ها که &quot;معمولا&quot; دسترسی مستقیم و کامل به منابع سازمان ندارن (چون دارن سناریوی یک نفوذ واقعی رو پیاده سازی میکنن و به اصطلاح Black Box کار میکنن)، اینجا ما معمولا دسترسی زیادی به منابع سازمان داریم، چرا؟ چون کار ما در این بخش اینه که با طراحی و پیاده سازی راهکار های امنیتی، از منابع سازمان در برابر نفوذ مراقبت کنیم. این راهکار ها خیلی خیلی وسیع هستن! از تنظیم پالیسی های امنیتی برای کارکنان سازمان (مثلا استفاده همه از احراز هویت دو مرحله ای) تا مدیریت دسترسی لایه های مختلف افراد و البته، موارد فنی مثل طراحی و پیاده سازی معماری امن شبکه (استفاده موثر از فایروال خودش یک علمه!) و اجرای تنظیم گری های امنیتی روی منابع سازمان (مثلا Harden کردن سیستم عامل، نصب و استفاده از سیستم های مانیتورینگ شبکه و سرور برای پیدا کردن فعالیت مشکوک، خوندن کد های سازمان برای پیدا کردن آسیب پذیری و &quot;خیلی&quot; موارد دیگه).به طور خلاصه، اگر رد تیمر داره با هدفش (منابع سازمان) سر و کله میزنه تا آسیب پذیری پیدا کنه، بلو تیمر داره تلاشش رو میکنه با انواع و اقسام روش های فنی و غیرفنی، جلوی به وجود اومدن آسیب پذیری رو بگیره، اگر نفوذی صورت گرفت سریع شناساییش کنه و جلوی گسترش خسارت رو بگیره. به همین جهت کار رد تیم ممکنه بتونه یک کار یک نفره باشه، اما با توجه به مقیاس سازمان، کار بلو تیم معمولا کار یک نفره ای نیست. یکی باید کد های محصول رو بخونه، یکی باید معماری شبکه رو طراحی و بررسی کنه، یکی باید دائما حواسش به وضعیت و شرایط منابع سازمان (بر اساس سیستم های مانیتورینگ) باشه و...به همین جهت هست که بخش تهاجمی و رد تیمر رو شاید بشه تا حد خوبی در یک عنوان پنتست و تست نفوذ محدود کرد (که طبعا منابع مختلف، یک جور تست نمیشن و نیاز به دانش های مختلف دارن، اما نهایتا هدف همه یک چیزه)، اما بلو تیم شدیدا زیرشاخه های مختلف و متفاوتی داره. یک سازمان با توجه به مقیاسش ممکنه چند تا (یا حتی کل) این زیر بخش ها رو به یک نفر بده، یا اینکه برای هر زیر بخش یک نفر (یا حتی یک تیم!) بذاره. گاهی در سازمان های خیلی بزرگ یک تیم فقط مشغول به این هستن که به کارکنان یک سازمان آموزش های امنیتی بدن!نهایتا در تصویر بالا درباره ساختار یک تیم امنیتی، شما میتونید ببینید که رد تیم و پنتست عملا در یکی دو بخش این تیم هست و باقی بخش هاش رو میشه بلوتیم در نظر گرفت.۳. تحقیقاتی:و اما بخش مورد علاقه من! این بخش متاسفانه در ایران خیلی مورد کم لطفی واقع شده. ما در این بخش لزوما درباره منابع یک سازمان کار نمی کنیم. ممکنه روی توسعه ابزار های تست نفوذ کار کنیم یا روی سیستم های بلوتیم، ممکنه تحلیل بدافزار انجام بدیم یا دنبال روش های جدید کشف آسیب پذیری باشیم. ما تو این بخش ممکنه به صورت مستقل کار کنیم و یافته ها رو منتشر کنیم، یا برای یک شرکت امنیتی کار کنیم. بعضا، کشف آسیب پذیری در برنامه ها و سرویس های بنیادین (مثلا پروژه Google Zero) رو با وجود اینکه عملا کار تهاجمی هست، در این بخش قرار میدن چون ما اینجا درباره یک سازمان کار نمیکنیم، بلکه روی چیز هایی کار میکنیم که توسط هزاران سازمان و میلیون ها کاربر مورد استفاده است.در انتهای این پست به اینکه کدوم یک از این بخش های مناسب شماست بر می گردیم.بخش های مختلف امنیت سایبری و یادگیری آن هارسیدیم به بخش یادگیری. حرف اول و آخر من قبل از شروع اینه که قانع به یک ریسورس و مطلب و دوره نباشید. هیچکس با دیدن یک دوره یا خوندن یک کتاب هکر خوبی نشده. این منابع برای شروع خوبن اما &quot;باید&quot; خودتون علاقه به گشتن و مطالعه بیشتر و تکمیل علمتون داشته باشید، و یادتون باشه یادگیری با مطالعه بخش اول کاره. چیز مهمی که شما رو واقعا تبدیل به یک هکر میکنه، تجربه است. دنبال تجربه باشید...یادتون نره که اگر در حین مطالعه یک منبع چیزی رو نفهمیدید ناامید نشید. چون قرار نبوده در یک مطلب همه چیزو بفهمید، بلکه قراره بعضی چیز هارو نفهمید و برید دربارش سرچ و تحقیق کنید. ضمنا در مطالعه منابع مختلف قطعا و به دفعات به مطالب ظاهرا تکراری بر می خورید. این عادیه و چیز بدی نیست، اگر بخواید مطالعه عمیق داشته باشید بهتره تمام این موارد رو بخونید چون ممکنه هر منبعی نکته جدیدی وسط مطالب تکراری بگه.توصیه میکنم سری هم به این نقشه راه مموری لیکز بزنید:https://memoryleaks.ir/how-to-become-a-hacker/موارد مشترک و پیش نیاز هاموضوعی که وجود داره اینه که &quot;معمولا&quot; شما در هر بخشی بخواید کار کنید، نیاز دارید یک سری موارد رو بدونید یا به عبارتی، یک سری مباحث بین عموم حوزه ها مشترک هستن.۱. زبان انگلیسی. اگر زبانتون خوب نیست (در حد خوندن مطالب انگلیسی) همین الان آب دستتونه بذارید زمین و برید زبانتون رو خوب کنید. جدی میگم، این مهم ترین پیش نیازه.۲. مهارت سرچ کردن و کار با گوگل شما رو نجات میده و بالا میبره. پیشینیان شما در این حوزه به این حجم از منابع آنلاین دسترسی نداشتن و محدود به کتاب و تجربه بودن، شما قدر داشته تون رو بدونید و روی مهارت سرچ کردنتون کار کنید. البته این حجم بالای منابع آنلاین یک بدی بزرگ داره: منابع و مطالب به درد نخور! شما باید بتونید با موتور های جستجو به نحوی کار کنید که دقیقا چیزی که میخواید رو پیدا کنید.۳. برنامه نویسی به طور عمومی چیزی نیست که حتما باید بلد باشید، اما بی نهایت میتونه کمکتون کنه تا جایی که خیلی ها بر خلاف نظر من، معتقدن برنامه نویسی لازمه. شما با مهارت برنامه نویسی و اسکریپت نویسی میتونید خیلی از کار های خودتون رو راه بندازید، بعضی از حملات رو پیاده سازی کنید و گاها کار خودتون رو راحت تر کنید. توصیه من اینه که پایتون رو یاد بگیرید، نه تنها به موارد بالا کمک میکنه، بلکه یک تصوری از ذهنیت برنامه نویس ها هم بهتون میده که میتونه &quot;خیلی خیلی&quot; به شکار آسیب پذیری کمک کنه.۴. از طرفی، باید با مفاهیم پایه هک و امنیت آشنا باشید حتی اگر به کار نیاد و به حوزه تخصصی شما مربوط نشه. چرا؟ چون باید بتونید با همکاران تون ارتباط موثر داشته باشید و درک خوبی از حرف های هم داشته باشید، به علاوه اینکه هنگام یادگیری هم اگر با این مفاهیم آشنا نباشید، موقع مطالعه انگار دارید زبان آدم فضایی ها رو میخونید و تصور دقیقی ندارید. این موارد برای شروع خوب هستن:https://docs.microsoft.com/en-us/learn/paths/describe-basic-concepts-of-cybersecurity/https://www.ftc.gov/system/files/attachments/cybersecurity-small-business/cybersecuirty_sb_factsheets_all.pdfhttps://www.cybintsolutions.com/20-cyber-security-terms-that-you-should-know/https://www.allot.com/100-plus-cybersecurity-terms-definitions/۵. از کامپیوتر سر در بیارید! نیازی نیست لیسانس کامپیوتر داشته باشید اما سر و کله زدن با کامپیوتر رو بلد باشید. شاید ذکر این مورد احمقانه به نظر بیاد ولی وقتی جلوتر رفتید متوجه منظورم میشید :)))۶. سعی کنید یک آشنایی با سیستم عامل های لینوکسی پیدا کنید. جدا از اینکه کلاس داره (شوخی کردم منو نزنید)، خیلی از ابزار های فقط لینوکسی هستن و خیلی از تارگت ها و سیستم هایی که شما باهاشون سر و کار خواهید داشت هم لینوکسی هستن. در این مورد حقیقتش منبع منسجمی که قبول داشته باشم کمه، توصیه میکنم ماشین مجازی (VM) بیارید بالا و روش یک توزیع لینوکسی مثل اوبونتو نصب کنید و باهاش سر و کله بزنید چون تجربه بهترین آموزگار شماست. مجدد تاکید میکنم با VM شروع کنید چون احتمال اینکه سیستم عامل و داده های خودتون رو خراب کنید زیاده.امنیت وبحوزه مورد علاقه همه! البته این روز ها بیشتر هک اینستاگرام مورد علاقه همه است :))) ، اما قبل از اینکه شبکه های اجتماعی مدرن بیان و انقدر پرطرفدار بشن، هک وبسایت عشق همه ی علاقه مندان تازه کار بود. همون زمان هم هک یاهو مسنجر خدا بیامرز و فیسبوک پرطرفدار بود، اما هک وبسایت وجهه خفن خوبی داشت. بگذریم! از اسمش مشخصه، ما اینجا با وبسایت ها یا بهتره بگم وب اپلیکیشن ها سر و کار داریم. نکته مهم اینه که تو این بخش من لزوما نمیخوام برم دیفیس کنم (صفحه اصلی سایت رو تغییر بدم به hAcKed bY aLI hACker)، بلکه ممکنه به یک آسیب پذیری کوچیک برسم تا رسیدن به تسخیر (؟!) اکانت (Account Takeover)  و غول مرحله آخر که اجرای کد روی سرور (RCE) هست. پس اینو یادتون باشه درسته من دارم با یک وب اپلیکیشن کار میکنم اما ممکنه سطح نفوذم خیلی عمیق تر شه، ممکنه به کل شبکه هدف برسم!اینکه چرا به جای وبسایت میگم وب اپلیکیشن، چون این روز ها دنیای وب خیلی فراتر از یک وبسایت ساده است. مثلا API های وب (اگر نمیدونید چی هستن، فعلا اینطوری در نظر بگیرید که یک سری ارتباط خام غیرگرافیکی هستن که یک مشت متن و اطلاعات رو رد و بدل میکنن) برای خودشون یک دنیایی هستن که لزوما در تعریف وبسایت نمیگنجن اما وب اپلیکیشن هستن. بذارید یکم عمیق تر بشیم. ما یک چیزی داریم به نام اینترفیس. اینترفیس چیه؟ شما وقتی با یک برنامه اندرویدی کار میکنید، اون محیط برنامه (دکمه ها و لیست ها و متن ها و...) اینترفیس شما با برنامه هست. همه ما میدونیم نهایتا پشت کل اینا، کد و به اصطلاح صفر و یک هست، اما کاربر باید یک &quot;محیط و مسیر ارتباطی&quot; با برنامه داشته باشه تا بتونه باهاش کار کنه. پشت هر لایکی که شما در اینستاگرام ثبت میکنید هزاران خط کد اجرا میشه، اما &quot;راه تعامل&quot; شما با اینستاگرام، این دکمه لایک و برنامه اینستاگرام هست. پس اینترفیس اون، راه تعامل شما با سیستم هست. شما برای کار با یک برنامه ممکنه مجبور شید یک دستور در کامندلاین و تریمنال اجرا کنید، یا اینکه روی یک دکمه کلیک کنید. این محیط اینترفیس شماست.حالا در مثال اینستاگرام، شما وقتی روی دکمه لایک کلیک می کنید، یک ارتباط روی اینترنت برقرار میشه به API اینستاگرام. راه تعامل شما با برنامه اون دکمه لایک بوده، و راه تعامل برنامه با سرور برای اعلام این لایک، اون API. پس اینجا من در واقع با دو تا برنامه طرفم. برنامه (کلاینت) اندرویدی اینستاگرام، و برنامه تحت وب (وب اپلیکیشن) اینستاگرام که وظیفه تعامل با برنامه روی گوشی شما رو داره (در واقع اینترفیس فقط برای ارتباط بین انسان و برنامه تعریف نمیشه، برنامه های مختلف هم برای ارتباط با هم نیاز به یک اینترفیس دارن که حرف همو بفهمن و با هم ارتباط برقرار کنن). پس شما توی این حوزه وب، ممکنه روی API وب اینستاگرام کار کنید! تمام این ها توضیح این بود که چرا میگیم وب اپلیکیشن و بتونیم درک کنیم نقش برنامه های تحت وب رو.نتیجتا در حوزه وب من سر و کارم با هر برنامه ای هست که اینترفیس وب داره، حالا میخواد API باشه یا یک وبسایت خوشگل گرافیکی. برنامه های تحت وب (وب اپلیکیشن ها) هم مثل هرچیز دیگه ای در دنیای کامپیوتر، خودشون بر پایه مفاهیم و سیستم های دیگه ای سوار هستن. ما هفت لایه در شبکه داریم (مدل OSI)، لایه آخرش میشه لایه میزبان HTTP که پروتکلی هست که ارتباطات وب روش برقرار میشه و طبعا خود HTTP هم روی لایه های پایینی متکی هست. حالا اگر من بخوام یک هکر خفن در حوزه وب بشم باید چکار کنم؟ آفرین، باید بدونم این &quot;وب&quot; که ما ازش حرف میزنیم چیه و چطور کار میکنه. اینو به خاطر داشته باشید هکر برای نفوذ، از درک و فهمش از نحوه کارکرد سیستم هدف استفاده میکنه، پس من باید بدونم جریان چیه تا بتونم نفوذ کنم.آسیب پذیری های برنامه های وب وسیع و زیاد هستن، اما ما چند تا آسیب پذیری اساسی داریم (که توی منابعی که خواهم گفت کاملا شرح داده شدن) که مثلا به دلیل عدم بررسی ورودی های کاربر به برنامه، باعث میشن برنامه وب، اطلاعاتی که نباید بده رو به مهاجم بده و یا بدتر از اون، کد های مهاجم (که به عنوان ورودی داده شدن) رو روی سرور اجرا کنه. و البته مثل هر برنامه کامپیوتری دیگه، آسیب پذیری ها و باگ های منطقی رو داریم که برنامه مثلا به دلیل اشکال در منطق بررسی هویت کاربر، بهش اجازه دسترسی به اطلاعات کاربر های دیگه رو میده.حالا من به عنوان یک هکر حوزه وب باید چه چیز هایی رو بلد باشم؟ من باید پروتکل HTTP رو بشناسم، اینکه وب سرور ها (برنامه هایی که روی سرور به درخواست های وب شما جواب میدن) چی هستن و چطور کار میکنن و چه تفاوت هایی دارن رو بشناسم، با تکنولوژی های وب (کلیت زبان ها و فریمورک های برنامه نویسی وب) آشنا باشم و معماری های متداول برنامه های تحت وب رو بدونم. اینجوری وقتی با یک هدف مواجه میشم میدونم باید دنبال کجا ها برم. یادتونه گفتم اگر برنامه نویسی رو بلد باشید کمکتون میکنه؟ دقیقا اینجا به کمکتون میاد تا با بررسی رفتار یک برنامه تحت وب، بتونید حدس بزنید برنامه نویس پشتش چه کدی رو زده و چه چیزی رو پیاده کرده.بریم سراغ منابع. اول با مفاهیم پایه وب آشنا بشیم:https://www.tutorialspoint.com/web_developers_guide/web_basic_concepts.htmhttps://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTPhttps://softuni.org/dev-concepts/everything-you-need-to-know-about-http-protocol/https://developer.mozilla.org/en-US/docs/Learn/Common_questions/What_is_a_web_serverhttps://en.wikipedia.org/wiki/Web_serverhttps://www.geeksforgeeks.org/basics-computer-networking/https://www.geeksforgeeks.org/layers-of-osi-model/https://en.wikipedia.org/wiki/Web_APIhttps://web.dev/howbrowserswork/https://www.geeksforgeeks.org/basic-database-concepts/https://www.w3schools.com/sql/sql_intro.aspکتاب HTTP: The Definitive Guide: The Definitive Guide (Definitive Guides) از Brian Tottyمفاهیم WWW و Web و HTTP و Web protocols و Web technologies و Web API و Web browsers و Databaseدر ادامه میتونیم بریم سراغ امنیت وب:کتاب The Web Application Hacker&#x27;s Handbook از Dafydd Stuttardکتاب Web Application Security از Andrew Hoffmanکتاب Bug Bounty Bootcamp از Vickie Li (مستقیم و اول کار سراغ این کتاب نرید)کتاب Hacking APIs: Breaking Web Application Programming Interfaces از Corey J. Ball (این کتاب اختصاصا درباره API ها هست و اخیرا منتشر شده اما فوقالعاده است، وقتی به کلیات وب مسلط شدید برید سراغش)مفاهیم آسیب پذیری های متداول وب، اکسپلویت آسیب پذیری های وب، WAF، آنالیز Root Cause آسیب پذیری های وبو منابعی که همیشه کنار دستتون داشته باشید و بهش سرک بکشید و بخش های مختلفش رو مطالعه کنید:https://github.com/qazbnm456/awesome-web-securityOWASP (سرچ کنید)بحث امنیت وب ارتباط تنگاتنگی با امنیت شبکه داره، گرچه امنیت شبکه خیلی عمیق تر از چیزی هست که شما برای امنیت وب نیاز دارید، اما خوبه که مفاهیم اولیه رو بدونید.امنیت شبکهشما الان با کامپیوتر یا گوشیتون به اینترنت وصل هستید و دارید این مطلب رو می خونید. شبکه های کامپیوتری یکی از بزرگ ترین اختراعات و عوامل تغییر دنیای ما در سه دهه اخیر هستن، میلیارد ها سیستم کامپیوتری از سرور های پیشرفته تا دستگاه های IoT به اینترنت وصل هستن، اما جالبه بدونید هنوزم خیلی از قواعد این دنیای عجیب و بزرگ، همون قواعد بیست سی سال پیش هستن. چرا؟ چون گاها خیلی هاشون به قدری خوب طراحی شدن که هنوزم کاملا جوابگوی نیاز های امروز ما هستن، و بعضی هاشون به قدری بد و غیرقابل جایگزینی طراحی شدن (I&#x27;m looking at you, BGP) که نمیشه تغییرشون داد چون باید زیرساخت جهانی اینترنت رو کند و دوباره بالا آورد!امنیت شبکه از اون دست مواردی هست که برای تسلط بهش باید به معنای واقعی کلمه به خود علم شبکه های کامپیوتری مسلط باشید. شبکه لایه لایه هست، در لایه های بالایی مثل لایه ای که HTTP درش قرار داره مفاهیم نسبتا ساده هستن، اما هرچی به لایه های پایینی میریم باید بیشتر عمیق شیم و مطالعه کنیم. وقتی از تسلط به شبکه کامپیوتری حرف میزنیم یعنی باید بدونیم این عکس ها و صفحه های خوشگل و گرافیکی چطور در اوج نبوغ و کثیف بودن به فریم های شبکه تبدیل میشن و مسیر خودشون رو از این سر دنیا به اون سر دنیا پیدا میکنن. قسمت مهم ماجرا به عنوان یک متخصص امنیت شبکه اینه که بسته به کاری که شما میکنید، ممکنه سر و کارتون به بعضی لایه های شبکه نیفته. مثلا اگر من در یک سازمان خیلی بزرگ یا زیرساختی اینترنت نیستم لزوما کاری با سیستم Routing اینترنت و امنیتش ندارم.نکته جالب ماجرا اینجاست که امنیت وب هم به نوعی بخشی از امنیت شبکه محسوب میشه، اما انقدر بزرگ و بعضا مستقله که معمولا کاری به لایه های پایینیش نداریم، اما امنیت شبکه به طور کلان، تقریبا به همه چیز و عموم حوزه ها وصله! چون سیستم های کامپیوتری و نرم افزاری، عملا دارن با شبکه کار میکنن پس به نوعی بهش مربوطن، اما با مستقل کردن بخش های سطح بالا مثل وب، میشه بیشتر به &quot;خود شبکه&quot; پرداخت.یکم جزئی تر صحبت کنیم. یک سازمان یا یک مجموعه ای از سازمان ها برای ارتباطات داخلی و خارجی خودشون دارن از شبکه های کامپیوتری و اینترنت استفاده میکنن. من اگر به عنوان یک متخصص امنیت شبکه خیالم از این بابت که متخصص امنیت وب، امنیت وب اپلیکیشن خودش رو تامین میکنه راحت باشه، میتونم سراغ مسائل زیرساختی تری مثل &quot;معماری امن شبکه&quot; و ارتباطات سیستم های کامپیوتری برم. یک شرکت بزرگی مثل گوگل، هزاران سرور داره که باید با هم و با دنیای بیرون در ارتباط باشن، این ارتباط خود به خود شکل نمیگیره و یک شبکه کامپیوتری &quot;طراحی و اجرا&quot; شده که هدفش اینه که در سریع ترین و بهینه ترین حالت ممکن، ارتباط بین سیستم های مختلف رو به صورت امن برقرار کنه.من به عنوان یک متخصص امنیت شبکه باید بدونم کدوم بخش ها از این شبکه با شبکه های بیرونی (اینترنت) در ارتباط هستن، چطور ارتباط دارن (چه پروتکل و پورت ها و مقصد هایی)، و چه منابعی (مثل وب سرور یا ...) قراره چه تعاملاتی داشته باشن. با دونستن این نیاز ها، من باید سیاست ها و موارد امنیتی رو در نظر بگیرم که این ارتباطات رو در حد لازم نگه دارم و اجازه دسترسی غیر مجاز ندم. پس من نقاط ارتباط با دنیای بیرون رو پیدا میکنم و امنشون میکنم (بستن پورت و فایروال و دسترسی ها و...). اما چیز جدیدی که در این بخش داریم، اینه که خب اومدیم و یکی از این منابع (برنامه، سرور ...) هک شد، بالاخره اتفاق میفته! من چطور میتونم کاری کنم که جلوی &quot;گسترش&quot; این نفوذ رو بگیرم. این خاصیت شبکه است، اگر مهاجم موفق شد به بخشی از شبکه نفوذ کنه، قطعا اقدام بعدیش اینه که نفوذش رو به کل شبکه گسترش بده. من چطور میتونم جلوی این اتفاق رو بگیرم؟ با طراحی نوعی از شبکه با محدودیت هایی بین اجزا و بخش های مختلف شبکه، و البته با مانیتورنگ مداوم ارتباطات داخل شبکه، اگر سروری که همیشه یک بار ترافیک مشخص داشته الان داره چند برابرش اطلاعات رد و بدل میکنه یا ارتباط با جایی داره که قاعدتا نباید، میفهمیم که یک جای کار میلنگه.در بحث تهاجمی امنیت شبکه هم، همین داستانه اما برعکسش :)))من با علم به بخش ها و راهکار های امنیتی شبکه، خواصش رو بررسی میکنم، نقاط ارتباطش با دنیای بیرون رو پیدا میکنم (مثلا وب سرور، ایمیل سرور و...) و تلاش میکنم یک راهی به داخل پیدا کنم. بعدش هم که مشخصه، تلاش میکنم کل شبکه رو آلوده کنم (نکنید، کار بدیه).یک مثال بزنیم و بریم سراغ منابع. باج افزار واناکرای (Wannacry) در سال ۲۰۱۷ به دنیا یک سکته ناقص وارد کرد. وقتی یک سیستم رو آلوده میکرد، داخل شبکه های متصل به سیستم میگشت و با استفاده از یک آسیب پذیری حساس در ویندوز که هنوز در خیلی جاها رفع نشده بود، سیستم های دیگه حاضر در شبکه که آسیب پذیر بودن رو هک میکرد و اونارو هم آلوده میکرد و به همین ترتیب. در واقع تمام worm های کامپیوتری این کارو میکنن اما واناکرای به خاطر نوع و حساسیت آسیب پذیری که استفاده میکرد خیلی موفق بود. به عنوان یک متخصص امنیت شبکه من باید حواسم به آپدیت بودن سرور ها، کنترل و محدود سازی ارتباطات داخل و بین شبکه و رصد فعالیت های داخل شبکه باشه تا جلوی چنین حمله ای رو بگیرم.و اما منابع. برای مفاهیم اولیه:کتاب CompTIA Network+ Certification All-in-One Exam Guide از Mike Meyershttps://www.guru99.com/basic-computer-network.htmlhttps://github.com/facyber/awesome-networkingهمون کتاب اولی رو بخونید به نظرم کافی و خوبه.منابع امنیت شبکه:ببخشید، اینجا کار مشکل میشه :)))بحث بر سر اینه که همونطور که گفته شد امنیت شبکه، کلمه بیش از حد کلی هست و خودش زیرشاخه های متفاوتی داره و تیم ها و افراد مختلفی باید استاندارد هاش رو رعایت کنن. نتیجتا شما به عنوان بلو تیمر باید Best practice های حوزه و معماری خودتون رو بدونید و اعمال کنید. اگر DevOps هستید این موارد امنیتی رو بدونید که تقریبا همشون در کتاب های عمومی شبکه ذکر شدن. و اگر رد تیمر و مهاجم هستید، بازم باید با همین مفاهیم آشنا باشید، با این تفاوت که اینجا باید با ابزار های تهاجمی این حوزه هم آشنا باشید. نتیجتا من نمیتونم منبع خیلی کلی و همه فن حریفی بدم، اما بخش های مربوطه از کتاب های زیر به نظرم خوب هستن:کتاب The DevOps Handbook: How to Create World-Class Agility, Reliability, and Security in Technology Organizations از Gene Kim کتاب CompTIA Security+ Study Guide: Exam SY0-601 از Mike Chappleکتاب ISC2 CISSP Certified Information Systems Security Professional Official Study Guide از Mike Chappleامنیت برنامه ها و اپلیکیشن های موبایلیتوی این یک حوزه من فعالیت عمومی بیشتری داشتم (پست های قبلیم در ویرگول رو میتونید مطالعه کنید). اگر یادتون باشه در بخش وب، اینترفیس رو تعریف کردیم و برنامه اینستاگرام روی اندروید رو مثال زدیم. در بخش امنیت برنامه های موبایلی ما دو دسته کار انجام میدیم. اول اینکه همونطور که گفتیم، خیلی اوقات برنامه های موبایلی در واقع کلاینت ها و اینترفیس هایی هستن که نهایتا با هسته مرکزی برنامه در سرور ارتباط برقرار میکنن. این کلاینت های موبایلی وظایف زیادی دارن، از احراز هویت کاربر (لاگین اکانت) تا انجام و انتقال عملیات های کاربر به سرور. اتفاقی که میفته اینه: برنامه نویس ناخودآگاه تصور میکنه API وب (که قبلا دربارش حرف زدیم و گفتیم که سرور هسته مرکزی برنامه است و تمام اطلاعات و اتفاقات اونجا ثبت میشه) فقط توسط برنامه/کلاینت موبایلی استفاده میشه، تماما ارتباطش با برنامه هست و خود برنامه حواسش به مواردی مثل احراز هویت هست، و دوستان، این خطرناک ترین اتفاقیه که به دفعات بسیار زیاد (مخصوصا در برنامه های ایرانی) داره میفته تا جایی که ما اینجا یک دسته جدا بهش اختصاص دادیم. چرا خطرناکه؟ چون برنامه نویس وظایف مهمی مثل احراز هویت رو به برنامه (و نه سرور) میسپاره و عملا به عملکرد برنامه اعتماد میکنه، اما برنامه داره روی گوشی کاربر اجرا میشه و هرچیزی روی دستگاه کاربر اجرا شه، قابل تغییره! پس من میتونم نحوه ارتباط برنامه با سرور رو بررسی کنم و نقاط ضعفش رو پیدا کنم. مثلا رمز دو مرحله ای که به شما پیامک میشه رو داخل برنامه داخل گوشی کاربر میسازه و از طریق سرور به کاربر پیامک میکنه! شوخی نمیکنم، این اتفاق افتاده و کم هم نبوده. چه اتفاقی میفته؟ من میتونم برنامه رو تغییر بدم و یک رمز دوم خودم بسازم و به سرور بدم، رمز برای کاربر پیامک میشه و من به پیامک دسترسی ندارم، اما رمز رو خودم ساختم! پس باهاش لاگین میکنم.یا اینکه مثلا (این اتفاق خیلی خیلی زیاد میفته) یک بخشی از API سرور مسئول دادن اطلاعات کاربر به برنامه موبایلی هست، به این صورت که شماره تلفن کاربر رو میگیره و در جواب بهش، کد ملی و اسم کاربر رو میده. برنامه موبایلی اینجوری تنظیم شده که طبعا فقط شماره موبایل خود کاربر رو به سرور میده، و برنامه نویس با تصور اینکه فقط برنامه با این API کار میکنه و برنامه فقط شماره موبایل خود کاربر رو میده، فکر میکنه مشکلی پیش نمیاد، یادش میره احراز هویت بذاره روی برنامه سرور که ببینه آیا این کسی که داره اطلاعات این شماره رو میخواد، واقعا صاحب شماره است؟ ما این بخش API رو داخل برنامه پیدا میکنیم و خودمون یک شماره دیگه رو به سرور میدیم، و سرور چون به برنامه موبایلی &quot;اعتماد کرده&quot;، اطلاعات یک کاربر دیگه رو به ما میده! این هایی که گفتم سناریو های واقعی هستن که زیاد پیش میان :)))پس دسته اول کاری که ما حین تست نفوذ برنامه های موبایلی میکنیم، بررسی ارتباط برنامه با سرور هست و با دانش امنیت وب و API، تلاش میکنیم به نوعی با استفاده از ارتباط ناامن برنامه با سرور (که به خاطر اعتماد به عملکرد برنامه و اینکه کسی جز خود برنامه با این API کار نمیکنه هست) به برنامه سرور نفوذ کنیم. در این دسته ما در واقع باید امنیت وب رو (حداقل API) بلد باشیم.و اما دسته دوم کاری که ما در این بخش انجام میدیم، مواردی هست که مربوط به آسیب پذیری خود برنامه هست و ربطی به ارتباطش با سرور نداره. مثلا برنامه اطلاعات محرمانه ای از کاربر رو داخل خود گوشی (و نه سرور) نگه میداره، و یک آسیب پذیری داره که باعث میشه با باز شدن یک لینک، اون اطلاعات به هکر ارسال شه. یا در یک مثال واقعی دیگه، واتس اپ یک آسیب پذیری داشت که با یک تماس تلفنی واتس اپی به قربانی، دسترسی اجرای کد روی گوشی قربانی میداد. بنابراین هرچیزی که در دسته اول نیست، در این دسته قرار میگیره :)))ما در هر دو دسته عموما روی برنامه &quot;مهندسی معکوس&quot; انجام میدیم تا کد های برنامه رو بخونیم و عملکردش حین اجرا رو بررسی کنیم، و گاها روند اجرای برنامه رو برای کشف آسیب پذیری دستکاری میکنیم. اما اینجا یک تفاوت بزرگ بین برنامه های اندروید و IOS وجود داره. برنامه های اندرویدی به دلیل مکانیزم کامپایل و اجرا (که وارد جزئیاتشون نمیشیم) توسط ابزار هایی به نام decompiler میتونن تبدیل به کد سطح بالا و قابل فهم جاوا بشن، درباره IOS ماجرا به این راحتی نیست چون برنامه ها مستقیما به زبان ماشین تبدیل میشن. بنابراین ما دو مسیر کاملا متفاوت رو برای مهندسی معکوس این دو داریم (البته در Static Analysis).برای مفاهیم اولیه اندروید:زبان برنامه نویسی جاوا رو یاد بگیرید، حداقل بتونید بخونیدشhttps://source.android.com/devices/architecturehttps://developer.android.com/topic/architecturehttps://www.tutorialride.com/android/structure-of-android-application.htmhttps://www.geeksforgeeks.org/components-android-application/?ref=lbphttps://developer.android.com/guide/components/fundamentalsآشنایی با مفاهیم و معماری سیستم عامل اندروید، پکیج های اندرویدی، نحوه ساخت برنامه اندرویدی، DALVIK/ARTتوصیه میکنم کاملا به اینکه چطور یک برنامه اندرویدی نوشته و اجرا میشه مسلط بشید، مثلا این کتاب:کتاب Android Programming for Beginners: Build in-depth, full-featured Android 9 Pie apps starting from zero programming experience, 2nd Edition از John Hortonمنابع امنیت اندروید:در کمال تاسف تا به امروز هیچ کتاب خوبی در این زمینه ندیدم (عموما منابع درب و داغونی هستن)، اما منابع اینترنتی نسبتا خوبی وجود داره. با این حال تو این حوزه ناچارید بیش از باقی حوزه ها، خودتون بگردید دنبال منابع کوچیک و دنبال تجربه خودتون برید. توصیه من این هست که این حوزه رو به عنوان حوزه اول خودتون در بحث امنیت انتخاب نکنید و قبلش مثلا وب رو یاد بگیرید تا با دید و مهارت بهتری بتونید وارد این حوزه بشید. با این حال این منابع، سر نخ های خوبی هستن:https://www.ragingrock.com/AndroidAppRE/https://mobile-security.gitbook.io/mobile-security-testing-guide/android-testing-guide/0x05a-platform-overview (بخش اندروید این کتاب آنلاین، یکی از کامل ترین هاست. کل بخش اندروید رو مطالعه کنید)https://github.com/rednaga/training/blob/master/DEFCON23/O%26D%20-%20Android%20Reverse%20Engineering.pdfhttps://github.com/ashishb/android-security-awesomehttps://owasp.org/www-project-mobile-top-10/مفاهیم اولیه IOS:لازمه این نکته رو بگم من هیچوقت روی امنیت IOS کار نکردم و این منابع رو بر اساس مشورت دوستان وارد به موضوع به دست آوردم.https://www.geeksforgeeks.org/architecture-of-ios-operating-system/https://developer.apple.com/tutorials/app-dev-trainingمنابع مربوط به پلتفرم IOS به شدت محدود تر هستن، نتیجتا توصیه میکنم روی نحوه ساخت برنامه IOS عمیق بشید:کتاب Ios Programming: The Big Nerd Ranch Guide از Christian Keurکتاب iOS 13 Programming Fundamentals with Swift: Swift, Xcode, and Cocoa Basics از Matt Neuburgمنابع امنیت IOS:توصیه میکنم بخش باینری هم مطالعه کنید.کتاب iOS Application Security: The Definitive Guide for Hackers and Developers از David Thielhttps://mobile-security.gitbook.io/mobile-security-testing-guide/ios-testing-guide/0x06a-platform-overviewhttps://github.com/Cy-clon3/awesome-ios-securityhttps://owasp.org/www-project-mobile-top-10/امنیت شاخه باینری و مهندسی معکوستا حالا شده کابوس شب هاتون، وارد زندگی روزانه تون بشه؟ تبریک میگم! کابوس عموم دانشجو های کامپیوتر یعنی زبان ماشین و اسمبلی، پایه این بخشه! حقیقت ماجرا اینه که این بخش معمولا &quot;نمیتونه&quot; اولین ماجراجویی کسی که میخواد هکر بشه، باشه. چرا؟ چون کار کردن تو این حوزه عمیقا وابسته به دانش های low-level علوم کامپیوتر هست. با این حال خوشبختانه شما نیازی ندارید رشته کامپیوتر خونده باشید، اما باید آماده بشید برای یک ماجراجویی خیلی عمیق و پیچیده. این بخش یکی از علاقه های شخصی من هست. ما تو این شاخه به سر و کله زدن با باینری ها می پردازیم. میدونیم که برنامه ها نهایتا به زبان ماشین و machine instruction code ترجمه و اجرا میشن، و ما تو این بخش دقیق با همین صفر و یک ها و machine instruction code ها سر و کله میزنیم، اما نگران نباشید! اسمبلی اینجا شمارو نجات میده (فکرشو میکردید؟).در واقع machine instruction code ها که همون زبان ماشین هستن، به راحتی به اسمبلی تبدیل میشن چون اسمبلی عملا یک نوع نمایش این دستورات هست. ما در این بخش ممکنه با لایبری های native یک برنامه اندروید سر و کله بزنیم، یا با درایور ها و بخش های سیستم عامل، و این زیبایی کار هست، چون عملا با low-level ترین شکل نرم افزار مواجه هستیم و طبیعتا این حوزه سختی هست. مشابه با آنالیز برنامه های موبایل، اینجا هم ما دو نوع آنالیز استاتیک و داینامیک داریم، و البته روش هایی برای کشف آسیب پذیری مثل فازینگ.اینجا هم ما با آسیب پذیری های معروفی مثل ایرادات حافظه و البته آسیب پذیری های منطقی طرفیم، و البته وقتی با زبان های برنامه نویسی مثل C کار می کنید، احتمال اینکه یک جا حین کار با حافظه خراب کنید خیلی زیاده، و همین یک اشتباه بنا به طبیعت زبان های low level، میتونه باعث طبعات خیلی وحشتناکی بشه که البته، پیدا کردنش مثل دنبال سوزن در انباه کاه گشتنه!آسیب پذیری های این بخش میتونن خیلی حیاتی باشن، چراکه معمولا دسترسی بالایی به شما میدن و خب طبیعیه که اگر یک درایور یا کرنل یا یک سرویس حیاتی سیستم عامل دچار چنین آسیب پذیری بشه، عملا کل سیستم هک شده. مثلا آسیب پذیری که گفتم واناکرای ازش استفاده میکرد رو یادتونه؟ مربوط به همین بخشه. ما تو این بخش برنامه رو disassemble میکنیم (کد ماشین رو به اسمبلی تبدیل میکنیم)، ارتباطات اجزای مختلف برنامه و روند اجرا رو بررسی میکنیم، حافظه اش رو میخونیم و هر ورودی ممکن برنامه رو بیچاره میکنیم تا ببینیم آیا دچار اشکال میشه یا نه :))))مثلا آسیب پذیری CVE-2021-3156 در برنامه sudo که برای اجرای برنامه ها و دستورات با دسترسی های مختلف استفاده میشه، باعث میشد به خاطر اینکه sudo در شرایط خاصی (وجود یک کاراکتر خاص در یک دستور خاص در یک جای خاص) طول ورودی رو درست حساب نمیکنه، دسترسی root به مهاجم داده شه که، خیلی بده :))) . این آسیب پذیری ۱۰ سال در sudo وجود داشته و بعد از ده سال با فازینگ کشف و رفع شده...با توجه به اینکه این مبحث موضوعیه که قبل از ورود بهش باید &quot;خیلی&quot; با مفاهیم low level کامپیوتر آشنا باشید و beginner friendly نیست، توضیحش رو کش نمیدم و میریم سراغ منابع و پیش نیاز ها. شما برای کار در این حوزه باید با کامپایلر ها، ماشین کد ها، زبان برنامه نویسی C، اسمبلی، نحوه کار و تعاملات CPU، مدیریت حافظه و مدیریت سیستم عامل بر پراسس ها آشنا باشید (که احتمالا چندین مورد رو جا انداختم).نکته: خیلی از برنامه ها لزوما مستقیما به ماشین کد نمیشن (مثل برنامه های اندرویدی که تبدیل به نوعی بایت کد جاوا میشن) و این بستگی به تکنولوژی و زبان برنامه نویسی برنامه هدف داره. در این صورت میشه خیلی راحت تر باهاشون کار کرد (مثلا دات نت که براش ابزار dnSpy هست).منابع زیر رو برای مطالعه توصیه میکنم:کتاب مقدس C Programming Language از Kernighan Brian W و Ritchie Dennisکتاب Modern X86 Assembly Language Programming: 32-bit, 64-bit, SSE, and AVX از Daniel Kusswurmhttps://en.wikibooks.org/wiki/X86_Assemblyhttps://cs.lmu.edu/~ray/notes/x86overview/https://homepage.cs.uri.edu/faculty/wolfe/book/Readings/Reading04.htmکتاب Understanding the Linux Kernel, Third Edition از Daniel P. Bovet (صرفا برای آشنایی تعاملات سیستم عامل)منابع برای امنیت شاخه باینری و مهندسی معکوس:کتاب Practical Binary Analysis: Build Your Own Linux Tools for Binary Instrumentation, Analysis, and Disassembly از Dennis Andriesseکتاب The IDA Pro Book, 2nd Edition: The Unofficial Guide to the World&#x27;s Most Popular Disassembler از Chris Eagleکتاب Learning Linux Binary Analysis از Ryan &quot;elfmaster&quot; O&#x27;Neillhttps://github.com/secfigo/Awesome-Fuzzinghttps://github.com/tylerha97/awesome-reversingکتاب Practical Malware Analysis: The Hands-On Guide to Dissecting Malicious Software از Michael Sikorski (فقط چون دوستش دارم)امنیت سازمانی و SOCبر خلاف عموم رودمپ ها، فکر میکنم لازمه به بخش کاملا سازمانی و دفاعی ماجرا هم بپردازیم. گرچه این موضوع در ایران به شدت دست کم گرفته میشه، اما برای سازمان ها متوسط و بزرگ یک عنصر حیاتی هست و در غرب به شدت جدی گرفته میشه و دربارش تولید محتوا میشه. گرچه بخشی از عناوین کاری SOC ها یا همون Security Operations Center، بیشتر سمت و سوی IT داره و از امنیت فاصله میگیره اما یک موضوع کاملا جدی با بازار کار تشنه است. بخش هایی مثل تیم های مدیریت رخداد، تیم های سیاست گذاری، تیم های آموزش و تیم های مانیتورینگ در دنیا در حال استاندارد شدن هستن و به همین دلیل هست که در سمت دفاعی ماجرا، ما استاندارد های خیلی کامل و خوبی (بعضا دولتی) رو میبینیم (بر خلاف سمت تهاجمی و رد تیم که آنچنان استاندارد پذیر نیست چون با ذات کار نمیسازه).در این بخش ما زیرشاخه های زیادی داریم. مثلا اگر یک سازمان دچار نفوذ بشه و آسیب ببینه (درز اطلاعات، از بین رفتن اطلاعات و...)، چه سیاستی وجود داره برای مدیریت شرایط؟ لزوما اینجا بحث فنی نیست بلکه بحث سیاست گذاری هم میتونه باشه. یا حین انجام نفوذ (در صورت شناسایی)، کی میخواد چیکار کنه؟ اگر صرفا یک تیم آموزش ندیده IT بخواد شرایط رو مدیریت کنه، احتمالا ترکیبی از خاموشی و سردرگمی و قطع کابل و گریه خواهد بود :)))به همین دلیله که برای سازمانی که یک نفوذ هم یک نفوذه، این مباحث اهمیت پیدا میکنه. همونطور که گفتم استاندارد های خوبی وجود داره که حجم زیادی از منابع برای مطالعه براش هست (طبیعتا اینکه کدوم رو مطالعه کنید، بستگی داره به اینکه در چه عنوانی میخواید فعالیت کنید):کتاب Modern Security Operations Center از Joseph Munizکتاب CISO COMPASS: Navigating Cybersecurity Leadership Challenges with Insights from Pioneers از Todd Fitzgeraldکتاب Blue Team Handbook: SOC, SIEM, and Threat Hunting (V1.02): A Condensed Guide for the Security Operations Team and Threat Hunter از Don Murdochکتاب CompTIA Security+ Study Guide: Exam SY0-601 از Mike Chapple (دوباره)استاندارد های امنیتی مثل NIST Cybersecurity Framework و ISO27Kنکات و فوت کوزه گری در یادگیریاگر دقت کرده باشید، در منابع بخش بالا (هوف، بالاخره تموم شد) هیچ کورس و دوره ای رو معرفی نکردم. دوره های آموزشی چیزای خوبی هستن و میتونن خیلی به شما کمک کنن، اما من فکر میکنم با وجود اینکه راه آسون تر هستن، لزوما بهترین راه نیستن. قبلا هم درباره اهمیت کسب تجربه در یادگیری این حوزه گفتم. دوره های آموزشی &quot;ممکنه&quot; این فرصت رو از شما بگیرن، و من با این موضوع مشکل دارم. شخصا فکر میکنم اینکه هر فرد با اتکا به منابع و سرنخ های مطالعاتی، خودش برای خودش یک مسیر یادگیری بسازه خیلی بهتره. اما نهایتا اگر فکر میکنید نیاز به دوره دارید، لطفا خیلی خیلی مراقب باشید چه دوره ای از چه کسی رو میبینید. قطعا دوره های انگلیسی در اولویت باشن.اگر در دوره ای شرکت می کنید، لطفا از اول تا آخرش رو برید. دوره هایی با سرفصل مشخص، معمولا جوری تدوین میشن که بخش قابل توجهی از اولشون فقط مقدمه برای مطالب اصلی هست. اگر وسط کار ول کنید و برید سراغ یک دوره دیگه، انگار هیچ کاری نکردید. و از یک شاخه به شاخه دیگه نپرید! مخصوصا اول کار، فقط سردرگم تر میشید. این به این معنی نیست که اگر چیزی رو در یک منبع مطالعاتی دیدید و بلد نبودید، سراغش نرید، اتفاقا این کار رو بکنید، اما از مسیری که درش هستید خارج نشید.بازم تاکید میکنم که تجربه بهترین آموزگار شماست و هیچ دوره یا کتابی، برای شما منبع کامل نمیشه. این علم با سرعت نور داره پیشرفت میکنه، حتی اگر پایه هاش چند دهه قدمت داشته باشن. پس بعد از اینکه کلیت کار رو یاد گرفتید، همیشه دنبال پست ها و مقالات کوچیک تر باشید. اخبار امنیت سایبری رو بخونید و دنبال مطالب جدید باشید، اینجوری علایقتون رو پیدا میکنید کم کم.یک نکته خیلی مهم دیگه اینکه، از ابزار گرایی فرار کنید. استفاده از ابزار خوبه اما اگر ندونید اون ابزار چطور کار میکنه، جریان پشتش چی هست، شما اون ابزار رو یاد می گیرید و نه علم واقعی رو. از ابزار استفاده کنید اما قبلش بدونید چیه و چطور کار میکنه.چه حوزه ای مناسب منه؟اول موارد مشترک بین شاخه ها رو یاد بگیرید، درباره هر شاخه تحقیق کنید و کار های دیگران در اون حوزه رو ببینید. اشکالی نداره اگر شما چند شاخه رو بلد باشید (اتفاقا خیلی هم خوبه، البته بازم میگم از شاخه به شاخه نپرید)! ممکنه شمایی که اینجایید، به قصد یاد گرفتن هک کردن و نفوذ و رد تیم اومده باشید، اما پنج سال دیگه در SOC یک شرکت بزرگ کار کنید، این تجربه شماست که بهتون خواهد گفت در کدوم حوزه احساس بهتری دارید، اجازه بدید این تجربه رخ بده و سفت نباشید، بدید تجربه بزنتتون :))جدا از این احساس شخصی، هر حوزه شرایط کاری خودش رو داره. کار در بخش مدیریت رخداد یا مانیتورینگ SOC میتونه استرس زا باشه، کار به عنوان متخصص امنیت شبکه و زیرساخت، میتونه بهتون فرصت خلاقیت به خرج دادن در طراحی زیرساخت بده، و نفوذ، میتونه بهتون حس خوب پیروزی و قدرت بعد از کشف هر آسیب پذیری رو بده، به خاطر همینه که میگم تحقیق کنید و تجربه کنید. نگران نباشید این شاخه ها و حوزه ها خیلی میتونن به هم نزدیک باشن و همیشه فرصت اسباب کشی دارید! البته خیلی از دوستان من در این حوزه که ده سال پیش الگوی من در فروم های هک و امنیت اون زمان بودن، امروز حتی در حوزه IT هم کار نمیکنن :)))خطرات و دردسر های هک و امنیتبذارید صادقانه و بی پرده بگم. این علمی که اینجا من با طنز ازش صحبت میکنم، به طور جدی یک سلاح هست. دولت های مختلف در جهان دارن تبدیلش میکنن به سلاح و یک صحنه جدید برای جنگ با هم، و شمایی که این علم رو کسب میکنید، سرباز ارزشمندی هستید. اما یادتون نره، این علم شوخی نداره، دنیای ما عمیقا و به طور غیر قابل بازگشت به علوم کامپیوتر گره خوره. یادتونه گفتم تجربه کنید؟ مراقب بعضی تجربه ها باشید. گاهی یک نفوذ غیرقانونی، گاهی یک همکاری با یک نهاد، کل آینده شما رو برای همیشه تحت تاثیر قرار میده، شما که دوست ندارید تا آخر عمر نتونید از ایران خارج شید؟ :)))من در جایگاهی نیستم که به شما بگم چکار کنید و چکار نکنید، اما میگم با چشم باز انتخاب کنید و عواقب اعمالتون رو بدونید...سخن پایانیآخر اون رویدادی که اول پست گفتم، یک جمله گفتم که برام تداعی گر خیلی خاطرات بود. &quot;من امروز چیز هایی رو گفتم که آرزو میکردم ای کاش زمانی که خودم در حال یادگیری بودم، یکی بهم میگفت.&quot; خیلی از شاخه ها و موارد جذاب علم هک و امنیت رو نتونستم بهش بپردازم، مثل رمزنگاری و فارنزیک و جرم نگاری، اما هدفم از این پست این بود که یک دید کلی به شما بدم برای اینکه مسیرتون رو تنظیم کنید و با دید بهتری جلو برید. طبعا کم و کاستی و اشتباه داشت، اما هیچ منبعی کامل نیست، شمایید که منبع کامل رو با کنار هم قرار دادن منابع کوچیک تر میسازید. امیدوارم براتون مفید بوده باشه، موفق باشید ;)لینک اسلاید های رویداد:https://www.slideshare.net/MohsenTahmasebi/introduction-to-cybersecurity-252119435</description>
                <category>Mohsen Tahmasebi</category>
                <author>Mohsen Tahmasebi</author>
                <pubDate>Sun, 14 Aug 2022 14:07:51 +0430</pubDate>
            </item>
                    <item>
                <title>توهم حریم خصوصی: دور زدن و ذخیره عکس های زمان دار و سکرت در تلگرام و واتس اپ</title>
                <link>https://virgool.io/@moh53n/%D8%AA%D9%88%D9%87%D9%85-%D8%AD%D8%B1%DB%8C%D9%85-%D8%AE%D8%B5%D9%88%D8%B5%DB%8C-%D8%AF%D9%88%D8%B1-%D8%B2%D8%AF%D9%86-%D9%88-%D8%B0%D8%AE%DB%8C%D8%B1%D9%87-%D8%B9%DA%A9%D8%B3-%D9%87%D8%A7%DB%8C-%D8%B2%D9%85%D8%A7%D9%86-%D8%AF%D8%A7%D8%B1-%D9%88-%D8%B3%DA%A9%D8%B1%D8%AA-%D8%AF%D8%B1-%D8%AA%D9%84%DA%AF%D8%B1%D8%A7%D9%85-%D9%88-%D9%88%D8%A7%D8%AA%D8%B3-%D8%A7%D9%BE-g5matcljqwky</link>
                <description>نکته: متاسفانه به دلیل سوءاستفاده های احتمالی از دادن جزئیات دقیق فنی معذروم و صرفا هدفم از این پست اثبات امن نبودن مطلق عکس های زمان دار و سکرت در پیام رسان ها هست.احتمالا برای شما هم پیش اومده که بخواید عکس یا فیلم خصوصی رو برای کسی ارسال کنید و نخواید طرف مقابلتون بتونه اون رو سیو کنه. پیام رسان هایی مثل تلگرام و واتس اپ با عرضه قابلیت های مثل timed media و view once message این امکان رو به کاربر میدن تا یک پیام یا عکس/فیلم رو به طور محرمانه و محدود شده برای طرف مقابل ارسال کنه تا قابل سیو کردن نباشه، و این شده مبنای اعتماد خیلی ها برای ارسال عکس های خصوصی خودشون...اما این روش ها و قابلیت ها چقدر امن هستن؟ آیا میشه دورشون زد؟ دور زدنشون چقدر راحته و کار هرکسی هست؟ در ادامه این پست در بخش اول پاسخ این سوالات رو به طور غیر فنی و بعد هم فنی به همراه یک دمو خواهیم داد و نهایتا در بخش پایانی یک جمع بندی غیرفنی خواهیم داشت.نه! اصلا امن نیستن!یک قاعده اساسی وجود داره. وقتی یک داده ای به سمت دیوایس کاربری (گوشی، لپتاپ، هرچی) ارسال میشه (حالا پیام یا عکس یا فیلم)، دیگه شما صاحب اون داده نیستید و نمیتونید حذفش کنید. برنامه های پیام رسان این لطف رو در حق شما میکنن و حذفش میکنن در طرف مقابل، اما این فرایند در گوشی طرف مقابل اتفاق میفته و خب، میشه برنامه رو جوری دستکاری کرد که اینکارو نکنه! من توی این پست همینکارو کردم. چطور؟ روش های مختلفی وجود داره.روش اولی که معمولا اول به ذهن آدم های فنی تر میاد، اینه که خب گوشی رو روت میکنیم و با یک سری ابزار (جزئیات این روش هارو تو بخش فنی میگم) نحوه کار برنامه رو دستکاری میکنیم. این کار امکان پذیره و برای یک کاربر فنی ساده است اما مشخصا کار هرکسی نیست. گوشی روت شده/شبیه ساز میخواد و دانش فنی کار کردن با یک سری ابزار، پس عده خیلی کمی میتونن این کار رو انجام بدن.اما، روش دومی که به مراتب مهلک تر و وحشتناک تره (که تو این پست این روش رو رفتم) اینه که خود برنامه پیام رسان مثل تلگرام یا واتس اپ رو دستکاری میکنیم و بعد یک نسخه دستکاری شده میسازیم. این فرایند به مراتب پیچیده تر از روش قبلیه و کاربر فنی هم لزوما از پسش بر نمیاد، بلکه کار یک متخصص امر هست. پس خطر ماجرا کجاست؟ خطر ماجرا اینجاست که بعد از اینکه متخصص، نسخه دستکاری شده رو ساخت، دیگه بعدش به طرز خطرناکی راحته. شما فقط کافیه اون برنامه دستکاری شده رو (که به صورت یک فایل نصبی apk معمولی هست) نصب کنید، بدون نیاز به دانش فنی، بدون نیاز به اینکه بدونید دقیقا چکار میکنه. کاملا مثل نصب یک برنامه معمولیه و طرف مقابل هم اصلا متوجه نمیشه شما از نسخه دستکاری شده استفاده می کنید! و به همین راحتی هیچ عکس و فیلم زمان داری برای شما پاک نمیشه و محدود نیست، طرف مقابلتون هم نه میتونه کاری کنه برای جلوگیری ازش، نه لازمه سمت خودش کار خاصی انجام بده تا برای شما پاک نشه و نه حتی میفهمه که عکس خصوصیش برای شما پاک نمیشه. پس خطرش اینه که خروجی کار برای همه قابل استفاده است...بریم سراغ بخش فنی ماجرا و یک دموی کوتاه، و در بخش آخر دوباره غیرفنی میشیم و درباره راهکار ها حرف میزنیم.دستکاری برنامهروش اولی که اشاره شد، شما با داشتن یک دستگاه روت شده و یا استفاده از شبیه ساز اندروید میتونید از ابزار هایی مثل frida و یک سری اسکریپت آماده استفاده کنید و روند اجرا برنامه رو تغییر بدید که خب کار نسبتا راحتیه اما برای یک عده خاص.روش دوم یا همون ساخت یک نسخه دستکاری شده، در واقع Patching نام داره. ما در این روش برنامه رو disassemble میکنیم به سورس SMALI که میتونید به دید اسمبلی برای بایت کد های Dalvik/ART (همون جاوا ران تایم اندروید) نگاهش کنید که فرمت نسبتا low level داره. و بعد با خوندن سورس های decompile شده جاوای برنامه و بررسی ساختار کارش و خوندن کد های SMALI میریم و یک بخش هایی از سورس SMALI رو تغییر میدیم تا برنامه طبق میل ما کار کنه و بعد هم سورس SMALI رو دوباره تبدیل میکنیم به DEX و فایل نصبی اندروید یا همون APK...البته اوضاع وقتی بدتر میشه که بدونید تمام این فرایند نسبتا پیچیده برای برنامه های closed source هست و برای برنامه ای مثل تلگرام که اوپن سورسه، بی نهایت آسون تره و شما میری سورس اصلی جاوا رو میاری میخونی و دستکاری میکنی و کامپایل...نسخه دستکاری شده تلگرامبرای تلگرام کار ما خیلی راحته. سورس کلاینت (برنامه تلگرام) موجوده و شما نیازی به مهندسی معکوس و بدبختی هاش ندارید، فقط باید سورس رو بخونید و بخشی که مسئول مدیریت عکس های تایم دار هست رو پیدا کنید، مثلا یه نگاه به این کد بندازید (متاسفانه به دلیلی که اول مطلب گفتم بخش اصلی سورس رو نمیتونم نشون بدم و فقط یک بخش مربوط بهش رو میذارم):توضیحی ندارم :(حالا کافیه بریم بگردیم کی و کجا داره عکس های تایم دار رو مدیریت میکنه و دستکاریش کنیم و برنامه رو کامپایل کنیم. فایل خروجی apk ما حالا عکس های سکرت رو محدود نمیکنه. تو گیف پایین نسخه خودمو تست کردم و نشون دادم (لود شدن گیف به خاطر حجمش ممکنه طول بکشه):دور زدن عکس تایم دار تلگرامخیلی راحت و با تغییر ۴ خط کد نسخه دستکاری شدمون رو ساختیم! نسخه دستکاری شده واتس اپمرحله سخت کار اینجاست. بر خلاف تلگرام، واتس اپ اوپن سورس نیست و ما باید همون فرایند پچ کردن که گفتم رو انجام بدیم. با بیست سی دقیقه گشتن داخل کد موفق شدم بخش مربوط به عکس های view once رو پیدا کنم، ده دقیقه هم صرف پچ کردن اون بخش شد.متاسفانه دقیق تر از این نمیتونم وارد جزئیات اینکه کار به عهده کدوم بخش کد هست بشم (نزنید تو سر من که string.xml را چه به عملیات اجرایی)کلا بعد از حدود چهل دقیقه اپ رو پک کردم و بردم برای تست که با این صحنه مواجه شدم:با توجه به حجم کم تغییراتی که داده بودم خیلی دور از ذهن بود که فرایند رجیستر شدن رو خراب کرده باشم پس حدس اولم این بود که واتس اپ از یک راهکار برای بررسی دستکاری نشدن خودش استفاده میکنه، که در واقع با خوندن یک سری پارامتر ها میتونه بفهمه برنامه دستکاری شده یا نه. من با اینجور مکانیزم ها آشنا بودم و با توجه به امکانات محدودی که اندروید برای این موضوع در اختیار برنامه میذاره، تقریبا میتونستم حدس بزنم برنامه داره یک سری مشخصات درباره خودش رو از اندروید میگیره و به سرور ارسال میکنه و سرور هم اونجا این مشخصات رو بررسی میکنه و اگر مغایرت داشت با ورژن های اصلی، اجازه رجیستر شدن و لاگین به کاربر نمیده. بنابراین ترافیک برنامه رو بررسی کردم که به در بسته خوردم.برنامه SSL/TLS Pinning داشت اما به محض اینکه می فهمید ارتباط با اینترنت برقراره اما ارتباط خودش با سرور به دلیل خطای TLS برقرار نمیشه، دست به یک روش کاستوم ثانویه برای ارتباط با سرور میزد که باعث میشد ترافیک کپچر نشه اما برنامه کار کنه. به هر صورت موضوع مهمی نبود و برای جلو رفتن مجبور شدم به داینامیک آنالیز رو بیارم و با یک اسکریپت آماده فریدا SSL/TLS Pinning رو دور بزنم تا نتیجه زیر حاصل بشه:هیچوقت نقاشیم خوب نبودکل رکوئست انکریپت شده بود و چاره ای جز بررسی عمیق تر سورس برنامه و نوشتن هوکر فریدا برای بررسی موارد ارسالی داخل رکوئست نبود. البته بعد از پنج دقیقه گشتن داخل کد متوجه شدم ساختار craft کردن رکوئست پیچیده تر از حد انتظارم هست و به این نتیجه رسیدم با توجه به آشنایی قبلی که به روش های بررسی اصالت برنامه دارم، داخل سورس کد دنبال یک سری موارد خاص بگردم که این مورد به سرعت جواب داد و مشخص شد واتس اپ دو مشخصه اصلی مربوط به نسخه نصب شده خودش رو داخل یه جایی در رکوئست لاگین قرار میده.ساختار کلی کد کلاینت واتس اپ که به شدت مبهم شده (تقریبا همه چیز در پکیج X هست)نهایتا بعد از چندین ساعت بررسی سیستم رمزنگاری رکوئست و هوک کردن موارد مختلف برنامه با فریدا، نقاط دقیقی که وظیفه تهیه مشخصه های مربوط به نسخه نصب شده رو داشتن پیدا کردم، اما به دلیل استفاده چندگانه از اون متد ها داخل برنامه مجبور بودم کلاینت رو جوری پچ کنم که فقط در شرایطی که اون مشخصه های خاص درباره نسخه نصب شده واتس اپ دارن دریافت میشن از سیستم عامل، مقدار return تغییر پیدا کنه به مشخصه های یک نسخه اصلی واتس اپ (در واقع خودش رو بزنه جای نسخه اصلی واتس اپ).بخشی از خروجی هوکر فریدابخشی از پچ اعمال شده برای دور زدن سیستم تشخیص پچو بالاخره تونستم لاگین کنم و تازه پچ اصلیم برای دور زدن view once رو آزمایش کنم که... (لود شدن گیف به خاطر حجمش ممکنه طول بکشه):و فقط با شیش هفت ساعت کار و ۲۵ خط پچ بخش view once واتس اپ و integrity check دور زده شد و یک فایل apk دستکاری شده به دست اومد که به راحتی قابل نصب و استفاده است!سخن پایانینهایتا بعد از این همه این ها، این سوال به وجود میاد که خب پس چکار کنیم! عکس های خصوصیمون رو چجوری ارسال کنیم که امن باشه؟ متاسفانه باید بگم، هیچ راه قطعی وجود نداره. نهایتا اگر کسی بخواد و سوادش رو داشته باشه میتونه دورش بزنه، حالا وای به روزی که نسخه های مشابه چیزی که در این مطلب ساختم در دسترس عموم هم قرار بگیره (که متاسفانه تا حد قابل توجهی گرفته) و نیازی به دانش فنی هم نباشه.دوستان، عزیزان، خواهش میکنم اعتماد نکنید به راحتی. بنده خودم زخم خوردم :)))یک عکس، یک فیلم، به خیال باطل اینکه تو سکرت چت یا تایمر دار یا view once امنه ممکنه زندگی شما رو به باد بده. بهترین راهکار، رعایت اصول حریم خصوصی و ایمنی در مواردی هست که ارسال میکنید، فرض رو بر این بذارید که عکسی که میفرستید ذخیره میشه، دوباره فکر کنید چه چیزی رو ارسال میکنید.نهایتا همه این ها یعنی اینکه پس عکس تایمر دار و view once هیچ؟ قطعا نه. همونطور که گفتم راهکار قطعی وجود نداره، اما این هم یک لایه اضافه هست که کمی ماجرا رو برای شما امن تر میکنه...امیدوارم از خوندن این پست لذت برده باشید، ممکنه یک ویدیو دمو کامل هم از این پروژه بذارم که توی توییترم (@moh53n) اطلاع رسانی خواهم کرد. موفق، سلامت و امن باشید!</description>
                <category>Mohsen Tahmasebi</category>
                <author>Mohsen Tahmasebi</author>
                <pubDate>Wed, 30 Mar 2022 07:21:47 +0430</pubDate>
            </item>
                    <item>
                <title>فیشینگ پیامکی به سبک همتا و عدل ایران: بررسی بدافزار فیشینگ رجیستری تلفن همراه</title>
                <link>https://virgool.io/@moh53n/%D9%81%DB%8C%D8%B4%DB%8C%D9%86%DA%AF-%D9%BE%DB%8C%D8%A7%D9%85%DA%A9%DB%8C-%D8%A8%D9%87-%D8%B3%D8%A8%DA%A9-%D9%87%D9%85%D8%AA%D8%A7-%D9%88-%D8%B9%D8%AF%D9%84-%D8%A7%DB%8C%D8%B1%D8%A7%D9%86-%D8%A8%D8%B1%D8%B1%D8%B3%DB%8C-%D8%A8%D8%AF%D8%A7%D9%81%D8%B2%D8%A7%D8%B1-%D9%81%DB%8C%D8%B4%DB%8C%D9%86%DA%AF-%D8%B1%D8%AC%DB%8C%D8%B3%D8%AA%D8%B1%DB%8C-%D8%AA%D9%84%D9%81%D9%86-%D9%87%D9%85%D8%B1%D8%A7%D9%87-myxky5fmtyor</link>
                <description>لطفا یک گرافیست من رو نجات بدهمدتیه که بازار فیشینگ های پیامکی دوباره داغ شده تا جایی که پلیس فتا در اقدامی انقلابی به ارسال پیامک &quot;کلیک روی لینک های فلان = هک شدن&quot; به ملت رو آورده. مرسوم ترین این فیشینگ ها در حال حاضر، ارسال پیام جعلی شکواییه (همون شکایت خودمون) به ملت هست که میگه علیه شما شکایت شده و لینک یک برنامه رو بهشون میده و باقی ماجرا. البته نه! از باقی ماجرا نمیشه گذشت و قبل ورود به بحث اصلیمون باید یک نگاهی بهش داشته باشیم. پیشاپیش بگم پارت اول متن کاملا غیرتخصصی هست و نگران سخت بودنش نباشید چون برای همه قابل فهمه، خودم در ادامه میگم پارت تخصصی و فنی ماجرا از کجا شروع میشه.پیامک های فیشینگداخل پیامک جعلی شکواییه یک لینک هست که این لینک چند نوع داره:در دسته اول از فیشینگ ها، لینک یک درگاه پرداخت مستقیم جعلی هست که میگه شما باید یک مبلغ کمی رو (مثلا ده هزار تومن) پرداخت کنید تا کار روی روند بیفته وگرنه میایم در خونه بهتون دستبند میزنیم :)))نتیجتا قربانی بدبخت میره در درگاه جعلی بانکی و به خیال خودش ده هزار تومن پرداخت میکنه که خب، عدد مبلغ پرداختی دستکاری شده و در واقعیت مبلغ بیشتری از حسابش میره. اما این روش چند تا بدی داشت و داره (به جز اینکه لینک درگاه پرداخت داخل پیامک به خودی خود مشکوکه) که باعث رفتن فیشر ها به دسته دوم شد. مشکل اول اینه که اگر شما بخوای یک میلیون تومن از کارت قربانی بکشی، چون عددت ثابته و نمیدونی داخل کارت طرف چقدر پول هست ممکنه داخل کارت طرف ۹۹۹ هزار تومن پول باشه و شما بخوای یک میلیون تراکنش بزنی و به خاطر هزار تومن fail شی. رمز هم که خوشبختانه پویاست (خدا خیر بده محمد جرجندی رو) و فیشر نمیتونه اول موجودی بگیره یا عملیات رو تکرار کنه. مشکل دوم و اساسی تر این هست که اگر رمز پویا برای طرف sms بشه مبلغ تراکنش هم براش میره و خب با وجود اینکه خیلی ها دقت نمیکنن ولی بازم خیلی ها متوجه میشن و ادامه نمیدن. و نهایتا مشکل سوم اینه که شما با این کار داری درگاه میسوزونی (که البته راه دور زدن داره) و بعد یک مدت درگاه پرداختی که باهاش فیشینگ میکردی میپره، که البته این مورد سوم در بعضی روش ها وجود نداره. پس با توجه به تمام این مشکلات فیشر ها رفتن سراغ دسته دوم فیشینگ های پیامکی...در دسته دوم ماجرا پیچیده تر میشه. اینجا فیشر لینک درگاه رو به فرد نمیده بلکه بهش لینک یک برنامه اندرویدی رو میده. قربانی برنامه رو دانلود و نصب میکنه و بعد داخل برنامه ازش یک سری دسترسی ها خواسته میشه (عموما دسترسی پیامک، و بدون دادن دسترسی هم برنامه کار نمیکنه و میگه باید دسترسی رو بدی) و بعد یک سری مشخصات بی اهمیت ازش خواسته میشه و نهایتا برنامه به یک بهانه ای مشابه بهانه دسته اول، هدایتش میکنه به یک درگاه پرداخت جعلی. حالا از اینجاش ممکنه همون فرایند دسته اول اتفاق بیفته (فقط اینجا یک برنامه ای این وسط هست که شک کاربر رو کم میکنه و لینک جعلی درگاه پرداخت بهش نشون میده تا فکر کنه تو سایت شاپرکه)، اما معمولا این اتفاق نمیفته و درگاه بانکی که به کاربر نمایش داده میشه اصلا درگاه پرداخت نیست، یعنی پولی رو از کاربر نمیدزده بلکه &quot;موجودی کارت&quot; طرف رو میگیره. یعنی برنامه شما رو هدایت کرده به یک درگاه پرداخت که وقتی مشخصات کارتتون رو وارد میکنید و رمز پویا میگیرید، براتون &quot;رمز استعلام موجودی کارت&quot; میاد و وقتی اون رو در درگاه جعلی وارد کنید، فیشر مشخصات کارت شما و موجودی داخل کارتتون رو ذخیره میکنه. بعدش چه اتفاقی میفته؟ برنامه به شما یک پیغام جعلی خطا نشون میده که تراکنش انجام نشد و شرمنده! درست هم میگه و تراکنشی انجام نمیشه. پس قربانی با کمی گیج شدن برنامه رو میبنده و میره تا چند ساعت دیگه امتحان کنه یا کلا بی خیال میشه، اما بخش اصلی اینجا اتفاق میفته. برنامه هنوز روی گوشی کاربر نصب هست! مدتی میگذره و فیشر لیست کارت ها و موجودی هاشون رو نگاه میکنه و دنبال عدد های بالا میگرده، بعد میره و با مشخصات کارت قربانی یک چیزی میخره (کارت شارژ، کالا، توکن، هرچی که بتونه تبدیل به پول کنه) و برنامه (بدافزار) نصب شده روی گوشی قربانی هم تمام پیامک های دریافتی اون رو برای فیشر میفرسته که خب، شامل رمز پویاش هم میشه و تمام! اینجوری نه کاربر چندان شک کرده تا لحظه آخر، نه به خاطر هزار تومن کار fail شده و کل کارت خالی شده، نه طرف متوجه عدد انتقال وجهی شده و نه درگاهی سوخته...بررسی فنی یک نمونه بدافزار فیشینگخب از اینجای ماجرا میخوایم فنی بشیم (بخش بعدی دوباره غیرفنی میشیم). امروز من یک توییت از یک بنده خدایی دیدم که گفته بود کارتش رو اینجوری خالی کردن. منم تا تنور داغ بود سمپل بدافزار رو گرفتم تا شب بررسی کنم. اپ رو از این لینک گرفتم:http[://]semanah.tel/%D8%B3%D8%A7%D9%85%D8%A7%D9%86%D9%87%20%D9%87%D9%85%D8%AA%D8%A7.apkبنده ی خدااول ببینیم روند کار چجوریه. اول اپ پرمیشن پیامک رو از کاربر میگیره:بعد وارد مرحله ای میشیم که یکسری دیتای الکی از کاربر گرفته میشه:و بعد باز هم دیتای الکی...اینجا کاربر وارد صفحه پرداخت جعلی میشه:به آدرس بار بالای صفحه توجه کنید که لینک جعلی نشون میدهو اگر همه چیز خوب پیش رفت، پیام خطای جعلی داده میشه:همین. کل اپلیکیشن همینه و هیچ چیز دیگه ای نداره، اما وقتی بریم بریم سراغ ترافیک برنامه متوجه میشیم برنامه همین هم نیست و کل فرایندی که قربانی میبینه در واقع یک برنامه و صفحه وب هست به این آدرس:http[://]semanah.tel/app.phpپس وقتشه بریم سراغ سورس کد. داخل ترافیک برنامه ما چند تا api call با یک آدرس جدید میبینیم.من هم نمیدونم echarge چرا اونجاست، از سرور بهش رکوئست رفتهدر این دامین:https[://]internet-98.xyz/برنامه ارتباط اولیه خودش رو با سرور برقرار میکنه، دیوایس قربانی رو رجیستر میکنه و لینک صفحه وب اپی که کاربر قراره روند ماجرا رو داخلش طی کنه (همون semanah) رو میگیره. به همین دلیل در سورس کد اصلا اثری از دامین semanah نیست و c2 اصلی بدافزار اینجاست. در تصویر بالا سه نوع رکوئست رو ما میبینیم که برای درک بهتر ماهیتشون بهتره بریم سراغ سورس کد...در سورس کد برنامه ما چند تا فانکشن مهم داریم. وقتی برای اولین بار قربانی برنامه رو باز میکنه، اول به firebase فیشر متصل میشه و توکن میگیره برای دریافت دستورات، بعد دستگاهش با توجه به آیدی های دیوایس و توکن فایربیس، سمت سرور بدافزار رجیستر میشه و یک آیدی میگیره (فانکشن RegisterD، متد RegisterDevice در API). بعد از اون دسترسی پیامک از کاربر گرفته میشه و لینک وب اپ دریافت (فانکشن GetLink، متد GetLink در API) و در یک webview باز میشه تا کاربر روند رو ادامه بده تا زمان خطای جعلی. از طرفی برنامه یک BroadcastReceiver رجیستر میکنه تا هروقت پیامکی برای کاربر میاد، اپ اون رو دریافت (کلاس SmsReceiver) و روی سرور فیشر محتویات پیامک رو آپلود کنه (فانکشن UploadSms، متد UploadSms در API). اما یک بخش دیگه هم هست، برنامه پیام های فایربیس رو هم گوش میکنه و از این طریق فیشر میتونه فرمان هایی رو به قربانی ارسال کنه. اگر دقت کنید میفهمید تمام ارتباطات از قربانی به c2 توسط api انجام شده و قربانی برای دریافت فرمان با سرور api ارتباطی برقرار نکرده، که خب اینجا داره توسط پیام های firebase این کار رو میکنه. در کلاس MyFirebaseMessagingService ما پارزر پیام های دریافتی از فایربیس رو داریم که کلا سه پیام رو پارز میکنه: ping که در فانکشن PingDevice به بدافزار میگه به اندپوینت PingDevice رکوئست بزنه و بگه من هنوز روی گوشی قربانی نصبم و آنلاینم.دستور sendsms که در فانکشن sendSMS یا sendUnderLolipop به بدافزار میگه یک متن رو به یک شماره پیامک کنه (این برای انتشار پیامک جعلی استفاده میشه، یعنی کسی که پیامک رو برای شما میفرسته احتمالا خودش قربانیه)، و دستور sendmultisms که همون کار sendsms رو میکنه با این تفاوت که یک متن رو به چند شماره ارسال میکنه.و بدافزار بعد از ارسال هر پیامک یک رکوئست به سرور میزنه و اعلام میکنه پیامک ارسال شد (فانکشن sendDeliveryToServer، متد DeliveryMessage در API). نهایتا اگر توکن فایربیس قربانی تغییر کنه فانکشن UpdateDevice یک رکوئست به اندپوینت UpdateDevice میزنه تا توکن جدید اون قربانی رو در سرور اعمال کنه. این از بررسی بدافزار.تیم پشت بدافزار و گستره آلودگیمعمولا تیم های پشت این بدفزار ها به یک کمپین و یک بدافزار قناعت نمیکنن و خوبه که یکم روی سرور ها و آلودگیشون کار کنیم. این گراف گستره کار تیم پشت این بدافزار هست تا جایی که من پیدا کردم (با همین گراف میشه ردشون رو زد اگر...)اینجا چند تا نکته جالب داریم. حداقل سه بدافزار دیگه مشابه این وجود دارن همگی از این دامین استفاده میکنن:https[://]internet-98.xyz/اما نکته جالب تری وجود داره. اگر عکس ترافیک بدافزار دقت کرده باشید، تمام رکوئست ها به این آدرس میره:https[://]internet-98.xyz/Hirad/*اما در سمپل های دیگه این بدافزار من دو آدرس دیگه از این دامنه پیدا کردم که عملکرد کاملا مشابهی داشتن و اینطور به نظر میاد که داخل اون تیم فیشینگ، هرکس برای خودش یک آدرس c2 از این دامین داره! مجموعا این آدرس ها پیدا شد:https[://]internet-98.xyz/Hirad/* دو تا سمپلhttps[://]internet-98.xyz/Wallex/* یک سمپلhttps[://]internet-98.xyz/Hirsh/* دو تا سمپلبه علاوه یک دامین دیگه:https[://]mytestProjects.xyz/Wallex/* یک سمپلپس ما با یک تیم حرفه ای طرفیم که هرکس با بدافزار مشابه، c2 (سرور کنترل بدافزار) و کمپین خودش رو داره! همونطور که قبل تر هم اشاره شد اینا اصل کار هستن و آدرس وب اپ جعلی رو اینا به بدافزار میدن تا قربانی ببینه، پس من از تمام این c2 ها آدرس های وب اپشون رو گرفتم:http[://]semanah.tel/ همینی که بررسی کردیمhttp[://]semaneh.tel/پس این اولین کمپین فیشینگ اون ها نبوده و احتمالا آخرینش هم نخواهد بود. نهایتا از چهار سمپل پیدا شده قدیمی ترین اون ها مال ۱ فوریه ۲۰۲۲ هست، یعنی یک ماه و خورده ای قبل از نگارش این مطلب!نتیجه گیری پایانیاولین مورد برای من جای این سوال وجود داره که چرا یک نفر با داشتن مشخصات کارت باید بتونه درخواست استعلام موجودی کنه اونم بدون کپچا (کپچای داخل درگاه پرداخت الکیه)؟ این مورد قرار بود سال ها پیش محدود بشه ولی ظاهرا فیشر ها یک راهی براش پیدا کردن. دوم اینکه دامین semanah و semaneh که داخل پیامک ها بودن فیلتر شدن، اما آیا دامین c2 اصلی هم فیلتر شده؟ دامینی که اگر فیلتر بشه بدافزار دیگه کار نمیکنه و اگر فیلتر نشه، اون دو تای بالایی رو در پنج دقیقه میشه تغییر داد و اپ کار میکنه. تا این لحظه خیر! یعنی یکی اونجا ننشسته بررسی کنه ببینه ریشه ماجرا کجاست! ما هیچ، ما نگاه...پانوشت: در همین لحظه که دارم این پانوشت رو مینویسم، چند دقیقه ای میشه که بسیاری از این دامین ها و سرور ها غیرفعال شدن که خب طبیعیه چون دزد هایی که به خوردن پول مردم عادت دارن، پهلوون پنبه های کوچه خالین و زود میترسن. بازم تاکید میکنم این لعنتی هارو میشه گرفت و میشه متوقف کرد ولی اراده میخواد، تخصص میخواد...IoCFilesdb5df6741e0321962eda8a0b1d82a1738db1dc9ef1333c18b715b69e7bfcb484 (APK)3e5f4eb9c20ac849948919e74b6b95ddabd63678595d5aa7dd17fb97aa94fdd2 (DEX)d48dac4c8bf6aeff995d98cdda61ae89e743987f876df72756235306bf793e2e (DEX)URLshttp[://]semanah.tel/* (webapp)https[://]internet-98.xyz/Hirad/* (c2)https[://]internet-98.xyz/Wallex/* (c2)https[://]internet-98.xyz/Hirsh/* (c2)https[://]mytestProjects.xyz/Wallex/* (c2)GCM/FCMgcm_senderid (db5df6741e0321962eda8a0b1d82a1738db1dc9ef1333c18b715b69e7bfcb484): 76554708478VT Graghhttps://www.virustotal.com/graph/embed/gd675a898e8e04839a88846d3486a7ec6ba925eec23cf4312a2eb6af5fabe2f77</description>
                <category>Mohsen Tahmasebi</category>
                <author>Mohsen Tahmasebi</author>
                <pubDate>Sat, 12 Mar 2022 03:04:21 +0330</pubDate>
            </item>
                    <item>
                <title>از آشوب تا API: مهندسی معکوس کافه بازار</title>
                <link>https://virgool.io/@moh53n/%D8%A7%D8%B2-%D8%A2%D8%B4%D9%88%D8%A8-%D8%AA%D8%A7-api-%D9%85%D9%87%D9%86%D8%AF%D8%B3%DB%8C-%D9%85%D8%B9%DA%A9%D9%88%D8%B3-%DA%A9%D8%A7%D9%81%D9%87-%D8%A8%D8%A7%D8%B2%D8%A7%D8%B1-jnfvthaf0etl</link>
                <description>پروژه مهندسی معکوس کافه بازار یکی از جذاب ترین و پیچیده ترین پروژه های من بود. در https://vrgl.ir/cLnN9 و https://vrgl.ir/QFfBe مفصلا درباره نتایجش صحبت شد و اسکریپت ها و اطلاعاتش در https://github.com/moh53n/bazz منتشر شد، اما در این پست میخوام به فرایند فنی مهندسی معکوس اپ و API کافه بازار بپردازم، پس کمی فنی تر میشیم :)اوایل تیر سال ۹۸ و بعد از خوندن مقاله خنده دار ژاپنی درباره امنیت داخل پلتفرم کافه بازار تصمیم گرفتم یک پروژه برای اسکن کل کافه بازار رو راه بندازم...دیکامپایل کردن کافه بازاراپ های اندرویدی و در واقع جاوا، به دلیل کامپایل شدن به Java ByteCode تا حد بسیار زیادی قابل Decompile شدن هستن، به این معنی که خروجی کامپایلر جاوا رو میشه تبدیل به سورس اصلی جاوا کرد (تا حد مناسبی). این باعث میشه تقریبا هر اپلیکیشن اندرویدی رو بشه تبدیل به سورس اصلیش کرد و خب، این خوب نیست؛ نه از نظر امنیت نه از نظر اینکه ممکنه اپ شما فردا با اندکی تغییر توسط یکی دیگه منتشر بشه. نتیجتا پای روش ها و ابزار های مبهم ساز یا Obfuscation میاد وسط. این ابزار ها و روش ها (که محدود به جاوا نیستن) با بهم ریختن سورس کد و خروجی کامپایلر باعث میشن بعد از دیکامپایل کردن (یا حتی حین دیکامپایل) ابزار های بررسی سورس کد و محققی که سورس رو بررسی میکنه به مشکل بخورن. چطوری؟ اینطوری:بخش مربوط به ساخت رکوئست برای ارسال به سرورهمونطور که میبینید، اسم خیلی چیز ها (فانکشن ها کلاس ها ...) به a و b و... تبدیل شده و اینطوری در شرایطی که شما با ده ها (یا صد ها) کلاس و متد مختلف که با هم ارتباط دارن کار میکنید، خودتون و ابزار های کمکی مثل آنالیزور کد، بعضی چیز هارو گم میکنید و وارد یک دنیای گیجی می شید.وقتی نسخه ۷.۳۱.۱ کافه بازار رو اولین بار با jadx دیکامپایل کردم و سورس رو دیدم، تقریبا مطمئن شدم این کار پیچیده خواهد بود...مواجهه با آشوب و ابهامهدف نهایی من فهمیدن نحوه ساخته شدن رکوئست های کلاینت برای نصب یک برنامه (دادن لینک دانلود) و کار کردن با جواب سرور بود، بنابراین اولین کاری که پس از گم شدن توی سورس کد و ناامیدی از استاتیک آنالیز (خوندن و بررسی کد) انجام دادم، رفتن سراغ داینامیک آنالیز (بررسی برنامه موقع اجرا) بود تا ارتباط کلاینت و سرور کافه بازار رو بررسی کنم. در حالت ساده ای که انتظارش رو داشتم، بعد از دور زدن ارتباط استاندارد https (که در واقع با نصب گواهی ساخته شده توسط خودم روی اندروید برای مهیا شدن امکان خوندن ارتباط ssl/tls به صورت رمزنگاری نشده بود) باید با چنین چیزی مواجه میشدم:{&quot;id&quot;:1,&quot;method&quot;:&quot;getAppDownloadInfo&quot;,&quot;params&quot;:[&quot;com.example.android&quot;,27]}یک رکوئست ساده json که خیلی شفاف خواسته اش رو بیان میکرد و جوابی رو از سرور میگرفت، اینطوری شاید حتی نیاز نبود سورس برنامه رو بررسی کنم، اما رکوئستی که من باهاش مواجه شدم اینجوری نبود...well...این مشخصا یک ssl pinning ساده نبود و من تقریبا هیچ تصوری نداشتم چه اتفاقی داره میفته. بعد از کمی تفکر این موارد روشن شد:۱. با نگاه به iv میشد فهمید p و iv مربوط به الگوریتم رمزنگاری AES هستن و p کلید هست، ولی اینجا دو تا p بود!۲. پارامتر method که خوشبختانه مشخص بود و متد API مورد نظر ما رو مشخص میکرد.۳. بعد از ده بیست بار تست این نوع رکوئست (و فکر کنم انواع دیگه رکوئست) id همیشه ۱ بود پس عملا مهم نبود.۴. با کمی حدس میشد فهمید enc_resp مخفف encrypted response بود، به معنی درخواست ریسپانس رمزنگاری شده از سرور.۵. با همون حدس non_enc_params هم پارامتر های رمزنگاری نشده رکوئست ما بود که عموما متادیتا مربوط به دستگاه کاربر بود.۶. پارامتر hash هم طبق حدس باید هش درخواست میبود برای اطمینان از دستکاری نشدن رکوئست.۷. پارامتر params در رکوئستی که من میخواستم خالی بود پس هیچ.۸. و نهایتا پارامتر معظم packed که مشخصا رمزنگاری شده بود و قادعتا حاوی جزئیات رکوئست...بعد از بار ها تلاش برای ساختن یک رکوئست AES شده با iv و p نمونه، موفقیتی حاصل نشد؛ چاره ای جز برگشت به استاتیک آنالیز اون جهنم نبود.غلبه بر آشوب و ابهامهمه سر نخ ها در همون عکس اول بود:عکس تکراریبعد از دقایقی دنبال بخشی از کد که وظیفه ساخت رکوئست json رو داره گشتن، به عکس بالا رسیدم. دنبال کردن مقادیری که اینجا در json قرار داده میشد میتونست نحوه ساختشون رو روشن کنه، اما این فقط به حرف ساده بود...در جستجوی نحوه رمزنگاریو نهایتا گم شدن:ها؟ (مسیر غلط)بعد از ساعت های بیخوابی مشخص بود در بخش packed با AES/CBC/PKCS5Padding طرف بودم و البته یک جایی هم با RSA/None/OAEPPADDING که این مورد رو ندیده بودم و حالا فهمیدم با چند مرحله رمزنگاری طرف هستم، اگر فقط یکی از پارامتر ها درست و با ترتیب مورد انتظار رمزنگاری نمیشد سرور جواب درستی نمیداد، و من هنوز دقیقا نمیدونستم بخش packed در متدی که میخوام قبل از انکریپت شدن، دقیقا چه شکلی هست...کار با Fridaبعد از بیست ساعت کار بدون وقفه، به این نتیجه رسیدم با وجود اینکه میدونم چه انواعی از رمزنگاری استفاده میشه اما ترتیب و پیلود های نهایی رو نمیتونم صرفا با خوندن کد در بیارم. حداقل برای من اینکار غیر ممکن بود، پس روش کارم رو کمی تغییر دادم. فریدا (frida) یک ابزار آنالیز داینامیک هست که قدرت فوق العاده ای به آنالیزور برای بررسی و دستکاری اپ موقع اجرا (run time) میده. با اجرای سرور فریدا روی اندروید و اتصالش به سیستم خودم میتونستم اسکریپت هایی رو در قالب جاوا اسکریپت (مار از پونه بدش میاد، در لونش سبز میشه) اجرا کنم که بهم اجازه نگاهی عمیق تر به روند اجرای برنامه رو میداد. یکی از کار های مهم این وسط، هوک (hook) کردن بعضی ابزار هایی بود که کافه بازار ازش استفاده میکرد و با اینکار من میتونستم ورودی و خروجی بعضی متد ها رو قبل از انجامشون بخونم و گاهی تغییر بدم. تا اون لحظه من هیچوقت جدی با فریدا کار نکرده بودم چون تا این حد به چالش کشیده نشده بودم، پس چند ساعتی (خیلی ساعت) رو هم درگیر یادگیری و نوشتن دست و پا شکسته یک اسکریپت فریدا شدم.اسکریپت فریدابه این روش من سعی داشتم مقادیری که در داخل کلاینت ساخته و بعد رمزنگاری میشن و خروجی اون هارو بخونم، نتایج امید بخشی حاصل شد:خروجی اسکریپت های اولیه فریدااین کار قبل از هر چیز به من کمک کرد تا ترتیب مراحل ساخته شدن و رمزنگاری اجزای رکوئست هارو بفهمم، اما باید متوجه میشدم رکوئست ها قبل از انکریپت (رمزنگاری) شدن چه شکلی هستن و کلید و iv ساخته شده چه تفاوت هایی با رکوئست نهایی کلاینت به سرور های کافه بازار دارن. بعد از ده ها آزمایش مختلف و هوک کردن انواع و اقسام اینترنال های کافه بازار و کال های رمزنگاری، اولین موفقیت اساسی حاصل شد، رکوئست خام و مقدار انکریپت نشده پارامتر packed:مقدار اصلی پارامتر packed برای رکوئست جزئیات اپبه همین روش مقدار اصلی پارامتر packed برای گرفتن لینک دانلود اپ (getAppDownloadInfo) رو هم گرفتم، اما هش sha1 این مقدار با هش رکوئست درست مطابقت نداشت، بعد از کمی هوک بیشتر و گشتن در سورس متوجه شدم کافه بازار در واقع مقدار پیلود اصلی رو هش نمیکنه، بلکه یک رشته خاص همراه با یک uuid ثابت میسازه و بعد هش میکنه!:{&quot;7cc78271-e338-4edc-849c-b105c5d51ba5&quot;:[&quot;getAppDownloadInfo&quot;,&quot;com.example.android&quot;,27]}حین بازی با فریدا و داغون کردن روند طبیعی برنامه در استفاده از ابزار های رمزنگاریش متوجه استفاده از RSA شدم، روی iv و p ها. پس دلیل تفاوت و کار نکردن p و iv بدست اومده من با خروجی نهایی در رکوئست هم مشخص شد. از طریق هوک کردن اپ پابلیک کی RSA رو هم بدست آوردم (که بعدتر مشخص شد به صورت serialize شده در resource های اپ وجود داشته و من کور بودم). نهایتا یک مسئله باقی مونده بود، چرا دو تا p و در واقع دو تا کلید AES وجود داشت؟ بررسی ها با فریدا نشون میداد یکی از کلید ها اصلا در رمزنگاری نقشی رو ایفا نمیکنه (p2)، پس من هم یک کلید استفاده نشده AES ساختم و به عنوان p2 همراه رکوئست نهایی فرستادم، و بعد از شصت هفتاد ساعت اولین پاسخ درست به رکوئست ساختگیم رو از سرور گرفتم! در بررسی های بعدی مشخص شد احتمالا p2 کلیدی بوده که سرور پاسخش رو باهاش انکریپت میکرده و به کلاینت میفرستاده...پاسخ کامل و درست سرور به رکوئست ساخته شدهنتیجتا کافه بازار از سیستم بسیار عجیب و غریب چند مرحله ای رمزنگاری خودساخته اینچنینی استفاده میکرد:ساخت یک آبجکت json و قرار دادن متد مورد نظر و پارامتر لازم (در اینجا package name اپ خواسته شده)ساخت یک iv و دو کلید AESانکریپت (رمزنگاری) خروجی مرحله ۱ با iv و کلید اول توسط الگوریتم AES/CBC/PKCS5Paddingانکریپت iv و دو کلید AES توسط public key کافه بازار (درون اپلیکیشن) با الگوریتم RSA/OAEPPADDING هش کردن پارامتر و متد مرحله ۱ در یک قالب خاص در کنار یک uuid ثابت با الگوریتم SHA1ساختن یک آبجکت json جدید و قرار دادن متد مورد نظر به همراه خروجی مرحله ۳ در پارامتر packed، قرار دادن سه خروجی مرحله ۴ شامل iv و دو کلید انکریپت شده، هش مرحله ۵ و اندکی (کمی بیشتر از اندکی) متادیتای رمزنگاری نشده.اسکریپت اولیه ساخت یک رکوئست دانلود اپبا مشخص شدن فرمول ساخت یک رکوئست سالم، این فرایند در یک اسکریپت که نسخه اولیش رو در همون لینک گیت هاب اول پست قرار دادم، اتوماتیک شد و کل اپ های قابل دسترس کافه بازار به ویروس توتال جهت اسکن ارسال شد (که به دلیل محدودیت api ویروس توتال و خالی بودن جیب من ماه ها طول کشید).سخن پایانیاین یکی از فوقالعاده ترین و سنگین ترین پروژه های من در اون زمان بود که بی اندازه باعث افزایش دانشم و کاهش غرورم شد. نتایج تحقیق در کنفرانس شبگرد ارائه شد که ظاهرا مورد اقبال قرار نگرفت به دلایلی...امیدوارم این پست براتون مفید واقع شده باشه، اگر سوالی بود در کامنت ها یا توییتر من مطرح کنید، ممنون که مطالعه کردید ;)نکاتاین مطلب به API قدیمی کافه بازار پرداخت که گرچه هنوز کار میکنه، اما API جدیدتر و ظاهرا بسیار ساده تری در حال استفاده هست.بعضی از تصاویر و سمپل های این پست مربوط به زمان انجام تحقیق و بعضی مربوط به زمان نگارش این پست هستن.مبهم سازی یا obfuscation که توسط ابزار هایی مثل proguard صورت میگیره لزوما برای مبهم سازی و سخت تر کردن مهندسی معکوس استفاده نمیشه و کاربرد بهینه سازی هم داره.هیچگونه تلاشی برای &quot;هک&quot; کافه بازار یا اخلال در عملکرد اون صورت نگرفت و این مطلب و تحقیق همونطور که واضحه، صرفا فرمول ارتباط کلاینت و سرور کافه بازار رو مورد نظر داشت.به طرز بسیار جالبی در طی انجام تحقیق و ارسال ده ها هزار فایل از سرور های کافه بازار به ویروس توتال، API کافه بازار متوجه ساختگی بودن این رکوئست ها (بر اساس متادیتا) نشد و خللی در روند اسکن صورت نگرفت!منابع برای مطالعه بیشترFrida: https://frida.re/docs/home/AES: https://en.wikipedia.org/wiki/Advanced_Encryption_StandardRSA: https://en.wikipedia.org/wiki/RSA_(cryptosystem)jadx: https://github.com/skylot/jadxAndroid obfuscation: https://developer.android.com/studio/build/shrink-codeJava Bytecode: https://en.wikipedia.org/wiki/Java_bytecode</description>
                <category>Mohsen Tahmasebi</category>
                <author>Mohsen Tahmasebi</author>
                <pubDate>Mon, 20 Sep 2021 06:49:47 +0430</pubDate>
            </item>
                    <item>
                <title>رقص با Crash ها: مقدمه ای بر Fuzzing و ورودی های نامعتبر در امنیت سایبری</title>
                <link>https://virgool.io/@moh53n/%D8%B1%D9%82%D8%B5-%D8%A8%D8%A7-crash-%D9%87%D8%A7-%D9%85%D9%82%D8%AF%D9%85%D9%87-%D8%A7%DB%8C-%D8%A8%D8%B1-fuzzing-%D9%88-%D9%88%D8%B1%D9%88%D8%AF%DB%8C-%D9%87%D8%A7%DB%8C-%D9%86%D8%A7%D9%85%D8%B9%D8%AA%D8%A8%D8%B1-%D8%AF%D8%B1-%D8%A7%D9%85%D9%86%DB%8C%D8%AA-%D8%B3%D8%A7%DB%8C%D8%A8%D8%B1%DB%8C-bcagqa7cbu70</link>
                <description>تصویری از فازر AFLاگر به یک برنامه کامپیوتری، یک ورودی نامعتبر بدیم چه اتفاقی میفته؟ در نگاه اول احتمالا با خودتون میگید خب، احتمالا ارور میده. ارور! چه کلمه زیبایی، اما قبل از ادامه بهتره کمی تعاریفمون رو یکی کنیم. ارور یعنی خطا، و خطا ممکنه در یک بخشی از عملکرد برنامه به وجود بیاد (به دلایل مختلف)، پس برنامه ارور نمیده بلکه به ارور برمیخوره و حتی ممکنه متوجه این ارور هم نشه! اینجا وقتی میگیم برنامه ای ارور (Error) میده، منظورمون این هست برنامه یک اشکال در روند اجرا (مثلا یک ورودی نامعتبر) رو شناسایی کرده، به عنوان مثال قرار بوده شما شماره موبایلتون رو وارد کنید (که طبیعتا عدد هست) اما حروف انگلیسی وارد کردید که خب طبعا نامعتبر خواهد بود. اینجا برنامه &quot;اگر&quot; متوجه این خطا بشه قاعدتا به یک ارور خورده و مرحله بعدی هندل کردن این ارور (Error handling) هست، واکنشی که این برنامه باید در مواجهه با این ارور داشته باشه. این واکنش میتونه نمایش یک پیام خطا (ارور دادن) یا خروج از برنامه یا خیلی چیز های دیگه باشه. اما اگر برنامه متوجه این خطا نشه چی؟ خب طبعا برنامه وارد مرحله ارور هندلینگ نمیشه و شما پیام خطایی از برنامه دریافت نمیکنید. اما قسمت خطرناک و هیجان انگیز ماجرا اینجا شروع میشه. اگر برنامه متوجه خطا نشه و تلاش نکنه این خطا رو درست کنه یا جلوی ادامه برنامه رو بگیره، این ورودی های نامعتبر در روند اجرای برنامه قرار گرفتن و حالا ممکنه با اشکال در عملکرد برنامه مواجه بشیم (بخش های مختلف برنامه برای مواجهه با چنین ورودی طراحی نشدن و آمادگی ندارن، به عبارتی Unexpected Value)، چراکه این ورودی ها در حال دست به دست شدن در بخش های مختلف برنامه و پردازش شدن هستن، و چون در مثال ما &quot;قرار بوده&quot; این ورودی عدد باشه برنامه هم به عنوان عدد با اون ها برخورد میکنه (اگر تعجب کردید که این موضوع چطور ممکنه، در زبان های low level امکانش وجود داره اما در زبان های high level مثل پایتون این موارد توسط خود اینترپرتر بررسی و هندل میشن). حالا این &quot;اشکال در عملکرد برنامه&quot; (program malfunction) شکل های مختلفی داره. شاید یک جایی در روند اجرا، بخشی از برنامه بخواد از این عدد (که حالا عدد نیست) استفاده کنه و روی اون عملیاتی رو انجام بده و خب، یا به یک خروجی کاملا غلط میرسه (چون با حروف مثل عدد برخورد کرده) یا برنامه کلا به مشکل بر میخوره و به اصطلاح &quot;کرش&quot; (crash) میکنه.حالا تازه رسیدیم به کرش کردن یک برنامه. وقتی برنامه ای دچار یک خطای بحرانی میشه به طوری که دیگه قابلیت ادامه اجرا رو نداره، کرش میکنه. کرش کردن توسط خود برنامه انجام نمیشه بلکه روند اجرا به نحوی دچار مشکل شده که یا کل برنامه به اصطلاح گیر میکنه و دیگه کار نمیکنه، یا سیستم عامل کلا جلوی اجرای اون رو میگیره. این اتفاقیه که اگر یک برنامه نتونه ارور های مهمش رو هندل کنه میفته. ممکنه یک ارور ساده توسط برنامه شناسایی و هندل نشه و نهایتا به طور موقت در یکی از بخش های غیرضروری برنامه مشکل ایجاد کنه، مثلا یک خروجی نامعتبر غیر مهم، اما ممکنه یک ارور ساده و هندل نشده بعد از طی شدن مراحل مختلف پردازش در برنامه، یک جایی یک چیزی مثل مدیریت بخش های مختلف حافظه (Memory management) رو خراب کنه و اطلاعاتی که برنامه باهاشون کار میکنه رو بهم بریزه یا باعث اتفاقات بحرانی دیگه ای بشه که نهایتا منجر به از کار افتادن کامل برنامه و همون کرش کردن میشه.حداقل اتفاقی که اینجا میفته، از کار افتادن برنامه هست. این موضوع وقتی مهم میشه که خب، مثلا سیستم عامل شما هم یک برنامه کامپیوتری هست و ورودی های مختلفی رو پردازش میکنه (مثل پکت ها و اطلاعاتی که از شبکه دریافت میشن) و مهاجم با وجود یک باگ در بخش شبکه سیستم عامل شما، میتونه با ارسال یک سری اطلاعات خاص که منجر به کرش کردن سیستم عامل شما بشه، کل سرور یا کامپیوتر شما رو از کار بندازه و مجبورتون کنه سیستم رو ریست کنید که اصلا چیز خوبی برای سرور ها و سازمان ها نیست. این موضوع که به عنوان حمله DoS یا Denial of Service (حملات منع خدمات) شناخته میشه به طیف وسیعی از برنامه ها (سرور های ایمیل و وب و سیستم عامل ها و...) و شرکت ها صدمه زده و میزنه. اما این بدترین اتفاقی نیست که ممکنه بیفته و در شرایط و آسیب پذیری های خاص مهاجم میتونه با دادن یک ورودی خاص به برنامه شما، بدون ایجاد کرش و از کار افتادن برنامه (چون برنامه این ورودی نامعتبر رو شناسایی نکرده و جلوی اجرای برنامه رو نگرفته و اون ورودی خاص جوری طراحی شده که باعث خطای بحرانی و نهایتا کرش در برنامه نشه)، کد و اعمال مخرب خودش رو روی کامپیوتر قربانی اجرا کنه (RCE: Remote Code Execution یا ACE: Arbitrary code execution) که بحثی است برای بعدا...به عنوان آخرین بخش مقدمه (بله تمام این ها مقدمه بود) باید گفت که معنی &quot;ورودی نامعتبر&quot; پیچیده تر از مثال ما درباره حروف و اعداد هست، ورودی نامعتبر یا به عبارتی ورودی خاص ما (چون از اینجا به بعد اصطلاح ورودی نامعتبر آنچنان درست نیست و اصولا ورودی معتبره اما برنامه رفتار سالمی با ورودی نداره) ممکنه در ظاهر و طبق استاندارد های برنامه کاملا معتبر باشه اما جایی در برنامه، به نحوی با این ورودی برخورد بشه که نباید. مثلا قراره در بخشی از برنامه هرجا به عبارت &quot;گلابی&quot; رسیدیم انتقال اطلاعات در حافظه رو متوقف کنیم. &quot;گلابی&quot; عبارتی هست که توسط خود برنامه و در درون برنامه برای تعیین مرز و انتهای اطلاعات استفاده میشه پس من باید در ابتدای گرفتن ورودی در برنامه مطمئن باشم که کاربر در ورودیش از &quot;گلابی&quot; استفاده نکرده چون باعث تداخل خواهد شد و عملا برنامه باید با این ورودی به عنوان یک ورودی &quot;نامعتبر&quot; برخورد کنه یا استفاده از &quot;گلابی&quot; رو کنار بذاره و یک روش درست و استاندارد پیاده سازی کنه.فازینگ و فازر ها: چرا؟هنوز اینجایید؟ بابت اتمام مطالعه مقدمه تبریک میگم. با این مقدمه، تعریف فازینگ (Fuzzing) بسیار راحت خواهد بود: &quot;دادن حجم زیادی از ورودی های &quot;نیمه تصادفی&quot; به برنامه برای پیدا کردن اشکالات و آسیب پذیری های احتمالی&quot;. خب چرا به جاش نمیریم سورس کد رو بررسی کنیم؟ چون در یک برنامه بزرگ با چند میلیون خط کد و هزاران ماژول و بخش که بر اساس ورودی، هربار بخش های اجرا شده ممکنه متفاوت باشن، احتمالا اکثر چیز ها از زیر دست شما در خواهد رفت. اما خب چرا از استاتیک آنالیزر ها ابزار های بررسی سورس کد استفاده نمیکنیم؟ در واقع اینکار رو میکنیم و خوب هم جواب داده! طی چند سال اخیر با پیشرفت ابزار های بررسی سورس و روند برنامه (Program Flow) خیلی از باگ ها و آسیب پذیری های اینچنینی شناسایی و برطرف شدن، اما نه همشون. پیچیدگی بعضی برنامه ها و سیستم های کامپیوتری و تنوع دلایل و Root Cause های این باگ ها به قدری زیاده که خیلی اوقات این نوع ابزار ها نمیتونن چنین باگ هایی رو کشف کنن. نتیجتا تازه به بحث زیبای فازینگ میرسیم.قبل از هر چیز ما در امنیت وب هم چیزی تحت عنوان Web Fuzzing یا API Fuzzing رو داریم که باز هم حکایت همین ورودی های نیمه تصادفی هست اما تفاوت های کلیدی داره، به همین جهت ما اینجا صرفا به فازینگ برنامه های کامپیوتری میپردازیم. در فازینگ ما به صورت تصادفی یا نیمه تصادقی ورودی های مختلفی رو به برنامه (در اشکال مختلف) میدیم و منتظر میشینیم تا امیدوارانه برنامه دچار رفتار غیرعادی و بحرانی (مثل کرش کردن) بشه. وقتی برنامه دچار این رفتار شد، ما میفهمیم که یک جای کار مشکل داره و به بررسی های بیشتر روی ورودی داده شده و خروجی برنامه و خود برنامه میپردازیم تا دلیل ریشه ای (Root Cause) این اتفاق و ترجیحا یک روش سوءاستفاده ازش رو پیدا کنیم. اما فرایند فازینگ به همین راحتی ها نیست. چالش های مهم و اساسی در فاز کردن برنامه ها وجود داره. مثلا خیلی از برنامه ها چند ورودی میگیرن یا به شیوه های خاص ورودی میگیرن و از اونجایی که ما داریم این فرایند رو اتوماتیک میکنیم، نیاز داریم راهکاری داشته باشیم تا کل فرایند دادن ورودی، اجرا و بررسی عملکرد برنامه اتوماتیک انجام بشه. یا یک مثال دیگه، ما نیاز داریم برنامه سریعا ورودی ما رو بگیره، پردازش کنه و کارش رو تموم کنه و خارج بشه. در نتیجه این دست موارد که حاصل ساختار مختلف برنامه های مختلف هستن، شما نمیتونید هر برنامه ای رو به یک شکل فاز کنید و عموما نیاز دارید بخش هایی از برنامه یا فازر (Fuzzer، ابزاری که باهاش فازینگ انجام میشه) رو تغییر بدید تا مناسب هم بشن.انواعبر اساس آگاهی فازراما پیچیدگی های فازینگ به همینجا ختم نمیشه (و در واقع در ابعاد فازر ها، تازه شروع میشه). انواع مختلفی از فازر وجود داره. این نوع بندی بر اساس پارامتر های مختلفی انجام میشه. از یک نگاه میشه فازر ها رو بر اساس &quot;آگاهی&quot; اون ها از ساختار و ساختمان برنامه دسته بندی کرد:نوع white-box از فازر ها با تلاش برای کسب آگاهی عمیق از ساختار درونی برنامه، به صورت سازمان یافته (با ساختن ورودی های حساب شده تر) تلاش میکنن بخش های مختلف برنامه رو تست کنن و به &quot;Code Coverage&quot; بیشتری برسن. &quot;Code Coverage&quot; در شکل ساده یعنی شما چند درصد از کل برنامه رو با تست هاتون پوشش دادید (جلوتر بیشتر بهش خواهیم پرداخت). همونطور که قبلا گفته شد، یک برنامه بخش های مختلفی داره که ممکنه بر اساس ورودی که بهش داده میشه، یک تعدادی از این بخش های اجرا بشن و یک تعدادی نه. حالا اگر ورودی تغییر کنه ممکنه بخش های اجرا شده هم متفاوت باشن و اینطوری شما با تست های مختلف میتونید بخش های مختلف رو با ورودی های مختلف تست کنید. این نوع فازر ها سرعت به شدت کمتری دارن و بیشتر متکی بر ورودی های حساب شده تر هستن تا ایجاد حجم زیادی از ورودی های نیمه تصادفی.از طرفی black-box هارو داریم که بدون اطلاع از ساختمان درونی برنامه و صرفا با تعامل (ورودی دادن و خروجی گرفتن) با برنامه هدف، حجم انبوهی از ورودی های تقریبا یا کاملا تصادفی رو به برنامه میدن. این فازر ها سرعت بالایی دارن.و نهایتا gray-box ها که با اطلاعات و آگاهی محدود تر نسبت به white-box ها، تلاش در تست های هدفمند تر و رسیدن به &quot;Code Coverage&quot; بهتری دارن. این نوع از فازر ها عملا ترکیب دو نوع قبلی محسوب میشن و تلاش در داشتن سرعت black-box فازر ها در کنار دقت white-box فازر ها دارن. در این نوع دسته بندی فازر ها دو نکته مهم وجود داره. اول اینکه برای gray-box و white-box فازر ها، روش های مختلفی برای &quot;آگاهی از برنامه&quot; ارائه شده، مثلا پچ کردن و اضافه کردن بخش هایی به برنامه که به فازر اطلاع میده فلان بخش از برنامه الان فعال شده و اینطوری فازر میفهمه باعث اجرای بخش جدیدی از کد شده و به این صورت &quot;Code Coverage&quot; خودش رو بالا میبره.نکته دوم، پیچیدگی عملیات تصمیم گیری فازر های مختلف (به خصوص برای بحث Code Coverage) هست. بعضی از فازر ها از الگوریتم های پیچیده و یادگیری ماشین برای بالا بردن &quot;Code Coverage&quot; استفاده میکنن. اون ها به مرور &quot;یاد میگیرن&quot; و &quot;حدس میزنن&quot; چطور بخش های مختلف برنامه رو تست کنن و بهشون دسترسی پیدا کنن. به عنوان مثال برنامه شما با استفاده از فلگ های مختلف، کار های مختلفی انجام میده. فلگ s دو ورودی از کاربر میگیره و دومی رو از اولی کم میکنه (بخش تفریق برنامه) و فلگ a دو ورودی میگیره و اون هارو با هم جمع میکنه (بخش جمع برنامه).test -s 1234 222test -a 223 1732نتیجتا با توجه به فلگ داده شده به برنامه، یک بخش متفاوت از اون اجرا میشه و اگر فازر در ابتدا هیچ اطلاعی از این جریان نداشته باشه (در بخش بعدی خواهیم گفت چطور میتونن بدونن)، این احتمال وجود داره که بعد از یک تعداد زیادی تست و با توجه به الگوریتم ها، فازر این موضوع رو کشف کنه و شروع به تست ورودی های مختلف روی هر یک از این دو بخش برنامه کنه. (این اتفاق واقعا در خیلی از فازر های gray-box میفته. فازر تصادفا فلگ a رو به برنامه میده و کد اضافه شده فازر به برنامه، به فازر اطلاع میده یک بخش جدید اجرا شده، نتیجتا فازر بعد از یک مدت و به روش های مختلف حدس میزنه این فلگ a یک ربطی با این بخش کشف شده جدید داره و شروع به بازی با این بخش جدید میکنه...)حتی در نوع black-box فازر ها (که اطلاعی از ساختار درونی و بخش های مختلف ندارن) هم راهکار های آکادمیکی ارائه شده که فازر بدون اینکه از درون برنامه خبر دار بشه به بخش جدیدی دست پیدا کرده، با استفاده از الگوریتم های یادگیری ماشین این موضوع رو حدس میزنه.بر اساس نحوه ساخت ورودی هااما از یک دید دیگه هم دسته بندی فازر ها صورت میگیره. اینکه چقدر فازر از نوع و ساختار ورودی که میسازه آگاهی داره و اون رو آگاهانه میسازه:فازر های smart که به روش های مختلف (model-based, grammar-based, protocol-based) ابتدا توسط کاربر به مقداری از آگاهی درباره ساختار ورودی ها میرسن. مثلا در مثال قبلیمون درباره فلگ های s و a دیگه نیازی نبود خود فازر اون هارو کشف کنه و ما از ابتدا فلگ هارو بهش معرفی میکردیم و بعد میگفتیم کجای ورودیمون (جای دو عدد ورودی) اطلاعات ساخته شده رو وارد کنه و به برنامه بده.فازر های dumb که نیازی به این اطلاعات درباره ورودی ها ندارن و خودشون با استفاده از seed داده شده شروع به ساختن ورودی میکنن.سخن پایانیسال هاست که عده ای فکر میکنن با به وجود اومدن راهکار های آنالیز کد و باقی راهکار ها، فازینگ و فازر ها به زودی به تاریخ خواهند پیوست، اما با پیشرفت هر روزه فازر ها به خصوص در بحث به کارگیری الگورتیم های یادگیری ماشین، این موضوع ثابت شده که این روش نابود کننده اعصاب و دوست داشتنی با به کارگیری شخصی سازی های متفاوت و نوآوری هنوز هم میتونه به شدت مفید باشه.امیدوارم از این پست استفاده کرده باشید، اگر نظر یا اصلاحی به این پست دارید همینجا کامنت کنید یا به توییتر من (@moh53n) پیام بدید. موفق باشید!</description>
                <category>Mohsen Tahmasebi</category>
                <author>Mohsen Tahmasebi</author>
                <pubDate>Sun, 22 Aug 2021 00:59:18 +0430</pubDate>
            </item>
                    <item>
                <title>یک سال زندگی نصفه و نیمه در دانشگاه</title>
                <link>https://virgool.io/arraymag/%DB%8C%DA%A9-%D8%B3%D8%A7%D9%84-%D8%B2%D9%86%D8%AF%DA%AF%DB%8C-%D9%86%D8%B5%D9%81%D9%87-%D9%88-%D9%86%DB%8C%D9%85%D9%87-%D8%AF%D8%B1-%D8%AF%D8%A7%D9%86%D8%B4%DA%AF%D8%A7%D9%87-zvwu19noert8</link>
                <description>قبول چهره واقعی دانشگاه برای من سخت بود، آنقدر سخت که هفته اول ترم یک، اقدام به درخواست انصراف از تحصیل کردم. انتظارات غلط، ۱۲ سال تحصیل اجباری در محیطی ملال‌آور و روبرویی ناگهانی من با واقعیت دانشگاه، این تصور را بر من قبولانده بود که دانشگاه نیز چهار سال ادامه بر ۱۲ سال لعنتی پیشین است.مرکز مشاوره دانشگاه شیراز، به حق یکی از فعال‌ترین مراکز مشاوره دانشگاهی در کشور است. بحران تغییر محیط و شوک حاصله از آن برای یک دانشجوی ترم اولی، موضوعیست شایع اما در سطوح مختلف. من به دلایل مختلف برای کنترل فشار وارده از این شوک تغییر محیط، نیاز به کمک و حمایت داشتم؛ حمایتی که با کمک‌های این مرکز در زمینه مشاوره و تسهیل شرایط درسی باعث ماندنم در دانشگاه شد.خوب، بد، شاید زشت و شاید زیبا!ماه های اول تحصیل در دانشگاه مقیاس خوبی برای توصیف و درک آن نبوده و نیست. گذر از انواع شوک‌ها، روبرویی با آدم‌های جدید و از همه مهم‌تر، تجربه محیطی بسیار متفاوت از گذشته چیزی نیست که هرکسی به راحتی از پس آن بربیاید، اما پذیرفتنش شتری‌ست که در خانه همه می‌خوابد و کنار آمدن با محیط دانشگاه منوط به آن است. دانشگاه هم خوب و هم بد است به دلایل بسیار و مشخص، اما زشت یا زیبا بودن آن مستقیما به خود فرد برمی‌گردد. خنده‌ها و گریه‌های دانشجویی و تماشای منظره &quot;مرحوم&quot; بام الهیات زیبایی هایی است که عمیقا خاص دوره دانشگاه است و تکرار ناپذیر. فارغ از کلیت مشترک زندگی دانشجویی در هرجای ایران، هر دانشگاه رنگ و بوی خاص خودش را دارد و دانشگاه شیراز پر است از جاذبه هایی که آماده‌اند در آخرین لحظات منجر به فروپاشی روانی آرامتان کنند.حال این جاذبه پاییز های خیابان ارم باشد یا منظره زندگی دانشجویی در پردیس ارم، جلوه های کم‌نظیر و خاصی هستند که بعید می‌دانم در هر دانشگاهی پیدا شوند و این‌ها به مدد زیبایی های فریبنده خود دانشگاه و البته شهر زیبای شیرازند.اما زشتی مثل هرجای دیگری در این دنیا پیش چشمانتان قرار دارد و تصمیم با شماست خود را در درس یا حواشی زندگی دانشجویی غرق کنید و یا زشتی ها را به دیدتان راه دهید. برای من به عنوان یک جامعه‌گریز محروم از زیبایی های دنیای دانشجویی که در رویا آزمایشگاه شبکه دانشگاه تهران را می‌دید، اتاق شبکه دانشگاه شیراز یک شوخی بسیار زشت بود. در بند بالا خواندید مرحوم بام الهیات و احتمالا اگر ورودی ۹۹ یا ۹۸ باشید، منظورم را دقیق نفهمیده‌اید. بام الهیات با منظره فوق‌العاده ای که هنوز هم نصفه و نیمه قابل دیدن است، از نقاط پرطرفدار دانشگاه بود که بدون ارائه هیچ توضیح دقیقی توسط مسئولین دانشگاه بسته شد و بعدها غیرمستقیم گفتند می‌خواستند جلوی فساد دانشجویی را بگیرند! عجب…این خود از زشتی‌های دانشگاه است که &quot;آن ها&quot; هر تصمیمی بخواهند می‌گیرند و &quot;ما&quot; سکوت می‌کنیم. تصمیم دیدن اطرافتان با شماست اما من که به تعبیر بزرگی در دانشگاه &quot;تازه وارد کله داغ&quot; اینجا بودم، از دیدن سکوت مرگبار دوستان و باقی دانشجویان در هزار موضوع و مسئله درد کشیده و می‌کشم. انتخاب‌هایتان برای زشتی ها بسیار است و احتمالا اگر خوابگاهی باشید می‌توان از در و دیوارش زشتی استخراج کرد اما همانطور که گفتم، انتخاب اینکه زشتی های قابل تقکر را برگزینید یا زیبایی های فریبنده زندگی دانشجویی، با شماست؛ شاید هم گوش دادن یه یک دانشجوی جامعه گریز کار درستی نباشد و می‌توان دانشگاه را مثل دنیا همانطور که هست، با زشتی ها و زیبایی هایش دید که گمان می‌کنم همین یک دست‌آورد از دوره دانشجویی کافیست…درس های گران‌مایه و دردناکبحث این بود که برای ورودی‌های جدید چه بگوییم خوب است؟ شنیدن پیشنهاد از دانشجویی که قرار است تا ترم ۸ ریاضی ۱ را پاس نکند در دانشگاه چیز عجیبی نیست (چراکه ترم هشت گرچه رکوردی است برای خود، اما سیستم دانشجویی عمیقا بر اساس درس نمی‌چرخد) اما شنیدنش از کسی که یک دهم زمان تحصیلی را هم سر کلاس ها و در محیط دانشگاه نبوده، عجیب بود. صحبتم ساده بود و گویا، دانشگاه محل تجربه است. اینکه &quot;ترم صفری&quot; عموما توهین و تحقیر نیست دردی از من دوا نمی‌کرد و بعد از دو سه بار دعوا و درگیری به همان نتیجه رسیدم. پیچیدگی سیستم زندگی دانشجویی برای نیمه دانشجویی مثل من، به قدری جذاب است که فکر انصراف از تحصیل دوباره به سرم نزند.زیباییش آنجاست که از خواب و خوراکتان تا روابط اجتماعی و نوع عطر و شکل عینکتان را درگیر خود می‌کند و عملا این دوره ای است که تقریبا &quot;همه چیز&quot; زندگی شما به یک نهاد واحد متصل می‌شود. اینجاست که به ورودی‌های جدید توصیه می‌کنم رفتار و ظاهر هم‌کلاسی های جدید خود را در روز های اول به خاطر بسپارید و هر از چند مدت، تغییرشان را بسنجید. این همان میزان تغییر اعجاب آوری است که هرکسی تحت تاثیر محیط دانشگاه دچارش می‌شود و معمولا خود او متوجهش نیست. شما هم همانقدر تغییر کرده‌اید که دوستتان دچار تغییر شده. تغییری که امیدوارانه خود به آن جهت می‌دهید و امیدوارانه تر، در جهت مثبت خواهد بود. آزادی عمل فضای دانشگاه این امکان را می‌دهد که هم‌دانشگاهی‌تان به صمیمی‌ترین دوستتان در کل زندگی و یا به طرف رابطه عاطفی‌تان تبدیل شود. آدم‌ها مثل گزینه های یک منوی باز روبروی شما قرار می‌گیرند و انتخاب با شماست در چه جهتی برای نزدیکی یا تاثیرپذیری از آن‌ها تلاش کنید، تلاش‌هایی که به طور تضمین شده قرار است درس هایی بسیار ارزشمند اما گاهی دردناک به شما بدهند.در علوم کامپیوتر چیزی داریم به نام &quot;جعبه شن&quot; یا سندباکس1، محیطی آزمایشی و تحت کنترل که قرار است گند های بسیاری در آن بزنید و موارد مختلفی را تست کنید تا پیش از مواجه شدن با محیط اصلی و واقعی، آمادگی داشته باشید. دانشگاه از جهات بسیاری شبیه همین سندباکس است (گرچه این اخطار را لازم می‌دانم که بعضی اشتباهات و عواقب اعمال در آن، اصلا شباهتی به کنترل شدن و گذرا بودن ندارند). خاص بودن این محیط همانطور که پیش‌تر گفتم در آن است که عملا همه چیز در اختیارتان می‌گذارد، از بستری برای روابط عاطفی تا سکوی پرتابی برای پیشرفت علمی و البته، روابط پیشرفته اجتماعی. به همین جهت غنیمت شمردن این فرصت برای بلوغ هرچه بیشتر به نوعی ضروری است.از پردیس ارم تا مهندسی ۲می‌گویند قرار است دانشکده را به ساختمانی در پردیس ارم منتقل کنند وعمیقا امیدوارم این اتفاق نیفتد. گاهی تنهایی قدم زدن های بین ارم تا مهندسی آن هم در پاییز رنگارنگ شیراز، فرصت فکر کردن های ضروری به آدم می‌دهد. آدم ها به رنگارنگی و تفاوت برگ های درختان خیابان ارم متفاوتند. برای من که با هزار بحران از پیش داشته و صد بحران نوساخته وارد دانشگاه شدم، چاره‌ای جز نگاه کردن به محیط جدید زندگی‌ام و آدم های اطرافم نبود. درس‌ها و سخت‌گیری های دانشگاه شیراز به کنار، شوق جوانانه آدم‌های اطرافم و رویداد های رنگارنگی که هر کدام به اندازه یک کتاب، داستان پشت خود دارند حداقل تاکنون به اندازه کافی سرگرم‌کننده بوده اند تا دانشگاه و آدم هایش هنوز هم برایم جذاب باشند.از یک سال تحصیل در دانشگاه شیراز شاید تنها چیزی که آموختم، فرار نکردن بود. شاید افتادن با نمره صفر و نگاه‌های عجیب دیگران به این دانشجوی اجتماع‌گریز سخت بود، اما این مخلوط عجیب از همه چیز بالاخره دو سه دلیل برای ماندن و تجربه کردن به شما می‌دهد، دو سه دلیلی که خواه ناخواه ده درس زندگی به شما خواهد داد...1	Sandbox</description>
                <category>Mohsen Tahmasebi</category>
                <author>Mohsen Tahmasebi</author>
                <pubDate>Thu, 27 May 2021 12:23:48 +0430</pubDate>
            </item>
                    <item>
                <title>بازگشت به کافه بازار: بررسی اجمالی امنیت پلتفرم پس از چند ماه</title>
                <link>https://virgool.io/@moh53n/%D8%A8%D8%A7%D8%B2%DA%AF%D8%B4%D8%AA-%D8%A8%D9%87-%DA%A9%D8%A7%D9%81%D9%87-%D8%A8%D8%A7%D8%B2%D8%A7%D8%B1-%D8%A8%D8%B1%D8%B1%D8%B3%DB%8C-%D8%A7%D8%AC%D9%85%D8%A7%D9%84%DB%8C-%D8%A7%D9%85%D9%86%DB%8C%D8%AA-%D9%BE%D9%84%D8%AA%D9%81%D8%B1%D9%85-%D9%BE%D8%B3-%D8%A7%D8%B2-%DA%86%D9%86%D8%AF-%D9%85%D8%A7%D9%87-glk1kxnyugjj</link>
                <description>در کنفرانس شبگرد ۱ با همکاری دوست عزیزم جواد دادگر وضعیت اپ های موجود در کافه بازار رو بررسی و تحلیل کردیم، به درخواست بسیاری از عزیزان و همچنین کنجکاوی خودمون برای دیدن تغییرات ایجاد شده در کافه بازار، بعد از چند ماه مجددا این پلتفرم رو با شیوه ای جدید اسکن کردم. در این پست قراره نتایج اسکن دوم کافه بازار رو بررسی کنیم.کافه بازار چیست؟احتمال اینکه در ایران باشید و با کافه بازار آشنایی نداشته باشید خیلی کمه اما خیلی خلاصه، کافه بازار بزرگترین مارکت اندرویدی ایران هست که به دلیل تحریم های گوگل پلی (مارکت اصلی گوگل) برای ایرانی ها، در سال های اخیر جایگاه مهمی برای خودش دست و پا کرده و اکوسیستمی رو برای خودش تشکیل داده. از این جهت برای ما به عنوان متخصصین سایبری، پایش امنیت این پلتفرم بسیار جالب و مهم هست.اسکن اولدر اسکن اولیه ما که در سال ۲۰۱۹-۲۰۲۰ انجام شد و نتایجش رو اینجا میتونید بخونید، آمار عجیب و غریبی حاصل شد که حدود یک چهارم اپ های حاضر در این پلتفرم رو دارای پنج نتیجه مثبت اسکن و بالاتر نشون می‌داد. (هر نتیجه مثبت به معنی شناسایی اون اپ به عنوان یک برنامه مخرب توسط یکی از آنتی ویروس های معتبر دنیاست)اسکن دومیکی از مهم‌ترین مشکلات اسکن اول، زمان طولانی (چندین ماه) بود که در اسکن دوم مرتفع شد و در نوامبر ۲۰۲۰ طی دو مرحله در مدت زمان بسیار کوتاه تری ۹۱۸۷۸ اپ از ۱۵۷۰۷۰ اپ موجود در کافه بازار اسکن شدن. اپ های اسکن شده عموما اپ های قدیمی تر و اپ هایی هستن که در تحلیل قبلی ما مورد بررسی قرار گرفتن. به عنوان تذکر و شفاف سازی، دلیل کمتر شدن اپ های مورد بررسی نسبت به تعداد کل اپ ها، استفاده کافه بازار از یک API جدید و بسیار تمیز تر و راحت تر هست که به دلایل نامعلوم و ایشالا مفید، اپ های جدید منتشر شده در کافه بازار از طریق API قدیمی (که مورد استفاده ما بود) قابل دسترس نیستن و طبیعتا مطالعه و توسعه ابزار جدید برای API جدید کافه بازار از حوصله من برای این نگاه کلی خارج بود.نتایج تست اول و دوم (تعداد اپ به تعداد نتیجه مثبت اسکن)
با یک نگاه کلی میشه متوجه پیشرفت کافه بازار در پایین آوردن تعداد اپ های مشکوک خودش شد که جای تقدیر داره، اما همچنان حدود ۱۶۵۰۷ اپ یعنی حدود ۱۸ درصد اپ های اسکن شده، بالای ۵ نتیجه مثبت دارن (از ۲۳ درصد به ۱۸ درصد کاهش پیدا کرده یعنی حدود ۵ درصد بهبود) که خبر خوبی برای کاربران نیست. این موضوع زمانی حاد تر میشه که ۹۱۸۷۸ اپی که ما اسکن کردیم اپ های عموما قدیمی کافه بازار هستن و اپ های جدیدتر (بعد از بررسی اول ما) رو شامل نمیشن. مجددا برای من این سوال به وجود میاد که چرا وقتی من با دسترسی حداقلی و امکانات فوق محدود، امکان شناسایی این اپ هارو دارم، کافه بازار نسبت به پالایش این اپ ها اقدام نمیکنه؟ دقت داشته باشید امکان بررسی و اسکن اپ ها از سمت خود پلتفرم بسیار بهتر و راحت تر هست. (مثلا یک multiscan ساده هنگام ثبت اپ از طرف توسعه دهنده یا بررسی های دوره ای)با وجود این نتایج و بهبود قابل توجه بین &quot;اپ های قدیمی&quot; کافه بازار، نیاز به یک بررسی جامع تر که کل اپ های قابل دسترسی (شامل قدیمی و جدید) مورد اسکن قرار بگیرن به شدت حس میشه چرا که این میزان بهبود باید در سطح کل پلتفرم مورد بررسی قرار بگیره تا بشه به یک ارزیابی مناسب از عملکرد ضد بدافزاری کافه بازار رسید.نهایتا واضح هست که کافه بازار در تلاش برای سر و سامان دادن به درصد بدافزار های پلتفرم خودش هست و این موضوع جای انکار نداره، همچنین در بررسی اول و دوم هیچ بدافزار پیشرفته دولتی که به طور سازمان یافته به کنترل و سرقت اطلاعات اقدام کنه پیدا نشد؛ عموم بدافزار های شناسایی شده همچنان Adware ها و تبلیغ افزار های مخربی هستن که اقدام به تبلیغات غیر متعارف و خارج از پالیسی کافه بازار و عرف میکنن. لازمه روشن کنم این دسته از اپ ها بر خلاف تصور بسیاری یک نوع بدافزار محسوب میشن و صرفا در دسته low risk تری از بدافزار ها قرار میگیرن.ابزار و اطلاعات خام پروژهچند وقت پیش من ابزاری که برای دریافت اپ ها و اسکنشون از کافه بازار نوشته بودم رو در گیت هابم منتشر کردم (فعلا به طور ناقص) و قراره به زودی اسکریپت های اصلی به همراه داده های خام این دو تحقیق همونجا منتشر شن. لازم به ذکره برای علاقه مندان به امنیت و مهندسی معکوس، مطالعه این اسکریپت و روش ارتباطی کافه بازار در API قدیمی اون ها که در این تحقیق مورد استفاده قرار گرفت میتونه جالب و مفید باشه.</description>
                <category>Mohsen Tahmasebi</category>
                <author>Mohsen Tahmasebi</author>
                <pubDate>Sat, 01 May 2021 21:13:29 +0430</pubDate>
            </item>
                    <item>
                <title>بررسی امنیت مارکت اندرویدی کافه بازار</title>
                <link>https://virgool.io/@moh53n/%D8%A8%D8%B1%D8%B1%D8%B3%DB%8C-%D8%A7%D9%85%D9%86%DB%8C%D8%AA-%D9%85%D8%A7%D8%B1%DA%A9%D8%AA-%D8%A7%D9%86%D8%AF%D8%B1%D9%88%DB%8C%D8%AF%DB%8C-%DA%A9%D8%A7%D9%81%D9%87-%D8%A8%D8%A7%D8%B2%D8%A7%D8%B1-z2hwghtzo2uo</link>
                <description>محسن طهماسبی، جواد دادگرمقدمهاندروید یکی از پر استفاده ترین سیستم عامل‌های تلفن های همراه است و در ایران، این موضوع حتی نمود بیشتری دارد. این موضوع و از طرف دیگر عدم وجود بررسی های مستمر و نبود فضای درست توسعه اپلیکیشن های اندرویدی، ایران سالهاست که رتبه اول آلودگی اپلیکیشن های اندرویدی در جهان را دارا می باشد. در ایران این آلودگی علاوه بر انتشار بدافزارها در بسترهای غیررسمی، در مارکت های اندرویدی ایرانی مانند کافه بازار نیز دیده می شود. در این تحقیق سعی کرده ایم امنیت اپلیکیشن های منتشر شده در کافه بازار و بدافزارهای موجود در آن را به صورت مستند و آماری بررسی کنیم.چکیدهدر این تحقیق، ما کلیه اپلیکیشن های موجود و میزبانی شده روی سرویس کافه‌بازار را استخراج و لیست کرده‌ایم و سپس بخش قابل توجهی از آن ها را بصورت خودکار و توسط سرویس هایی مانند ویروس توتال و آنتی ویروس های معتبر دنیا بررسی نموده ایم. همچنین برخی بدافزارهای یافت شده روی این سرویس را به صورت استاتیک و داینامیک بررسی کرده و نمونه هایی از آن ها را در این مطلب شرح خواهیم داد. در نهایت، به بررسی آمار و تعداد بدافزارهای موجود روی سرویس کافه‌بازار خواهیم پرداخت.روش تحقیقاین تحقیق به صورت کاملا قانونی انجام شده و ابتدا ما به صورت مستقیم لیستی از اپلیکیشن های موجود روی سرویس کافه بازار را تهیه کردیم، سپس از این لیست اپلیکیشن‌هایی که رایگان و به صورت قانونی برای همه کاربران در دسترس بودند را دانلود، و در پلتفرم ویروس‌ توتال ثبت کردیم. برخی اپلیکیشن های حجیم به دلیل محدودیت های ویروس توتال بررسی نشده اند.این تحقیق به صورت کاملا passive انجام شده و هیچ گونه فعالیت active مانند اسکن کردن یا استفاده از آسیب‌ پذیری‌های امنیتی انجام نشده است.تاریخچه اتفاقات امنیتی کافه بازاردر آوریل ۲۰۱۹، محمد جرجندی، محقق امنیت سایبری در توییتر اعلام کرد که کافه بازار مورد نفوذ قرار گرفته و اطلاعات مشتریان و سورس کد این سرویس توسط هکرهای روسی منتشر شده است. پس از جنجال ها و تکذیب های فراوان، این موضوع تایید شد و نمونه هایی از سورس کد نشان می داد که این سرویس احتمالا به صورت چندان مناسبی پیاده سازی نشده و احتمال وجود آسیب پذیری امنیتی یا اینکه افراد به هر شکلی بتوانند فرایند های امنیتی آن را دور بزنند بالاست و همین موضوع می تواند موجب دستکاری اپلیکیشن ها شود و یا امکان توزیع بدافزار از طریق کافه بازار را فراهم سازد.مقاله دانشگاه ژاپنیدر سپتامبر سال ۲۰۱۷، مقاله ای درباره بررسی اپلیکیشن های مارکت های اندرویدی توسط گروهی از یک دانشگاه ژاپنی منتشر شد. این مقاله کافه بازار را دومین مارکت امن دنیا نامیده بود. مدتی پس از گزارش محمد جرجندی، مدیرعامل وقت کافه بازار در توییتی به این مقاله اشاره کرد و اعلام کرد کافه بازار به عنوان دومین مارکت امن جهان شناخته شده است. این موضوع سبب آن شد که کافه بازار ادعای امنیت را بیش از پیش مطرح سازد و این در حالی است که گوگل پلی در این بررسی رتبه هشتم را دارد.اما از نظر ما و عده ای از محققین امنیتی، این مقاله بسیار عجیب بود از طرفی در نتیجه گیری مشکلات اساسی داشت. در روش تحقیق این مقاله گفته شده که فقط چیزی حدود ۵۰ هزار اپلیکیشن از کافه بازار بررسی شده و در زمان تحریر مقاله، ۷۵.۶ درصد کافه بازار اسکن نشده است. این در حالی بود که از گوگل پلی بیش از ۳ میلیون اپلیکیشن در نظر گرفته شده بودند.در تصاویر بالا میزان اپلیکیشن های بررسی نشده از هر مارکت را در زمان تحریر این مقاله می بینید و در جدول دیگر، میزان بدافزارهای موجود بر روی هر مارکت طبق ادعای این مقاله را مشاهده می کنید.انواع بدافزارها در فضای ایرانبدافزارهای اندرویدی در فضای ایران یا بدافزارهای ایرانی، فعالیت متفاوتی نسبت به بدافزارهای دیگر دنیا دارند و تقریبا هدف بیشتر بدافزار ها و بدافزار نویس‌های ایرانی درآمد زایی است. به همین جهت، کمتر دیده می شود بدافزاری منتشر شود که دارای پیچیدگی فنی و تکنیکال خاصی باشد در پیچیده ترین حالت، بدافزارهایی رصد شده اند که با گرفتن دسترسی و خواندن پیامک های کاربر، می توانند بدون اجازه او، وی را در سرویس های ارزش افزوده عضو کنند و درآمد زایی داشته باشند.مدل دیگری که میتوان نام برد، تلگرام های غیررسمی هستند. این کلاینت های غیر رسمی بعد از فیلتر شدن تلگرام، به علت داشتن پروکسی روی خود اپلیکیشن و فیلتر نبودن، گسترش پیدا کردند و به شدت میان کاربران محبوب شدند.هدفی این بدافزار ها کنترل حساب قربانیان، نمایش تبلیغات، فروش کاربران به عنوان ممبر تلگرام و یا حتی استفاده از آنها برای ایجاد حملات DDOS بود.اما نکته بسیار مهم درباره این بدافزارها روشی بود که برای دریافت دستورات و لینک‌ها استفاده می کردند. این بدافزارها از سرویس های push notification و قابلیت ارسال custom json استفاده کرده و دستورات و داده های مورد نیاز برای اجرای دستورات را در قالب json object و توسط سرویس دهنده push notification به کلاینت قربانی می رساندند و آنجا، پس از parse کردن این json ها دستورات مورد نظر خود را تکمیل و اجرا می کردند.معمولا این کار به صورت دو مرحله ای انجام می شد. ابتدا داده‌ها و محتوای دستورات را به متغیر هایی اختصاص داده و سپس از آن متغیر ها برای اجرا توابع و دستوراتی آماده، استفاده می کردند.از جمله فعالیت هایی که این بدافزارها می توانستند انجام دهند، می توان به موارد زیر اشاره کرد:بررسی کانالهایی که کاربر عضو می باشدمحدود کردن امکان عضویت کاربر در کانال هایی خاصاضافه کردن کاربر بدون اجازه وی به کانال یا گروهی خاصسلب اجازه خروج از کانال یا گروه خاص (یا عضو شده به روش بالا)مشاهده اپلیکیشن‌های نصب شده بر روی گوشی قربانیبرای اطلاعات بیشتر درباره بدافزارهای انواع کلاینت غیر رسمی تلگرام، می توانید به بخش رفرنس ها مراجعه کنید.دانلودرها و ادورهایکی از مواردی که به صورت گسترده و در ابعاد بسیار زیاد بر روی سرویس کافه‌بازار رصد گردید، بدافزارهایی بودند که قابلیت های زیادی مانند دانلودرها و ادورها را یکجا داشتند. این بدافزارها از روش مشابه push notification به عنوان C2 استفاده می کردند و دستورات را در قالب custom json دریافت کرده و سپس با parse کردن اطلاعات، دستورات را اجرا می کردند.یکی از مهمترین موارد و قابلیت هایی که یک رفتار بدافزار گونه نامیده می شود، دانلود اپلیکیشن خارج از مارکت می باشد. به این شکل بدافزار می تواند فایل یا اپلیکیشن دیگری را بدون اطلاع کاربر از هر لینکی که از طریق سرور C2 خود دریافت می کند دانلود کرده و روی حافظه خارجی دستگاه ذخیره کند و یا حتی آن را برای نصب به عناوین مختلف از جمله بروزرسانی خود، به کاربر نمایش دهد.مواردی که در ادامه بررسی می کنیم مربوط به یک بدافزار می باشد که به تعداد قابل توجهی بر روی سرویس کافه بازار مشاهده شده است. این بدافزارها با نام Downloader تگ و نام گذاری میشوند در عین حال، قابلیت های ADware ها را هم دارند.در تصویر میبینید که در قالب یک mypushlistener اپلیکیشن قابلیت این را دارد که فایلی (که اینجا یک فایل apk می باشد) را از لینکی که توسط json دریافت کرده دانلود کند و روی حافظه خارجی دستگاه ذخیره نماید.معمولا از این طریق، بدافزارها و ADware های دیگری را دانلود و برای نصب به کاربر نمایش می دهند.در صورت روت نبودن دستگاه، نمیتوان بصورت مستقیم و بدون دخالت کاربر اپلیکیشن را نصب کرد.این روش، راهکار مناسبی برای آپدیت نیست و مشخصا یک قابلیت بدافزار گونه می باشد.قابلیت دیگری که به صورت همزمان بر روی این بدافزارها وجود داشت، امکان باز کردن آدرس هایی از طریق اینستاگرام یا تلگرام بود. برای مثال لینک یک کانال تلگرام یا صفحه اینستاگرام را دریافت کرده و آن را اجرا می کردند، در نتیجه از طریق deep linking کاربر مستقیم به کانال و صفحه مشخص شده در اپ مورد نظر هدایت می شد و فقط کافی بود روی join یا follow کلیک کند. در مواردی برای اجرای لینک بر روی کلاینت نصب شده احتمالی، پکیج نیم تعداد قابل توجهی تلگرام غیررسمی داخل سورس کد درج شده و امتحان می شد.قابلیت دیگری که در تصویر بالا میبینید، امکان بررسی نصب بودن یا نبودن یک اپلیکیشن خاص روی گوشی کاربر هدف می باشد که با بررسی نتیجه آن، بدافزار می تواند کار خاصی را انجام دهد. ابتدا بدافزار پکیج نیم را از طریق C2 دریافت کرده و سپس نصب بودن این اپلیکیشن روی تلفن همراه را بررسی می کند.قابلیت دیگری که در تصویر بالا مشاهده می کنید، امکان باز کردن یک url خاص می باشد. از این روش بیشتر برای نمایش تبلیغات و یا اطلاعات شخصی سازی شده استفاده می شود ولی در شرایط خاص و با پیاده سازی خاص، می توان حتی به عنوان یک حمله DDOS از آن استفاده کرد. کافیست همه قربانی ها هم زمان وبسایت هدف را باز کنند و به سمت آن درخواست بفرستند.مورد بعدی که نشان از فعالیت ADware گونه این بدافزار ها نیز هست، امکان نمایش تبلیغات شخصی سازی شده به صورت پاپ آپ و در سایز های غیر معمول می باشد. ابتدا بدافزار لینک تبلیغ را به شکل json دریافت و در اندازه ها و بازه های زمانی دلخواه نمایش می دهد. این موضوع علاوه بر کتابخانه یا sdk تبلیغاتی است که روی اپلیکیشن قرار می گیرد.در برخی موارد نیز از امکان باز کردن لینک های خاص برای بررسی فعال بودن کاربر، گرفتن آمار و رجیستر کردن کاربرانی که اپلیکیشن را نصب کرده اند استفاده می شود.کدهای آمادهطی بررسی چند مورد از اپلیکیشن هایی که به عنوان بدافزار شناسایی شده بودند به این نتیجه رسیدیم که شباهت بسیار زیادی بین این بدافزارها وجود دارد. با بررسی بیشتر مشخص شد که سورس کد این بدافزارها به صورت آماده به فروش می رسد. بعضا سورس کد بخش های مربوط به دریافت دستورات از push notification و موارد مشابه روی برخی فروم‌های برنامه نویسی برای فروش یا به صورت رایگان وجود دارد.تعدادی از این بدافزارها عملا توسعه دهنده نداشته و صرفا حاصل کپی و مونتاژ کدهای آماده  بودند که بی هیچ مشکلی روی سرویس کافه بازار ارائه می شدند.نتایج و ساختار اطلاعاتویروس توتال اطلاعات زیادی را برای بررسی هر اپلیکیشن به صورت خودکار تهیه می کند که ما فقط برخی از این اطلاعات مانند هش برنامه ها، موارد شناسایی شده توسط آنتی ویروس ها و تعداد شناسایی ها را جمع آوری کردیم.به علاوه مواردی مانند first submit و last analysis را جهت تخمین مواردی که برای اولین بار در ویروس توتال ثبت می شوند جمع آوری و پردازش کردیم.در این بررسی ما 153451 اپلیکیشن را بر روی سرور های کافه بازار شناسایی کرده و طی ۷ ماه موفق شدیم 99812 اپلیکیشن از آن ها را به صورت موفق بر روی سرویس ویروس توتال ثبت و نتایج گزارش آن ها را جمع آوری کنیم.برخی از تعداد کل اپلیکیشن ها موارد غیررایگان بوده و برخی نیز حجم بالایی داشتند که مناسب تحقیق ما نبوده و امکان بررسی آن ها وجود نداشت. در مجموع فقط 3039 اپلیکیشن از کل اپلیکیشن هایی که امکان ثبت داشتند باقی ماندند.اما آماری که در پایان داشتیم بسیار عجیب بود. آمار حاصله نشان می داد که 26.9 درصد اپلیکیشن ها توسط 1 تا 4 آنتی ویروس، 14.3 درصد از آنها توسط 5 تا 9 آنتی ویروس و 8.7 درصد از این اپلیکیشن ها توسط بیش از 10 آنتی ویروس به عنوان بدافزار شناسایی شده بودند.جمع بندیبه صورت کلی طبق این تحقیق، نزدیک به ۵۰ درصد اپلیکیشن های بررسی شده از کافه بازار، حداقل توسط یک آنتی ویروس به عنوان بدافزار شناسایی شده اند.همینطور طبق بررسی ما بدافزارهای ایرانی عموما با هدف تبلیغات و درآمد زایی تولید می شوند و متاسفانه فرایند صحیح و نظارتی هم بر تولید اپلیکیشن های بی محتوا و کپی وجود ندارد.افراد میتوانند با دستکاری اندک در سورس کد بدافزارهای اماده، آن ها را به عنوان اپلیکیشن جدید ثبت کنند و از طریق نصب گرفتن و تبلیغات به درآمدزایی بپردازند.نهایتا ممکن است به دلیل مدت زمان طولانی این تحقیق برخی از اپلیکیشن ها از روی سرویس کافه بازار حذف شده باشند و برخی اپلیکیشن های جدید مورد بررسی قرار گرفته نشده باشند.همکاری و توسعه تحقیقاطلاعات جمع آوری شده پتانسیل بررسی های بیشتری را دارند که می توان به دریافت گزارشات کامل اپلیکیشن‌های ثبت شده روی ویروس توتال و پیگیری CN ها و ارتباطات به لینک ها برای رسیدن به افراد توسعه دهنده پشت این اپ ها و بدافزارها و یا بررسی دستی اپلیکیشن هایی با detection بالا اشاره کرد.به همین دلیل ما لیست کامل پکیج نیم های به دست آمده از کافه بازار به همراه دیتابیس این تحقیق را به صورت عمومی منتشر می کنیم که از طریق لینک های زیر می توانید آن ها را دانلود کرده و مسیر این تحقیق را ادامه دهید.لیست اپ ها، دیتابیس تحقیق و اسکریپت هاhttps://github.com/moh53n/bazzلیست اپ ها (از دسترس خارج شده، نسخه گیت هاب را باز کنید)https://mega.nz/file/G5Z3zaab#UVBW7KHvDm2s7-4uPHa9Ky3GYaX5rwql6kqkdijbqcsدیتابیس تحقیق (از دسترس خارج شده، نسخه گیت هاب را باز کنید)https://mega.nz/file/T9YigQaQ#xwptxqF-LBGBqsTuY-2F2D4Bfc768_NzR_LcE8RA7oYمنابع[1] Understanding the Security Management of Global Third-PartyAndroid Marketplaceshttps://nsl.cs.waseda.ac.jp/wp-content/uploads/2018/04/submitted_wama2017.pdf[2] virustotal https://virustotal.com[3] JADX[4] webamooz/telescam project https://webamooz.com</description>
                <category>Mohsen Tahmasebi</category>
                <author>Mohsen Tahmasebi</author>
                <pubDate>Sun, 28 Jun 2020 01:53:04 +0430</pubDate>
            </item>
                    <item>
                <title>سه ماه در تلگرام: نتایج تحقیق بر روی ۷۵ هزار کانال تلگرامی</title>
                <link>https://virgool.io/@moh53n/%D8%B3%D9%87-%D9%85%D8%A7%D9%87-%D8%AF%D8%B1-%D8%AA%D9%84%DA%AF%D8%B1%D8%A7%D9%85-%D9%86%D8%AA%D8%A7%DB%8C%D8%AC-%D8%AA%D8%AD%D9%82%DB%8C%D9%82-%D8%A8%D8%B1-%D8%B1%D9%88%DB%8C-%DB%B7%DB%B5-%D9%87%D8%B2%D8%A7%D8%B1-%DA%A9%D8%A7%D9%86%D8%A7%D9%84-%D8%AA%D9%84%DA%AF%D8%B1%D8%A7%D9%85%DB%8C-r9pxxzql9ih7</link>
                <description>مدت هاست که به نوشتن و توسعه خزنده های اینترنتی (برنامه های کامپیوتری که به جمع آوری اطلاعات مشغولن و در محیطی مثل وب یا تلگرام پخش میشن و جاهای جدیدی رو تحت نظر میگیرن) مشغولم و یکی از این خزنده هارو سه ماه پیش روی تلگرام راه اندازی کردم.از ده کانال تلگرامی شروع به پخش شدن کرد و حالا بیش از ۸۰ هزار چنل رو بررسی میکنه. در ادامه این پست قراره اطلاعات و آمار جالبی از محیط تلگرام بدم که از آنالیز اطلاعات این سه ماه (بیش از سی میلیون پیام) به دست اومدن. قبل از شروع لازمه تذکراتی رو بدم.اول اینکه خزنده یا کرالر چون مدام در حال وسیع تر شدنه، خیلی از اطلاعات دچار خطای محاسباتی میشن به طوری که بعضی داده ها مثل داده های روندگرا کاملا باطل هستن. من تمام سعیم رو کردم تا جلوی این خطا رو بگیرم (همونطور که شما هیچ اطلاعات یا چارتی درباره روند یا تغییرات نمیبینید) اما درصد خیلی پایینی از خطا در آمار داده شده وجود داره. دوم، خیلی از اطلاعات داده شده در این پست بدون آمار دقیق ارائه میشن به دلیل اینکه داده هایی که دربارشون آمار داده میشه (مثل ارزش افزوده) دارای انسجام بسیار بالایی هستن و نتیجتا تحقیق پذیری بالایی دارن، اما مثلا در زمینه بدافزار به دلایلی مثل عدم انسجام و نبود امکانات آمار دقیق داده نمیشه (که اگر ابهامی درباره صحت این دست اطلاعات وجود داره با مستندات و داده های خام خزنده رفع ابهام خواهد شد.)و نهایتا بسیاری از مستندات خصوصا در زمینه تحلیل بدافزار به دلیل جلوگیری از فنی شدن بیش از حد پست، در اینجا آورده نشدن که مجددا شامل توضیحات بالایی من میشن.اطلاعات کلیخزنده در مدت اجرای حدودا سه ماهه خودش، بیش از ۷۵ هزار چنل فعال (تا زمان جمع آوری داده های این پست) رو کشف کرده و مورد بررسی خودش قرار میده. در این مدت بیش از سی میلیون پست تلگرامی آنالیز و 76373 فایل apk استخراج شده.تلگرام = فیشینگ + ارزش افزوده + قمار + کپی!تا حالا فکر کردید چطور یک تبلیغ در یک زمان مشخص در هزاران چنل قرار میگیره؟ گسترده ها شبکه های تبلیغاتی در تلگرام هستن که تعداد چنل های زیادی رو تحت پوشش خودشون دارن. موضوع حتی از سطح گسترده ها فراتر میره و به اتحاد گسترده ها میرسه، جایی که در نهایت میتونن تبلیغی رو برای میلیون ها نفر بفرستن.حالا این گسترده ها گاهی بچه های بدی میشن و یک نفر با سرمایه هنگفت، تبلیغ درصد بالایی از این گسترده هارو میخره و دیگه مهم نیست محتوای تبلیغ چی باشه. شما هم به تبلیغی که میلیون ها بار سین خورده اعتماد میکنید، نه؟تحلیل روی پست های متنی و چندرسانه ای چنل ها نشون میده حجم عظیمی از محتوای تلگرام کپی شده از جای دیگریست، کپی هایی که گاهی در زیر یک دقیقه انجام میشن و در موارد بسیاری منبع اون ها توییتر بوده. بر همین اساس، الگوهایی دیده میشه که به نظر میرسه عده ای با شناسایی این نقاط کپی خور و تغذیه محتوایی اون ها، سعی در کنترل افکار عمومی یا شایعه پراکنی دارن که بیش از این بهش نمی پردازیم...ارزش افزوده، پادشاه برنامه های اندرویدی تلگرامدر بین این تبلیغات، درصدی هم به تبلیغات فایل های نصبی اندروید (APK) اختصاص داره.فقط حدود ۷ درصد کانال های رصد شده دارای فایل apk بوده اند.یکی از مهم ترین دلایل این موضوع، ترس گسترده ها از انتشار بدافزار و عواقب اون هست اما در بین همین درصد کم چه خبره؟طبق اطلاعات جمع آوری شده چهار چنل اول در زمینه ارسال apk تماما به تبلیغات vas اختصاص دارن که پرایوتن و تمام این فعالیت از طریق فوروارد به چنل های دیگه هست!در واقع درصد بالایی از فایل های تبلیغ شده از چنل های پرایوت پخش میشن.حدود ۴۵ درصد فایل های رصد شده فوروارد شده اند.با دقیق تر شدن روی این شبکه پخش برنامه های ارزش افزوده نکات جالبی مشخص شد.تقریبا تمامی این چنل ها پرایوت هستن، دو تا از چنل های ذکر شده نسخه های تکراری برنامه هاشون رو بار ها با هش های متفاوت منتشر میکردن (احتمالا به دلایل آماری و جلوگیری از رهگیری فایل ها) و اسم هاشون هم در نوع خود جالبن!چنل های متفاوت، با برنامه های متفاوت، با اسم های مشابه! (پنچ چنل برتر ارزش افزوده که چهار تاشون چهار تای اول در زمینه پخش apk هستن)این چنل ها هرکدوم لیست مجزایی از برنامه های ارزش افزوده رو پخش میکردن که بعضی از اون ها در مدت کوتاهی تبلیغ شدن و بعد از بین رفتن. حتی بعضی از نسخه های بررسی شده، ابتدا کاربر رو عضو سرویس و بعد برنامه اصلی رو دانلود میکنن!برنامه های تبلیغ شده توسط این چنل ها (همگی ارزش افزوده)اپ های ارزش افزوده بدون شک پادشاه برنامه های اندرویدی تلگرام هستن...اما ارزش افزوده در تلگرام به اپ ها که محدود نمیشه هیچ، بلکه به نظر میاد فعالیت اصلی vas ها مثل فعالیتشون در اینستاگرام بیشتر بر پایه لندینگ ها و تبلیغاتی مثل اینترنت رایگان هست که البته قابل مقایسه با حجم تبلیغاتشون در اینستاگرام نیست.فیشینگ و بدافزارگراف توزیع فایل های apk در تلگرام (نقاط، نشانگر چنل ها هستند)بر خلاف اپ های ارزش افزوده، بدافزار ها و برنامه های فیشینگ (مثل صیغه یاب) تا حد ممکن غیر متمرکز بودن و به صورت پراکنده توسط گسترده ها یا تک چنل ها تبلیغ میشدن. اپ های فیشینگ به طرز جالبی عموما توسط برنامه ساز های ایرانی ساخته شدن که بدون نیاز به یک خط برنامه نویسی به راحتی و صرفا با طراحی چهار تا منو، درگاه های جعلی به خورد قربانی میدادن و از کارتش دزدی میکردن. در درجه بعدی، اپ ها و بدافزار های پیچیده تر عموما توسط basic4android نوشته شدن که نشان از بی سوادی کلاهبرداران عزیز هست. همچنان شایع ترین نوع بدافزار محیط تلگرام در ایران، بدافزار های hiddad یا Hidden app هستن که با نصب بر روی تلفن قربانی و گرفتن دسترسی، از دید کاربر مخفی میشدن و به تبلیغات آزار دهنده میپردازن.این اپ با سوء استفاده از اعتقادات مذهبی مردم به آلوده سازی آن ها و نشان دادن تبلیغات آزار دهنده، اد اجباری و نصب اجباری میپرداخت. در طی چندین ماه حدود ۱۳۰۰ بار در چنل های مختلف رصد شد. اپ هایی که در چند دقیقه به راحتی طراحی شده و قربانیان زیادی گرفته اند.در این بین، بدافزار های جدی تری هم به صورت محدود در حال پخش هستن که عموما توسط روس ها و چینی ها نوشته شدن؛ جالب اینکه خیلی از این اپ ها توسط چنل های هک برای حال گیری و ... منتشر میشن و به راحتی در دسترس هرکسی قرار میگیرن.(چپ) باج افزار به اسم بازدید پست. در سیستم عامل اندروید عموما باج افزار ها به راحتی قابل حذف و بایپس هستند.
(راست) این بدافزار پس از گرفتن دسترسی به ریست فکتوری تلفن قربانی اقدام میکند.
برخی از این بدافزار ها به صورت آماده پخش شده و فقط نیاز به تغییر چند پارامتر در فایل apk است تا بدافزار شخصی شما آماده شود! (تصویر یکی از بدافزار های پخش شده)و اما بازار تلگرام های جعلی هم حسابی داغ بود، بیش از ۸۰۰ نسخه تلگرام جعلی با قابلیت هایی مثل اد اجباری تا جاسوسی کشف شدن که عموما از کار افتادن...چند فایلی هم البته دیده شدن که به صورت محدود قصد تست روشی برای عضویت مخفیانه در سرویس های ارزش افزوده رو داشتن. عموم این بدافزار ها (تبلیغاتی و نصب اجباری ها) از سرویس های پوش نوتیفیکشن ایرانی برای فرستادن دستور به گوشی قربانی ها استفاده میکنن و سرویس های ایرانی بعد از این همه هشدار، ظاهرا هنوز موفق به ساماندهی سیستم هاشون نشدن.قمار و شرطبندیخیلی بعیده در تلگرام فعال باشید و تبلیغات وسوسه کننده شرطبندی به چشمتون نخورده باشه. طبق بررسی ها روی کمپین های تبلیغاتی شرطبندی، هر چند وقت یکبار اسم سایت شرطبندی عوض میشه اما دقیقا با همون گسترده ها و الگوی فعالیت، تبلیغات انجام میشه. در واقع به نظر میرسه یک نفر/تیم پشت کمپین تبلیغاتی تمام این سایت هاست یا حتی تمام این سایت ها -که رصد شدن- زیر نظر یک تیم اجرایی فعالیت میکنن.الگوی تبلیغاتی سایت های قمار خیلی منظم تر از باقی تبلیغات به نظر میاد و از نظر تایمینگ و بهره وری حساب شده تر هستن. جمع بندیبا مقایسه موارد گفته شده مشخصا حجم تبلیغات ارزش افزوده (اپ و غیر اپ) بیشتر از باقی موارد ذکر شده هست، بعد از اون، تبلیغات و فعالیت سایت های شرطبندی قرار داره که حساب شده تر عمل میکنن و در آخر هم بدافزار ها و فیشینگ قرار داره که پراکنده تر و مخفیانه تر فعالیت دارن.با توجه به آنالیز های دستی انجام شده روی تعدادی از بدافزار های منتشر شده، به سختی میشه گفت بدافزار یا حمله پیشرفته ای در بستر تلگرام انجام میگیره و عموم آلودگی گسترده از طریق تلگرام، مربوط به بدافزار های تبلیغاتی ساده هست.تلگرام حالا بعد از سال ها، به دلایلی مثل فیلترینگ جای خودش رو برای فعالیت های مخرب به اینستاگرام داده (با وجود پتانسیل بسیار بالای تلگرام در این زمینه).حتی مهم تر از اون، پس از خاموش شدن سرور های تلگرام طلایی، تعداد تلگرام های جعلی جدید و در حال فعالیت به شکل شگفت آوری کم شد.در نهایت این پروژه در تمام مدت فعالیت با امکانات خیلی کم و هزینه شخصی خود من جلو رفته اما با این وجود اطلاعات خام به دست اومده، پتانسیل استخراج داده های خیلی جالب تری رو دارن که متاسفانه من انرژی و وقت لازم رو ندارم. به دلیل حجم بالای فایل ها حتی امکان آنالیز اتوماتیک اون ها هم وجود نداشت.اطلاعات خام و فنی در این پست منتشر نشدن، با این حال من اطلاعات رو در اختیار چند نفر قرار میدم تا بررسی های خودشون رو انجام بدن. اگر فکر میکنید جایی از این گزارش اشکال داره، لطفا در توییتر به من اطلاع بدید تا با مستندات کافی بررسی و پاسخ داده شه. ممنون که وقت گذاشتید :)</description>
                <category>Mohsen Tahmasebi</category>
                <author>Mohsen Tahmasebi</author>
                <pubDate>Tue, 27 Aug 2019 06:22:21 +0430</pubDate>
            </item>
                    <item>
                <title>کالا شمایید: نگاهی به نیمه ی تاریک خدمات رایگان</title>
                <link>https://virgool.io/@moh53n/%DA%A9%D8%A7%D9%84%D8%A7-%D8%B4%D9%85%D8%A7%DB%8C%DB%8C%D8%AF-%D9%86%DA%AF%D8%A7%D9%87%DB%8C-%D8%A8%D9%87-%D9%86%DB%8C%D9%85%D9%87-%DB%8C-%D8%AA%D8%A7%D8%B1%DB%8C%DA%A9-%D8%AE%D8%AF%D9%85%D8%A7%D8%AA-%D8%B1%D8%A7%DB%8C%DA%AF%D8%A7%D9%86-qhiwjkw5wtrq</link>
                <description>این یادداشت کوتاه رو به مناسبت وایرال شدن دوباره فیس اپ می نویسم و همین الان توجهتون رو به یک چیز مهم جلب میکنم.فیس اپ محصول یک شرکت روسی است!وقتی درباره اطلاعات و جمع آوری اطلاعات صبحت میکنم، عموما با این جمله مواجه میشم که مگه ما چه چیز مهمی داریم؟ جمله ای که به ایران محدود نیست و شد بهانه ای برای سرپوش گذاشتن روی یکی از مهم ترین مشکلات قرن حاضر.&quot;کالا شما هستید&quot; یک اصطلاح نسبتا معروف انگلیسیه که در چند کلمه شرح حال بیشتر خدمات رایگان حاضر در عصر امروزه. در ادامه این یادداشت میخوایم این جمله رو باز کنیم...بیاید یک کاری کنیم، فکر کنیم ببینیم چه اطلاعاتی از خودمون و زندگیمون رو در دسترس خدمات و شرکت ها قرار میدیم؟ از پیام هایی که رد و بدل میکنیم تا عکس هایی از زندگی روزانمون و البته روابط اجتماعیمون. این بخش کوچکیست که در جواب بیشتر ما مشترکه. هنوز هم معتقید چیزی مهمی ندارید؟ پس خیلی کوتاه سری به دنیای داده کاوی (دیتاماینینگ) و هوش مصنوعی میزنیم.به بیان خیلی ساده داده کاوی یعنی در آوردن الگو های معنا دار از حجم عظیمی از اطلاعات. بذارید براتون یک مثال بزنم، فرض کنید شما با امضای یک قرارداد این اجازه رو میدید که یک دوربین از تمام لحظات زندگی شما فیلم برداری کنه و اون رو برای متخصصینی بفرسته تا از توش ریزترین جزئیات زندگی شمارو در بیارن. آیا شما این اجازه رو میدید؟ من که اینطور فکر نمیکنم! اما احتمالا شما همین حالا این اجازه رو دادید...همین حالا اینستاگرام به دقت بررسی میکنه شما چه نوع پست هایی رو در چه ساعاتی از شبانه روز با چه الگویی لایک میکنید. ترسناک تر اینکه در داده کاوی و یادگیری ماشین گاها الگو هایی از اطلاعات در میاد که حاصل رفتار ناخودآگاه شماست و خودتون از اون بی خبرید! مثلا ممکنه شما پست های کراش هاتون رو با الگوی خاصی لایک کنید که در داده کاوی به خوبی این تفاوت ها و الگو ها مشخص میشه.این فقط یکی از هزاران کار هایی که انجام میشه...این اطلاعات به صورت خام یا تحلیل شده به آژانس های تبلیغاتی فروخته میشه (که عملا سالم ترین نوع کار در این آشوب بازار هست!) و از اونجایی که شما توسط ده ها مشخصه در اینترنت دنبال میشید، فلان فروشگاه اینترنتی میفهمه شما به زودی نیاز به یک چیز خاص پیدا میکنید...اگر هنوز هم فکر میکنید این ها مسائل مهمی نیستن آخرین بخش یادداشتم رو به کاربرد های پیچیده تر و تاریک تر اختصاص میدم. احتمالا شما هم مثل هرکس دیگه ای از واقعی بودن عکس های فیس اپ شگفت زده شدید، اما تا حالا فکر کردید این فناوری چه کاربرد های دیگه ای داره؟ همین حالا که شما دارید این یادداشت رو میخونید هزاران Crawler و بات در حال چرخیدن در اینترنت و اینستاگرام و ... هستن و عکس های افراد رو دریافت میکنن تا با اون خودشون رو بهبود بدن. نتایج این کار نه در فیس اپ بلکه در تکنولوژی هایی مثل دیپ فیک (ساختن محتوای دروغین مثل عکس، فیلم و صدا جوری که واقعی به نظر بیاد) و تشخیص چهره کاربرد دارن. شما دوست دارید یک دوربین خیلی ساده ترافیک چهره شمارو از چند ده متری تشخیص بده و قدم به قدم ردتون رو بزنه؟ در واقع با هرعکسی ما یک قدم به نابودی حریم خصوصی نزدیک تر میشیم. اما متاسفانه نیمه تاریکی که ما ازش صحبت میکنیم به عکس محدود نمیشه...در انتخابات سال ۲۰۱۶ آمریکا یکی از بزرگترین عواقب موضوع مورد بحثمون رخ داد، به طوری که حجم جنجال رسانه ای بی سابقه بود. فیسبوک در معرض جریمه ۵ میلیارد دلاری بابت جریان کمبریج آنالیتیکادر اون سال شرکت کمبریج آنالیتیکا با استفاده از میلیون ها داده حاصل از فعالیت کاربران در فیسبوک و ... (که لزوما هم شامل داده های محرمانه نمیشدن) به دقت موارد تاثیرگذار بر گروه های مختلف مردم رو استخراج کرد و در اختیار کمپین دونالد ترامپ قرار داد که موجب تاثیرگذاری بی سابقه بر افکار عمومی آمریکا شد. این اطلاعات حاصل پردازش کوچکترین رفتار هایی بود که مردم در شبکه های اجتماعی انجام داده بودن.طبق چیز هایی که گفته شد رفتار فردی هرکدوم از ما میتونه تاثیرات جمعی داشته باشه و محدود به خودمون نباشه اما در پایان یک سوال مطرح میکنم، امروز شما به راحتی در اینترنت دنبال میشید و رفتارتون در اینستاگرام بر تبلیغی که در یک سایت هندی میبینید تاثیر داره، برنامه ها میتونن روان، شخصیت، ارتباطات و حتی عادات شمارو استخراج کنن و چیز هایی از شما بفهمن که خودتون نمیدونید، گاها میتونن رفتار و تغییرات شمارو در آینده پیشبینی کنن و حالا سوال اینجاست، حتی اگر الان کسی نباشه که یک پروفایل دقیق از زندگی شما تهیه کنه و همون مثال دوربین رو اجرا کنه، آیا امکان این کار در آینده هم وجود نداره؟فقط فیسبوک و گوگل نیستن که میتونن اسرار زندگی شمارو در بیارن بلکه ابزار کار هایی مثل تشخیص چهره در اختیار هرکسی هست و داده های پابلیکی که از خودتون در اینترنت منتشر میکنید تا حد زیادی کافیه، آیا وقتش نیست در رفتارمون در اینترنت تجدید نظر کنیم؟</description>
                <category>Mohsen Tahmasebi</category>
                <author>Mohsen Tahmasebi</author>
                <pubDate>Wed, 17 Jul 2019 17:15:48 +0430</pubDate>
            </item>
                    <item>
                <title>تلگرام های جعلی: جایی که امنیت و حریم خصوصی می میرد!</title>
                <link>https://virgool.io/@moh53n/%D8%AA%D9%84%DA%AF%D8%B1%D8%A7%D9%85-%D9%87%D8%A7%DB%8C-%D8%AC%D8%B9%D9%84%DB%8C-%D8%AC%D8%A7%DB%8C%DB%8C-%DA%A9%D9%87-%D8%A7%D9%85%D9%86%DB%8C%D8%AA-%D9%88-%D8%AD%D8%B1%DB%8C%D9%85-%D8%AE%D8%B5%D9%88%D8%B5%DB%8C-%D9%85%DB%8C-%D9%85%DB%8C%D8%B1%D8%AF-w9zafaisqjtn</link>
                <description>چی بهتر از پیام رسانی که با آپدیت های منظم قابلیت های فوقالعاده ای رو اضافه میکنه و همیشه دغدغه امنیت کاربرانش رو داره؟چی بهتر از پیام رسانی که سازندش مدام از اشکالات و نقض حریم خصوصی دیگران میگه و ادعا میکنه پیام رسانش این مشکلات رو رفع کرده؟پیام، کوتاه است و ترسناک: پیام رسان محبوب شما امروز در حال خیانت به امنیت کاربرانشه! چطور؟ در ادامه با من همراه باشید...نکته: منظور از کلاینت همون برنامه هایی هست که روی موبایل شما نصب میشن و شمارو به تلگرام متصل میکنن.موبوگرام، آغازی بر مرگ امنیت تلگرامتلگرام مدام ادعای امنیت و حریم خصوصی رو مطرح میکنه و تا به امروز نقض پرایویسی مستقیمی از تلگرام دیده نشده اما شواهد نشون میده در یک نقطه اساسی و حساس، تلگرام با سلب مسئولیت از خودش عملا اجازه این کار رو به خیلی ها داده و مسئولیت مستقیم این خطرات متوجه کاربر، بر عهده تلگرام هست.موبوگرام اولین کلاینت غیر رسمی بود که در ایران با قابلیت هایی مثل حالت روح و ... مطرح شد و رد پاش حتی در بین کاربران روسی هم دیده شد. از ابتدا شایعاتی مبنی بر ناامن بود موبوگرام شنیده شد تا زمانی که صدای تلگرام درومد و به موبوگرام مهلت داد تا حالت روح رو حذف کنه چراکه اون رو نقض قوانین خودش میدونست، موبوگرام هم برای بقای خودش این کار رو کرد اما آیا موبوگرام تنها کلاینتی بود که این کار رو میکرد؟ آیا حالت روح تنها نقض پرایویسی و قوانین تلگرام بود؟طبق قوانین تلگرام، کلاینت ها باید حریم خصوصی کاربران رو رعایت، و از اقداماتی مثل حالت روح و دستکاری نحوه کار کلی تلگرام جلوگیری کنن...فیلتر تلگرام، ظهور فاجعه امنیتیبعد از فیلتر شدن تلگرام و ظهور کلاینت هایی با پروکسی داخلی (؟!) برای دور زدن فیلترینگ، موج جدیدی از بدافزار ها در قالب کلاینت تلگرام منتشر شدن که با اتصال به پروکسی های طلاگرام و هاتگرام، فیلترینگ رو دور میزدن و در کنارش به انواع و اقسام اقدامات مخرب میپرداختن...اد اجباری، سین زدن بدون اطلاع، دستکاری و فیلتر چنل های تلگرام فقط بخشی از اقدامات عزیزان بود که طی چند ماه رخ داد و میلیون ها کاربر رو آلوده کرد.بخشی از شبکه عظیم انواع کلاینت های آلوده مبتنی بر یک کلاینت خاص (مربوط به دی ۹۷) بازار اد اجباری به قدری داغ شد که افرادی با صرف هزینه ای کلاینت جعلی میساختن و اون رو میفروختن به سودجو ها تا از طریق اد اجباری و تبلیغات کسب درآمد کنن!تعداد بسیار زیادی کلاینت مختلف توسط این عزیز ساخته شده که هزاران نفر رو از مدت ها پیش آلوده کرده در ادامه چند نمونه از این فاجعه امنیتی رو با تصویر، بررسی کوتاهی (کپشن عکس ها) میکنیم و میریم سراغ بخش بعدی...افراد سودجو با ساخت عناوین آشنا و دروغ پردازی کاربران را تشویق به نصب کلاینت آلوده میکردند. اخیرا گوگل پلی اقدام به شناسایی و حذف این کلاینت ها از گوگل پلی کرده است.سودجویان به دروغ، اقدام گوگل را تحریم جلوه داده و با فریب کاربران در پی جلوگیری از حذف شدن بدافزار های خود هستند.رکورد اد اجباری ۱۵ هزار نفر در ۵ دقیقه به یک گروه! (مربوط به مرداد ۹۷)کلاینت های جعلی و آلوده از پروکسی مربوط طلاگرام و هاتگرام برای عبور از فیلترینگ اسفاده میکنند (تصویر مربوط به مرداد ۹۷)کلاینت های خاصی هر روزه در حال پیشرفته تر شدن و تبدیل شدن به یک تروجان قابل کنترل از راه دور هستند. ۱. تبلیغ ناخواسته کلاینت از طرف قربانی ها ۲. اطلاعات حساس و ارتباط کلاینت با مراکز کنترل بدون هیچ رمزنگاری صورت میگیرد و قابل شنود است.فیلترینگ چنل های خاص از راه دور!مسئولیت تلگرام در مبارزه با کلاینت های مخربدر اول مطلب گفتیم که تلگرام تحت قوانینی به این کلاینت ها دسترسی میده و بعد هم دیدیم که به سختی میشه قانونی پیدا کرد که این کلاینت ها رعایت کرده باشن! اما مسئولیت تلگرام چیه؟ آیا مسنجری که بیش از هرکسی در دنیا ادعای امنیت داره نباید دسترسی کلاینت های آلوده رو به API خودش قطع کنه و مدام اون هارو زیر نظر داشته باشه؟ در حالی که فقط یک کلاینت تلگرامی بیش از ۷ میلیون نفر رو آلوده کرده، چطور میشه همچین چیزی رو ندید؟ یادتون نره سودجو ها با دسترسی که تلگرام بهشون میده مردم رو آلوده میکنن.باز بودن پلتفرم اون و اوپن سورس بودنش دلیلی بر عدم رصد فعالیت کسانی که بهشون دسترسی میده نیست! قطعا موانع فنی و راه حل هایی برای سودجو ها هست تا بتونن محدودیت های احتمالی رو دور بزنن اما بهتر از وضعیت فعلیه که محدودیت خاصی اعمال نمیشه. هرکسی به راحتی میتونه بدون هیچ توضیحی به Core API دسترسی داشته باشه و کلاینت جدید بزنه!تلگرام در قوانینش میگه با متخلفین برخورد میکنه، برخوردی که انجام نمیشه...اگر فکر میکنید با نصب نکردن این کلاینت ها در امانید، سخت در اشتباهید. کافیه یکی از اطرافیان شما شماره شمارو داشته باشه و کلاینتش لیست مخاطبین رو به سرور بفرسته و به همین راحتی شماره اکانت شما لو میره!اما تلگرام باید چکار کنه و خواسته ما چیه؟تلگرام میتونه با بستن دسترسی کلاینت های مخرب &#x27;حداقل&#x27; سرعت گسترش اون هارو کند کنه.تلگرام میتونه صراحتا به قربانی ها پیام بده و بگه کلاینتی که ازش استفاده میکنن آلوده هست.تلگرام میتونه مثل توییتر و خیلی جاهای دیگه قبل از دادن دسترسی به هر شخص، از اون توضیح و تعهد بخواد.تلگرام میتونه یک راه برای ریپورت کلاینت های مخرب ایجاد کنه و در نهایتتلگرام میتونه اکانت کسانی که صاحب کلاینت های مخرب هستن رو بن و شماره اون هارو بلاک کنه...این چند اقدام ساده میلیون ها نفر رو از خطری که الان درش قرار دارن نجات میده اما تلگرام به دلایلی اینکار رو نمیکنه...مسئولیت شماحالا که تلگرام اینکار رو نمیکنه، من از شما درخواست میکنم با تولید محتوای فارسی و انگلیسی، منشن کردن و تماس با تلگرام ازشون بخواین که فکری به حال میلیون ها قربانی ایرانی بکنن. من آماده همکاری با هر نهاد و هر جایی هستم تا جلوی این بحران امنیتی گرفته بشه...در نهایت اگر همچنان پاسخی از سمت تلگرام دریافت نشد، من گزارش فنی این ماجرا رو با جزئیات به زبان فارسی (کار مرکز ماهر) و انگلیسی منتشر میکنم.اگر رسانه ای دارید این موضوع رو منتشر کنید تا به تلگرام فشار بیاریم امنیت کاربرانش رو تامین کنه.ما در توییتر با هشتگ FakeTelegrams# فعال هستیم، به ما بپیوندید!</description>
                <category>Mohsen Tahmasebi</category>
                <author>Mohsen Tahmasebi</author>
                <pubDate>Mon, 03 Jun 2019 18:20:25 +0430</pubDate>
            </item>
                    <item>
                <title>بازخوانی پرونده پیام رسان های ایرانی</title>
                <link>https://virgool.io/@moh53n/%D8%A8%D8%A7%D8%B2%D8%AE%D9%88%D8%A7%D9%86%DB%8C-%D9%BE%D8%B1%D9%88%D9%86%D8%AF%D9%87-%D9%BE%DB%8C%D8%A7%D9%85-%D8%B1%D8%B3%D8%A7%D9%86-%D9%87%D8%A7%DB%8C-%D8%A7%DB%8C%D8%B1%D8%A7%D9%86%DB%8C-m2xg49fhtay7</link>
                <description>پس از گذشت بیش از یک سال از &quot;ماراتن&quot; پیام رسان های ایرانی برای گرفتن جای تلگرام، شکست پروژه چند میلیاردی عزیزان بر همه مطلعان واضح است.گرچه تلاش ها برای راه اندازی پیام رسان ایرانی به سال ها قبل و ساینا و سروش باز میگردد اما با داغ شدن شایعات فیلتر تلگرام و کمک های عجیب و غریب دولتی، ناگهان تعداد این تلاش های عموما ناموفق افزایش چشم گیری داشت.حال پس از گذشت مدتی از این هیجان جمعی نگاهی خواهیم داشت به نتایج درخشان پیام رسان های داخلی و البته به بررسی یک پیام رسان بی نام و نشان &quot;ایرانی&quot; می پردازیم.از تهدید تا تحریمبا حاصل شدن این نتیجه از سوی نظام که باید پیام رسان های داخلی را جایگزین موارد خارجی قرار داد، تمام دستگاه های حکومتی دست به کار شدند تا به هر صورت شده مردم را تشویق یا مجبور به استفاده از پیام رسان های داخلی کنند اما مشکلی وجود داشت، هیچ جایگزین داخلی مناسبی نبود!پس از تشویق های میلیاردی و به وجود آمدن چند جایگزین نسبتا مناسب (از نظر خود این عزیزان)، صدا و سیما راه ارتباطی تمام برنامه های خود را به پیام رسان های داخلی انتقال داد و از همان روز ها تا به حالا، روزانه ده ها بار شاهد تبلیغ مستقیم یا غیرمستقیم آن ها از این رسانه جمعی هستیم.از طرفی دارندگان بسیاری از کانال های تلگرامی که چنل خود را ثبت کرده بودند تهدید به پیگیری قضایی شدند و سیاست تشویق جای خود را به تهدید داد. کمپین های تحریم تلگرام به راه افتادند و حتی حضور در تلگرام توسط چند نفر از مراجع حرام شرعی اعلام شد.اما پس از تمام این تلاش های پر هزینه، نتیجه چه بود؟آمار یک شکستافول تدریجیزومیت / مهر ماه ۹۷آمار دقیقی از تعداد کاربران فعال پیام رسان های ذکر شده با وجود گذشت چندین ماه از آخرین گزارش ها وجود ندارد که خود جای تعجب است.البته همه پیام رسان های ایرانی هم طعم این شکست را نچشیده اند، به شرط آنکه کلاینت های غیر رسمی و ناامن تلگرام مانند هاتگرام و تلگرام طلایی (که به آن ها در مطلبی جدا خواهم پرداخت) را نیز جزو پیام رسان های داخلی به حساب آورید!تلاش بی نام و نشان: ویسپییکی از این پیام رسان های به اصطلاح داخلی وضعیتی به مراتب جالب تر را داراست. ویسپی که تقریبا دارای هیچگونه نشانی از صاحب خود نیست ناگهان تبلیغات خود را برای جذب کاربران ایرانی آغاز کرد و در این راه محدودیت های مرسوم کسب و کار های داخلی را هم به راحتی زیر پا گذاشت و در شبکه های ماهواره ای (که تبلیغ در آن ها از نظر قضایی جرم است) به تبلیغ پرداخت.ویسپی حدود دو سال قبل در ایران فیلتر شد. هیچ نشانی از ایرانی بودن این پیام رسان وجود نداردبدون شرحپس از بررسی های انجام شده در آن تاریخ مشخص شد که ویسپی احتمالا روی سرور های شاتل در ایران هاست میشود و شایعه هایی از خرید ویسپی توسط شاتل مطرح شد که البته در همان تاریخ تکذیب شد و ابهامات را درباره صاحب ویسپی بی پاسخ گذاشت.نکته جالب تر اینکه در صدا و سیما این پیام رسان به عنوان یک پیام رسان بومی شناخته شده و در آن فعالیت گسترده وجود دارد.توسعه دهنده چینی، صاحب ناشناس، تبلیغ شده در خارج و عزیز شده در داخل! قضاوت با شما...رانت، سیاست غلط همیشگیحالا و پس از یک سال می توان به خوبی عدم موفقیت این پروژه چند میلیاردی را دید تا جایی که موافقان فیلتر و حامیان بسته ساختن اینترنت ایران نیز عدم موفقیت این پیام رسان ها را تایید و البته تقصیر آن را به گردن وزارت ارتباطات می اندازند!اما اشتباه کجا بود؟ این اولین تجربه شکست دخالت دولت در بخش هایی که اصولا ربطی به او ندارد نیست. فعالین حوزه استارتاپی و کارآفرینی به خوبی با شکست هایی اینچنینی که حاصل دخالت گسترده و بی جای بخش دولتی بودند آشنایی دارند. دلیل عدم موفقیت مسنجر های داخلی عدم حمایت دولت نیست بلکه اصل دخالت دولت است. نمیتوان با چرب کردن سبیل شرکت ها و فعالین بزرگ حوزه تکنولوژی در داخل یک شبه تلگرامی دیگر ساخت چرا که موفقیت استارتاپ های امروزی بیشتر حاصل تفکر و نگرش آنها در رفع نیاز کاربر است تا مشکل مالی، و این فعالین بزرگ داخلی فاقد این نگرش هستند.بخش های حاکمیتی صرفا راه باز کن ایده های نوین و استارتاپ ها هستند نه سازنده آن ها، باز کردن راه برای استارتاپ ها به این معنی است که قوانین مشخص و قابل اطمینانی وضع شوند تا استارتاپ ها مسیری مشخص و مطمئن را طی کنند.حال سوال اینجاست که اگر مسنجری بومی توسط یک تیم کوچک ساخته شود که به خوبی مسیر خود را طی کرده، می تواند در بی اعتمادی کنونی حاصل از اشتباهات اخیر و بد نام شدن پیام رسان ها داخلی موفق باشد؟آیا با وجود این همه رانت به بازیگران بزرگ این عرصه اصلا شانسی برای مطرح شدن دارد؟برای چند میلیارد بیشترسوال دیگر آنکه دولت در ازای کمک های چند میلیاردی خود، آیا پیشرفت و نتیجه پیام رسان ها را هم سنجیده؟ آیا گزارشی به مردم ارائه شده که نتیجه این چند میلیارد چه شد؟پیام رسان هایی که حتی این روز ها به سختی بروزرسانی دریافت میکنند و پر از باگ و اشکالند ۵ میلیارد را خرج چه چیزی کردند؟پیام رسانی بی نام و نشان ویسپی چرا کمک ۵ میلیاردی دریافت کرد؟ پیام رسان هایی که ساختارشان قبل و بعد از کمک دولت کوچکترین تغییری نکرد، این پول را کجا خرج کردند؟این ها سوالاتیست که پاسخ آن ها اگرچه قابل حدس است اما پاسخی از سوی مسئولان برای آن ها وجود ندارد...دست و پا زدن در پوچیافول روز به روز مسنجر های داخلی نمایانگر یک طرح &quot;عجله ای&quot; دیگر بدون هیچ کارشناسی پشت آن است که میلیارد ها تومان از بیت المال را به باد داد. شوکی که ابتدا و برای مدتی این مسنجر هارا بالا برد اما خیلی زود کاربر ها به تلگرام یا کلاینت های غیر رسمی آن بازگشتند.بی اعتمادی کاربران تنها بخشی از دلیل عدم موفقیت این پیام رسان هاست چراکه افزایش ابتدایی کاربران این مسنجر ها نشان داد درصد بالایی از مردم مشکل اعتماد به مسنجر های داخلی را نداشتند، اما در ادامه ریزش شدید کاربران گویای آن بود که مشکلاتی غیر از عدم اعتماد وجود دارد، مشکلاتی از اساس و پایه طرح تا کوچکترین اجزاء این پیام رسان ها...در پایان این نه تنها هدر دادن منابع کشور، بلکه ضربه مهلکی به بدنه استارتاپی ایران بود تا دیگر استارتاپی نتواند با عنوان پیام رسان بومی کمر راست کند.</description>
                <category>Mohsen Tahmasebi</category>
                <author>Mohsen Tahmasebi</author>
                <pubDate>Thu, 14 Mar 2019 23:46:28 +0330</pubDate>
            </item>
                    <item>
                <title>دروغی به نام امنیت اینستاگرام: کلاه برداری در روز روشن</title>
                <link>https://virgool.io/@moh53n/%D8%AF%D8%B1%D9%88%D8%BA%DB%8C-%D8%A8%D9%87-%D9%86%D8%A7%D9%85-%D8%A7%D9%85%D9%86%DB%8C%D8%AA-%D8%A7%DB%8C%D9%86%D8%B3%D8%AA%D8%A7%DA%AF%D8%B1%D8%A7%D9%85-%DA%A9%D9%84%D8%A7%D9%87-%D8%A8%D8%B1%D8%AF%D8%A7%D8%B1%DB%8C-%D8%AF%D8%B1-%D8%B1%D9%88%D8%B2-%D8%B1%D9%88%D8%B4%D9%86-lmb2oru6e952</link>
                <description>پس از فیلتر شدن تلگرام، اینستاگرام که محبوب ترین شبکه اجتماعی در بین نوجوانان در دنیاست جایگاهی پررنگ تر از پیش در ایران پیدا کرد. با محبوبیت روز افزون اینستاگرام، &quot;کسب و کار های خاکستری&quot; نیز راه خود را به این شبکه اجتماعی محبوب باز کردند. &quot;تامین امنیت اینستاگرام&quot; و &quot;هک اینستاگرام&quot; عباراتی هستند که امروزه در هر گوشه و کنار فضای مجازی شنیده می شوند و افرادی با ادعای &quot;تامین امنیت پیج های معروف در برابر تهدیدات رایج&quot; و با دریافت مبالغ کلان به فعالیت در اینستاگرام می پردازند اما ادعای آن ها چقدر صحت دارد؟ آیا افراد معروف نیاز به استخدام این چنین افرادی دارند؟سابقه تامین امنیت در اینستاگرامتعیین دقیق اینکه از چه زمان &quot;امنیت کاران اینستایی&quot; پا به فضای این شبکه اجتماعی گذاشتند چندان راحت نیست، اما سابقه تامین امنیت در وب فارسی به سال ها قبل و فیسبوک باز میگردد. پس از گذشت چندین سال و فیلترینگ پیاپی شبکه های اجتماعی، اینستاگرام با آغوشی باز به استقبال این کسب و کار خاکستری رفت.چند سال قبل در برنامه ماه عسل شبکه 3، شخصی به عنوان هکر یکی دو ساعتی را به ارائه داستان دراماتیک درباره خود پرداخت و به فاصله چند روز پس از شهرتش، نمایی تازه از اینستاگرام را به مردم نشان داد.به فاصله چند روز پس از پخش صحبت های &quot;شایان&quot; از رسانه ملی، حساب اینستاگرام او به طور گسترده فعال شد و مخاطبین زیادی پیدا کرد.مدتی پس از آغاز فعالیت او در اینستاگرام به عنوان یک هکر، حساب کاربری یکی از بازیگران مشهور هک شد (که در آن روز ها تازه داشت به پدیده ای شایع تبدیل می شد) و &quot;شایان&quot; به کمک خانم بازیگر شتافت.اژدها وارد می شودجنگ های بین هکری یا یک ایمیل ساده؟تصور عموم افراد از &quot;پس گرفتن&quot; یک پیج اینستاگرامی، جنگ دو هکر است که با یک صفحه کلید به جنگ یکدیگر می روند اما حقیقت ماجرا چیست؟تمام سرویس های آنلاین و غیر آنلاین بزرگ در دنیا دارای یک بخش &quot;پشتیبانی&quot; هستند که وظیفه دارند به مشکلات کاربران در سرویس مذکور رسیدگی کنند که طبیعتا پیگیری هک شدن حساب کاربران و &quot;بازگردانی&quot; دسترسی آن ها نیز به عهده دارند.&quot;هر شخص&quot; با داشتن مستندات کافی و دانش کافی از زبان انگلیسی توانایی بازگردانی پیج خود را دارد. با این وجود، به دلیل ضعف دانش سایبری جامعه، بسیاری کمک به بازگردانی پیج و دریافت کارمزد مناسب را بد نمی دانند اما مشکل از جایی شروع می شود که پای ادعا های عجیب و غریب و روش های &quot;مجرمانه&quot; به ماجرا باز می شود.در بین تمام مدعیان هک اینستاگرام فقط یک نفر دارای سابقه امنیت سایبری است که این روز ها از &quot;هک اینطرف و آنطرف&quot; به تامین امنیت پیج های اینستاگرامی روی آورده.&quot;هک&quot; یا &quot;ریپورت&quot;؟افراد اینچنینی با مطرح کردن این ادعا که هکر هستند به فریب مخاطب خود پرداخته و این ذهنیت را ایجاد می کنند که امری تخصصی در جریان است در حالی که اکیدا اینطور نیست.یکی از کسانی که به عنوان تامین کننده امنیت اینستاگرام مشغول فعالیت است اینطور کارش را توضیح می دهد:اصلا نیازی به تعداد ریپورت بالا نیست. اینجوری کار نمیکنه. راه زیاده برای بستن یه اکانت فقط کافیه بیست سی تا اکانت با صد تا فالوور از آیپی متفاوت، طرفو ریپورت پورنوگرافی کنن. اصلا کسی نگاه اکانته هم نمیکنه، درجا میبندن! متاسفانه اینستاگرام از نظر پشتیبانی و پایش محتوای کاربرانش یکی از ضعیف ترین عملکرد های ممکن را دارد و این به افراد سودجو اجازه میدهد تا به راحتی حساب کاربری افراد را از دسترس خارج کنند.ماجرا به اینجا ختم نمی شود. یکی دیگر از &quot;ریپورتر های اینستاگرامی&quot; میگوید:من اینارو میشناسم. فلانی و فلانی میرن سراغ آدمای معروف بهشون میگن راحت پیجشون هک میشه. میترسوننشون که کل پیجت میپره و اگر پیجتو بدی دست ما، امنیتشو تضمین میکنیم. اگر طرف وا نداد، پیجشو ریپورت میکنن و معمولا طرف برای بازگردانی و بعدشم امنیت میاد پیش اینا...اندر حکایات &quot;بازگردانی&quot; امنیت به شیوه گروگان گیریاما بدتر از موارد ذکر شده، گرفتن رمز حساب های کاربری با مهندسی اجتماعی، تغییر ظاهر پیج و &quot;پس دادن آن&quot; به صاحب پیج است!در روش اول، کلاه بردار با استفاده از روش هایی مثل افزایش فالوور و ... رمز پیج کاربر را دریافت و پس از مدتی آن را &quot;دیفیس&quot; می کند. بعد با هویت حقیقی خود به صاحب پیج پیام داده و وعده بازگردانی و تضمین امنیت پیج را به او می دهد و پس از دریافت مبلغ، پیج را قهرمانانه به شخص باز میگرداند.در روش دوم، هکر با پخش برنامه هایی با عناوین افزایش فالوور رمز تعداد بالایی از کاربران را بدست می آورد و از بعضی باجگیری و برای افراد مشهور بین قربانی های خود نقش قهرمان امنیتی را بازی میکند.بعضی از این افراد با به راه انداختن نمایش های دروغین، اقدام به جلب اعتماد و سوء استفاده از افراد می کنند.جنگ لینک ها و ریپورت هایکی از این افراد، شیوه کار همکارانش را اینطور توضیح میدهد:اینا همشون یه سری لینک و متن دارن که میدونن باید برای چه پیجی، چه متنی رو به کدوم لینک بفرستن. بعضی پیچا عکسای حساس دارن، ریپورت پورنوگرافی راحت روشون جواب میده. هر پیجی یه جوریه...نکته جالب اینکه در بسیاری از موارد روش های بازگردانی و حمله یکسان هستند. بعضی از این افراد خدماتی تحت عنوان غیر فعال کردن پیج های فیک را ارائه می دهند که شیوه مشابه را در بازگردانی حساب و گرفتن دسترسی پیج با فریب پشتیبانی اینستاگرام انجام میدهند.تامین امنیت یا پریدن در چاه!بدون شرحدر این میان، روش های عجیب و غریبی تحت عنوان &quot;تامین امنیت&quot; به کاربر تحمیل می شوند که دست کمی از هک شدن به دست خود ندارد!در تصویر بالا عنوان شده شما باید ایمیل پیج خود را بر روی ایمیل آن ها تنظیم کنید و گاها عنوان می شود که باید حسابتان را به حساب فیسبوک آن ها متصل کنید. با این کار عملا شخص هر لحظه که اراده کند می تواند وارد حساب قربانی شده، تمام پیام هایش را بخواند و سپس قهرمانانه پیج را از دست خودش نجات دهد و به صاحب آن باز گرداند.اما این خطر گاهی بیش از پیش قربانیان را تهدید می کند:امنیت درجه دوم: امنیت خیالی در ظاهری لاکچریهمانطور که گفته شد بزرگترین مخاطبان این شبکه اجتماعی نوجوانان هستند که طبیعتا میل دیده شدن در آن ها بیش از هر گروه دیگری است. با تبدیل شدن &quot;تامین امنیت&quot; به یک اپیدمی در اینستاگرام، افراد زیادی تضمین شدن امنیت پیجشان و نوشته شدن آن در بالای بیوگرافی خود را نشانه لاکچری بودن و باکلاسی میدانند و افراد سودجوی دیگری که به شهرت &quot;سلبریتی های امنیتی اینستاگرام&quot; نیستند، این امکان را به افراد کمتر مشهور میدهند...پیج های فیک و غیر فیک بسیاری در تلاش برای جذب قربانی هستندطبیعی است که در دنیای حساب های فیک و افراد غیر مشهور اقدامات مجرمانه بسیار راحت تر صورت میگیرند. در چند ماه گذشته موارد بسیاری گزارش شده که افراد تحت عنوان تامین امنیت به پیج قربانی دسترسی یافته و با تهدید به افشای اطلاعات خصوصی کاربر از وی اخاذی میکنند.باند های امنیت اینستاگرام: در تلاش برای کلاه برداری از کاربربا افزایش تعداد این کلاه برداران و افراد سودجو، باند ها و گروه هایی بین این افراد به وجود آمدند تا به طور هماهنگ اقدام به از کار انداختن حساب کاربری افراد یا سودجویی از آن ها بپردازند.در مواردی این باند ها با یک دیگر درگیر شده و اقدام به ریپورت پیج یکدیگر و افراد تحت پوششان میکنند.یکی از دلایل چند پیجی بودن در این افراد، بسته شدن حساب هایشان توسط باند های رقیب استسخن پایانیمیل به دیده شدن در شبکه های اجتماعی در بسیاری از موارد سر افراد را به باد می دهد.با تبدیل شدن پدیده تامین امنیت به یک نماد &quot;لاکچری&quot; و خودنمایی در اینستاگرام، افراد زیادی امنیت حساب خود را به خطر انداخته و افراد زیادی به قصد پول، شهرت و اخاذی با ادعاهایی دروغین دسته اول را فریب می دهند. تامین امنیت حساب کاربری شما در هر کجای اینترنت کار پیچیده ای نیست. با فعال کردن احراز هویت دو مرحله ای (2FA)، انتخاب رمز مناسب و دسترسی همیشگی به ایمیلی که با آن حسابتان را می سازید راه را برای بیشتر تهدیدات متوجه حسابتان می بندید و هزینه های مالی هنگفت و خطر افشای اطلاعات را متوجه خود نمی سازید. افراد سوجو و کلاه برداری که به قصد پول و شهرت دروغ می گویند و افراد را تهدید می کنند فقط با کمک و آگاهی شما از بین خواهند رفت و تا جهل هست، شیاد هم هست...</description>
                <category>Mohsen Tahmasebi</category>
                <author>Mohsen Tahmasebi</author>
                <pubDate>Mon, 21 Jan 2019 00:28:28 +0330</pubDate>
            </item>
                    <item>
                <title>از تئوری تا واقعیت: نگاهی به حملات ۵۱ درصد در بلاکچین</title>
                <link>https://virgool.io/@moh53n/%D8%A7%D8%B2-%D8%AA%D8%A6%D9%88%D8%B1%DB%8C-%D8%AA%D8%A7-%D9%88%D8%A7%D9%82%D8%B9%DB%8C%D8%AA-%D9%86%DA%AF%D8%A7%D9%87%DB%8C-%D8%A8%D9%87-%D8%AD%D9%85%D9%84%D8%A7%D8%AA-%DB%B5%DB%B1-%D8%AF%D8%B1%D8%B5%D8%AF-%D8%AF%D8%B1-%D8%A8%D9%84%D8%A7%DA%A9%DA%86%DB%8C%D9%86-e55g5qtkwcm6</link>
                <description>سال ۲۰۱۸ دنیای بلاکچین بیش از پیش با حقیقی بودن حملات ۵۱ درصد آشنا شد و تخمین زده میشه حدود ۲۰ میلیون دلار با استفاده از این حملات دزدیده شده باشه، اما در اول سال ۲۰۱۹ بلاکچین نسبتا معروف اتریوم کلاسیک برای ما خبر از سالی پردردسر آورده.در چند روز اولیه ۲۰۱۹ حدود ۱.۱ میلیون دلار اتریوم کلاسیک دابل اسپنت (Double Spent - دو بار خرج شده) شده و هنوز در تعقیب عاملان و وجه دزدیده شده هستن، اما در اینجا میخوایم نگاهی داشته باشیم به این نوع حملات به نحوی که هر کسی با دانش اولیه از بلاکچین متوجه اون بشه.اتریوم کلاسیک از الگوریتم مشابه اتریوم (ETHASH) و مکانیزم POW یا Proof Of Work استفاده میکنه که مکانیزم محبوبی در بلاکچین ها هست.اجازه بدید تا تعریف کلی از مفاهیم لازم بگیم.بلاکچین، زنجیره بلاکاز اسمش مشخصه، زنجیر! دلیل به کار بردن لفظ زنجیر اینه که در بلاکچین هر بلاک که شامل تراکنش ها هست، مثل یک زنجیر به بلاک قبلی وصله، بلاک قبلی به قبل تری و به همین صورت. بلاک ها یکی پس دیگری بر روی بلاک های قبلی قرار میگیرن و به ازای هر بلاک روی بلاک مورد نظر، یک کانفیرم ثبت میشه و این یعنی اون بلاک و تراکنش هاش معتبر تر هستن. با این حساب حتی با یک تغییر کوچیک در یک بلاک در وسط زنجیره، تمام بلاک های بعد از اون دچار تغییر میشن.با توجه به این مکانیزم، ماینری نمیتونه ادعا کنه دو تا بلاک قبل تر فلان تراکنش انجام شده یا انجام نشده، چون در این صورت ما ۳ تا بلاک اخیرمون متفاوت خواهند شد و شبکه، بلاکچین ادعا شده اون ماینر رو رد میکنه.مکانیزم POW یا Proof Of Workبلاکچین ها راه های مختلفی برای جلو بردن بلاکچین خودشون و ثبت بلاک های جدید دارن که این راه وظایفی مثل جلوگیری از حملات مختلف که باعث ایجاد اخلال در شبکه میشن رو به دوش میکشن. یکی از این راه ها پرهزینه کردن ایجاد این اختلالات و خرابکاری در شبکه هست.مکانیزم POW که اولین بار در بیتکوین استفاده شد و حالا هم خیلی ارز های مجازی ازش استفاده میکنن همین کار رو میکنه. در این مکانیزم نود ها یا اعضای شبکه باید در فرایندی به نام ماینینگ با هم رقابت کنن تا بتونن بلاک معتبر بعدی رو پیدا کنن و پاداش اونو بگیرن. این فرایند که به اسم ماینینگ شناخته میشه یک فرایند هزینه بر و زمان بره که در اون ماینر ها باید با استفاده از توان پردازشیشون یک سری مسائل پیچیده ریاضی رو حل کنن (منظور مسائلی که شما در دبیرستان حل میکنید نیست! :)، اون های باید هش تعداد زیادی از حالات رو تولید کنن و هشی که معتبر هست رو در شبکه ثبت کنن).حالا اگر کسی بخواد در شبکه اختلال ایجاد کنه یا یک تراکنش و بلاک نامعتبر رو پخش کنه، باید هزینه زیادی رو صرف کنه. اما آیا این مانعی برای سد کردن راه دزد های سایبری هست؟تئوری حمله ۵۱ درصد تئوری حمله ۵۱٪ بر این پایه هست که خرابکار بیش از ۵۰ درصد توان پردازشی شبکه رو در دست داشته باشه. در این حالت اون میتونه کارای زیادی بکنه، از جمله تایید نکردن بلاک ها و تراکنش دیگران و ایجاد لگ در شبکه، اما مسلما کسی هزاران دلار خرج نمیکنه تا کرم بریزه و بخنده، اون برای سود اینکارو میکنه اما چطور؟تئوری حمله ۵۱٪ در بلاکچین از همون اوایل مطرح بود اما کسی زیاد جدیش نمیگرفت. آخه کدوم خری میاد کلی هزینه کنه تا ۵۱ درصد هش ریت شبکه رو در دست بگیره؟ اصلا ممکنه؟عصر بلاکچین های کوچکحرف اون ها تا حدودی درست بود. گرفتن ۵۱ درصد هش ریت ارزی مثل بیتکوین اگر غیرممکن نباشه، خیلی خیلی هزینه بر و البته پر ریسکه. چرا پر ریسک؟ اگر ماینر ها، اکسچنج ها و توسعه دهنده های یک ارز سریع و هماهنگ عمل کنن ممکنه بشه جلوی هکر رو گرفت. اما این اطمینان جایی دچار مشکل میشه، بلاکچین های جدید و کوچیکی که پول زیاد دارن ولی به اندازه کافی بزرگ نیستن...جدای از این یک تهدید بزرگ دیگه هم وجود داره: ASIC هاپردازنده هایی که اختصاصا برای حل یک الگوریتم خاص طراحی شدن و توانشون قابل مقایسه با ماینر های معمولی نیست. البته از اون جایی که طراحی این پردازنده ها یک کار میلیون دلاری هست، یک هکر همچین کاری نمیکنه (اصولا نمیتونه!) اما هستن بلاکچین هایی که به تنهایی لو رفتن ۱۰ تا ماینر ASIC الگوریتمشون قبل از عرضه جهانی میتونه بیش از ۵۰ درصد هش ریت اون هارو تقدیم کنه. به همین خاطره که شرکت های تولید کننده این دستگاه ها سیاست های فروش سخت گیرانه و حساسی برای اوایل فروششون دارن و همچنین یکی از دلایلی که توسعه دهندگان ارز ها از ASIC ها فرارین.به هر حال، بلاکچین های کوچولویی که هش ریت زیادی ندارن ممکنه خیلی راحت قربانی این حملات شن.حملات Double Spend مبتنی بر حملات ۵۱٪برگردیم به سوالمون درباره چگونگی سود کردن هکر از این حملات. تا چند سال پیش این دسته حملات به تئوری محدود میشدن اما امسال ما شاهد اجرای عملی اون ها بودیم. خودتون رو آماده کنید تا وارد بخش فنی تر ماجرا و توضیح تئوری ها شیم!حملات دابل اسپند یا دوبار خرج کردن همونطور که از اسمشون مشخصه، قراره کاری کنن تا هکر دو بار موجودی والتش رو خرج کنه. اول از همه بیاید بررسی کنیم در حالت عادی چرا یک خرابکار نمیتونه این کارو کنه!در یک تراکنش، موجودی خرج شده از موجودی والت شما کم میشه و این در کل شبکه پخش میشه. همه اعضا و نود های شبکه میدونن که ممد (خرابکار سناریوی ما) آه در بساط نداره در والتش. اما اگر ممد یک نود در شبکه داشته باشه که به بقیه نود ها بگه من ۱۰ بیتکوین ریختم به فلان آدرس در حالی که این مقدارو نداره چه اتفاقی میفته؟ از اونجایی که تراکنش های ممد در بلاک های بلاکچین ثبت شدن هر نود میتونه بفهمه ممد الان در والتش چقدر بیتکوین داره. حالا با اینکه ممد یک تراکنش ساین شده و ظاهرا معتبر رو در شبکه پخش کرده اما از چیزی مایه گذاشته که نداره (بیتکوین) و نود ها این تراکنش رو به عنوان یک تراکنش نامعتبر میشناسن و در هیچ بلاکی هم قرار داده نمیشه که نمیشه.اما اگر ممد ۵۱ درصد هش ریت شبکه رو در دست داشته باشه چی؟ آیا میتونه از نداشته هاش در بلاک مایه بذاره؟ جواب بازم منفی هست، اما یک راه پیچیده تر وجود داره...تئوری حمله Double Spend با در دست داشتن ۵۱٪ هش ریت شبکههمونطور که گفته شد، هر بلاک در بلاکچین به بلاک قبلیش متصله و بهش وابسته هست. پس نمیشه تراکنش ممد رو از چند بلاک قبلی حذف کرد چون باید یک بلاک جدید بدون تراکنش کم شدن ۱۰ بیتکوینش ساخت و در این صورت کل بلاک های بعدی هم تغییر میکنن.اما حمله به این صورته که اول ممد باهوش ما، ۱۰ بیتکوینش رو در یک صرافی به ناصر میفروشه و در ازاش ریال میگیره، همه چیز درست و قانونی!تراکنش کم شدن ۱۰ بیتکوین ممد در بلاکچین ثبت میشه. ممد ۵۱ درصد هش ریت شبکه رو داره و میتونه سریع تر از بقیه ماین کنه. ممد از همون بلاکی که تراکنش کم شدن پولش درش هست خرابکاریشو شروع میکنه. اون یک بلاک مشابه بلاک موردنظر بدون تراکنش کم شدن پولش رو ماین میکنه و از اونجا همزمان با بقیه شبکه سعی میکنه تراکنش های عادی شبکه رو بر روی بلاک دستکاری شدش ماین کنه. همونطور که قبلا گفتیم، چون یک تراکنش بلاک ممد با شبکه فرق داره، پس تمام بلاک های بعدی ممد روی بلاک دستکاری شدش هم با بلاک های اصلی شبکه متفاوت خواهند بود حتی اگر تمام تراکنش هاشون درست و مشابه باشه. از اینجا ممد در واقع یک زنجیر متفاوت با شبکه اصلی رو ماین میکنه و در واقع روی یک فورک خصوصی از بلاکچین کار میکنه. ممد در حال ماین بلاکچین خودشبه طور عادی وقتی یک ماینر بلاک درست رو ماین میکنه، خرکیف و خوشحال به سرعت بلاکش رو در شبکه منتشر میکنه تا بقیه تاییدش کنن و پاداشش رو بگیره، اما از اونجایی که زنجیره ممد با زنجیر اصلی شبکه فرق داره ممد اینکارو نمیکنه چون نود های شبکه اکثرا همون زنجیری که دارن رو قبول دارن، اما اینجا یک مشکل وجود داره.در شبکه وقتی یک زنجیر معتبر (معتبر یعنی طبق مشخصات و الگوریتم و ... همون بلاکچین ماین شده) و بلند تر توسط یکی از نود ها منتشر میشه، قانون اینه که زنجیر بلند تر معتبره و همه باید اونو قبول داشته باشن. یادتون هست که ممد میتونه سریع تر ماین کنه؟ یک جایی زنجیره ممد از زنجیر اصلی شبکه بلند تر میشه، یعنی اگر در شبکه آخرین بلاک ۵۰ هست، زنجیره ممد ۵۱ بلاک معتبر داره. اینجا ممد سریعا بلاکچین خودشو که تا الان منتشر نکرده بود در شبکه منتشر میکنه و طبق قانون، تمام اعضای شبکه باید بلاکچین ممد رو به رسمیت بشناسن.ممد در واقع توی تمامی بلاک هایی که جدا از شبکه ماین کرده میتونه هر تراکنشی رو تغییر بده، اما از اونجایی که بچه خوبی هست فقط تراکنش های خودشو که از والتش موجودی کم شده حذف میکنه و وقتی شبکه این بلاکچین رو به رسمیت شناخت، ممد دوباره ۱۰ بیتکوینشو داره. در اینجا اون ۱۰ بیتکوینی که ممد به ناصر داده بود و در ازاش ریال گرفته بود از بلاکچین و والت ناصر غیب میشه و ناصر در واقع بابت هیچی به ممد پول داده.ممد در بلاکچین خودش تراکنش کم شدن پولش رو حذف کردهممد زنجیر خودشو که طولانی تره منتشر میکنهبلاکچین ممد توسط نود ها به رسمیت شناخته میشه و زنجیر قبلی باطل میشهسوال! خب چرا ممد تو بلاکچین خودش از والت قلی که خیلی پولداره به والت خودش ۱۰۰ بیتکوین نمیریزه؟ جواب این سوال به درک از سیستم بلاکچین بر میگرده. هر تراکنشی که انجام میشه توسط صاحب اون والت امضا میشه و این امضا توسط بقیه اعضای شبکه قابل تاییده اما قابل جعل نیست تا زمانی که به کلید خصوصی اون والت دسترسی وجود نداشته باشه.اینجا ممد دوباره سریعا اون ۱۰ بیتکوین رو خرج یا منتقل میکنه و در واقع اون ۱۰ بیتکوین رو دوبار خرج کرده!اگر یادتون باشه گفتم از نظر تئوری امکان باطل کردن دزدی ممد وجود داره اما چجوری؟اگر سریع این حمله تشخیص داده شه و اکسچنج های بزرگ تراکنش هارو ببندن و ماینر ها کارشون رو متوقف کنن، تراکنش و بلاک کمتری در شبکه ایجاد میشه و میشه همه اعضا رو با یک فورک، به بلاکچین اصلاح شده برگردوند تا موجودی ممد به ناصر برسه و تراکنش های بعدی هم دستنخورده به بلاکچین اضافه شن. برای این کار بلاک اصلاح شده و تمام بلاک های بعد از اون باید دوباره ماین شن و این به اون معناست که هرچی بیشتر از حمله بگذره و بلاک های بیشتری ماین شن، امکان اصلاح اون غیر ممکن تر میشه (همینجورشم در بلاکچین های بزرگ و سریع نزدیک به غیر ممکنه)نکات و نتیجه گیری پایانی۱.همونطور که مشخصه هرچی ممد سرمایه اولیه بیشتری بذاره، بیشتر سود میکنه.۲.این حمله دلیل مهمیه برای اینکه چرا POW مناسب بلاکچین های کوچیک نیست و نباید زیاد بهشون اعتماد کرد.۳.متاسفانه راه های چندان کاربردی برای جلوگیری از این حمله در بلاکچین های مستعد وجود نداره به جز مهاجرت به مکانیزم های دیگه مثل POS و غیره.۴.شاید خیلی هاتون بدونید، ماین کردن در هش ریت بالا و نزدیک بهم تا حدی به شانس بستگی داره، به همین خاطر ممکنه کسی حتی با در دست داشتن ۳۵ درصد هش ریت شبکه بتونه از زنجیره اصلی جلو بزنه اما این حتمی نیست و از اونجایی که خرابکار اول باید خرج کنه بعد حمله رو انجام بده، چندان به ریسکش نمی ارزه!به نظر من بلاکچین و ارز های مجازی راه طولانی برای رسیدن به بلوغ کافی در پیش دارن...امیدوارم این مقاله براتون مفید بوده باشه! </description>
                <category>Mohsen Tahmasebi</category>
                <author>Mohsen Tahmasebi</author>
                <pubDate>Fri, 11 Jan 2019 17:19:15 +0330</pubDate>
            </item>
            </channel>
</rss>