چک کردن سورس سودو برای بررسی باگ امنیتی CVE-2019-14287

می خواستم نگاهی به سورس سودو بندازم و فکر کردم چرا باز کردن و پیدا کردنش رو ضبط نکنم. الزاما قرار نیست اینجا برنامه نویسی،‌ مرکوریال،‌ مک یا هر چیز دگیه ای یاد بگیریم بلکه قراره ببنیم یک نقطه شروع دیگه برای خوندن سورس کجاست
آپارات و یوتوب

هکرهای روسی «خرس تنبل» بعد از سال‌ها مخفی بودن، کشف شدند

اسم تیم هکری، Cozy Bear است و تنبل شاید ترجمه مناسبی نباشه اما این خیلی مهم نیست. نکته مهم این تیم هکری که احتمالا به دولت روسیه نزدیکه، اینه که چند سال با ابزارهایی که قبلا شناخته شده نبود کار می کردن و لو نرفتن. در واقع بخش جذاب «عملیات روح» شیوه ارتباط کامپیوترهای هک شده با سیستم دستور و کنترل (Command and Control) یا به شکل مخفف C2 است.

مساله اینه که اگر شما یه کامپیوتر رو هک کنین، این کامپیوتر باید با یک مرکز تماس بگیره و اطلاعات رو به اون بفرسته و دستورات بعدی رو دریافت کنه. این مساله همیشه دردسر درست می کنه چون با لو رفتن اون مرکز، کامپیوترهای هک شده هم لو می رن یا اصولا ارتباطشون با هکرها قطع می شه.

تیم خرس تنبل از ۲۰۱۳ با اسم هایی مثل CozyDuke و APT29 و CozyCar و Office Monkey مورد اشاره قرار گرفته و جاهایی مثل وزرای اروپایی و سفارت آمریکا و اخیرا دولت نروژ رو هدف قرار داده. ظاهرا اونها با فیشینگ (ماحی گیری) کامپیوترها رو آلوده می کردن و بر اساس اهمیت اون کامپیوتر، بک دورهای دیگه ای روش نصب می کردن. اما نکته بامزه، شیوه ارتباط این بک دورها با C2ها است.

همونطور که توی عکس بالا می بینین حداقل از ۲۰۱۴، ابزارهای دوک (شامل مینی دوک و پالی گات دوک) برای ارتباط از شبکه های اجتماعی مثل ردیت، توییتر و ایمجر استفاده می کنن. در اصل اونها یو آر ال های کد شده سرورهای فرمان و کنترلشون رو تو این شبکه ها می ذارن و کامپیوترها آلوده با چک کردن این لینک ها، به سرورهای C2 متصل می شن! مثلا این توییت هم حاوی یه یو آر ال کد شده است که کامپیوترهای آلوده شده با چک کردن اونها کشف می کنن قراره به کجا وصل بشن.

کدی که می تونه از بیت مپ تصویری که توی یه سایت به اشتراک گذاری تصویر، یو آر ال رو در بیاره چنین چیزی می شه:

برای دیدن گزارش کامل ESET از ابزارهای کوزی بیر، این لینک رو نگاه کنین. ESET از روی تاریخ کمپایل ابزارها معتقده کمپین عملیات روح، از حوالی ۲۰۱۳ شروع شده و تا الان ادامه داره هرچند که بعد از این گزارش مطمئنا دیگه اونها رو نخواهیم داد و احتمالا به شکل جدیدی کارشون رو ادامه خواهند داد. یادتون باشه که ندیدن هکرها به معنی نبودن هکرها نیست (:

لینک‌های شاد دوشنبه آخر ماه – مهر ۹۸ – از انیمیشن عالی تا وی پی اس مکی!


– انیمیشن‌های دیاسپوران هم مجموعه جالبی هستن: تجربه ای از مهاجرت که دنیز و دوست گرافیستش درست می کنن. در یوتوب ببینید؛ منم گذاشته ام که ببینم (:
– سایت مایند وی در مورد روان شناسی است، دنبال کردنش بعد از مدتی کلی چیز خوب بهتون نشون خواهد داد.
– برنامه نویس تست اسطوره من، برام تستش رو فرستاده بود که معرفی کنم. معمولا این تیپ چیزها رو معرفی نمی کنم ولی این رو زدم و نتیجه اش بانمک بود. اسطوره من شد شهراسب، منطقی و پیر با چوب دستی (: اگر دوست داشتین شما هم اسطوره من رو تست کنین.
– تخمین های ناممکن؟ مثلا اینکه در روز چقدر حرف می زنیم؟ یا اگر کل راه رفتن هامون رو کنار هم بذارن چقدر می شه؟ یا … اینها رو توی مارتلون – پاسخ تخمینی سوالات عجیب پیدا می کنین
– مهدی هم یه پروژه ضد سانسور داره به اسم تور باکس که به شما یه امکان رد کردن ترافیک از تور رو می ده و روی داکر و رزبری هم می تونه بالا بیاد که راحت باشین
– سیستم هیلاپی هم یه سیستم پرداخت درون برنامه ای است که حتی اگر برنامه نویس نیستین بتونین ازش استفاده کنین. اگر اپ می نویسین شاید به درد بخوره
– امیر هم یه ایمیج داکر ساخته برای لاراول روی نسخه 6 ساخته که از اینجا می تونین بگیرینش یا چکش کنین
– استارتاپ بلاکچینی ثبت شد هم یه استارتاپ است که می تونین روی بلاکچینش مالکیتون بر یک اثر یا محتوا یا اطلاعاتی که لازمه توالی و حضورش در دوره ای خاص ثبت بشه رو ثبت کنین. من استفاده نکردم ولی به هرحال این روزها ایده های بلاکچینی داغ هستن.
– یک سرویس عجیب و جالب هم مال دوستانی است که مک وی پی اس رو راه انداختن (: توش می تونین وی پی اس / ماشین مجازی مک بخرین برای برنامه نویسی، تجربه مک، رد شدن از سانسو رو بقیه چیزها

کنفرانس ها


اگر هم شما کنفرانس، سرویس بازمتن یا سایتی کمک کننده به برنامه نویس ها و موارد مشابه دارین یا سایت و وبلاگ وچیزی که دوست دارین دیده بشه، می تونین برام ایمیلش کنین و دوشنبه آخر ماه ممکنه معرفی بشه (: اگر می خوایم دنیا بهتر باشه، باید به هم وصل تر باشیم و بیشتر پشت هم و چیزهایی که فکر می کنیم خوبن، بایستیم.

رادیوگیک – شماره ۰۹۶ – جنگ سایبری

این روزها اصطلاح جنگ سایبری رو زیاد می شنویم. آیا ما درگیر یه جنگ سایبری هستیم؟ آیا اصلا چنین مفهومی داریم و اگر داریم تعاریف، استراتژی‌ها، وضعیت و تاریخ عملی اش چیه؟ توی این رادیوی زنده که در خانه کارمان اجرا شد، به این مساله نگاه می کنیم. ببخشید اگر صدا و ادیت از همیشه بدتره و امیدوارم فضای زنده اجرا، ضعف های ضبط و ادیت رو کمی بپوشونه!

و البته اگر دوست دارین، پسوند رو بکنین ogg و فایل رو بگیرین.

با این لینک‌ها مشترک رادیوگیک بشین

اخبار

هکتبرفست، با تحریم بودن کشورمون چه کنیم؟

می دونیم که هکتبرفست است و اگر چهار تا پی آر توی گیت هاب بزنین، ممکنه بهتون پیشنهاد بده که براتون سوئگ (swag) شامل تی شرت و اینها می فرسته. ولی این رو هم عمیق تر می دونیم که سیاست های کشورمون جوریه که دنیا ترجیح می ده تحریمش کنه. این دو تا رو که با هم قاطی کنیم یه ناراحتی بزرگ درست می کنه: ذوق دریافت تی شرتمون با جواب «به ایران نمی تونیم بفرستیم» کور می شه. تنها راه حل اینه که یا کشورمون رو درست کنیم که فعلا تواین هکتبرفست عملی نیست یا یه نفر رو در کشوری به جز کره شمالی و ایران داشته باشیم که بتونه آدرسش رو بدیم و جایزه هامون رو اون بگیره و بعدا برامون بیاره یا یه جوری بفرسته.

اما خب خیلی هامون این امکان رو نداریم. و اینجا پیشنهاددوست خوبمون فرود مطرح می شه: یک نفر داوطلب که خارج زندگی می کنه آدرسش رو بده ما استفاده کنیم و اون تی شرت رو بگیره و بعدا یه جوری بهمون برسونه.

اما این روش آسونی نیست. کسی که آدرس می ده احتمالا بیشتر از سه چهار تا تی شرت نمی تونه تحویل بگیره و همچنین دردسر خیلی زیادی متحمل می شه. هم دریافتش می کنه هم باید نگهش داره و هم باید بعدا یک جوری به ما برسونه. احتمالا از طریق پیدا کردن یه مسافر یا دوست که میاد ایران و اون هم قبول کنه یه بسته رو بیاره – که اگر من باشم حتما ترجیح می دم بسته رو باز کنم و توش رو نگاه کنم که در گمرک به مشکلی بر نخورم. در واقع این یه لطف بزرگ است که شاید کسانی باشن که بخوان برای بقیه و برای حل کردن مشکلی که چند سال قبل خودشون هم درگیرش بودن انجامش بدن. پس ما دو گروه آدم که اولی ها خیلی مهربون هستن و اگر می خوان مشارکت کنن لطفا به من یه ایمیل بزنن. بذارین دقیق تر بگم:

اگر خارج زندگی می کنین و حاضرین کمک کنین

  • لطفا به من یه ایمیل بزنین و مساله رو اعلام کنین. بعد اگر کسی بود که این کمک رو می خواست من ایمیل شما رو بهش می دم – سعی می کنم بار رو تقسیم کنم و به هر کس بیشتر از چهار نفر رو معرفی نکنم. مگر اینکه خودتون دوباره درخواست بدین
  • شما آدرس خودتون رو به کسی می دین که دیجیتال اوشن قراره براش یه هدیه در حد یه تی شرت بفرسته و شما تی شرت رو دریافت می کنین و در یک سفر به ایران یا توسط یکی که میاد برای طرف می فرستین
  • هیچ فشار زمانی نباید روی شما باشد و کسی که درخواست کرده باید این رو بفهمه

اگر در ایران هستین و برنده شدین و کسی رو در خارج ندارین

  • می تونین به من ایمیل بزنین، اگر کسی بود که داوطلب شده بود آدرسش رو بده به شما معرفی اش می کن
  • شما آدرس اون رو به دیجیتال اوشن می دین
  • با درک اینکه اون داره خیلی لطف می کنه، منتظر می مونین تا شاید زمانی بتونه تی شرت رو به شما برسونه. احتمالا از طریق یه مسافر و اینها
  • درک هم می کنین که نه من نه کسی که آدرسش رو داده مسولیتی نداره. یه تلاش است و لطف و دوستی. اگر بهتون گفت «اصلا بسته پستی ای نیومد» باید حرفش رو کاملا قبول کرد با دوستی (:

ببینیم چی می شه. در ضمن یک شرکت پستی هم پیشنهاد کرده بخشی از این مساله رو بپذیره و اگر بشه حتما با اسم معرفی می کنم که تبلیغی براش باشه.

پ.ن. تازه باید بشینیم ببینیم اصلا دیجیتال اوشن امسال به ایرانی ها جایزه می ده یا نه (:
پ.ن.۲. jadijadi gmail

چطوری سورس بخونیم؟ دوره بلاکچین و رمزارزها و بیت کوین – جلسه ۰۰۷ – خوندن سورس بیت کوین

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

به هرحال، در این قسمت از مجموعه دوره بلاکچین و رمزارزها و بیت کوین (که لایو استریم می شه و توی توییتر و کانال تلگرامم خبرش رو می زنم) رسیدیم به جایی که می خوایم اولین نگاه رو به سورس بیت کوین بندازیم و چند تا سوال بچه ها رو از روش جواب بدیم. سوال ها اینها هستن:

  • یک نود که برای اولین بار اجرا می شه، از کجا می فهمه چطوری باید به شبکه وصل بشه؟
  • ماینر چطوری بلاک رو از شبکه می گیره و سعی می کنه اونو ماین کنه؟
  • اگر کسی هی روی شبکه چرت و پرت بفرسته و انرژی بقیه رو بیخودی حروم کنه، چی می شه؟

معلومه که این بالا و پایین کردن سریع کد به معنی «فهم» کند تیست بلکه بحث ریختن ترس است (: و پیدا کردن یک نقطه شروع. اکثر چیزهای سخت، سختن چون شروعشون رو عقب می ندازیم چون هی به کلش نگاه می کنیم و حاضر نیستیم از یه جای ریزش وارد بشیم. دقیقا به یک کوه فکر کنین که از دور نگاهش میکنین و می گین «واقعا چطوری باید از این رد شد؟» ولی وقتی قدم تو راه می ذارین و ادامه می دین، یکهو می بینین که رد شدین. به نظرم بهترین مثاله برای خوندن یه سورس بزرگ.

معلومه که برام خوشحال کننده است اگر بحث رو دوست دارین، عضو کانال های یوتوب و آپارات و توییچ بشین (:

پیدا کردن ایشوهای ساده برای مشارکت در هکتبرفست

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

در واقع ایده اصلی هکتبرفست اینه که دست شما در کارهای واقعی روون‌ بشه. در نتیجه اگر مهارتی دارین که فکر می کنین به اندازه کافی توش پیش رفتین و می تونین کارهای واقعی بکنین الان باید آستین بالا بزنین. در هر حوزه ای که باشین یاد گرفتن گیت و درک عمومی مفهوم پول ریکوئست قدم اوله – البته با فرض اینکه در حد برقراری ارتباط، از پس زبان بر میاین. بعدش باید یک پروژه پیدا کنین که توش مشارکت کنین. خیلی از پروژه ها در صفحه issue (مشکلات) می نویسن چه مشکلاتی دارن یا قدم بعدی شون چیه. اونها همچنین برای پیدا شدن راحتتر مشکلات آسونی که یه تازه کار می تونه برش داره، برچسب هایی مثل up for grabs، low hanging fuit و از بیشتر good first issue می زنن تا بگن این مساله، به نظرشون پیچیدگی خاصی نداره و مناسبه برای کسی که تازه می خواد با ماجرا آشنا بشه.

پس کافیه به گیت هاب برین و در سرچ بار چیزی مثل این بزنین

label:"good first issue" type:issue state:open

و در نتایج، بخش issue ها رو انتخاب کنین. معمولا اونهایی که کامنتشون صفر است انتخاب های بهتری هستن چون هنوز کسی روشون کار نمی کنه. همچنین می تونین با اضافه کردن language:rust یا هر زبانی که دوست دارین، زبان پروژه رو هم انتخاب کنین. معلومه که css و html هم جزو گزینه ها هستن.

شاید بعضی ها تمرکز بیشتری روی پروژه داشته باشن و بعضی ها روی خود ایشو. مثلا ممکنه من بخوام حتما در پروژه ای ایشو حل کنم که خودش هم چیز باحالیه. یا شاید بخوام در یک پروژه بسیار ساده، یه ایشوی خیلی ساده پیدا کنم که بهم اجازه مشارکت بده. هر کدوم که باشه در نهایت شما چند تا ایشو می بینین و یکیش به نظرتون جالبتر میاد.

در این مرحله خیلی خوبه سری بزنین به سورس کد، اونو بگیرین و راهنمایی های احتمالی یا شیوه های مشارکت (ممکنه مثلا فایل CONTRIBUTE باشه اسمش) رو بخونین. تقریبا بعد از اینکه مطمئن شدین از پس حل کردن اون مساله بر میاین مراحل اصلی اینها هستن:

  • زیر ایشو بنویسین که علاقمند هستین روی این کار کنین. مثلا May I start working on this؟
  • پروژه رو Fork کنین تا پروژه روی اکانت شما هم بیاد
  • پروژه رو از اکانت خودتون کلون کنید رو کامپیوتر خودتون
  • یه برنچ جدید باز کنید. مثلا به اسم ایشویی که دارین حل می کنین
  • تغییرات رو انجام بدین و تست کنین و مطمئن بشین دقیق است. اگر لازمه در ایشو از صاحب پروژه نظر بخواین در مورد راه حل و شیوه انجاممش و …
  • کد خودتون رو به گیت هاب خودتون پوش کنین (git push origin branch_name)
  • حالا اگر به صفحه اصلی پروژه برین، می بینین که یه دگمه اومده برای ساخت پول ریکوئست جدید. اونو که فشار بدین می تونین بگین برنچ روی فورک شما رو مرج کنه روی پروژه اصلی. خوبه توی توضیحات دقیق بگین چیکار کردین و یه لینک هم به ایشو بدین که گیت هاب اتوماتیک زیر ایشو هم لینک پی آر شما رو بزنه

و منتظر باشین (:

درسته که اگر ۴ تا پی آر بزنین ممکنه بهتون یه تی شرت بدن ولی این فرصتی خوبه که یه قدم بالاتر از جایی که هستین بیاین و شروع کنین مشارکت در یک پروژه و سواد تئوری تون رو توی یک پروژه واقعی به کار ببرین. خیلی وقت ها شما که کد رو شناختین به کار ادامه می دین و ایشوهای بیشتری حل می کنین و از آدم های مهم همون پروژه می شین (:

این وسط آدم‌های زیادی هم سعی کردن سایت / ریپوزیتوری هایی بسازن که توش این تیپ ایشوهای راحت رو یکجا جمع کنن، به تفکیک زبان یا چنین چیزهایی. مثلا Up For Grabs یا ایشو هاب یا First Timers Only یا مجموعه مشهور Awesome For Beginners ولی اگر نظر من ر می خواین، همون تکنینک سرچ بهتر جواب می ده‌ (:

تاریخ و زمان شروع دوره آزاد و رایگان بلاک چین و بیت کوین

حتما یادتونه که چند وقت پیش یه کمپین کمک به سیل زده های جنوب شروع کردم و قرار شد ده میلیون به عنوان کمک جمع بشه تا همه رو به سیل زده ها کمک کنیم و بعدش یک دوره آزاد و رایگان بلاک چین با نیم نگاهی به بیت کوین رو شروع کنیم. یک دوره فنی که در قسمت های آخرش برنامه کامل یک بلاک چین رو هم بنویسیم و سورس بیت کوین نگاه کنیم و کارهای دیگه. دوره خوبی می شه (: احتمالا حدود ۱۰ جلسه. این دوره رو اگر مشکلی پیش نیاد، شنبه ها ساعت ۸ تا ۱۰ ضبط می کنم و همزمان با ضبط، پخش زنده و بعدش هم آپلود در یوتوب و بقیه جاها. پس اگر موافق هستین، این شنبه ساعت ۸ همراه بشین. سعی می کنم در جاهای مختلف استریم باشه ولی اگر نشد، تصمیم میگیریم بعدا که کجا باشه. خندون باشین و می بینمتون. پیشنیاز؟ هیچی به جز علاقه.