SYD-MDWE(1) General Commands Manual SYD-MDWE(1)

syd-mdwe - بررسی حفاظت حافظه نوشتن یا اجرا (MDWE) در syd

syd-mdwe [-hms] {command [args...]}

ابزار syd-mdwe یک برنامه را تحت حفاظت‌های حافظه نوشتن یا اجرا (MDWE یا Memory-Deny-Write-Execute) اجرا می‌کند. این حفاظت‌ها را می‌توان با استفاده از prctl(2) و seccomp(2) اعمال کرد؛ این حفاظت‌ها با آنچه Syd به‌طور پیش‌فرض اعمال می‌کند یکسان هستند.

-h نمایش راهنما.
-m فعال‌سازی حفاظت‌های MDWE با استفاده از prctl(2) PR_SET_MDWE (پیش‌فرض: هر دو).
-s فعال‌سازی حفاظت‌های MDWE با استفاده از seccomp(2) (پیش‌فرض: هر دو).

با اجرای یک‌بار pax-test به‌صورت مستقل و یک‌بار تحت syd-mdwe(1) روی هسته نسخه 6.8، تفاوت‌های زیر حاصل می‌شود:

PaX Testcase standalone mdwe
Executable anonymous mapping Killed Killed
Executable bss Killed Killed
Executable data Killed Killed
Executable heap Killed Killed
Executable stack Killed Killed
Executable shared library bss Killed Killed
Executable shared library data Killed Killed
Executable anonymous mapping (mprotect) Vulnerable Killed
Executable bss (mprotect) Vulnerable Killed
Executable data (mprotect) Vulnerable Killed
Executable heap (mprotect) Vulnerable Killed
Executable stack (mprotect) Vulnerable Killed
Executable shared library bss (mprotect) Vulnerable Killed
Executable shared library data (mprotect): Vulnerable Killed
Writable text segments Vulnerable Killed

این آزمون با paxtest-0.9.15 انجام شده است:

PaXtest - Copyright(c) 2003-2016 by Peter Busser <peter@adamantix.org> and Brad Spengler <spender@grsecurity.net>
Released under the GNU Public Licence version 2 or later
Mode: 1
Blackhat
Kernel:
Linux syd 6.8.0-syd-13213-g70293240c5ce #9 SMP PREEMPT_DYNAMIC Mon Mar 25 04:40:47 CET 2024 x86_64 GNU/Linux

در صورت خروج عادی، syd-mdwe با همان کد فرآیند فرزند خارج می‌شود. در صورت خاتمه غیرعادی، کد خروج روی 128 به علاوه شماره سیگنال تنظیم می‌شود. در صورتی که اجرای فرآیند فرزند با شکست مواجه شود، syd-mdwe با شماره errno(3) خارج می‌شود.

به‌طور پیش‌فرض، خطای prctl(2) هنگام تنظیم PR_SET_MDWE(2const) مهلک نیست. برای مهلک کردن این خطا از گزینه -m استفاده کنید. این ابزار روی معماری‌های MIPS که در آن‌ها لینوکس نیازمند پشته قابل اجرا است، کار نمی‌کند.

syd(1), syd(2), syd(5), syd-lock(1), syd-ofd(1), syd-pds(1), syd-ring(1), syd-sec(1), syd-tsc(1), seccomp(2), prctl(2), PR_SET_MDWE(2const)

صفحه خانگی syd: https://sydbox.exherbo.org

نگه‌داری شده توسط Ali Polatel. سورس‌های به‌روز را می‌توان در https://gitlab.exherbo.org/sydbox/sydbox.git و روی Radicle در rad:z38HCnbmcDegA2BMxuPaPRPMdp6wF یافت. اشکالات/وصله‌ها را می‌توان به https://gitlab.exherbo.org/groups/sydbox/-/issues ارسال کرد. گفتگو در #sydbox در Libera Chat یا در #sydbox:mailstation.de در Matrix.

2026-09-01