본문 바로가기
Hacking/infra 진단

[Linux] U-16 (상) /dev에 존재하지 않는 device 파일 점검

by 알거음슴 2021. 8. 23.
취약점 개요
점검 내용 존재하지 않는 device 파일 존재 여부 점검
점검 목적 실제 존재하지 않는 디바이스를 찾아 제거함으로써 root 파일 시스템 손상 및 다운 등의 문제를 방지하기 위함
보안 위협 공격자는 rootkit 설정파일들을 서버 관리자가 쉽게 발견하지 못하도록 /dev device 파일인 것처럼 위장하는 수법을 많이 사용함
참고 /dev 디렉터리: 논리적 장치 파일을 담고 있는 /dev 디렉터리는 /devices 디렉터리에 있는 물리적 장치 파일에 대한 심볼릭 링크임. 예를 들어 rmt0 rmto로 잘못 입력한 경우 rmto 파일이 새로 생성되는 것과 같이 디바이스 이름 입력 오류 시 root 파일시스템이 에러를 일으킬 때까지 /dev 디렉터리에 계속해서 파일을 생성함
/dev 디렉터리 내 불필요한 device 파일이 존재할 시 삭제 권고
점검대상 및 판단 기준
대상 LINUX
판단기준 양호 : dev에 대한 파일 점검 후 존재하지 않은 device 파일을 제거한 경우
취약 : dev에 대한 파일 미점검 또는, 존재하지 않은 device 파일을 방치한 경우
조치 방법 major, minor number를 가지지 않는 device 파일 제거

 

점검 및 조치
점검 dev에 존재하지 않는 device 파일 점검
#find /dev –type f –exec ls –l {} \;
“services” 파일의 소유자가 root가 아니거나 파일의 권한이 644가 아닌 경우 아래의
보안설정방법에 따라 설정을 변경함
조치 Step 1) /dev 디렉터리 파일 점검
 #find /dev -type f -exec ls -l {} \;
Step 2) major, minor number를 가지지 않는 device일 경우 삭제

 

점검 스크립트

#!/bin/bash

. function.sh

BAR
CODE [U-16] /dev에 존재하지 않는 device 파일 점검
cat << EOF >> $RESULT
[양호]: dev에 대한 파일 점검 후 존재하지 않은 device 파일을 제거한 경우.
[취약]: dev에 대한 파일 미점검 또는, 존재하지 않은 device 파일을 방치한 경우.
EOF
BAR

TMP=$(mktemp)

find /dev -type f -exec ls -l {} \; > $TMP

if [ -s $TMP ] ; then
	WARN 파일이 존재합니다. 
	INFO $TMP를 확인하십시오.
    INFO "고객사와 상의하여 존재하지 않는 디바이스 파일이 존재하는 지 확인하세요."
    INFO "존재하지 않는 디바이스 파일이 존재한다면 해당 파일을 삭제한다."
else
	OK 파일이 존재하지 않습니다. 
fi

cat $RESULT