پیش نیازها:
انگیزه داشته باشید:
انگیزه در یادگیری توسعه اکسپلویت امری کلیدی هستش. بجای اینکه خودتون رو مجبور به گذروندن موضوعاتی کنید که احساس خستگی میکنید، به علایق خودتون عمل کنید. اگه علاقه خودتون رو از دست دادید، موضوع رو عوض کنید و بعداً برگردید. حفظ انگیزه مهمتر از دنبال کردن ترتیب “درست” هستش. در طول این مسیر ناامید خواهید شد، ناامیدی بخش کلیدی توسعه اکسپلویت هستش و شما باید یاد بگیرید که اونرو بپذیرید و به پیش برید.
یادگیری زبان برنامه نویسی C :
یادگیری C به معنای تبدیل شدن به یک برنامهنویس C نیست، بلکه درک مدل حافظه CPU هستش. از اونجایی که باگهای خرابی حافظه در این سطح به حافظه حمله میکنن، C دقیقترین مدل ذهنی رو ارائه میده.
شما باید درک جامعی از حافظه نرمافزار، مناطق مختلف، تخصیص ها و اشاره گرها داشته باشید. پست Evan Miller با عنوان “You Can’t Dig Upwards” مدل ذهنی رو که از نوشتن C بدست میارید و در زبانهایی مانند پایتون بدست نمیارید رو توضیح میده.
کد ماشین/زبان اسمبلی x86-x64 :
بسیاری از منابع توصیه شده بر روی اکسپلویت کردن باینریهای x86-x64 تمرکز دارن که در دسکتاپها و لپتاپها رایج هستن. برخلاف برنامهنویسها، توسعه دهندگان اکسپلویت با کد ماشین “خام” کار میکنن که فاقد اکثر امکانات موجود برای برنامهنویسهاست.
درک اونچه که خود CPU میبینه مهمه. برخی از موضوعات مهم برای درک، شامل موارد زیر هستن:
قراردادهای فراخوانی توابع و سیستم کالها (Syscall)
تقسیم بندی حافظه (Memory segmentation)
ترجمه نوعهای سطح بالا به بایتهای خام (raw bytes) (در اسمبلی، همه چیز فقط بایت در حافظه یا رجیستر هستش)
برای یادگیری این موارد میتونید از دوره ی رایگان مهندسی معکوس نرم افزار (Software Reverse Engineering) استفاده کنید که با محوریت درک کدهای اسمبی در حال انتشار هستش.
دانش یک زبان اسکریپت نویسی:
اکسپلویت کردن شامل تعامل با نرمافزارهای دیگه هستش که اغلب با استفاده از یک زبان اسکریپتنویسی انجام میشه. پایتون و کتابخونه PwnTools انتخابهای رایجی هستن، اما هر زبانی دیگه ای رو میتونید برای این کار انتخاب کنید.
دانش اولیه استفاده از لینوکس:
بیشتر منابع مبتنی بر لینوکس هستن، بنابراین باید با ترمینال لینوکس و ابزارهای خط فرمان رایج راحت باشید.
Pwn College – Fundamentals :
بخش Fundamentals ماژولهایی رو ارائه میده که بیشتر این موضوعات رو پوشش میدن و ارزش بررسی قبل از شروع رو دارن.
راه اندازی محیط:
منابعی که اینجا معرفی میشن، سعی شده مواردی باشن که به راحتی در دسترس باشن. مشکل اصلی نسخه ی قبلی رودمپ، این بود که راه اندازی یک محیط کاری سخت بود.
بیشتر منابعی که اینجا معرفی شدن رو میتونید با یک ویرایشگر متن برای یادداشتهای شخصی و یک مرورگر طی کنید. البته برای اجرای برخی از باینری ها باید دسترسی به لینوکس داشته باشید که برای این کار میتونید از یک ماشین مجازی استفاده کنید. البته یک بخش اختیاری هم وجود داره که هدفش بررسی توسعه ی اکسپلویت در معماری های دیگه هستش و بنابراین برای این بخش، نیاز به اجرای باینری در Qemu دارید.
انگیزه داشته باشید:
انگیزه در یادگیری توسعه اکسپلویت امری کلیدی هستش. بجای اینکه خودتون رو مجبور به گذروندن موضوعاتی کنید که احساس خستگی میکنید، به علایق خودتون عمل کنید. اگه علاقه خودتون رو از دست دادید، موضوع رو عوض کنید و بعداً برگردید. حفظ انگیزه مهمتر از دنبال کردن ترتیب “درست” هستش. در طول این مسیر ناامید خواهید شد، ناامیدی بخش کلیدی توسعه اکسپلویت هستش و شما باید یاد بگیرید که اونرو بپذیرید و به پیش برید.
یادگیری زبان برنامه نویسی C :
یادگیری C به معنای تبدیل شدن به یک برنامهنویس C نیست، بلکه درک مدل حافظه CPU هستش. از اونجایی که باگهای خرابی حافظه در این سطح به حافظه حمله میکنن، C دقیقترین مدل ذهنی رو ارائه میده.
شما باید درک جامعی از حافظه نرمافزار، مناطق مختلف، تخصیص ها و اشاره گرها داشته باشید. پست Evan Miller با عنوان “You Can’t Dig Upwards” مدل ذهنی رو که از نوشتن C بدست میارید و در زبانهایی مانند پایتون بدست نمیارید رو توضیح میده.
کد ماشین/زبان اسمبلی x86-x64 :
بسیاری از منابع توصیه شده بر روی اکسپلویت کردن باینریهای x86-x64 تمرکز دارن که در دسکتاپها و لپتاپها رایج هستن. برخلاف برنامهنویسها، توسعه دهندگان اکسپلویت با کد ماشین “خام” کار میکنن که فاقد اکثر امکانات موجود برای برنامهنویسهاست.
درک اونچه که خود CPU میبینه مهمه. برخی از موضوعات مهم برای درک، شامل موارد زیر هستن:
قراردادهای فراخوانی توابع و سیستم کالها (Syscall)
تقسیم بندی حافظه (Memory segmentation)
ترجمه نوعهای سطح بالا به بایتهای خام (raw bytes) (در اسمبلی، همه چیز فقط بایت در حافظه یا رجیستر هستش)
برای یادگیری این موارد میتونید از دوره ی رایگان مهندسی معکوس نرم افزار (Software Reverse Engineering) استفاده کنید که با محوریت درک کدهای اسمبی در حال انتشار هستش.
دانش یک زبان اسکریپت نویسی:
اکسپلویت کردن شامل تعامل با نرمافزارهای دیگه هستش که اغلب با استفاده از یک زبان اسکریپتنویسی انجام میشه. پایتون و کتابخونه PwnTools انتخابهای رایجی هستن، اما هر زبانی دیگه ای رو میتونید برای این کار انتخاب کنید.
دانش اولیه استفاده از لینوکس:
بیشتر منابع مبتنی بر لینوکس هستن، بنابراین باید با ترمینال لینوکس و ابزارهای خط فرمان رایج راحت باشید.
Pwn College – Fundamentals :
بخش Fundamentals ماژولهایی رو ارائه میده که بیشتر این موضوعات رو پوشش میدن و ارزش بررسی قبل از شروع رو دارن.
راه اندازی محیط:
منابعی که اینجا معرفی میشن، سعی شده مواردی باشن که به راحتی در دسترس باشن. مشکل اصلی نسخه ی قبلی رودمپ، این بود که راه اندازی یک محیط کاری سخت بود.
بیشتر منابعی که اینجا معرفی شدن رو میتونید با یک ویرایشگر متن برای یادداشتهای شخصی و یک مرورگر طی کنید. البته برای اجرای برخی از باینری ها باید دسترسی به لینوکس داشته باشید که برای این کار میتونید از یک ماشین مجازی استفاده کنید. البته یک بخش اختیاری هم وجود داره که هدفش بررسی توسعه ی اکسپلویت در معماری های دیگه هستش و بنابراین برای این بخش، نیاز به اجرای باینری در Qemu دارید.
در این آشفتهبازار این روزهای مدلهای زبانی بزرگ، و هیجانات غالب بر جامعهی علمی و غیرعلمی و تاثیر شگرفش روی سهام شرکتهای فراهمکنندهی زیرساختهای سختافزاری، پرسش اصلیای که به وجود میاد اینه که بعد از گذشت هفتاد سال از مطرح شدن «بازی تقلید» (معروف به تست تورینگ) برای سنجش «تفکر ماشینی» و هوش مصنوعی، آیا سرانجام میتونیم چتباتهای مبتنی بر مدلهای زبانی نظیر GPT رو برندهی این بازی و فاتح جایگاهی در نظر بگیریم که تورینگ در دههی پنجاه میلادی پیشبینی کرده بود؟ پرسشی که در ابتدا ممکنه ساده به نظر بیاد، به خصوص که ادعای «پاس شدن تست تورینگ» این روزها لقلقهی زبان مدیران شرکتها و بازوهای تبلیغاتیشونه، اما زمانی پیچیده میشه که متوجه میشیم در آزمایشهای واقعی، درصد قابلتوجهی از انسانها هم در این تست مردود میشوند. مشکل کجاست؟
«آیا ماشینها قادر به تفکر هستند؟»، سوالیه که آلن تورینگ در مقالهی ۱۹۵۰ خودش مطرح میکنه، و تلاش میکنه تا با طرح بازی تقلید، معیاری برای سنجش تفکر ماشینی خلق کنه. بازی شامل یک پرسشگر، یک انسان و یک ماشینه. پرسشگر جدا از انسان و ماشین در یک اتاق جداگانه قرار گرفته و با هدف حذف فاکتورهای غیرمرتبط از جمله صدا و تصویر، ارتباط او با دو بازیکن دیگه، صرفا از طریق مکاتبه انجام میشه. هدف پرسشگر، تشخیص انسان از بین دو بازیکن دیگر، هدف انسان، کمک به این تشخیص و هدف ماشین، گمراهی پرسشگر است تا برندهی این بازی باشه. تیمی از پژوهشگرهای دانشگاه کالیفرنیا در سندیگو (UCSD)، اخیرا نسخهای دو نفره از این بازی رو با پانصد شرکتکننده شبیهسازی کردند، و نتایج، خارج از انتظار بود.
اگر به تاریخچهی چتباتها علاقهمند باشید، احتمالا با Eliza آشنا هستید. تاریخچهی این چتبات به دههی ۶۰ میلادی و دانشگاه MIT میرسه و در زمان خودش، پیشرو به شمار میومد (از اینجا امتحانش کنید). در آزمایش جدید، علاوه بر GPT سهونیم و چهار، نسخهای از Eliza هم مورد استفاده قرار گرفته. بازی دو نفره رو به این صورت طراحی کردند که شرکتکنندهها در برابر یک انسان یا یکی از سه چتبات بالا قرار میگرفتند و باید ظرف مدت پنج دقیقه، تشخیص میدادند که با یک انسان دیگه و یا یک چتبات صحبت میکنند.
مطابق انتظار، Eliza و GPT-4 به ترتیب در ۲۲ و ۵۴ درصد بازیها، برنده شدند. اگر با Eliza کار کرده باشید، میدونید که عدد ۲۲، درصد بالایی به حساب میاد؛ پدیدهای که تحت عنوان Eliza Effect شناخته میشه و بر اثرش، پرسشگرها برخلاف چیزی که میبینند و استدلال میکنند، رفتارهای انسانگونه رو به Eliza نسبت میدن. از سمت دیگه، بازیکنهای انسانی که به جای چتباتها قرار گرفته بودند، تنها در ۶۷ درصد موارد موفق به قانع کردن پرسشگرها شدند.
اقتصاددانها در این مواقع از «علیت دوّار» صحبت میکنند، که در علم اقتصاد، به ارتباط علت و معلولی متقابل میان چند پدیده گفته میشه. در این مورد هم برخوردهای شرکتکنندههای آزمایش با چتباتها، موجب شده بود که سطح انتظارها از عملکرد هوش مصنوعی به قدری بالا بیاد که در ۳۳ درصد موارد، انسانها رو هم به اشتباه ربات تشخیص بدن. از طرف دیگه، پرسشگرها در تشخیص GPT-4 هم عملکردی در حد و اندازهی پرتاب سکه داشتند (اگر فکر میکنید که میتونید عملکرد بهتری از شرکتکنندهها داشته باشید، تلاش کنید که از بین چهار عکس زیر، انسان رو تشخیص بدید؛ سه عکس مربوط به AI و یک عکس مربوط به بازیکن انسانیه. سبزها مکالمات پرسشگر و خاکستریها جواب انسان/چتباتها هستند).
با لحاظ این موارد، به نظر میاد که نیاز به بازنگری در تست تورینگ، بیشتر از هر زمان دیگهای احساس میشه؛ و تا به امروز، پیشنهاداتی هم روی میز قرار گرفته. یکی از اینها، ایدهی یکی از اساتید روانشناسی دانشگاه پرینستونه. Philip Johnson-Laird اعتقاد داره که برای آزمایش مدلها، باید اونها رو در برابر آزمونهای روانشناسی قرار بدیم، و مثل یک جلسهی تراپی، شباهتش با رفتارهای انسانگونه رو بررسی کنیم؛ یک دیدگاه میانرشتهای که میتونه درهای جدیدی رو به سوی شناخت LLMها باز کنه.
از سمت دیگه، Terrence Sejnowski استاد علوم اعصاب UCSD هم در مقالهی اخیرش، با مطالعه روی شیوهی رفتاری و عملکرد مغزی انسانها، نگاه کاملا متفاوتی رو مطرح میکنه: همونطور که در یک بازی تنیس، یک رقیب قدرمندتر، از شما بازیکن بهتری میسازه، LLMها هم صرفا بازتابدهندهی ضریب هوشی پرسشگر هستند. در حقیقت، هر بار که ما با اونها صحبت میکنیم، این ما هستیم که در جایگاه پرسششونده قرار گرفتهایم، پدیدهای که او ازش به عنوان «تست تورینگ وارونه» تعبیر میکنه. این دیدگاه، با نتایج آزمایش بالا همخوانی داره و میتونه دلیلی باشه بر اینکه چرا اطلاق جایگاه پرسشگر به انسانها در تست تورینگ، میتونه به چنین نتایج دور از ذهنی منجر بشه.
«آیا ماشینها قادر به تفکر هستند؟»، سوالیه که آلن تورینگ در مقالهی ۱۹۵۰ خودش مطرح میکنه، و تلاش میکنه تا با طرح بازی تقلید، معیاری برای سنجش تفکر ماشینی خلق کنه. بازی شامل یک پرسشگر، یک انسان و یک ماشینه. پرسشگر جدا از انسان و ماشین در یک اتاق جداگانه قرار گرفته و با هدف حذف فاکتورهای غیرمرتبط از جمله صدا و تصویر، ارتباط او با دو بازیکن دیگه، صرفا از طریق مکاتبه انجام میشه. هدف پرسشگر، تشخیص انسان از بین دو بازیکن دیگر، هدف انسان، کمک به این تشخیص و هدف ماشین، گمراهی پرسشگر است تا برندهی این بازی باشه. تیمی از پژوهشگرهای دانشگاه کالیفرنیا در سندیگو (UCSD)، اخیرا نسخهای دو نفره از این بازی رو با پانصد شرکتکننده شبیهسازی کردند، و نتایج، خارج از انتظار بود.
اگر به تاریخچهی چتباتها علاقهمند باشید، احتمالا با Eliza آشنا هستید. تاریخچهی این چتبات به دههی ۶۰ میلادی و دانشگاه MIT میرسه و در زمان خودش، پیشرو به شمار میومد (از اینجا امتحانش کنید). در آزمایش جدید، علاوه بر GPT سهونیم و چهار، نسخهای از Eliza هم مورد استفاده قرار گرفته. بازی دو نفره رو به این صورت طراحی کردند که شرکتکنندهها در برابر یک انسان یا یکی از سه چتبات بالا قرار میگرفتند و باید ظرف مدت پنج دقیقه، تشخیص میدادند که با یک انسان دیگه و یا یک چتبات صحبت میکنند.
مطابق انتظار، Eliza و GPT-4 به ترتیب در ۲۲ و ۵۴ درصد بازیها، برنده شدند. اگر با Eliza کار کرده باشید، میدونید که عدد ۲۲، درصد بالایی به حساب میاد؛ پدیدهای که تحت عنوان Eliza Effect شناخته میشه و بر اثرش، پرسشگرها برخلاف چیزی که میبینند و استدلال میکنند، رفتارهای انسانگونه رو به Eliza نسبت میدن. از سمت دیگه، بازیکنهای انسانی که به جای چتباتها قرار گرفته بودند، تنها در ۶۷ درصد موارد موفق به قانع کردن پرسشگرها شدند.
اقتصاددانها در این مواقع از «علیت دوّار» صحبت میکنند، که در علم اقتصاد، به ارتباط علت و معلولی متقابل میان چند پدیده گفته میشه. در این مورد هم برخوردهای شرکتکنندههای آزمایش با چتباتها، موجب شده بود که سطح انتظارها از عملکرد هوش مصنوعی به قدری بالا بیاد که در ۳۳ درصد موارد، انسانها رو هم به اشتباه ربات تشخیص بدن. از طرف دیگه، پرسشگرها در تشخیص GPT-4 هم عملکردی در حد و اندازهی پرتاب سکه داشتند (اگر فکر میکنید که میتونید عملکرد بهتری از شرکتکنندهها داشته باشید، تلاش کنید که از بین چهار عکس زیر، انسان رو تشخیص بدید؛ سه عکس مربوط به AI و یک عکس مربوط به بازیکن انسانیه. سبزها مکالمات پرسشگر و خاکستریها جواب انسان/چتباتها هستند).
با لحاظ این موارد، به نظر میاد که نیاز به بازنگری در تست تورینگ، بیشتر از هر زمان دیگهای احساس میشه؛ و تا به امروز، پیشنهاداتی هم روی میز قرار گرفته. یکی از اینها، ایدهی یکی از اساتید روانشناسی دانشگاه پرینستونه. Philip Johnson-Laird اعتقاد داره که برای آزمایش مدلها، باید اونها رو در برابر آزمونهای روانشناسی قرار بدیم، و مثل یک جلسهی تراپی، شباهتش با رفتارهای انسانگونه رو بررسی کنیم؛ یک دیدگاه میانرشتهای که میتونه درهای جدیدی رو به سوی شناخت LLMها باز کنه.
از سمت دیگه، Terrence Sejnowski استاد علوم اعصاب UCSD هم در مقالهی اخیرش، با مطالعه روی شیوهی رفتاری و عملکرد مغزی انسانها، نگاه کاملا متفاوتی رو مطرح میکنه: همونطور که در یک بازی تنیس، یک رقیب قدرمندتر، از شما بازیکن بهتری میسازه، LLMها هم صرفا بازتابدهندهی ضریب هوشی پرسشگر هستند. در حقیقت، هر بار که ما با اونها صحبت میکنیم، این ما هستیم که در جایگاه پرسششونده قرار گرفتهایم، پدیدهای که او ازش به عنوان «تست تورینگ وارونه» تعبیر میکنه. این دیدگاه، با نتایج آزمایش بالا همخوانی داره و میتونه دلیلی باشه بر اینکه چرا اطلاق جایگاه پرسشگر به انسانها در تست تورینگ، میتونه به چنین نتایج دور از ذهنی منجر بشه.
با توجه به اینکه خیلی از دوستان سیستم مناسبی ندارن و شوق یادگیری هم درونش وجود داره و مشکل با مجازی سازی های پرمصرف دارند من پیشنهادم به اونها وگرنت و هشی کورپ هست
برای راهاندازی یک محیط لینوکسی با استفاده از Vagrant و HashiCorp، و به حداقل رساندن مصرف RAM، مراحل زیر را دنبال کنید:
📚 مرحله اول: نصب Vagrant و VirtualBox
قبل از هر چیز، لازم است که Vagrant و VirtualBox را بر روی سیستمتان نصب کنید. این دو ابزار به شما این امکان را میدهند تا به سادگی ماشینهای مجازی را مدیریت کنید.
📚 مرحله دوم: ایجاد یک پروژه جدید
یک دایرکتوری جدید برای پروژه خود بسازید:
mkdir my-vagrant-project
cd my-vagrant-project
📚 مرحله سوم: ایجاد فایل Vagrantfile
در این دایرکتوری، یک فایل جدید به نام Vagrantfile ایجاد کنید. این فایل تنظیمات مربوط به ماشین مجازی را مشخص میکند. برای استفاده از حداقل منابع، میتوانید از یک تصویر دستوری Ubuntu یا Alpine استفاده کنید. برای مثال:
📚 مرحله چهارم: بارگذاری ماشین مجازی
حالا که تنظیمات را انجام دادهاید، زمان آن رسیده که ماشین مجازی را بارگذاری کنید:
vagrant up
این دستور Vagrant را به کار میاندازد و ماشین مجازی را به حالت آماده به کار میآورد.
📚 مرحله پنجم: ورود به ماشین مجازی
پس از راهاندازی، میتوانید با استفاده از دستور زیر به محیط ماشین مجازی وارد شوید:
vagrant ssh
📚 مرحله ششم: استفاده بهینه از منابع
برای کاهش بیشتر مصرف RAM و CPU، از نصب تنها برنامههایی که به آنها نیاز دارید اطمینان حاصل کنید. همچنین میتوانید تنظیمات ماشین مجازی را در Vagrantfile تغییر دهید تا به میزان نیاز خود بهینهسازی کنید.
برای راهاندازی یک محیط لینوکسی با استفاده از Vagrant و HashiCorp، و به حداقل رساندن مصرف RAM، مراحل زیر را دنبال کنید:
📚 مرحله اول: نصب Vagrant و VirtualBox
قبل از هر چیز، لازم است که Vagrant و VirtualBox را بر روی سیستمتان نصب کنید. این دو ابزار به شما این امکان را میدهند تا به سادگی ماشینهای مجازی را مدیریت کنید.
📚 مرحله دوم: ایجاد یک پروژه جدید
یک دایرکتوری جدید برای پروژه خود بسازید:
mkdir my-vagrant-project
cd my-vagrant-project
📚 مرحله سوم: ایجاد فایل Vagrantfile
در این دایرکتوری، یک فایل جدید به نام Vagrantfile ایجاد کنید. این فایل تنظیمات مربوط به ماشین مجازی را مشخص میکند. برای استفاده از حداقل منابع، میتوانید از یک تصویر دستوری Ubuntu یا Alpine استفاده کنید. برای مثال:
Vagrant.configure("2") do |config|
config.vm.box = "ubuntu/bionic64" # یا "alpine/edge"
config.vm.network "forwarded_port", guest: 80, host: 8080
config.vm.provider "virtualbox" do |vb|
vb.memory = "512" # تنظیم مقدار رم
vb.cpus = 1 # تنظیم تعداد هستهها
end
end
📚 مرحله چهارم: بارگذاری ماشین مجازی
حالا که تنظیمات را انجام دادهاید، زمان آن رسیده که ماشین مجازی را بارگذاری کنید:
vagrant up
این دستور Vagrant را به کار میاندازد و ماشین مجازی را به حالت آماده به کار میآورد.
📚 مرحله پنجم: ورود به ماشین مجازی
پس از راهاندازی، میتوانید با استفاده از دستور زیر به محیط ماشین مجازی وارد شوید:
vagrant ssh
📚 مرحله ششم: استفاده بهینه از منابع
برای کاهش بیشتر مصرف RAM و CPU، از نصب تنها برنامههایی که به آنها نیاز دارید اطمینان حاصل کنید. همچنین میتوانید تنظیمات ماشین مجازی را در Vagrantfile تغییر دهید تا به میزان نیاز خود بهینهسازی کنید.
قطعا به این فکر کردین که آیا میشه مدل های هوش مصنوعی داشته باشیم که در انحصار شرکت خاصی نباشه؟
بله، شرکت Prime Intellect AI بر اساس تمرکززدایی و استفاده از منابع محاسباتی مشترک برای آموزش مدلهای هوش مصنوعی در مقیاس بزرگ بنا شده.
یعنی شما اگه GPU داری میتونی از طریق این پلتفرم کار پردازشی انجام بدی و پول دربیاری
با این حرکت فضای رقابتی جالبی درست شده و در جهت اینه که توان پردازشی رو از انحصار شرکت های بزرگ و همچنین کلاود هایی که تعرفه های بالایی دارن بگیره و به سمت یوزر های عادی بازار رقابتی و آزاد حرکت بکنه
قطعا متوجه شدین که این حرکت هم به سمت بازار آزاد اقتصادی هست (حال میکنی درک اقتصادیو😁 )و هم فضای داده ی آزاد و بدون انحصار(این یکی کارمه نمیخواد حال کنی)
تو پست بعدی در مورد یکی از پروژه های خفن این پلتفرم میگم
بله، شرکت Prime Intellect AI بر اساس تمرکززدایی و استفاده از منابع محاسباتی مشترک برای آموزش مدلهای هوش مصنوعی در مقیاس بزرگ بنا شده.
یعنی شما اگه GPU داری میتونی از طریق این پلتفرم کار پردازشی انجام بدی و پول دربیاری
با این حرکت فضای رقابتی جالبی درست شده و در جهت اینه که توان پردازشی رو از انحصار شرکت های بزرگ و همچنین کلاود هایی که تعرفه های بالایی دارن بگیره و به سمت یوزر های عادی بازار رقابتی و آزاد حرکت بکنه
قطعا متوجه شدین که این حرکت هم به سمت بازار آزاد اقتصادی هست (حال میکنی درک اقتصادیو😁 )و هم فضای داده ی آزاد و بدون انحصار(این یکی کارمه نمیخواد حال کنی)
تو پست بعدی در مورد یکی از پروژه های خفن این پلتفرم میگم
-> چطور یک سازمانی هک میشود و انگار هک نشده است ؟
امروز میپردازیم به اینکه چطور یک سامانه یا سازمان مورد حملات سایبری قرار میگیرد ولی انگار خبری نیست و حمله ای نیست ؟
بیاید ابتدا راجب دو تا موضوع صحبت کنیم :
علم فارنرزیک چیست ؟
فارنزیک پروسه ای جهت جمع آوری اطلاعات و شواهد به منظور چگونه اتفاق افتادن واقعه ای است. این علم در شاخه های مختلفی مانند پزشکی، فیزیک، شیمی، کامپیوتر کاربرد دارد که در هر کدام از ان ها هم می تواند نیاز به تخصصی زیادی ذاشته باشد تا به صورت حرفه ای انجام شود.
منبع: https://pentestcore.com/
حالا در این هیاهوی فارنرزیک کارها هکرا هم بیکار نمیشینن لو برند ، تکنیک های آنتی فارنرزیک هست که عکس عمل فارنرزیک را همراه کاور ترکینگ انجام میدن حالا کاور ترکینگ چیست ؟
شخص نفوذگر هر نوع عملی را انجام داده اثراتش را پاک میکند و به سادگی انگار آب از آب هم تکان نخورده است
خب به قدر کافی فکرم فهمیدید چطور یک حمله انگار انجام نشده ، یا غیرقابل تشخیص هست این هیچ ربطی به سواد نیروهای امنیتی نداره و نشون از برتری متخصص تست نفوذ و یا همون هکر نسبت به اون امنیت کارا هست دلیلشم داخل کشور خودمون مشخصه و ساده است اینکه متخصصان امنیت یا نیروهای soc تک بعدی به ماجرا نگاه میکنند شرکتهای در این رابطه به دنبال پول کلان از بومی سازی محصولات خارجی هستند نه به دنبال جذب نیروهای متخصص و خلاق ، برای مثال در ویکی تجربه میخوندم یک نیروی متخصص امنیت وب اپلیکیشن و اندروید استخدام شرکتی امنیتی شده بود و آنها او را مجبور به خواندن معماری زیرساختی محصول بومی خودشان و توسعه در این باره دادند ( مگه کار نیروی امنیت اینه مردحسابی = خطاب به مدیرعامل ؟ ) بعد نوشته بود که مجبور به راه اندازی زیرساختی SIEM او را کردند ( پرانتز ، مگه بالا آوردن زیرساخت کار نیروی امنیت کاره ؟ اونم وب و اندروید ( هیچ ربطی به حوزه اش نداشته ) و در آخر هم باگ هایی که کشف کرده رو ایگنور کردن و صرفا به چشم یک چیزی گذارا دیدن ، همین محصول فردا میاد توی سازمان های ما و زیرساخت امنیتی کشور کلا به فنا میره این شرکتها هم نهایتش میندازن گردن مشتری یا اون کار کنی که پشتش بوده و خلاص , ( فقط به دنبال پول مفتن شرکت های داخلی ) تعداد اندکی به فکر موضوعات حیاتی هستند که تعدادشون کمه و یا به واسطه حکومت به موضوعات دیگه کشیده میشن
خلاصه : فردا اگر زیرساخت اینترنتیتون یکی نیومد تانل زد و مخابرات انداخت گردن شما نگین که نگفتم :))
مخلص همه شما
امروز میپردازیم به اینکه چطور یک سامانه یا سازمان مورد حملات سایبری قرار میگیرد ولی انگار خبری نیست و حمله ای نیست ؟
بیاید ابتدا راجب دو تا موضوع صحبت کنیم :
علم فارنرزیک چیست ؟
فارنزیک پروسه ای جهت جمع آوری اطلاعات و شواهد به منظور چگونه اتفاق افتادن واقعه ای است. این علم در شاخه های مختلفی مانند پزشکی، فیزیک، شیمی، کامپیوتر کاربرد دارد که در هر کدام از ان ها هم می تواند نیاز به تخصصی زیادی ذاشته باشد تا به صورت حرفه ای انجام شود.
منبع: https://pentestcore.com/
حالا در این هیاهوی فارنرزیک کارها هکرا هم بیکار نمیشینن لو برند ، تکنیک های آنتی فارنرزیک هست که عکس عمل فارنرزیک را همراه کاور ترکینگ انجام میدن حالا کاور ترکینگ چیست ؟
شخص نفوذگر هر نوع عملی را انجام داده اثراتش را پاک میکند و به سادگی انگار آب از آب هم تکان نخورده است
خب به قدر کافی فکرم فهمیدید چطور یک حمله انگار انجام نشده ، یا غیرقابل تشخیص هست این هیچ ربطی به سواد نیروهای امنیتی نداره و نشون از برتری متخصص تست نفوذ و یا همون هکر نسبت به اون امنیت کارا هست دلیلشم داخل کشور خودمون مشخصه و ساده است اینکه متخصصان امنیت یا نیروهای soc تک بعدی به ماجرا نگاه میکنند شرکتهای در این رابطه به دنبال پول کلان از بومی سازی محصولات خارجی هستند نه به دنبال جذب نیروهای متخصص و خلاق ، برای مثال در ویکی تجربه میخوندم یک نیروی متخصص امنیت وب اپلیکیشن و اندروید استخدام شرکتی امنیتی شده بود و آنها او را مجبور به خواندن معماری زیرساختی محصول بومی خودشان و توسعه در این باره دادند ( مگه کار نیروی امنیت اینه مردحسابی = خطاب به مدیرعامل ؟ ) بعد نوشته بود که مجبور به راه اندازی زیرساختی SIEM او را کردند ( پرانتز ، مگه بالا آوردن زیرساخت کار نیروی امنیت کاره ؟ اونم وب و اندروید ( هیچ ربطی به حوزه اش نداشته ) و در آخر هم باگ هایی که کشف کرده رو ایگنور کردن و صرفا به چشم یک چیزی گذارا دیدن ، همین محصول فردا میاد توی سازمان های ما و زیرساخت امنیتی کشور کلا به فنا میره این شرکتها هم نهایتش میندازن گردن مشتری یا اون کار کنی که پشتش بوده و خلاص , ( فقط به دنبال پول مفتن شرکت های داخلی ) تعداد اندکی به فکر موضوعات حیاتی هستند که تعدادشون کمه و یا به واسطه حکومت به موضوعات دیگه کشیده میشن
خلاصه : فردا اگر زیرساخت اینترنتیتون یکی نیومد تانل زد و مخابرات انداخت گردن شما نگین که نگفتم :))
مخلص همه شما
نقشه راه ورود به دنیای تست نفوذ شبکه :
Network +
Ccna Routing and switching
MIKROTIK
Ccnp (دلبخواهی)
MCSA/MCSE >
Active Directiry , Kerberos , LDAP , Group Policy , IIS , DNS , DHCP , file server , Wsus ,
نیاز نیست کل کتابشو بخونید. (ولی کلشو هم رفتید عالیه).
MCSD
lpic1,2
PYTHON
یادگیری زبان برای اکسپلویت نویسی Cpp و C و Assembly و Python
SEC 401
Ceh ya Security + ya Sec504
در کنار خواندن کتاب های اصلی میتوانید در کانال هم سرچ کنید مفاهیم پایه گفته شده است .
SEC560
Pwk
MITRE ATT&CK
Sec573 or python for hackers
Sec580
PowerShell for Pentesters
Sec660
eCPPT
eCPTX
شما باید بتونید فایروال ها رو هم دور بزنید برای پیاده سازی حملات و سعی نکنید خودتون به این دوره ها محدود کنید .
و میتوانید دوره هایی که برای حملات اکتیودایرکتوری هست رو بگذرونید مثل دوره پنتستر اکادمی .
موفق باشید .
#roadmap
#NetworkPentest
Network +
Ccna Routing and switching
MIKROTIK
Ccnp (دلبخواهی)
MCSA/MCSE >
Active Directiry , Kerberos , LDAP , Group Policy , IIS , DNS , DHCP , file server , Wsus ,
نیاز نیست کل کتابشو بخونید. (ولی کلشو هم رفتید عالیه).
MCSD
lpic1,2
PYTHON
یادگیری زبان برای اکسپلویت نویسی Cpp و C و Assembly و Python
SEC 401
Ceh ya Security + ya Sec504
در کنار خواندن کتاب های اصلی میتوانید در کانال هم سرچ کنید مفاهیم پایه گفته شده است .
SEC560
Pwk
MITRE ATT&CK
Sec573 or python for hackers
Sec580
PowerShell for Pentesters
Sec660
eCPPT
eCPTX
شما باید بتونید فایروال ها رو هم دور بزنید برای پیاده سازی حملات و سعی نکنید خودتون به این دوره ها محدود کنید .
و میتوانید دوره هایی که برای حملات اکتیودایرکتوری هست رو بگذرونید مثل دوره پنتستر اکادمی .
موفق باشید .
#roadmap
#NetworkPentest
رایتاپ آسیب پذیری 150,000$
وسوسه انگیزه
هکر اولش میاد میگه :
ما گاهی وقتا انتظار داریم یه باگ بحرانی ، یه چیز پیچیده و سخت باشه اما در واقعیت کاملا برعکسه
[این جمله خیلی خیلی باارزشه بنظرم]
مغزتون به نباید ها و نشد ها عادت نکنه، چون هم میشه و هم برای هکر نبایدی وجود نداره:
رایتاپ آسیب پذیری 150,000$
وسوسه انگیزه
رایتاپشو بخون پس
هکر اولش میاد میگه :
ما گاهی وقتا انتظار داریم یه باگ بحرانی ، یه چیز پیچیده و سخت باشه اما در واقعیت کاملا برعکسه
[این جمله خیلی خیلی باارزشه بنظرم]
هکر باگ رو روی Evmos پیدا کرده
Evmosچیه؟
یه بلاکچینه که مبتنی بر معماری Coamos ساخته شده . که هدفش فراهم کردن قابلیت تعامل بین شبکه های های cosmos و Ethereumهستش.
حالا Cosmosچیه؟ یک فریم ورک هستش که به توسعه دهنده ها این امکان رو میده تا بلاکچین های مختلفی باهاش بسازن که بتونن باهم تعامل کنن
حالا اگر میخوای بیشتر بدونی راجبشوندیگه دست ب سرچ شو چون خیلی بحثش زیاده
هکر میگه من یه باگی پیدا کردم که میتونه بلاک چین Evmos و همه ی dAppهاشو متوقف کنه
اقا dAppچیه؟برنامه هایی که روی بلاکچینه اومدن بالا رو میگن dApp
مثلا وقتی میری روی یک سایتی و داری اتریوم رو تبدیل به تترمیکنی ،همون لحظه داری با یک dAppانجامش میدی که یک وب اپلیکیشنی هستش که روی یک بلاکچین خاصی اومده بالا و داره یه خدماتی رو به صورت غیرمتمرکز بهت ارائه میده.
اینا همش حاشیس میگما
خب بریم ادامه ماجرا:
پس هکر گفت یه باگی پیدا کردم که ممکنه منجر به توقف عملکرد بلاکچینه بشه
چجوری پیداش کردی؟ با خوندن داکیومنت
هکر میگه اومدم گفتم این بلاکچینه از روی چی ساخته شده؟از رویCosmos
پس برم داکیومنت اونو بخونم
چون پایشه دیگه
میگه یه ماژولی داشت این cosmos به اسم ماژول بانک.
داشتم بررسیش میکردم که به یک مفهوم جالب ازش رسیدم. یه چیزی به اسم حساب های ماژول
چیزی که برام جالب بود این جمله بود:
حساب های ماژول نباید وجه دریافت کنند
اقا ماژول چیه؟یک بخش از کده که در یه سیستم وظایف خاصی رو انجام میده.
مثلا اینجا گفتیم ماژول بانک : که کارش انجام تراکنش های مالی و انتقال وجه بین حساب ها هستش.
اقا حساب های ماژول چیه؟ حساب هایی هستن که برای انجام یسری کارها در یک ماژول طراحی شدن
بیا مثالشو بررسی کنیم قشنگ میفهمی:
مثلا توی این بلاکچین یه ماژولی داریم که مسئول انتقال پوله.حساب هایی که توی این ماژول هستن ممکنه برای نگهداری توکن ها یا اطلاعات مربوط به این تراکنش استفاده بشن.
هکر میگه من توی داکیومنت خوندم که این حساب های ماژول نباید وجه دریافت کنن
منم با خودم گفتم :اگه وجه دریافت کنن مگه چی میشه؟😂هکره دیگه
هرچی بهش بگن رو برعکسشو دوس داره.
حالا بیاین ببینیم میتونیم وجهی رو به یک حساب ماژول ارسال کنیم؟چون اون نباید هیچ وجهی رو بپذیره
با این کامند وجه رو میتونم به حساب ماژول توزیع ارسال کنم که منجر به خطای زیر میشه:
Error :ERR CONSENSUS FAILER!!!…
توی این مرحله بلوک دیگه ای تولید نمیشه و زنجیره متوقف میشه.البته الان این باگ برطرف شده
جایزشم که 150هزار دلار که حدود ۱۰میلیارد خودمون میشه
نکات مهم این داستان باحال:
همیشه مستندات پروژه ای که روش میخوایم کار کنیم رو مطالعه کنیم
و مهم ترین بخش: مهم ترینا ممکنه ساده ترینا باشن
این اولین رایتاپ web3 بود براتون بازنشرکردم
باحال بود.
For more join to channel (:
#Bugbounty
وسوسه انگیزه
هکر اولش میاد میگه :
ما گاهی وقتا انتظار داریم یه باگ بحرانی ، یه چیز پیچیده و سخت باشه اما در واقعیت کاملا برعکسه
[این جمله خیلی خیلی باارزشه بنظرم]
مغزتون به نباید ها و نشد ها عادت نکنه، چون هم میشه و هم برای هکر نبایدی وجود نداره:
رایتاپ آسیب پذیری 150,000$
وسوسه انگیزه
رایتاپشو بخون پس
هکر اولش میاد میگه :
ما گاهی وقتا انتظار داریم یه باگ بحرانی ، یه چیز پیچیده و سخت باشه اما در واقعیت کاملا برعکسه
[این جمله خیلی خیلی باارزشه بنظرم]
هکر باگ رو روی Evmos پیدا کرده
Evmosچیه؟
یه بلاکچینه که مبتنی بر معماری Coamos ساخته شده . که هدفش فراهم کردن قابلیت تعامل بین شبکه های های cosmos و Ethereumهستش.
حالا Cosmosچیه؟ یک فریم ورک هستش که به توسعه دهنده ها این امکان رو میده تا بلاکچین های مختلفی باهاش بسازن که بتونن باهم تعامل کنن
حالا اگر میخوای بیشتر بدونی راجبشوندیگه دست ب سرچ شو چون خیلی بحثش زیاده
هکر میگه من یه باگی پیدا کردم که میتونه بلاک چین Evmos و همه ی dAppهاشو متوقف کنه
اقا dAppچیه؟برنامه هایی که روی بلاکچینه اومدن بالا رو میگن dApp
مثلا وقتی میری روی یک سایتی و داری اتریوم رو تبدیل به تترمیکنی ،همون لحظه داری با یک dAppانجامش میدی که یک وب اپلیکیشنی هستش که روی یک بلاکچین خاصی اومده بالا و داره یه خدماتی رو به صورت غیرمتمرکز بهت ارائه میده.
اینا همش حاشیس میگما
خب بریم ادامه ماجرا:
پس هکر گفت یه باگی پیدا کردم که ممکنه منجر به توقف عملکرد بلاکچینه بشه
چجوری پیداش کردی؟ با خوندن داکیومنت
هکر میگه اومدم گفتم این بلاکچینه از روی چی ساخته شده؟از رویCosmos
پس برم داکیومنت اونو بخونم
چون پایشه دیگه
میگه یه ماژولی داشت این cosmos به اسم ماژول بانک.
داشتم بررسیش میکردم که به یک مفهوم جالب ازش رسیدم. یه چیزی به اسم حساب های ماژول
چیزی که برام جالب بود این جمله بود:
حساب های ماژول نباید وجه دریافت کنند
اقا ماژول چیه؟یک بخش از کده که در یه سیستم وظایف خاصی رو انجام میده.
مثلا اینجا گفتیم ماژول بانک : که کارش انجام تراکنش های مالی و انتقال وجه بین حساب ها هستش.
اقا حساب های ماژول چیه؟ حساب هایی هستن که برای انجام یسری کارها در یک ماژول طراحی شدن
بیا مثالشو بررسی کنیم قشنگ میفهمی:
مثلا توی این بلاکچین یه ماژولی داریم که مسئول انتقال پوله.حساب هایی که توی این ماژول هستن ممکنه برای نگهداری توکن ها یا اطلاعات مربوط به این تراکنش استفاده بشن.
هکر میگه من توی داکیومنت خوندم که این حساب های ماژول نباید وجه دریافت کنن
منم با خودم گفتم :اگه وجه دریافت کنن مگه چی میشه؟😂هکره دیگه
هرچی بهش بگن رو برعکسشو دوس داره.
حالا بیاین ببینیم میتونیم وجهی رو به یک حساب ماژول ارسال کنیم؟چون اون نباید هیچ وجهی رو بپذیره
با این کامند وجه رو میتونم به حساب ماژول توزیع ارسال کنم که منجر به خطای زیر میشه:
Error :ERR CONSENSUS FAILER!!!…
توی این مرحله بلوک دیگه ای تولید نمیشه و زنجیره متوقف میشه.البته الان این باگ برطرف شده
جایزشم که 150هزار دلار که حدود ۱۰میلیارد خودمون میشه
نکات مهم این داستان باحال:
همیشه مستندات پروژه ای که روش میخوایم کار کنیم رو مطالعه کنیم
و مهم ترین بخش: مهم ترینا ممکنه ساده ترینا باشن
این اولین رایتاپ web3 بود براتون بازنشرکردم
باحال بود.
For more join to channel (:
#Bugbounty
👍1
#ابزار
مقالهی زیر یک کتابخانهی جدید برای توابع توزیع پارتون (PDF) ارائه میکند، بهطوریکه هم PDFهای خطی (cPDF) و هم PDFهای وابسته به تکانه عرضی (TMD) را ارائه دهد:
https://arxiv.org/abs/2412.16680
آدرس گیتهاب:
https://github.com/Raminkord92/PDFxTMD
مقالهی زیر یک کتابخانهی جدید برای توابع توزیع پارتون (PDF) ارائه میکند، بهطوریکه هم PDFهای خطی (cPDF) و هم PDFهای وابسته به تکانه عرضی (TMD) را ارائه دهد:
https://arxiv.org/abs/2412.16680
آدرس گیتهاب:
https://github.com/Raminkord92/PDFxTMD
arXiv.org
PDFxTMDLib and QtPDFxTMDPlotter: A High-Performance Framework and...
We present PDFxTMD, a high-performance C++ library that provides unified access to both collinear parton distribution functions (cPDFs) and transverse momentum-dependent parton distribution...
👍1
برای کار به عنوان داده کاو یا دانشمند داده در یک شرکت، باید مصاحبه فنی مربوطه را با موفقیت پشت سر گذاشت. اما چه سوالهایی معمولا برای این مصاحبه پرسیده می شوند؟ چند نمونه از این سوالات را که خودم در مصاحبه ها با آنها مواجه شده ام را در اینجا مطرح می کنم. با توجه به اینکه سابقه کار در این زمینه را در ایران ندارم، لذا سوالات مربوطه از مصاحبه های فنی موسسات و شرکتهای واقع در خارج از ایران نظیر IBM, ANZ bank, Sportsbet, iSelect
می باشد.
(صحبت های یک دیتا ساینتیست در خارج ایران)
۱- تعریف و توضیح در مورد
P-value
۲- رگولاریزاسیون چیست و برای حل چه مشکلی استفاده میشود؟ تفاوت بین نرم L1 و L2 چیست؟
۳- تبدیل Box-Cox چیست؟
۴- توضیح در مورد MultiCollinearity
و چگونگی حل آن؟
۵- آیا الگوریتم Gradient descent همیشه به نقطه یکسانی همگرا میشود؟
۶- چگونه در الگوریتم K-means تعداد کلاسترهای بهینه را می توان مشخص کرد؟
۷- بردار ویژه و مقدار ویژه چیست؟
۸- با چه کتابخانه های داده کاوی از زبان پایتون آشنایی دارید؟ همچنین سوالاتی که توانایی شما را در کدنویسی ارزیابی میکند که معمولا این کدها را باید بر روی تخته وایت بردی که در اختیار شما قرار می گیرد، بنویسید
۹- نفرین بعدیت چیست؟
۱۰- چرا خطای کمترین مربعات همیشه متریک مناسبی برای ارزیابی خطا نیست؟ چه متریک دیگری را پیشنهاد می کنید؟
۱۱- آیا استفاده از ۵۰ درخت تصمیم کوچک به جای یک درخت تصمیم بزرگ اولویت دارد؟ چرا؟
۱۲- تعامل بین بایاس و واریانس به چه معناست؟
۱۳- منحنی
ROC
چیست؟
۱۴- کدام را ترجیح می دهید؟ داشتن تعداد زیادی جواب منفی کاذب و یا داشتن تعداد زیادی جواب مثبت کاذب؟
۱۵- چرا دسته بندی کننده نایو بیز، الگوریتم مناسبی نیست؟ برای مسئله تشخیص اسپم در ایمیل، چه روشی را برای بهبود نایو بیز پیشنهاد می کنید؟
۱۶ در بعضی مواقع یک سناریو به داوطلب داده می شود و از او خواسته می شود که برای آن سناریو راه حل پیشنهاد کند. به عنوان مثال: مدیر یک موسسه انتشاراتی که پنج مجله در آن به چاپ می رسد از شما ( به عنوان داده کاو) می خواهد روشی ارائه دهید برای طراحی یک سیستم توصیه به خواننده که بر اساس سلیقه خواننده مجله مورد علاقه اش را به او پیشنهاد می کند.
الگوریتم های #یادگیری_ماشین
#مصاحبه_علم_داده
#علم_داده
می باشد.
(صحبت های یک دیتا ساینتیست در خارج ایران)
۱- تعریف و توضیح در مورد
P-value
۲- رگولاریزاسیون چیست و برای حل چه مشکلی استفاده میشود؟ تفاوت بین نرم L1 و L2 چیست؟
۳- تبدیل Box-Cox چیست؟
۴- توضیح در مورد MultiCollinearity
و چگونگی حل آن؟
۵- آیا الگوریتم Gradient descent همیشه به نقطه یکسانی همگرا میشود؟
۶- چگونه در الگوریتم K-means تعداد کلاسترهای بهینه را می توان مشخص کرد؟
۷- بردار ویژه و مقدار ویژه چیست؟
۸- با چه کتابخانه های داده کاوی از زبان پایتون آشنایی دارید؟ همچنین سوالاتی که توانایی شما را در کدنویسی ارزیابی میکند که معمولا این کدها را باید بر روی تخته وایت بردی که در اختیار شما قرار می گیرد، بنویسید
۹- نفرین بعدیت چیست؟
۱۰- چرا خطای کمترین مربعات همیشه متریک مناسبی برای ارزیابی خطا نیست؟ چه متریک دیگری را پیشنهاد می کنید؟
۱۱- آیا استفاده از ۵۰ درخت تصمیم کوچک به جای یک درخت تصمیم بزرگ اولویت دارد؟ چرا؟
۱۲- تعامل بین بایاس و واریانس به چه معناست؟
۱۳- منحنی
ROC
چیست؟
۱۴- کدام را ترجیح می دهید؟ داشتن تعداد زیادی جواب منفی کاذب و یا داشتن تعداد زیادی جواب مثبت کاذب؟
۱۵- چرا دسته بندی کننده نایو بیز، الگوریتم مناسبی نیست؟ برای مسئله تشخیص اسپم در ایمیل، چه روشی را برای بهبود نایو بیز پیشنهاد می کنید؟
۱۶ در بعضی مواقع یک سناریو به داوطلب داده می شود و از او خواسته می شود که برای آن سناریو راه حل پیشنهاد کند. به عنوان مثال: مدیر یک موسسه انتشاراتی که پنج مجله در آن به چاپ می رسد از شما ( به عنوان داده کاو) می خواهد روشی ارائه دهید برای طراحی یک سیستم توصیه به خواننده که بر اساس سلیقه خواننده مجله مورد علاقه اش را به او پیشنهاد می کند.
الگوریتم های #یادگیری_ماشین
#مصاحبه_علم_داده
#علم_داده
👌1
درواقع CSRF شبیه Stored XSSعه. اینجوری که هکر یه لینک مخرب رو توی یه سایت(یا یه کامنت توی سوشال مدیا و...) میزاره قربانی با کلیک کردن روش، این حمله اتفاق میوفته.
همچنین ممکنه بعضی از این حملهها با متد GET باشن و حتی بدون نیاز به یه سایت دوم، صرفا با یه لینک این حمله انجام بشه:
<img src="https://vulnerable-website.com/email/change?email=pwned@evil-user.net">
روشهای جلوگیری و محافظت در برابر CSRF:
توکن csrf = یه هدر که توی درخواستهای حساس، ارسال میشه و از سمت سرور ست میشه.
کوکی samesite = یه مکانیزم امنیتی مرورگره که از استفاده شدن کوکیهای یه سایت، توی درخواست سایتهای دیگه جلوگیری میکنه.
اعتبار سنجی Referer = بعضی وقتا از هدر ریفرر استفاده میشه. (تاثیر کمتری داره)
همچنین ممکنه بعضی از این حملهها با متد GET باشن و حتی بدون نیاز به یه سایت دوم، صرفا با یه لینک این حمله انجام بشه:
<img src="https://vulnerable-website.com/email/change?email=pwned@evil-user.net">
روشهای جلوگیری و محافظت در برابر CSRF:
توکن csrf = یه هدر که توی درخواستهای حساس، ارسال میشه و از سمت سرور ست میشه.
کوکی samesite = یه مکانیزم امنیتی مرورگره که از استفاده شدن کوکیهای یه سایت، توی درخواست سایتهای دیگه جلوگیری میکنه.
اعتبار سنجی Referer = بعضی وقتا از هدر ریفرر استفاده میشه. (تاثیر کمتری داره)
توکن CSRF یه توکن غیرقابل پیشبینیعه که برنامه نویس اون رو طراحی میکنه. این توکن باید توی درخواستهای حساس کاربر که به سمت سرور ارسال میکنه وجود داشته باشه، در غیر این صورت اون درخواست توسط سرور پردازش نمیشه. برای مثال:
<form name="change-email-form" action="/my-account/change-email" method="POST">
<label>Email</label>
<input required type="email" name="email" value="example@normal-website.com">
<input required type="hidden" name="csrf" value="50FaWgdOhi9M9wyna8taR1k3ODOR8d6u">
<button class='button' type='submit'> Update email </button>
</form>
با درست ست شدن توکن CSRF درخواستهای حساس، شبیه به درخواست زیر ارسال میشن:
POST /my-account/change-email HTTP/1.1
Host: normal-website.com
Content-Length: 70
Content-Type: application/x-www-form-urlencoded
csrf=50FaWgdOhi9M9wyna8taR1k3ODOR8d6u&email=example@normal-website.com
و با وجود توکن CSRF جلوی این آسیب پذیری گرفته میشه. چرا که مهاجم نمیتونه این توکن رو حدس بزنه و درخواست کاربر رو جعل کنه.
البته این رو هم توجه کنید که توکن CSRF همیشه به عنوان یه پارامتر مخفی با متد POST ارسال نمیشه و توی برخی موارد به عنوان یه هدر HTTP هم ست میشه.
<form name="change-email-form" action="/my-account/change-email" method="POST">
<label>Email</label>
<input required type="email" name="email" value="example@normal-website.com">
<input required type="hidden" name="csrf" value="50FaWgdOhi9M9wyna8taR1k3ODOR8d6u">
<button class='button' type='submit'> Update email </button>
</form>
با درست ست شدن توکن CSRF درخواستهای حساس، شبیه به درخواست زیر ارسال میشن:
POST /my-account/change-email HTTP/1.1
Host: normal-website.com
Content-Length: 70
Content-Type: application/x-www-form-urlencoded
csrf=50FaWgdOhi9M9wyna8taR1k3ODOR8d6u&email=example@normal-website.com
و با وجود توکن CSRF جلوی این آسیب پذیری گرفته میشه. چرا که مهاجم نمیتونه این توکن رو حدس بزنه و درخواست کاربر رو جعل کنه.
البته این رو هم توجه کنید که توکن CSRF همیشه به عنوان یه پارامتر مخفی با متد POST ارسال نمیشه و توی برخی موارد به عنوان یه هدر HTTP هم ست میشه.
قانون هافستتر:
هر چیزی بیشتر از آنچه که انتظار دارید طول میکشد
قانون هافستتر یا قانون هوفستاتر (Hofstadter's Law) یک اصل طنزآمیز است که در مورد برآورد زمان مورد نیاز برای انجام یک کار به کار میرود. این قانون میگوید:
هر کاری بیشتر از آن چیزی که انتظار دارید طول میکشد، حتی اگر این قانون را در نظر بگیرید
این قانون، به طرز شگفتانگیزی، بسیاری از تجربیات ما را در زندگی روزمره و پروژههای مختلف توصیف میکند. به نظر میرسد که هر چقدر هم که سعی کنیم زمان لازم برای انجام یک کار را دقیقاً تخمین بزنیم، همیشه با تأخیر مواجه میشویم.
#قوانین_هکرها
هر چیزی بیشتر از آنچه که انتظار دارید طول میکشد
قانون هافستتر یا قانون هوفستاتر (Hofstadter's Law) یک اصل طنزآمیز است که در مورد برآورد زمان مورد نیاز برای انجام یک کار به کار میرود. این قانون میگوید:
هر کاری بیشتر از آن چیزی که انتظار دارید طول میکشد، حتی اگر این قانون را در نظر بگیرید
این قانون، به طرز شگفتانگیزی، بسیاری از تجربیات ما را در زندگی روزمره و پروژههای مختلف توصیف میکند. به نظر میرسد که هر چقدر هم که سعی کنیم زمان لازم برای انجام یک کار را دقیقاً تخمین بزنیم، همیشه با تأخیر مواجه میشویم.
#قوانین_هکرها
Bug Bounty Methodology =
وقتی تارگت به این شکله:
*.target.tld
باید subdomain هارو پیدا کنیم و همه اونارو تست کنیم. میتونیم با افزونه logger++ که برای burp هست قسمتی از کارمون رو راحت تر کنیم. اول باید هرچی subdomain داریم تو مرورگر باز کنیم و با functionality های مختلف از جمله login و register کار کنیم. بعد از کار کردن با functionality های مختلف میتونیم از این سرچ ها استفاده کنیم.
1⃣ پیدا کردن response هایی که حاوی اطلاعاتی مثل email خودمون هستند.
کاربرد: تست cors , cache deception , xssi روی این صفحات.
Response.Body CONTAINS "myemail@gmail.com"
2⃣ پیدا کردن subdomain هایی که تو response های مختلف وجود دارند.
Response.Body CONTAINS ".target.com"
تو این قسمت ممکنه به subdomain های جدیدی برسیم.
3⃣ پیدا کردن email های متعلق به کمپانی که تو response های مختلف افشا شدند:
Response.Body CONTAINS "@company-name.tld"
میتونیم Reverse whois روی email ها انجام بدیم و به دارایی های بیشتری از اون شرکت برسیم.
#vulnerability_hunting
#bug_bounty_methodology
وقتی تارگت به این شکله:
*.target.tld
باید subdomain هارو پیدا کنیم و همه اونارو تست کنیم. میتونیم با افزونه logger++ که برای burp هست قسمتی از کارمون رو راحت تر کنیم. اول باید هرچی subdomain داریم تو مرورگر باز کنیم و با functionality های مختلف از جمله login و register کار کنیم. بعد از کار کردن با functionality های مختلف میتونیم از این سرچ ها استفاده کنیم.
1⃣ پیدا کردن response هایی که حاوی اطلاعاتی مثل email خودمون هستند.
کاربرد: تست cors , cache deception , xssi روی این صفحات.
Response.Body CONTAINS "myemail@gmail.com"
2⃣ پیدا کردن subdomain هایی که تو response های مختلف وجود دارند.
Response.Body CONTAINS ".target.com"
تو این قسمت ممکنه به subdomain های جدیدی برسیم.
3⃣ پیدا کردن email های متعلق به کمپانی که تو response های مختلف افشا شدند:
Response.Body CONTAINS "@company-name.tld"
میتونیم Reverse whois روی email ها انجام بدیم و به دارایی های بیشتری از اون شرکت برسیم.
#vulnerability_hunting
#bug_bounty_methodology
برنامه ticktick که تقویم و مدیریت کارهای روزانه رو ارائه میده به صورت رسمی تقویم پارسی رو اضافه کرده و حالا میتونید توی نسخه موبایل و دسکتاپ به بخش Additional Calendar برید و تقویم persian رو انتخاب کنید.
اگه اشتراک پریمیوم تهیه کنید میتوند تیکت پشتیبانی هم ارسال کنید و اگر تونستید درخواست کنید زبان فارسی و فونت دلخواه رو هم اضافه کنن.
ظاهرا تیکتها براشون خیلی اهمیت داره و با دقت خوبی بهشون جواب میدن.
https://ticktick.com/download
اگه اشتراک پریمیوم تهیه کنید میتوند تیکت پشتیبانی هم ارسال کنید و اگر تونستید درخواست کنید زبان فارسی و فونت دلخواه رو هم اضافه کنن.
ظاهرا تیکتها براشون خیلی اهمیت داره و با دقت خوبی بهشون جواب میدن.
https://ticktick.com/download
Forwarded from Linuxor ?
📌معماری امنیت سایبری: پنج اصل حیاتی و یک اشتباه رایج
در ادامهٔ سلسله مقالات مرتبط با CSIRT و نقش CISO در سازمان، این بار به بررسی مباحث و چالشهای مدرن در حوزهٔ امنیت سامانههای سایبرنتیک میپردازیم. هدف اصلی ما، معرفی پنج اصل حیاتی در معماری امنیت سایبری است که رعایت آنها در پروژهها و زیرساختهای سازمانی - بهویژه در صنعت بانکداری - نقشی حیاتی دارد. در انتهای این مقاله، یک اشتباه متداول را نیز بررسی خواهیم کرد که ممکن است سازمانها به دام آن بیفتند.
🔺اصل اول: قلعهای با دیوارهای چندلایه (دفاع در عمق - Defense in Depth)
دفاع در عمق به این معناست که مجموعهای از لایههای امنیتی را بهصورت هماهنگ و همپوشان در سازمان پیادهسازی کنید تا اگر مهاجم توانست از یک لایه عبور کند، لایههای بعدی او را شناسایی یا متوقف کنند. در صنعت بانکداری، که اطلاعات حساس مالی و شخصی کاربران هدف اصلی حملات است، دفاع در عمق ستون فقرات معماری امنیتی محسوب میشود.
🔹سیاست اول و آمادهسازی برای دفاع در عمق:
همیشه در تمامی جلساتی که داشتهام، این مسئله را ذکر کردم و مجدد هم در این مقاله ذکر خواهم کرد. استفاده کردن از سیستمعاملهای کرک شده و همچنین دانلود شده از منبع غیراصلی (غیر وبسایت مایکروسافت)، دانلود نرمافزارهای کرک شده از هر نوعی، نصب محصولات آفیس کرک شده که بهروزرسانی دریافت نمیکنند، استفاده از وبسایتهای Soft98 و P30Download و ... را جد در تمامی واحدها و دپارتمانها و ... ممنوع کنید.
در ساختاری که اولین و مهمترین اصل امنیتی رعایت نمیشود، دیگر شما هزار تا فناوری قرار بده، چه نتیجهای میخواهید دریافت کنید؟ اگر پول ندارید که سیستمعاملها و محصولات اداری و نرم افزارهای کاربردی را خریداری کنید، خب بیخیال شوید و بروید روی لینوکس محیط را ستاپ کنید. در این مملکت کافی است یک APT سایت Soft98 را هک کند، چندتا پکیج را دستکاری کند، کلا مملکت برای آن ها متن باز خواهد شد. خجالت آور است که در جاهایی مانند بانک ها و صنایع فولادی و ... این مسائل مشاهده میشود.
حال ما اگر فرض کنیم، همه چیز از بیس درست است. سیستم عامل ها قانونی نصب شده اند. محصولات اداری لایسنس دارند و تمامی محصولات کاربردی هم قانونی نصب و راه اندازی شده اند، تازه می توانیم وارد مرحله دفاع در عمق شویم. والا از بیخ داستان مشکل دارد.
🔸لایهٔ اولیه دفاعی
➖فایروال نسل بعدی (NGFW): اولین مسئله ای که باید به آن پرداخته شود، موضوع فایروال روی اج شبکه است. استفاده از محصولات Fortinet FortiGate، Cisco Firepower، Juniper SRX Series با قابلیتهای هوش تهدید (Threat Intelligence) و بررسی عمیق بسته (DPI) برای این مسئله پیشنهاد میشود.
➖سیستم تشخیص و پیشگیری نفوذ (IDS/IPS): سپس باید زیرلایه بعدی را پیکربندی کرد که مسئله تشخیص و پیشگیری از نفوذ است. برای این زیرلایه می توان بهکمک Snort، Suricata یا محصولات اختصاصی از سیسکو و فورتینت، ترافیک ورودی و خروجی را به شکل صحیح پایش کرد.
➖ کنترل دسترسی به شبکه (NAC): زیرلایه بعدی مسئله کنترل دسترسی به شبکه است. برای این مورد می توان با Cisco ISE یا Juniper ClearPass، هویت و سلامت دستگاه قبل از ورود به شبکه بانک یا هر صنعتی به دقت بررسی شود.
➖ احراز هویت چندعاملی (MFA): یکی از موضوعات خیلی مهم، زیرلایه MFA است. خود همین زیرلایه تاثیر بسیاری بر امنیت دارد. پیادهسازی Microsoft Authenticator، Cisco Duo، FortiToken برای کاهش ریسک سرقت حساب کاربری می تواند نقش مهمی ایفا کند.
🔸 لایهٔ دوم دفاعی
➖امنیت نقاط پایانی (Endpoint Security): راهکارهایی مثل سوفوس، کسپرسکی، ترندمیکرو یا حتی خود مایکروسافت دفندر برای شناسایی حملات و بدافزارها میتوانند موردهای مناسبی باشند.
➖مدیریت وصلهها (Patch Management): یکی از مسائل بسیار مهم، وصلهپذیری سیستمها به سرعت است. برای این کار باید استفاده از Microsoft Intune / WSUS یا ابزارهای مشابه جهت بهروزرسانی منظم سیستمها و کاهش ریسک آسیبپذیریها در الویت باشد.
➖رمزنگاری و حفاظت از دادهها: رمزنگاری دیسک با Microsoft BitLocker و احراز هویت رمزنگاریشده با FortiToken برای محافظت از اطلاعات حساس در صورت سرقت فیزیکی دستگاه مسئله مهم بعدی است.
🔸لایهٔ سوم دفاعی
➖سیستم مدیریت رویداد و اطلاعات امنیتی (SIEM): Splunk یا Elastic Stack (ELK) برای جمعآوری لاگها از فایروال، IDS/IPS، سرورها و دیتابیسها و تحلیل همبستهٔ آنها یکی از مسائل مهم امنیت در یک سازمان است. معماری و استقرار این زیرلایه بسیار اهمیت دارد. هر چقدر لاگیری و ایجاد همبستگی به درستی و با دقت انجام شود، مراحل بعدی می توانند در تشخیص و جلوگیری تهدیدات بهتر عمل کنند.
@aioooir | #ciso #story
در ادامهٔ سلسله مقالات مرتبط با CSIRT و نقش CISO در سازمان، این بار به بررسی مباحث و چالشهای مدرن در حوزهٔ امنیت سامانههای سایبرنتیک میپردازیم. هدف اصلی ما، معرفی پنج اصل حیاتی در معماری امنیت سایبری است که رعایت آنها در پروژهها و زیرساختهای سازمانی - بهویژه در صنعت بانکداری - نقشی حیاتی دارد. در انتهای این مقاله، یک اشتباه متداول را نیز بررسی خواهیم کرد که ممکن است سازمانها به دام آن بیفتند.
🔺اصل اول: قلعهای با دیوارهای چندلایه (دفاع در عمق - Defense in Depth)
دفاع در عمق به این معناست که مجموعهای از لایههای امنیتی را بهصورت هماهنگ و همپوشان در سازمان پیادهسازی کنید تا اگر مهاجم توانست از یک لایه عبور کند، لایههای بعدی او را شناسایی یا متوقف کنند. در صنعت بانکداری، که اطلاعات حساس مالی و شخصی کاربران هدف اصلی حملات است، دفاع در عمق ستون فقرات معماری امنیتی محسوب میشود.
🔹سیاست اول و آمادهسازی برای دفاع در عمق:
همیشه در تمامی جلساتی که داشتهام، این مسئله را ذکر کردم و مجدد هم در این مقاله ذکر خواهم کرد. استفاده کردن از سیستمعاملهای کرک شده و همچنین دانلود شده از منبع غیراصلی (غیر وبسایت مایکروسافت)، دانلود نرمافزارهای کرک شده از هر نوعی، نصب محصولات آفیس کرک شده که بهروزرسانی دریافت نمیکنند، استفاده از وبسایتهای Soft98 و P30Download و ... را جد در تمامی واحدها و دپارتمانها و ... ممنوع کنید.
در ساختاری که اولین و مهمترین اصل امنیتی رعایت نمیشود، دیگر شما هزار تا فناوری قرار بده، چه نتیجهای میخواهید دریافت کنید؟ اگر پول ندارید که سیستمعاملها و محصولات اداری و نرم افزارهای کاربردی را خریداری کنید، خب بیخیال شوید و بروید روی لینوکس محیط را ستاپ کنید. در این مملکت کافی است یک APT سایت Soft98 را هک کند، چندتا پکیج را دستکاری کند، کلا مملکت برای آن ها متن باز خواهد شد. خجالت آور است که در جاهایی مانند بانک ها و صنایع فولادی و ... این مسائل مشاهده میشود.
حال ما اگر فرض کنیم، همه چیز از بیس درست است. سیستم عامل ها قانونی نصب شده اند. محصولات اداری لایسنس دارند و تمامی محصولات کاربردی هم قانونی نصب و راه اندازی شده اند، تازه می توانیم وارد مرحله دفاع در عمق شویم. والا از بیخ داستان مشکل دارد.
🔸لایهٔ اولیه دفاعی
➖فایروال نسل بعدی (NGFW): اولین مسئله ای که باید به آن پرداخته شود، موضوع فایروال روی اج شبکه است. استفاده از محصولات Fortinet FortiGate، Cisco Firepower، Juniper SRX Series با قابلیتهای هوش تهدید (Threat Intelligence) و بررسی عمیق بسته (DPI) برای این مسئله پیشنهاد میشود.
➖سیستم تشخیص و پیشگیری نفوذ (IDS/IPS): سپس باید زیرلایه بعدی را پیکربندی کرد که مسئله تشخیص و پیشگیری از نفوذ است. برای این زیرلایه می توان بهکمک Snort، Suricata یا محصولات اختصاصی از سیسکو و فورتینت، ترافیک ورودی و خروجی را به شکل صحیح پایش کرد.
➖ کنترل دسترسی به شبکه (NAC): زیرلایه بعدی مسئله کنترل دسترسی به شبکه است. برای این مورد می توان با Cisco ISE یا Juniper ClearPass، هویت و سلامت دستگاه قبل از ورود به شبکه بانک یا هر صنعتی به دقت بررسی شود.
➖ احراز هویت چندعاملی (MFA): یکی از موضوعات خیلی مهم، زیرلایه MFA است. خود همین زیرلایه تاثیر بسیاری بر امنیت دارد. پیادهسازی Microsoft Authenticator، Cisco Duo، FortiToken برای کاهش ریسک سرقت حساب کاربری می تواند نقش مهمی ایفا کند.
🔸 لایهٔ دوم دفاعی
➖امنیت نقاط پایانی (Endpoint Security): راهکارهایی مثل سوفوس، کسپرسکی، ترندمیکرو یا حتی خود مایکروسافت دفندر برای شناسایی حملات و بدافزارها میتوانند موردهای مناسبی باشند.
➖مدیریت وصلهها (Patch Management): یکی از مسائل بسیار مهم، وصلهپذیری سیستمها به سرعت است. برای این کار باید استفاده از Microsoft Intune / WSUS یا ابزارهای مشابه جهت بهروزرسانی منظم سیستمها و کاهش ریسک آسیبپذیریها در الویت باشد.
➖رمزنگاری و حفاظت از دادهها: رمزنگاری دیسک با Microsoft BitLocker و احراز هویت رمزنگاریشده با FortiToken برای محافظت از اطلاعات حساس در صورت سرقت فیزیکی دستگاه مسئله مهم بعدی است.
🔸لایهٔ سوم دفاعی
➖سیستم مدیریت رویداد و اطلاعات امنیتی (SIEM): Splunk یا Elastic Stack (ELK) برای جمعآوری لاگها از فایروال، IDS/IPS، سرورها و دیتابیسها و تحلیل همبستهٔ آنها یکی از مسائل مهم امنیت در یک سازمان است. معماری و استقرار این زیرلایه بسیار اهمیت دارد. هر چقدر لاگیری و ایجاد همبستگی به درستی و با دقت انجام شود، مراحل بعدی می توانند در تشخیص و جلوگیری تهدیدات بهتر عمل کنند.
@aioooir | #ciso #story
👍1
🧑💻Cyber.vision🧑💻
برنامه ticktick که تقویم و مدیریت کارهای روزانه رو ارائه میده به صورت رسمی تقویم پارسی رو اضافه کرده و حالا میتونید توی نسخه موبایل و دسکتاپ به بخش Additional Calendar برید و تقویم persian رو انتخاب کنید. اگه اشتراک پریمیوم تهیه کنید میتوند تیکت پشتیبانی هم…
ممکنه خیلی از ماها در گوگل کلندر نیز نیاز به استفاده از تقویم شمسی داشته باشیم، مدت زیادیه که گوگل این ویژگی رو به کلندرش اضافه کرده و میتونید ازش استفاده کنید. وارد تنظیمات میشید و Persian Calendar رو به عنوان Alternate Calendar اضافه میکنید.
https://calendar.google.com
https://calendar.google.com
Forwarded from Ninja Learn | نینجا لرن
🌐 خب خب خب لایه شبکه (Network Layer) در مدل OSI
لایه شبکه، سومین لایه از مدل OSI، مسئول انتقال دادهها بین شبکههای مختلفه. این لایه کاری میکنه که دادهها از یه مبدأ به مقصد مشخص (تو هر گوشه دنیا) برسن، بدون این که مسیر و راهش گم بشه. این لایه مثل یه سیستم حملونقل بزرگ عمل میکنه که بستههای اطلاعاتی رو از یه نقطه به نقطه دیگه منتقل میکنه. بیاین جزئیاتش رو مرحلهبهمرحله بررسی کنیم. 🚀
📍 وظایف اصلی لایه شبکه
🧭 آدرسدهی منطقی (Logical Addressing):
هر دستگاه تو شبکه یه آدرس منحصربهفرد داره که بهش آدرس IP میگن. این آدرس مشخص میکنه دادهها باید دقیقاً به کجا برن.
مثال:
وقتی دادهها باید از یه شبکه به شبکه دیگه برن، این لایه تصمیم میگیره که از چه مسیری برن تا سریعتر و مطمئنتر به مقصد برسن.
نقش روترها:
دستگاههای روتر تو این مرحله خیلی مهمن. روترها با بررسی آدرسهای IP، بهترین مسیر رو برای انتقال داده پیدا میکنن.
مثال:
دادههایی که از لایه انتقال (Transport Layer) میان، به بخشهای کوچیکتری به اسم پکت (Packet) تقسیم میشن. هر پکت شامل اطلاعات زیره:
🔍 مثال:
اگه یه شبکه شلوغ بشه و دادهها نتونن به موقع منتقل بشن، این لایه کمک میکنه ترافیک مدیریت بشه.
مثال:
گاهی وقتا دادهها بزرگتر از ظرفیت انتقال یه شبکه هستن. این لایه دادهها رو به قطعات کوچیکتر تقسیم میکنه و وقتی به مقصد رسید، دوباره به هم وصلشون میکنه.
مثال:
IPv4 (Internet Protocol Version 4):
پرکاربردترین پروتکل برای آدرسدهی و مسیریابی.
از آدرسهای ۳۲ بیتی استفاده میکنه (مثلاً: 192.168.1.1).
IPv6 (Internet Protocol Version 6):
نسخه جدیدتر IPv4 که ظرفیت بیشتری برای آدرسدهی داره (۱۲۸ بیتی).
مشکل کمبود آدرسهای IPv4 رو حل کرده.
ICMP (Internet Control Message Protocol):
برای ارسال پیامهای کنترلی (مثل خطاها) و تست شبکه (مثل ابزار Ping).
ARP (Address Resolution Protocol):
تبدیل آدرس IP به آدرس فیزیکی (MAC Address).
🔄 انواع ارتباطات تو لایه شبکه
تکپخشی (Unicast):
ارسال پکت فقط به یه مقصد خاص.
مثال: ارسال ایمیل به مدحج.
چندپخشی (Multicast):
ارسال پکت به گروهی از دستگاهها.
مثال: استریم زنده یه بازی برای چند کاربر خاص.
همگانی (Broadcast):
ارسال پکت به همه دستگاههای یه شبکه.
مثال: اعلام عمومی پیام تو یه گروه چت.
🎯 جمع بندی
لایه شبکه یه پل حیاتی بین دستگاهها تو شبکههای مختلفه. این لایه مطمئن میشه که هر پکت به موقع و بدون اشتباه به مقصدش برسه. با وظایفی مثل مسیریابی، آدرسدهی، و کنترل ترافیک، این لایه ستون فقرات اینترنت و شبکههای مدرنه. بدون لایه شبکه، ارتباطات جهانی غیرممکن بودن 🌍
➖➖➖➖➖➖➖➖➖
لایه شبکه، سومین لایه از مدل OSI، مسئول انتقال دادهها بین شبکههای مختلفه. این لایه کاری میکنه که دادهها از یه مبدأ به مقصد مشخص (تو هر گوشه دنیا) برسن، بدون این که مسیر و راهش گم بشه. این لایه مثل یه سیستم حملونقل بزرگ عمل میکنه که بستههای اطلاعاتی رو از یه نقطه به نقطه دیگه منتقل میکنه. بیاین جزئیاتش رو مرحلهبهمرحله بررسی کنیم. 🚀
📍 وظایف اصلی لایه شبکه
🧭 آدرسدهی منطقی (Logical Addressing):
هر دستگاه تو شبکه یه آدرس منحصربهفرد داره که بهش آدرس IP میگن. این آدرس مشخص میکنه دادهها باید دقیقاً به کجا برن.
مثال:
فرض کن میخوای یه بسته پستی ارسال کنی. بدون داشتن آدرس خونه مقصد، عملاً ارسال بسته غیرممکنه. تو شبکه هم آدرس IP دقیقاً مثل آدرس خونه عمل میکنه.🛣️ مسیریابی (Routing):
وقتی دادهها باید از یه شبکه به شبکه دیگه برن، این لایه تصمیم میگیره که از چه مسیری برن تا سریعتر و مطمئنتر به مقصد برسن.
نقش روترها:
دستگاههای روتر تو این مرحله خیلی مهمن. روترها با بررسی آدرسهای IP، بهترین مسیر رو برای انتقال داده پیدا میکنن.
مثال:
فرض کن داری از تهران به اصفهان سفر میکنی. چند مسیر مختلف هست، ولی تو کوتاهترین و کمترافیکترین جاده رو انتخاب میکنی. لایه شبکه همین کارو برای دادهها انجام میده📦 بستهبندی دادهها (Packetization):
دادههایی که از لایه انتقال (Transport Layer) میان، به بخشهای کوچیکتری به اسم پکت (Packet) تقسیم میشن. هر پکت شامل اطلاعات زیره:
آدرس مبدأ: دستگاهی که داده رو ارسال کرده.
آدرس مقصد: جایی که داده باید بره.
داده اصلی: همون اطلاعاتی که باید منتقل بشه.
اطلاعات کنترلی: برای اطمینان از انتقال درست داده.
🔍 مثال:
فرض کن میخوای یه پیتزای بزرگ رو با دوستات بخوری، ولی ظرفت کوچیکه.🚦 کنترل تراکم (Congestion Control):
پیتزا رو به برشهای کوچیک تقسیم میکنی و هر برش رو جداگونه میفرستی.
اگه یه شبکه شلوغ بشه و دادهها نتونن به موقع منتقل بشن، این لایه کمک میکنه ترافیک مدیریت بشه.
مثال:
فرض کن تو صف یه سوپرمارکت شلوغی. فروشنده سعی میکنه با اضافه کردن صندوقدار بیشتر، صف رو کوتاهتر کنه. لایه شبکه هم همین طور ترافیک شبکه رو کنترل میکنه.🔧 تکهتکه کردن و دوبارهسازی (Fragmentation and Reassembly):
گاهی وقتا دادهها بزرگتر از ظرفیت انتقال یه شبکه هستن. این لایه دادهها رو به قطعات کوچیکتر تقسیم میکنه و وقتی به مقصد رسید، دوباره به هم وصلشون میکنه.
مثال:
فرض کن یه مبل بزرگ رو میخوای از در کوچیک خونه رد کنی. مبل رو باز میکنی، قطعاتش رو یکییکی رد میکنی و دوباره اونطرف سر هم میکنی.⚙️ پروتکلهای مهم لایه شبکه
IPv4 (Internet Protocol Version 4):
پرکاربردترین پروتکل برای آدرسدهی و مسیریابی.
از آدرسهای ۳۲ بیتی استفاده میکنه (مثلاً: 192.168.1.1).
IPv6 (Internet Protocol Version 6):
نسخه جدیدتر IPv4 که ظرفیت بیشتری برای آدرسدهی داره (۱۲۸ بیتی).
مشکل کمبود آدرسهای IPv4 رو حل کرده.
ICMP (Internet Control Message Protocol):
برای ارسال پیامهای کنترلی (مثل خطاها) و تست شبکه (مثل ابزار Ping).
ARP (Address Resolution Protocol):
تبدیل آدرس IP به آدرس فیزیکی (MAC Address).
🔄 انواع ارتباطات تو لایه شبکه
تکپخشی (Unicast):
ارسال پکت فقط به یه مقصد خاص.
مثال: ارسال ایمیل به مدحج.
چندپخشی (Multicast):
ارسال پکت به گروهی از دستگاهها.
مثال: استریم زنده یه بازی برای چند کاربر خاص.
همگانی (Broadcast):
ارسال پکت به همه دستگاههای یه شبکه.
مثال: اعلام عمومی پیام تو یه گروه چت.
🎯 جمع بندی
لایه شبکه یه پل حیاتی بین دستگاهها تو شبکههای مختلفه. این لایه مطمئن میشه که هر پکت به موقع و بدون اشتباه به مقصدش برسه. با وظایفی مثل مسیریابی، آدرسدهی، و کنترل ترافیک، این لایه ستون فقرات اینترنت و شبکههای مدرنه. بدون لایه شبکه، ارتباطات جهانی غیرممکن بودن 🌍
#⃣ #network
➖➖➖➖➖➖➖➖➖
🥷 CHANNEL | GROUP