Credit: Getty Images Bank
침투 테스트에는 단점이 없다. 현재 구현된 방어 체계를 뚫는다면, 의뢰한 고객에게 해커가 발견하기 전에 취약점을 없앨 기회를 줄 수 있다. 발견된 문제가 없다면 고객은 더 기뻐할 것이다. 화이트 해커조차 뚫을 수 없을 정도로 보안이 튼튼한 제품이라고 선언할 수 있기 때문이다. 한 마디로 '윈-윈'이다.
해커에서 침투 테스터로 변신하기
이런 윤리적 해킹(침투 테스트)이 항상 쉽다고 말하는 것은 아니다. 아니 확실히 쉽지 않다(그러나 높은 IQ는 필요 없다). 여러 다양한 상황에 극복하기 어려운 도전과제들이 존재한다. 그러나 첨단 기술을 파악하고, 무언가 뚫는 것을 좋아하는 사람이라면 침투 테스트 관련 일이 꿈에 그리던 일이 될 수 있다.
해커들이 합법적인 '윤리적 해커'가 되기 위해 반드시 거쳐야 하는 단계들이 있다. 최소한 침투에 앞서, 권한을 갖고 있는 사람으로부터 서면 승인을 받아야 한다. 전문 침투 테스터에게 가장 중요한 부분은 법을 지키는 것이다. 모든 윤리적 해커가 하는 일에 방향을 제시하는 윤리 강령(Code of ethic)을 따라야 한다. CEH(Certificated Ethical Hacker) 테스트를 만든 EC-카운실(EC-Council)의 윤리강령이 대표적이다.
윤리적 해킹의 단계 1. 범위와 목표 설정
전문 침투 테스터는 서면으로 범위와 목적을 합의해야 한다. 다음은 범위를 설정하기 위해 물어야 할 질문들이다.
- 테스트의 범위에 포함되는 컴퓨터 자산들은 무엇인가?
- 모든 컴퓨터가 포함되는가? 아니면 특정 애플리케이션이나 서비스, 운영체제 플랫폼, 모바일 기기, 클라우드 서비스만 해당되는가?
- 테스트 범위에 웹 서버, SQL 서버, 호스트 운영체제 수준의 모든 컴퓨터 등 특정 컴퓨터 자산만 포함되어 있는가? 아니면 네트워크 장치도 포함되어 있는가?
- 침투 테스트에 자동 취약점 스캐닝이 포함되어 있는가?
- 소셜 엔지니어링을 허락받았는가? 허락받았다면, 어떤 방법을 이용할 수 있는가?
- 침투 테스트가 승인된 날짜는 언제인가?
- (계획에 없는 서비스 정지나 방해를 피하기 위해)침투 테스트가 금지된 요일, 날짜, 시간이 있는가?
- 테스트가 서비스를 방해하지 않기 위해 최선을 다해야 하는가? 아니면 진짜 해커처럼 문제를 초래할 수 있는가? 테스트에 서비스 방해가 포함되어 있는가?
- 침투 테스트가 블랙박스(침투 테스터가 관련 시스템이나 애플리케이션에 대해 모르는 상태에서의 테스트)인가? 아니면 화이트박스(경우에 따라 관련된 소스코드를 포함해 공격 대상 시스템에 대한 내부 지식을 갖고 있는 상태에서의 테스트)인가?
- 컴퓨터 보안 담당자에게 침투 테스트에 대해 통보한 테스트인가? 아니면 해당 담당자의 침투 인지가 테스트 대상인가?
- 전문 해커(레드 팀)가 방어 담당자(블루 팀) 모르게 침투를 시도하는 테스트인가? 아니면 진짜 해커들이 사용하는 방법으로 기존의 탐지 및 방어 체계를 테스트하는 테스트인가?
또한 침투 테스트의 목적, 목표와 관련해서는 다음과 같은 질문을 해야 한다.
- 컴퓨터나 기기에 침투할 수 있다고 보여주는 것이 목적인가?
- '서비스 거부(DoS)'를 목적의 범위로 고려하는가?
- 특정 컴퓨터 액세스나 데이터 침해가 목적의 일부인가? 아니면 특수 액세스 권한 획득만으로 충분한가?
- 테스트를 끝냈을 때 문서에 포함시켜 제시해야 할 내용은 무엇인가? 실패한 해킹 방법, 성공한 해킹 방법을 모두 포함시켜야 하는가? 아니면, 가장 중요한 해킹 방법만 포함시키면 되는가? 얼마나 상세해야 하는가? 모든 키 입력과 마우스 클릭에 대해 정보를 제공해야 하는가? 아니면 요약 정보로 충분한가? 해킹을 비디오나 스크린샷으로 기록해야 하는가?
이렇게 침투 테스트에 앞서, 범위와 목적을 자세히 기술해 합의하는 것이 중요하다.
윤리적 해킹의 단계 2. 적절한 침투 테스트 도구 선택
침투 테스터는 통상 자신이 항상 사용하는 해킹 도구에 대한 기준을 가지고 있다. 그러나 윤리적 해킹 업무의 경우, 그 유형에 따라 다른 도구를 찾거나 선택해야 할 수도 있다. 예를 들어, SQL 서버 공격을 요청받았는 데 관련 경험이 없다면, 여러 다양한 SQL 공격 도구를 조사하고 테스트해야 한다.
대부분의 침투 테스터는 침투 테스트용 리눅스 배포판을 가지고 시작한다. 해킹용 리눅스 배포판은 다양하다. 그러나 현재 전문 침투 테스트가 가장 선호하는 배포판 중 하나는 칼리(Kali) 배포판이다. 대부분의 침투 테스터가 사용하는 해킹 도구는 수천 종에 달한다.
품질과 목적 부합성에 더해, 해킹 도구에서 가장 중요한 부분은 해커를 해킹하는 코드나 악성코드가 포함되어 있지 않아야 한다는 것이다. 무료 도구를 중심으로 인터넷에서 구할 수 있는 해킹 도구의 절대 다수에는 악성코드와 숨겨진 백도어가 존재한다. 가장 많이 사용하고, 인기있는 엔맵(Nmap)과 같은 도구는 통상 믿을 수 있다. 그러나 유능한 침투 테스터는 자신이 직접 도구를 만든다. 다른 사람이 만든 도구를 믿지 않기 때문이다.
윤리적 해킹의 단계 3. 발견: 침투 테스트 대상을 학습
모든 침투 테스터가 침투 테스트 대상에 대한 학습으로 해킹을 시작한다(소셜 엔지니어링 기법은 제외). 발견(Discover) 단계에서는 IP 주소, 운영체제 플랫폼, 애플리케이션, 버전 번호, 패치 상태, 광고된 네트워크 포트, 사용자, 기타 취약점을 알려주는 요소들을 파악해야 한다. 침투 테스터가 단 몇 분 동안 자산을 조사, 잠재적인 취약점을 찾아내는 경우가 적지 않다. 취약점을 발견하지 못한 경우에도, 이 과정에 학습한 정보로 계속 분석을 하고, 공격을 시도할 수 있다.
윤리적 해킹의 단계 4. 취약점 공격 대상에 침투
'침투'를 하라고 윤리적 해커들에게 보수를 지급하는 것이다. 발견 단계에서 획득한 정보로 취약점을 공격하고, 이를 통해 미인가 액세스 권한을 획득한다(또는 서비스 거부 공격). 특정 자산에 침투할 수 없다면, 범위 내 다른 자산에 대한 침투를 시도해야 한다.
필자는 발견(Discover) 단계에서 매번 취약점을 찾아냈다. 방어 담당자에게 취약점을 통보해, 이 담당자가 취약점을 없애기 전 최초 침투 테스트에서 침투 대상 자산을 침투하지 못한 전문 침투 테스터도 본 적이 없다. 물론 때때로 취약점을 발견하지 못해 해킹 목적을 달성하지 못하는 침투 테스터도 있을 것이다.
그러나 발견 단계에서 자신이 해야 할 일을 한다면, 많은 사람이 생각하는 것보다 쉽게 취약점을 발견할 수 있다. 천재만 유능한 침투 테스터, 해커가 될 수 있는 것은 아니다. 참을성과 철저함이 훨씬 더 중요하다.
취약점과 익스플로잇에 따라, 획득한 액세스 권한을 상승시켜야 할 수도 있다. 보통 사용자 권한을 관리자 권한으로 바꿔야 한다는 의미다. 이를 위해 두 번째 취약점 공격이 필요할 수도 있다. 그러나 최초 공격으로 특수(관리자) 권한을 획득하지 못한 경우에 해당되는 이야기이다.
범위에 따라, 취약점 스캐닝 소프트웨어를 사용해 취약점 발견 프로세스를 자동화시킬 수도 있다. 이런 소프트웨어들은 통상 취약점을 찾아내지만, 미인가 액세스 권한을 획득하는 취약점 공격에는 이용할 수 없다.
다음 단계에서 침투 테스터들은 최종 표적에 침투한 경우 합의된 목표 아래 행동을 수행하거나, 취약점 공격에 성공한 컴퓨터를 사용해 최종 표적에 더 가까운 액세스 권한을 획득한다.
침투 테스터와 방어 담당자들은 이를 '수직(horizontal)', 혹은 '수평vertical)' 이동이라 부른다. 공격자가 동일한 시스템 클래스 내부에서 이동을 하는 것, 관련이 없는 다른 시스템으로 이동하는 것을 가리키는 용어다. 때론 시스템 비밀이나 비밀 데이터를 노출시키는 것이 목적이 될 수도 있다. 또는 해킹 성공 과정을 문서로 기록해 제시하는 것이 목적이 될 수도 있다.
윤리적 해킹의 단계 5. 침투 테스트 과정을 문서화
마지막으로 전문 침투 테스터는 사전에 합의된 보고서를 작성해 제출해야 한다. 여기에는 발견 결과와 결론이 포함된다.
침투 테스트는 복잡하고 계속 진화하고 있다
다른 IT 보안 분야와 마찬가지로, 전문 침투 테스트도 성숙해지고 있다. '프로페셔널리즘' 없이 혼자 행동하는 해커들을 찾는 수요가 감소하고 있는 추세다. 기업은 '완성된' 전문 해커를 찾고 있다. 사용하는 방법, 직업 의식, 도구들이 완성되어 있어야 한다.
- 더 나은 툴킷: 침투 테스트 소프트웨어는 과거나 지금이나 윤리적 해커에게 반드시 필요한 툴킷의 일부였다. 그런데 고객들이 정기적으로 이를 운영하는 사례가 많다. 침투 테스트에서 가장 흥미로운 발전상 가운데 하나는 발견에서 취약점 공격까지 공격자처럼 모든 것을 알아서 수행하는 도구들이다.
오픈 소스인 블러드하운드(Bloodhound)가 적절한 예가 될 수 있다. 공격자는 블러드하운드를 사용, 액티브 디렉토리 네트워크에 위치한 여러 컴퓨터의 관계를 시각적으로 파악할 수 있다.
표적과 목적에 대한 정보를 입력하면, 여기에 도달하는 여러 다양한 해킹 경로를 파악할 수 있게 도움을 준다. 여기에는 테스터가 몰랐던 경로도 포함되어 있다. 침투 테스터가 출발 지점과 도착 지점을 입력하면, 블러드하운드와 몇 개의 스크립트가 나머지를 알아서 처리해 준다. A부터 Z까지의 해킹 단계를 알려준다.
또한 사용 침투 테스트 소프트웨어들도 훨씬 더 오래 전부터 이런 정교한 기능을 지원했다
- 천 마디 말보다 한 장의 그림: 과거에는 침투 테스터들이 경영진을 해킹하거나, 이들에게 관련 자료를 제시하는 방법으로 '영업'을 했다. 그러나 지금은 경영진들의 환경에서 해킹 과정을 보여주는 슬라이드, 비디오, 애니메이션을 원한다. 이들은 다른 경영진을 설득할 때는 물론 직원 교육에도 이런 자료를 사용한다.
- 위험 관리: 발견한 취약점을 목록으로 제시하는 것만으로 불충분하다. 이것만으로 자신이 할 일을 다했다고 간주할 수 없다. 전문 침투 테스터들은 IT 관리자와 협력해 가장 큰 위협, 가장 발생 확률이 높은 위협을 규명해야 한다.
침투 테스터는 이제 위험 관리 팀의 일원이다. 취약점을 드러내는 것을 넘어, 이와 관련된 위험을 효율적으로 감소시킬 수 있도록 도움을 줘야 한다. 윤리적 해커들은 경영진과 방어 담당자에게 발생 확률이 높은 문제와 과정을 보여줘야 한다는 것이다. 실제 해커의 해킹과는 동떨어진 1회성 모의 해킹에 그쳐서는 안 된다. 한 마디로, 더 많은 가치를 제공해야 한다.
- 트레이닝과 자격증: 다양한 교육 과정과 자격증 등 전문 침투 테스터가 될 수 있는 방법과 경로가 풍부하다. 교육 과정의 경우, 전문 강사의 지도 아래 첨단 시뮬레이션 랩에서 여러 다양한 해킹 도구를 경험할 수 있다. 관련 학위나 자격증을 취득한 후 침투 테스터가 되는 사례가 많다. 이들은 계속 교육을 받고, 자신이 배운 것을 가르치는 방법으로 사회에 환원을 한다.
물론 누구나 전문 침투 테스터가 될 수 있는 것은 아니다. 몇몇 기술과 플랫폼에 대해 준전문가가 되어야 한다. 또한 정상으로 보이는 것의 취약점을 발견해 침투하고 싶어하는 '욕구'를 갖고 있어야 한다. 이런 욕구를 갖고 있고, 법과 윤리에 기반을 둔 가이드라인을 준수할 수 있다면 전문 화이트 해커가 될 수 있다. 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을 사용할 수 있다.