정보보안전문가가 되려면 해킹부터 배워야 하나?

인터넷 서핑을 하다 들어가 보게 된 정보보안관련 카페들… 일단 관련 카페가 무척 많다는 것에 놀랐었다. 그만큼 내가 일하고 있는 정보보호관련 분야가 인기라는 것을 반증하는 것 같아 안도(?)하는 마음마저 들었다.

그리고 그 과정에서 놀란 것은 “정보보호” 관련 카페의 대부분이 “해킹”관련 기법들을 공부하려고 하는 “정보보호전문가” 지망생들로 북적인다는 점이었다. 정보보호를 지망하는 학생들이 정작 정보보호보다는 “해킹”에 더 많은 관심을 보이고 있었다. 그것은 “정보보안 / 정보보호”에 대한 개념이 잘못 형성되었다는 것을 뜻하는 것이기에 조금 안타까운 마음이 들었다.

만약 보안 업계에서 일하는 엔지니어나 컨설턴트들에 대해 “해킹” 능력만으로 등급을 매기고 해킹 실력이 부족한 사람들을 보안업계에서 추방 한다면 아마도 10% 도 살아남기 힘들지 않을까 싶다. 그리고 그 추방의 대열에 나도 끼어있지 않을까 싶다. 이것은 과연 무엇을 뜻하는가?? 정보보안과 “해킹”은 공통점도 많지만 접근법에 있어 분명 다르다는 것을 뜻한다고 보면 된다. 그리고 정보보안 강화는 해킹기법들을 몰라도 충분히 구현 가능하다는 것을 의미한다.

실제로 쉬운 수준의 “해킹”이라도 가능한 보안 엔지니어나 컨설턴트는 전체 보안업계의 엔지니어와 컨설턴트의 10%..아니 어쩌면 5%도 안된다고 보면된다. (초보도 할 수 있는 아주 단순한 형태의 툴을 이용하는 해커 즉 스크립트 키드(Script kids) 수준은 제외)

해커가 되려면 무엇을 공부해야 하는가?

속성으로 해킹기술을 배우고자 하는 이들이 쉽게 접하는 것이 “해킹툴”들이다. 그럴 경우 인터넷에서 누구나 구할 수 있는 툴들을 이용해 해킹을 하는 철부지 같은 “Script Kids” 밖에는 될 수 없다. 그리고 그런 스크립트 키즈들은 쉽게 적발되며 쉽게 인생을 망치게 될 가능성이 높다. 초기의 해커들은 아무런 툴 없이 순수하게 C컴파일러와 어셈블러만으로 만으로 해킹을 해냈고 그러한 실력이 있었기 때문에 화이트해커로서의 갱생의 길이 열려 있었으나 그들이 만들어 놓은 툴을 이용해 흉내만 냈을 경우엔 그저 범죄자로서의 낙인 밖에는 얻을 수 있는 것이 없다.

그렇다면 해킹은 어떻게 언제 배워야 하는가?

정보보안전문가가 되기위해서 해킹기술이 필요없다는 이야기는 아니다. 하지만 제대로 된 해킹 기술은 잠시 “배운다고” 배워지는 그런 것은 아니라고 말하고 싶다. 제대로된 해킹을 위해서는 운영체제의 깊은 곳, C언어와 어셈블리를 비롯한 다양한 프로그래밍 언어와 DBMS, Web Server, WAS, JAVA, TCP/IP등 다양한 분야의 폭넓고 심도있는 지식이 있어야 한다. 특히 TCP/IP와 운영체제 그리고 대부분의 인터넷 서비스를 수행하는 WAS와 JAVA의 고급기술은 해커에게는 필수적인 기술이다. 이러한 다양한 분야의 기술을 “고급”수준까지 끌어 올리기 위해서는 엄청난 시간과 노력 그리고 “열정”이 필요하다. 그래서 “진정한 해커”는 흔치 않다. 손쉽게 배운 해킹기술 몇개는 정보보호(보안)전문가가 되고자하는 사람에게 그리 큰 도움이 되지 않는다고 단언할 수 있다.

만약 이글을 읽는 당신이 진정한 의미의 “해커”가 되고 싶다면 운영체제(Windows, Linux, Unix)와 프로그래밍 그리고 네트워킹(TCP/IP)의 달인이 되어야 한다. 거기에 “Cryptography”의 달인이 된다면 금상첨화다.

해커는 보안전문가인가?

이 질문에는 “결코 아니다”라고 답하고 싶다. 왜 “아니다”라고 말하는지를 이해하기 위해서는 “해커”와 “정보보안전문가”의 역할과 개념 그리고 차이를 이해해야 한다.

정보보안전문가가 되려면 해킹부터 배워야 하나?

말 그대로 해커는 다른 사람의 컴퓨터에 무단 침입하기 위한 전문적인 기술을 갖고 있는 나쁜 사람이다. 만약 나쁜 의도가 없다면 “화이트 해커” 정도라고 말할 수 있다. 결코 보안전문가라고 할 수는 없다.

“해커 == 보안전문가”라는 등식은 결코 성립될 수 없다. 다만 해킹기술을 갖고 있다면 한차원 더 높은 수준의 보안전문가가 될 수는 있다. 하지만 해킹 기술이 없다고 하여 보안전문가가 되지 못하는 것은 아니다.

정보 보안(보호) 전문가란 무엇인가?

흔히 해킹기술을 갖고 있는 사람을 정보보안전문가라고 생각하는 경향이 짖다. 그리고 여러 정보보안 관련 교육기관에서도 수강생 모집에 유리하기 때문에 해킹기술을 가르친다고 마케팅을 대대적으로 하는 것을 볼 수 있다. 하지만 정작 제대로된 해킹기술은 단시간에 배울 수 있는 것이 아니기에 몇몇 인터넷에서 구할 수 있는 툴들을 이용해 취약점이 있는 웹서버에 침투하거나 공격도구를 업로드하거나 웹페이지를 변조하는 정도의 기술을 가르치는 정도에 그치고 있다. 하지만 분명한 것은 실무에 “별 도움이 되지 않는다”는 것이다.

정보보안(보호)전문가에 대해서는 기관과 교육기관마다 조금씩 다른 정의를 내리고 있으나 대체적으로 다음과 같이 정의할 수 있다.

“정보보안전문가란 공공기관 및 기업의 서버, 개인용컴퓨터, 네트워크 장비, 데이터베이스시스템, 애플리케이션 등 정보처리시스템에 대한 기술적 보안을 강화할 수 있도록 보호대책을 수립 / 구현하고 이를 운용할 수 있는 정보보호조직의 구성, 운용 및 교육 등 관리적 보안을 책임질 수 있는 자”라고 정의할 수 있다.

위의 정의에서 알 수 있듯 정보보안전문가는 기술적인 측면 뿐만 아니라 관리적인 측면의 능력도 중요한 자질임을 알 수 있다. 조직의 다양한 IT 자산에 대한 취약점을 파악하여 분석하고 각각에 대한 위험평가를 통해 보호대책을 수립하고 적절한 보안솔루션을 선정하여 보호대책을 구현하는 기술적 능력과 인적자원에 대한 내부통제와 정보보호교육, 그리고 정보보호관련 법규에 기반한 컴플라이언스 준수여부의 평가 능력 등 관리적 보안에 필요한 지식도 갖추고 있어야 한다.

이렇게 다양한 지식을 습득하고 있어야만 될 수 있는 정보보안전문가는 결코 특정한 해킹기술에 집착해서는 안된다. 물론 다양한 해킹기술을  습득하고 있다면 취약점 분석과 모의해킹 등의 과정에서 보다 유리한 것은 분명하지만 결코 “필수”요소는 아니다. 해킹을 하지 못한다고 해서 해킹을 막지 못하는 것은 결코 아니다. 해킹을 할 기술적 능력이 안된다해서 해킹을 막지 못한다면 이 세상은 해커가 판치는 세상이 되었을 것이다.

해커는 필요 없는가?

해커는 필요하다. 단, 화이트해커가 필요하다. 다양한 해킹기술을 가진 해킹전문가는 정보보호조직 혹은 보안컨설팅 조직에 한두명쯤은 반드시 필요하다. 하지만 해킹기술이란 것이 앞에서도 언급했듯 특정 기술분야의 심도있는 지식이 필요하기 때문에 적합한 화이트해커를 찾는 것은 무척 어렵다. 기술분야의 특성상 모든 분야의 해킹에 능통한 화이트해커는 거의 없다. 각기 네트워크, 시스템, 웹 등 전문분야가 있기 마련이다. 각 분야별로 전문해커를 보유하고 있다면 그 조직은 취약점분석과 모의해킹 등에 있어 강점을 가질 수 있을 것이다.

그렇다면 당신은 해커가 될 것인가?

해커를 꿈꾸지 않은 정보보안전문가는 없을 것이다. 그럼에도 해커의 경지까지 오르는 기술력을 가진 정보보안전문가는 극기 드물다. 고도의 기술을 요하는 해커가 정보보안전문가의 필수 요소도 아닐 뿐더러 해킹기술이 없다고 해킹을 막지 못하는 것도 아니고 해커의 경지에 오르기위한 공부가 결코 쉽지 않기 때문이기도 하다. 반대로 해커의 경지에 이를 정도로 심도 있는 공부를 하려면 정보보안의 다른 분야에 대한 지식까지 갖추기가 쉽지 않기 때문이기도 하다. 만약 당신이 C언어와 어셈블리 등의 언어와 프로그램의 깊은 곳의 동작원리 등에 대한 이해가 깊고 TCP/IP의 패킷구조에 대해 정확하게 이해하고 있으며 0과 1로 이어진 데이터스트림을 분석하는데 어려움이나 반감(?)을 느끼지 않는다면 해커가 될 수 있는 충분한 자질을 갖추고 있다고 생각해도 될 것이다.

당신의 머리가 정말 뛰어나다면 해커와 정보보안전문가의 타이틀을 모두 얻을 수도 있을 것이다. 그렇지 않다면 기본적인 해킹에 대한 이론적 지식(실전에 적용하긴 어렵더라도)과 함께 다양한 IT 시스템 구성요소에 대한 공부(보안관점에서)를 폭넓게 하라고 권하고 싶다. 아울러 관리적 보안 및 IT 보안 컴플라이언스를 위한 공부도 함게 할 것을 권한다.

“보안 == 해킹” 이 아닌 “보안 > 해킹” 이다.

댓글 달기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

Scroll to Top