Вопрос: Отключение ASLR в Debian, ошибка только для чтения


Я делаю проект отладки для курса компьютерной безопасности, но обнаруживаю, что адреса памяти для определенных переменных я пытаюсь изучить изменения между прогонами. Я разговаривал с инструктором, и он предложил отключить ASLR для моей сессии, чтобы сохранить адреса памяти статичными для процесса анализа.

Я запускаю экземпляр Debian, размещенный в Cloud9.

Для этого я использую команду:

echo 0 | tee /proc/sys/kernel/randomize_va_space

Я запускаю эту команду под root. Когда я это делаю, ОС отбрасывает ошибку:

tee: /proc/sys/kernel/randomize_va_space: Read-only file system

Я понимаю, что это абсолютно нормальное поведение, но не идеальное для того, что я пытаюсь сделать.

Как мне отключить флаг только для чтения в системе? Я это понимаю mount может обеспечить решение, так что следующая дампа вывода mount на моей виртуальной машине.

none on / type aufs (rw,relatime,si=18e455316acd065c,dio,dirperm1)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
tmpfs on /dev type tmpfs (rw,nosuid,mode=755)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=666)
sysfs on /sys type sysfs (ro,nosuid,nodev,noexec,relatime)
tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,relatime,mode=755)
cgroup on /sys/fs/cgroup/systemd type cgroup (ro,nosuid,nodev,noexec,relatime,xattr,release_agent=/lib/systemd/systemd-cgroups-agent,name=systemd)
cgroup on /sys/fs/cgroup/cpuset type cgroup (ro,nosuid,nodev,noexec,relatime,cpuset)
cgroup on /sys/fs/cgroup/memory type cgroup (ro,nosuid,nodev,noexec,relatime,memory)
cgroup on /sys/fs/cgroup/blkio type cgroup (ro,nosuid,nodev,noexec,relatime,blkio)
cgroup on /sys/fs/cgroup/freezer type cgroup (ro,nosuid,nodev,noexec,relatime,freezer)
cgroup on /sys/fs/cgroup/net_cls,net_prio type cgroup (ro,nosuid,nodev,noexec,relatime,net_cls,net_prio)
cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (ro,nosuid,nodev,noexec,relatime,cpu,cpuacct)
cgroup on /sys/fs/cgroup/pids type cgroup (ro,nosuid,nodev,noexec,relatime,pids)
cgroup on /sys/fs/cgroup/perf_event type cgroup (ro,nosuid,nodev,noexec,relatime,perf_event)
cgroup on /sys/fs/cgroup/devices type cgroup (ro,nosuid,nodev,noexec,relatime,devices)
mqueue on /dev/mqueue type mqueue (rw,nosuid,nodev,noexec,relatime)
/dev/mapper/volg1-lvdata on /mnt type ext4 (ro,relatime,data=ordered)
/dev/mapper/volg1-lvdata on /nix type ext4 (ro,relatime,data=ordered)
/dev/mapper/volg1-lvdata on /mnt/shared type ext4 (ro,relatime,data=ordered)
/dev/mapper/volg1-lvdata on /etc/resolv.conf type ext4 (rw,relatime,data=ordered)
/dev/mapper/volg1-lvdata on /etc/hostname type ext4 (rw,relatime,data=ordered)
/dev/mapper/volg1-lvdata on /etc/hosts type ext4 (rw,relatime,data=ordered)
shm on /dev/shm type tmpfs (rw,nosuid,nodev,noexec,relatime,size=65536k)
/dev/mapper/volg1-lvdata on /root/.ssh/authorized_keys type ext4 (ro,relatime,data=ordered)
/dev/mapper/volg1-lvdata on /home/ubuntu/.ssh/authorized_keys type ext4 (ro,relatime,data=ordered)
devpts on /dev/console type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
proc on /proc/asound type proc (ro,nosuid,nodev,noexec,relatime)
proc on /proc/bus type proc (ro,nosuid,nodev,noexec,relatime)
proc on /proc/fs type proc (ro,nosuid,nodev,noexec,relatime)
proc on /proc/irq type proc (ro,nosuid,nodev,noexec,relatime)
proc on /proc/sys type proc (ro,nosuid,nodev,noexec,relatime)
proc on /proc/sysrq-trigger type proc (ro,nosuid,nodev,noexec,relatime)
tmpfs on /proc/kcore type tmpfs (rw,nosuid,mode=755)
tmpfs on /proc/timer_list type tmpfs (rw,nosuid,mode=755)
tmpfs on /proc/timer_stats type tmpfs (rw,nosuid,mode=755)
tmpfs on /proc/sched_debug type tmpfs (rw,nosuid,mode=755)
tmpfs on /sys/firmware type tmpfs (ro,relatime)

0
2017-11-09 01:52


Источник


Вы не можете изменить это на виртуальной машине. Попробуйте на своем компьютере. - Ipor Sircer
Вы можете отключить ASLR на виртуальной машине. Я только что сделал это в экземпляре VMWare Debian. Вы имеете в виду, что вы не можете изменить mount для чтения только для чтения? - Bradley Evans
Извините, я не был слишком точным. (s / virtual machine / guest os /) VMware эмулирует все оборудование, поэтому вы можете делать что угодно, как голый металл. Cloud9 использует xen или другую паравиртуализацию для создания в основном отдельных систем. Но управление памятью одинаково, и хозяин os выполняет эту работу. Это дает гораздо большую производительность, чем эмуляция полностью x86-оборудования. - Ipor Sircer


Ответы: