사이트 내 전체검색
해커로의 길-잘못된 공부에 대한 비판과 대안
로빈아빠
https://cmd.kr/server/880 URL이 복사되었습니다.

본문

*일반적인 과학연구의 방법의 철학적 이해에 비추어 쓴 글이라 과학이란 용어가 많이 들어갑니다. 해킹도 컴퓨터사이언스의 한 분야이므로 과학에 포함된다고 생각해주세요.
*글의 의견은 제 주관적인(그래도 철학수업에서 배운..ㅋ) 것이므로 잘못된 부분이 있을 수도 있습니다.

┏ 정상적인 경우 새로운 이론을 창안하는 것이 목표가 아니라 정상적인 과학의 방향은 패러다임에 의해 이미 주어진 현상과 이론을 정교화하는 것이다. - 토마스 쿤 ┛

1. 무엇이 잘못되었나?
무엇이 되기 위해서든 거기에 대한 공부가 필요합니다. 해커라는 꿈을 지닌 사람도 역시 마찬가지이지요. 문제는 공부를 어떻게 해야하는지 입니다. 현재 많은 선지자들의 노력으로 이미 방대한 분량의 해킹기법 문서들이 나와있습니다. 공부하기엔 그 어느때보다 편해진 환경이지요. 하지만, 이 세계에 발을 들여놓은 대부분의 사람들은 그 길을 잘못들어서고 있습니다.

잘못된 공부는 패러다임보다 원리를 우선시하는 것에서 발생합니다. 일반적으로 패러다임은 현재의 가치관, 세계관 등을 뜻하지만, 본래 과학계열에서의 패러다임은 표준적인 답안을 가지고 있는 예제를 뜻합니다. 현재 원리를 패러다임보다 우선시 하게 된 것은 데카르트의 연역법 등의 많은 이유가 있겠지만, 가장 큰 이유는 19C말 일반교육에서 시작된 교과서전통(textbook tradition)에 있습니다.

교과서의 경우 패러다임은 연습문제나 예제의 형태로 드러납니다. 그런데 교과서를 살펴보면 그 구조는 원리, 법칙, 관점에 치우쳐 있지요. 학생들의 공부 모습을 보면 처음 나오는 과학사나 정의, 원리 등을 열심히 외우고 정리한 후 연습문제를 풀곤 합니다. 하지만, 제 아무리 열심히 원리를 본 사람도 연습문제를 제대로 풀지 못하는게 현실입니다. 바로 이것이 원리를 패러다임보다 우선에 두는 교과서의 폐해 이지요. 지금까지 그런 방식으로 교과서가 쓰여왔고 공부를 해왔기에 그것이 과학공부의 정도로 착각하고 있는 현실입니다.


2. 어떻게 해야하나?
Thomas.s.kuhn은 그의 저서 The Structure of Scientific Revolution에서 이렇게 말합니다.
‘정상적인 경우 새로운 이론을 창안하는 것이 목표가 아니라 패러다임에 의해 이미 주어진 현상과 이론을 정교화 하는 방향이다. 오히려 새로운 이론에 대해서는 관용적이지 못한(intolerant)가 흔하다.’

이 말은 정상적인 과학 공부 방법의 방향을 시사하고 있습니다. 교과 순서상 이론, 법칙등이 먼저 나오기는 하지만 실제 과학활동은 습득한 패러다임들을 적용하는 것이지 이론, 법칙등을 직접 적용하는 것이 아니라는 것입니다. 아무리 다른 사람들이 써놓은 문서를 보고 버퍼오버플로우, 포맷스트링을 공부해봐야 반쪽 공부이고 스스로는 관련 취약점을 공략할 수 없는 반쪽 해커가 되어 버립니다.

실제 해결되지 않는 문제 해결의 시작은 가장 유사한 패러다임에 끼워 맞추는 것입니다. 물리나 수학 문제를 풀때도 해결되지 않는 경우 우리는 원리를 생각하는 것이 아닌 비슷한 문제를 생각하는 것이 바로 이 이유이지요.

그렇다면, 패러다임이 우선한다는 인식론적 근거는 무엇일까요? 그것은 ‘인간은 그렇게 인식한다’라는 단순한 이유입니다. 이것은 어린아이들의 세계인식과정인 말배우기에서 나타나는 ostensive definition(손가락질 정의)에서 쉽게 찾아 볼 수 있습니다. 어린 아이들은 오리와 거위, 백조를 잘 구분하지 못합니다. 그들은 그것을 보고 어른들에게 계속해서 물어보고 어른들은 손가락으로 가리키며 계속해서 설명해 주지요. 인간은 바로 이렇게 예제들인 패러다임을 통해 무엇인가를 인식하는 것입니다. 원리를 우선으로 써 놓은 것은 이미 그것들을 인식한 사람들이 써놓은 결과물이지요.

정리하자면, 과학의 공부 방법은 교과서처럼 원리를 따지고 이론을 따진 후 문제를 푸는 것이 아닌 간단한 지식 정리 이후 문제를 통한 이해가 주를 이룬다는 것입니다. 논문을 쓸 때나 새로운 것을 연구할 때도 가장 가까운 패러다임에서 시작하는것이지 전혀 다른 바탕으로 시작하는 경우는 거의 없습니다.  해커가 되기 위한 길도 마찬가지 입니다. 남들이 정말 명료하게 이론을 밝혀 설명해 놓은 글은 아무리 읽어봐야 거기서 멈출 수 밖에 없습니다. 원리 다 공부해봐야 연습문제 못푸는 것처럼 이론적 설명을 아무리 봐봐야 실전적인 능력은 기를 수 없습니다. 앞에서 말했듯이 실제 과학연구의 방향은 패러다임에 끼워맞추는 것이기 때문이지요.

우리가 다가갈 수 있는 해킹의 패러다임에는 무엇이 있을까요? 가장 간단하게는 wargame을 찾을 수 있습니다. 많은 사람들이 많은 문제를 내놓아서 많은 경험을 우리에게 줄 수 있습니다. 하지만, wargame의 경우는 버퍼오버플로우나 포맷스트링등 대표적인 몇몇 기법에만 한정되어있다는 단점이 있습니다. 조금 어렵지만 추천하는 것은 SecurityFocus Newsletter같은 취약점을 정리해놓은 메일링 리스트를 보며 연구를 하는 것입니다. 의외로 간단한 기법이 사용된 경우도 많고, 익스플로잇이 첨부되어 연구를 편하게 해주기도 합니다. 단순히 남이 써 놓은 글을 보며 공부하는 것보다는 메일링리스트를 훑어보며 자신이 관심있는 분야의 취약점을 찾고 그쪽을 연구하며 관련 문서를 찾는 것이 조금 돌아가지만 마지막엔 빠르게 도착하는 최선의 길이 아닌가 생각해 봅니다.

댓글목록

등록된 댓글이 없습니다.

1,139 (17/23P)

Search

Copyright © Cmd 명령어 3.144.43.194