در رادیوگیک ۱۴۳ از ماجرای هیجان انگیز هکرهایی میگیم که سعی کردن دستگاه شنودی به کابل زیراقیانوس وصل کنن، از کشف جرم با بررسی سرچهای گوگل حرف میزنیم و میبینیم چطوری اخطار کوید معترضین در چین قرمز میشه تا نتونن هتلشون رو ترک کنن. همینطور از قرص جایگزین ورزش و دیپ فیک در مصاحبه شغلی و کلی چیز دیگه.
یا توی برنامه های پادکست دنبال «کیبرد آزاد» یا «جادی» یا «رادیوگیک» یا jadi یا radiogeek بگردین. هر کسی رادیوگیک رو پیدا نمی کنه، شانس می خواد و البته آنتی فیلتر خوب (: چون فیلترچی به طور خاص رادیوگیک رو دوست نداره (:
و البته ایده جدید که اگر توشون سابسکرایب کنین / مشترک بشین یا هر چی بهش میگن، خوشحال می شم:
در رادیوگیک شماره ۱۲۹ از سوراخ کلید به داخل اتاق نگاه میکنیم و بررسی میکنیم که چرا دیروز فیسبوک و ملحقاتش از اینترنت محو شده بودن. نگاهی به قوانین اتحادیه اروپا داریم و با زیرنویس هایی که تازه کشفشون کردیم ور میریم. با ما باشین که دنیا هکرهای بیشتری لازم داره!
یا توی برنامه های پادکست دنبال «کیبرد آزاد» یا «جادی» یا «رادیوگیک» یا jadi یا radiogeek بگردین. هر کسی رادیوگیک رو پیدا نمی کنه، شانس می خواد و البته آنتی فیلتر خوب (: چون فیلترچی به طور خاص رادیوگیک رو دوست نداره (:
و البته ایده جدید که اگر توشون سابسکرایب کنین / مشترک بشین یا هر چی بهش میگن، خوشحال می شم:
تکنولوژیهای جدید که میان، کسی به فکر امنیت اونها نیست. اولش همه جو گیرن که فلان چیز اومده و وقتی دنیا رو برداشت، تازه یادشون میافته که «اوه این که امن نیست». زندگی اکثر هکرهای امروزی از همین ماجرا می گذره (: یکی از قهرمانهای این موضوع، وایفای بود. رمزگذاری اولیه WEP اونقدر داغون بود که اصولا باعث خنده و شوخی دائمی شد و هنوزم اگر کسی اشتباه کنه و سیستمش رو WEP بذاره، احتمالا یکی در همسایگی اش هست که روی لپ تاپ خونگی اش چند ساعته پسورد رو بشکنه. بعد WPA و WPA2 اومدن و کلی وضع رو بهتر کردن ولی در بهترین وضعیت نبودیم و نیستیم. بخصوص با اینهمه دیوایس وای فای دار که این روزها میبینیم، از اسباب بازی و در خونه تا سکس توی و خودرو.
حالا WPA3 اومده و از امروز، Wifi Alliance شروع کرده به گواهی دادن به دستگاههایی که ازش استفاده کنن. این پروتکل جدید، دو تغییر عمده داره:
مکانیزم ضد حدس زدن پسورد، حملات مبتنی بر دیکشنری (اینکه تمام کلمات یا ترکیبهای دیکشنری رو یکی یکی تست کنین) رو بسیار سختتر کرده چون دیگه نمیشه پسورد رو آفلاین چک کرد و برای بررسی پسورد حتما باید با روتر حرف زد.
حالا forward Secrecy داریم (محرمانگی رو به جلو؟) به این معنی که اگر الان اطلاعات رو رمزنگاری کنیم ولی در آینده یکی بتونه سیستم رو هک کنه، به اطلاعات الان دسترسی نخواهد داشت. این هم مطمئنا برای سیستمهای شبکهای و اینترنت چیزها بسیار مهمه.
البته همونطور که گفتم تازه از امروز دستگاههایی با این مشخصه اجازه انتشار پیدا کردن و اولین شرکتها احتمالا مدتی وقت لازم دارن تا اولین مجوزهاشون رو بگیرن و دستگاهها رو به بازار بدن. نکته مثبت هم سازگاری رو به عقب است که باعث میشه بتونیم شبکههایی ترکیبی از WPA2 و WPA3 داشته باشیم و بی دردسر خورد خورد از قابلیتهای WPA3 استفاده کنیم.
توی این جادی.تی وی یک هک می کنیم (: دوستان خوب دلیون اجازه دادن که با تمرکز روی بازی کلاینت سایدی که طراحی کرده بودن، یک شکل از هک رو آموزش بدم: شنود ارتباطات با ابزارهای مرد میانی و دستکاری اونها به شکلی که لازم داریم تا بتونیم صبحانه مجانی بخوریم (:
دوست خوبم همایون عزآبادی یک ایمیل زده که فکر کنم قسمت آخرش به طور مستقیم به درد همه میخوره و من با ادیت خیلی کم براتون میارمش.
[….]
هدفم از این ایمیل معرفی یک سوژه برای رادیو و یا وبلاگت هست. فکر میکنم یه زمینه خوب کاری هست برای شروع استارت آپ های جهانی برای برنامه نویسها و مخابراتی ها.
سوژه در مورد Software-Defined Networking (SDN) هست و قابلیتهایی که برای کار در یه کشور در حال توسعه داره. به طور خاص مورد نظرم ONF (openflow network foundation) هست که یک ارگانیزیشن هست متشکل از بزرگان صنعت مخابرات (سیسکو و اچ بی – اریکسون – نوکیا – گوگل و … که داره استاندارد هارو برای SDN مشخص میکنه.
خلاصه اگه بخوام بگم سیستم های سوییچینگ و روترها برای سرویس پروایدر ها دیگه جواب نمیدن و توجیه افتصادی هم ندارن. این معماری جدید میاد سخت افزار پردازش پکت هارو از لایه تصمیم گیری که پکت رو برا کی و کجا بفرسته جدا میکنه.
یه ایده ای هست تو شرکت های نرمافزاری مونترال که اعتقاد دارن که همیشه سخت افزار از نرم افزار جلوتره و همیشه کلی سخت افزار با فابلیت و رانندمان بهتر هست که طول میکشه کسی براش سیتم عامل و یا درایور به درد بخور بنویسه. پس همیشه اگه برای سخت افزار امروز روز شروع کنی به برنامه ساختن از همه جلوتری.
حداقل الان تو زمینه پردازشگرهای شبکه که اینطوریه. پردازشگرهای شبکه به سرعت در حال پیشرفتن و شرکت های کمی هستند که تونستن بخشی از ظرقیت اونها روو استفاده کنن.
شرکتی که من توش کار میکنم یه استارتآپ موفقه که همین کار رو میکنه. ۲۰۱۲ چهار نقر دانشجو شروع کردن به کار روی سوییچ های بر مبنای SDN به عنوان پروژه دانشجویی و الان اوضاع مرتبی دارن. همچنان ۶- ۷ نفر برنامه نویس داره شرکت و داره خوب پیش میره. البته به ازای این تیم کوچیک یه تیم ۴ نقره مدیریت با سابقه و چند سرمایه گذار عالی هم هستند که عملا همه موقیت استارتاپ به مدیریت اونها و بازاریابی و جذب سرمایه ای که انجام دادن وابستس.
خیلی نمی خوام حاشیه برم. شرکت ما یه شرکت نرم اقزاریه که سوییچ هایی با ظرقیت بالا میسازه که سوییجینگ و روتینگ روی لایه ها ی ۲ تا ۷ انحام میده. مثلا روی پورت ۴۰ گیگ میتونی برا اساس ترکیبی از mac , IP, TCP port و حتی دیتای تو ی پکت روتینگ رو مشخص کنی (مثلا اگه دیتای تو پکت aaaa باشه میفرسته به پرت ۱ و اگه bbb باشه میفرسته به پورت ۲).
سوییچ میتونه با سرعت ۲۶۰ GBPS هر پکت رو با حداکثر ۳ میلیون دستور روتینگ (flow entry) مقایسه بکنه و پکت رو فوروارد کنه به پورت مورد نظر یا بهش لایه اضافه کنه (مثلا vlan یا mpls) یا کم کنه و بعد بفرسته به هر جا.
اما سوییج برای تصمیم گیری برای روتینگ هیج کاری انجام نمیده و کل این کار رو یک یا چند سرور دیگه controller انجام میدن. درواقع این کنترل هست که میگه کی کحا بره. اینطوری میشه یه کنترلر که به چندتا سوییچ در مکانهای مختلف وصله کلی سرویس اختصاصی رو که الان راه انندازییش پر هزینه و محدوده رو راه بندازه و کل نتورک رو با هم مدیریت کنه. اما یه امکان دیگه هم داره که خیلی به درد میخوره Scale-Out Router عملا میتونی یک روتر داشته باشی که پورت ۱ تا ۲۰ تو تهران باشه ۲۱ تا ۳۰ تو شیراز و هر زمان نیاز شد ۳۱ تا ۴۰ رو تو یه شهر دیگه داشته باشی.
اما چرا فک میکنم که این جریان به درد استارتاپ تو ایران میخوره:
۱- کل این قابلیت ها که سوییج میتونه انجام بده مدیون سخت اقزار(تراشه) خوبیه که شرکت EZCHIP و Broadcom میسازن و در دست رس همه هست. سیسکو هم در یه سری از سوییچ هاش از ezchip استفاده میکنه. شرکت ما تراشه نت ورک رو از ezchip میگیره به pc با i7 و ۸ مگ رم میزاره کنارش با یه سری اینترفیس میده یه شرکت سخت افزاری که براش لحیم کاری ها رو انحام بدن و میشه سخت افزار ما. با فرض برداشته شدن تحریم ها تو ایران هم در دست رس هست. ۲- تمامی پرتکل هاش اوپن سورس هستن و در دست رس همه OpenFlow ۳- به جز سوییچ بخش کنترلر هم هست که یه پرداکت کاملا جداس که کاملا ترم افزاریه و خیلی جای کار داره. شرکت های بزرگی دارن روش کار مکنن اما خیلی کار داره هنوز.
کلی پروژه اوپن سورس هست مثل ryu و faucet که گوگل داره روش کار میکنه. پروژه ryu با پایتون کد شده و میشه باهاش کلی کنترلر با سرویس ها ی جداب و سفارشی درست کرد. پروژه http://openvswitch.org هم هست که میشه باهاش بدون اینکه سوییچ های گرون قبمت داشت کنترلر رو توسعه داد و تست کرد.
کلا اکثر موارد مربوط به SDN با عبارت open شروع میشن. که دروازه ورود بهش linux هست و python. اگر هم کسی هست که دنبال یادگیریه شبکه و لینوکس و پایتون با همه این بهانه خوبیه برا سرگرمی. بازم ممنون بابت رادیو و آموزش لینوکس. و شرمندگی بابت پریشانی متن و غلظ های املایی انشایی زیاد.
بالاخره رای حساس داده شد و دولت آمریکا اعلام کرد که در کشورش، اینترنت باید در زمره «سرویسهای مخابراتی تایتل ۲» طبقه بندی بشه، یعنی چیزی شبیه تلفن.
این رای به این معنی است که از این به بعد ISPهای آمریکایی اجازه ندارن هیچ محتوایی رو فیلتر کنن یا به صلاحدید خودشون حذف کنن، اجازه ندارن به عمد سرعت یا کیفیت سرویسی خاص رو پایین بیارن یا به یک دستگاه یا شرکت خاص سرویسی بهتر بدن فقط چون محتوا چیز خاصی است (مثلا بگن ویدئویی که از گوگل می گیرین کیفتی بهتر از ویدئوی vimeo داره یا مثلا فلان چیز چون توی امریکا هاست شده، دسترسی بهش باید راحتتر باشه و چیزهایی که بیرون آمریکا هستن باید کندتر بشن).
در واقع این رای بسیار مهم باعث می شه اینترنت در همه آمریکا دقیقا چیزی باشه که توی ایران نیست: بی طرف. اینترنت باید مثل یک لوله باشه که مستقل از اینکه کی چی می خواد توش انتقال بده، اونو انتقال بده. طرفداران بستن اینترنت آزاد و شرکت های تجاری که می خواستن از طریق سریعتر کردن بعضی سرویس ها، از صاحبانشون پول بگیرن یا مثلا اینترنتی بفروشن که ویدئو نداشته باشه و بعد برای ویدئو پول جدا بگیرن اصلی ترین نیروهای فشار به سمت عدم تصویب این قانون بودن.
من یه سوال فنی دارم، چرا وقتی به اپلیکیشن مثل وایبر رو میخوایم اپدیت کنیم حجمی معادل حجم اپلیکیشن رو دانلود کنیم؟ مگه فقط مقدار کمی از کدها و برنامه تغییر نمیکنن؟
اینجا دو نکته هست. اول اینکه وقتی برنامه نویس، نوشتن برنامه اش به زبان قابل فهم برای انسانها (مثلا سی) رو تموم می کنه، اون رو کمپایل می کنه که برابر تبدیل متن قابل خوندن توسط انسان، به متن قابل خوندن توسط ماشین است. این برنامه کمپایل شده اون چیزی است که ما دانلود و اجراش می کنیم. حالا ممکنه یک تغییر بسیار ریز در متن برنامه باعث تغییرات بزرگی در برنامه کمپایل شده بشه. در نتیجه اون تغییر ریز، تغییرات بزرگی رو در برنامه اجرایی ایجاد کرده که ما مجبور دانلودشون کنیم.
اما حرف تو هم صحیحه! به هرحال بخشهایی از این برنامه مثل قبل است و احتمالا فایل اجرایی نهایی هم مشابهتهایی با فایل قبلی خواهد داشت. همینجاست که برنامه هایی درست شدن برای تشخیص این اختلاف و دادن تفاوتها به کاربر برای دانلود اما در این حالت نیازمند برنامه ای هستیم که روی کامپیوتر ما این تفاوت ها رو به فایل اصلی که از قبل داشتیم اعمال کنه و اینکار پیچیده است. در لینوکس به این برنامه diff گفته میشه.
برای روشنتر شدن بهتره به یک کتاب فکر کنی. نسخه اول کتاب رو داری و ناشر تغییراتی توی اون می ده! حالا دو تا راه حل داریم: فرستادن کتاب جدید برای تو یا فرستادن یک لیست از تغییرات و اینکه تو بشینی پاراگرافهای تغییر کرده رو پیدا کنی و با متن های جدید (که شاید طولشون با طول متن قبلی فرق کنه) جایگزین کنی و مثلا اگر جایی کلی متن اضافه شده باشه مجبور بشی صفحات سفیدی لای کتاب بچسبونی و متن جدید رو روشون بنویسی و بعد شماره صفحههای توی فهرست رو اصلاح کنی و ….
می بینی که روش دوم کمی دردسر داره و با توجه به این دردسر و بخصوص سرعت خیلی زیاد اینترنت در جهان، توسعه دهنده ها ترجیح می دن به جای رفتن سراغ پیدا کردن تفاوتها و مقایسه اون با نسخه ای که تو داری و تغییر دادن متن برنامهها، یکضرب فایل جدید رو به تو بدن تا مطمئن باشن که همه چیز به درستی کار می کنه.
هلند یک قانون مهم رو تصویب کرد که دیوار دفاعی محکمیه برای حفظ آزادی های مردم: بی طرفی شبکه. بی طرفی شبکه یعنی ارائه دهنده اینترنت نباید در ترافیک شبکه من دست ببره. ارائه دهنده اینترنت باید مثل ارائه دهنده سیم برق باشه که سیم رو به خونه من می رسه و بعد من هر دستگاهی رو می خوام باهاش روشن می کنم. این کاملا مخالف با این ایده است که به یک نفر سیم برق بدین ولی بگین فقط وسایل ال جی رو می تونه با این روشن کنه یا حق نداره هیچ سیستم گرمایشی رو باهاش راه بندازه. اگر شبکه بی طرف نباشه ممکنه مثلا فیسبوک رو خیلی راحت تر از یوتوب لود کنه تا شما رو سوق بده به سمت استفاده از ویدئوهای روی فیسبوک به عنوان یک مثال دیگه ممکنه در یک شبکه غیربی طرف سایت های طرفدار فلان سیستم خیلی سریع و راحت لود بشن و در مقابل کسی که دوست نداره مردم خبرهای واقعی رو بخونن دستش رو بذاره رو حلق هر سایتی که به شکل مستقل خبر منتشر می کنه و اونها رو کند و کند و کندتر کنه. هلندی ها همچنین بر اساس این قانون حفاظت شدن در برابر شنود و ابزارهای شنودی که ممکنه سرویس دهنده های اینترنت سر مسیر ارتباطی اونها نصب کنن و در ضمن تاکید شده که به خاطر اهمیت اینترنت، قطع کردن اینترنت یک انسان فقط و فقط در شرایط بسیار خاص قابل توجیه است و شرکت ها حق ندارن اینترنت کسی رو قطع کنن.