정보보안기사 동회차 합격 후기

Posted by : at

Category : certification_study


0. Intro


2022년 12월 21일부터 2023년 4월 22일까지의 레이스가 끝났다. 정보보안기사 동회차 합격이라는 결과로.

합격했다는 점에서 끝났다는 뜻이지 사실 끝난 건 아니다… 공부에 끝이 있을 리가 없잖아.

이번이 첫 도전이었고, 이렇게 한방에 붙을 줄 몰랐는데 나도 어이가 없어서 어안이 벙벙하다. 아침에 눈도 못 뜬 채로 핸드폰을 봤는데 최종합격 문자가 와있어서 진짜 침대에서 떨어질 뻔 했잖아…

아무튼, 붙은 김에 내가 어떻게 공부를 했는지 한 번 써보려 한다. 필기 준비할 땐 그나마 정보가 있었는데, 실기 준비할 땐 정보가 거의 없다시피해서 마음고생을 좀 했기 때문이다.

각설하고, 이제 본격적으로 설명해보겠다.

1. 필기 (22.12.21~23.03.10)


1.0. 내 배경지식 설명


이 글을 읽는 사람들은 정보보안기사 공부를 위해 자료수집을 하고 있는 중일 것이다. 그래서 1.0절의 내용은 최대한 자세히 서술했다.

  • 읽는 게 귀찮은 사람들을 위해 한 줄 요약 하자면, “나는 정보보안 관련해 넓고 얕게 공부해 왔다”는 내용이다.


먼저 나는 정보보안학을 전공한 5학년(…) 학생이다. 그래 나 초과학기생이다…..

학교 공부가 재밌어서 전공 교과목들은 거의 다 A+ 아니면 A를 받았고, 21년에는 BoB 10기 취약점분석트랙을 이수한 바 있다. 방학 동안에는 포너블과 리버싱을 공부했었고, 어셈블리를 이때 독학으로 끝냈다.

전공 과목 공부 시에는 단순히 제시되는 내용만 공부하지 않고 논리적으로 빈 구멍이 없어져 내가 납득할 수 있을 때까지 깊게 공부하는 방식을 취했다. 어느 정도로 깊게 팠었냐면, 디지털 포렌식을 실습하는 과제 하나로 A4 80페이지 정도 분량을 제출하거나 해킹 실습 과제를 할 때 이것에 관여하는 OS의 보안체계나 API등을 전부 연결시켜 과정을 설명했던 적이 있었고 모든 전공 과제를 이런 식으로 했던 정도였다.

추가로 학부 졸업 프로젝트로 정보보안 위험관리를 관리적, 물리적, 기술적 보안으로 나누어 각 정보자산에 대해 수행하는 프로그램의 서버와 데이터베이스를 만들고 관리한 적이 있다. 이때 내 코드의 보안성을 보장할 방법에 대해서도 생각했다.

대외적으로는 랜섬웨어 TTPs에 대해 접한 게 많고, 블록체인 기반 가상자산에 대해서도 귀동냥한 게 많다. 최신 트렌드에 관심이 많아 새로운 기술과 굵직한 신규 CVE들을 업데이트하고 있고, 안드로이드 커널 퍼징을 하고 싶어 이것저것 알아본 적도 있다. 논문 읽는 것도 좋아해서 밥 먹으면서 갉작갉작 읽은 논문이 조금 된다.

셀프 신상털이를 하려는 게 아니다. 내가 보안기사 시험을 준비하기 전까지 쌓아 왔던 배경 지식이 이렇다는 것이다. 이제부터 이 글을 읽을 때 꼭, 꼭 내 배경을 감안해서 이해하길 부탁한다. 그래야 독자 자신도 스스로에게 맞는 계획을 세울 수 있을 테니까.


1.1. 필기 교재


필기 교재는 알기사 정보보안기사 교재를 사용했다.

1.2. 공부 방법


공부 시간

22년 12월 21일부터 23년 3월 1일까지는 방학 기간이었다. 기말고사가 끝난 직후부터 매일같이 아침 10시부터 밤 10시까지 공부했다. 이렇게 하니 12시간을 꼬박 공부한 것 같지만, 밥먹고 운동하고 씻고 여가시간도 가져가면서 했기 때문에 하루 평균 순 공부시간은 6시간이었다 ㅋㅋㅋㅋㅋㅋㅋ

교재 공부

먼저 난 필기는 독학으로 공부했다. 알기사 교재를 샀고, 읽었다. 1회독을 끝낸 다음 마지막 2주 동안은 한 번 더 회독을 했다. 기출문제는 사실 거의 못 풀었다. 교재 2회독이 전부였다… 써놓고 보니 허망하네

내가 교재를 공부했던 세부 방식은 아래와 같다.

  1. 교재의 챕터를 나열한 표를 만들어 필기시험날까지 하루 얼마나 공부를 해야 하는가를 설정했다.
    • 이는 챕터를 빼먹고 공부하는 것, 그리고 하루에 얼마나 양을 편성해야 하는지 감을 못 잡고 시간을 낭비하는 불상사를 막기 위함이었다.
  2. 연필로 대강 중요해 보이는 부분에 밑줄을 쳐가면서 공부했다.
    • 논리적으로 구멍이 있어 보이면 바로바로 메꾸고, 그 내용을 옆에 연필로 적어두었다.
    • 즉, 내가 납득하고 내부적으로 재구성할 수 있을 때까지 이해했다.
    • 부족한 연결고리는 검색으로 메웠다.
    • 명령어를 치거나 시스템 관련한 것들은 직접 실습했다.
  3. 배운 내용을 일상에 어떻게든 적용해 보았다.
    • 사실 효과적인 공부 방법은 회독이 아니다. 회독은 오히려 공부가 안 된다. (관련해 논문도 있다)
    • 가장 효과적인 공부법은 백지복습이다.
    • 즉, 공부의 효율을 올리는 방법은 능동적인 응용이다.
    • 따라서 일상 생활에 내가 배운 내용을 적용했다. 무선 네트워크를 공부한 날은 근처 전자제품 마트에 가서 무선 네트워크 상품들을 구경하며 공부했던 걸 응용해 상품의 기능과 스펙을 이해하는 식으로…
  4. 새로 공부하는 내용들에 어떻게 해서든 감상을 붙였다.
    • 3과 비슷한 건데, 새로운 정보를 습득하는 순간에 어떻게든 태깅을 하는 것이다.
    • 이렇게 하면 정보를 기억해내는 경로가 훨씬 많아져 더 효율적으로 기억할 수 있다. (나는 그렇다는 이야기다)
  5. 2회독을 할 땐 한 챕터에서 내가 공부하는 내용이 어느 지점에 있는지를 계속해서 상기했다.
    • 교재는 독자에게 내용을 설명하기 위한 책이다. 즉, 큰 주제를 설명할 땐 반드시 전체의 흐름이 맞도록 소주제를 나열하고 그 아래에서도 흐름이 이어지도록 세부주제를 나열할 수밖에 없다.
    • 따라서 같은 내용을 보더라도 지금 이 내용이 1) 큰 주제에서 2) 무엇을 설명하기 위해 3) 어떻게 기술된 내용인지를 알고 보는 것과 모르는 것은 천양지차다.
    • 내가 습득하는 지식이 어떤 스토리를 가지고 있는지 큰 맵을 머릿속에 넣어놓는 것이 2회독의 목표였다.


1.3. 결과


Untitled


평균 76점. 모든 과목에서 60점을 넘기며 필기에 합격했다.

과락 기준은 40점이지만 평균 60이 넘어야 합격인 시험인만큼 내 목표는 모든 과목 60점 이상이었다. 목표를 이룰 수 있어서 정말 기뻤고, 그와중에 왜 기타보안은 100점인 건지 어이가 없었으며, 시스템보안과 보안법규 쪽이 역시 약하구나 싶었다. 이 감상은 실기 준비에 큰 도움이 되었다.

그리고 조금 당황스러웠던 게, 나는 PBT로 시험을 쳤는데-여기에 안드로이드 관련 문제가 나왔던 점이었다. 안드로이드를 찍먹한 덕에 맞았다. 이런 식으로 논외의 영역에서 나오는 문제들은 평소에 얼마나 다양한 분야에 관심을 가졌느냐가 정오답을 가르는구나 싶었다.

틀린 문제는 전부 오답 분석을 했다.

2. 실기 (23.03.12 ~ 23.04.22)


2.0. 배경 상황 설명


사실 3월 10일 필기를 치고 집에 와서 가채점을 하자마자 합격인 걸 알았기 때문에 4월 23일 실기시험은 3월 12일부터 준비를 시작했다.

  • 마지막 학기인 지금, 전공 한 과목을 포함해 16학점 수업을 듣고 있고…
  • 나중에 해외 대학원 진학을 생각하고 있기 때문에 GPA도 굉장히 신경쓰고 있다.
  • 그뿐 아니라 감사하게도(엉엉) 경찰청에 분과위원으로 참여중인 연구회에서 발표 제안을 받아서 그것도 준비하고 있었고…
  • 정확히 기말고사 시즌과 겹치는 시험 일자였다.

심적으로 압박을 많이 받았던 것 같다. 생리가 10일이나 밀렸거든…. 자궁이 실기시험날 유혈사태가 나지 않도록 눈치챙겨줬다 고맙다 이자식아ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ

아무튼, 정말 바빴다. 그 상황에서 실기 준비를 하려니 밤에 세 시간 정도만을 낼 수 있었다. 거기다가 한 달 조금 더 되는 짧은 시간. 이건 고정값인 내 학습 능력보다는 유동값인 학습 전략을 잘 조정하는 게 현명해 보였고, 따라서 공시생 지인에게 공부법 자문을 구했다. (훈녀생정 #1. 모르면 전문가에게 자문을 구하자)


2.1. 실기 교재


  1. 알기사 실기 교재
  2. 알기사 실기 인강
  3. KISA 주요정보통신기반시설 기술적 취약점 분석 평가 방법 상세가이드
  4. 데이터 3법 pdf


2.2. 공부 방법


공부 시간

앞서 말했듯 3월 11일부터 4월 22일까지 한 달 10일여의 시간이 있었고, 학교 수업과 병행해야 했기 때문에 하루 순공부 시간은 4시간이 나왔다. 밤에 3시간, 낮에 짬짬이 공부하며 1시간.

공부 전략

인강을 최대한 보고, 빈출되는 개념을 확인해 과목에 중요도를 부여한 다음, 현재 상황을 고려하여 과목별로 다른 공부법을 취하는 것이 요지였다.

  1. 실기 인강을 결제했다. 동회차에 붙으리라는 생각을 못 했기 때문에 하루 강의를 1개 내지 2개 들었다. 그렇게 146강 중 28강 정도를 봤다. (원래는 24강을 봤는데, 추가 4개 강의는 유명한 시스템 해킹 기법을 다룬 거라 내가 모를 수가 없어서 그냥 계산에 넣었다)

  2. 실기 교재는 인강을 들은 부분만큼 정리하고 외웠다. 내가 직접 해볼 수 있는 건 직접 해봤다.

  3. 필기 교재의 원하는 부분을 선정해 마인드맵을 만드는 형식으로 챕터 내용을 구조화했다.
    • 앞서 1.3절에서 말했듯 나는 시스템보안과 보안법규가 약하고, 네트워크보안도 좀 약한 편임을 알아냈다.
    • 정보보안기사 실기에서 빈출되는 테마들을 확인했고, 그 결과 네트워크보안(특히 DoS와 DDoS) ≥ 시스템보안 > 보안법규 > 그 외 과목 순으로 중요도가 높다는 결론을 내렸다.
    • 따라서 현재 인강으로 듣고 있는 시스템보안은 인강에게 맡기고, 시간이 오래 걸리는 보안법규는 데이터 3법을 pdf로 만들어 쉬는 시간에 읽었으며, 네트워크보안을 마인드맵화했다.
  4. 마지막 4일 동안은 문제를 눈으로 주구장창 풀었다. 이동 시간과 학교에서 자투리 시간은 취약점분석가이드를 읽는 데 썼다. 법규를 다 못 읽었지만 과감히 버렸다.
    • 말 그대로 앉아서 하루종일 문제만 눈으로 풀었다. 원래 나는 논설문 쓰기를 잘하기 때문에 더 연습할 이유가 없었고, 따라서 손으로 쓰는 시간을 아끼기 위해서였다.
    • 사실 이게 제일 도움됐다. 필기를 확실히 공부했기 때문에 문제 자체를 푸는 데 별 어려움이 없었고, 실기 강의를 들으면서 희미하게만 알던 걸 응용하며 암기한 데다가, 내가 부족한 부분을 알아내서 그 개념을 손으로 쓰고 정리하며 구멍을 메울 수 있었기 때문이다. 실제로 이렇게 구멍을 메운 부분이 시험에 나왔다.
    • 법규를 다 못 읽었는데도 취약점분석가이드를 읽은 이유는, 출제자의 의도를 고려하면 3년차 정도 될 실무자의 실무능력을 측정하는 게 이 시험의 본질인 것 같은데 그렇다면 그 입장에서는 취약점분석가이드가 더 중요할 것 같아서였다.
    • 그러나 마지막 4일만 취약점분석가이드에 투자한 이유는, 1) 법규 지식이 공백에 가까운 상태였고 2) 나는 내 배경지식으로 어느 정도의 취약점과 관련 코드를 이해하고 쓸 능력이 있었기 때문이었다. 즉 내 특성과 시간분배의 문제였다.
  5. 그리고 기도했다. 진짜 손에 불이 나도록 기도했다. 제발!!! 제가 아는 내용이 나오게 해 주세요!!!! 제발!!!
    • 당연하잖아. 이렇게 공부해도 전체의 30% 정도 공부한 거다. 그럼 이제 기도해야지…
    • 그런데 그게 이루어졌습니다
    • 다 아는 내용이 나왔고(IDS 관련 제외) 법규도 이전 프로젝트 + 재밌어 보여서 들었던 전공선택수업 때문에 하도 법조문을 읽어서 대충 생긴 감으로 때려맞출 정도의 내용이 나왔다. HTTPS 관련 문제도 필기 때 궁금해서 더 깊게 찾아봤던 문제가 나왔던 데다가 심지어 실무형 문제도 취약점분석가이드에서 읽으면서 호오… 재밌네… 했던 내용이 나왔다.
    • 결론: 기도 열심히 해라. 아니면 사주팔자를 좋은 걸 받아서 끝장나는 운빨을 가져라(아님)(농담임)(알지???)


2.3. 결과


Untitled

Untitled


69점으로 합격했다. 난 한 61점으로 붙거나 59점으로 떨어질 거라고 생각했는데… 의외로 잘 봐서 어이가 없었다. 뭐지? 얼굴도 성함도 성별도 모르지만 채점관님 감사합니다.

다시 한 번 말하지만 정말 운이 좋았다.

필기 공부를 하면서 더 깊게 팠던 게 나왔던 것도, 내가 원래도 잘 알았고 졸업 프로젝트를 하면서 신경썼던 SQL Injection이 나왔던 것도, 그걸 취약점분석가이드에서 읽고 내가 몰랐던 대응도 있구나 재밌어했던 지점이 나왔던 것도, 대충 법에서 의무를 부여하는 사업장의 규모는 월 100만명 이상이 방문하는 정보통신사업자구나 하는 감을 가지고 있던 것도, 기출을 풀며 내가 부족하구나 싶어 손으로 쓰고 정리했던 리눅스/유닉스 로그 파일 문제가 나왔던 것도, 기사 시험에 도움이 될 것 같아 네트워크 수업을 신청해 들었는데 거기에서 공부했던 내용이 나왔던 것도….

이하 나열할 수도 없는 수많은 것들이 정말 하나같이 운이 좋았고 그래서 전체 문제 중 IDS 문제를 제외하고 뭐라도 써볼 수 있었다. 조금이라도 더 깊이 있는 내용이 나왔다면 떨어졌을 거다. 그래서 정보보안기사 합격에 마냥 기뻐할 수가 없다.

또한 여러 논문을 읽고 개인 프로젝트와 팀 프로젝트를 해본 후에 이 자격증을 공부해 보니 알겠다. 정보보안기사는 그냥 기본이 되었느냐를 묻는 자격증이다. 이 기본이 되어야 그 어떤 응용을 하더라도 더 깊은 이해와 효율을 보일 수 있다. 그래서 합격했다고 풀어질 수가 없다. 나는 과연 기본이 되었는가? 아니기 때문이다.

그래서 원래 내가 목표했던 만큼의 공부는 전부 할 예정이다. 지금 이미 하고 있다.


이 시험을 준비하기 위해 정보를 찾다가 여기에 들어와 끝까지 읽은 당신에게 힘내라는 말을 하고 싶다. 그리고 꼭 붙으시라고도. 정말 힘든 시험이지만 그렇다고 죽을 만큼 힘들진 않더라고요. 할 만 합니다. 할 수 있어요. 화이팅.




+) 추가. 그리고 완전 대박! 정보보안기사 공부를 했던 덕에 전공과목 중간고사에서는 내가 전체 수강생 중 유일한 만점자가 되었다. 감사합니다…. 감사합니다…. 문제의 칸은 좁은데 대체 어느 정도 depth까지 써야 할지 모르겠어서 최대한 간략하게 추려 썼는데 만점이었다. 난 정말 운이 좋은 사람이다. 행복!



About TouBVA
TouBVA

A Security Researcher, now concentrating on Security Consulting.

Email : touBVa@gmail.com

Website : https://toubva.github.io