기술 정보
home
채널 소개
home

.bash_profile PATH 환경 변수 설정 시 . 추가 시 보안 취약점 우회 방안

문서 유형
장애 해결
분야
보안
키워드
.bash_profile
보안취약점
적용 제품 버전
6F S07PS
7F S02PS

현상

Linux 기반 운영 체제의 Tibero 운영 환경에서 .bash_profile 파일에 PATH 설정 시 .(현재 디렉토리)를 맨 앞에 지정할 경우, 명령어 하이재킹(Masquerading) 또는 권한 상승(Root 권한 악용) 등 보안 취약점이 발생할 수 있습니다.

원인

.은 현재 디렉토리를 의미하며 현재 디렉토리의 실행 파일을 쉽게 실행하기 위해 사용됩니다.
"PATH=.:" 설정 시 터미널에서 명령어 실행 시 현재 디렉토리에 있는 실행 파일이 우선적으로 실행되어 다음과 같은 문제가 발생할 수 있습니다.

1. 외부 공격 가능성 존재

.공격자가 lscprm 등의 악의적인 명령어 파일을 만든 경우, 해당 디렉토리에서 명령어 수행 시 악의적인 프로그램이 먼저 실행될 우려가 존재합니다.

2. 악성 스크립트 root 권한으로 실행 우려

. root나 DB 운영자가 .bash_profile에 .을 포함한 상태로 스크립트를 실행하면, 악성 스크립트가 root 권한으로 실행될 우려가 존재합니다.

해결

.bash_profile PATH 환경 변수 설정 시 앞에 . 추가 시 보안 취약점 노출되는 현상에 대한 우회 방안은 아래와 같습니다.

1. .bash_profile PATH에서 . 제거

. 현재 디렉토리에 존재하는 파일 실행 시 명시적으로 ./{실행파일 이름} 을 입력합니다.
AS-IS : export PATH=.:$TB_HOME/bin:$TB_HOME/client/bin:$PATH
TO-BE : export PATH=$TB_HOME/bin:$TB_HOME/client/bin:$PATH

2. PATH에서 .의 위치를 맨 뒤로 이동 (우회 방안)

.의 위치를 맨 뒤로 이동함으로써 PATH 검색 순서를 후순위로 밀어냅니다.
. 해당 방안은 “/etc/profile”, root 계정의 환경변수 파일, 일반 계정의 환경변수 파일을 순차적으로 검색하여 확인함으로 완전한 해결책은 아니지만 우회 방안으로 사용 가능합니다.
AS-IS : export PATH=.:$TB_HOME/bin:$TB_HOME/client/bin
TO-BE : export PATH=$TB_HOME/bin:$TB_HOME/client/bin:.

3. AS-IS / TO-BE 예시

구분
설정 예시
AS-IS (위험)
export PATH=.:$TB_HOME/bin:$TB_HOME/client/bin:$PATH
TO-BE (권장)
export PATH=$TB_HOME/bin:$TB_HOME/client/bin:$PATH
TO-BE (우회)
export PATH=$TB_HOME/bin:$TB_HOME/client/bin:$PATH:.