안녕하세요?
비씨파크 채널담당자 GreatDG입니다. ^_______^ (8)(8)
이번 강좌는 여러분들이 한번쯤은 들어봤음직한 이야기, 해킹에 대해서 다뤄볼까 합니다.
여러분은 해킹이 무어라고 생각하세요? '남의 컴퓨터를 파괴하는 사람?', '나쁜 사람?',
'컴퓨터 잘하는 사람이 하는 거?' 등등.. 저 생각 뿐만 아니라 더 많은 생각을 하고 있는것이 사실일 듯 싶습니다. 저 역시 해킹이라는 소재로 공부하기 이전에는 '해킹은 나쁜거다.'라는 인식을 가지고 있었기 때문에 더더욱 그럴듯 싶습니다. 이번 강좌의 목표는 '해킹'이라는 단어를 좀더 깊숙히 알아보고, 해킹의 역사, 해킹의 유형, 기법, 간단한 해킹방법등등 연재강좌식으로 다뤄볼까합니다. 저역시 해킹에 입문한지 1달밖에 돼지 않아서, 거의 초짜와 다름 없지만 이렇게 강좌를 하면서 공부하면 저도 도움이 돼고, 여러분도 도움이 될거 같아 이렇게 강좌를 선택하게 돼었습니다. 아무쪼록 여러분의 많은 성원 부탁드립니다. 감사합니다.
{Beist(이승진님) 홈페이지, Welcome to Webmaster Skyari's HOMEPAGE!의 자료를 토대로 집필하였습니다. 감사합니다.}
◎ 니가 해킹의 뜻을 알어?
여러분은 해킹이 모라고 생각하십니까? 이미 앞에서 언급했던것처럼 그렇게 부정적으로만 생각하시고 계시지는 않으신지요.. 제가 몇몇 사이트에서 제공하는 국어사전과 컴퓨터 용어 사전을 통해서 검색해 본 해킹의 정의입니다.
(※참고로 해킹과 해커를 같은 단어로 사용하겠습니다. 의미는 약간 다르지만...)
- 야후에서 검색해 본 해커의 정의 -
- 네이버에서 검색해 본 해커의 정의 -
- 컴퓨터 용어사전에서 검색해본 해커의 정의 -
같은 단어를 두고, 저렇게 해석이 돼고있는것이 현실입니다. 예전에 학교에서 해커라는 단어를 숙제로 한적이 기억이 나는데, 그때 '남의 컴퓨터를 파괴하는 사람'이라고 적었던 적이 생각이 나는군요. 그렇다면 현재 실제 해커들은 해킹이란 정의를 어떻해 내리고 있을까?
웹 해킹, 시스템 해킹의 천재적인 해커, Beist(이승진님)은 해킹을 이렇게 정의했습니다.
이제 어느정도 이해가 가시는지요. 제가 생각하는 해킹의 뜻은 남의 컴퓨터를 침투하는것까진 같으나, 남의 자료를 파괴하거나, 악의적인 행동을 하는 사람을 크래커, 침투하여 보안점을 발견하고, 알려주고, 정상적으로 손보는 사람을 해커라고 말할수 있을거 같습니다.
여러분들도 한번 해커와 크래커, 다시한번 생각해보시겠어요?
◎ 해킹의 역사를 훔쳐보자..
이번에는 해킹의 역사를 살펴보겠습니다.
----------------------------------------------------------------------------------
해커라는 단어는 60년대 미국 M.I.T 대학생들을 시작으로 전파되기 시작하였습니다.그들은 컴퓨터를 광적으로 좋아하고 그들의 이상을 컴퓨터에 걸었습니다.
밤낮으로 컴퓨터에 매달려 새로운 프로그램을 만들고 토론하며 창조와 정의를 부르짖었습니다.
그러한 결과 스티브 워즈니악, 리차드 스톨만, 스티브 잡스와 같은 위대한 해커라 일컬어지는 인물이 탄생했으며 그들의 영향을 받아 현재와 같은 컴퓨터환경을 구축하게 된 것입니다.
초기에 그들은 구식 대형 컴퓨터를 이용하고 전화를 공짜로 사용하는 방법을 전파시켰으며 스스로 그러한 장비를 만들어 팔기까지 했습니다.
과거의 순수한 열정을 지닌 해커들은 거의 '히피'족이나 다름없는 이상을 이야기했습니다. 시간이 지나고 세상이 변하면서 초기 해커들의 숫자는 점차 줄어들었고 대다수 변질되어 본래 해커의 의미인 '정보의 공유화'가 아닌'정보 엿보기'가 되어갔습니다. 그 결과 '캐빈 미트닉'과 같은 악명높은 해커도 등장하게 되었던 것이죠. 해커들의 업적은 다양합니다. 그들은 아무나 널리 복사해서 사용할 수 있도록 "Copyright"에 반대되는 개념인 "Copyleft" 를 사용했으며 그 누구라도 출처만 밝히고 공익적인 것에 이용된다면 자신의 자료를 사용해도 된다고 적어놓았습니다.
그 결과 대표적으로 "linux"같은 공개 유닉스 운영체제가 탄생하여 오늘날까지 널리 사용되고 있습니다. 그 덕에 비싼 유닉스 운영체제를 공짜로 아무나 사용할 수 있게 되었으며 그로 인해 보다 더 좋은 각종 공개 프로그램들이 속속 생겨나고 있는 것입니다.
해커들은 이것을 'GNU'라는 선언문으로 만들어 지키고 있습니다. 여러분이 진정한 해커가 되고자 한다면 'GNU'선언문을 꼼꼼히 읽어보고 수긍할 수 있을 때에 하십시오. 단지 남에게 과시하고 골탕 먹이기 위해서 한다면 해커가 될 자격이 없는 사람일 것입니다.
다음의 링크는 '리차드 스톨만'이라는 20세기의 위대한 해커의 'GNU선언문'입니다. 'GNU 선언문'은 해커의 권리장전이나 마찬가지인 선언문입니다.
모든 해커는 GNU 선언문을 충실히 이행하여야 합니다.
이 'GNU 선언문'에서 우리가 배워야 할 점이 있습니다. 초기 해커들이 지향하고자 했던 바로 이러한 순수함이죠. 권위와 억압에 얽매이지 않는 표현과 사상의 자유로움과 모두에게 도움이 되는 세상의 소금이 되고자 했던 선각자들의 발자취를 따라야 합니다. 아직도 이 'GNU 선언문'을 충실히 받들고 있는 해커들이 많이 남아있기에 우리의 컴퓨터 문화는 더욱 발전되어 갈 것이라 확신합니다.
----------------------------------------------------------------------------------
위의 글이 해킹의 시초라고 해도 과언이 아닐듯 싶습니다. 좀더 알아보고 싶으신분들은 직접 검색하시면 좀더 많은 정보를 얻으실수 있으실겁니다.
◎ 해킹, 어떻해 이루어지나?
1. DoS 공격 (Denial of Services)
타겟 호스트를 작동 불능 상태로 만들어 버리는 공격
(버퍼 오버플로우, 폭탄, 버그 특성을 이용해 공격)
2. 불법적인 권한의 획득
root 의 권한을 따 버리는 공격 (IP 스푸핑, WEB 스푸핑, DNS 스푸핑, 패스워드 크랙,
버그를 이용해 공격)
3. 기타 공격
바이러스나 물리적인 공격
간단히 이렇게 3가지로 볼수 있을듯 합니다. 해킹의 유형을 저렇게 3가지로 구분하는 거 자체가 어려운일이긴 하지만 가장 많이 흔히 이용하는 방법을 모아본것입니다.
이번엔 해킹의 절차를 간단히 살펴보면,
1단계 : 목표로 한 호스트 내부에 침입하여 쉘(Shell)을 사용할 수 있는 유저권한 획득
2단계 : 목표 호스트의 관리자 권한 획득 시도
3단계 : 자신이 다시 침입항 경우을 위하여 Backdoor(뒷문) 만듬
위에방법이 해킹의 절차라 할수 있습니다. 보시면 이상한 단어들이 많이있져?
호스트? 쉘? 뒷문? 관리자 권한등등 여러가지 생소한 단어들은 다음 강좌에 설명드리겠습니다. 이번엔 '아! 그런게 있구나.' 이정도로 하시면 좋을듯 싶습니다.
◎ 해킹.. 다시한번 생각하자!! - 마무리 -
- 이것이 과연 해킹일까? ㅡㅡ -
컴퓨터를 많이 다뤄본 유저중에는 해킹이라는 단어에, 관심을 안가질수 없을 정도로 해킹이라는 단어는 밀접하면서도 가까이 하기에는 좀 어려운것이 사실이었습니다. 실질적으로 하직도 많은 유저분들이 크래킹을 당하고 있는것이 사실입니다. 게임아이디 해킹, 메일해킹, 아이템 해킹, 웹 해킹등등.. 이런 부류의 해커는 전문적인 지식없이 오직 프로그램만을 가지고 해킹하는 유형입니다. 남들이 다 만들어놓은 프로그램을 가지고, 그것도 악의적인 목적으로 해킹을 하는 유저는 없어져야 하겠지요? 해커라는 정의에는 그런 사람을 해커로 보지는 않습니다. 이렇듯 해킹에 대한 우리들의 인식이 이제는 조금 바뀌어야 할때가 됐다고 생각합니다. 저 역시 이미 언급했듯이 해킹에 입문한지 이제 1달돼는 여러분과 같은 초짜입니다. 그러나 저는 해킹을 공부하면서 알게된건, 다른 사람이 만들어놓은 프로그램을 사용하여 해킹을 하는건 진실한 해킹이 아니라는걸 배웠습니다. 자신이 연구하고 개발하는 창의적인 정신이 있어야 해킹을 한다는것을 알았습니다. 해킹은 어려운게 아닙니다.
프로그램 언어, 즉 Visual C, Visual Basic, java 처럼 해킹도 그런 과목에 속합니다. 아직 전문적으로 알려주는곳이 없어서, 그게 안타까울 따름입니다. 현재 해킹에 대해서 공부할수 있는 사이트는, 몇곳 없는것으로 알고있습니다. 저역시 해킹에 관해 책을 사러 서점을 들리면, '아.. 바로 이책이다' 라고 외칠수 있는 책은 없는듯 싶습니다. 그렇게 많이 알려지지 않은 해킹을 이제는 Open 시킬날이 오기를 빌며, 이번강좌를 마칩니다.
- 다음 강좌는, 해킹툴 프로그램과 해킹의 기법, 해킹의 필수용어 등을 올려볼까 합니다.
아무쪼록 많은 호응 부탁드립니다. -
*많이 부족한점 많습니다. 악플도 대환영입니다. 첫술에 배 안부르듯, 부족한점 많이 보이더라도, 욕하지 마세요.. 그리고 이글을 보시게되는 해커분들이 계시다면, 죄송합니다.*
by GreatDG
(글이 잘못돼어..유실돼서 다시 올립니다.. 이해해주세요...그리고 2편 기대해 주세요^^)