[2026 주요정보통신기반시설] U-33 숨겨진 파일 및 디렉터리 검색 및 제거

숨겨진 파일 및 디토리 내의 심스러운 파일 존재 여부 점검

U-33 숨겨진 파일 및 디렉터리 검색 및 제거

가이드라인 원문

항목내용
항목코드U-33
점검내용숨겨진 파일 및 디토리 내의 심스러운 파일 존재 여부 점검
점검대상SOLARIS, LINUX, AIX, HP-UX 등
양호기준불필요하거나 의심스러운 숨겨진 파일 및 디토리를 제거한 경우
취약기준불필요하거나 의심스러운 숨겨진 파일 및 디토리를 제거하지 않은 경우
조치방법ls -al 명령어로 숨겨진 파일 존재 파악 후 불법적이거나 의심스러운 파일을 제거 설정

상세 설명

1. 판단 기준

기본 판단 기준

  • 양호: 불필요하거나 의심스러운 숨겨진 파일(.* 파일)이 존재하지 않는 경우
  • 취약: 불필요하거나 의심스러운 숨겨진 파일이 존재하는 경우

경계 케이스 (Edge Case) 처리 방법

상황판단 기준설명
.bashrc, .profile, .ssh정상사용자 설정 파일
… (점 3개)취약의심스러운 숨김 기법
.. (점 2개 + 공백)취약의심스러운 숨김 기법
. (점 1개 + 공백)취약의심스러운 숨김 기법
/dev/.hidden/취약루트킷 은신처
/tmp/.update/취약악성코드 가능성
/var/tmp/.hidden/취약악성코드 가능성
.X11-unix, .ICE-unix정상X11 관련 정상 파일
.config, .cache, .local정상사용자 설정 디렉터리
.vim, .mozilla정상애플리케이션 설정

권장 설정값

검색 위치제외 패턴 (정상 파일)점검 대상
/tmp.X11-unix, .ICE-unix, .Test-unix그 외 .* 파일/디렉터리
/var/tmp.X11-unix, .ICE-unix그 외 .* 파일/디렉터리
/dev(정상 디바이스 파일)일반 파일(Regular File)
/home.bash*, .profil*, .ssh, .config, .cache, .local, .vim, .mozilla… , .. , .[공백]
/root.bash*, .profil*, .ssh, .vim그 외 의심스러운 파일

2. 점검 방법

Linux, Solaris, AIX, HP-UX 점검

의심스러운 위치에서 숨겨진 파일과 디렉터리를 검색합니다.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
# 1. 의심스러운 숨겨진 디렉터리 검색
for dir in /tmp /var/tmp /dev /home /root; do
    if [ -d "$dir" ]; then
        find "$dir" -name ".*" -type d 2>/dev/null | while read hidden_dir; do
            # 정상적인 디렉터리 제외
            if [[ ! "$hidden_dir" =~ \.(ssh|git|config|cache|local|bash|vim|mozilla|X11|ICE) ]]; then
                echo "의심 디렉터리: $hidden_dir"
                ls -ld "$hidden_dir"
            fi
        done
    fi
done

# 2. 특수한 이름의 숨겨진 파일 검색 (점 3개, 공백 포함 등)
find /tmp /var/tmp /dev /home -name "..." -o -name ".. " -o -name ". " 2>/dev/null

# 3. /dev 내 일반 파일(Regular File) 검색
find /dev -type f 2>/dev/null

# 4. 최근 생성된 숨겨진 파일 검색 (7일 이내)
find /tmp /var/tmp /dev -name ".*" -mtime -7 -ls 2>/dev/null

양호 출력 예시:

1
(의심스러운 파일 없음 또는 .X11-unix, .ICE-unix 등 정상 파일만 출력)

취약 출력 예시:

1
2
3
4
5
의심 디렉터리: /tmp/..
drwxr-xr-x 2 root root 4096 Jan 20 10:00 /tmp/..
의심 디렉터리: /dev/.hidden
drwx------ 2 root root 4096 Jan 20 10:00 /dev/.hidden
의심 파일: /home/user/...

3. 조치 방법

1. 의심 파일 식별 및 분석

1
2
3
4
5
6
# 파일 정보 확인
ls -la /path/to/.suspicious_file
file /path/to/.suspicious_file

# 내용 확인 (텍스트 파일인 경우)
strings /path/to/.suspicious_file | head -20

2. 안전한 삭제

1
2
3
4
5
6
# 파일 삭제 전 백업 (법적 증거 보존)
mv /path/to/.malicious /tmp/.malicious.backup_$(date +%Y%m%d)

# 분석 후 악성 파일 확인 시 삭제
rm -f /path/to/.malicious
rm -rf /path/to/.malicious_dir

3. 일괄 정리 스크립트

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
#!/bin/bash
# /tmp와 /var/tmp의 의심스러운 숨겨진 파일 정리

SAFE_PATTERNS=(".X11-unix" ".ICE-unix" ".Test-unix")

for dir in /tmp /var/tmp; do
    find "$dir" -name ".*" -type f 2>/dev/null | while read file; do
        # 안전한 패턴 확인
        is_safe=false
        for safe in "${SAFE_PATTERNS[@]}"; do
            if [[ "$file" == *"$safe"* ]]; then
                is_safe=true
                break
            fi
        done

        if [ "$is_safe" = false ]; then
            echo "의심 파일: $file"
            # 분석을 위해 보고만 (실제 삭제 시 주의)
        fi
    done
done

4. 참고 자료

  • CIS Controls: CC7.4 정기적으로 시스템에서 비인가 파일 검색
  • NIST 800-53: SI-7 (악성코드 탐지 및 제거 절차)
  • ISO 27001:2013: A.12.2.1 (악성 소프트웨어 방어)
  • K-ISMS: 2.9.1 (악성프로그램 방지)

5. 스크립트

  • 취약점 점검 스크립트
    • 이 스크립트는 KISA 주요정보통신기반시설 기술적 취약점 분석·평가 가이드라인(2026)을 준수하여 제작된 자동 점검 도구입니다. 복잡한 단일 파일 방식이 아닌 모듈화된 구조로 설계되어 유지보수가 쉽고 확장이 용이합니다.
    • 다양한 환경에서 테스트를 진행했으나, 혹시 점검 로직에 이슈가 발견되거나 개선이 필요한 경우 적극적인 제보를 부탁드립니다.
Hugo로 만듦
JimmyStack 테마 사용 중