안경잡이개발자

728x90
반응형

※ 해킹 방어 대회란? ※


  해킹 방어 대회해킹(Hacking) 실력을 겨루는 대회를 의미합니다. 코드게이트, 데프콘, 시큐인사이드 CTF, 삼성전자 CTF 등 다양한 해킹 방어 대회가 존재하며 다양한 기업 및 기관에서 운영하고 있습니다. 일반적인 해킹 방어 대회 진행 방식은 CTF(Capture The Flag)입니다. 말 그대로 플래그(Flag) 값을 찾으라는 의미를 가지며 대회에 참가할 때는 일반적으로 팀(Team)을 구성하여 참가하는 방식이지만 삼성전자 CTF와 같이 개인전 중심의 CTF도 존재합니다.


  해킹 방어 대회는 기본적으로 특정 시스템에서 존재할 수 있는 취약점을 익스플로잇(Exploit)하거나, 이를 방어(Patch)하거나, 특정 시스템을 직접 타격하지 않고 우회적으로 피해를 입히는 방법에 대해서 물어봅니다. 그렇기 때문에 CTF 대회에서의 다양한 문제들은 특정한 상황이나 시스템에 국한될 수 있습니다. 예를 들어 문제로 PHP 소스코드를 분석해야 하거나, 난데없이 F# 소스코드나 RFID 관련 덤프 데이터가 등장할 수도 있고 솔리디티(Solidity) 등의 블록체인 관련 문제가 출제될 수도 있습니다.


  일반적으로 개발을 공부할 때는 A라는 언어가 별로라고 느껴지면 B라는 언어를 선택해서 개발을 진행할 수도 있고, 시스템 환경도 자신이 원하는 대로 구성할 수 있지만 CTF는 반대로 '한정된' 시스템에 통하는 취약점에 대한 문제를 자주 다룰 수 있기 때문에 CTF에 참여한다는 것은 어찌보면 새로운 시스템 환경에 대한 공부라고 이해할 수 있습니다.


  어떠한 CTF에 출전하든지 간에 매 번 새로운 내용을 공부하게 되고, 그것이 CTF의 매력이 아닐까 생각합니다. :)


  또한 CTF는 알고리즘 분야보다 더 진입장벽이 높은 대회 유형입니다. 처음 공부를 시작해서 어떤 해킹 방어 대회에 '본선'이라도 나가는 것은 매우 어렵습니다. 특히 대부분의 CTF 대회는 내/외국인의 구분이 없으며 나이 제한도 없기 때문에 기존의 고수 분들과 경쟁을 해야 합니다. 반면에 알고리즘 대회는 대학(원)생 한정 대회가 많아서 그나마 진입장벽이 낮습니다.


[ 해킹 방어 대회 종류 ]


  해킹 방어 대회로 가장 유명한 몇 가지만 소개하고자 합니다. 일반적으로 해킹 방어 대회는 보안 컨퍼런스(Conference)와 함께 진행되는 경우가 많습니다. 공부하는 학생으로서 매 대회마다 정말 많은 것을 배울 수 있습니다.


- 코드게이트(Codegate): 과학기술정보통신부 주관하는 해킹 방어 대회입니다.


- HdCon: 일명 흐드콘이라고 불리는 해킹 방어 대회로 KISA에서 주관하는 대회입니다.


- SECUINSIDE: 고려대학교 정보보호대학원 주관의 해킹 방어 대회입니다.


- WITHCON: 화이트햇 콘테스트라고 불리는 대회로 국방부가 주관하는 해킹 방어 대회입니다.


- DEFCON: 데프콘이라고 불리우는 대표적인 해킹 방어 국제 대회입니다. 라스 베거스에서 진행되며 세계 규모 중에서 가장 유명한 해킹 방어 대회 중 하나입니다.


- SCTF: 삼성전자가 주관하는 해킹 방어 대회로 거의 유일하게 개인전으로 운영되고 있습니다. 또한 단순 공격 위주의 문제가 아니라 방어 및 코딩(Coding)을 활용한 문제가 출제됩니다.


※ 해킹 방어 대회를 준비하는 방법 ※


  해킹 방어 대회 준비를 위해서는 기초적인 프로그래밍 능력을 갖추시는 것이 중요합니다. C, Java, Python 및 웹(Web)에 대한 공부를 하시는 것이 좋습니다. 특히 간단히 게시판 정도는 만들 정도까지 웹에 대해 공부하시고, C에 대해 공부하실 때에도 단순히 프로그래밍만 공부하시지 말고 보안과 관련한 내용을 편식하지 말고 먹는 것이 좋습니다.


  기본적인 프로그래밍 능력이 갖추어지셨다면 다양한 워게임(Wargame) 사이트에서 CTF 문제를 풀어보시는 것이 좋습니다. 프로그래밍 공부를 하다가 지겨울 때는 잠깐 CTF 문제를 풀러 왔다가 다시 프로그래밍 공부를 하러 가는 방식으로 서로 균형적으로 공부해나가시는 것도 좋은 방법입니다. 무엇보다 꾸준히 문제를 풀어보는게 정말 좋은 습관인 것 같습니다.


[ 다양한 문제풀이 사이트 ]


1. wechall.net: 세계적으로 다양한 해킹 실습환경을 모두 모아둔 웹 사이트입니다.


2. webhacking.kr: PHP 기반의 웹 해킹에 대한 내용을 중심으로 다루고 있는 웹 사이트입니다. 기초적인 웹 해킹 기술부터 네트워크 관련 지식까지 문제를 풀면서 얻을 수 있습니다.


3. pwnable.kr: 시스템 해킹(System Hacking)에 관한 내용을 중점적으로 다루는 웹 사이트입니다. 실제 최근 CTF에서 출제되는 문제들과 흡사한 부분이 많으며 문제의 퀄리티가 높다는 특징이 있습니다.


4. suninatas.com: 웹 해킹, 시스템 해킹 등 다양한 분야를 다루면서도 난이도를 쉽게 구성하여 초보자가 입문하기에 적합한 해킹 공부 사이트입니다.


5. pythonchallenge.com: 해킹 문제는 파이썬(Python)으로 풀게 되는 경우가 많아 파이썬 문법을 빠르게 익히기에 좋고, 문제를 풀어가며 재미있게 공부할 수 있는 웹 사이트입니다.


※ 기타 대외 활동 ※


1. 차세대 보안리더 양성 프로그램(Best of the Best): 과학기술정보통신부 주관으로 정부에서 주관하는 보안 인력 양성 프로젝트입니다. 매 년 100명 가량의 연수생을 뽑아서 교육시키며 150만 원 가량의 노트북을 지원해주고 매 달 수십만 원의 학습 지원금도 주는 좋은 교육 프로그램입니다. 저도 2017년에 BoB에서 많은 것을 배웠습니다.


2. 해킹 팀(Hacking Team) 구성하기: 본격적으로 해킹에 대해 공부하고 싶으시다면 기초적인 프로그래밍 언어 공부를 먼저 해보시고, 다양한 CTF 문제를 풀어보면서 실력을 키워나가신 뒤에 해킹 팀에 구성원으로 들어가거나 친구끼리 스터디를 구성하는 것을 추천합니다. 컴퓨터는 분야를 막론하고 선의의 경쟁자가 많을수록 실력 향상에 도움이 됩니다.

728x90
반응형