메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

모의해킹이란 무엇인가 이후 이야기

모의해킹 컨설턴트 3박자를 살펴보자 - 기술

리얼타임 eBook

|

2016-06-07

|

by 조정원

11,902

모의해킹 업무는 컨설팅 업체에 소속되어 일을 하는 게 대부분이다. 컨설턴트라고 해도 무관하다. 컨설턴트는 고객의 어려운 점을 알아내어 해결 방법을 제시하는 사람이다. 모의 해커는 고객의 대외 서비스, 인프라 서비스에 포함된 모든 IT 전산 장비/시스템에서 발생할 수 있는 위협을 범죄자 입장에서 검토한다. 비즈니스를 운영하는 과정에서 작은 버그를 이용하여 외부에서 내부까지 침투를 시도한다. 침투를 시도하는 공격 기술을 알아야 한다. 기술을 모르면 모의해킹 업무를 할 수 없다. 이론적으로만 설명하는 것이 아니라, 심각하게 노출도는 정보들을 보여주어야 한다.

 

그렇다면 취업 준비생들은 어떤 기술들을 먼저 준비해야 할까? 우리가 항상 접하고 있는 것은 브라우저를 통한 웹 서비스이다. HTML, 자바스크립트, CSS로 구성된 사용자 페이지와 서버 단에서 처리되어 사용자에게 뿌려주는 역할을 하는 서버 스크립트(프로그램)이다. WAS(Web Application Server)와 데이터베이스(Database) 등도 모두 다르게 사용하고 있고, 사용자에게 보여주는 UI도 다르지만, 데이터를 개인 단말과 모바일에 출력하고 있다. 고객들도 사용자들에게 필요한 정보를 실시간으로 제공해야 한다. 이 역할을 하는 플랫폼/프레임워크 환경들이 모의해킹의 대상이 된다.

 

이 환경들을 전반적으로 이해해야 하고 각 환경마다 진단할 수 있는 공격 기술을 알아야 한다. 공격 기술은 IT지식 기반으로 하며 이를 우회하는 기술들이다. 다른 사람들이 알지 못하고 나만 알고 있는 공격 기술이라면 최고이지만, 모의해킹 업무를 하면서 사용되는 기술들은 이미 인터넷에 많이 공개되어 있다. 중요한 것은 서비스를 접했을 때 서비스의 전반적인 기본 개념만 익히거나, 환경 구성, 프로그래밍을 하는 방법에 집중하지 말고, 공격적으로 고민을 해야 한다. 모의해커를 준비한다면 공격 기술을 알아야 하기 때문에 항상 공격기술에 초점이 맞춰져야 한다. 

 

몇 학원에서는 오랜 시간동안 기반을 쌓는 공부만 하고 있다. 경험한 분들은 알겠지만, 이런 수업을 듣다 보면 “모의해커는 이것을 어떻게 써먹을 수 있지?”라는 의문이 계속 든다. 그런데, 공격기술을 익히면 그때야 “아, 그때 배웠던 것이 중요한 거였구나. 그때 배웠던 개념과 프로세스를 우회하여 이렇게 공격할 수 있구나.”라고 알게 된다. 그렇기 때문에 기술을 익힐 때는 선배들이 정리한 많은 공격기술 문서를 접하고 실습을 하여 공격 성공을 보기 바란다.

 

fig1.png

그림 4‑1 컨설턴트 3박자-기술

 

모의해커가 진단해야 할 대상은 서버/WAS/네트어크 장비/데이터베이스/프로그래밍 등의 인프라가 구성되어 있다. 공부를 할 때 리눅스 운영체제, 윈도우즈 운영체제를 포함하여 하나의 서비스를 운영하기 위한 환경을 구성하기 바란다. 어떤 환경이든 학습을 하는데 문제 되지 않는다. 어떻게 만들어내든 실무에 가면 매우 복잡하고 또 다른 환경들을 경험하기 때문이다. 모의해커가 진행하는 블랙박스(BlackBox)진단 방식이 아니라, 관리자 입장에서 진단하는 스크립트 기반의 인프라 진단, 소스코드 진단을 기반으로 하는 화이트박스(WhiteBox)진단 방식 등의 학습을 같이 하면 좋다. 

 

후배들이 포트폴리오 작성한 것을 보면 대부분 블랙박스 진단 방식에 맞춰져 있다. 하지만, 여러분들은 모의해킹 컨설턴트가 될 가능성이 높다. 그 말은 공격 기법만 보여주는 것이 아니라, 이를 방어하기 위해서 어떤 대응방법이 필요한지 모든 인프라에서 고민을 해야 한다. 시큐어코딩 관점, 관리 설정 관점, 보안 솔루션 도입 관점 등 단기적, 중기적, 장기적으로 플랜을 세워야 한다. 

 

관리 컨설턴트만이 고민하는 것이 아니다. 최근에는 모의해커 인원들도 스크립트 기반의 인프라 진단까지 수행하는 경우가 많이 있다. 공부를 할 때 미리 하여 취업 준비를 해두면 기회가 많이 온다. 그 외에 각 웹기반이든 C/S기반의 역공학 기법 기술이 필요하다. 그림에서 설명하는 것은 웹 애플리케이션 취약점 분석을 위해서는 관련 인프라부터 시큐어코딩, 리버싱 기법을 익혀야 하는 것이고 다른 영역도 하단에 제시되는 기법을 익혀야 한다.

 

그렇다고 모든 시스템과 프로그래밍을 공부해야 하는 것은 아니다. 여러분이 구성한 환경 내에서 충분히 알 수 있는 수준이면 된다. 물론 후에는 관심 분야를 좁히면서 집중적으로 연구해야 할 필요가 있다. 많이 알면 알수록 좋겠지만 취업 기간을 정하지 않은 상태에서 준비만을 하는 것도 좋지 않다. 기간 내에 좋아하는 것을 하면 생각보다 짧은 기간안에 취업까지 달성할 수 있다.

 

댓글 입력
자료실