پیرو حملات DDoS در ایران و رویداد #سوارابرها، بارها دیدهشده افرادی که خیلی هم در حوزهی خودشون متخصص هستن، در تفاوت خدمت DDoS Protection برای سرویسهای IaaS که از منظر شبکه بصورت Unicast ارائه میشه، با نحوهی DDoS Protection برای سرویسهای CDN که معمولن از منظر شبکه بطور Anycast پیادهسازی میشن، براشون سوء تفاهم شدهبود. //این مطلب خیلی یهویی و کوتاه نوشته شده :)) و سعی کردم خیلی از جزئیات فنی که ممکنه حوصلهسربر باشه رو ساده بیان کنم. ضمنن مطلب بر اساس درک و تجربه شخصی بنده بر اساس اطلاعاتی که منشتر شده هست.
در پیادهسازی های Unicast، حملات DDoS بسیار موفق هستند چون میتونن تمامی منابع حمله رو، متمرکز کنن روی یک یا چند نقطه [فیزیکی] (مثلن کل IPهایی که با BGP در دنیای اینترنت از یک محل اعلان میشن) و خیلی عامیانهش اینکه لولههای اینترنت اون نقاط رو پر کنن.
حالا هرچقدر هم که تکنولوژی DDoS Protection/Mitigation و scrubbing پیشرفته باشه، اما بخاطر طبیعت سرویس IaaS، میشه گفت راهی جز افزایش دائمی پهنای باند وجود نداره و گاهی ممکنه پهنای باند زیرساختهای بزرگ پر بشه و مجبور به blackhole کردن بشن. اتفاقی که بارها در دنیا برای سرویسدهندههای بزرگ IaaS هم بطور روزانه رخ میده و بعنوان یکی از مخاطرات اینترنت شناخته شده. ادامه خواندن “اندر تفاوت Unicast و Anycast سوارابرها”
بیتکوین ملکهی بیتها 🙂
طی یکسال اخیر، محال بوده در هرجای دنیا، با کسی صحبت کنم و اون شخص راجع به بیت کوین (Bitcoin) نشنیده باشه. کلی مطلب در اینترنت راجع به Bitcoin هست، اما اغلب به انگلیسی. البته که مطالب خوب فارسی هم هست. اما مطلب خوبی که خیلی ساده توضیح داده باشه واقعاً قضیه بیت کوین چی هست، کم دیدم.
انقدر دربارهی بیتکوین و رمزارزها سوال میشه که تصمیم گرفتم با استفاده از ایدههایی که از مطالب دیگه گرفته بودم، و یکسری مثال که در دنیای واقعی ما ایرانیها ملموس باشه، مطلب ذیل رو آماده کنم و تا جایی که میشه بسادگی نکات مهم قضیه رو توضیح بدم.
چراکه بنظرم قبل از ورود به کاری، مخصوصاً حوزهی ارزهای دیجیتال، بهتره حداقل یک ایدهای داشته باشیم که قضیه چی هست و مزایای واقعی اون سیستم رو درک کنیم تا اینکه فقط به این فکر کنیم که با خرید بیتکوین، خیلی سریع پولدار میشیم. برخی لغات سعی شده صرفاً ترجمهی لغت انگلیسی اونها نباشه، بلکه کلمهای باشه که شفافتر منظور رو برسونه.
تبادل حضوری
یک صبح زیبای جمعه، رفتم ۱ عدد نون سنگک خریدم و دارم برمیگردم که توی کوچه آقای همساده منو نونسنگک بدست میبینه و اصرار که «این ۱ عدد نون رو بده بمن به قیمت بیشتری ازت میخرم حتی!» بالاخره راضی میشم و نون رو تقدیمش میکنم، و نهایتاً بقول اون مجری معروف، ۱ نونی که داشتم رو دادم به اون، پس دیگه هیچ نونی ندارم، یعنی من ۰ نون دارم و همساده ۱ نون؛ پس ۰ – ۱ به نفع همساده. 😐
آقای همساده و نونسنگک!
ساده بود، درسته؟ حالا بیاین یکم فلسفیش کنیم قضیه رو 🙂
۱ نون در دست من بود که بطور فیزیکی اون رو در دست آقای همساده گذاشتم. من اونجا بودم، آقای همساده هم بود؛ هردو میدونیم که این اتفاق افتاد. هر دو ۱ نون و تبادلش رو دیدیم و با دستای خودمون تبادل نون رو حس کردیم. نیاز به شخص ثالثی نبود که کمک کنه این تبادل نون رخ بده و تأیید کنه که این اتفاق افتاده.
حالا اون ۱ نون برای آقای همساده اس و من هیچ کنترلی روی اون ندارم؛ آقای همساده هرجوری که بخواد میتونه از اون نون استفاده کنه، با پنیر، گردو، کره یا مربا، هرجوری که بخواد. حتی میتونه تقسیمش کنه و بده به آقای دور، و آقای دور باز نون و تقسیم کنه یا کلش رو بده به آقای مجری، یا بذارهاش توی فریزر برای آینده یا هرچی.
و من هم دیگه نونی ندارم که خودم استفاده کنم یا بخوام بدمش به یکی دیگه، مثلاً آقای دور.
به کل این اتفاق میگن تبادل حضوری؛ حالا بجای نون سنگک این تبادل می تونست برای کتاب باشه، یا سیب، یا گلابی، هر چی، حتی یک اسکناس!
نونسنگکِ دیجیتال (بخوانید بیتکوین)
بیتکوین یا نونسنگک دیجیتالی؟ مسئله این است!
حالا، فرض کنیم تکنولوژی به جایی رسیده که آدما میتونن حتی نون سنگک دیجیتال مصرف کنن و من یک نون سنگک دیجیتال دارم و دوباره میدمش به آقای همساده.
یه نکته مهم رو اینجا باید درنظر گرفت: نونسنگک، من و آقای همساده هرکدوم در شبکهی مجازی نونسنگکها یک «شناسه یکتا» داریم. «شناسه» میتونه یک چیزی باشه شبیه کد ملی که باعث میشه اصغر آقای بقال از اصغر آقای سبزی فروش تو سیستمهای اداری و … متمایز بشه و مشخص بشه که هر کدوم اینا یه فرد مجزا هستن حتی اگر اسم، فامیل و اسم پدرهاشونم یکی باشه.
توی این شبکهی مجازی نون سنگک دیجیتالی، حتی به تراکنش «تبادل نونسنگک دیجیتال» بین ما هم یک شناسه داده میشه. (دقیقاً مشابه تراکنشهای بانکی)
در این دنیای دیجیتال، آقای همساده از کجا باور کنه که من دقیقاً همون نون سنگک دیجیتال رو بهش دادم و الان اون کاملاً اختیارش رو داره و ۰ – ۱ هستش قضیه؟ اصلاً آقای همساده شکاک هم هست، میگه: «از کجا معلوم تو این نون رو کپی نکرده باشی و اصلش پیش خودت باشه؟ شاید نون تقلبی بمن دادی. از کجا بفهمم نون رو اصلاً دادی بمن؟ شاید آقای دور یهو اومده نزدیک شده نون رو گرفته باشه اون وسط»
حتی شاید چون از یک نونوایی خیلی خاص، نون سنگک دیجیتالی خاشخاشی گرفتم، و یکم این روزا مثه تخم مرغ گرون شده، ازش هزاران کپی گرفتم و برای فروش توی سایت دیوار گذاشته باشم.
یه مثال ساده تر. این روزا قطعا از نسخه های دیجیتال کتابها مثلاً pdf ها بارها و بارها استفاده کردیم و می کنیم. خب فرض کنیم من نسخهی pdf از یه کتاب رو از سایتی غیر از ناشر اصلی میخرم، یا مثلا یه سرچ تو گوگل میزنم و یک سایت متفرقه به طور رایگان دانلود میکنم. خب از کجا معلوم که این نسخهی دیجیتالی کتاب که من الان دارم از اون سایت نامعلوم می خرمش یا رایگان دانلودش میکنم، همون نسخه ی اصلی کتاب باشه که ناشر داره می فروشتش با محتوای اصلی و درست؟ از کجا معلوم اصلا نسخه ی ویرایش شده یا نسخه ی ناقصش نیست؟ ادامه خواندن “بیتکوین مثه نونسنگک!”
همین ابتدا خیال شما را راحت کنم؛ اگر دستگاهی پردازندهی کامپیوتری دارد، به احتمال خیلی زیاد در معرض خطرات بزرگ امنیتی Meltdown و Spectre هست. موضوع آنقدر جدی است که Brian Krebs یکی از متخصصین مطرح امنیت اطلاعات در وصف آن گفته: «رخنههای ترسناکِ تراشه، شبح فروپاشی را احضار میکنند». اگر میخواهید درباره این خطر جدی و مقابله با آن بدانید، پیشنهاد میکنم تا انتهای مطلب همراه باشید.
بدلیل درخواست صاحب معنوی برخی تصاویر از منظر کپیرایت، این مطلب از انتشار خارج شد.
پیرو باگهای اخیری که کشف شد (Spectre و Meltdown) و هزاران باگی که قبلاً کشف شدن، و امنیت اطلاعات رو بشدت تحت تاثیر قرار دادن، داشتم فکر میکردم که “بهترین، راحتترین، سادهترین، کارامدترین و اساسیترین” راهکارهای امنیت اطلاعات چیا هستن که یکی بتونه حتی به پدر و مادر مسن آموزش بده؟ چند مورد به ذهنم رسید که در ادامه ذکر میکنم: ادامه خواندن “پدربزرگ و حفظ امنیت اطلاعات”
پیرو Route Leakageهای مختلفی که در دنیای اینترنت رخ دادهاست، و همینطور نیاز مبرم Service Providerها، از اواسط سال 2015، در IETF گروه GROW بحثی شروع شد مبنی بر طراحی یک رفتار پیشفرض BGP در رابطه با تبادل روتها با همسایگان خارجی (eBGP).
همانطور که میدانید در RFCهای مرتبط با BGP، علیالخصوص RFC4271، تابحال توضیحی در رابطه با رفتار پیشفرض همسایههای eBGP در تبادل روتها زمانی که Policy خاصی اعمال نشده، ارائه نشده است، و این امر باعث شده که هر وِندوری رفتار سلیقهای داشته باشد.
فارغ از جزئیات، بعنوان نمونه میتوان به مدلهای پیادهسازی زیر اشاره کرد:
بطور پیشفرض دو همسایه eBGP، زمانی که Policy خاصی روی ارتباطات eBGP تنظیم نشده باشد، روتهای انتخابشده در BGP Table خود را به یکدیگر ارسال میکنند و از یکدیگر قبول میکنند.
هیچ روتی ارسال نمیشود و هیچ روتی قبول نمیشود (discard) مگر اینکه Policy متناسبی تنظیم شده باشد.
برخی پیادهسازیها هیچ روتی قبول نمیکنند و فقط روتهای مربوط به AS خود را advertise میکنند.
مثلاً در حالت مثال اول، یکی از مخاطرات ممکن زمانی است که یک AS ناخواسته ترانزیت ارتباط بین ASهای دیگر میشود (در RFC7908 توضیح خوبی دربارهی Lateral ISP-ISP-ISP Leak همراه با دو بررسی دقیق در قسمت منابع، ارائه شده) ادامه خواندن “تغییر رفتار پیشفرض eBGP با RFC8212”