최근 수정 시각 : 2024-12-08 20:16:26

해커

화이트해커에서 넘어옴

파일:나무위키+유도.png  
은(는) 여기로 연결됩니다.
범죄 및 악의적인 목적으로 해킹을 다루는 사람 및 행위에 대한 내용은 크래킹 문서
번 문단을
부분을
, 등록명이 '해커'인 전 NC 다이노스의 투수에 대한 내용은 에릭 해커 문서
번 문단을
번 문단을
부분을
부분을
, 영어 학원/영어 교재 발간업체에 대한 내용은 해커스 문서
번 문단을
번 문단을
부분을
부분을
, 에 대한 내용은 문서
번 문단을
번 문단을
부분을
부분을
, 에 대한 내용은 문서
번 문단을
번 문단을
부분을
부분을
, 에 대한 내용은 문서
번 문단을
번 문단을
부분을
부분을
, 에 대한 내용은 문서
번 문단을
번 문단을
부분을
부분을
, 에 대한 내용은 문서
번 문단을
번 문단을
부분을
부분을
, 에 대한 내용은 문서
번 문단을
번 문단을
부분을
부분을
, 에 대한 내용은 문서
번 문단을
번 문단을
부분을
부분을
참고하십시오.
언어별 명칭
<colbgcolor=#dcdcdc,#222222>한국어 해커
에스페란토 Kodumulo(코두물로)
영어 Hacker, Cracker
아이슬란드어 Tölvuþrjótur(퇼부쓰리요튀르), Tölvurefur(퇼부레퓌르)
중국어 黑客(헤이커, 흑객)[1] 또는 骇客(하이커, 해객)

1. 개요2. 어원3. 현실의 해커
3.1. 프리랜서, 취업
4. 해커가 되고 싶다면
4.1. 웹 해킹
5. 유명한 해커6. 유명한 해커 집단7. 각종 작품의 해커 캐릭터들8. 관련 문서

[clearfix]

1. 개요

컴퓨터 내의 시스템이나 프로그래밍에 관해 전문적인 지식을 가진 사람이라는 의미. 해커가 하는 일은 해킹이라고 부른다. 보통 '해커'라고 하면 악의적으로 정보를 탈취하거나 컴퓨터 시스템을 파괴하는 사람을 떠올리는데 이러한 나쁜 해커는 특별히 크래커라고 부르며, 해커는 좀 더 포괄적인 의미로 쓰인다. 어떻게 보면 양자 모두를 아우른다는 점에서 '컴퓨터 전문가' 쪽에 더 가깝다고 할 수 있다. 해커 중 일부는 컴퓨터 과학자, 소프트웨어 개발자로 분류되기도 한다.

스티븐 레비의 '해커스: 세상을 바꾼 컴퓨터 천재들'에서는 초기의 MIT 해커들을 1세대, 홈브루 컴퓨터 클럽(자작 컴퓨터 모임)의 해커들을 2세대(참고로 스티브 워즈니악이 이쪽이라고 한다.), 그리고 초창기 PC 게임 제작자들(시에라, 브로더번드)을 3세대로 분류하였다.

예전에는 해커와 같이 보안에 능한 사람이 많지 않아 실력 있는 블랙 해커를 특례로 입사시키는 경우가 종종 있었다. 2001년까지는 가능했다. 국내 해커 1호로 불리는 김재열 씨는 1993년 3월 고졸 학력으로 금융 기관을 해킹한 뒤 집행유예로 풀려났는데 그를 채용하기 위해 국내 10대 그룹 중 7~8개가 경쟁을 벌였다. 그는 대우그룹에 입사한 뒤 다른 고졸보다 5년 반이나 빨리 특진했고, 2014년에는 44세의 나이에 KB금융지주 전무까지 승진했다.[2] 한편, 아이러브스쿨이라는 웹사이트를 해킹해 징역을 살았던 중졸 해커는 출소 후 2001년 보안업체에 특별 채용 되었다. 하지만 하술되는 이유로 이제 아무리 뛰어난 블랙 해커라도 특채로 채용하는 일은 거의 없어졌다.

2. 어원

파일:MIT 로고 가로형.svg
{{{#!wiki style="margin: 0 -10px -5px; min-height: 26px"
{{{#!folding [ 펼치기 · 접기 ]
{{{#!wiki style="margin: -6px -1px -11px"
HACK
(해커)
케임브리지 자본 논쟁 출신 인물 MIT 경찰대
MIT 테크놀로지 리뷰 MIT 허가서 edX 스크래치
}}}}}}}}} ||
최초의 해커들은 컴퓨터 관련 사람들이 아니라 매사추세츠 공과대학교(MIT)의 철도 동호회(TMRC)였다고 한다.[3]

대체로 그 시작은 초기 해커 집단의 우두머리인 피터 샘슨을 중심으로 한 MIT테크 모델 철도 클럽중 한 분파인 신호기와 동력 분과 위원회로 보고 있다. 테크 모델 철도 클럽은 미국 전체를 효율적으로 아우르는 철도 운송망 설계를 목표로 하는 스터디 그룹이었고, 신호기와 동력 분과 위원회는 말 그대로 신호기와 철도 컨트롤 등을 통제하는 구성 장치에 집중하는 부분 그룹이었다. 쉽게 말해 미국의 아무 곳에서나 특정 지점에서 특정 지점으로 화물을 열차로 운송할 때 신호기와 동력 분배를 어떻게 하는 게 가장 시간과 연료를 아낄 수 있는지를 설계하는 것. 때문에 이들은 보다 효율적인 동력 배치를 위한 복잡한 계산이 필요했고, 이를 도와줄 최대 원군은 당시 MIT에서 들여놓은 컴퓨터인 IBM704였다. 그런데 당시는 1959년.... 컴퓨터의 크기는 대학 강의실만 하고, 한번 가동되면 열을 식혀야 하는 등 여전히 장기간 쉬어줘야 하는 시절이었다. MIT 역시 큰돈을 들여 유지하는 컴퓨터를 일개 학생들이 사용하는 것을 막고자 했고, 이런 통제를 피해 컴퓨터실에 잠입하여 학교에서 막아놓은 시동 장애를 뚫고, 우회로를 통해 컴퓨터를 가동시키고, 조작하던 것이 결국 나중에는 사상으로 발전하여 해커 강령까지 내걸으며 해커로서 탄생하게 된다.

해커라는 말도 MIT에서 기원했다. 핵(hack)은 MIT의 여러 은어들 중 결과는 상관없이 과정 그 자체를 즐기기 위한 프로젝트나 정교한 계획을 뜻하는 의미다. 결과적으로 처음에는 철도 시스템 계산을 위해 연구했지만 시간이 지나다 보니 그냥 컴퓨터를 몰래 쓰는 게 재미있어서 재미로 해킹을 하게 되었다는 것이 된다.

3. 현실의 해커

보통 해커하면 떠오르는 건 안경 쓰고 허리 구부러진 천재 한 명이 여러 개의 모니터가 가득한 어두운 방에 앉아 키보드 하나로 컴퓨터의 모든 것, 규모가 커지면 세계까지 좌지우지한다는 이미지를 연상한다. 창작물에서는 이 고정 관념에서 벗어나 해킹도 잘하고 싸움도 잘하는 해커도 등장한다. (예: 루트, 에이든 피어스, 티본 그래디 등) 이러한 이미지 때문에 해커를 무서운 사람으로 보는 공포심이나 부러운 눈길로 보는 동경심이 양분되어 있다. 하지만 이 모든 건 환상일 뿐, 해커들을 200% 미화시키는 마법의 CLI 환경으로 해킹 작업을 하건, 인터넷에 굴러다니는 간단한 원클릭 GUI 해킹 툴만으로 해킹을 하던 그 행위를 하는 사람은 통틀어서 해커라고 불린다.

일반인들은 불법 복제를 위한 크래킹을 실생활 속에서 자주 하고 있으므로 해킹은 낯선 행위가 아니다. 일부 컴맹들 또한 자신들이 해킹을 하고 있다는 것을 인지하지 못할 뿐, 해킹을 하고 있다. 키젠을 사용하여 시리얼 코드 인증을 뚫거나, 크랙을 깔아서 상용 프로그램의 락을 크래킹하는 식이다. 해당 크래커(?) 입장에서는 그저 클릭 몇 번에 불과하지만 설명서를 보고 해킹을 한 사실은 변함이 없다. 물론 KMS 툴을 이용해 윈도우를 불법 사용 하는 정도의 방법만 아는 툴키디다.

하지만 대개의 경우 '해커'라고 구분해서 부를 때는 결국 컴퓨터 보안 전문가들을 가리키는 말이다. 그들의 이미지는 우리가 생각하는 것과는 좀 다르다. 컴덕질의 연장선으로 심심풀이로 해킹을 하는 사람부터, 보안 취약점을 가르쳐주는 정보 보안 전문가, 범죄 행위를 저지르는 크래커들까지 해커의 종류는 무궁무진하다.

상대적으로 일반적인 해킹은 변조, 예외, 허점을 노리지만 상대적으로 어려운 해킹은 수학, 암호학 물론 전자 공학까지도 다루어 보안 기능과 코루틴이나 어쨌든 무결성을 깬다. 무결성은 보통 상태의 온전함을 나타내는 데 많이 쓰지만 본래는 결점 여부로 오류뿐만 아니라 추측과 노출 가능성까지 포함한 개념이다.

해커란 단어 자체도 명확한 의미로 통일되지 않다 보니 해커의 구분법에도 차이가 있다. 에릭 S. 레이먼드 같은 경우는 해커를 무언가 난해한 문제를 풀고 그로부터 새로운 것을 만드는 사람으로 정의해서, 굳이 컴퓨터뿐 아니라 수학이나 예술 같은 분야에서도 높은 경지로 가면 해커는 많다고 하였다. 그에 따르면 크래커는 사실 해커가 아니고 미디어 쪽에서는 관심을 끌기 위해 크래커를 해커에 대응시키고 있지만, 크래커는 오히려 해커의 반대쪽에 위치한 무엇이다. 무언가 난잡해 보이는 정의지만,
Hackers build things, crackers break them.
해커는 만들고, 크래커는 그것을 부순다.

이라는 한마디로 요약 가능하다.

초창기엔 보안 전문가도 해커의 일종이었다. 하지만 해커라는 단어가 이미 너무 부정적으로 널리 퍼지고, 진짜 나쁜 해커인 '크래커'라는 단어가 별로 대중화되지 않았다. 요즘은 보안업계에 종사하는 해커를 화이트 해커, 크래커 노릇을 하는 나쁜 해커들을 블랙 해커라고 표현하는 것이 늘었다.

네트워크를 불법적으로 해킹한 후, 약점 부분을 회사에 신고하는 네트워크 보안의 레드 셀 역할을 자처하는 그레이 해커도 있다. 그러나 국내에서는 정보통신망법 위반이라 공익 목적으로 접근한 것이든 심심해서 접근한 것이든 나쁜 짓 목적이든 간에 싸그리 다 불법이라 다 처벌 대상이다. 그리고 국내 회사에서는 신고해 봤자 포상금을 지급하지도 않는다. 따라서 이런 방식으로 수입을 올리고 싶다면 반드시 해외 기업을 대상으로 해야 한다.

해커들 사이에서는 '화이트 해커', '블랙 해커'라고 부르는 것을 탐탁지 않아 한다거나, 해커들을 '화이트 해커', '블랙 해커' 라고 부르는 타인을 컴알못으로 취급한다는 얘기도 있지만 보안 전문가들은 대부분 그러려니 한다. 주위에 본인의 업무를 잘 이해하지 못하거나 마냥 대단히 허황되게 보는 사람들이 상당히 많아 시달리다 보니, 무슨 단어로 부르건 주변인들이 자기가 무슨 일을 하는지 대충이라도 파악을 해주는 것으로도 감사할 지경이다(...). 이런 단어가 유명해지다 보니 보안업계 지망자들이 자기소개를 화이트 해커라고 하는 경우가 늘었기 때문이기도 하다.

3.1. 프리랜서, 취업

과거에는 범죄를 저지른 블랙 해커를 IT 기업에서 고액의 연봉까지 제시하면서 채용하는 일도 있었지만, 이런 자들이 사실은 기업에 그다지 이익이 되지는 못하거나, 오히려 다시 재범을 저질러 피해를 준다는 사실이 드러나면서 블랙 해커에 대한 채용은 점차 줄어들기 시작한다. 실력과 인성은 비례하는 것이 아니기 때문에, 아무리 실력이 좋아봤자 타인보다 낮은 도덕적 기준을 가진 인간이면 사회생활까지 잘한다는 보장이 없다. 기업의 입장에서도 '천재지만 언제 사고 칠지 모르는 시한폭탄'보다 '평범한 직원이지만 법을 준수하면서 일하는 사람'이 낫다. 전직 해커를 고용했을 때 기업이 얻을 수 있는 실익에 대해 정리한 에세이.

요즘은 어느 정도 규모가 있는 기업은 대부분 정보 보호 조직을 두고 있다. 또한, 모의 해킹/컨설팅업체에 취업하기도 한다.

실력자 중에선 자신이 재미있게 일할 만한 회사가 없다고 판단하면 국내외를 막론하고 아예 취업은 생각도 하지 않고 버그 바운티로 프리랜서성 일을 하는 경우가 많다. 개인의 천재성이 뒷받침해 줄 경우 이정훈처럼 대회 상금만으로 연 2억 원 이상의 수입을 올릴 수 있다.

하지만 국내 기업에서 제안하는 버그 바운티의 상금은 많이 잡아봤자 해외의 10% 정도밖에 되지 않는다.

보안 전문가를 다수 채용해 모의 해킹을 맡기는 기관으로는 금융보안원이 대표적으로 알려져 있다.

4. 해커가 되고 싶다면

소위 스크립트 키디라 불리는 초보들은 인터넷에서 구한 해킹 툴을 이용해 툴에서 제공되는 기능을 이용한다. 그 과정에서 같은 키디들이 올린 유튜브 동영상을 위주로 공부하기도 한다. 그리고 실제로 보안 지원이 끊긴 윈도우 서버 2003, 윈도우 XP 등은 간단한 해킹 툴만으로도 쉽게 공격할 수 있다. 여기서 조금 더 나아가서 칼리 리눅스를 설치해 그 안에 담긴 몇백 종류의 해킹 툴을 이용한다. 또 비주얼 베이직을 배워서 해킹툴의 소스 코드를 다운받아서 이름이나 그래픽을 고치기도 한다.

물론 이런 활동이 해킹 학습에 무의미한 건 아니다. 칼리 리눅스도 리눅스이기 때문에 리눅스 및 Bash 배우기에도 좋고, 비주얼 베이직도 프로그래밍 언어이기 때문에 코딩 기초 배우기에 좋다. 그리고 전문적인 해커들 역시 정보 수집 등 간단한 목적을 위해서는 칼리 리눅스 등에 담긴 배포된 해킹 툴을 사용한다. 다른 사람들이 이미 만들어놓은 툴을 쓰면 되는데 굳이 '바퀴를 재발명'하듯 자기가 똑같은 것을 만들 필요가 없기 때문이다. 그리고 스크립트 키디가 다룰 수 있는 '백도어 배포를 위한 가짜 앱' 정도의 조잡한 해킹 기술만 있더라도 외국 범죄 조직과의 공조가 있으면 안 잡히면서 몸캠, 보이스피싱, 랜섬웨어[4] 등의 수법으로 피해자에게 돈을 갈취하는 게 가능하다. 그렇다 보니 일반인 대상 위험성이 없는 것도 아니다.

하지만 여기에서 컴퓨터 과학 학습을 그만둔 뒤 기존 해킹 툴 사용만 단순 반복한다면 실력 발전에 한계가 있다. 해커들 사이에서 해커냐 툴 키디냐를 구분하는 기준은 일반인을 괴롭힐 수 있냐가 아니라 (1) 전문적인 보안 관리자가 미처 대비하지 못한 취약점을 찾아낼 수 있는가? (2) 기존 해킹 툴로 그 취약점을 공격할 수 없을 때 새로운 도구를 만들 수 있는가? 두 가지다. 특히 그 취약점이 특정 공격 대상에만 적용되는 것이 아니라 전 세계 수많은 컴퓨터에 적용되는 것이라면 제로 데이 공격이라 해서 엄청난 경제적 가치를 갖게 된다. 툴 키디들의 해킹툴 사용법 익히기 + 칼리 리눅스 + 비주얼 베이직으로는 저런 일을 해낼 수 없다. 따라서 이 '툴 키디'들은 정보 보안에 관심이 없어 보안 소프트웨어를 전혀 깔지 않은 일반인만 공격할 수 있다. 왜냐하면 보안업체에서는 어차피 주요 해킹 툴에서 사용하는 취약점을 파악하고 있으며 이에 대한 보호를 제공하고 있기 때문이다. 따라서 해커가 되고 싶다면 해킹 툴은 잠시 닫아두고 기초를 충실히 해야 한다.

이산 수학, 자료 구조, 알고리즘, 프로그래밍 언어론, 운영 체제, 네트워크, 데이터베이스, 컴퓨터 구조, 컴파일러컴퓨터공학과의 상당수 교육 과정을 이해해야 정보 보안에 대한 공부를 이해할 수 있는 기초 지식을 쌓게 된다.[5] 컴공만 나온다고 해커가 되는 것이 아니듯 위 기초 지식을 확보한 후 정보 보안에 대한 지속적인 공부를 해야 한다. 따라서 해커는 그냥 단기간에 만들어지는 것이 아니다. 일반적으로 5년 이상, 빨라도 3년 이상 걸릴 수 있다. 컴공과 3학년 수준의 실력을 갖출 때까지 해킹 분야에 대한 기본적인 지식을 넓게 배운 뒤 관심 있는 분야 하나만 뚫고 들어가는 T 자 학습이 효과적이다.[6]

위 모든 과정에서 가장 기초가 되는 것은 프로그래밍이다. 특정 프로그램을 해킹하기 위해서는 그 프로그램의 취약점을 공략해야 하는데, 아직 세상에 알려지지 않은 취약점이라면 인터넷에 떠도는 해킹 툴로는 해킹할 수 없고 자신이 직접 해킹 툴을 만들어야 한다[7]. 따라서 프로그래밍이 필요하다. 거기다 프로그래밍을 배워야 프로그램이 어떻게 돌아가는지 이해할 수 있다.

가장 먼저 갖춰야 할 프로그래밍 언어의 기본기는 C언어와 객체 지향 프로그래밍 언어 중 하나 (C++, JAVA, Python)[8] 및 Bash이다. 나머지[9]도 언젠가는 배워야 하지만 전문 분야에 따라 다르다.
  • 1. C언어: 시스템에서 가장 접근하기 쉬운 언어이기도 하고 해킹에서 가장 중요한 메모리값을 조종할 수 있는 언어. 아예 윈도우 운영 체제의 대부분은 C언어로 이루어져 있다. 해킹을 넘어, 컴퓨터 보안의 기초 언어이기 때문에 무조건 필수적으로 알아야 한다.[10]
  • 2. Python 또는 Ruby: 나열된 언어들 중 가장 접근하기 쉬운 단순한 언어. 한 언어를 할 줄 아는 사람이 다른 언어를 배우는 것은 1주일이면 가능한 반면, 아무 언어도 모르는 사람이 어려운 언어부터 배우려고 하면 매우 힘들어하다가 포기하게 되거나 엉터리 수준에 머물게 되는 경우가 있기 때문이다.[11][12] 코드도 단순하다. 하지만 단순하다고 해서 쓸모가 없는 것이 아니다. 다양한 작업을 할 수 있고 고급 스크립팅 언어이기도 하는 등 무궁무진하게 쓸모가 많다.
  • 3. Bash: 유닉스와 리눅스 시스템을 조종할 수 있는 명령어이기 때문에 필수로 배워야 한다. 리눅스를 쓰면서 필요할 때마다 배우면 빨리 배울 수 있다.

프로그래밍에 대한 기본적인 지식을 쌓았다면 이산 수학에서 나오는 자료 구조, 알고리즘을 통해 프로그래밍 실력을 키울 필요가 있다. 이것을 못 하는 사람은 코더에 불과하여 자기 힘으로 코드를 짤 수 없고 다른 사람이 짠 코드를 베끼는 것에 머무르게 된다.[13]

최소한 Unix-like라고 불리는, 유닉스, 리눅스, BSD, 맥과 같은 운영 체제를 사용하는 것이 좋다. 이 중에서는 무료이고 가장 많은 서버와 임베디드 기기의 운영 체제로 사용되고 있고 가장 넓은 유저 폭과 커뮤니티를 갖추었다는 점에서 리눅스가 좋다.[14] 잘 모르는 것이나 안 되는 것이 있으면 쉽게 검색해서 해결할 수 있기 때문이다. 그중에서도 칼리 리눅스는 여러 해킹툴을 담고 있어 해킹에 편리하다.[15]

리얼 머신으로 리눅스를 이용해 본인 소유의 홈 서버를 구축하면 구축 과정에서 네트워크를 배우기에도 좋고 네트워크 해킹을 위한 실습용으로도 좋다. 타인의 시스템을 해킹할 때는 법적으로 상대방의 명시적인 허락을 얻어야 한다. 툴 키디들이 감옥 신세를 지는 이유 중 하나가 실력이 3~5년 성숙하지도 않았는데 어설프게 남의 시스템을 해킹하려 하는 것이다. 특히 미성숙한 해커 지망생이 은행이나 대기업 등 방비가 잘되어 있는 곳에 군침을 흘린다면 빠르게 감옥 간다. 따라서 자기 소유의 시스템만 해킹한다면 합법적으로 학습할 수 있다. 갤럭시 S4급 중고폰, 펜티엄 4급 똥컴 등 성능이 낮은 기기라도 구축이 가능하기 때문에 비용이 거의 들지 않는다.

다음으로는 네트워크를 배운다. 해킹은 네트워크상에서 가장 많이 이루어지기 때문이다. 네트워크를 배워야 어떻게 해야 서버에 접근을 할 수 있는지, 통신망을 어떻게 감청할 것인지 알 수 있다. 시스템 해킹이 목적일 경우 네트워크는 기초만 알면 되지만 어쨌든 알기는 알아야 한다. 시스템 해킹 목적이라도 네트워크의 개념, 각 패킷의 형태, OSI 모형, 라우터와 스위치 정도는 알아야 한다.[16]

이 수준의 기본기가 갖추어졌다면 컴퓨터공학과 2~3학년 수준에 도달하게 되어 해킹 기법을 배울 기초를 갖추게 된다. 이때부터는 네트워크 해킹, 웹 해킹, 시스템 해킹으로 나누어 자신이 원하는 쪽을 깊게 공부하게 된다.
셋 다 전문가가 되기는 힘들다. 2000년대까지만 해도 한 사람이 해킹에 전반적으로 능통한 게 가능했다. 그러나 2010년대 중순에 이르러서는 수준 높은 기법들이 자주 발표되고 있기 때문에 'IoT 해킹, 미티게이션' 등 아주 세세한 분야 하나만 최신 트렌드를 따라가는 것도 어렵게 되었다. 그래서 선택과 집중이 중요하다.

일반인들이 생각하는 해커가 되고 싶다면 시중의 정보 보안 학원은 다니지 않는 것을 권한다. 프로그래밍을 배운답시고 주입식 교육으로 빠르게 배우는 데다가 해킹 기법도 수박 겉 핥기로 배운다. 과장된 광고를 내며 떠들어 대는 학원은 코딩 교육의 열풍과 정보 보안 전문가 만능주의를 이용해서 돈을 뜯어내려 하는 잡학원일 뿐이다.[17] 다니더라도 학원의 수준을 충분히 고려해 보고 다니자.[18]

정보보안기사 같은 자격증이 있지만, 실제로는 해커의 실력 증명은 해킹 방어 대회, 모의 해킹 대회 등으로 한다. 외국에 경우 OSCP(Offensive Security Certified Professional)라는 자격증이 대우를 받는데 한국에는 잘 알려지지 않았다. 이 자격증은 24시간 동안 실제로 5개의 취약 VM을 해킹, 루트 권한을 얻어야 하며 리포트도 써 제출해야 하는 해킹 입문자에게는 아주 어려운 시험이다.[19]

여담으로 언제나 예의를 지킬 줄을 알아야 한다. 유튜브에서 해킹 관련 영상 밑의 댓글을 보면 항상 "나 해킹 할 줄 알음 ㅇㅇ"이라는 댓글을 달거나 그 밑에 "그래서 님 C언어 아심?" "에휴 초딩 ㅉㅉ printf("Hello, World\\n"); 알음?"익숙하다[20].과 같은 댓글들을 쉽게 볼 수 있다. 해커는 항상 자기가 할 수 있는 것과 못 하는 것을 구분할 줄 알아야 한다.[21]

그 밖에 다양한 플랫폼에서 화이트 해커, 화이트햇 해커가 되는 방법들이 있다

4.1. 웹 해킹

그 특성상 HTML, JavaScript, PHP, SQL에 대한 이해가 필수적이다. 크게 Client Side 취약점, Server side 취약점 정도로 나눠 볼 수 있다. Client Side 취약점은 XSS, CERF, CSRF 등을 들 수 있다. Server side 취약점은 PHP 파일 업로드 공격, Remote Shell 획득, Strcmp 함수 취약점, Remote include 파일 공격, SQL injection 등이 있다.

5. 유명한 해커

6. 유명한 해커 집단

본 문단은 '국내 유명 해킹 그룹'이니 해킹 대회 입상 경력 다수 혹은 보안 인재 배출 다수만 기재할 것.

7. 각종 작품의 해커 캐릭터들


WatchMojo에서 선정한 영화 속 해커 TOP 10

창작물에서 한 나라의 정부는 우습게 뒤흔들 정도의 크래커가 대부분이다. 덕분에 크래커가 손대기 힘든 영역에서 사회를 농락하는 거물임을 강조한다. 물론 이에 대응하는 화이트 해커의 경우도 있으며, 이 경우에는 높은 확률로 선역이거나 주인공이다.

8. 관련 문서



[1] 해커와 발음이 비슷한 동시에, 한자 뜻을 풀이하면 '검은 손님'이라는 뜻이다. 검은색을 뜻하는 黑은 중국어에서 부정적인 의미로 종종 쓰이는데, 해커 중에서 몰래 시스템에 침투하고 악의적인 행위를 하는 크래커의 이미지를 담은 의역이라고 볼 수 있다. 크래커를 '블랙 해커'(Black Hacker)라고도 부른다는 점을 생각하면 더욱 묘하다. 중국어에는 이처럼 외국 말이나 상표를 들여올 때 발음을 비슷하게 하되 한자 뜻도 말이 되게끔 만드는 경우가 종종 있다.[2] 그러나 그 후 뇌물로 인해 징역 받고 잘렸다(...). 으이구...[3] 엄밀히 말하자면 스터디 그룹이다.[4] 보통 기존 랜섬웨어를 가져다가 스크립트 키디가 다룰 수 있을 법한 영역만 조금 개조해서 사용한다.[5] 특히 프로그래밍 언어, 운영 체제, 자료 구조, 알고리즘 등의 이론들은 필수적으로 알아야만 한다.[6] 반대로 말하면 꼭 컴공을 나와야 해커가 될 수 있는 것은 아니다. 학력이 아닌 실력으로 겨루는 분야인 만큼 학력과 해킹 실력은 별개의 문제이다.[7] 2015년 기준, 제로 데이 공격을 하기 위해 PoC에서 exploit kit을 제작할 때 최소 1~2일이 걸리는 것으로 알려져 있다. 즉 실력 있는 해커는 이 기간 만에 새로운 해킹 툴을 제작하는 게 가능하다(실력 있는 해커라 해도 몇 시간 만에 제작하기는 어렵다).[8] 특히 C를 할 줄 안다 하더라도, C++은 다룰 수 있으면 편한 경우가 많다.[9] 시스템 해킹의 경우 어셈블리어, 웹 해킹의 경우 Javascript, PHP 등[10] 최근 프로그래밍 언어를 처음 배울 때 파이썬이 C언어보다 더 쉽고 요즘 파이썬으로 시작하는 경우가 많아지면서 C언어가 입문자들에게 서서히 외면받고 있는 추세이다. 하지만 아직까지 윈도우 대부분의 OS와 툴은 C언어로 작성되어 있고 대부분 정적 언어들의 기초이기 때문에 기본적으로 알아야 하는 언어이다.[11] 다만 이러한 언어들을 먼저 배울 경우, 나중에 다른 언어를 배울 때 고생할 수 있다. 프로그래밍 언어 학습 입문을 파이썬이 아닌 C언어로 시작하는 이유이기도 하다.[12] 이는 언어들의 특성들 때문에 나타나는데, C언어나 C++을 먼저 배운 사람은 파이썬과 같은 동적 언어를 배우는 데에 큰 어려움을 느끼지 않는다. 하지만 파이썬을 먼저 배운 사람이 C, C++등의 정적 언어를 학습하게 된다면 그 난이도는 확연히 올라가게 된다. 코드가 돌아가도록 하는 접근 방식이 다르기 때문.[13] 자료 구조나 알고리즘을 아예 모른다면, 해커는커녕 프로그래머라고 할 수도 없다.[14] 프로그래밍 언어를 어느 정도 학습했다면, 보통 윈도우 운영 체제와 함께 많이 배우는 것이 바로 리눅스이다.[15] 다만 전술했듯이, 무조건 칼리 리눅스에만 의존해선 안 된다.[16] 생각보다 배워야 할 것이 많고 어려운 개념들이 많아 힘들게 보일 수 있지만, 원래 어려운 내용들이다(...). 무조건 한 번에 이해하려 하지 말고 여러 번 배우고 반복한다는 마음가짐을 갖는 게 좋다.[17] 학원 시설을 내세우는 경우가 많다. 특히 프로그래밍 학원에서 학생들과 학부모들을 유혹하기 위해 이해하기 어려운 프로그래밍 내용들보다는 입시 얘기를 하는 경우도 있다. 프로그래밍과 학력은 별개의 문제이다.[18] 사실 큰 조언을 하기가 힘든 게, 정말 우리나라 대다수의 코딩 학원들은 프로그래밍의 개념들, 돌아가는 원리들을 배운다기보다 주입식 교육을 통해 가르치는 방식으로 가르치는 경우가 많다. 물론 정말 좋은 학원들도 있겠지만 미리 내용들을 배운 상태로 가는 게 아니라면 정말 구별하기 힘들다. 인프런이라는 인강 위주 사이트도 있으니 병행해 가며 공부하는 것이 좋다.[19] 국내에 잘 알려지지 않았지만, 난이도가 어려운 만큼 인정받는 자격증이기도 하다. 실제 시스템 5개를 해킹해야 하는, 순수히 100% 실무 시험이다.[20] 프로그래밍을 배운 사람이라면 알겠지만, 프로그래밍을 배울 때 가장 먼저 배우는 Hello World를 출력하는 명령어이다.근데 그것만 가지고는 안 된다.[21] 근데 사실 여기서 이러는 애들은 진짜 해커가 아닌 코딩 조금 배워가지고 아는 척하는 잼민이일 가능성이 높다. 대다수의 진짜 해커들은 나이가 어느 정도 있는 경우가 많아 넷상에서 저러지 않는다.[22] 하지만 해커 집단으로 보기엔 애매하다. 항목 참고[23] 굳이 요약해 설명하자면 즉흥적으로 프로젝트를 짜서 만나 프로젝트가 성공되거나 무산되면 흩어지고 다시 만나고를 반복하는 점조직이다. 이런 이유는 유래가 트롤링 문화에서 발전된 거기 때문이다.[24] aespa 세계관 속 능력이 해커다.[25] 주로 해당 인물들의 위치 정보를 해킹하거나 범죄 계획을 세우는 데 필요한 정보를 스캔하는 등 지력이 매우 뛰어나며, 심지어 온라인에서는 경찰들의 지명 수배를 푸는 등 엄청난 실력을 가지고 있다.[26] 페이지 해리스, 크리스티안 펠츠, 리키 루켄스, 요한 블레어, 에비 슈왈츠먼. 이 중 요한과 에비를 제외하면 스토리 모드에서도 해커로 나온다.[27] 연락책 임무부터 습격까지 해킹을 직접 하는 모습이 잊을만하면 나온다. 아예 카지노 습격 준비할 때 아케이드에서 '문 보안 장치'를 구입해 해킹을 연습하는 것도 가능하다.[28] 프로그래밍이 취미이지만 특기는 아닌 자기 친구에게 자기가 만든 바이러스를 보냈는데, 그 바이러스의 효과가 실행자와 그 주변인에게 악운을 갖다주는 것. 그런데 그 친구가 자기 골려먹으려고 만든 가짜인 줄 알고 그걸 실행시켜서 솔럭스와 그의 친구들의 보호자에 해당하는 기형물들이 죽게 되었다.[29] 해커인지 아닌지는 작중에서 드러나지 않지만, 해킹의 본래 의미를 생각해 보면 해킹의 범주에 들어갈 수 있다. 작중에서 플레이어주인공이 TIS-100의 비밀을 알아내기 위해 하는 것이 리버스 엔지니어링이다.[30] 2010년 기준 21살의 해커로 수학, 전기 전자 공학, 컴퓨터 공학, 기계 공학에서 학점이 전부 A인 먼치킨, 작중 등장하는 모든 단말기와 네트워크, 메인 프레임을 해킹할 수 있으며, 선택에 따라 인류 역사상 최악의 사이버 병기를 개발하는 블랙 해커(크래커)가 되거나, 인터넷을 수호하는 화이트 해커나 주식 조작범이나 핵전쟁을 일으키는 인물가 될 수도 있다. 여튼 먼치킨[31] 사실 대부분의 공안 9과 대원들이 어느 정도는 해킹이 가능하다.[32] 초기 원작 아케이드 한정.[33] 앞의 2명은 화이트 해커인 사이버 수사대 소속 형사이며 뒤의 2명은 블랙 해커이다.[34] 솔레스탈 비잉에 들어오기 전에 해커로 유명했으며 작중에서는 비중이 더럽게적었지만 펠트도 놀랄 만큼의 해킹 능력을 보여주었다.(비록 베다의 도움을 받았지만.)[35] 소닉 스크류 드라이버를 이용해서 웬만한 문명의 시스템들은 전부 해킹 가능하다. 게다가 뉴 시즌 7 에피소드 6을 보면 노트북을 두들겨 스푼헤드에 업로드되려 하는 클라라의 정신을 역으로 다운로드한다든가, 나중에는 아예 스푼헤드 자체를 노트북으로 해킹하기도 하는데 이걸 봐선 스크류드라이버를 사용하지 않고도 기본적인 컴퓨터 해킹 실력도 상당히 뛰어난 모양.[36] 뉴 시즌 7 파트 2 한정으로 스푼헤드에 업로드되었을 때 컴퓨터 관련 지식이 업로드되어서 엄청난 수준의 해킹 능력을 가지게 되었다. 스푼헤드를 조종하고 있던 회사의 위치와 직원들 정보를 단번에 해킹해 내었다. 다만 이 컴퓨터 지식이 현재까지 유지되고 있는지는 불명. 다만 시즌 9에서 닥터가 가져온 기억 삭제 장치의 극성을 소닉 선글라스를 이용해 뒤바꿔 놓는다든가 타디스를 조종하는 모습을 보여주는 걸 보면 기계 관련 지식이 여전히 보존되어 있는 걸지도 모른다.[37] 실제 직업은 엔지니어. 소프트웨어 레벨이 아니라 합선으로 글리치를 일으켜서 보안을 강제로 우회하는 하드웨어 레벨의 해킹이다.[38] 해커가 아니지만 해킹 실력이 뛰어나다.[39] 본 작품에서 디지몬은 해킹 툴 취급인지라 그런 디지몬을 다루는 모든 테이머들을 일반인들은 해커 취급한다. 그리고 실제 하는 짓도 해커나 다름없다. 심지어 주인공도 알짤없다.[40] 국제 특수 부대 연합인 레인보우 팀의 리더의 컴퓨터를 해킹해서 레인보우 팀에 영입되었다.[41] 실제로 해커는 아니지만 아이언맨 슈트를 포함하여 거의 모든 컴퓨터를 해킹할 수 있다.[42] 사람이라고 하기에는 이상한 느낌이지만 해킹의 능력이 뛰어나며 유머도 있는 소프트웨어다.[43] 고의는 아니었지만, 예전에 취미로 만든 악성 코드가 엄중한 군 보안 시설을 다 뚫어먹는 바람에 핵미사일이 발사될 뻔하는 소동을 벌인 바 있다.[44] 전업 해커는 아니지만 작중 지속적으로 해킹을 활용한다.[45] 이쪽은 해커보다는 그래피티 아티스트라는 게 더 부각되는 편.[46] 이쪽은 밀레니엄 사이언스 스쿨이 아니라 SRT 소속으로 치히로와 몇 번 전자전을 벌인 적이 있다는 게 암시된다.[47] 옆방의 소라타 컴퓨터나 학교 컴퓨터 네트워크따위는 간단히 뚫어버리고, 아직 졸업도 하기 전인데 벌써부터 IT 계열 대기업들이 노리고 있다. 그리고 최대 업적은 메이드짱의 개발[48] 본인은 해커에 대해 부정적인 인식이 박혀있는지 해커라고 불리는 걸 꺼리는 듯한 모습을 보인다. 그 대신 자신을 정보자산 취득 전문가라고 불러달라고 한다. 정보자산 취득 전문가라고 읽고 해커라고 쓴다[49] 살인 게임 작중에서는 마법사로 등장하였지만, 그것은 얼터 에고였고 현실에서의 모습은 해커로 등장한다. 실제로 그의 재능인 마법사가 다른 말로는 해커를 뜻하기도 한다는 걸 생각해 본다면....[50] 이름이 없고 "해커"라고만 불린다.[51] 사실 해킹에 특출난 건 아니고 그냥 수학에 뛰어난 경우이다. 작중에 등장하는 컴퓨터 시스템인 Oz의 보안 취약점이 마침 수학으로 풀어야 하는 시스템이라서 해킹을 할 수 있다. 그런데 Oz의 시스템 관리 알바를 하기도 했다는 걸 봐선 시스템이나 프로그램 쪽으로도 나름 특출난 듯.[52] NPC 아무나 DedSec에 영입해서 플레이하는 게임이다.[53] 양자 컴퓨터 요르문간드의 도움을 받아 그 NSA를 순식간에 바보로 만들어 버리는 위업을 달성해 낸다. 맵 데이터를 교묘하게 조작하여 NSA가 가진 맵 데이터와 바꿔치기를 하였고 미국의 군사력과 통신 내역, 공권력까지 은밀하게 조작하여 농락해 낸다. 작중 최고 성능의 컴퓨터의 도움을 받은 것을 감안해도 대단한 실력자.[54] 단순히 정보 조사만 하는 게 아니라 해킹에도 능숙하다. 28화에서는 메갈로 스테이션을 해킹한 토키치로를 역관광 보내기도 했으며 34화에서는 건설부를 해킹해 ARK 방송국 건물 구조를 알아내기도 했다.[55] 해킹 능력을 가졌으므로 해커라 분류해도 되긴 한다. 더구나 '해커'의 원의미를 생각해본다면 더더욱 그렇다.[56] 월드시나리오에서 등장하는 노란,분홍색의 머리의 안대 캐릭터[57] TF 산업에서는 컴퓨터 해킹, 위성 이용, 로켓·미사일 설치 및 발사 등 기본적으로 수행해야 하기 때문에 용병 군단들은 필수적으로 해커 교육을 배운다.[58] 페이데이 2의 모든 플레이어블 캐릭터들도 게임상에서 오퍼레이터와 대상 기기를 무선으로 연결하는 방식으로 해킹을 할 수 있다.[59] 브루트 포스로 GLaDOS의 부팅을 정지하려 하는데, 직접 소리 내어 말하는 방식이라(...) 꼴랑 2개 대입하니 GLaDOS 부팅이 끝났다.[60] 서울경찰청 사이버수사대 소속 형사.[61] 작중에서 해킹 장면이 나오지는 않았지만 해킹 실력이 있다고는 한다.

분류