실행 파일/구성 파일/...이 악성 코드에 의해 수정되지 않았는지 확인하기 위해 AIDE 또는 Tripwire를 실행하고 싶습니다. 아니면 적어도 수정되면 나에게 알려주세요.
apt get upgrade
해당 기간 동안 수정된 파일 목록 을 받고 apt-get install
AIDE/Tripwire 데이터베이스를 업데이트하는 방법을 알려주고 싶습니다.
여기에는 사전/사후 처리 중에 수정된 파일이 포함됩니다.
답변1
AIDE 및 Tripwire와 같은 도구는 그다지 유용하지 않습니다.덜 영리한 공격만 감지되기 때문입니다. 공격자가 루트 권한을 얻을 수 있으면 시스템 바이너리를 수정할 필요가 없거나 커널을 감염시켜 모니터링 시스템의 데이터를 위조할 수 있습니다. Tripwire는 공격자가 흔적을 지울 시간을 갖기 직전에 변경 사항을 보고하므로 유용할 수 있습니다. 이를 위해서는 여전히 신뢰할 수 있는 외부 시스템으로 로그를 즉시 전송해야 합니다.
즉, 실행 중에 어떤 권한이 수정되었는지 알고 싶다면 apt-get
시스템 호출을 추적할 수 있습니다. 업그레이드 중에 (재)시작된 데몬을 추적할 수 있으므로 실행 후 추적을 중단합니다.
strace -o apt.strace -e openat,write sh -c '
apt-get "$@"
kill $PPID
' apt-get-wrapper upgrade
이용하시면 더욱 저렴하겠습니다심사, 그러나 문제는 APT 실행으로 인한 변경 사항을 필터링하는 방법입니다. 다른 감사 UID를 사용하여 실행하면 이 작업을 수행 할 수 있다고 생각합니다 apt-get
. 이는 C 래퍼를 사용하면 쉬울 것입니다. 남은 문제는 해당 감사 UID에서 다시 시작된 데몬을 실행하지 않는 것입니다. 해결 방법은 없습니다.
답변2
간단한 방법은 를 사용하는 것입니다 find
. 다음 예에서는 / 및 /var에서 변경된 파일에만 관심이 있다고 가정합니다.
touch /tmp/foo
apt get upgrade
find / /var -xdev -newer /tmp/foo -ls