05
30

안녕하세요, Gearvirus 입니다.
저는 현재 취업을 준비하고 있는 취준생입니다. 
오늘은 개발자로서 취업을 준비하던 과정에서 화이트 해커(모의해커)로 목표를 바꾸게된 계기를 말해볼까 합니다.

 

개발직을 목표로...

저는 원래 개발자를 목표로 취업을 준비해오고 있었습니다.
로봇공학과를 졸업하고, 인공지능에 관심이 있어 AI 개발자가 되고 싶다는 막연한 생각을 가지고 있었습니다.

그러던 중 프로그래머스 주최의 KDT 인공지능 데브코스를 수강하게 되었고, 인공지능의 다양한 분야 중에서도, 대학 때부터 관심있었던 영상인식 분야에 보다 집중하여 공부하게 되었습니다. 그렇게 강의를 들으며 지식을 쌓아나가는 과정이 힘들긴 했지만 보람차게 보내고 있다고 생각을 했습니다.

 

 

갑자기 찾아온 번아웃

그렇게 6개월이라는 길다면 길고 짧다면 짧은 기간동안 하얗게 불태우고, 마지막 프로젝트까지 진행하게 되었습니다.

그런데 강의가 끝나고 취업을 준비하게 되는 과정에서 인공지능 프로젝트와 취업을 위한 코딩 테스트의 갭 때문인지 갑작스럽게 번아웃이 찾아왔습니다.

프로젝트 진행 과정에서는 모르는걸 계속해서 찾아보고 수정하고 보완만 하다보니, 지정된 시간 안에 문제를 해결해야 하는 코딩테스트가 어렵게만 느껴지고 괴리감이 느껴졌던 것 같습니다. (물론 능력부족이겠지만요.)
그렇게 한동안은 아무 생각없이 코드를 쳐다만 보는 기간이 이어진 것 같습니다.

집중도 하지 못하고, 코딩테스트 준비는 하지만 빈번히 떨어지면서 말이죠.

 

 

시야를 넓히려 시작하게 된 해킹 공부

그렇게 시간을 보내면서 몇몇 회사의 면접을 보게 되고, 제가 생각하는 코딩의 범주가 너무 좁다는 것을 새삼 느끼게 되었습니다. 또한 코로나 시국이 지나가면서 뭔가 판도가 바뀌는 느낌이 들었습니다.

 

ChatGPT가 급부상하고, 다양한 인공지능 툴들이 나오면서 이대로라면 인공지능한테 코딩도 밀리고, 이도저도 안되겠다는 생각이 들면서 말이죠.


그러던 어느날 유튜브에서 Normaltic님의 취업반 스터디 모집글을 보게 되었습니다. 그때 문득 저에게 조언을 해주시던 분의 말씀이 떠올랐습니다. "보안 분야에 관심이 있으면 그쪽 공부를 해보는 것도 좋다." 라는 말이었죠.

또한 코딩에 관련된 지식은 여러가지로 흡수하고 싶었습니다.
그래서 처음엔 아 무조건 '이걸 해봐야겠다!' 라는 마음보다는, 이 스터디를 들으면서 '개발자로서의 시야를 넓혀야 겠다' 라는 생각이 들어서 신청을 하게되었고, 해킹 · 보안 분야에 처음으로 발을 디디게 되었습니다.

 

 

처음 시작한 해킹

이전부터 해킹이라는 것에 관심은 있었지만, 비전공자이고, 기존에 c++, python 위주로만 공부해왔던 저로서는 웹 해킹을 위해서 HTML, CSS, Javascript를 처음부터 공부해야하는 상황이었습니다. 웹 개발은 디자인이라는 느낌이 들어서 막연하게 거부감이 들어 그동안 손도 대지 않았었기 때문이었죠.
코드를 보면 이해는 되지만, 막상 코드를 짜려하니 마음대로 되는게 하나도 없었습니다.
그래서 여러가지 방식을 시도하게 되고 이제는 모의해커로서 일하고 싶다는 생각이 드는 상황에 이르렀습니다.
이에 제가 시도한 공부 방법들을 조금이나마 공유해보려 합니다.

 

 

해킹 공부

1. 웹과 취약점의 이해

취약점을 무턱대고 찾는 것이 중요한 것이 아니라는 것인데, 웹에 대한 모의 해킹이라면, 해당 웹의 구성과 동작을 이해하고 특정 취약점을 우선적으로 이해해야 비로소 취약점을 찾을 수 있다는 겁니다.

일단 찾아보자! 라는 생각으로 하고 나면, 비슷하더라도 조금만 달라져도 해당 취약점을 찾는 것이 어려웠습니다.
우선적으로 웹과 취약점에 대한 이해가 바탕이 되어야 응용할 수 있다는 것이 제 생각입니다.

처음에는 웹 개발을 해본적이 없었기에 취약점을 찾는 것이 어렵게 느껴졌습니다. 하지만 웹 개발을 진행하면서, 취약점들을 이해하면서 점차 취약점을 찾는 과정이 쉬워졌다는 것이 체감되었습니다.

 

2. 블로그 정리

블로그는 정리하는 것이 매우 귀찮을 수 있지만, 열심히 해야한다는 생각이 듭니다.

저는 글주변이 없는 편이라서 블로그 정리하는 것에 있어서 누군가에게 설명을 하는 방식으로 친절하게 쓰는 것은 어려움이 있었습니다. 하지만 최대한 해당 글을 누가 읽더라도 필요한 정보를 얻을 수 있도록 정리하고자 했습니다.
CTF 를 정리하는 경우에는 해당 문제 풀이를 정리한다기 보다는, 문제를 파악하고, 문제에 대하여 생각하고, 해결과정을 생각하고 풀어나가는 과정을 기술하려고 노력했습니다.
이런식으로 정리하다보니 추후에 다른 문제를 풀때에 참고하기 좋았습니다.

정리를 하는 과정은 엄청난 시간이 소요됩니다.
우선적으로 정리를 하기위해서는 이해를 해야하고, 이해를 하고 최대한 풀어서 정리하기 위해서 또 다른 자료를 찾아보고 정리하는 과정이 필요하기 때문입니다.
하지만 이런 과정에서 보다 자연스럽게 정리한 내용들이 머리에 정리되기 때문에 투자한 시간은 절대 배신하지 않을겁니다.

그렇기 때문에 블로그는 힘들더라도 최대한 정리하시는 것을 추천드립니다.

 

3. 검색과 걸러내기

이해하고 정리하는 과정에서 검색을 계속해서 하게 될겁니다. 그런데 검색을 해서 보다보면 잘못된 정보도 섞여 있고 비슷한듯 다른 설명들이 많이 있다는 것을 깨닫게 됩니다.
그래서 걸러내는 과정이 필요합니다. 최대한 많은 정보를 찾아보고, 조언을 구하면서 맞는 정보를 정리하고 내것으로 만드는 것이 중요합니다.

 

 

마치며

현재 모의해킹 스터디가 끝나고, 모의해킹 분야에서 일하고 싶다고 목표를 정하게 되었습니다.
멍하게 흘러가던 취준 생활에 활기를 불어넣어주었던 웹 해킹 공부는 좋은 경험이었습니다.
다들 일찍부터 보안에 관심을 갖고 진로를 정하신분들이 많은데, 저는 비록 늦은 편이지만 계속해서 해킹에 대하여 알아가는 과정이 즐겁다는 생각으로 공부해가고 있습니다.

 

현재는 보안분야가 결국 개발자의 최종 진화형이 아닐까 라는 생각이 듭니다.

글을 읽는 분들에게 제 글이 조금이라도 도움되었으면 좋겠습니다.
- Gearvirus

COMMENT