티스토리 뷰

일기

10.31 잡담

지구이 2018. 10. 31. 15:08

0.

 8월 15일 정도부터 시스템 해킹 공부를 독학으로 시작했습니다. 시간으로 따지면 2개월 반 정도 됐네요. pwnable.kr에 있는 문제만 풀고있고, 지금은 9문제 (+tiny 2문제)만 남았습니다. 그래도 1년동안 팀원 코드만 봐서 그런지 어셈블리도 그냥 무난하게 잘 읽혀서 답답하지 않고, 정상적으로 돌아가고 있는 흐름을 쉘로 바꾸려고 노력하는 것도 나름 재밌습니다. 정확히는, 재밌으니까 지금까지 한 것이겠지만요.


1.

 솔직히 이런 걸 혼자 공부하는 건 너무 어렵습니다. 구석에 있는 지식일수록 한국어 자료는 당연히 없고, 영어로 검색을 하면 쓸모없는 것들이 너무 많이 나옵니다. 문제를 하루 내내 생각하다 보면 온갖 방법을 다 떠올리게 되는데, 각 방법이 되는지 여부를 검색해야만 알 수 있고, 심지어 검색해도 잘 안나옵니다.

 독학 초반에 제일 힘들었던 점은, NX, ASLR같은 보안 테크닉에 뚜까맞은 것입니다. 누가 "스택은 실행 안됨"만 알려줬어도 5시간을 아낄 수 있었고, "그건 readelf나 checksec로 확인 가능함"만 알려줬어도 며칠은 삽질을 안 했을 것 같습니다. 저런 보안 테크닉을 "몰랐을 때" "모르는 것이 뭔지 알고 검색하는 것"이 진짜 말이 안되는 것입니다. 혹시 자신이 뭘 모르는지 알고있나요?

 지금은 그래도 어느정도는 알아서 과하게 뚜까맞지는 않지만, 그래도 몰라서 못푸는 문제는 아직도 많은 것 같습니다. 그리고 점점 구석에 있는 지식을 필요로 해서 검색도 안되고 있습니다.


2. 

 PS 하는 사람들이 해킹으로 안넘어가는 가장 큰 이유는 그냥 공부를 할 수가 없어서 못가는 겁니다. 학부 내용을 다 알아도 더 배워야 하는 내용은 한참 더 있고, 체계적으로 공부할 수 있는 자료가 공개된 것도 딱히 없습니다. 그리고 체감상 기초에 해당하는 문제가 너무 적거나 찾기 힘들어서 문제 푸는 재미를 못느낍니다. 특히나 문제를 풀면서 실력을 쌓는 타입이 PS에 많은데, 초반 문제가 없다보니 공부를 재밌게 할 수가 없습니다.

 대부분은 노력을 덜 해서 공부를 못한다고 말하는데, 틀린 말이라고 생각합니다.. 공부 잘하는 당신은 노력을 왜 많이 했나요? 공부 못하는 당신은 왜 노력을 더 많이 할 수 없나요? 주변에서 노력하고 싶게 만드는 "환경", 자신의 "흥미", "재능" 같은 것들이 노력과 전혀 연관이 없을 것 같나요? 그리고 이것이 나 자신 때문인가요? 만약 이것도 노력이라고 한다면, 노력을 덜 했다는 것은 당신의 잘못이 아닙니다.


3.

 뭔가 해킹 분야는 좋은 자료가 비공개로 돌아다니는 느낌이 들었습니다. 동아리에서 좋은 자료를 공개하려고 하지 않는 느낌? 반대로 PS에 사용되는 대부분의 알고리즘은 거의 다 한글 자료가 있습니다. 심지어 다항식 나눗셈도 있죠. PS 최상위권 중에는 개인 블로그를 운영하는 사람이 많고, 굳이 구글 검색을 하지 않고 그 블로그만 순회해도 많은 것을 알 수 있습니다. 그리고 솔직히 말하면, 공개된 자료를 다 알아도 PS 중상위권에는 죽어도 못들어갑니다. 아는 내용을 대회 시간에 정확히 코딩할 능력, 아는 내용을 응용해서 문제에 사용할 능력, 문제의 조건을 통해 쓸 만한 성질을 찾아내는 능력은, 블로그 글만 읽어서는 죽어도 늘지 않는 능력입니다.


4. 

 대체 sudoku와 coin2는 왜 111점이나 되는걸까요? 저런 문제 PS에 나오면 합쳐서 10분컷 당하는 문제들입니다. 심지어 sudoku는 그냥 백트래킹 짜면 시간안에 가볍게 나오는데 정해 보면 딱히 그런 것 같지도 않고..

 PS 최상위권은 코딩속도가 상상을 초월해서 저도 가끔 감을 못잡는데, 리저널 중상위권 팀들은 코딩이 어려워서 풀지도 못하는 문제가 10-15분만에 밀릴 정도입니다. 예전에 d모씨가 일반인 대상 대회에서 1등한테 애플 워치? 준다고 3시간 대회에서 모든 문제를 5분만에 밀어버리는 걸 보면 대충 감이 오지 않을까 싶습니다. 그리고 국내 PS는 1인 독재체제가 아닙니다. 그냥 다른 사람들은 죄수의 딜레마에서 패배한 것일 뿐이죠.


5.

 이제 커널 익스플로잇을 공부해야 하는데, 일단 자료 정리집은 찾았습니다만 영어 실력이 좋지 않아서 걱정입니다. 게다가 이 자료, 난이도순으로 정렬도 안되어 있는 것 같습니다. 갈 길이 멀긴 하지만 머 하다보면 되겠죠...

 사실 더 큰 문제는, 아직 시스템 해킹은 끝나지도 않았는데, 공부할 자료 찾는 것이 막막한 네트워크나, 그 외에 무슨 분야가 있는지도 모르는 것들은 어떻게 공부할지 막막하기도 합니다.


6.

 주변에 저만 해킹을 하다 보니 제 실력이 얼마나 되는지 알 길이 없지만, 지금 이대로는 공부 기댓값이 너무 낮습니다. 이거 잘해서 쓸 곳이 없다는 느낌? 그런 이유에서 이번 학기가 끝나면 아마도 그만하게 될 것 같습니다. 저울에 올라간 추의 무게가 달라지면 변하겠지만, 딱히 변화가 없다면 쓸 곳도 없는 해킹 실력 키우는 것 보다 다른 거 하는게 낫다고 생각합니다.


끝!

'일기' 카테고리의 다른 글

GPU와 kudeki-chain  (1) 2019.05.09
CTF에 대한 여러 생각을 적어보았다  (4) 2018.11.14
9.30 잡담  (0) 2018.10.01
UCPC 2018 출제 후기  (3) 2018.08.15
내 장단점 분석글  (2) 2018.03.27
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함