این ویدئو یکی از جلسات درس آزمایشگاه سیستمعامل در دانشگاه علم و صنعت است که در آن ابتدا کاربردهای #KernelModule در #Linux، نحوهی اجرا شدن ماژولهای کرنل و تفاوت آنها با برنامههای عادی، تفاوت Privilege سطح کرنل و سطح کاربر و همچنین کاربرد #ftrace در بررسی رویدادهای کرنل و #hook توابع آن، بیان میشود. پس از این توضیحات برای آشنایی با Ringهای پردازنده و کنترل Privilege دستورات در سطح کاربر و سطح هسته، یک برنامهی سطح User برای اطلاع و تغییر در فعال بودن/نبودن وقفه در لینوکس نوشته و سعی میشود این کد اجرا شود که با دریافت #GPF یا General Protection Fault در زمان رسیدن به دستور اسمبلی cli مواجه میشود. همین کد برای تمرین نوشتن #LKM و آشنایی با نحوهی نصب کردن یک ماژول جدید در لینوکس به صورت یکLKM ساده نوشته شده و اجرای آن تست میشود. سپس به بررسی نحوهی trace کردن برنامهها در لینوکس پرداخته و ابتدا به کمک دستورات ltrace/strace برنامهای را تا سر فراخوانی System Call رهگیری میکنیم. در ادامه برای رفتن به دل کرنل لینوکس و بررسی توابع اجرا شده توسط System Callها ابتدا کاربرد ftrace و استفاده از #tracefs نمایش داده شده و سپس به تشریح امکان hook کردن توابع کرنل به کمک آن میپردازیم. در پایان نیز به کمک ftrace چند System Call را hook کرده و برای تمرین استفاده از این امکان، دو مثال جلوگیری از اجرای پروسهها درون کرنل لینوکس با hook کردن #execve و تغییر در نحوهی خواندن/نوشتن فایلها و پیادهسازی encryption در سطح کرنل با hook کردن توابع مربوط به File System را بررسی میکنیم.
https://aparat.com/v/otF1i
==============
https://t.me/OxAA55
https://aparat.com/v/otF1i
==============
https://t.me/OxAA55
آپارات - سرویس اشتراک ویدیو
آشنایی با Kernel Module و نحوهی Hook کردن System Call در لینوکس
این ویدئو یکی از جلسات درس آزمایشگاه سیستمعامل در دانشگاه علم و صنعت است که در آن کاربردهای KernelModule، نحوهی اجرا شدن ماژولهای کرنل و تفاوت آنها با برنامههای عادی و همچنین کاربرد ftrace در بررسی رویدادهای کرنل و hook توابع آن، بیان میشود. سپس به…