끄적끄적 해커가 됨에 있어서 필요한 능력,노력들..

해커가 됨에 있어서 필요한 능력,노력들..

tobehacker1

Hacker가 되려면..?

글썌…

Hacker가 아니기 때문에 Hacker되는 방법에 대해선 직접적으로 알지는 못한다.
대략 생각하기에 필요하다고 생각하는 것들을 적어본다. (본인에게도 필요한것들)

첫째로 정말 이렇게 대답하면 싫어할 사람이 많다고 생각하지만, 진실되게 말해보면, 국어와 영어 실력이다.
기본적으로 필요한 정보를 구할 수 있어야 하고, 구한 Document(문서)를 읽을 수 있어야 한다.

정보의 가치는 상대적이라는 것은 많이들 알고 있는 점이다. 그 기준에 국어,영어 실력이 들어간다는 점을 잊어서는 안된다.

 

tobehacker2

둘째로 검색능력이라 할 수 있다.

검색능력은 필요한 정보를 구하고자 할 때 없어서는 안되는 중요한 능력이다.
강력한 검색엔진인 Google을 이용한 해킹방법에 관한 책까지 나와 있지 않는가?
해커에게 있어서는 검색엔진은 기본적인 정보 검색 도구 그 이상의 의미를 가지기도 한다.

 

tobehacker3

셋째로 보안 트렌드 파악 능력이라 할 수 있을 것이다.

요즘 어떤 기술이 이슈가 되고 있는가? 어떠한 새로운 기술이 나왔나? 에 대한 관심을 반드시 가지고 있어야 한다고 생각한다.
분명 새롭게 나오는 기술은 과거로 부터 존재해 오던 수 많은 업데이트를 거친 녀석 보다는 빈틈이 많을 가능성이 높다.
어떠한 새로운 기술들이 나오는지에 대해서는 메거진, 뉴스그룹이 당신에게 좋은 친구가 되어줄 것이다.

 

tobehacker4

넷째로 운영체제(OS)에 대한 이해이다.

이 글을 읽고 있는 분은 어떠한 OS를 사용하고 게시는지 모르겠다. 본인은 Windows를 사용한다. 어떠한 OS를 사용하느냐는 그사람의 취향이다. 어떠한 OS를 사용하든 상관 없다. Windows를 사용하고 있다고 해서, Linux를 사용하고 있는 컴퓨터를 해킹할 수 없는것이 아니고, Linux를 사용하고 있다고 해서 Windows를 사용하고 있는 컴퓨터를 해킹 할 수 없는게 아니며, 이는 타 OS에도 마찬가지이다. 필요한 것은 공격대상에 대한 이해인 것이다. ‘적을 알고 나를 알면 백전백승’ 이라고 했는데, 사실 Windows는 소스가 공개되어져 있지 않기 때문에, 보다 적을 알기가 쉽지 않다고 할 수 있다. 그러나 오히려 이런 점이 해커의 마음을 자극하는 요인이다. 적을 잘 모르면 더 공격하고 싶어 진다. Windows를 대상으로 공격을 하고자 할때에 Symbol들과 Windows의 클론인 ReactOS는 정말 당신에게 좋은 친구가 되어줄 것이다. 어떠한 사람들은 이런 질문을 한다. ‘해커들은 왜 리눅스를 쓰나요?’ 그 이유는 간단하다. 가장 핵심적으로 공짜이며, 오픈소스에, 변형하기가 쉬우며, 다른 친구들이 쓰지 않기 때문이다. :p (이는 자신을 유니크 하게 보여주는 역활을 할 수 있다.) 앞에 한말은 장난이라면 장난이고 진담이라면 진담이고, 실제적으로는 공격을 테스트 해보기 위해서라고 말하면 쉬울 것이다. 공격대상 OS와 같은 OS를 사용하고 있다는 것은, 즉 비슷한 환경에서 테스트 해볼 수 있다는 것은 분명 도움이 된다. 또한 perl 이라던지, python은 FSB공격이나 BOF공격을 할떄에 도움을 준다. 또한 리눅스의 함수 호출 방식(int xx를 사용하는) 은 윈도우즈에 비해 보다 테스트 해보기 쉬운 환경을 제공해주 는 요소이다. (물런 레드햇 9.0 과 페도라 코어 시리즈의 경우 윈도우즈 보다 테스트 해보기 어려운 환경이 되어 가고 있다.) 또 많은 오늘날의 해커들은 리눅스만을 사용하지 않는다. 한 컴퓨터에 모든 OS를 다 가지고 있는 경우도 있고(VMWARE 같은 Full Virtualization의 힘을 빌어) 여러대의 OS에 각각의 OS를 설치해 두고 테스트해 보는 사람들도 있다. 즉 오늘날의 host OS가 무언지는 해커가 됨에 있어서 그렇게 크게 중요한 요소는 아니라고 생각한다. (기왕이면 게임이 잘 돌아가는 Windows가 좋지 않을까? :p ) 단지 당신이 해커가 됨에 있어서 필요한 것은 공격대상의 운영체제에 대한 정확한 이해라고 하고 싶다. 이런 말도 있지 않는가? ‘운영체제를 알면 에플리케이션이 보인다.’   무슨말인지는 알만한 분들은 다 알것이다. 🙂

 

tobehacker5

다섯째로 프로그래밍 언어에 대한 이해이다.

프로그래밍 언어에 대한 이야기가 너무 늦게 나오는 것이 아닌가? 라고 물어 볼 수 있을것이다. 그러나 프로그래밍 언어를 몰라도 우선 해킹은 어쩌면 할 수 있다. (?) 고맙게도 오늘날 많은 프레임워크들(Metasploit같은), 자동화 공격도구들이 많이 발표되어져 있다. 당신이 프로그래밍 언어에 대해 정확히 몰라도, 그에 대한 문제점을 마우스 클릭만으로 공격가능한 시대가 온것이다! 🙂 그러나 당신이 단순한 공격자가 되기를 원하는게 아니라, 분석자,창조자가 되고 싶다면, 프로그래밍 언어는 반드시 당신의 좋은 친구가 되어야만 한다. (그렇게 만들어야만 한다.) 본인에게 무슨 언어를 가장 먼저 배워야 하는가? 라고 물어본다면 당연히 Assembley라고 답변해 줄 것이다. 대부분의 과정에서 C언어를 가장 먼저 알려주는데, 이는 잘못된 것이라 생각한다. (주관적인 의견) 기계어와 Assembley가 1:1 매칭된다는 말은 많이들 들어봤으리라 생각한다. 결국 C언어로 작성된 프로그램이든, 비주얼 베이직으로 작성된 프로그램이든, 델파이로 작성된 프로그램이든, 결국 바이너리가 되고나면 기계어 일 것이고, 이는 곳, 어셈블리를 알면 볼 수 있는 상태가 된다는 것이다. 그럼으로 어셈블리를 가장 먼저 알아야 한다고 생각한다. (또 어셈블리를 가장 먼저 공부하는 것은 타언어를 공부하는데 있어서 분명 당신에게 큰 도움이 될 것이다. 다른 언어를 공부하면서도, 이 부분은 어셈블리 로는 어떻게 표현될까? 하는 생각을 하면서 코드를 보면 다른언어를 보면서도 어셈블리로 볼 수 있는 눈을 기를 수 있다.) Java나 C#같은 언어로 작성된 프로그램은 앞에서 한말에 어긋나지 않는가? 라고 반박할 수 있을 것이다. 그러나 그들은 그들 나름의 가상코드로 작성 됨으로 인해, 디컴파일러(Decompiler라고 칭하는게 정확한 표현인지는 알 수 없지만)의 작성을 용이하게 만든다. 이미 해당 언어들에 대해선 디컴파일러가 존재한다는 것을 당신도 알고 있을 것이다. 🙂 (안그런가?) 실제적으로 앞에서 말한 언어들을 습득하는 데는, 첫번쨰로 공부하는 언어의 경우 1달, 나머지 언어의 경우는 1주일이 체 안걸린다. 그만큼 근본,작동원리를 아는 것은 큰 도움이 된다.

 

tobehacker6

여섯째로 많은 wargame들을 풀어 봐야 한다는 것이다.

조금 오래되었을지 몰라도 해킹기술을 합법적으로 내 컴퓨터가 아닌 다른 컴퓨터에서 테스트 해볼 수 있는 가장 쉬운 길은 wargame이라고 할 수 있을 것이다. wargame을 통해서 당신은 기본적인 해킹기술들을 습득할 수 있을 것이다. 또 고난이도의 wargame을 통해 고급스킬을 연마할 수도 있을것이다. 이러한 스킬들을 연마하는 것은 분명 실제적인 해킹 시도시나, 해킹대회 참가에 큰 도움이 될 수 있다. 분명 눈으로만 보던것과, 자신이 직접해보는 것은 틀린다는것을 느끼게 될 것이다. 이런 틀린점을 통해 자신을 단련시켜 나가고 훈련해 나가면서 능력을 습득한다고 볼 수 있다.

 

tobehacker7

일곱째로 해킹대회를 많이 참가해 봐야 한다고 생각한다.

이건 꼭 그러해야한 하는것은 아니다. 단지 해킹대회에는 up-to-date한 점에 대한 문제들, 새로운 느낌의 문제들도 많이 나온다. 많이 해보다 보면 감각이 생기게 나름일 것이다. 해킹도 틀리지 않다고 생각한다. 합법적인 대회참가를 통해 해킹감각을 키울 수 있다면, 이 처럼 좋은일이 또 어디있을까? :p 대부분의 해킹 대회가 예선은 온라인에서 치뤄짐으로, 당신도 어렵지 않게 참가를 할 수 있다. (대회 참가의 목적은 반드시 우승이 아니라, 직접 몸으로 느껴보는 것이다. 얼마나 다른 사람들이 빨리 문제를 solve하는지, 나의 현재 수준은 어디 까지인지, 이러한 상황에서는 어떻게 문제를 solve해야 하는지, 문제에서 말하고자 하는 것은 무엇인지등을 말이다. (중요한 걸 뺴먹었는데, 해킹대회에서 오프라인 대회에 가면 그 행사의 옷을 주는 경우도 많다. 이 옷을 얻어서 집에서 굴러 다닐때 쓰면 좋다.:p )

 

tobehacker8

8번째로 태어날떄 부터의 능력을 말하고 싶다.

해당분야의 권위자인 어떤분도 태어날 떄 부터의 감각을 애기 하셨다고 하니, 감히 감각을 8번쨰에 넣어본다. 분명 해킹대회를 참가하면서 느는 감각도 있지만, 그것만으로는 설명이 되지 않는, 창조력,분석력,해결력을 가진 사람들이 있다.  당신은 태어날 때 부터 해커였는가..?  하나 빼먹은게 있다면, 도구들을 언제나 최신의 상태로 정비해두어야 한다. 기술자가 아무리 능력이 좋아도, 연장이 안 좋으면 작업은 드뎌질 수 밖에 없다. 일부 사람들이 하는 착각 중의 하나가, 진짜 해커들은 도구를 사용하지 않는다고 하는데, 이는 잘못된 생각이다. 진짜 프로일수록 도구(자동화 된)를 많이 사용한다. 이것 또한 무슨 말인지는 아는 분들은 알 것으로 생각된다. 🙂

<!–지금까지 간단하게 재가 생각하는 해커가 되기 위해서 필요한 능력들, 노력들에 대해서 적어 보았습니다. 이게 정말 맞는지 아닌지를 모르겠습니다. 쓰고 있는 본인이 해커가 아니기 때문이죠. 해커가 되려면 필요한 것이 무엇인가? 를 질문 하는 분들이 종종 게셔서 적어 봤습니다. (한번에 처리를!!! :p) –>

http://dual5651.hacktizen.com/tc/entry/Hacker%EA%B0%80-%EB%90%98%EB%A0%A4%EB%A9%B4


LEAVE A REPLY

Please enter your comment!
Please enter your name here