정보보안 전문가 10개 분류 중 3번째로 웹 취약점 진단 및 모의해킹 전문가에서 대해서 알아보도록 하겠습니다.
모의해킹은 시스템 취약점 진단과 마찬가지로 정보보호 컨설팅 수행 시 진행하는 경우가 많습니다. 시스템 취약점 진단과 약간 다른 점은 웹 취약점 진단 및 모의해킹만 별도의 사업(프로젝트)으로 진행하는 경우가 상대적으로 많다는 점입니다. 이런 점 때문에 최근에는 모의해킹을 전문으로 하는 중소기업이나 프리랜서가 증가하고 있기도 합니다.
이 글을 통해 최근 잘못되고 있는 정보에 대해서도 한 말씀드려 봅니다. (특히 정보보호를 전공하는 학부생, 대학원생이거나 정보보호 분야에 입문하실 분들께..)
최근 블로그, SNS 등에 S학원, K정보원, H, I전산원 등등에서 웹 취약점 진단 및 모의해킹 교육생을 모집하기 위해 마치 정보보안 전문가는 모의해킹 전문가다라고 공식으로 올라온 글들이 많습니다. 이와 같이 여러 학원들이 올리는 글들은 상담실 직원들이 올리고 있는 경우가 많기 때문에 신빙성이 없거나 전혀 사실이 아닌 경우가 상당하며, 여러분들이 정보보호 분야에 첫 발을 들여놓기 전부터 잘못된 정보를 주고받고 있다는 것을 분명히 인지하셔야 합니다. 또한, 전국 대학교에 정보보호와 관련된 전공 학과가 많이 생겨났는데 실제 졸업생들이 신입사원으로 입사한 경우 정보보호 실무와 관련된 기본적인 지식이 부족하여 기초부터 교육을 하는 경우가 많습니다. 이러한 현상이 발생하는 원인에 대하여 정보보호를 전공하지 않았거나 정보보호 산업 현장에서 실무를 경험하지 않고 컴퓨터공학, 정보통신공학을 전공하신 교수님들이 강의를 하고 있지 않은지 생각해 봐야 합니다. ▶근본적 이유는? 교육 커리큘럼, 교과목 선정부터 오류 발생하는 경우 많음
지금부터 본격적으로 모의해킹 전문가에 대해서 정의를 내려보고 방법론, 절차와 진단할 때 도구, 툴들이 어떤 것이 있는지 알아보도록 하겠습니다.
1. 모의해킹 전문가란?
모의해킹(Penetration Testing) 전문가는은 조직이나 기업의 정보 시스템을 실제 악의적인 해킹 시도와 유사한 방법으로 진단하고 보안 취약점을 발견하여 보완하기 위해 진단하는 전문가입니다. 모의해킹은 반드시 윤리적이고 합법적인 방법으로 수행되어야 하며, 보안 수준을 높이고자 하는 기업이나 조직이 중요 정보를 안전하게 보호할 수 있도록 하는데 목적을 가지고 있습니다.
2. 모의해킹 방법론 및 절차
첫 번째 단계인 계획(Planning)에서는 취약점 진단 프로젝트 요청이 있으면 담당자 미팅을 통해 진단 시나리오를 선정하고 대상 및 기간을 선정합니다. 두 번째 단계에서 마지막 단계까지의 주요 내용은 다음과 같습니다.
- 정보 수집 (Reconnaissance): 대상 시스템에 대한 정보를 수집합니다. 이는 공개된 정보, 도메인 네임 시스템 (DNS) 조회, 네트워크 스캐닝 등을 포함할 수 있습니다.
- 취약점 분석 (Scanning): 수집한 정보를 기반으로 취약점을 찾기 위해 시스템 및 네트워크 스캐닝을 수행합니다. 이는 자동화된 도구를 사용하거나 수동으로 수행될 수 있습니다.
- 공격 (Gaining Access): 취약한 지점을 통해 시스템에 접근을 시도합니다. 이는 암호 크래킹, 애플리케이션 취약점 이용, 소셜 엔지니어링 등 다양한 방법을 포함할 수 있습니다.
- 유지 및 확장 (Maintaining Access): 성공적으로 시스템에 접근한 후, 해커는 이를 유지하고 추가적인 정보나 권한을 획득하기 위해 확장을 시도합니다.
- 분석 및 보고서 작성 (Analysis and Reporting): 수행된 작업에 대한 데이터를 수집하고 결과를 분석합니다. 발견된 취약점, 공격 경로, 보안 문제 등에 대한 상세한 보고서를 작성합니다.
- 조치 및 보완 (Remediation): 보고서를 기반으로 발견된 취약점을 해결하고, 보안 수준을 향상하기 위한 조치를 취합니다.
- 평가 및 향상 (Evaluation and Improvement): 수행된 모의해킹의 효과를 평가하고, 향후에 발생할 수 있는 새로운 위협에 대비하여 보안 전략을 계속 향상합니다.
이러한 절차를 통해 모의해킹 전문가는 기업이나 조직이 보안 위협으로부터 안전하게 지키기 위한 적절한 보호대책을 수립하는데 도움을 주고 있습니다.
3. 모의해킹 진단 도구와 툴
모의해킹 진단 도구와 툴은 시스템 및 네트워크, 애플리케이션의 취약점을 찾고 문제점을 해결할 수 있도록 도움을 주며, 유용한 정보를 수집하는 데에도 활용하고 있습니다. 아래는 일부 대표적인 모의해킹 도구들입니다.
- Nmap (Network Mapper): 네트워크 스캐닝 도구로, 대상 시스템의 포트 스캔 및 서비스 식별을 수행합니다.
- Metasploit Framework: 다양한 공격 모듈을 제공하는 모듈화 된 보안 프레임워크로, 다양한 공격 시나리오를 구현할 수 있습니다.
- Burp Suite: 웹 애플리케이션 취약점 스캐닝 및 테스트를 위한 도구로, 인터셉트와 프락시를 통해 웹 트래픽을 분석할 수 있습니다.
- Wireshark: 네트워크 패킷을 캡처하고 분석하는 도구로, 트래픽 및 통신 패턴을 이해하는 데 사용됩니다.
- Aircrack-ng: 무선 네트워크 해킹 도구로, WEP 및 WPA 키를 크래킹 하는 데 사용됩니다.
- Nessus: 취약점 스캐너로, 시스템 및 네트워크의 취약점을 식별하고 보고서를 생성합니다.
- OWASP ZAP (Zed Attack Proxy): 오픈 소스 웹 애플리케이션 보안 스캐너로, 웹 애플리케이션에서 발생할 수 있는 다양한 보안 문제를 찾아냅니다.
- SQLMap: SQL 취약점을 자동으로 감지하고 공격하는 데 사용되는 도구로, 데이터베이스 관련 취약점을 찾을 수 있습니다.
- John the Ripper: 암호 크래킹을 위한 도구로, 다양한 해시 알고리즘을 이용하여 암호를 크래킹 할 수 있습니다.
- Snort: 네트워크 기반의 실시간 침입 탐지 시스템 (NIDS)으로, 악의적인 네트워크 활동을 탐지합니다.
이러한 도구들은 전문적인 보안 전문가 및 모의해킹 전문가들에 의해 신중하게 사용하여야 합니다. 무단으로 다른 시스템에 대한 해킹 시도는 불법이며, 합법적이고 윤리적인 프레임워크 내에서만 사용해야 하기 때문에 주의해야 합니다.
모의해킹 전문가가 사용하는 취약점 진단 및 모의해킹 기준은 어떤 것이 있는지 알아보겠습니다. 모의해킹 시에는 국내외 다양한 취약점 진단 기준이 사용되며, 이러한 기준들을 먼저 이해하고 학습하는 것이 중요합니다. 아래는 모의해킹 전문가가 일반적으로 사용하는 취약점 진단 및 모의해킹 기준의 몇 가지 예시입니다.
4. 웹 취약점 진단 및 모의해킹 기준(해외)
- OWASP (Open Web Application Security Project) Top 10 2023: 웹 애플리케이션에서 발생할 수 있는 주요 취약점을 나열한 목록으로, SQL 인젝션, 크로스사이트 스크립팅(XSS), 인증 및 세션 관리 등이 포함됩니다.
- CWE (Common Weakness Enumeration): 다양한 종류의 취약점 및 보안 결함에 대한 표준화된 목록을 제공합니다. 각 취약점은 고유한 식별 번호와 설명이 포함되어 있습니다.
- CVE (Common Vulnerabilities and Exposures): 공개적으로 알려진 취약점에 대한 표준 식별자로, 각 취약점은 CVE 번호와 자세한 정보로 기록됩니다.
- NIST (National Institute of Standards and Technology) Guidelines: NIST는 다양한 보안 가이드라인을 제공하며, 특히 NIST SP 800-53 및 NIST SP 800-171 등은 정보 시스템 및 네트워크 보안을 강화하기 위한 지침을 제공합니다.
- SANS (SysAdmin, Audit, Network, Security) Top 20: 주로 기업 및 조직을 대상으로 한 취약점을 나열한 목록으로, 최근의 보안 도전에 대응하기 위한 추천 사항을 제공합니다.
- ISO/IEC 27001 및 27002: 정보보호 경영시스템(ISMS)에 대한 국제 표준으로, 보안 취약점 및 제어 조치에 대한 지침을 제공합니다.
- PCI DSS (Payment Card Industry Data Security Standard): 신용카드 정보를 다루는 조직을 위한 보안 표준으로, 네트워크 보안, 암호화, 접근 통제 등에 대한 요구 사항을 제공합니다.
- 모의해킹 툴(Tool)과 프레임워크(Framework) 기반: 모의해킹 도구와 프레임워크를 사용하여 시스템 및 네트워크에서 발생하는 실제적인 취약점을 확인하고 분석합니다.
5. 웹 취약점 진단 및 모의해킹 기준(국내)
기업, 기관, 조직에서는 내부 보안 정책 및 지침을 기준으로 하며, 국내 취약점 진단 기준 및 가이드를 준수하는지 여부를 확인하고 있습니다. 모의해킹은 외부자, 내부자, 공격자 등 다양한 측면에서 이루어지며, 이러한 기준들을 적절하게 활용하여 전체적인 보안 상태를 진단하고 보안가이드를 제시하여 보안을 강화하고 있습니다.
- 주요 정보통신기반시설 취약점 분석·평가 기준
- 전자금융 기반시설 취약점 분석·평가
- 소프트웨어 보안약점 진단가이드
아래는 OWASP TOP 10을 기준으로 한 조직에서의 자체 진단 기준 예입니다.
점검 항목(예) | 점검 내용 |
버퍼오버플로우 | 메모리나 버퍼의 블록 크기보다 더 많은 데이터를 넣음으로써 결함을 발생시키는 취약점 |
포맷스트링 | 스트링을 처리하는 부분에서 메모리 공간에 접근할 수 있는 문제를 이용하는 취약점 |
LDAP인젝션 | LDAP(Lightweight Directory Access Protocol) 쿼리를 주입함으로써 개인정보 등의 내용이 유출될 수 있는 문제를 이용하는 취약점 |
운영체제 명령실행 | 웹사이트의 인터페이스를 통해 웹서버를 운영하는 운영체제 명령을 실행하는 취약점 |
SQL인젝션 | SQL문으로 해석될 수 있는 입력을 시도하여 데이터베이스에 접근할 수 있는 취약점 |
SSI인젝션 | SSI(Server-side Include)는 “Last modified"와 같이 서버가 HTML 문서에 입력하는 변수 값으로, 웹서버상에 있는 파일을 include 시키고, 명령문이 실행되게 하여 데이터에 접근할 수 있는 취약점 |
XPath인젝션 | 조작된 XPath(XML Path Language) 쿼리를 보냄으로써 비정상적인 데이터를 쿼리해 올 수 있는 취약점 |
디렉토리인덱싱 | 웹서버에서 인덱스 파일로 지정한 파일이 존재하지 않거나 웹서버에서 디렉토리 리스팅을 허락하도록 설정했을 경우 디렉토리 리스트를 출력하는 취약점 |
정보누출 | 웹 사이트 데이터가 노출되는 것으로 개발과정의 코멘트나 오류 메시지 등에서 중요한 정보가 노출되어 공격자에게 2차 공격을 하기 위한 중요한 정보를 제공할 수 있는 취약점 |
악성컨텐츠 | 웹 애플리케이션에 정상적인 컨텐츠 대신에 악성 컨텐츠를 주입하여 사용자에게 악의적인 영항을 미치는 취약점 |
6. 모의해킹 공격/방어 시나리오
모의해킹 전문가가 진행하는 대표적인 공격 시나리오와 담당자 입장에서의 방어 시나리오에 대해서 간단히 예를 들어 살펴보겠습니다.
아래 시나리오 중 공격자는 모의해커, 방어자는 담당자/운영자라고 보시면 이해가 빠르실 듯합니다.
6.1 피싱(Phishing) 공격
- 공격자: 조작된 이메일이나 웹 사이트를 통해 피해자로 하여금 개인 정보를 입력하도록 유도합니다.
- 방어자: 정기적인 피싱 테스트를 실시(이메일 모의훈련)하여 직원들의 인식을 향상하고, 안전한 이메일 사용 교육을 제공합니다.
- 보안가이드 제시: 정기적인 보안 교육 및 피싱 시뮬레이션을 통해 직원들을 훈련하고, 이메일 필터링 시스템을 구축하여 악성 이메일을 차단하고, URL 검사 및 스팸 필터링을 강화합니다.
6.2 애플리케이션 취약점 공격
- 공격자: 웹 애플리케이션에서 취약점을 찾아내고, SQL 인젝션, 크로스사이트 스크립팅 (XSS) 등을 이용하여 시스템에 침입을 시도합니다.
- 방어자: 주기적인 웹 애플리케이션 보안 평가를 수행하고, 개발자들에게 안전한 코딩 교육을 제공합니다.
- 보안가이드 제시: 웹 애플리케이션 방화벽 (WAF)를 도입하여 악성 트래픽을 탐지하고 차단하며 웹 애플리케이션 취약점을 주기적으로 스캔하고, 보안 패치 및 업데이트를 신속하게 적용하여 취약점을 최소화합니다.
6.3 무선 네트워크 공격
- 공격자: 무선 네트워크에 대한 암호 해독 또는 암호 우회를 시도하여 무단으로 네트워크에 접근합니다.
- 방어자: 강력한 무선 보안 프로토콜을 사용하고, 무선 네트워크의 감시 및 로깅을 설정합니다.
- 보안가이드 제시: 강력한 무선 보안 프로토콜을 사용하고, 무선 네트워크 트래픽을 감시하여 이상 행위를 탐지합니다. 무선 네트워크 액세스 포인트의 물리적 보안 강화 및 주기적인 무선 보안 감사를 수행합니다.
이러한 공격 및 방어 시나리오들은 지속적으로 개발되고 있고 조직의 특정 요구에 맞춰 조정되어야 합니다.
모의해킹 전문가의 진행된 합법적이고 윤리적인 모의해킹을 통해 발견된 취약점을 기반으로 신속하고 효과적으로 대응하는 것이 중요합니다.
웹 취약점 진단 및 모의해킹 전문가의 직업에 대해서 관심 있으신 분들께 이 글이 도움 되셨길 바랍니다.
지속적인 관심 부탁드립니다.