메뉴 바로가기 검색 및 카테고리 바로가기 프로모션 바로가기 책 바로가기 네트워크 바로가기

리얼타임 eBook

모의해킹 - 서비스를 이해하고 시나리오를 재미있게 구성할 수 있는 습관이 중요하다

2016-06-30

|

by 조정원

12,326

멘토를 했던 한 후배가 모의해킹분야로 취업이 되었다. 항상 웃음만 가득했던 친구인데 걱정스러운 글들이 올라와 물어본 결과 "모의해킹을 하는데 결과가 나오지 않아 스트레스다."라고 한다. 그 이야기를 듣고 웃음이 나온 한편 이전에 내가 경험했던 것이 떠올라서 공감이 간다. 내 경험에는 어떤 사이트를 가든 취약점이 나오지 않았던 사례는 없었다. 하지만, 그것은 결론이고 그 과정 하나하나에서는 후배와 똑같이 취약점이 나오는 날은 좀 숨이 쉬어졌고, 취약점이 나오지 않으면 집에 가서도 다음날이 걱정되었다. 고객에게 “발견된 취약점 없음”이라고 메일을 보내는 것은 나 자신에게 용납이 되지 않았다.

 

경력이 없을 때 진단을 하다 보면 취약점이 나오지 않을 수 있다. 하지만, 신입사원들이 해놓은 결과를 보면 취약점을 찾아내기 위해 접근한 것이 단지 기술만 가지고 덤벼서 나오지 않는 경우가 많다. 모의해킹은 기술이 중요한 게 맞지만, 그 기술을 어떻게 쓰냐에 따라 결과는 완전히 다르다. 취약점은 말 그대로 버그이다. 버그는 사이트의 모든 기능이 동작하면서 정상적인 프로세스가 아닌 어떤 변수에 의해서 발생하는 것이다. 그 변수를 찾아내는 것이 바로 결과물에 써진다.

 

그 변수를 찾기 위해서는 어떻게 해야 할까? 모든 서비스의 기능을 이해해야 한다. 내가 쇼핑물 서비스를 진단한다면 사용자들이 사용할 수 있는 모든 기능을 이해해야 하고 정상적인 단계로 어떻게 되는지 보고, 중간 단계마다 어떤 변수를 발생시킬 수 있을지 많이 고민해야 한다. 그게 내가 항상 수업 때 강조하는 시나리오이다. 이 시나리오는 때에 따라 수십 개가 나올 수 있다. 수백 개가 나올 수 있다. 이 시나리오를 모두 해보았냐고 이야기를 한다.

 

나는 가끔 “모의해커는 프로젝트 QA가 된다.”라고 이야기 한다. QA(Quality Assurance)는 품질을 관리하는 직업이다. 프로그램 개발 프로젝트 범위에서만 이야기하면 개발이 진행되는 시점, 완료가 되는 시점에 기능의 문제, 개선사항들의 의견을 제시한다.

 

모의해킹은 서비스의 모든 프로세스를 확인하며 보안 결함을 찾는 업무이다. 1단계, 2단계... 단계별로 기능을 확인해봐야 한다. 이때 기능상 되지 않는 것은 꼼꼼히 체크를 해야 한다. 점검 당시에는 안되었는데, 막상 오픈한 후 정상적으로 될 가능성이 있다. 이 기능에서 취약점이 발생하면 후에 책임논란이 올 수 있다. 그러므로 명확하게 체크를 하고 담당자에게 체크파일을 넘겨 근거를 남겨야 한다.

 

모의해커가 서비스 대상으로 진단하기 전에 보안 실무자도 QA 담당 현업들과 끈끈한 관계를 맺어 서비스 점검을 한다. 서비스가 오픈하기 전에 모든 단계에서 취약점 진단이 이루어지기 때문에, 개발 중간과정 때마다 기능 작동 여부의 의견을 계속 제시한다. 컨설턴트와 달리 자신이 소속된 회사 서비스이기 때문에 보안진단관점만 보는 것이 아니라, 전반적인 개선점의 의견을 같이 제시하기도 한다. 이 과정을 제대로 하지 않으면 후에 추가되는 기능을 제대로 이해할 수 없고 이곳에서 대부분 보안상 결함이 온다.

 

모의해킹 업무 중에서 개발단계에 투입되는 경우가 있다. 디자인, 기획 설계 단계부터 살펴보고 점검 항목 기준으로 어떤 취약점이 발생할지 파악하고 개발을 할 때 미리 반영할 수 있도록 컨설팅을 해준다. 이때는 직접 테스트할 수 있는 페이지가 없기 때문에 상상으로 서비스가 작동하는 것을 생각해야 한다. 다양한 서비스를 사용해보지 않았다면 컨설팅을 하는 데 어려움이 있다. 결제 시스템 개발 프로젝트에 투입이 되었는데 모바일을 이용해서 한 번도 결제를 해 본 경험이 없다면 제대로 컨설팅이 될까? 그래서 주위의 많은 서비스에 관심을 가지고 이 서비스에서 어떤 위협들이 발생할 수 있는지 직업병처럼 고민을 해봐야 한다.

 

이렇듯 모의해커도 많은 시나리오에서 서비스에 제일 위협을 줄 수 있는 게 무엇인지 보고서에 강조해야 한다. 그래야 좋은 진단이 되는 것이고 마음 편안하게 프로젝트를 마무리할 수 있다. 진단해야 하는 진단항목만이 기준이 될 수 없다. 그것은 모든 서비스에 공통으로 발생할 수 있는 기술을 토대로 한 대표적인 항목일 뿐, 여러분들이 점검해야 할 것은 모든 기능에 적용해야 할 세부적인 시나리오이다.

 

서비스를 이해하고 시나리오를 재미있게 구성할 수 있는 습관이 몸에 배기고 새로운 기술을 하나씩 얹혀나가야 장기간 모의 해커로 일을 할 수 있고 재미있게 진단을 할 수 있다.

댓글 입력
자료실