بیت‌کوین مثه نون‌سنگک!

بیت‌کوین ملکه‌ی بیت‌ها 🙂
طی یک‌سال اخیر، محال بوده در هرجای دنیا، با کسی صحبت کنم و اون شخص راجع به بیت کوین (Bitcoin) نشنیده باشه. کلی مطلب در اینترنت راجع به Bitcoin هست، اما اغلب به انگلیسی. البته که مطالب خوب فارسی هم هست. اما مطلب خوبی که خیلی ساده توضیح داده باشه واقعاً قضیه بیت کوین چی هست، کم دیدم.
انقدر درباره‌ی بیت‌کوین و رمزارزها سوال می‌شه که تصمیم گرفتم با استفاده از ایده‌هایی که از مطالب دیگه گرفته بودم، و یکسری مثال که در دنیای واقعی ما ایرانی‌ها ملموس باشه، مطلب ذیل رو آماده کنم و تا جایی که میشه بسادگی نکات مهم قضیه رو توضیح بدم.
چراکه بنظرم قبل از ورود به کاری، مخصوصاً حوزه‌ی ارزهای دیجیتال، بهتره حداقل یک ایده‌ای داشته باشیم که قضیه چی هست و مزایای واقعی اون سیستم رو درک کنیم تا اینکه فقط به این فکر کنیم که با خرید بیتکوین، خیلی سریع پولدار میشیم.
برخی لغات سعی شده صرفاً ترجمه‌ی لغت انگلیسی اون‌ها نباشه، بلکه کلمه‌ای باشه که شفاف‌تر منظور رو برسونه.

تبادل حضوری

یک صبح زیبای جمعه، رفتم ۱ عدد نون سنگک خریدم و دارم برمیگردم که توی کوچه آقای همساده منو نون‌سنگک بدست میبینه و اصرار که «این ۱ عدد نون رو بده بمن به قیمت بیشتری ازت می‌خرم حتی!» بالاخره راضی می‌شم و نون رو تقدیمش می‌کنم، و نهایتاً بقول اون مجری معروف، ۱ نونی که داشتم رو دادم به اون، پس دیگه هیچ نونی ندارم، یعنی من ۰ نون دارم و همساده ۱ نون؛ پس ۰ – ۱ به نفع همساده. 😐

بیت‌کوین / بیت کوین / بیتکوین مثه نون‌سنگک - آقای همساده
آقای همساده و نون‌سنگک!

ساده بود، درسته؟ حالا بیاین یکم فلسفیش کنیم قضیه رو 🙂

۱ نون در دست من بود که بطور فیزیکی اون رو در دست آقای همساده گذاشتم. من اونجا بودم، آقای همساده هم بود؛ هردو می‌دونیم که این اتفاق افتاد. هر دو ۱ نون و تبادلش رو دیدیم و با دستای خودمون تبادل نون رو حس کردیم.
نیاز به شخص ثالثی نبود که کمک کنه این تبادل نون رخ بده و تأیید کنه که این اتفاق افتاده.

حالا اون ۱ نون برای آقای همساده اس و من هیچ کنترلی روی اون ندارم؛ آقای همساده هرجوری که بخواد می‌تونه از اون نون استفاده کنه، با پنیر، گردو، کره یا مربا، هرجوری که بخواد. حتی میتونه تقسیمش کنه و بده به آقای دور، و آقای دور باز نون و تقسیم کنه یا کلش رو بده به آقای مجری، یا بذاره‌اش توی فریزر برای آینده یا هرچی.
و من هم دیگه نونی ندارم که خودم استفاده کنم یا بخوام بدمش به یکی دیگه، مثلاً آقای دور.

به کل این اتفاق می‌گن تبادل حضوری؛ حالا بجای نون سنگک این تبادل می تونست برای کتاب باشه، یا سیب، یا گلابی، هر چی، حتی یک اسکناس!

نون‌سنگکِ دیجیتال (بخوانید بیت‌کوین)

بیت‌کوین / بیت کوین / بیتکوین مثه نون‌سنگک
بیت‌کوین یا نون‌سنگک دیجیتالی؟ مسئله این است!

حالا، فرض کنیم تکنولوژی به جایی رسیده که آدما می‌تونن حتی نون سنگک دیجیتال مصرف کنن و من یک نون سنگک دیجیتال دارم و دوباره میدمش به آقای همساده.

یه نکته مهم رو اینجا باید درنظر گرفت: نون‌سنگک، من و آقای همساده هرکدوم در شبکه‌ی مجازی نون‌سنگک‌ها یک «شناسه یکتا» داریم. «شناسه» می‌تونه یک چیزی باشه شبیه کد ملی که باعث میشه اصغر آقای بقال از اصغر آقای سبزی فروش تو سیستم‌های اداری و … متمایز بشه و مشخص بشه که هر کدوم اینا یه فرد مجزا هستن حتی اگر اسم، فامیل و اسم پدرهاشونم یکی باشه.
توی این شبکه‌ی مجازی نون سنگک دیجیتالی، حتی به تراکنش «تبادل نون‌سنگک دیجیتال» بین ما هم یک شناسه داده می‌شه. (دقیقاً مشابه تراکنشهای بانکی)

در این دنیای دیجیتال، آقای همساده از کجا باور کنه که من دقیقاً همون نون سنگک دیجیتال رو بهش دادم و الان اون کاملاً اختیارش رو داره و ۰ – ۱ هستش قضیه؟ اصلاً آقای همساده شکاک هم هست، میگه: «از کجا معلوم تو این نون رو کپی نکرده باشی و اصلش پیش خودت باشه؟ شاید نون تقلبی بمن دادی. از کجا بفهمم نون رو اصلاً دادی بمن؟ شاید آقای دور یهو اومده نزدیک شده نون رو گرفته باشه اون وسط»
حتی شاید چون از یک نونوایی خیلی خاص، نون سنگک دیجیتالی خاشخاشی گرفتم، و یکم این روزا مثه تخم مرغ گرون شده، ازش هزاران کپی گرفتم و برای فروش توی سایت دیوار گذاشته باشم.

یه مثال ساده تر. این روزا قطعا از نسخه های دیجیتال کتاب‌ها مثلاً pdf ها بارها و بارها استفاده کردیم و می کنیم. خب فرض کنیم من نسخه‌ی pdf از یه کتاب رو از سایتی غیر از ناشر اصلی می‌خرم، یا مثلا یه سرچ تو گوگل میزنم و یک سایت متفرقه به طور رایگان دانلود می‌کنم. خب از کجا معلوم که این نسخه‌ی دیجیتالی کتاب که من الان دارم از اون سایت نامعلوم می خرمش یا رایگان دانلودش میکنم، همون نسخه ی اصلی کتاب باشه که ناشر داره می فروشتش با محتوای اصلی و درست؟ از کجا معلوم اصلا نسخه ی ویرایش شده یا نسخه ی ناقصش نیست؟ ادامه خواندن “بیت‌کوین مثه نون‌سنگک!”

Meltdown و Spectre: دو خانواده‌ی خطرناک برای پردازنده‌ها

همین ابتدا خیال شما را راحت کنم؛ اگر دستگاهی پردازنده‌ی کامپیوتری دارد، به احتمال خیلی زیاد در معرض خطرات  بزرگ امنیتی Meltdown و Spectre هست. موضوع آنقدر جدی است که Brian Krebs یکی از متخصصین مطرح امنیت اطلاعات در وصف آن گفته: «رخنه‎‌های ترسناکِ تراشه، شبح فروپاشی را احضار می‌کنند». اگر می‌خواهید درباره این خطر جدی و مقابله با آن بدانید، پیشنهاد می‌کنم تا انتهای مطلب همراه باشید.

این نوشته بطور اختصاصی برای بلاگ ابر آروان در این لینک نوشته و توسط محمد کلانتری ویرایش شده‌است.
پیشنهاد می‌کنم وبلاگ ابر آروان را دنبال کنید!

Meltdown

شبح فروپاشی

در هفته‌های پایانی سال ۲۰۱۷، سیستم‌عامل‌های ویندوزی و لینوکسی یک سری به‌روزرسانی امنیتی دریافت کردند که نحوه‌ی مدیریت حافظه‌ی مجازی (Virtual Memory) توسط سیستم‌عامل را تغییر می‌داد. حتی در برخی موارد باعث کاهش راندمان ۱۷٪ تا ۵۰٪ هم شده است. هرچند که تحلیل‌ها و گمانه‌زنی‌های مختلفی وجود داشت، اما در ابتدا علت این به‌روزرسانی‌ها و اینکه با چه مشکل امنیتی مقابله می‌کند، مشخص نبود. تا اینکه در سومین روز سال جدید میلادی، کارشناسان امنیتی خبر از وجود باگ‌های سخت‌افزاری بسیار جدی بنام Spectre و Meltdown دادند که مستقیما ریشه در شیوه‌ی کارکرد پردازنده‌های رایانه‌ای (CPU) دارد. به‌وسیله‌ی باگ‌های این دو خانواده، امکان نشت اطلاعات و دسترسی به محتوای برنامه‌های در حال اجرا فراهم می‌شود.

هرچند که برنامه‌ها عموما دسترسی خواندن اطلاعات جاری برنامه‌های دیگر را ندارند، یک بدافزار می‌تواند با بهره‌گیری از حفره‌های امنیتی Meltdown و Spectre، اطلاعات مربوط به حافظه‌ی سایر برنامه‌های در حال اجرا را به دست آورد. یعنی مثلا رمز شما که در مرورگر یا نرم‌افزار مدیریت رمز ذخیره شده، عکس‌های خصوصی، ایمیل، پیغام‌های داخل پیام‌رسان، و حتی اسناد حساس کاری.

حفره‌های Meltdown و Spectre بر روی کامپیوتر شخصی، موبایل و حتی روی ابر هم وجود دارند. گروه‌های مستقل امنیتی جداگانه این آسیب‌پذیری را کشف کرده‌اند، که در راس آن‌ها پروژه Zero گوگل قرار دارد. وصله‌های امنیتی لازم برای مقابله با آن هم پیش از اعلام عمومی تا جای ممکن آماده شده بود. ولی این حفره‌ها بیشتر جنبه‌ی سخت‌افزاری دارد و در نتیجه عمیق‌تر و زیرساختی‌تر از آن است که به راحتی بتوان جلوی آن‌ها را گرفت. ادامه خواندن “Meltdown و Spectre: دو خانواده‌ی خطرناک برای پردازنده‌ها”

پدربزرگ و حفظ امنیت اطلاعات

پدربزرگ و امنیت اطلاعات
تصویر: PathDoc/Shutterstock

پیرو باگ‌های اخیری که کشف شد (Spectre و Meltdown) و هزاران باگی که قبلاً کشف شدن، و امنیت اطلاعات رو بشدت تحت تاثیر قرار دادن، داشتم فکر میکردم که “بهترین، راحت‌ترین، ساده‌ترین، کارامدترین و اساسی‌ترین” راه‌کارهای امنیت اطلاعات چیا هستن که یکی بتونه حتی به پدر و مادر مسن آموزش بده؟ چند مورد به ذهنم رسید که در ادامه ذکر می‌کنم: ادامه خواندن “پدربزرگ و حفظ امنیت اطلاعات”

تغییر رفتار پیش‌فرض eBGP با RFC8212

پیرو Route Leakage‌های مختلفی که در دنیای اینترنت رخ داده‌است، و همینطور نیاز مبرم Service Providerها، از اواسط سال ۲۰۱۵، در 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”

زوایای پنهان عملکرد IPv6؛ مزایا و تصورات اشتباه

در نوشته ها و گفته های متعدد در رابطه با IPv6 با این عبارت روبه رو می شویم که:

‏IPv6‎‏ عملکرد بهتری نسبت به ‏IPv4‎‏ دارد.

و گاهی ‏در پی این عبارت دلایلی نیز آورده می شود. اما چه میزان این مطلب و دلایلی که در پی آن به عنوان مواردی برای ‏بهبود عملکرد ‏IPv6‎‏ مطرح می شوند، صحت دارند؟ ‏بیان بسیاری از این دلایل شاید تنها در وجهه‌ی عمومی و همراه ساختن عموم جامعه در حرکت به سمت استفاده از IPv6 قانع‌کننده و مقبول باشند اما از لحاظ فنی این انتظار وجود دارد که یک کارشناس حوزه‌ی اینترنت، توانایی استدلال در رد یا قبول هر یک از دلایلی که در پی این عبارت مطرح می شوند را داشته باشد. در این مقاله قصد داریم تا نگاهی فنی تر به این دلایل داشته باشیم.

***

در IPv6 انجام تغییراتی در ساختار و قالب این پروتکل سبب ایجاد بهبود کارایی آن در برخی موارد گشته که عبارتند از:

۱-‏ فضای آدرس دهی بسیار بزرگتر
اولین مزیتی که برای ‏IPv6‎‏ ‏ بیان می شود آن است که ‏IPv6‎‏ فضای آدرس دهی بزرگتری نسبت به ‏IPv4‎‏ ‏داشته و به همین دلیل می تواند تعداد آدرس های بیشتری را فراهم آورد. بله این عبارت درست است! ‏IPv6‎‏ ‏به دلیل ۱۲۸ بیتی بودن قادر است تقریبا ‏‎۳٫۴*۱۰^۳۸‎‏ آدرس ممکن را فراهم کند که با گسترش شبکه ها ‏و افزایش دستگاه هایی که توانایی اتصال به اینترنت را دارند، این مقدار آدرس ‏IP‏ تا مدت های زیادی ‏جوابگوی نیازها خواهد بود. اما این موضوع چه ارتباطی با بهبود عملکرد ‏IPv6‎‏ ‏دارد؟

تصور کنید آنقدر آدرس ‏IP‏ وجود دارد که هر دستگاه می تواند Public IP (آدرس عمومی اینترنی) متعلق به خود را داشته ‏باشد. دقت کنید که گفته شد آدرس Public IP‏. بله دقیقا منظور آدرس های ‏IP‏ ای هستند که در دنیای اینترنت ‏قابل مسیریابی می باشند. به نظر شما زمانی که هر دستگاه بتواند یک آدرس ‏Public IP مخصوص به خود ‏داشته باشد و خود به صورت مستقیم به اینترنت متصل گردد، چه مزیتی وجود خواهد داشت؟

برای رسیدن به جواب این سوال، به چندین سال قبل، زمانی که برای اولین بار احساس شد که آدرس های عمومیِ ‏IPv4‏ رو به اتمام هستند، باز می گردیم. در آن زمان اولین راهکاری که برای نجات ‏IPv4‎‏ ‏از این ‏اوضاع مطرح شد، راهکاری به اسم ‏Network Address Translation‏ یا همان ‏NAT‏ بود.

عملی که این ‏راهکار انجام می داد آن بود که دستگاه‌هایی که در داخل یک ساختار (مثلا دستگاه های داخل یک سازمان یا ‏دستگاه های داخل خانه و یا …) قرار داشتند، برای آن که بتوانند با هم ارتباط برقرار نمایند، از آدرس هایی ‏استفاده می کردند معروف به Private IPv4 (‏RFC1918‎‏) که این آدرس ها در اینترنت قابل مسیریابی نبودند و اگر قرار بود این دستگاه ها به اینترنت متصل ‏شوند و با سایر دستگاه ها در دنیای اینترنت ارتباط داشته باشند، Private IP‏ آن ها توسط ‏gateway‏ آن ساختار (مثلا مودم یا روتر) به یک Public IP‏ ترجمه می شد. به این ترتیب دیگر ‏نیازی نبود که همه‌ی دستگاه های درون یک ساختار یک IP آدرس ‏Public‏ مجزا و مخصوص به خود داشته ‏باشند، بلکه کافی بود به کل ساختاری که دستگاه ها در آن قرار داشتند تنها یک آدرس ‏عمومی IPv4 تعلق ‏گیرد و هر دستگاهی که قصد برقراری ارتباط با اینترنت را داشت، آدرس ‏Private‏ آن به آدرس ‏Public‏ ‏اختصاص یافته به ساختار ترجمه می گشت. ‏ ادامه خواندن “زوایای پنهان عملکرد IPv6؛ مزایا و تصورات اشتباه”