평문 프로토콜: 공격자가 보는 것
암호화되지 않은 HTTP, FTP, Telnet 트래픽을 실제 Wireshark 캡처로 살펴봅니다.
평문 프로토콜: 공격자가 보는 것은(는) CoddyKit의 무료 Cryptology Academy 강의입니다. 이것은 4개 중 1번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Cryptology Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Cryptology Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
에이치티티피: 모두 공개된 상태
에이치티티피는 모든 데이터를 암호화 없이 일반 ASCII 텍스트로 전송합니다. 에이치티티피를 통해 로그인 양식을 제출하면 브라우저가 사용자 이름과 암호를 평문으로 담은 POST 요청을 보냅니다. 같은 네트워크 구간에 있는 누구나 또는 사용자와 서버 사이에 있는 어느 라우터든 인증 정보, 세션 쿠키, 민감한 양식 데이터를 비롯한 전체 요청을 읽을 수 있습니다.
Telnet: Legacy Remote Access
Telnet은 SSH 이전의 표준 원격 터미널 프로토콜이었습니다. Telnet 세션에서 입력하는 모든 키 스트로크는 암호화되지 않은 단일 TCP 패킷으로 서버에 전송됩니다. 네트워크 트래픽을 캡처하는 공격자는 로그인 시의 사용자 이름과 비밀번호뿐만 아니라 입력한 모든 명령어와 출력되는 모든 라인을 볼 수 있어, 암호화 장벽 없이 완벽한 세션 하이재킹이 가능해집니다.
FTP: Credentials in the Clear
FTP는 TCP 포트 21번을 통해 평문으로 전송되는 USER 명령과 그 뒤를 따르는 PASS 명령으로 인증을 수행합니다. FTP 로그인을 패킷 캡처해 보면 자격 증명이 고스란히 드러납니다. 파일 전송 채널이 FTPS로 암호화되어 있더라도, 초기 인증 교환 과정에서 패스워드가 관찰자에게 그대로 노출됩니다. 레거시 FTP 서버는 기업 환경에서 흔히 볼 수 있으며, 자격 증명 수집의 쉬운 표적이 됩니다.
POP3 and IMAP Without STARTTLS
TLS가 적용되지 않은 POP3(포트 110)와 IMAP(포트 143)은 이메일 인증 정보와 전체 메시지 내용을 평문으로 전송합니다. 사용자가 암호화되지 않은 메일 서버 설정으로 카페 Wi-Fi에서 이메일 클라이언트를 실행하면, 다운로드하는 모든 이메일이 네트워크상의 다른 모든 기기에서 읽을 수 있는 상태가 됩니다. POP3S(포트 995) 및 IMAPS(포트 993)로 업그레이드하면 연결 시작부터 TLS가 사용됩니다.
Raw SQL Connections Without SSL
MySQL(포트 3306)이나 PostgreSQL(포트 5432) 같은 데이터베이스 서버는 기본적으로 암호화되지 않은 연결을 지원합니다. SSL을 요구하지 않고 데이터베이스에 연결하는 애플리케이션 서버는 민감한 개인정보를 포함한 쿼리와 그 결과물을 평문(plaintext) 상태로 네트워크를 통해 전송합니다. 내부 네트워크는 흔히 신뢰할 수 있는 구간으로 여겨지지만, 일단 내부망에 발을 들인 공격자는 즉시 데이터베이스 트래픽을 스니핑하기 시작할 수 있습니다.
Legacy LDAP Traffic
포트 389를 사용하는 LDAP(Lightweight Directory Access Protocol)은 디렉터리 쿼리와 인증 정보를 평문으로 전송합니다. 인증을 위해 Active Directory를 사용하는 기업 환경에서는 LDAP 바인딩 작업으로 인해 내부 네트워크에 사용자 이름과 비밀번호가 그대로 노출될 수 있습니다. 포트 636의 LDAPS는 TLS를 사용하고 포트 389의 STARTTLS를 통해 연결을 업그레이드할 수 있지만, 이것들이 항상 강제되는 것은 아닙니다.
Redis Without TLS and Authentication
Redis는 기본적으로 인증과 TLS 없이 6379번 포트에서 대기합니다. 네트워크에 비밀번호 없이 노출된 Redis 인스턴스는 모든 클라이언트가 저장된 모든 키를 읽고, 임의의 명령어를 실행하며, 잠재적으로 설정 파일을 작성할 수 있게 허용합니다. Redis 6.0(2020)에서 TLS 지원이 추가되기 전까지는 캐시 데이터와 세션 토큰을 포함한 모든 Redis 트래픽이 네트워크 상에 완전히 노출되어 있었습니다.
Memcached Without Authentication
널리 사용되는 캐싱 계층인 Memcached에는 기본 인증 메커니즘이 없으며, TCP 포트 11211을 통해 모든 데이터를 평문 ASCII 텍스트로 전송합니다. 개발자들은 보통 네트워크 방화벽을 통해 접근을 제한하지만, 인터넷에 노출된 잘못 설정된 Memcached 인스턴스는 증폭 DDoS 공격과 데이터 탈취에 악용되어 왔습니다. 세션 데이터와 API 응답을 포함한 모든 캐시된 콘텐츠는 해당 포트에 접근할 수 있는 누구나 볼 수 있습니다.
Syslog Over UDP Without Encryption
전통적인 syslog는 인증과 암호화 없이 UDP 514번 포트를 사용합니다. 네트워크를 통해 전송되는 시스템 로그는 경로상의 누구나 읽거나, 수정하거나, 위조할 수 있습니다. syslog 트래픽을 가로챌 수 있는 공격자는 실시간으로 보안벤트를 읽거나 허위 로그 항목을 주입하여 자신의 흔적을 지울 수 있습니다. RFC 5425에서 TLS 기반의 syslog를 정의하고 있지만, 여전히 많은 시스템이 레거시 평문 프로토콜을 사용하고 있습니다.
The Attacker's View of Plaintext Traffic
단 하나의 네트워크 관측 지점에서 평문 프로토콜 트래픽을 가로채는 공격자는 환경 전반을 소상히 들여다볼 수 있게 됩니다. 공격자는 여러 서비스의 사용자 이름과 비밀번호, 원래 비밀번호 없이도 재사용(replay)할 수 있는 세션 토큰, 전송되는 민감한 데이터, 그리고 네트워크의 내부 아키텍처를 파악할 수 있습니다. 이 모든 정보는 타겟 시스템과 상호작용 없이 수동적으로(passively) 수집될 수 있습니다.
Why Organisations Still Run Plaintext Protocols
평문 통신의 위험성에 대해 수십 년 동안 알려져 왔음에도 불구하고, 암호화되지 않은 프로토콜은 업그레이드할 수 없는 레거시 시스템, 대규모 환경에서의 복잡한 설정, 고처리량 내부 링크에서의 성능 우려, 그리고 내부 네트워크는 안전하다는 가정 등으로 인해 여전히 사라지지 않고 있습니다. 네트워크 세분화(Network segmentation)와 제로 트러스트(Zero-trust) 아키텍처 원칙은 내부 트래픽을 외부 트래픽과 동일한 수준으로 검사함으로써 이러한 가정에 대응하고 있습니다.
Plaintext Protocols
다음 중 기본적으로 인증 자격 증명을 평문(plaintext)으로 전송하는 프로토콜과 포트 조합은 무엇인가요?
Plaintext Protocols: Key Takeaways
HTTP, Telnet, FTP, POP3, IMAP, 원시 데이터베이스 연결, LDAP, Redis, Memcached, syslog는 모두 기본적으로 데이터를 암호화 없이 전송합니다. 네트워크 경로상의 관찰자는 누구나 자격 증명, 세션 토큰, 민감한 데이터를 읽을 수 있습니다. 이러한 모든 프로토콜에는 TLS로 보안이 강화된 대응 버전이 존재합니다. 내부 네트워크 신뢰 가정은 위험하며, 제로 트러스트(Zero-Trust) 원칙은 모든 트래픽을 잠재적으로 도청 가능한 것으로 간주합니다.
자주 묻는 질문
“평문 프로토콜: 공격자가 보는 것” 강의는 무료인가요?
네 — “평문 프로토콜: 공격자가 보는 것” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Cryptology Academy 강의 전체를 잠금 해제할 수 있습니다. Cryptology Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
“평문 프로토콜: 공격자가 보는 것”에서 뭘 배우나요?
암호화되지 않은 HTTP, FTP, Telnet 트래픽을 실제 Wireshark 캡처로 살펴봅니다. 브라우저에서 직접 실행하는 실습 코드로 Cryptology Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.
Cryptology Academy을(를) 시작하는 데 경험이 필요한가요?
사전 경험은 필요하지 않습니다. CoddyKit의 Cryptology Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 1번째 강의입니다.
“평문 프로토콜: 공격자가 보는 것” 강의는 얼마나 걸리나요?
대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.
이 Cryptology Academy 강의에서 코드를 작성하고 실행할 수 있나요?
네. 모든 Cryptology Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.
이 강의의 모든 강의
- 평문 프로토콜: 공격자가 보는 것
- 패킷 캡처 작동 방식
- 암호화된 트래픽 분석
- DNS 보안: DoH와 DoT