본문 바로가기
모의해킹 (WAPT)

OpenSSH "regreSSHion" 보안 취약점 이슈 원인 및 대응 방안

by 날으는물고기 2025. 3. 15.

OpenSSH "regreSSHion" 보안 취약점 이슈 원인 및 대응 방안

728x90

OpenSSH "regreSSHion" 취약점(CVE-2024-6387)은 OpenSSH 서버의 sshd에서 발생하는 원격 코드 실행(RCE) 취약점입니다. 해당 취약점은 특정 조건에서 SSH 세션을 처리하는 방식에서 발생하며, 공격자는 이를 악용하여 시스템에 대한 원격 제어 권한을 획득할 수 있습니다.

주요 원인

  • 신규 코드 변경 중 발생한 회귀(regression) 버그
    • 과거에 패치된 취약점이 코드 변경 과정에서 다시 등장(Regression)하면서 발생한 문제.
  • 비동기 신호 핸들링 오류
    • 특정 조건에서 SSHD 데몬이 비정상적인 입력을 처리하는 동안 Race Condition이 발생하여 메모리 손상 및 원격 코드 실행 가능.
  • glibc 기반 리눅스 시스템 대상
    • OpenSSH 8.5p1부터 9.8p1까지의 glibc 환경에서 실행되는 리눅스 배포판이 영향을 받음.

공격 시나리오

  1. 특정 조건의 패킷을 통해 신호 핸들러를 조작 → 인증 단계에서 취약점 트리거.
  2. 버퍼 오버플로우 발생 → 메모리 손상을 통해 악성 코드 실행.
  3. 권한 상승 → root 권한 획득 후 시스템 장악.

주요 보안 위협

  • 원격 코드 실행(RCE): 공격자가 SSH 접속을 통해 시스템을 원격으로 제어 가능.
  • 권한 상승(EoP, Escalation of Privilege): root 권한을 탈취하여 전체 시스템을 장악할 수 있음.
  • 서비스 거부(DoS, Denial of Service): SSH 서비스가 다운되거나 과부하 상태에 빠질 수 있음.
  • 데이터 유출: 공격자가 SSH 접근을 통해 내부 네트워크로 침투할 수 있음.
  • 브루트포스 공격 증가: SSH 보안이 취약할 경우, 공격자가 이를 악용하여 무차별 대입 공격 수행 가능.

대응 방안

1) 즉각적인 패치 및 업데이트

가장 효과적인 대응 방법은 OpenSSH를 최신 버전으로 업데이트하는 것입니다. OpenSSH 공식 사이트에서 최신 보안 패치를 적용한 버전을 배포하고 있습니다.

 

Debian/Ubuntu 계열

sudo apt update && sudo apt upgrade -y

RHEL/CentOS 계열

sudo yum update -y

OpenSSH 수동 설치

wget https://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-<최신버전>.tar.gz
tar -xzvf openssh-<최신버전>.tar.gz
cd openssh-<최신버전>
./configure
make && sudo make install

OpenSSH 버전 확인

ssh -V

2) SSH 보안 강화

패치가 불가능한 경우, 추가적인 보안 설정을 통해 공격 위험을 줄일 수 있습니다.

 

(1) 비밀번호 기반 인증 비활성화

SSH 설정 파일(/etc/ssh/sshd_config)에서 아래 옵션을 설정하여 비밀번호 기반 로그인 차단

PasswordAuthentication no
PermitRootLogin no

설정 적용 후 SSH 서비스 재시작

sudo systemctl restart sshd

(2) 공개 키 기반 인증 활성화

ssh-keygen -t rsa -b 4096
ssh-copy-id user@server_ip

(3) 다중 인증(MFA) 적용

Google Authenticator PAM 모듈 설치

sudo apt install libpam-google-authenticator

PAM 설정 수정 (/etc/pam.d/sshd)

auth required pam_google_authenticator.so

SSH 설정 (/etc/ssh/sshd_config)

ChallengeResponseAuthentication yes
AuthenticationMethods publickey,password publickey,keyboard-interactive

SSH 서비스 재시작

sudo systemctl restart sshd

3) 접근 제어 강화

(1) IP 기반 접근 제한

SSH 접속을 특정 IP 또는 네트워크 대역으로 제한


/etc/hosts.allow 설정

sshd: 192.168.1.0/24

/etc/hosts.deny 설정

sshd: ALL

(2) Fail2Ban 설정 (브루트포스 공격 방지)

sudo apt install fail2ban
sudo systemctl enable --now fail2ban

Fail2Ban 설정 파일 수정 (/etc/fail2ban/jail.local)

[sshd]
enabled = true
maxretry = 3
bantime = 3600
findtime = 600

Fail2Ban 서비스 재시작

sudo systemctl restart fail2ban

4) 로깅 및 모니터링 강화

SSH 관련 로그를 실시간으로 모니터링하고 이상 징후 탐지

tail -f /var/log/auth.log      # Debian/Ubuntu
tail -f /var/log/secure        # RHEL/CentOS

(1) SIEM 연동

  • Elastic SIEM, Wazuh 등을 활용하여 SSH 로그 분석.
  • Wazuh를 통한 SSH 모니터링 설정 예시
    sudo wazuh-control restart

(2) SSH 접속 시 알림 발송

SSH 로그인 시 관리자에게 이메일 알림을 전송하는 스크립트 활용

echo 'ALERT: SSH login detected' | mail -s 'SSH Login Alert' admin@example.com

5) 보안 컨테이너 환경 격리

SSH를 컨테이너 환경에서 실행하여 공격 영향 최소화

docker run -d -p 2222:22 --name ssh-server rastasheep/ubuntu-sshd

이 방식은 공격 표면을 줄이고 손상된 SSH 환경을 빠르게 롤백하는 데 유용합니다.

추가 권장 사항

  • 정기적인 보안 감사 수행: 시스템의 SSH 설정을 주기적으로 점검하고 취약점 분석을 수행.
  • 비상 복구 계획 수립: SSH 취약점 악용 시 신속하게 대응할 수 있도록 백업 및 복구 계획을 수립.
  • 보안 정책 강화: 내부 사용자들에게 취약점의 심각성을 알리고 강력한 비밀번호 및 SSH 키 관리 정책을 적용.

 

CVE-2024-6387 "regreSSHion" 취약점은 OpenSSH의 심각한 보안 문제로, 즉시 패치 적용이 최우선 대응책입니다. 패치 적용이 어려운 경우, SSH 인증 강화, 접근 제한, 로깅 및 모니터링 강화를 통해 보안을 극대화해야 합니다. 또한, Fail2Ban과 SIEM을 활용한 보안 로그 분석을 지속적으로 수행하여 위협을 탐지하고 대응해야 합니다.

728x90

댓글