چرا نمادهای هسته را پنهان می کنید؟
نقل قول
هر کس با دانش اساسی در مورد بهره برداری از هسته می داند جمع آوری اطلاعات چقدر مهم است تا بهره برداری قابل اعتماد. این محافظت نمادهای هسته را از مکانهای مختلفی که یک مهاجم می تواند در مرحله جمع آوری اطلاعات در مرحله قبل از بهره برداری استفاده کند پنهان می کند.
…
این گزینه همچنین از نشت آدرسهای هسته از طریق چندین ورودی / Proc جلوگیری می کند.
اشکال کلاس / نشت اشاره گر هسته
بعضی از مکان ها آشکار است. / proc / kallsyms
را می توان از طریق sysctl kernel.kptr_restrict = 2
محدود کرد. دسترسی به پوشه / boot
را می توان از طریق مجوزهای فایل linux فقط به ریشه زدایی محدود کرد و با apparmor حتی از ریشه مخفی شد. AppArmor FullSystemPolicy (apparmor-profile-all) همچنین مکانهای دیگری مانند / lib / ماژول ها
، system.map
، و فهرست منبع هسته.
به منظور درخواست یک سؤال بسیار خاص ، لطفاً از مکان های دیگر که آدرس هسته ممکن است نشت کند چشم پوشی کنید. اگر می خواهید آنها را بشمارید ، لطفاً سؤال خودتان را مطرح کنید ، صبر کنید تا من بپرسم یا نظری اضافه کنم.
سؤال بسیار خاص من در زیر نقل قول زیر است:
هسته با استفاده از grsecurance توسط برخی توزیع مقدمه نشده است
این امر به این دلیل است که آدرسهای هسته را می توان از تصویر هسته استخراج کرد. ابزارهای منبع باز برای آن وجود دارد.
تصاویر هسته از مخازن عمومی مانند pack.debian.org توسط مهاجمان به خوبی شناخته شده است. مهاجمان می توانند آدرسها را به راحتی رمزگشایی کرده و از این طریق با تلاشی مانند kernel.kptr_restrict = 2
.
برای جلوگیری از نشت نشانگر هسته ، تصویر هسته نمی تواند در یک کشور شناخته شده عمومی باشد. تا آنجا که می فهمم باید منحصر به فرد و خصوصی باشد. شخص باید هسته خود را کامپایل کند.
ساختهای قابل تولید مجدد تلاشی شگفت انگیز برای افزایش امنیت برای همه است. با این حال ، در این مورد ، ساختهای تولید مثل می توانند دوباره با یک هسته همراه با آدرس هایی که توسط مهاجمان قابل پیش بینی است به پایان برسانند زیرا هسته دبی لینوکس در حال حاضر قابل تجدیدپذیر ، عمدتاً قابل تجدید یا در آینده کاملاً قابل تکرار است (من پیگیری نکردم که توسعه در آن است.
چگونه می توان تصویر هسته هسته لینوکس (vmlinux) را به گونه ای تصادفی ساخت؟ چگونه مطمئن شویم که آدرس های هسته منحصر به فردی دارد؟ آیا یک پارامتر هسته برای آن وجود دارد؟ یا آیا به نوعی می توان هسته را با یک پرونده تصادفی تهیه کرد تا بتواند خودش را تصادفی کند؟