05
10

안녕하세요, 한후입니다. 

오늘은 "비전공자 입장에서 시작한 보안/해킹 공부"에 관해 저의 소소한 TIP을 겉들여 말씀드릴까 합니다. 

개인적인 이야기는 그리 길게 풀지 않을 거긴 하지만, 핵심 내용이 궁금하다! 하시는 분들은 주의사항/TIP으로 Go Go!

그럼 바로 본론으로 들어가 보죠 

 


 

제가 해킹에 관심을 가지게 된 건, 고등학교 1학년 때였습니다.

처음엔 마냥 키보드 두드리는 모습이 멋있어 보였고 주르륵 주르륵 글씨가 도배되는 화면이 멋있었죠.

(다들 아시잖아요!? ㅋㅋ)


어쩌다 우연히 듣게 된 "화이트 해커"라는 단어에 꽃혀 이것저것 검색해 봤던 기억이 있는데요.
그때 봤던 한 사이트에서 모의해킹, 관제, 침해 대응 등으로 다양한 직무가 있다는 걸 처음 알게 되었습니다. 


이 사이트를 보고 있을 때만 해도 아직 해킹이 무엇인지, 해커가 어떤 일을 하는지 제대로 알고 있는 건 없었지만 

마냥 '난 모의 해커가 되겠어!'라는 꿈을 키우게 되었답니다. :)


많은 분들이 해커가 되겠다는 꿈을 가지게 되면 제일 먼저 고민하시는 게 아마 "뭘 공부해야 하지?"일 듯합니다.
저도 마찬가지였습니다! 일반계 고등학교를 진학 중이었다 보니 학교에서 보안/해킹에 관련된 정보를 얻기엔 

어려움이 있었습니다. 정말.. 막막했죠!!!

그래서 재미도 붙일 겸, 처음부터 이해도 안 될 책을 붙잡고 있는 거 보단 일단 컴퓨터와 친해지자! 싶어 
Bandit이라는 워게임을 시작하게 되었습니다. 

그렇게 열심히 워게임을 풀던 도중..! 

고 3이라는 시기에 봉착하여 1년 동안은 해킹과 관련된 아무런 공부도 하지 못했답니다!?

고등학교 때 학업과 해킹/보안 공부를 병행하기 부담스러워하시는 분들이 계시는 데
학업에 몰두해야 하는 시기엔 학업에만 몰두하셔도 손해 볼 게 전혀 없습니다!
평소 제대로 공부를 해왔다면 1년 정도 수시/정시 공부만 하더라도 전-혀 문제되지 않습니다.


이후 저는 정보통신공학과로 대학교를 진학하였습니다. 

대학교에서 따로 보안과 관련된 동아리나 대외 활동을 하지는 않았습니다만

보안 실습과 관련된 대학원 수업을 수강했었는데

 

수강해보고 나니 대학원 수준에서도 제가 원하는 만큼의 깊이 있는 내용을 다루진 않는다는 걸 깨달았죠..ㅎㅎ

 


대학교 3, 4학년만 되어도 1, 2학년 때 듣는 전공 수업이 그리 전공과 깊이 있게 맞닿아 있진 않다는 걸 아실 텐데요
저는 그 시기를 공략해서 웹 개발 공부를 했습니다. (HTML, CSS, JS, JSP 정도 공부했습니다.)

 

대학교 3학년 때부터는 Burp Suite라는 사이트를 활용해서

웹 해킹과 관련된 이론적인 부분을 공부했고 공부한 내용을 블로그에 작성하기 시작했습니다.

3학년 2학기 말부터는 졸업 작품을 준비해야 했기 때문에 정확히 1년 동안은 하고 싶은 공부 보단 학업에 

더 많은 시간을 투자할 수밖에 없었습니다. 그렇다고 해서 해킹 공부를 하지 않았던 건 아닙니다! 

4학년 2학기부터 졸업 시즌까지는 모의해킹 취업반 수업을 병행하여 스스로 느슨해지지 않도록 
일정 시간은 꾸준히 해킹 공부에 시간을 투자했고 지금까지 이 분야와 관련된 공부를 이어가고 있습니다. 


이렇게 보니 별로 특별한 게 없는 거 같죠? 맞습니다!!!
해킹, 해커라는 단어가 사회적으로 인식되는 이미지가 있다 보니 굉장히 거창하고 대단한 무언가를 해야 할 거 

같겠지만 그렇지 않다는 걸 말씀드리고 싶습니다. 

 

하지만 아직 이러한 시기를 겪어보지 않아 고민이 많으신 분들을 위해 대학교를 막 졸업한 제 기준에서 몇 가지 

주의할 점과 TIP을 알려드리도록 하죠!

(위에서 강조해 두었던 Keyword를 쭉 연결해 볼까요? )

 


 

주의사항 및 TIP

1. War game 

제가 처음 접했던 War game, Bandit은 Linux 명령어를 공부하기에 적합한 워게임인데요.
단순히 명령어를 입력해 보고 끝! 이 아니라 명령어로 숨겨져 있는 비밀번호를 찾는 형식입니다. 

그렇다 보니 이 명령어가 어떤 기능을 하는지, 혹은 어떤 기능의 명령어가 필요한지 알아보면서 

자연스레 공부가 되실 겁니다. 

처음엔 가장 난이도가 낮은 문제임에도 불구하고 어려우실 겁니다!! 저도 그랬습니다. 
명령어 공부를 왜 해야 하지? 싶을 수 있지만 Bandit은 문제 자체가 해킹과 관련된 여러 가지 주제를 다루고 있기 

때문에 단순히 명령어 공부만은 아니라는 점을 알고 시작하시면 더 좋을 거 같네요 :)


*주의 사항*

워게임을 푸시다 보면 답답한 마음에 다른 사람들이 작성해 둔 Write-up을 찾아보려는 욕구가 올라오실 겁니다.ㅎㅎ
하지만 최대한 write-up은 보지 않으시는 걸 추천합니다. 

bandit을 추천해 드린 이유 중 하나는 주어진 문제를 해결하기 위해 문제를 분석하고 정보를 수집하는 과정에
익숙해질 수 있는 좋은 수단이기 때문인데요. 

1시간 2시간 붙잡고 있었는 데 문제가 안 풀린다고 풀이를 봐버리면 아무런 의미가 없습니다. 
문제를 붙잡고 고민한 1, 2시간이 실질적인 공부 시간이기 때문에 write-up은 정말 정말 모르겠다! 싶을 때 

참고용으로만 보시기 바랍니다. 

 

또한, 문제를 푼다에 초점을 두기보다는 문제를 활용하시기 바랍니다.

이 문제를 왜 만들었을까? 이 문제를 풀기 위해 알아야 하는 개념은 뭐지? 와 같이 단순히 문제 해결만을 

목표로 하는 게 아니라 문제 자체를 분해 해보세요!!



*TIP*

TIP1. 앞서 언급한 write-up이 무엇인지 모르는 분들도 계실 텐데요 

쉽게 말해 문제를 어떻게 풀었는지 정리해 둔 글을 의미합니다. 여러분이 문제를 풀고 나서

내가 이 문제를 어떻게 풀었지? 를 다시 되새겨 보시면 이해가 안 가는 부분을 발견할 수 있을 겁니다. 

그래서 wargame을 푸는 거에 그치지 않고 write-up을 작성하셔서 이 문제가 어떻게, 왜 풀릴 수 있었는 지를

정리해 보시면 더욱 도움이 되실 겁니다. 


TIP2. 위에서는 제가 문제를 해결하기 전에는 최대한 다른 사람의 write-up을 찾아보지 말라고 말씀드렸는데요, 

문제를 풀고 나서는 최대한 찾아보시기를 추천합니다. 

문제를 풀기 전에는 스스로 고민해 보는 시간이 실질적인 공부이기 때문에 write-up을 보지 말라고 한 거지만

문제를 풀고 나서는 얘기가 조금 다릅니다!

수학 문제를 풀 때, 풀이가 여러 개일 수 있듯이 War game도 마냥 정해져 있는 방법으로 풀어야 하는 게 아니기 

때문에 스스로 생각해 보지 못했던 부분을 다른 사람의 write-up을 통해 확인할 수 있을 겁니다.

그래서 저는 문제를 풀고 나서 다른 사람의 write-up을 최대한 많이 읽어보고 직접 그 방법대로 풀어보기도 했답니다.

 


2. 대학교

많은 분들이 대학교에 진학할 때, 학과에 대한 고민을 하시는데 결론부터 말씀드리자면 어느 학과든 상관없습니다.
뭐 IT 계열이면 좋겠죠? 정도랍니다. 

대학교 전공 수업만으로는 어떤 직무로 취업을 하든 그리 실질적인 도움이 되지 않는다는 게 개인적인 견해인데요
그렇다고 대학교가 쓸모없다?? 아닙니다!!

저는 대학교 진학을 목표로 하기보다는 해킹이라는 분야와 친해지기 위한 수단으로 활용하라고 말씀드리고 싶습니다. 


*주의사항*

대학원으로 끌려갈 수 있다..?!
이외에는 대학교를 열심히 활용하는 데에 부작용은 없습니다. :)

 

 

*TIP*

TIP1. 학과마다 사이트에 들어가 보면 어떤 전공 수업이 준비돼 있는지 확인하실 수 있는데요 
전공 수업으로 해킹 마스터한다? 불가능합니다. 

 

다만, 네트워크, DB, 암호화, 웹 해킹, 빅데이터, 웹 개발 & 앱 개발, 인공지능, IOT 등등 

너무나도 해킹과 밀접하고 도움이 되는 분야의 수업들이 편성되어 있을 겁니다. 

최대한 이러한 전공 수업을 수강하는 걸 추천드립니다. 

혼자 네트워크 공부한다? 공부 양도 많고 확실하게 개념을 이해하기까지 시간도 오래 걸리고 어려우실 겁니다. 
어차피 알아야 하는 거 대학교에서 편하게 공부하자고요!!


TIP2. 학과 교수님마다 특화된 본인의 분야가 조금씩 다릅니다. 

자신이 생각하는 분야와 가장 밀접한 교수님께 궁금한 거 이것저것 물어보시면 도움이 많이 되실 겁니다.

4학년 때 졸업 논문/작품 준비하는 과정에서 어차피 담당 교수님을 지정해야 하기 때문에 

희망하시는 분야를 확실하게 말씀드리고 관련된 주제로 졸업 작품까지 준비하신다면 GOOD!

 

(저는 개인적으로 Phishing 공격과 AI 기술을 접목시킨 논문을 작성해 봤는데요

자료조사라든가, 인공지능 등 관련된 다양한 내용들을 찾아보고 공부하다 보니 이런저런 도움이 되더라고요!)


TIP3. 프로젝트가 진행되는 수업을 수강해 보시면 좋습니다. 모의해킹 업무 자체가 프로젝트 단위로

진행되기도 하고 프로젝트를 하는 수업은 대체로 앱 개발, 웹 개발과 같은 과목입니다. 

앞서 제가 개인적으로 웹 개발 공부를 했다고 했는데 모의해킹 업무는 기본이 웹 해킹이기 때문에 
웹 개발을 직접 해 보는 게 엄청 도움이 되실 겁니다.

이왕 하는 거 혼자 하는 거 보단 팀원들이랑 같이 하는 게 수월하잖아요!

전공 수업으로 웹 개발, 앱 개발하고 공격 실습까지 해보시면 엄청난 알짜배기..!!

 


(+) TIP. Burp suite

Burp suite - Academy에는 SQLi, XSS, CSRF, SSRF 등 다양한 주제를 가지고

이론적인 내용부터 실습해 볼 수 있는 LAB까지 제공하고 있습니다. 

 

웹 해킹 공부하고 싶은데 어떤 내용을 공부해야 할지 모르겠어요! 하시는 분들은

해당 사이트에 있는 내용을 기반으로 공부하시면 굉장히 도움이 되실 겁니다.

 

 

*주의사항*
이런 사이트에도 틀린 정보가 적혀 있기도 하고 처음엔 이게 무슨 말인가, 이해도 잘 안 가고 애매한 구석들이 있을 겁니다.

그런 부분들은 Burp Suite 사이트만 보지 마시고 다양한 자료를 찾아보면서 채워나가시기를 추천드립니다. 

 

 

(+) TIP. 블로그 작성

앞서 말씀드린 Wargame, Burp Suite로 공부한 내용을 기록해 봅시다!

저는 개인적으로 Git book을 사용하고 있는데요, 공부한 게 1시간이라면 글 작성하는 데 2~3시간 걸립니다.
적어놨다가 까먹었을 때 다시 찾아봐야지 라는 개념 보다 이 내용을 누군가에게 설명해 준다는 느낌으로 내용을 

정리하게 되면

 

스스로 헷갈렸던 부분도 점검할 수 있고 부족한 부분을 따로 찾아보면서 자신도 모르는 사이에 

많은 것들이 쌓여있는 걸 볼 수 있으실 겁니다!!

그러니 아까워하지 마시고 시간을 충분히 들여 정리하는 걸 추천! 이 시간이 진짜 공부 시간입니다. 


(+) TIP. 업무 관련 프로그램을 활용하라. 

요즘엔 국비 학원, BOB 등 관심 있는 분야를 좀 더 깊이 있게 배울 수 있는 프로그램들이 아주 많습니다!
관심이 있으시다면 자신에게 잘 맞겠다 싶은 프로그램을 찾아서 수강하시는 걸 추천드립니다. 

학업, 일과 병행하기 괜찮을까요?라는 고민을 하실 수 있으신데요. 이건 오로지 의지 문제라는 점..!


*주의사항*
프로그램마다 진행되는 커리큘럼이나 스타일, 시간대, 기간이 다르다 보니 미리 상세 내용을 확실히 찾아보시고 
본인에게 가장 적합하다 생각되는 걸 선택하세요!



"빨리빨리"가 DNA에 새겨져 있는 한국인으로서 많은 분들이 단기간에 목표를 이룰 수 있는 방법을 좋아하시는데요,

해킹이라는 분야는 지금도 넓어지고 있습니다..! 

아직 학생이시라면 필요한 지식을 쌓는 것도 좋지만 여기에 급급하기보다는 
자신이 좋아하는 분야를 계속해서 좋아할 수 있도록 유지하시는 것도 중요하다는 말씀드리고 싶네요.

오늘은 해킹에 관심 있었던 고등학생이 이 분야에 입문하고 기본기를 쌓아온 과정에 대해 공유해 보았습니다. 
제 과거와 비슷한 시기에 놓여있는 분들께 도움이 되었으면 좋겠네요.

 

 

P.S) 저와는 또 다른 스토리가 곧 여러분을 찾아올 겁니다!!

- hanhxx -

COMMENT