PDF 다운로드PDF 다운로드

컴퓨터 보안에서 해커란 컴퓨터나 네트워크 시스템 보안의 원리를 공부하고 연구하는 사람들을 의미한다. 인터넷의 시작이라고 할 수 있는 ARPAnet이나 시분할 터미널을 사용하던 수십 년 전부터 전문 개발자들이나 인터넷 네트워크 고수들은 커뮤니티를 만들고 정보를 교환해 왔다. 이런 사람들이 해커라고 불렸다. 요즘에는 컴퓨터나 스마트폰 시스템에 침투하고 공격하는 일을 해킹이라고 많은 사람들이 생각하지만, 사실 해킹 문화는 대다수의 사람들이 아는 것보다 훨씬 더 복잡하고 도덕적이다. 해커가 되고 싶다면, 기본적인 해킹 기법들은 무엇이 있는지, 해커처럼 사고하려면 어떻게 해야 하는지, 화이트 해킹 커뮤니티에서 존경 받는 사람이 되려면 어떻게 해야 하는지 알고 있어야 한다.

방법 1
방법 1 의 3:

기본적인 공부

PDF 다운로드
  1. How.com.vn 한국어: Step 1 리눅스 같은 유닉스 계열 운영 체제를 공부한다.
    유닉스나 유닉스 계열 운영 체제는 인터넷에서 많이 사용된다. 인터넷을 사용하기 위해서는 유닉스를 배울 필요가 없지만, 인터넷을 해킹하려면 유닉스를 반드시 알아야 한다. 그런 이유로 요즘 해킹 커뮤니티들은 유닉스를 중심으로 돌아간다. 유닉스 계열 운영체제들은 여러 가지가 있지만, 그 중에 가장 유명한 것은 리눅스이며, 윈도우와 동일한 기종의 컴퓨터에서 실행 가능하다. 인터넷에서 리눅스를 다운로드 받거나, 리눅스 사용자 그룹을 찾아가 도움을 받도록 하자. [1](리눅스 역시 여러 가지 배포판이 있다. 국내에서 많이 쓰이는 것으로는 우분투와 페도라가 있다.)
    • 유닉스 계열 운영체제를 시험해 보는 가장 좋은 방법은 Live CD나 USB 등을 이용해 운영체제를 하드 디스크에 설치하지 않고 실행시켜 보는 것이다. 뭔가 어려운 작업을 하지 않고도 리눅스가 어떻게 돌아가는지 감을 잡는데 도움이 된다.
    • 리눅스 외에도 BSD 같은 유닉스 계열 운영체제는 여러 가지가 있다. 가장 유명한 BSD 시스템은 FreeBSD, NetBSD, OpenBSD, Dragonfly BSD 등이 있다. 전부 다 리눅스처럼 오픈 소스이다. 하지만 이 운영체제들은 BSD이지 리눅스가 아니라는 점은 알고 있어야 한다.
    • 애플에서 만든 운영체제들인 iOS, macOS, watchOS, tvOS 등의 기반이 되는 다윈(Darwin)도 UNIX 계열의 운영체제인 FreeBSD를 토대로 만들어졌다. 다윈은 완전히 무료이며 오픈소스로, http://opensource.apple.com 에서 다운로드 가능하다. UNIX가 시스템의 근본이기 때문에 macOS는 무척 유명해졌으며, 수많은 리눅스 응용 프로그램들이 macOS로 포팅될 수 있었다. homebrew, fink, MacPorts 같은 패키지 관리자 프로그램을 이용해 다운로드 받을 수 있다. 패키지 관리자를 사용하고 싶지 않다면, 리눅스를 맥에 설치해 가동시켜도 된다.
    • 사람들이 잘 안 쓰는 것에 도전해 보고 싶다면, Open Indiana 같은 운영 체제에 도전해 봐도 된다. Open Indiana는 Solaris라는 오픈 소스 운영체제가 오라클에 인수되면서 소스가 비공개로 바뀐 후, Solaris의 기존 코드를 기반으로 시작한 운영 체제이다. Open Indiana나 Solaris는 UNIX System V를 기반으로 하고 있다. 따라서 리눅스 응용 프로그램들과는 호환이 되지 않기 때문에, 리눅스 응용 프로그램을 포팅한 프로그램들이 많다. 하지만 대개의 경우, macOS, BSD, Linux를 사용하는 것이 이런 운영체제를 쓰는 것보다 나은데, 유명하고 사람들이 많이 쓰기 때문에 쓸만한 프로그램이 더 많기 때문이다.
  2. How.com.vn 한국어: Step 2 HTML을 작성한다...
    HTML을 작성한다. 프로그래밍을 할 줄 모른다면, 기본적인 HTML에서 시작해 조금씩 실력을 쌓아 나가 보자. 웹사이트를 방문했을 때 화면에 표시되는 글자, 그림 같은 디자인 요소들은 다 HTML로 작성되었다. 기본적인 홈페이지에서 시작해서 좀 더 복잡한 것들에 도전해 보자.
    • 웹 브라우저에서 "소스 보기" 메뉴를 통해 HTML 코드를 확인해 볼 수 있다. 거의 모든 웹 브라우저에서 빈 공간을 마우스 오른쪽으로 클릭하면 나오는 메뉴를 잘 살펴 보면 "소스 보기"라는 메뉴가 있을 것이다. 이 방법을 사용해도 된다.
    • 메모장 같은 기본적인 텍스트 편집 도구를 사용해도 HTML을 작성할 수 있다. "파일이름.html"로 내용을 저장한 후, 실행하면 웹 브라우저에서 코드를 읽어 볼 수 있다. 하지만 편집 상 불편한 점이 많아, 대부분의 개발자들은 Visual Studio Code, Nodepad++, Sublime Text 등을 많이 사용한다. HTML 파일을 작성한 뒤에는 웹 브라우저를 이용해 파일을 실행해 어떤 결과가 나왔는지 확인해 보자. [2]
  3. How.com.vn 한국어: Step 3 프로그래밍 언어...
    프로그래밍 언어를 배워 보자. 제대로 된 영어 문장을 작성하고 싶다면, 우선 영어 문법을 배워야 한다. 해커가 되는 것이 최종 목표라면, 프로그래밍 문법을 배워야 한다. 규칙을 깨 보고 싶다고 해도, 우선 규칙이 무엇인지 알아야 한다는 점을 잊지 말자.
    • 파이썬은 깔끔하며, 문서화가 잘 되어 있고, 어려운 부분이 적기 때문에 프로그래밍 공부를 시작하는 초보자에게 많이 추천되는 언어이다. 초보자에게 추천된다고 해서, 장난감 수준의 언어는 아니다. 상당히 쓸만하며, 유연하고 기능이 많기 때문에 대형 프로젝트에서도 많이 사용되고 있다.
    • 프로그래밍 공부를 제대로 해 보고 싶다면 자바를 공부해 보는 것도 좋다. 하지만 자바가 초보자용 언어로 적절한가에 대한 논쟁은 끊이지 않고 있다.
    • 자바스크립트에는 "자바"라는 단어가 들어가지만, 자바와는 다른 언어이다. 오히려 파이썬과 비슷하다. 둘 다 C언어를 기초로 만들어졌기 때문이다. 자바스크립트는 웹 프로그래밍을 위한 언어이다. 따라서 웹 개발이나 해킹 쪽으로 갈 생각이라면 파이썬보다는 자바스크립트를 배우는 것이 좋다.
    • 자바스크립트 대신 배워 볼만한 언어로는 PHP나[3] UNIX/Linux를 개발하는데 사용된 C 언어 같은 것이 있다. C++은 C와 많이 연관되어 있다. 따라서 하나를 배워 두면 다른 언어를 배우는 것이 그리 어렵지 않다. C는 시스템의 자원을 무척 효율적으로 사용하지만, 디버깅에 엄청난 시간을 소모될 수도 있기 때문에 효율성이 엄청 중요한 프로젝트가 아니라면 기피된다.
    • 운영체제는 Kali linux나 Ubuntu 18.04LTS 같은 것으로 시작하는 것이 좋다. 여기서 LTS란 Long Term Support의 약자로 다른 Ubuntu 버전들에 비해 긴 기간 지원되는 버전을 의미한다. 매 짝수년 4월에 배포된다. 다른 버전들은 9개월 간 보안 패치가 제공되는데 비해, LTS 버전은 데스크톱 버전의 경우 3년, 서버 버전의 경우 5년 간 보안 패치가 제공된다. 따라서 2020년 이후 이 글을 읽고 있다면 18.04가 아니라 20.04나 22.04 같은 버전을 설치하는 것이 좋다.
    광고
방법 2
방법 2 의 3:

해커의 마음가짐

PDF 다운로드
  1. How.com.vn 한국어: Step 1 창의적으로 생각하자.
    기본적인 기술을 갖췄다면 예술적으로 생각해 볼 차례이다. 해커란 예술가, 철학자, 공학자를 하나로 묶어 놓은 직업이라고 할 수 있다. 해커들은 자유와 책임에 대한 신념을 갖고 있으며 세상에는 해결해야 할 수많은 문제로 가득 차 있다고 믿는다. 해커들은 문제를 해결하는 것, 자신의 기술을 연마하는 것과 자신의 지식을 활용해 보는 것을 즐기는 사람들이다.
    • 해커들은 문화나 학문 등 해킹 이외의 여러 분야에 많은 관심을 가지고 있다. 열심히 일을 하지만, 또 열심히 놀기도 한다. 진정한 해커에게는 놀이, 일, 과학, 예술의 경계가 없다. 일상 생활의 모든 행동이 전부 창의적인 작품을 만들어 내는데 사용된다.
    • SF 소설들을 읽어 보자. 해커들과 그들을 옹호하는 사람들을 만날 수 있을 것이다.
    • 무술 연습을 해 보자. 해커들이 해야 하는 일과 무술 훈련을 위한 정신 수련은 비슷한 점이 많다. 무술 훈련에서 사용되는 근력, 순발력, 체력 등은 좋은 해커가 되는 것과 관련이 별로 없지만, 정신 단련, 차분히 자기 자신을 돌아 보는 것, 절제 등은 필요하다. 그래서 해커들이 태극권을 배우기도 한다.
  2. How.com.vn 한국어: Step 2 문제 해결...
    문제 해결을 즐겨야 한다. 똑같은 문제를 두 번 풀 필요는 없다. 모든 해커의 시간은 소중하다. 따라서 해커들은 정보를 공유해야 한다고 느낀다. 문제를 해결한 후에는 정보를 공개해 다른 사람들이 같은 문제를 빠르게 해결할 수 있도록 도와 주자.
    • 자신이 만들어낸 창의적인 결과물을 전부 공개할 필요는 없다. 하지만 그렇게 하는 해커들은 더욱 많은 존경을 받는다. 해커도 자신이 만들어 낸 결과물을 팔아 생계를 유지한다. 따라서 공개 때문에 스트레스를 받을 필요는 없다.
    • 조금 옛날 글이긴 하지만, Jargon File이나 The Mentor가 쓴 Hacker Manifesto 같은 글을 읽어 보는 것도 좋다. 기술적인 부분은 지금과 맞지 않겠지만, 해커로서 갖춰야 할 태도나 마음가짐은 명확하게 서술하고 있다. 애석하게도 번역본은 존재하지 않는다. [4]
  3. How.com.vn 한국어: Step 3 권력을 인식하고 싸우는 법을 배운다.
    해커의 적은 지루함, 단순한 일, 정보의 자유를 통제하려는 권력들이다. 단순한 일만 하다 보면 해커들은 해킹을 포기하려고 하게 된다.
    • 해킹을 라이프 스타일으로 삼게 되면, 다른 사람들이 "정상적"이라고 생각하는 것을 거부하게 되며, 그 대신 정보의 평등을 주장하는 사람이 된다.
  4. How.com.vn 한국어: Step 4 실력을 기르자.
    인터넷에서는 괴상한 사용자명을 사용하며 자신을 위대한 해커처럼 꾸밀 수 있다. 하지만 인터넷은 모두에게 평등하며, 자존심이나 지위가 아니라 실력을 중시한다. 따라서 그런 이미지는 오래 가지 못한다. 대중적으로 생각하는 해커의 이미지를 만들어 내는 것보다는 멋진 작품을 만들어 내는데 신경을 쓰자. 그러면 사람들의 존경이 따라 올 것이다.
    광고
방법 3
방법 3 의 3:

해킹 잘 하기

PDF 다운로드
  1. How.com.vn 한국어: Step 1 오픈 소스 프로그램을 작성한다.
    다른 해커들이 재미 있거나 유용하다고 느낄만한 프로그램을 작성하고 그 코드를 다른 해커들이 사용할 수 있도록 배포하자. 해커들 사이에서 존경 받는 사람들은 수많은 사람들이 사용할 수 있도록 그들에게 필요한 거대하고 실용적인 프로그램을 만들어 뿌리는 사람들이다.
  2. How.com.vn 한국어: Step 2 오픈 소스 프로그램을 테스트하고 디버깅하자.
    많은 오픈 소스 개발자들은 좋은 베타 테스트들은 보석처럼 귀하다고 이야기한다. 이런 테스터가 되고 싶다면, 버그의 증상을 자세히 설명하고, 현지화 문제를 해결할 수 있으며, 릴리즈마다 생기는 버그들을 인내하며 사용할 줄 알고, 자신만의 버그를 찾아 내는 방식을 갖고 있어야 한다.
    • 개발이 진행 중인 프로그램을 찾아 좋은 베타 테스터가 되어 보자. 처음에는 테스터로 시작해, 버그들의 원인을 찾고 그것들을 수정하는 데까지 발전해 가기도 한다. 이 과정에서 수많은 것을 배우게 된다. 사람들을 도와 주자. 그러면 그들도 여러분을 도와 줄 것이다.
  3. How.com.vn 한국어: Step 3 유용한 정보를 공유하자.
    또 해볼만한 일은 자주 묻는 질문(FAQ) 같은 유용하고 흥미로운 정보들을 수집해 블로그, 포럼 등에 올리는 것이다. 이렇게 기술적인 FAQ를 모아 나누는 사람들 역시 오픈 소스 개발자들만큼 존경을 받는다.
  4. How.com.vn 한국어: Step 4 기반이 될만한 일을 처리하자.
    해킹 문화와 인터넷을 이끌어 가는 사람들은 많은 경우 자원 봉사자들이다. 그들이 해야 할 일들 중에는 메일링 리스트 관리, 뉴스 그룹 모니터링, 대형 소프트웨어 아카이브 사이트 관리, RFC 문서나 기술 표준 문서 작성 같은 별로 눈에 띄지 않는 일들이 많다. 이런 일을 잘하는 사람들 역시 존경을 받는다. 이런 일들이 얼마나 시간을 많이 잡아 먹는지, 얼마나 재미 없는지 다들 잘 알기 때문이다. 해커들은 그런 헌신적인 자세를 사랑한다.
  5. How.com.vn 한국어: Step 5 해커 문화 자체를 발전시켜 나가자.
    이 부분은 위에서 이야기한 네 가지 중 하나로 유명해지지 않으면 하기 어려운 부분이기도 하다. 해커 문화에는 지도자가 없다. 다만 개발자들 사이에서 유명한 영웅들이나 권위자들, 역사가들, 대표자들만 있을 뿐이다. 어떤 분야에서 꾸준히 전문성을 쌓아 가다 보면 언젠가는 이런 사람들이 될 수 있을 것이다.
    • 해커들은 자만에 빠진 권위자를 신뢰하지 않는다. 따라서 유명해지는 것을 목표로 삼는 것은 위험하다. 따라서 유명해지려고 하지 말고, 자신이 잘 할 수 있는 분야를 찾아 열심히 하자. 그러면 유명해질 것이다. 그리고 겸손하고 자신의 권위를 남용하지 말자.
    광고

  • 일부 회사들은 해커들에게 회사의 보안 테스트를 맡기기도 한다. 따라서 해킹을 잘 한다면, 해킹이 직업이 될 수도 있다.
  • 잡히지 않기 위해 조심하자. 하려는 일이 불법적일 수도 있다. 블랙 햇 해킹 쪽은 건드리지 않는 것을 추천한다.
  • 한국어와 영어를 잘 해야 한다. 사람들은 프로그래머들이 글을 잘 못 쓴다고 생각하지만, 수많은 해커들이 글을 상당히 잘 쓴다.
  • LISP을 배워 보는 것도 좋다. 배우고 나면 얻게 되는 것이 많기 때문이다. 평생 살면서 LISP을 사용하지 않는다고 해도, 그 과정을 통해 프로그래밍 능력 자체가 달라진다. LISP으로 프로그래밍 해 보는 경험을 얻고 싶다면, Emacs 텍스트 에디터를 수정해 보거나, GIMP 이미지 편집 프로그램의 Script-Fu 플러그인을 작성해 보자.
  • Perl 같은 경우도 LISP과 비슷하다. Perl로 된 프로그램을 작성할 일이 없다고 해도, Perl은 웹 페이지나 시스템 관리에 사용되기 때문에 코드를 읽을 줄은 알아야 한다. 많은 사람들이 C의 효율성이 필요가 없는 경우, Perl로 코드를 작성한다.
  • 자신이 만든 웹사이트를 이용해 해킹 실력을 키워 보자.
  • 자신의 기술을 좋은 일에 쓰자. 화이트 햇 해커가 되어서 모든 사람을 위해 자신의 능력을 활용하는 것이 블랙 햇 해커가 되어서 경찰과 술래잡기 하는 것보다 낫다.
광고

경고

  • 해킹은 불법적인 경우가 있으며 따라서 해킹으로 인해 심각한 법적 처벌을 받을 수 있다.
광고

이 위키하우에 대하여

How.com.vn 한국어: Tyrone Showers
공동 작성자 :
기술자
이 글은 공동 작성자 Tyrone Showers. 타이론 샤워즈는 워싱턴주 시애틀에 본사를 둔 IT 컨설팅 회사인 Taliferro Group의 기술자이자 공동 대표다. 35년 이상의 전문 경력을 지닌 그는 API 디자인, 전자 상거래, 운영 효율성 및 웹 사이트 개발을 전문으로 한다. 그는 DeVry Institute of Technology에서 컴퓨터 과학 학사학위를 받다. 조회수 34,894회
글 카테고리: 보안 | 인터넷 | 컴퓨터
이 문서는 34,894 번 조회 되었습니다.

이 글이 도움이 되었나요?

⚠️ Disclaimer:

Content from Wiki How 한국어 language website. Text is available under the Creative Commons Attribution-Share Alike License; additional terms may apply.
Wiki How does not encourage the violation of any laws, and cannot be responsible for any violations of such laws, should you link to this domain, or use, reproduce, or republish the information contained herein.

Notices:
  • - A few of these subjects are frequently censored by educational, governmental, corporate, parental and other filtering schemes.
  • - Some articles may contain names, images, artworks or descriptions of events that some cultures restrict access to
  • - Please note: Wiki How does not give you opinion about the law, or advice about medical. If you need specific advice (for example, medical, legal, financial or risk management), please seek a professional who is licensed or knowledgeable in that area.
  • - Readers should not judge the importance of topics based on their coverage on Wiki How, nor think a topic is important just because it is the subject of a Wiki article.

광고