호그와트

정말 가르쳐주려고 했는데 팀원들이 뜯어 말릴 때 들었어야 했다

영웅*^%&$ 2023. 7. 4. 14:18
728x90

물론 뜯어말렸다는 건 좀 과장이기는 하지만 ㅋㅋㅋㅋㅋ 
작년 쯤인가 우연히 어떤 애를 알게 되었다 
그러다가 그 친구가 자신에게 해킹을 알려달라고 하길래 직접 만나게 되었다 
같이 얼굴도 보고 말도 하다보니 생각보다 말이 잘 통해서 서로 알고지내기로 했다 그런데 계속 알고지내다보니 이 친구는 해킹을 더 알고싶어하는 것 같았다 그래서 어찌저찌해서 이 친구에게 (영국에 가기 전에) 해킹과 보안에 관련해서 진수 essence 를 알려주고 떠나야겠다고 생각했다 

사실 나는 AI도 연구하고 있기 때문에 단순 CTF 방식이 얼마나 바보 같은 방식인지 - 이를 포함한 한고쿠의 많은 잼민 군들이 해킹이나 보안을 배우는 방식이 얼마나 잘못되어있는지 잘 알고 있다. 물론, 그들의 방식이 결코 틀렸다고는 말할 수 없다. 정작 나도 드림핵이라는 사이트에서 전체 순위 2위였었고 해외 CTF에서도 몇 번이나 좋은 성적을 거두었으니까. 뭐 나는 심심풀이로 하긴 했지만. 근데 그런 CTF에서 아무리 1등 해봤자 일단 상금이 거의 뭐 용돈도 안 되는 수준이고 (차비 겨우 되려나) 심지어 그런 대회는 사회에서도 별로 인정도 해주지 않는다는 것도 잘 알고 있다. 그래서 나는 그냥 심심풀이라고 하는 것이고. 애초에 그런 CTF에서 100번 1등해야 AI 대회에서 1번 상금 타는 것이랑 비슷하다(AI 대회 상금 규모가 최소 수십 배 ~ 100배 정도 더 크다). 그렇지만, 이런 현실을 잘 모르는 잼민 군들은 그런 CTF에서도 순위권에 들어본 적이 없기 때문에 그런 헛된 것들만 굉장히 우러러본다. 안타까운 일이다.    

쨋든 나는 한 팀원에게 내가 어떤 아이를 (심지어 무료로) 가르쳐볼 생각이라고 말했다. 그 팀원은 조용히 대답했다. 
"무료로?"  (내 팀원)
"응, 무료로 가르쳐보려고" (나)
"그 친구한테 동기부여가 될까?"  (내 팀원) 
"그 친구가 해킹&보안에 진심으로 성장하고 싶다면 동기부여가 되겠지. 그조차 안 된다면 어쩔 수 없는 거고" (나)
"걔가 어플리케이션 식 사고를 할 수 있어 ?" (내 팀원) 
"아니 그런 능력은 아직 없어." (나) 
"컨테이너 식 사고는? 도커를 다루어본 적 있대?" (내 팀원) 
"아니 도커는 안 다루어봤고 가상머신만 조금 해봤나 봐." (나) 
"미쳤어? Are you mad? " (내 팀원) 
"아니" (나) 
"어플리케이션 식 사고방식도 없고 컨테이너도 모르고 도커도 안 다루어본 애인데 그러면 당연히 시스템 식 사고방식도 zero라는 얘기잖아. 걔한테는 어떤 해킹 방식도 가르쳐줄 수가 없어. 해킹&보안이 침투고 방어인데 무엇에 침투해야하고 무엇을 방어해야하는지 모르는 애한테 도대체 뭘 가르쳐 줄 수 있어 ?" (내 팀원)
" " (나) 
뭐 솔직히 이 때 내 팀원에게 대답할 말이 없었다. 그리고 시간이 지나고 보니 내 팀원의 통찰이 얼마나 뛰어났는지도 알 수 있었다. 실제로 위에서 말했던 (해킹 가르쳐 달라고했던) 친구와 시간을 보내보니 소스코드만 조금 다루어보고 드림핵에서 웹해킹을 조금 해본 게 전부였다. 말 그대로 처참한 수준이었다. 몇몇 한고쿠 잼민 해커들이 드림핵에서 뽀작뽀작해보고 자기들이 해커라고 생각한다는 낭설이 정말로 사실이었다. 실제 해킹에 대한 이해도, 그걸로 무엇에 어떻게 침투해야되는지도 그리고 그걸 어떻게 방어해야되는지 조차 전혀 몰랐다.  해킹과 보안은 한고쿠에서는 괴상한 모습으로 뒤틀려 있었다. 이들에게는 내가 취미로 하는 CTF나 제퍼디 정도가 해킹의 거의 전부였다. (알까기를 진짜 바둑이라고 생각하고 있었다 !!)

뭐 처참한 수준과 실력이고 본인은 자신의 실력이 얼마나 처참한지 잘 모르는 거 같아서 사태가 생각보다는 조금 더 심각했지만, 뭐 별로 상관이 없었다. 애초에 처음부터 잘하는 사람이 과연 어디에 있단 말인가. 처음에 잘하는 사람은 한 명도 없다. 그건 자연스러운 일이다. 
그렇지만, 문제는 그게 아니었다. 
잔이 비워있으면 그 잔을 채우는 건 생각보다는 쉽다. 그렇지만, 잔이 채워져있고 심지어 더럽다면, 거기에 새로운 깨끗한 내용물을 넣는 것은 이전보다 더 어렵다. 더러운 잔은 설거지하는 것부터 시작해야하니까. 

내가 이 친구에게 해킹을 가르쳐주려고 일단 기본 사이트인 tryhackme와 hack the box를 함께 소개해주었다. 그 외에도 여러 주요 사이트들을 소개해주었다. 그리고 특정 시간을 주고 OWASP TOP 10을 하라고 권면했다. 물론, 이 친구는 영어를 잘 몰랐다. 그래도 OWASP TOP 10 정도는 충분히 실습할 수 있지 않은가. 그런데도 이 친구는 TASK를 1개인가 2개 정도만 해왔다. 꽤 많은 시간이 있었음에도. 그렇지만, 뭐 그런가보다 했다. 이 친구가 바쁘다고 말했으니까 나는 충분히 이해했다.  
근데 그 다음 모임부터 이 친구는 자신이 알던 커뮤니티에서 포너블을 해보라고 권하는 사람이 있다는 얘기를 했다. 이 때부터 뭔가 안 좋은 느낌이 솔직히 들었다. 그 사람이 overthebandit이었나 뭔가 하는 초등학생 때 다 떼는 뭐 그런 사이트를 소개해주었다면서 포너블을 같이 해보자고 말했다고 한다. 뭐지 ...? 뭐 일단 okay했다. 심지어 그러다가 이 친구와의 대화 방향은 내가 이 친구에게 포너블을 가르쳐주는 그래서 이 친구가 포너블을 이해할 수 있도록 해달라는 방향으로 나아갔다. 근데 솔직히 말하면, 위에서 말한 기본적인 사고방식이 전혀 갖추어있지 않은 상태로 포너블만 깨작깨작 소스코드로 장난만 치다보면 정말로 장담할 수 있는데, 진정한 해킹 실력은 1도 성장하지 않는다. 아니 애초에 포너블이 어떤 의미인지도 모르는 사람한테 포너블을 가르쳐보았자 도대체 뭘 하라는 말인가 ㅋㅋㅋㅋㅋㅋ 이 친구의 요구는 그런 것이었다. '나는 포너블이 뭔지도 모르고 그걸 어떻게 쓰는지도 몰라요 하지만 포너블의 깨작거림을 가르쳐주세요' 일단 okay했다.. 그 과정에서 이 친구의 요구가 굉장히 무례했지만(그 무례함을 설명하자면 이런 것이다. 일단 내가 이 친구에게 해킹의 진수를 가르쳐주기 위한 커리큘럼이 있었다. 그리고 그 커리큘럼은 앞으로 변화할 AI 시대에도 부합할 뿐만 아니라 이 친구가 그토록 원하는 포너블이 정말 무엇인지 이해하고 그걸로 정말로 직접적인 의미에서 다루어본 다음 실전적으로 어떻게 활용할 수 있는지까지 가르쳐주는 정말 2023년 기준으로는 가장 최적의 커리큘럼이었다. 그런데 이 친구는 내 커리큘럼을 일단 완전히 무시했다. 그리고 본인이 제퍼디를 원하니 포너블을 가르쳐달라는 일방적인 요구를 했다. 이 자체가 일단 무료로 가르쳐주기로 한 내 성의를 개무시한 것이다. 나는 이 친구에게 바이너리를 어떻게 다루고 어플리케이션 식 사고와 시스템 식 사고가 어떻게 접목되며 그 안에서 해커는 어떻게 수영하고 어떻게 원하는 정보를 탈취할 수 있는지 또한 그 모든 걸 막고자 하면 어떻게 막을 수 있는지 정말 그 진수를 다 가르쳐주고 설명해주려 했다. 적어도 그 essence를 온전히 넘겨주려고 하였다.)  나는 그것까지도 받아들였다. 내가 이 친구를 가르쳐주겠다고 약속을 했으니 뭐 어쩌겠는가. 한고쿠는 정말 이상하다는 생각을 했다. 굳이 비유하자면 이런 것이다. 나는 이 친구에게 어떻게 하면 국제 올림픽에서 금메달을 받을 수 있는지 가르쳐주려고 했다. 그 진수를 온전히 넘겨주려고 했다. 그것도 완전히 무료로. 어디에서도 들을 수 없는 최상의 길을 넘겨주려고 한 것이다. 근데 이 친구는 놀랍게도 그 커리큘럼을 완전히 무시한 다음에 나한테 당당히 자신의 중학교 중간고사 체육 수행평가를 100점 받을 수 있는 방법을 알려달라고 요구한 것이다. 이게 내가 이 정도 수준의 사람이었다면, 모욕이 아니었겠지만, 이 친구는 자신이 누구한테 말하는지도 몰랐다. 그렇지만, 나는 약속했기에 이 친구에게 기꺼이 중학교 중간고사 체육 수행평가 100점 받을 수 있는 방법을 그리고 훈련을 함께 해주기로 했다(말했듯이 비유다 - 그렇지만 국제 올림픽 이상의 수준의 사람에게 중학교 수행평가를 도와달라는 말이 얼마나 큰 모욕인지는 충분히 알 것이다).

이미 모욕을 받았는데도, 더 큰 모욕이 하나 남아있었다. 어느 날 나는 연구를 하고 있었다. 그러다가 중간에 잠시 쉬고 있을 때, 이 친구에게 전화가 오길래 받았다. 이 친구는 자신이 하고 있는 대회 실습을 간략히 말하더니, 그걸 뚫어줄 수 있냐고 말했다. ?? 뭐지 ..? 뭐 일단 알았다고 했다. 그리고 (심지어 나도 참 미쳤지) 뚫어주겠다고 말했다. 그랬더니 이 친구는 30분 안에 해야 되는 일이라고 했다. ????? 솔직히 말해서, 순간 멍멍새끼로 대우받는 기분이 들었다. 30분이라는 시간 때문이 아니다. 해킹을 하다보면 5분이나 15분 안에도 유의미한 결과를 얻는 경우는 생각보다 많다. 다만, 내가 연구를 하고 있는 중이었다는 사실, 갑작스럽게 전화가 와서 해킹을 해달라는 부탁이 왔다는 사실, 이미 모욕을 받았지만 내가 그냥 웃어넘겼다는 사실, 그런 사실들이 30분이라는 갑작스러움에 섞이어 내게 멍멍새끼같은 대우로 다가왔다.

이런 멍멍새끼같은 대우를 받으면서까지 내가 무료로 이 친구를 가르쳐야 될 이유는 어디에도 없었다. 이미 무례를 당했지만, 그래도 나는 웃어 넘겼다. 근데 ㅋㅋㅋㅋㅋ 상상도 할 수 없는 더 큰 무례가 남아있었던 것이다. 스승이 논지를 펴겨나 무슨 얘기를 할 때, 충분히 거기에 대해서 논리적으로 반론을 펼치거나 하는 것은 결코 모욕이 되지 않는다. 적어도 그럴 여지가 있다. 그러나, 스승한테 마치 강아지한테 하듯이 명령을 내리는 것은 모욕이 맞는 것이다. 나는 결국 이런 무례를 받으면서까지 이 친구를 심지어 무료로 가르쳐줄 필요는 없다고 확신을 내렸다. 
게다가 이 친구도 원하는게 뽀너블이라고 하지 않는가? 그 옆에는 중학교 수행평가 정도 되는 수준의 overthebandit을 하는 친구도 있으니 둘의 수준이 꽤 알맞아 함께 중학교 수행평가 뽀너블을 하면 되겠다고 생각했다. 

결국 내 팀원 얘기가 맞았던 것이다 
어플리케이션 식 사고방식도 없고 
컨테이너 식 사고방식도 없고 도커도 제대로 다루어보지도 않았고 
바이너리나 시스템이 뭔지도 모르면서 뽀너블을 가르쳐 달라는 친구에게 
도대체 뭘 가르쳐 줄 수 있단 말인가 
내 팀원이 뜯어 말릴 때 들었어야 했다        

728x90