بایگانی برچسب: s

در مورد باگ های اسپکتر و ملت‌داون مطالب دست اول بخونین

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

خلاصه باگ های اسپکتر و ملت داون در این سه شکل قابل طبقه بندی است:

  • شکل یک: دور زدن بررسی محدوده (CVE-2017-5753)
  • شکل دو: تزریق شاخه مقصد (CVE-2017-5715)
  • شکل سه: گول زدن کش کننده دیتا (CVE-2017-5754)

در مقاله گوگل این سه روش تشریح شدن و در نهایت به سه نمونه ثابت کننده مفاهیم مطرح شده (ترجمه PoC چی می‌شه؟) رسیدن. مثلا محققین تونستن از داخل یک ماشین مجازی، حافظه هاست رو بخونن یا با یک یوزر معمولی، به حافظه کرنل دسترسی پیدا کنن.

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

راستی.. کل ماجرا رو گفتم که بگم مقاله گوگل خواندنی است و قابل درک؛ با حوصله و سرچ های جانبی و حالا که خودمونی شدیم این بحث بامزه رو هم بگم که اول گوگل این باگ رو کشف می کنه و به اینتل گزارش می ده، و مدیر عامل اینتل چیکار می کنه؟ تمام سهامی اینتلی که داشت و می تونست بفروشه رو می فروشه! (:

لینوکس در این ماه ۲۵ ساله شد، بیشترین روند؟ نیاز به توسعه دهندگانی که به خاطر برنامه‌نویسی کرنل به شرکت‌ها برن

/jaz/Linuxstillit06.tif

بیست و پنج سال پیش، در آگست ۱۹۹۱ لینوس نامه مشهورش رو نوشت و به دنیا اومدن لینوکس رو به دنیا خبر داد. حالا در بیست و پنج سال بعد لینوکس موجودی عظیم شده که بخشی بزرگی از دنیا رو اداره می‌کنه – از اکثریت تلفن‌های هوشمند تا اینترنت تا قطارها و بانک ها. گزارش توسعه کرنل که دیروز منتشر شد آمار جالبی از شرایط توسعه به ما می‌ده:

سال‌های سال است که تعداد توسعه دهندگان مستقل (فردی/بدون حقوق) لینوکس با کاهشی پایدار مواجه بوده. در ۲۰۱۲ این عدد ۱۴.۶ درصد بود، در ۲۰۱۳ برابر ۱۳.۶ درصد و در ۲۰۱۴ تعداد توسعه دهندگان مستقل به ۱۱.۸ رسید. اما حالا این عدد روی ۷.۷ درصد ایستاده. این سقوط دائمی دلایل متنوعی داره اما حتما منطقی‌ترین دلیل ساده‌ترین اونها است: توسعه‌دهندگان کرنل کم هستن و هر کسی که بتونه نشون بده کد نوشته شده توسط خودش می تونه به کرنل برسه، در پیدا کردن شغل هم مشکلی نخواهد داشت.

در گزارش این ماه به بیش از ۴۰۰ شرکت اشاره شده که با نوشتن کد برای کرنل سعی می کنن وضع خودشون در بازار رو بهتر کنن. شرکت‌هایی مثل اینتل، ردهت، سامسونگ، سوزه، گوگل، ای ام د، تگزاس اینسترومنتز، اوراکل، هواوی، فیسبوک، سیسکو و غیره.

linux-companies-640x371

در این دوره ۹ ورژن جدید کرنل منتشر شده و عدد اصلی ورژن از ۳ به ۴ تغییر کرده که نشون دهنده هیچ چیز خاصی هم نیست و فقط نشون دهنده این است که هر کرنل جدید تغییراتی داره که دیگه تفاوت خاصی بین عدد اصلی و عدد کوچیک رو لازم نمی‌کنه.

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

جادی تی وی ۰۱۹ – هک دوستانه سنگ کاغذ قیچی کلاینت ساید از طریق شنود و بازسازی ارتباطات

توی این جادی.تی وی یک هک می کنیم (: دوستان خوب دلیون اجازه دادن که با تمرکز روی بازی کلاینت سایدی که طراحی کرده بودن، یک شکل از هک رو آموزش بدم: شنود ارتباطات با ابزارهای مرد میانی و دستکاری اونها به شکلی که لازم داریم تا بتونیم صبحانه مجانی بخوریم (:

مثل همیشه عضویت شما در کانال یوتیوب جادی تی وی انرژی بخشه. شایدم اگر چیزی یاد گرفتین و می تونستین، دونیت کردنتون (:

جادی تی وی ۱۶، ۱۷ و ۱۸: لینوکس برای آدم‌های شاد – نصب و تنظیمات عمومی یک وب سرور سنت او اس روی وی پی اس شخصی

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

در مرحله بعدی فایل‌هایی که قراره به مراجعین نشون داده بشن رو به خونه خودمون می‌یاریم و همچنین یک دامین رو که از dot.tk گرفته‌ایم وصل می‌کنیم به هاستمون تا از این به بعد بشه با آدرس linuxjadi.tk به سایتمون رسید:

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

برای دانلود یا کارهای دیگه:

خوش باشین و موفق و اگر لازمه چیز دیگه ای در این سری ها تدریس بشه خوشحال می‌شم تو کامنت ها بگین.

ثبت نام شروع شد: پیش به سوی زیکانف ۷

Zconf7

یک‌سال از برگزاری زیکانف ۶ که با ارائه‌ها، دورهمی‌ها، پادکست‌ها، شبکه‌سازی‌ها و اتفاقات خوب همراه بود گذشت!

زیکانف ۷ با حضور شما و تلاش بیشتر ما پرقدرت‌تر و با لحظه‌هایی بهتر از گذشته در تاریخ‌های ۱۸ و ۱۹ شهریور برگزار خواهد شد. ثبت‌نام شروع شده و افرادی که حداکثر تا یکم شهریور ثبت‌نام کنند از تخفیف ۵۰٪ برخوردار خواهد شد.

اگر تمایل به ارائه سمینار دارید شرایط ارسال مقاله در سایت هست. خوشحال می‌شیم امسال شما یکی از سخنرانان زیکانف باشید.

پس بشتابید به سوی زیکانف ۷ ::‌ یک دورهمی با طعم دانش، مهارت و تجربه کاربری!

به نظر منم کلا طراح لوگوهاشون تحت تاثیر مک است.. خودم هم حتما سعی می کنم شرکت کنم و در حالتی که کار خاصی پیش نیاد، هستم زیکانف هفتم رو!

چطوری لینوکس رو شروع کنیم و توش پیش بریم

از سری: راهنمای شروع

auto-startup-linux-644x250

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

آشنایی اولیه

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

در این مرحله شما مهمه که بدونین چرا دارین لینوکس رو یاد میگیرین. همینجا می تونم بگم که اگر فکر می کنین قراره یاد گرفتن لینوکس شما رو با کلاس کنه یا بتونین باهاش همه چیز رو هک کنین یا باعث بشه دیگه کلا با کامپیوترتون مشکلی نداشته باشین، بهتره کلا بیخیال یاد گرفتن بشین (: لینوکس هم یک سیستم عامله و مثل همه نرم افزارها اشکالاتی داره، شغل هاش گاهی خسته کننده است، گاهی شما رو محدود می کنه و هیچ جای دنیا هم نیست که با یک دانش ثابت بشه بهش نفوذ کرد (: اگر دنبال این چیزها نیستین و مثلا می خواین مدیر سیستم بشین یا کنجکاو هستین مثل یک شمشیرباز بتونین با اسلحه تون کار کنین یا برای پروژه به لینوکس احتیاج دارین، با ما باشین!

کمی ور رفتن با لینوکس

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

مجموعه ویدئویی لینوکس دسکتاپ برای آدم های شاد می‌تونه کمک خوبی برای شما در این مرحله باشه که نصب اول و دوال بوت کردن و غیره رو به شما نشون می ده.

مشارکت در جامعه

لینوکس به جامعه اش زنده است. باید بتونین انگلیسی سرچ کنین و جواب هاتون رو پیدا کنین. همچنین خیلی خوبه در جوامع فارسی زبانی مثل انجمن فارسی اوبونتو عضو باشین و سرچ کنین و جواب ها رو بخونین و سوال بپرسین و به زودی جواب هم بدین. همچنین حضور در همایش ها و برنامه های جامعه لینوکس می تونه کمک خوبی باشه برای شناختن بیشتر این فضاها. دقت کنین که لینوکس برای خیلی از طرفدارانش یک شکل از فکر کردن است؛ اونها می گن چیزی که دوست دارن لینوکس یا حتی گنو/لینوکس نیست بلکه تفکر آزاد است. شما باید درک کنین که بخشی از یک فرهنگ هستین و اینطوری خیلی راحتتر می تونین چیز یاد بگیرین. اصطلاحات مهم که می‌شنوین رو دنبال کنین و با حوصله در موردشون چیز یاد بگیرین. اگر قراره حرفه ای باشین باید زیر پاتون محکم باشه؛ پس دیدن هر چیز که نمی دونین یک فرصت بزرگه برای اینکه زیر پای خودتون رو محکمتر کنین. یادتون باشه که در طول یادگیری لینوکس قراره به شما خوش بگذره!

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

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

پروژه های پیشنهادی در این سطح می‌تونن اینها باشن:
– درست کردن یک توزیع شخصی با استفاده از ابزارهای ریمسترینگ مثلا اوبونتو
– تست کردن چند توزیع لینوکس مرسوم و ور رفتن با اونها، مثلا اوبونتو، فدورا، کوبونتو و مینت

مدیریت سیستم مقدماتی

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

در این مرحله می‌شه این پیشنهادها رو برای تمرین مطرح کرد:
– نصب و کار جدی با توزیع‌های کمی غیرمرسوم مثل آرچ یا جنتو
– راه اندازی وب سرور روی کامپیوتر شخصی یا به شکل بهتر نصب یک وردپرس روی کامپیوتر لوکال

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

پیش‌تر رفتن از الپیک ۱

در واقع وقتی به اینجا رسیدین تا حد زیادی می تونین راه خودتون رو پیدا کنین. معلومه که یک قدم استاندارد خوندن الپیک ۲ از کتاب های مرجعش است. از نظر من خیلی خوبه که شروع کنین به امتحان کردن چند لینوکس مرسوم (مثل سنت او اس و دبیان و اوبونتو سرور) و یادگیری جدی تر اونها. همچنین مهمه که از اینجا به بعد وارد لایه‌های عمیق تر بشین. همونطور که بالاتر گفتم اگر در این مرحله هر چیزی دیدین که در موردش دقیق نمی دونستین، با فرصت جدیدی برای حرفه ای شدن روبرو هستین. مثلا اگر درمورد exim شنیدین،‌ خیلی خوشحال باشین چون موضوع جدیدی دارین که در موردش سرچ کنین و چیز یاد بگیرین یا اگر جایی دیدین که از globbing حرف زده شاید واقعا چیز جدیدی باشه یا اسم واقعی چیزی که شما همین حالا هم بلدینش – شاید هم نصف و نیمه! در این مرحله باید هی زیر پای خودتون رو محکم کنین و مطمئن بشین چیزی که می دونین رو واقعا می‌دونین.

یک ایده هم انجام پروژه‌هایی مثل اینها است:

  • راه اندازی یک وب سرور خونگی برای خودتون (سطح بعدی:‌بشه از اینترنت هم بهش وصل شد)
  • ساخت سرتیفیکت های ssl
  • درست کردن یک فایل سرور که همه بتونن باهاش فایل جابجا کنن
  • درک کردن کامل selinux
  • نصب پروژه های بزرگ مثل owncloud، docker، دیتابیس‌های جدید مثل مونگو، هدوپ، … و کار کردن با اونها برای آزمایش اینکه چطوری کار می کنن و نصب می شن
  • نصب لینوکس روی دیوایس های غیر پی سی کلاسیک که ساده ترینش چیزهایی مثل رزبری پای ها هستن و پیچیده‌تر ها مثل گوشی‌ها و تبلت‌ها
  • کار با لینوکس های خاص منظوره مثل clearOS

در چنین مرحله ای لازمه شما درک خوبی از شبکه داشته باشین، منطقا باید در حد +Network بلد باشین و اگر می خواین واقعا فرق کنین CCNA خونده باشین.

قدم‌های بعدی

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

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


همونطور که گفتم این مطلب قراره دائما به روز نگه داشته بشه. خوشحال می شم اگر چیزی به نظرتون می رسه که باید به متن اضافه بشه یا سوالی هست که دقیقا به این بحث مرتبطه ولی جواب داده نشده، در کامنت ها ذکر کنین.