컴퓨터 보안 과정에 대한 디버깅 프로젝트를 수행하고 있지만 실행 사이의 변경 사항을 검사하려는 특정 변수의 메모리 주소가 있음을 발견했습니다. 강사와 대화를 나눈 후 분석 세션에서 메모리 주소를 정적으로 유지하기 위해 세션에 ASLR을 비활성화 할 것을 제안했습니다.
Cloud9에서 호스팅되는 데비안 인스턴스를 실행하고 있습니다.
이를 위해 다음 명령을 사용합니다.
echo 0 | tee /proc/sys/kernel/randomize_va_space
이 명령을 루트에서 실행합니다. 이 작업을 수행하면 OS에서 오류가 발생합니다.
tee: /proc/sys/kernel/randomize_va_space: Read-only file system
나는 완전히 정상적인 행동이지만 내가하려고하는 일에 이상적이지 않다는 것을 이해합니다.
시스템에서 읽기 전용 플래그를 비활성화하는 방법은 무엇입니까? mount
솔루션을 제공 할 수 있음을 이해 하므로 다음은 mount
내 VM 의 출력 덤프입니다 .
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)
가상 머신에서는이를 변경할 수 없습니다. 자신의 컴퓨터에서 시도하십시오.
—
Ipor Sircer
가상 머신에서 ASLR을 비활성화 할 수 있습니다. 방금 VMWare Debian 인스턴스에서 바로 그 일을 완수했습니다. 마운트를 읽기 전용으로 변경할 수 없다는 의미입니까?
—
Bradley Evans
죄송합니다. 너무 정확하지 않았습니다. (s / virtual machine / guest os /) VMware는 모든 하드웨어를 에뮬레이트하므로 베어 메탈과 같은 작업을 수행 할 수 있습니다. Cloud9은 xen 또는 기타 반 가상화를 사용하여 대부분 개별 시스템을 만듭니다. 그러나 메모리 관리는 동일하며 호스트 운영 체제가 작업을 수행합니다. 완전한 x86 하드웨어를 에뮬레이션하는 것보다 훨씬 더 많은 성능을 제공합니다.
—
Ipor Sircer