Last Updated on 7월 6th, 2020, By
 In AppSealing News, 앱실링 블로그

사이버 공격은 발생하는 사례의 빈도가 증가할 뿐만 아니라 복잡성도 증가하고 있습니다. 공격자들은 지속적으로 공격 목표 조직을 위해하는 취약점을 찾고 있습니다. 

글로벌 컨설팅 업체 액센츄어(Accenture)는 사이버 공격으로 인해 5조 2000억 달러의 글로벌 가치(2019 ~ 2023년 추정치)가 위협을 받고 있다고 밝혔습니다. 

일반적으로 기업은 단순한 바이러스 검사 이상의 기능을 사용해야 합니다. 하지만 모든 기업들은 비상 상황을 어떻게 처리할 준비가 되어 있는지 이해하기 위해서 정기적으로 준비된 방어 체계를 테스트 해야 합니다. 바로 이 지점이 모의 침투 테스트가 시작되는 곳입니다. 

 

모의 침투 테스트란?

 

모의 침투 테스트(펜 테스트)는 고도로 숙련된 보안 전문가가 컴퓨터 시스템 또는 웹 애플리케이션 네트워크를 공격하여 취약점을 발견하는 윤리적 해킹의 한 형태입니다. 이 테스트는 자동화하거나 수동으로 수행할 수 있으며, 요구 사항에 따라서 두 가지 모두 혼합될 수 있습니다. 

모의 침투 테스트의 기본 개념은 조직의 네트워크에서 가능한 진입점을 식별하고 대상의 방어 메커니즘을 침해하는 것입니다. 시스템이 해킹되면 보안 전문가는 가능한 많은 정보를 수집한 후 기업이 시정 조치를 취하고 보안 방어벽을 강화하는데 도움이 되는 보고서를 준비합니다. 이 테스트는 조직을 도우려는 사람들에 의해 수행되기 때문에 화이트 햇 해킹이라고 불리웁니다. 

 

모의 침투 테스트가 중요한 이유

 

일반적으로 조직에서 사용하는 기본적인 보안 시스템은 완벽하지 않습니다. 찾아서 조치를 취해야 하는 보안홀을 항상 어렵지 않게 발견할 수 있습니다. 사이버보안 방식의 중요성은 2016년 펜타곤이 기밀이 아닌 컴퓨터 시스템의 방어전략을 테스트하기 위하여 외부인에게 문을 열었다는 사실을 통해서 확인할 수 있습니다. “펜타곤 해킹” 프로그램에 등록한 1,400명의 해커는 미국 국방부와 같은 조직 조차도 이전에 몰랐던 100여가지의 보안 위협을 찾아내었습니다. 

조직이 펜 테스트 전문가를 고용해야 하는 몇 가지 이유는 다음과 같습니다.

 

공격자 이전의 취약점 발견

통제된 환경에서 펜 테스터는 악의적인 의도를 가진 해커와 동일한 방식으로 공격을 수행합니다. 그들은 잠재적으로 조직에 피해를 줄 수 있는 취약점을 찾기위해 노력합니다. 그들은 소프트웨어 오류, 잘못된 구성, 부정확한 시스템 설정 및 기타 부족한 사항과 같은 이슈를 필터링합니다. 이를 통해 조직은 취약점을 이해하고 가능한 빨리 시정하여 주요 공격을 피할 수 있습니다.

 

네트워크 다운타임 감소

IT 시스템의 다운타임은 조직에 재무적인 손실을 일으킬 수 있습니다. 가트너 보고서에 따르면 기업은 이와 같은 이유로 분당 평균 5,600달러의 손실을 입는 것으로 확인되었습니다. 정기적인 펜 테스트는 다운타임 시간을 크게 줄여 조직의 엔진을 원활하게 운영하도록 도움을 줍니다. 

 

보다 안전한 생태계 구축

펜 테스터는 조직의 시스템에서 결함을 발견할 뿐만 아니라 이를 해결할 수 있는 방법을 제안합니다. 숙련된 테스터는 고객이 발견된 결함을 이해하고 기업의 기술 전문가와 협력하여 잠재적인 공격을 회피할 수 있는 더 나은 방어 메커니즘을 구축하도록 도와줍니다.

 

평판 보호 

브랜드 가치를 높이고 소비자 신뢰를 구축함에 있어서 다양한 요소가 영향을 끼칩니다. 고객 데이터와 관련된 모든 보안 사고는 브랜드 가치와 매출에 직접적인 영향을 미치며 대기업이라도 감당하기 어려울 정도로 회사의 명성이나 평판에 악영향을 끼칩니다.

 

모의 침투 테스트 파라미터

 

강력한 IT 인프라를 통해 운영되는 조직은 해커, 공격자, 부도덕한 경쟁자, 정치적 반대자 등의 조직화된 시스템 공격에 항상 취약하며, 그들은 목표 조직의 보안 시스템의 취약점을 지속적으로 찾고 있습니다. 이러한 활동으로 발견된 취약점은 결국 조직이 향후 공격을 막기 위해 준비한 방법을  테스트할 때 사용되는 파라미터가 됩니다. 

공격자가 악의적인 코드를 실행하고 대상 서버나 개인 컴퓨터의 파일 드라이브에 액세스하고 데이터를 수정하거나 바이러스를 주입하기 위해 악용하는 다양한 종류의 취약점이 있습니다.

 

취약한 암호

취약한 암호는 대상 조직의 방어 시스템을 위반하여 악용하려는 모든 잠재적 공격자에게 가장 좋은 먹잇감 입니다. 

 

오래된 애플리케이션

해커는 종종 오래된 애플리케이션과 시스템을 쉬운 진입점으로 이용합니다. 애플리케이션과 운영 체제에는 시스템을 보호하는 중요한 패치가 포함되어 있으므로 지속적으로 업데이트 해야 합니다.

 

인젝션(Injection) 취약점

공격자는 데이터베이스 및 서버의 접근 권한 획득을 목표로 코드와 스크립트 형태로 만들어진 악성 페이로드를 밀어넣습니다. 페이로드(Payload)는 목표 대상에 가하는 공격의 일부분입니다. 

바이러스나 악성코드와 같은 모든 공격 경로에는 하나 이상의 페이로드가 포함됩니다. 이와 같은 경우에 가장 널리 악용되는 취약점은 제출 양식, 연락처 양식 및 기타 입력 기반 필드의 잘못된 입력에 대한 권한 부여입니다.

 

암호화, 인증 및 인가

데이터 저장 및 전송 중에 누수가 발생하지 않도록 데이터를 암호화해야 합니다. 조직이 TLS, SSL 등과 같은 적절한 암호화 프로토콜을 준수하지 않으면 해커에 의해 쉽게 공격당합니다.

Source: The Verge

 

공격자는 취약한 기본 암호 및 손상된 액세스 제어와 같은 미흡한 인증을 악용하여 중요한 정보를 탈취합니다.

 

취약한 구성 요소

데이터 손상과 관련하여 반복적으로 원인이 되는 특정 애플리케이션, 프레임워크 및 소프트웨어가 있습니다. 악용되기 쉬운 이러한 프레임워크는 펜 테스트 중에 감지됩니다.

 

잘못된 구성 문제

코발트의 “Pen Test Metrics 2018“보고서에 따르면, 잘못된 구성은 펜 테스트 중에 발견되는 가장 일반적인 취약점입니다.

Source: Cobalt

 

만약 공격자가 개방형 포트 또는 과도하게 노출된 서비스나 네트워크 구성 오류를 발견한다면, 조직의 시스템을 큰 혼란에 빠뜨릴 수 있습니다. 이러한 공격은 기업의 도덕성에 해를 끼칠 수 있으며 사용자로 하여금 해당 애플리케이션 사용을 중단하도록 강요할 수 있습니다. 

 

취약한 비즈니스 로직

보안 허점으로 인해 표면화되는 애플리케이션 취약점 중에 하나입니다. 공격자는 개발자가 실수하기 쉬운 애플리케이션 영역을 대상으로 합니다. 이러한 종류의 결함은 자동 점검을 통해 탐지하기가 매우 어렵습니다. 노련한 전문가의 철저한 펜 테스트는 이러한 허점을 찾는 가장 좋은 방법입니다.

 

모의 침투 테스트 팀

 

펜 테스트는 정교하고 자세한 프로세스이며 단 한사람이나 팀만으로는 수행되지 않습니다. 테스터는 크게 레드, 블루, 퍼플의 세 팀으로 분류됩니다. 

서로 연결되어 있지만 각 팀은 전체 프로세스에서 독특하고 똑같이 중요한 역할을 수행합니다. 아래는 각 팀의 역할을 정의한 내용입니다. 

 

레드팀

레드팀은 조직의 방어 장벽을 뚫고 시스템에 액세스하는 임무를 수행합니다. 무장된 보안군의 스텔스팀과 비교할 수 있습니다. 이 팀은 어떤 방식으로든 공격 대상 기업과 관련이 없는 고도로 숙련된 윤리적 해커로 구성됩니다. 레드팀은 최신 해킹 기술을 활용하고 악의적인 의도를 가진 해커와 매우 유사한 방식으로 대상을 공격하는 바이러스를 개발하기 위해 자체 스크립트를 작성할 수도 있습니다. 그들은 물리적 및 가상 기술을 모두 사용하여 시스템에 침투하면서 탐지를 피하기 위해 최선을 다합니다. 이 팀은 법적 테두리내에서 업무 수행을 위한 진입점을 찾기 위해 모든 노력을 기울일 것입니다.

이 팀은 일반적으로 오픈소스 정보를 활용하여 탐색을 수행하고 대상 조직과 시스템에 대한 정보를 수집합니다. 경우에 따라 레드팀은 보안 시스템에 혼란을 주기 위해서 가짜 공격을 수행할 수도 있습니다. 레드팀의 구성원은 신속하고 예상하기 어려운 시점에 공격하도록 훈련 받았기 때문에 실제 공격과 그 효과측면서 매우 유사하다고 할 수 있습니다. 

 

블루팀

블루팀은 회사 보안 시스템에 대한 공격을 중화시키는 것을 주된 역할로 수행하는 조직내에서 고도로 숙련된 분석가로 구성됩니다. 이 과정은 실제 상황에서 유사한 시나리오가 발생할 경우 블루팀이 얼마나 잘 대처할 수 있는지를 보여줍니다. 그들은 레드팀이 수행한 공격을 찾아 처리하고 약화시키는 임무를 맡고 있습니다. 블루팀은 항상 긴장감을 유지하면서 새로운 공격을 예견하고, 피해를 피하거나 최소화하기 위해 필요한 예방 조치를 취해야 합니다. 조직의 네트워크에서 트래픽을 적극적으로 모니터링하고 가능한 가장 짧은 시간에 조치를 취할 준비가 되어 있어야 합니다.

 

퍼플팀

대상 조직의 최고 보안 전문가가 퍼플팀을 구성합니다. 주요 임무는 레드팀과 블루팀이 서로 얼마나 효과적으로 협력하는지 관찰하는 것입니다. 두 팀 중 하나의 기능에 문제가 있는 경우, 퍼플팀은 코스 수정에 대한 제안을 제공할 수 있습니다. 때로는 블루팀이 보안을 강화하고 나중에 활용할 수 있는 공격에 대한 복구 계획을 세우도록 지원할 수 있습니다. 결국 퍼플팀의 목표는 조직 시스템의 취약성을 파악하여 현재 직원들에게 보안 위협에 대해 교육하고 네트워크 보안 방화벽 강화를 포함하는 로드맵을 준비하는 것입니다.

 

모의 침투 테스트 방법들

 

조직은 네트워크, 애플리케이션 및 컴퓨터를 사이버 공격으로부터 보호하기 위하여 다양한 유형의 전략을 사용합니다. 사내 또는 외부 전문가 및 기관을 사용하여 실제 상황에서 발생하는 것처럼 공격을 모방합니다. 아래는 조직이 해킹 시도를 선점하기 위해 사용하는 몇 가지 전략입니다.

 

표적 침투 테스트

이러한 유형의 테스트에서 조직의 IT 전문가는 펜 테스터와 협력하여 프로세스의 모든 단계에서 서로 정보를 제공합니다. 테스트는 개방형 서버에서 수행되므로 모든 개발을 양 당사자가 모두 모니터링, 기록 및 분석할 수 있습니다.

 

외부 침투 테스트

윤리적 해커가 외부 서버, 클라이언트 및 사람을 통해 내부 네트워크를 침범하려고 시도하는 펜 테스트 중에 가장 전통적인 접근 방법입니다. 펜 테스터의 주요 목표는 법적 제한 내에서 수행할 수 있는 모든 수단을 이용하여 특정 서버에 접근하는 것입니다. 테스터는 취약한 웹 애플리케이션을 이용하거나, 심지어 전화를 통해 비밀번호와 같은 중요한 정보를 공개하도록 사용자를 부추길 수도 있습니다. 

 

내부 침투 테스트

내부 펜 테스트의 주요 목표는 해커가 초기 네트워크를 침해한 공격에 대하여 기업의 방어 메커니즘을 분석하는 것입니다. 가끔씩 펜 테스터는 상대적으로 덜 중요한 시스템을 표적으로하는 내부 공격을 모방합니다. 그런 이후 이전에 얻은 정보를 기반으로 기본 대상에 대한 공격을 시작합니다.

 

블라인드 침투 테스트

테스터는 공개된 정보를 사용하여 공격을 수행합니다. 윤리적 해커는 이미 존재하는 정보를 통해 단서를 확보하는데 주력해야 합니다. 이러한 유형의 테스트를 승인한 경우, 조직의 도움에 의존하지 않아야 실제 공격에 가까워집니다.

 

이중 블라인드 침투 시험

제로 지식 테스트라고도 하는 이 프로세스는 블라인드 테스트보다 훨씬 더 은밀하게 수행됩니다. 테스터는 대상의 방어 시스템에 대해 거의 혹은 전혀 알지 못하며, 마찬가지로 대상 회사는 공격자가 시스템을 손상시키기 위해 어떤 접근 방식을 사용하는지, 어느 규모에 얼마의 시간동안 진행할지에 대해서 전혀 알지 못합니다. 이 방식에서 기업의 방어 시스템에 침입에 사용될  적절한 도구와 방법 선택시 전적으로 테스터의 경험에 의존해야 하기 때문에 숙련된 펜 테스터가 필요합니다.

 

모의 침투 테스트의 종류

 

기업 보안 시스템의 허점을 노출시키기 위해 사용될 수 있는 펜 테스트 모델에는 블랙 박스 테스트, 화이트 박스 테스트 및 그레이 박스 테스트의 세 가지 유형이 있습니다. 

블랙 박스 테스트

이 방법은 보안 전문가에게 회사의 네트워크, 소프트웨어 또는 소스 코드에 대한 세부 정보를 제공하지 않기 때문에 시행 착오 방법(trial-and-error)이라고 불리기도 합니다. 이 경우 해커는 공격할 수 있는 진입 지점을 찾기위해 네트워크 전체를 공격합니다. 이 방법은 많은 노력이 필요하며 시간이 많이 걸립니다. 악의적인 사용자는 몇 개월에 걸쳐 복잡한 공격 계획을 세우고 예상치 못한 공격을 할 수 있습니다. 가끔씩 테스터는 이 테스트 프로세스를 수행하는 동안 부담을 덜기 위해서 자동화된 프로세스에 의존하기도 합니다. 

 

화이트 박스 테스트

블랙 박스 테스트와 정반대 입니다. 클리어 박스 테스트라고도 하는 이 방법은 테스터에게 네트워크에 대한 완전한 접근 권한을 부여합니다. 보안 전문가에게는 회사의 내부 작업, 소프트웨어 및 소스 코드에 대한 중요한 정보가 제공됩니다. 테스터에게 정보가 쌓이기 때문에 이전 방법과 비교할 때 프로세스가 덜 지루합니다. 보다 포괄적인 방법임에도 불구하고 화이트 박스 테스트에는 단점이 있습니다. 너무 많은 정보를 제공함으로써, 집중해야할 핵심 영역을 선택하는데 있어 오히려 방해가 될 수 있습니다. 테스터는 해킹 시도에 대해 분석해야 하는 특정 구성 요소의 범위를 좁혀야 합니다. 이 방법은 보다 진보된 소프트웨어 도구와 분석기를 필요로 합니다. 

 

그레이 박스 테스트

이름에서 알 수 있듯이, 이 방법은 블랙 박스와 화이트 박스 테스트 원칙을 모두 사용합니다. 기업의 시스템에 대한 완전한 세부 사항도 공개되지 않으며, 테스터가 완전한 망각 상태를 유지하지도 않습니다. 테스터에게는 시스템에 대한 액세스 권한을 부여하는 소프트웨어 코드 및 기타 정보와 같은 기본 정보가 제공됩니다. 이 방법은 보안 허점을 찾기 위해 수동 프로세스와 자동화 프로세스를 모두 사용할 수 있는 테스터에게 더 큰 자율성을 보장합니다. 테스터는 해커가 이미 네트워크에 대한 내부 액세스 권한을 얻은 시나리오를 재현할 수 있습니다. 이를 통해 조직은 복잡한 취약점을 이해하고 보다 간소화된 보안 계획을 개발할 수 있습니다. 이는 지금까지 가장 효과적인 방법이며 탐지하기 어려운 취약점을 거의 없앨 수 있는 가능성이 높습니다. 

 

이러한 유형의 펜 테스트는 보다 구체적으로 아래와 같은 그룹으로 세분화될 수 있습니다.

 

사회 공학적 테스트

이 방법에서 테스터는 직원이나 제 3자에게 네트워크에 침입하는데 사용할 수 있는 비밀번호와 같은 민감한 정보를 공개하도록 권장합니다. 아무리 작은 힌트라도 직원이 제공하는 정보라면 시스템을 손상시키는데 큰 도구로 사용될 수 있습니다. 이것은 인간의 약점을 이용하는 효율적인 해킹 기술임이 입증되었습니다. 사회 공학적 테스트는 두 가지 방법으로 (원격과 물리적인 형식) 수행할 수 있습니다. 원격 테스트에서 해커는 전화 또는 피싱 이메일과 같은 기술을 사용하여 정보를 수집합니다. 물리적 테스트에서 펜 테스터는 사람과 실제로 접촉합니다. 테스터는 기업의 직원으로 위장하고 중요한 정보를 수집할 수 있습니다. 어느 쪽이든 대상 기업은 이러한 테스트를 수행하기 전에 필요한 권한을 제공해야 합니다.

 

웹 애플리케이션 테스트 

이것은 훨씬 더 복잡한 테스트이며 시행 전에 철저한 계획이 필요합니다. 이 프로세스에서는 웹 애플리케이션, 브라우저 및 해당 플러그인과 같은 영역을 테스트 합니다.

 

클라이언트(Client-Side) 테스트

이 테스트의 목적은 로컬 위협을 찾아내는 것입니다. 일반적으로 공격자는 시스템에서 실행되는 애플리케이션 결함을 악용합니다. 3rd party 애플리케이션 외에도 조직 내에서 사용되는 부주의 한 관행으로 인해 위협이 발생할 수 있습니다. 인증되지 않은 운영 체제를 실행하는 것이 그러한 허점 중 하나입니다. 따라서 로컬 시스템과 네트워크에 대한 포괄적인 테스트가 매우 중요합니다.

 

무선 네트워크 테스트

이름에서 알 수 있듯이, 이 프로세스는 조직의 서버에 연결된 스마트폰, 태블릿, 랩톱 등과 같은 모든 무선 장치를 분석하기 위해 수행됩니다. 무선 장치 및 액세스 포인트의 구성 프로토콜을 테스트하고 위반 사항을 탐지해야 합니다.

 

모의 침투 테스트 단계

 

펜 테스트는 내부 또는 외부 테스트 유형에 따라 다양하게 나뉘고 매우 세심한 프로세스입니다. 테스트 프로세스는 크게 계획, 발견, 공격 및 보고의 네 단계로 나눌 수 있습니다.

계획 또는 계약 단계

실제 테스트 전에 수행되는 모든 활동은 이 단계에서 수행됩니다. 테스터와 기업이 운영 규모를 결정하고 모든 서류 작업을 완성하는 단계입니다. NDA와 같은 승인, 문서 및 협정은 이 단계에서 작성됩니다. 해커와 달리 테스터는 합법성, 일정 및 계약을 지킬 의무가 있습니다. 견실한 계획을 수립하기 위해 이 단계에서 몇가지 요소를 고려해야 합니다. 실제 시나리오에서 공격자는 진입 점을 찾아 취약점을 악용할 시간이 충분하지만 테스터는 사용 가능한 시간이 제한되어 있습니다. 또한 업무 수행 시간을 고려하여 프로세스를 수행합니다. 기업은 정보 유출로 인한 비즈니스에 대한 재정적 영향이 두려워 테스트 범위를 제한할 수도 있습니다. 테스터는 또한 법적 테두리내에서 작업해야하며 양 당사자가 서명한 계약에 언급된 조건을 엄격히 준수해야 합니다.

 

발견 단계

실제 테스트 및 정보 수집이 이루어지는 단계입니다. 이 과정은 풋프린트, 점검 및 열거 단계로 나눌 수 있으며, 이어 취약점 분석이 뒤따릅니다. 

 

풋프린트 단계는 표적 대상의 비침입성 프로세스와 관련된 정보를 수집합니다. 조직에 대한 정보를 인터넷에서 검색하는 것은 간과되는 과정이지만, 때로는 관련 정보의 보고로 이어질 수 있습니다. 시스템에 침입하려는 시도가 없으므로 테스터의 행동이 감지되지 않습니다. 테스터가 집중적으로 노력하면 IT 설정 세부 정보 및 장치 구성과 같은 유용한 정보를 파헤칠 수 있습니다. 이러한 정보는 실제 침입을 수행할 때 유용하게 사용될 수 있습니다. 

 

그런 다음 테스터가 대상의 보안 시스템에 침입하여 운영 체제 세부 정보, 네트워크 경로, 라이브 포트 및 그 안에서 작동하는 서비스 정보를 수집하는 점검 및 열거 단계가 진행됩니다. 테스터는 네트워크 트래픽을 급증시키지 않고, 시스템 관리자에게 경고가 가지 않도록 현명하게 침입해야 합니다. 테스터는 이전에 시도되고 테스트된 도구만 사용해야 합니다. 이후 단계에서 테스터는 오탐지 가능성을 최소화하기 위해 시스템에서 실행되는 운영 체제 및 서비스에 대한 정확한 세부 정보를 찾아 보고서에 기록해야 합니다.

 

적절한 정보가 수집되면 펜 테스터는 대상의 방어 메커니즘에서 허점을 식별해야 합니다. 이것을 취약점 분석이라고 합니다. 이 과정의 효과 여부는 테스터의 지식과 기술 수준에 크게 좌우됩니다. 테스터가 이 과정을 성공적으로 수행하려면 최신 트렌드와 개발 방법을 유지하는 것이 필수입니다. 테스터는 자동화된 프로세스를 사용하여 진입점을 찾아 공격할 수 있습니다. 또한 펜 테스터는 시스템 출력의 불일치를 확인하기 위해서 임의의 값을 입력으로 사용할 수도 있습니다. 펜 테스트의 전체 프로세스는 도구에만 의존하는 것이 아니므로 테스터는 작업을 성공적으로 수행하기 위해 항상 전 과정을 속속들이 알고 다룰 수 있어야 합니다. 

 

공격 단계

이것은 펜 테스트 프로세스를 완성시키거나 중단시키는 단계입니다. 이 단계는 흥미로우면서도 한편으로는 도전적입니다. 이 단계는 크게 해킹 공격과 권한 상승 부분으로 분류할 수 있습니다. 

해킹 공격 부분에서 테스터는 이전 단계에서 발견된 보안 시스템의 허점을 이용하는 방법을 찾으려고 노력합니다. 테스터는 C언어 또는 파이썬(Python)이나 루비(Ruby)와 같은 다른 스크립팅 언어에 대한 사전 지식이 있어야 합니다. 한번의 실수만으로도 전체 제품 개발 과정 또는 서비스가 중단될 수 있으므로 이 단계는 신중하고 빈틈없이 수행되어야 합니다. 해킹 공격은 실제 시스템을 공격하기 전에, 통제된 환경에서 먼저 수행되어야 합니다. 조직은 시스템의 특정 민감한 영역이 악용되는 것을 전혀 원하지 않을 수 있습니다. 테스터는 네트워크에 대한 취약점의 영향을 설명하면서 보다 신중하게 접근해야 하며, 충분한 정보를 제공해야 합니다. 테스터가 이용할 수 있는 상용화된 해킹 공격  프레임워크가 있습니다. 펜 테스터는 이러한 프레임워크를 최대한 활용하고, 단지 해킹 공격을 수행하는데만 사용하지 않도록 합니다. 경우에 따라서 공격이 루트 접근으로 이어지지 않아, 테스터가 추가 분석을 통해 시스템에 가할 수 있는 위협을 찾아내기도 합니다. 

 

앞에서 언급했듯이 어떤 경우에는 공격이 루트 접근으로 이어지지 않습니다. 이 경우 테스터는 보다 심층적인 분석을 수행하고 관리 권한을 부여하는 정보를 얻어야 합니다. 테스터는 특별한 권한을 얻기 위해 추가적인 소프트웨어의 지원을 받아야 할 수도 있습니다. 이것을 권한 상승이라고 부릅니다. 펜 테스터는 일단 액세스 권한이 확보되면 네트워크상의 다른 시스템을 목표 삼는 것 또한 고려해야 합니다. 이 프로세스는 피벗(pivoting)이라고 불리며 공격이 기업의 보안 메커니즘에 미치는 실제 영향을 이해하는데 도움을 줍니다. 그러나 대상 조직의 사전 승인 및 허가가 필요하며 테스터는 수행된 모든 공격에 대한 기록을 유지해야 합니다.

 

보고 단계

이 단계는 펜 테스트 프로세스의 마지막 단계이며 다른 단계와 함께 수행되거나 제일 마지막으로 진행될 수 있습니다. 조직은 이 보고서를 확인한 후 테스터에게 정확한 비용을 지불하기 때문에 전체 프로세스에서 가장 중요한 단계일 것입니다.

최종 보고서는 모든 기술적 측면이 명확하게 경영진에 설명되어야 하기에 정교하게 공들여 준비되어야 합니다. 수행된 모든 성공적인 공격을 포함한 기술적 세부 사항은 스크린샷 형식의 적절한 증거로 언급되어야 합니다. 명확한 복구 경로도 권장되어야 합니다. 

 

모의 침투 테스트 도구

 

펜 테스트 도구는 테스터가 활동을 효율적으로 수행하기 위해 사용하는 애플리케이션 소프트웨어입니다. 테스터는 목표에 따라 자신의 요구 사항에 가장 적합한 도구를 선택합니다. 인터넷에는 수많은 유료 또는 무료 테스트 도구가 있습니다. 다음은 널리 사용되는 펜 테스트 도구 목록입니다.

 

메타스플로잇(Metasploit)

레드팀과 블루팀 모두 널리 사용하는 오픈소스 프레임워크입니다. 오픈소스 루비(Ruby) 기반 프레임워크로 메타스플로잇은 거의 모든 운영 체제에 맞게 쉽게 커스터마이징할 수 있습니다. 이 프레임워크는 강력하며 네트워크 서버의 취약점을 쉽게 감지할 수 있습니다. 일단 허점이 발견되면 프레임워크의 광범위한 데이터베이스는 테스터가 공격을 성공적으로 수행하는데 일조합니다. 메타스플로잇은 펜 테스트 환경을 변화시켰습니다. 이전에는 테스터들이 다양한 도구를 사용하여 수동으로 침입해야 했습니다. 그들은 직접 코딩을 한 후 그것을 네트워크상에 주입해야 했습니다. 이 프레임워크는 이러한 프로세스를 간소화했으며 이제는 대부분의 테스터와 심지어 해커에게도 유용한 도구로 사용되고 있습니다. Java, Android, PHP, Cisco 등 25개 플랫폼에 걸쳐 약 1,700개의 공격 데이터베이스가 있습니다.

웹 사이트 방문 : Metasploit

 

와이어샤크(Wireshark)

테스터가 네트워크에서 발생하는 상황을 분 단위까지 실시간으로 볼 수 있는 패킷스니퍼 / 네트워크 프로토콜 분석기입니다. 지난 20년 동안의 다수의 재능 기여를 통해 개발된 이 오픈소스 프로젝트는 여러 웹 프로토콜을 쉽게 심층적으로 스캔합니다. 실시간 트래픽 액세스를 지원하는 프로토콜 분석 기능으로 인해, 대부분의 테스터 키트의 일부로 포함됩니다. 와이어샤크는 데이터 패킷을 분해하고 특성을 결정하고 패킷의 출발지와 목적지를 매핑할 수 있습니다. 이것은 시스템내 허점을 탐지하는데 도움이 됩니다. SQL 인젝션 및 버퍼 오버플로우 위험을 다루는데 유용하게 사용되며, 무선 네트워크 테스트에 효율적입니다. 

웹 사이트 방문 : Wireshark

 

칼리 리눅스(Kali Linux)

600가지가 넘는 윤리적 해킹 구성 요소가 있는 강력한 펜 테스트 도구 모음이 이 리눅스 배포판에 포함되어 있습니다. 리눅스 시스템에서 사용할 수 있는 고도로 진보한 테스트 도구 모음입니다. 테스터는 이러한 도구를 효과적으로 사용하고 코드 인젝션 및 비밀번호 스니핑과 같은 활동을 수행하기 위해서 TCP/IP 프로토콜에 정통해야 합니다. 이 도구 모음은 무차별 대입 공격(brute force attacks) 재현을 위한 것입니다. 많은 테스터에게는 모든 요구에 부합하는 원스톱 솔루션 입니다. 이러한 다목적 도구 모음안에는 취약점 분석, 무선 공격, 비밀번호 해독, 스푸핑, 스니핑 및 하드웨어 해킹에 대한 규정이 있습니다. 메타스플로잇 및 와이어샤크와 같은 다른 인기있는 펜 테스트 도구 또한 칼리 리눅스에서 쉽게 실행할 수 있습니다.

웹 사이트 방문 : Kali Linux

 

존더리퍼(John the Ripper)

C언어로 작성된 무료 테스트 도구로서 주로 비밀번호를 해독하는데 사용됩니다. 존더리퍼는 암호화를 자동 감지하며, 일반적으로 사용되는 비밀번호가 포함된 일반 텍스트 파일을 통해 실행하며, 일치되는 것이 감지될 때 중지됩니다. 이 도구는 취약한 비밀번호를 감지하고 보호정책을 개선하는데 도움을 줍니다. 이 도구에는 20개 이상의 언어로 된 공통 비밀번호 목록이 내장되어 있습니다.

웹 사이트 방문 : John the Ripper

 

넷스파커 취약점 점검 도구(Netsparker Security Scanner)

가장 인기있는 펜 테스트 웹 애플리케이션 중 하나입니다. 테스터는 넷스파커를 사용하여 사이트간 스크립팅(XSS)부터 웹 사이트 및 웹 애플리케이션의 SQL 인젝션에 이르는 모든 것을 감지할 수 있습니다. 한번에 최대 1,000개의 애플리케이션을 점검할 수 있습니다. 최대 정확도를 보장하는 Proof-based 점검 메커니즘을 사용합니다. 이 애플리케이션은 HTML5, Web 2.0 및 심지어 비밀번호로 보호된 웹 자산을 포함한 일반적인 최신 웹 애플리케이션을 점검할 수 있습니다. 취약점이 감지되면 소프트웨어는 해당 취약점의 심각도를 지정하여, 테스터가 즉각적인 주의가 필요한 영역에 집중할 수 있도록 도와줍니다. 소프트웨어의 관리 시스템을 통해 테스터는 역할을 생성 및 할당하고 재 테스트를 수행하며 시정 조치를 취할 수 있습니다.

웹 사이트 방문 : Netspark Security Scanner

 

Aircrack-ng 

이 오픈소스 도구는 무선 네트워크에 침입하려는 테스터가 가장 선호하는 도구입니다. 펜 테스터는 이 도구를 사용하여 대상의 Wi-Fi 보안 메커니즘을 모니터링 및 분석하고 데이터 패킷을 수집한 후 이를 텍스트 파일로 변환하여 이후 추가적인 리서치에 사용할 수 있습니다. 테스터는 이 도구를 사용하여 WPA 및 WEP 보안 프로토콜에 쉽게 침입할 수 있습니다. 원래 Linux 용으로 개발된 Aircrack-ng는 이제 Windows, FreeBSD, OS X, Open BSD, Solaris 및 eComStation과 같은 운영 체제와 호환됩니다. WEP 및 WPA-PSK 네트워크에서 키를 크래킹하는데 효과적이지만 비 무선 네트워크를 테스트할 때에는 기능이 매우 제한적입니다. 

웹 사이트 방문 : Aircrack-ng

 

Acunetix 스캐너(Acunetix Scanner)

사이트간 스크립팅(XSS) 및 SQL 인젝션을 감지하는데 사용되는 자동화된 펜 테스트 도구입니다. 이 프레임워크는 지속적으로 발전되어, 현재는 탐지하기 어려운 취약점을 파헤칠 수 있습니다. 정교한 AcuSensor 기술, 수동 모의 침투 도구 및 취약성 관리 시스템은 블랙 박스 및 화이트 박스 테스트를 용이하게 하고 교정 프로세스를 개선합니다. 이 도구를 사용하는 또 다른 장점은 수천 개의 웹 페이지를 즉시 점검할 수 있으며 로컬 또는 클라우드 네트워크 설정을 통해 작동시킬 수 있다는 것입니다. 

웹 사이트 방문 : Acunetix Scanner

 

버프 수트(Burp Suite)

가로채기 프록시(Interception Proxy) 역할을 하는 자바 기반 웹 모의 침투 테스트 시스템입니다. 이 프레임워크는 취약점을 식별하고 웹 애플리케이션에 영향을 주는 공격 경로를 탐지하려는 펜 테스터에게 유용한 도구로 사용되고 있습니다. 테스터는 버프 수트의 프록시 서버를 통해 트래픽을 라우팅할 수 있습니다. 이 프록시 서버는 개발자와 대상 웹 애플리케이션간에 중계된 각 요청을 기록하는 문지기 역할을 수행합니다. 그런 다음 테스터는 모든 개별 요청을 일시 중지 및 분석하고 인젝션 지점을 검색할 수 있습니다. 버프 수트가 제공하는 수많은 기능들로 인해 이 프레임워크는 점점 더 대중화되고 있습니다. 

웹 사이트 방문 : Burp Suite

 

네서스(Nessus)

이 솔루션은 출시된 지 20년 이상 되었으며, 수 많은 테스터 및 기업에서 보안 목적으로 사용된  원격 보안 검색 도구입니다. 테스트 도구는 네트워크의 단일 디바이스에서 1,200건 이상의 검사를 수행하고 해커가 악용할 수 있는 취약점 확인을 지원합니다. 이것은 최고의 취약점 점검 도구 중 하나이며, 복잡한 인터페이스로 인해 숙련된 테스터에게 더욱 적합합니다. 이 도구는 소프트웨어 결함, 누락된 패치 및 악성 코드를 탐지하는데 능숙합니다. 취약점 범위를 좁히지만, 테스터가 취약점을 이용하여 공격할 수는 없습니다.

웹 사이트 방문 : Nessus

 

모의 침투 테스트의 한계

 

조직에서 정기적으로 펜 테스트를 수행하더라도 테스트 프로세스의 일부 제한으로 인해 시스템이 확실하게 안전하다고 할 수 없습니다. 펜 테스트는 모든 취약점을 제거할 수 없습니다. 왜냐하면, 결국 테스트의 품질은 테스트 팀의 기술 세트를 포함하여 여러 요인에 의존하기 때문입니다. 다음은 펜 테스팅 프로세스에서 전반적인 효과에 대한 의문을 제기하게 만드는 몇 가지 단점입니다.

 

테스터의 기술과 경험

모의 침투 테스트는 크게 네트워크, 시스템 및 웹의 세 영역으로 나눌 수 있습니다. 테스터가 한 영역을 전문으로 하고 다른 두 영역에 대해서 실무 지식만 있을 경우, 목표한 결과를 얻는 것은 매우 힘든 일입니다. 보안 구조의 역학관계는 빠른 속도로 계속 변화하고 있는 현실에서, 세 가지 영역 모두에서 전문가인 사람을 찾는 것은 매우 어렵습니다. 

 

시간 제약

테스터에게는 취약점을 찾아 시스템을 공격하고, 그 결과 보고서를 준비해야 하는 일정 기간이 주어집니다. 공격자는 시간에 구속되지 않습니다. 그들은 여가 시간에 공격을 계획하고, 목표물이 예상하지 못하는 시점에 계획한 공격을 수행할 수 있습니다. 또한 테스터는 그들이 취하는 모든 단계를 기록하고, 스크린샷과 문서 형태로 증거를 수집해야 합니다. 이것을 즐기는 테스터는 매우 드물것입니다. 반면에 공격자는 문서화를 하거나, 이와 유사한 까다로운 요구사항의 방해를 받지 않고 공격을 수행할 수 있습니다. 

 

커스텀 공격

표준 펜 테스트 프레임워크를 사용하여 모든 보안 시스템을 무력화할 수 있는 것은 아닙니다. 진일보안 시스템에 공격을 가하기 위해서는 커스텀 스크립트를 사용하여 커스텀 공격 계획을 수립하여 실행해야 합니다. 커스텀 코드 작성은 고급 기술입니다. 고도로 숙련된 테스터의 서비스를 이용하려면 기업은 상당한 예산을 할당해야 합니다.

 

접근 제한

기업은 종종 테스터가 더 이상 넘어서는 안될 선을 그립니다. 조직에서 면밀히 조사할 수 있는 특정 서버 및 세그먼트만 테스터의 공격 대상이 될 수 있습니다. 그러나 실제 시나리오에서 공격자는 어떠한 계약이나 제한 사항에 구속되지 않습니다. 이것은 테스트의 실제 효과성을 제한하고 시스템이 안전하다는 잘못된 느낌을 줄 수 있습니다.

 

모의 침투 테스트 수행 빈도

 

펜 테스트는 지루한 프로세스임과 동시에 일률적인 접근 방법이 있을 수 없습니다. 조직은 규모, 예산, 규정/준수, 회사 정책 및 인프라와 같은 요소를 조사한 후 소위 이야기하는 “좋은 사람”을 불러와 시스템을 공격하게 해야 합니다.

 

대부분의 기업은 늦었다는 느낌이 들 때 필요성을 인식합니다. 대규모 공격에 직면한 후에야 기업은 철저한 시스템 분석의 필요성을 인식합니다. 공격을 받은 이후, 경영진은 그들의 IT 팀에게 소스를 추적하고 전체적인 손상을 분석하며 누출을 차단하도록 압박합니다. 그러나 공격이 시작되기 전에 펜 테스트를 수행하면 시간, 노력 및 비용을 절약할 수 있습니다.

 

네트워크가 인프라를 업데이트함에 따라 위협의 복잡성도 증가합니다. 따라서 일회성 모의 침투 테스트는 무의미한 활동입니다. 이것은 지속적인 프로세스이며 앞에서 언급한 요소에 따라 조직은 요구 사항에 맞는 테스트 계획을 수립해야 합니다.

 

모의 침투 테스트는 종종 취약점 점검과 혼동되며 일부는 동일한 개념으로 간주합니다. 그러나 이 둘의 기본적인 차이점은 취약점 검색이 시스템을 검색하고 알려진 취약점을 보고하는 반면, 모의 침투 테스트는 훨씬 더 과감하여, 조직 시스템을 공격하며 실제 공격을 모방하려고 합니다. 보다 자세한 정보는 이전의 취약점 탐색 vs. 침투 테스트 : 앱 보안에 대한 두 가지 보완적인 접근법” 포스트를 통해서 확인할 수 있습니다. 

 

결론

 

보안 전문가들은 모든 조직의 네트워크 상태가 양호한 지 확인하기 위해 1년에 한 번 이상의 모의 침투 테스트 수행을 권고합니다. 몇 가지 한계에도 불구하고 펜 테스트는 실제 공격을 모방하고 대상 조직의 방어 메커니즘을 테스트하는 가장 효율적인 방법으로 여겨집니다. 그러나 통제된 환경에서 수행되고 테스터의 기술에 따라 효율성이 달라진다는 점을 감안할 때, 이 활동의 결과를 액면 그대로 받아들여서는 안됩니다. 또한 조직은 펜 테스트가 기존 애플리케이션 보안 테스트 시스템의 대안이 아니라 상호 보완제의 역할을 한다는 점을 이해해야 합니다. 이렇게 수집된 정보는 기업이 보안 관련 예산을 보다 효과적으로 계획하는데 도움이 될 수 있습니다. 또한 개발자는 향후 유사한 공격에 견딜 수 있는 소프트웨어/애플리케이션을 만드는데 유용하게 활용할 수 있습니다.

Dustin Hong
Dustin Hong
Dustin은 잉카엔트웍스의 앱실링 비즈니스 개발을 이끌고 있습니다. 그는 사이버 보안, IT, 컨텐츠 및 애플리케이션 보안 분야의 소프트웨어 개발과 혁신에 많은 관심을 가지고 있습니다. 또한 사이버 보안 세계에서 주요 사건의 대상, 이유 및 방법에 대해 다양한 사람들에게 공유하고 토론하는 것을 좋아합니다. 업계 동향 및 모범 사례에 대한 그의 견해는 기사, 백서에 실려있으며, 여러 보안 행사에서 유사 주제로 발표를 하였습니다.

Leave a Comment