1. 개요 [1]

- SSH(Secure Shell Protocol)는 1995년 telnet, rlogin, rcp 등의 대안으로 설계되어, 암호화된 통신을 지원
> 인증된 키 교환을 사용해 클라이언트와 서버간 보안 채널을 설정
> 보안 채널은 메시지 조작, 재전송, 삭제 등을 방지하여 기밀성과 무결성을 보장
- 독일 보훔 루르대학교에서 SSH를 공격할 수 있는 새로운 기법 Terrapin 발견
> 통신 채널을 통해 교환되는 메시지를 삭제, 변경 등 조작할 수 있음
OpenSSH, Paramiko, PuTTY, KiTTY, WinSCP, libssh, libssh2, AsyncSSH, FileZilla, Dropbear를 포함한 다양한 SSH 클라이언트 및 서버에 영향

 

[사진 1] Tererapin Attack

2. 주요내용

Terrapin Attack은 SSH 핸드셰이크 과정에 개입해 중간자 공격 수행

> 핸드셰이크 과정은 클라이언트와 서버가 암호화 요소에 동의하고, 키를 교환해 보안 채널을 설정하는 중요 단계
> 전 세계 약 1,100만 개 이상의 SSH 서버가 영향권 [2]

 

[사진 2] 공격 개요

 

[사진 3] Terrapin Attack 취약 서버

 

- SSH 핸드셰이크 과정의 2가지 문제에 의해 발생

핸드셰이크의 모든 과정이 아닌 시퀀스 번호를 이용해 관리
보안 채널 시작시 시퀀스 번호를 재설정하지 않음

> 따라서, 공격자는 핸드셰이크 과정에 개입 및 시퀀스 번호 조작을 통해 SSH 채널의 무결성을 손상 시킬 수 있음

※ 사용자 인증을 위한 공개 키 알고리즘 다운그레이드, 여러 보안 기능 비활성화 등

 

[사진 4] 취약점 근본 원인

 

- 공격이 성공하기 위한 조건 존재

> 중간자 공격이 가능해야 하며, ChaCha20-Poly1305 암호화 알고리즘을 사용
> ChaCha20-Poly1305 알고리즘은 시퀀스 번호를 직접 사용하기 때문에 취약

 

※ 참고

영향 알고리즘
취약하지 않음 GCM, CBC-EaM, CTR-EaM
취약하나 악용불가 CTR-EtM
취약하나 확율적 악용가능 CBC-EtM

 

- 논문에 따르면 전체 서버 중 57.73%가 ChaCha20-Poly1305 알고리즘 선호

> 전체 서버 중 ChaCha20-Poly1305, CBC-EtM 알고리즘이 각각 67.58%, 17.24% 지원 (그 중 7%는 두 가지 알고리즘 모두 제공)

 

[사진 5] 지원 암호 알고리즘

 

- 해당 공격은 CVE-2023-48795로 명명 [3]
> CVE-2023-46445(AsyncSSH의 악성 확장 협상 공격), CVE-2023-46446(AsyncSSH의 악성 세션 공격) 포함

 

3. 대응방안

> 클라이언트-서버간 모든 SSH 핸드셰이크를 인증
> 시퀀스 번호 재설정: 암호화 키가 활성화될 때 시퀀스 번호 0 재설정
> 통신 종료 메시지 지정: TLS 에서는 핸드셰이크 과정의 끝을 알리기 위해 Finished 메시지가 전송되며, 이는 서명이나 암호화되어 상대방이 검증하는 용도로 사용 [4]
> 핸드셰이크 과정 중 인증되지 않은 애플리케이션 계층 메시지를 허용하지 않도록 강화(AsyncSSH의 경우)
> 서버 보안 패치 즉시 적용: 패치가 적용된 서버일지라도, 클라이언트가 취약한 상태라면 서버 또한 취약한 상태이므로 주의 필요
> 취약점 스캐너 활용 [5]

 

4. 참고

[1] https://terrapin-attack.com/
[2] https://www.bleepingcomputer.com/news/security/nearly-11-million-ssh-servers-vulnerable-to-new-terrapin-attacks/
[3] https://nvd.nist.gov/vuln/detail/CVE-2023-48795
[4] https://learn.microsoft.com/ko-kr/windows/win32/seccrypto/finish-messages-in-the-tls-1-0-protocol
[5] https://github.com/RUB-NDS/Terrapin-Scanner/releases/tag/v1.1.3
[6] https://cybersecuritynews.com/new-terrapin-attacking-ssh-protocol/
[7] https://www.dailysecu.com/news/articleView.html?idxno=152520
[8] https://www.digitaltoday.co.kr/news/articleView.html?idxno=498909

SSH - Secure Shell
- 22 포트 사용
- 원격 호스트에 접속하기 위해 사용되는 보안 프로토콜 - 암호화
- 기존 원격 접속을 위해 사용하던 Telnet 등이 암호화를 제공하지 않아 발생하는 문제 개선
절차 - SSH 허니팟을 구성한 뒤 한 달 간 모니터링
- 그 결과, 4,436개 IP에서 약 65만번의 SSH 무작위 대입 공격이 수행됨
- root, admin, user 등 시스템 또는 DB 명을 ID로, 123456, admin 등을 패스워드로 설정하여 무작위 대입 공격 수행
- 무작위 대입 공격을 통해 시스템 접속 성공 후 채굴 악성코드를 실행하기위한 시스템 사양 파악을 선 수행
- 시스템 사양 파악 후 wget 명령을 통해 파일을 다운로드 하거나, 직접 파일을 업로드 등의 방식으로 악성코드 실행

* 허니팟(Honeypot) : 비정상적인 접근을 탐지하기 위해 의도적으로 설치해 둔 시스템
대응 - SSH 서비스 포트 변경
- root 계정의 원격 로그인 금지
- 강력한 패스워드 정책 사용 등 기본적인 보안조치를 충실하게 이행
- 쇼단 등을 이용해 식별되지 않는 SSH 서비스가 있는지 주기적으로 모니터링
- 비식별 자산이 존재하지 않도록 해야함

 

보안뉴스

 

무작위 대입, 채굴 악성코드 등 해커 공격에 SSH 서비스 ‘몸살’

SSH(Secure Shell)를 타깃으로 한 무작위 대입 시도가 지속적으로 발견되고 있어 SSH 서비스 운영자들의 주의가 요구된다. SSH는 보통 리눅스 서버를 원격에서 접속하는데 사용되는 서비스다. 그런데

www.boannews.com

+ Recent posts