안녕하세요, 오늘은 좀 무서운 얘기를 해보려고 합니다.
사실 와이파이가 보안에 매우 취약하다는 건 잘 알려진 사실인데요, 저는 뉴스를 보면서도 좀 과장되지 않았나, 아직도 그럴까 하는 생각에 방심하고 있었습니다. 그런데 25년인 지금도 여전히 똑같이 카페 와이파이가 매우 위험하다는 사실을 알아내고, 경각심을 일깨우고자 이 글을 작성하게 되었습니다.
보안 전문가가 아니라, 보안과 네트워크에 대해 잘 모르는 초보자들도 즉흥적으로 알아낼 수 있는 내용들입니다. 자세한 방법은 불법적으로 사용될 수 있으니 적지 않겠습니다. 다행히도 ChatGPT에서도 자세한 방법에 대해서는 검열을 하고 있는 듯 합니다.
앞으로는 정말 카페 wifi 대신 정말 주의하면서, 되도록이면 핫스팟을 이용해야겠다고 생각하는 계기가 되었습니다.
카페나 공항, 기차역 같은 공공장소에서 제공하는 무료 와이파이를 사용해본 경험이 누구나 있을 겁니다. 하지만 그 편리함 뒤에는 큰 보안 위험이 도사리고 있다는 사실을 알고 계신가요? 공공 와이파이의 구조상, 네트워크를 통해 주고받는 데이터를 보호하기 어렵기 때문에, 누군가가 패킷 캡처 도구를 이용해 여러분의 정보를 가로챌 수 있습니다. 이번 글에서는 왜 공공 와이파이에서 패킷 캡처를 막을 수 없는지, 그리고 그렇게 캡처된 데이터로 인해 어떤 일이 벌어질 수 있는지를 살펴보겠습니다.
네트워크 구조의 취약점
공공 와이파이는 동일한 네트워크에 다수의 사용자가 접속합니다. 이 경우, 네트워크의 모든 패킷이 라우터를 통해 전송되는데, 다른 사용자가 주고받는 데이터를 손쉽게 캡처할 수 있습니다. 해커가 아니라도 네트워크에 관심이 있는 사람이라면 누구나 실행할 수 있는 간단한 방식입니다.
HTTP와 HTTPS의 차이
HTTPS는 데이터를 암호화해 안전하게 전송하지만, HTTP는 데이터를 평문으로 전송합니다. 아직도 많은 웹사이트가 HTTP를 사용하는 경우가 많아, 이러한 트래픽은 공격자가 손쉽게 내용을 확인할 수 있습니다. 비밀번호, 이메일 주소 등 민감한 정보가 노출될 가능성이 큽니다.
ARP 스푸핑 공격
공공 와이파이 네트워크에서는 악의적인 사용자가 ARP(Address Resolution Protocol)를 조작하여 자신을 라우터처럼 위장할 수 있습니다. 이를 통해 사용자의 트래픽을 자신을 거쳐 가도록 하여 데이터를 탈취하는 중간자 공격(Man-in-the-Middle, MITM)을 실행할 수 있습니다.
테스트용 스푸핑 사이트에 접속해봤는데, 접속자 모두 실시간으로 id와 password가 털리는 소름 돋는 경험을 했습니다... ㅠㅠ
공공 와이파이에서 패킷 캡처를 통해 유출될 수 있는 정보들은 다음과 같습니다:
특히 '김XX'의 MacBook Air... 정말 많이 볼 수 있는 종류의 패킷입니다. 무서운 말이지만, 옆 자리에 맥북을 사용하고 계신 분의 성함이 무엇인지 바로 특정할 수 있습니다.
기기 정보
MAC 주소, 내부 IP 주소, 심지어는 사용 중인 기기의 운영체제나 기종 정보까지 캡처된 패킷에서 얻을 수 있습니다. 이러한 정보는 특정 사용자나 기기를 타겟으로 한 공격에 악용될 수 있습니다.
인터넷 사용 기록
어떤 사이트에 접속했는지, 어떤 데이터를 주고받았는지 모두 패킷 분석을 통해 확인 가능합니다. 민감한 검색 내용이나 개인적인 활동 기록이 노출될 수 있습니다.
HTTP 사이트에서의 민감 정보
HTTP 프로토콜을 사용하는 웹사이트에 로그인하거나 데이터를 입력하면, 공격자는 비밀번호, 사용자명, 신용카드 정보까지 그대로 볼 수 있습니다. 이러한 정보는 즉각적으로 악용될 가능성이 높습니다.
SSH 세션 및 루트 권한 노출 위험
공공 와이파이에서 SSH 접속을 사용할 경우, 세션이 보호되지 않으면 공격자가 이를 탈취해 루트 권한을 얻을 수 있습니다. 특히, 안전하지 않은 설정으로 운영 중인 서버는 더 큰 위험에 처합니다.
특히 터미널과 vscode를 켜두시고 starship과 같은 zsh prompt를 사용하시는 분들은 유저 이름이 화면에 노출되는 경우가 빈번하기 때문에, ssh를 통해 <유저이름>@<내부 주소>로 접속하고 비교적 간단한 비밀번호를 사용하면, 컴퓨터의 모든 내부 데이터가 유출될 수 있습니다. 개발자 분들이 22번 포트에 sshd를 열어두시는 경우가 잦은데, 공격의 타겟이 될 수 있으니 유의하시기 바랍니다.
공공 와이파이의 위험성을 알고 나면, 어떻게 하면 이러한 위협에서 자신을 보호할 수 있을지 궁금해질 것입니다. 다음은 공공 와이파이를 보다 안전하게 사용하는 방법입니다:
VPN 사용
VPN(가상사설망)은 데이터를 암호화하여 네트워크를 통해 주고받는 모든 정보를 보호합니다. VPN을 사용하면 패킷이 캡처되더라도 암호화된 상태로 유지되므로 안전합니다.
HTTPS 사이트만 사용
HTTPS가 적용된 사이트는 브라우저와 서버 간 통신을 암호화합니다. 공공 와이파이에서 HTTPS를 사용하면 패킷 캡처로부터 중요한 정보를 보호할 수 있습니다.
개인 핫스팟 활용
가능하다면 공공 와이파이 대신 스마트폰의 개인 핫스팟을 사용하세요. 이는 훨씬 더 안전한 옵션입니다.
자동 연결 비활성화
공공 와이파이에 자동으로 연결되지 않도록 설정하세요. 신뢰할 수 없는 네트워크에 접속하는 것을 최소화해야 합니다.
보안 설정 강화
SSH를 사용할 때는 강력한 비밀번호와 공개 키 인증을 사용하세요. 그게 아니라면 되도록이면 sshd를 꺼두시는 것을 추천드립니다.
sudo systemctl stop sshd
를 생활화합시다!
친구와 같은 내부망에 연결되어 있을 때,
친구가 매우 심심하여
1. 네트워크 스캔으로 현재 라우터에 연결되어 있는 모든 MAC과 IP 쌍을 알아내고,
2. MAC의 정보와 제 노트북의 기종을 비교하여 제가 사용하고 있는 내부 IP를 알아내어
3. 해당 IP의 모든 포트를 스캔한 뒤 sshd 서비스가 동작하고 있는 것을 발견,
3. 제 개발자 닉네임과 IP를 이용하여 ssh를 통해 노트북에 접속하여 제 컴퓨터 내부의 모든 정보를 볼 수 있었습니다... (비밀번호를 어떻게 알아냈는지는 비밀)
만약 악용되었다면 피해가 어땠을 지 상상이 잘 되지 않는데,
이미 공공 와이파이를 사용하다가 여러번 손쉽게 털렸을 수도 있겠다는 생각에 등골이 서늘해졌습니다.
최근 노트북에 chatgpt와 claude.ai 관련 API key들을 저장하는 경우가 잦아졌는데, 이 때문에라도 간단하게 공공 와이파이를 해킹하려는 시도가 더 잦아지지 않을까 우려도 하고 있습니다.
당장 저만 해도 export API_KEY=$HOME/.openapi_key
...
공공 와이파이는 편리하지만, 동시에 심각한 보안 위협을 초래할 수 있습니다. 우리가 카페에서 마시는 커피 한 잔이 해커의 단서가 되어 우리의 중요한 정보를 탈취당하는 계기가 될 수도 있습니다.
공공 와이파이를 사용할 때는 항상 보안 의식을 갖고, VPN과 HTTPS 같은 암호화 기술을 적극 활용해야 합니다. 결국, 우리가 지킬 수 있는 정보는 스스로의 주의에서 시작된다는 점을 잊지 말아야 할 것입니다.
읽으시느라 고생 많으셨습니다!
덕분에 트랜딩에 올랐는데 너무 감사합니다! 처음이에요 ㅠㅠ
다음에는 글에 조금 더 사진과 예시를 첨부해서 올리도록 하겠습니다!