Credit: Getty Images Bank
쇼단을 이해하는 가장 좋은 방법은 쇼단을 만든 존 매덜리가 쓴 책을 읽는 것이다. 쇼단의 기본적인 알고리즘은 간단명료하다.
1. 무작위 IPv4 주소 생성
2. 쇼단이 알고 있는 포트 목록에서 테스트를 위한 무작위 포트 생성
3. 무작위 포트에서 무작위 IPv4 주소를 확인하고 배너(banner)를 포착함
4. 1로 이동
이것이 전부다. 모든 것을 찾고, 인덱싱하고, 검색 가능하도록 한다. 이것이 바로 쇼단이다.
쇼단의 작동 원리
열린 포트에서 실행되는 서비스는 배너를 사용해 스스로를 알린다. 배너는 어떤 서비스를 제공하는지, 어떻게 상호작용하는 지를 전체 인터넷에 공개적으로 선언한다. 쇼단은 다음과 같은 FTP 배너의 예를 제공한다.
220 kcg.cz FTP server (Version 6.00LS) ready.
쇼단은 웹 콘텐츠를 인덱싱하지 않지만 포트 80과 443을 쿼리한다. CSOonline(CSO온라인)의 https 배너는 다음과 같다.
$ curl -I https://www.csoonline.com
HTTP/2 200
server: Apache-Coyote/1.1
x-mod-pagespeed: 1.12.34.2-0
content-type: text/html;charset=UTF-8
via: 1.1 varnish
accept-ranges: bytes
date: Fri, 25 May 2018 14:16:18 GMT
via: 1.1 varnish
age: 0
x-served-by: cache-sjc3135-SJC, cache-ewr18125-EWR
x-cache: HIT, MISS
x-cache-hits: 2, 0
x-timer: S1527257779.808892,VS0,VE70
vary: Accept-Encoding,Cookie
x-via-fastly: Verdad
content-length: 72361
다른 포트의 다른 서비스는 서비스별 정보를 제공한다. 이는 게시된 배너가 진짜임을 보장하지 않는다. 대부분의 경우 진짜이며, 어느 경우든 의도적으로 잘못된 배너를 게시하는 것은 숨김 보안(security by obscurity)에 해당한다.
일부 기업은 쇼단의 네트워크 크롤링을 차단하며 쇼단은 이런 요청을 존중한다. 그러나 공격자는 쇼단이 없어도 네트워크에 연결된 취약한 디바이스를 찾을 수 있다. 쇼단을 차단하면 잠깐의 당혹감은 방지할 수 있겠지만 그렇다고 보안 상태가 더 개선될 가능성은 희박하다.
쇼단에 겁 먹는 사람들
가장 명확하지만 껄끄러운 말부터 하자. 쇼단은 사람들을 질겁하게 한다.
쇼단은 인터넷의 작동 방식을 이해하지 못하는, 기술적인 지식이 없는 사람들에게 공포감을 준다. CNN은 2013년 쇼단을 "인터넷에서 가장 무서운 검색엔진"이라고 소개했다. 해커들이 모든 발전소의 위치를 알아내 폭파하면 어쩌려고? 끔찍한 일이다!
물론 이런 생각은 무지에 따른 과대망상이다. 피해를 입히고자 하는 공격자는 쇼단에 의존해 목표물을 찾지 않는다. 이는 지맵(zmap)을 실행하는 봇넷의 역할이다. 쇼단의 진정한 가치는 방어자가 스스로의 네트워크에 대한 시야를 더 넓힐 수 있다는 점이다.
무엇을 보호해야 하는지 모른다면 방어할 수 없다. 기업 수준은 물론 사회 전체 수준에서도 마찬가지다. 쇼단은 우리 모두가 살고 있는 안전하지 않은 상호 연결된 사이버 세계에 대해 훨씬 더 선명한 시야를 제공한다.
쇼단을 사용한 방어
현대의 기업은 일반적으로 스스로 원하는 범위 이상으로 인터넷에 노출된다. 직원은 업무를 수행하기 위해 이런저런 장치를 네트워크에 연결한다. 여기에 온갖 섀도우 IT도 있으니, 관리해야 할 공격 표면은 늘어나기만 한다.
쇼단은 서브넷 또는 도메인에서 연결된 디바이스, 열린 포트, 기본 인증 정보, 알려진 취약점을 쉽게 찾을 수 있게 해준다. 공격자도 똑 같은 것을 볼 수 있으므로 실제 공격이 발생하기 전에 열린 문을 걸어 잠글 수 있다.
많은 디바이스는 배너를 통해 기본 비밀번호를 공개적으로 알린다. 예를 들어 수많은 시스코 디바이스는 기본 사용자 이름/비밀번호 조합(cisco/cisco)을 알린다. 공격자보다 앞서 네트워크에서 이와 같은 디바이스를 찾는 것이 당연히 방어에 유리하다.
또한 쇼단을 사용하면 하트블리드(Heartbleed)와 같은 특정 익스플로잇에 취약한 디바이스를 검색할 수 있다. 쇼단은 방어자가 방어해야 할 디바이스를 찾는 데도 도움이 되지만 침투 테스트의 정보 수집 단계에도 유용하다. 클라이언트의 전체 서브넷에서 요란하게 nmap을 돌리는 방법보다 쇼단을 사용하는 편이 더 빠르고 은밀하다.
유료 회원은 API에 액세스할 수 있고, 모니터링하는 서브넷에 새 디바이스가 나타날 때 경보를 생성할 수도 있다. 직원들이 인터넷에 연결하는 장치를 주시할 수 있는 저렴하고도 효과적인 방법이다.
마구잡이 인터넷 연결 막기
그러나 쇼단에서 가장 주목할 만한 측면은 인터넷에 연결된 불안정한 핵심 사이버피지컬(cyberphysical) 인프라가 우리 주변에 얼마나 많이 있는지 깨닫게 해준다는 점이다. 쇼단이 하는 일은 인터넷 지도 제작이다. 이 지도는 인터넷에 직면한 보안 문제를 정량화하는 데 도움이 될 뿐만 아니라, 미디어에서 이에 관해 보도하고 입법 기관에서 해결책을 논의하도록 유도한다(참고로 필자는 유료 쇼단 멤버십을 구매한 이후 쇼단이 추적 보도에 대단히 유용하다는 점을 발견했다).
예를 들어 ICS/SCADA를 보자. 산업 제어 시스템은 인터넷이 발명되기 이전부터 존재했으며 보안을 염두에 두지 않고 설계됐다. 애초에 글로벌 인터넷에 연결되는 시스템으로 개발되지 않았으며, 예를 들어 정수 공급 라인에 미처리 하수를 방류하는 등의 악의적인 공격은 물리적 보안 통제 수단으로도 충분히 막을 수 있는 것으로 간주됐다.
그러나 지금은 다르다. 인터넷 연결을 감안하지 않고 개발된 여러 핵심 인프라가 인터넷을 이용하는 공격자의 사정권 내에 노출돼 있다. 쇼단을 사용하면 이런 시스템을 손쉽게 찾아 경보를 울릴 수 있다. 정수 처리 시설, 댐, 화장장, 요트 등이 인터넷에 연결되어야 할 필요가 있을까? 아마 거의 없을 것이다. 쇼단은 이 문제에 대한 인식을 훨씬 더 쉽게 높일 수 있게 해준다.
마찬가지로, 불안정한 IoT 디바이스는 연결된 커피메이커부터 성인용품, 냉장고에 이르기까지 상상할 수 있는 모든 시장에 홍수처럼 들이닥치고 있다. 시장은 이런 디바이스에 대한 강력한 사이버 보안을 구축하는 데 실패했으며, 규제 기관 역시 몇 가지 예외는 있지만 더 강력한 사이버보안 통제 수단을 적시에 의무화하지 못했다.
설상가상으로 IoT 제조업체가 사업에서 손을 떼거나 제조한 디바이스에 대한 지원을 포기하면 소비자는 불안정하고 보안도 되지 않는 디바이스를 떠안은 채 방치된다(이런 디바이스는 봇넷 공격에 동원됨). 이로 인해 전체 인터넷이 얼마나 위험에 처해 있는지는 정확히 파악조차 불가능하다.
기술적 지식이 없는 사람들이 쇼단에 대해 처음 알게 될 때 보이는 당혹감은 이런 상황에 이르도록 방치한 시장과 규제 기관이 가장 절실히 느껴야 한다.
쇼단은 무료로 살펴볼 수 있지만 무료 계정에서는 결과의 수가 제한된다. 고급 필터를 사용하려면 유로 멤버십(미화 49달러/평생 회원 자격 유지)이 필요하다. 빠짐없이 모든 사물의 실시간 데이터 스트림을 확인해야 하는 개발자와 기업 사용자에게도 유용하다.
일시적인 당혹감으로부터 조직을 보호하면 기업 대외 이미지 측면에서 얻는 가치는 있을지 몰라도 보안 측면의 가치는 얻을 수 없다. 쇼단은 조직 자체, 그리고 다른 조직의 외부 보안 상태에 대한 시야를 제공한다.
인터넷에서 보안 과제는 계속해서 커지고 있다. 쇼단은 이 문제를 선명하게 볼 수 있게 해준다. 기술적인 지식이 없는 사람들이 불편하게 느끼는 것은 부차적인 문제다. editor@itworld.co.kr
함께 보면 좋은 콘텐츠
Sponsored
Surfshark
“유료 VPN, 분명한 가치 있다” VPN 선택 가이드
ⓒ Surfshark VPN(가상 사설 네트워크, Virtual Private Network)은 인터넷 사용자에게 개인 정보 보호와 보안을 제공하는 중요한 도구로 널리 인정받고 있다. VPN은 공공 와이파이 환경에서도 데이터를 안전하게 전송할 수 있고, 개인 정보를 보호하는 데 도움을 준다. VPN 서비스의 수요가 증가하는 것도 같은 이유에서다. 동시에 유료와 무료 중 어떤 VPN을 선택해야 할지 많은 관심을 가지고 살펴보는 사용자가 많다. 가장 먼저 사용자의 관심을 끄는 것은 별도의 예산 부담이 없는 무료 VPN이지만, 그만큼의 한계도 있다. 무료 VPN, 정말 괜찮을까? 무료 VPN 서비스는 편리하고 경제적 부담도 없지만 고려할 점이 아예 없는 것은 아니다. 보안 우려 대부분의 무료 VPN 서비스는 유료 서비스에 비해 보안 수준이 낮을 수 있다. 일부 무료 VPN은 사용자 데이터를 수집해 광고주나 서드파티 업체에 판매하는 경우도 있다. 이러한 상황에서 개인 정보가 유출될 우려가 있다. 속도와 대역폭 제한 무료 VPN 서비스는 종종 속도와 대역폭에 제한을 생긴다. 따라서 사용자는 느린 인터넷 속도를 경험할 수 있으며, 높은 대역폭이 필요한 작업을 수행하는 데 제약을 받을 수 있다. 서비스 제한 무료 VPN 서비스는 종종 서버 위치가 적거나 특정 서비스 또는 웹사이트에 액세스하지 못하는 경우가 생긴다. 또한 사용자 수가 늘어나 서버 부하가 증가하면 서비스의 안정성이 저하될 수 있다. 광고 및 추적 위험 일부 무료 VPN은 광고를 삽입하거나 사용자의 온라인 활동을 추적하여 광고주에게 판매할 수 있다. 이 경우 사용자가 광고를 보아야 하거나 개인 정보를 노출해야 할 수도 있다. 제한된 기능 무료 VPN은 유료 버전에 비해 기능이 제한될 수 있다. 예를 들어, 특정 프로토콜이나 고급 보안 기능을 지원하지 않는 경우가 그렇다. 유료 VPN의 필요성 최근 유행하는 로맨스 스캠은 인터넷 사기의 일종으로, 온라인 데이트나 소셜 미디어를 통해 가짜 프로필을 만들어 상대를 속이는 행위다. 이러한 상황에서 VPN은 사용자가 안전한 연결을 유지하고 사기 행위를 방지하는 데 도움이 된다. VPN을 통해 사용자는 상대방의 신원을 확인하고 의심스러운 활동을 감지할 수 있다. 서프샤크 VPN은 구독 요금제 가입 후 7일간의 무료 체험을 제공하고 있다. ⓒ Surfshark 그 외에도 유료 VPN만의 강점을 적극 이용해야 하는 이유는 다음 3가지로 요약할 수 있다. 보안 강화 해외 여행객이 증가함에 따라 공공 와이파이를 사용하는 경우가 늘어나고 있다. 그러나 공공 와이파이는 보안이 취약해 개인 정보를 노출할 위험이 있다. 따라서 VPN을 사용하여 데이터를 암호화하고 개인 정보를 보호하는 것이 중요하다. 서프샤크 VPN은 사용자의 개인 정보를 안전하게 유지하고 해킹을 방지하는 데 유용하다. 개인정보 보호 인터넷 사용자의 검색 기록과 콘텐츠 소비 패턴은 플랫폼에 의해 추적될 수 있다. VPN을 사용하면 사용자의 IP 주소와 로그를 숨길 수 있으며, 개인 정보를 보호할 수 있다. 또한 VPN은 사용자의 위치를 숨기고 인터넷 활동을 익명으로 유지하는 데 도움이 된다. 지역 제한 해제 해외 여행 중에도 한국에서 송금이 필요한 경우가 생길 수 있다. 그러나 IP가 해외 주소이므로 은행 앱에 접근하는 것이 제한될 수 있다. VPN을 사용하면 지역 제한을 해제해 해외에서도 한국 인터넷 서비스를 이용할 수 있다. 따라서 해외에서도 안전하고 편리하게 인터넷을 이용할 수 있다. 빠르고 안전한 유료 VPN, 서프샤크 VPN ⓒ Surfshark 뛰어난 보안 서프샤크 VPN은 강력한 암호화 기술을 사용하여 사용자의 인터넷 연결을 안전하게 보호한다. 이는 사용자의 개인 정보와 데이터를 보호하고 외부 공격으로부터 사용자를 보호하는 데 도움이 된다. 다양한 서버 위치 서프샤크 VPN은 전 세계 곳곳에 여러 서버가 위치하고 있어, 사용자가 지역 제한된 콘텐츠에 액세스할 수 있다. 해외에서도 로컬 콘텐츠에 손쉽게 접근할 수 있음은 물론이다. 속도와 대역폭 서프샤크 VPN은 빠른 속도와 무제한 대역폭을 제공하여 사용자가 원활한 인터넷 경험을 누릴 수 있도록 지원한다. 온라인 게임, 스트리밍, 다운로드 등 대역폭이 필요한 활동에 이상적이다. 다양한 플랫폼 지원 서프샤크 VPN은 다양한 플랫폼 및 디바이스에서 사용할 수 있다. 윈도우, 맥OS, iOS, 안드로이드 등 다양한 운영체제 및 디바이스에서 호환되어 사용자가 어디서나 안전한 인터넷을 즐길 수 있다. 디바이스 무제한 연결 서프샤크 VPN은 무제한 연결을 제공하여 사용자가 필요할 때 언제든지 디바이스의 갯수에 상관없이 VPN을 사용할 수 있다.