ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 2019년도 KAIST 정보보호대학원 봄학기 석사 과정 면접
    후기 2020. 12. 21. 09:30

     

     

    면접 내용을 얘기하기 전에 간단히 내 소개를 하자면, 2019년도 KAIST 정보보호대학원 봄학기 석사 과정 국비 전형으로 입학을 했으며 곧 졸업을 앞두고 있다. 그런데 면접 내용을 왜 지금에서야 올리냐고? 원래는 올릴 생각이 전혀 없었는데 그냥 올리고 싶어졌다. 사람 마음이 어떻게 한결같을 수 있겠는가.

     

    참고로 정보보호대학원의 면접 방식은 매 차례 바뀌는 것 같다. 그러니 면접 방식에 대해서는 '내가 면접 볼 때도 비슷하지 않을까?'라고 생각하지 말자. 당장 2020년도 봄학기 때의 면접 방식과 나 때의 면접 방식이 달랐다.

     

    2019년도 봄학기 때의 면접 시간은 총 10분으로, 메일로 통보받은 면접 방식은 아래와 같다.

     

    (1분) 자기 소개 및 전공 소개 : 자기소개 + 보안 분야에서 깊이 있게 연구하였던 부분에 대해 브리핑(=전공 소개)

    (3분) 전공 심화 질문 및 답변 : 전공 소개에 대한 질의응답

    (4분) 기초 선택 질문 및 답변 : 시스템, 소프트웨어, 네트워크, 암호 중 택 1

    (2분) 기타 추가 질문

     

    선택 과목은 아래와 같다.

     

    • 시스템 : 운영 체제, 시스템 프로그래밍 등
    • 소프트웨어 : 프로그래밍 언어론, 컴파일러 이론, 프로그램 분석(정적 동적 분석), 소프트웨어 해킹(buffer overflow, integer overflow, ROP, use-after-free) 등
    • 네트워크 : TCP/IP 개론, 응용 레벨 네트워크 프로토콜(HTTP, HTTPS, DNS 관련 등), 기본적인 네트워크 공격 방어(DDoS, network scan, network intrusion detection) 등
    • 암호 : 비밀키 암호, 공개키 암호, 암호 프로토콜 등

     

    본론으로 들어가자.

     

    일단 나의 경우는 전공 심화 질문 및 답변에서 특별한 이야기가 오가지 않았다. 교수님들께서 딱히 내가 진행했던 프로젝트에 흥미가 없으셨던 것 같다. "프로젝트에서 ~를 어떻게 했어요?"라는 질문은 나오지 않았고 "이런 걸 했어요? 그렇군."과 같은 반응이었다. 명심하자. 이것은 나의 경우이다. 면접을 본 다른 학생들 중에서는 프로젝트 얘기만 하다가 면접이 끝났다고 하더라. 

     

    면접을 보러 가기 전, 기초 선택 질문 및 답변 때 어떤 과목을 주종목으로 선택할지 매우 고민했다. 내가 자신 있는 과목은 시스템이었는데 가고 싶은 연구실은 소프트웨어 보안 연구실이었기 때문이다. 하지만 소프트웨어를 택하자니 프로그래밍 언어론, 컴파일러 이론, 프로그램 분석은 내가 아예 모르는 영역이었다.

     

    하지만 어쩌겠는가? 대학원에 합격을 해야 연구실을 선택할 수 있는 권한이 생긴다. 그래서 일단 시스템 과목으로 면접을 본 후 수단과 방법을 가리지 않고 소프트웨어 보안 연구실에 들어가면 되겠다고 생각을 했다.

     

    교수님들마다 기초 과목 질문 담당자가 있는 것 같았다. 시스템 과목을 선택한 나에겐 시스템 연구실에 계시는 교수님께서 주로 질문을 하셨다. 물론 중간중간에 다른 교수님이 '이 학생은 이것도 아려나?'라는 심리로 질문을 하는 경우가 있었다.

     

    질문 내용은 다음과 같다.

     

    • 커널(kernel)이 존재하는 이유가 무엇인가?
    • 특권 명령(previleged instruction)이 무엇인가?
    • 시스템 호출(system call)이 일어날 때 어떠한 하드웨어적인 도움을 받는가?
    • 인터럽트(interrupt) 동작 메커니즘을 아는 대로 얘기해보라.
    • 힙 메모리 관리법(heap memory management)에 대해서 아는 대로 설명해라.
    • UAF 취약점은 어떻게 발생하는가?
    • 프레그멘테이션(fragmentation)이 무엇인가? External fragmentation과 interanl fragmentation의 차이는 무엇인가?
    • 일반적인 페이지(page) 사이즈는 어떻게 되는가?

     

    교수님께서 페이징과 관련해서 질문을 하려다가 "페이징이 뭔지 알죠? 그럼,... 아 근데 이 학생은 왠지 알 것 같군. 그러면 혹시 일반적인 페이지 사이즈는 어떻게 되는지 아나요?"라고 질문을 바꾸셨다. 그러니 페이징과 관련해서까지 공부를 해가면 좋을 것 같다.

     

    대학교 운영 체제 수업을 열심히 들은 학생들은 문제를 보자마자 느꼈겠지만, 취약점과 관련한 질문을 제외하고는 전부 수업 시간에 중요하게 다루는 내용들이다. 이말은즉슨 수업 내용만 잘 복습하면 질문에 대답하기가 아주 수월하다.

     

    다행히 면접 문제들이 내가 명확하게 알고 있던 내용들이라서 막힘없이 대답했다. 여기서 한 가지 포인트! 알고 있는 내용에 대해서 망설임이 없이 얘기하는 것이 좋다. 중간중간 나의 멘탈을 흔들기 위한 질문을 하셨는데, 예를 들어 "방금 이러이러하다고 얘기했는데 아니지 않나? 다시 생각해 봐"라고 하신다. 하지만 여기서 "앗? 그런가요...? 잠깐만요... 제 말이 틀린 것 같기도 하네요..."라는 반응을 보이면 안 된다. 내가 말했던 답변이 틀리지 않다는 것을 확신한다면 "아니오, 이러이러하기 때문에 제가 말했던 얘기가 맞습니다."라고 얘기할 줄 알아야 한다. 그러면 교수님도 "흠... 안 걸려드는군"라고 얘기하시고 다음 질문으로 넘어간다.

     

    기초 과목 질문 및 답변 시간이 속전속결로 끝났던지라, 시간이 꽤 남았다는 것을 아신 한 교수님께서 어느 연구실에 가고 싶은지에 대해 물어보셨다. 나는 정보보호대학원에 지원한 이유가 명확했기 때문에 당당히 "저는 소프트웨어 보안 연구실에 가고 싶습니다."라고 얘기했다. 왜 가고 싶냐고 물으셔서 이런저런 이야기를 했다. 결국 나는 들어가고 싶었던 연구실에 가게 되었는데, 훗날 지도 교수님과 얘기해보니 나의 당당함이 상당히 코믹했다고 한다. 어쨌든 이 이야기를 마친 후 면접이 끝났는데, 내가 면접을 본 시간은 9분도 채 안되었다. 나보다 먼저 면접을 본 학생들이 면접을 오래 본 탓에 나의 면접 시작 예상 시간이 1시간이 넘게 딜레이 된 것을 보면 내가 면접을 상당히 짧게 봤다는 것을 짐작할 수 있었다.

     

    '면접장에서 무슨 일이 펼쳐질까?'와 같은 온갖 상상을 다하고 있을 여러분에게 이 글이 어느 정도 도움이 되었으면 좋겠다. 한 가지 확실한 건 면접장 분위기는 본인이 끌어나간다는 것이다. 여러분들이 화기애애한 분위기로 면접에 임한다면 면접장 역시 화기애애할 것이다.

     

    정보보호대학원에는 우리 교수님을 비롯한 뛰어난 교수님들이 많이 계신다. 다들 연구에 대한 열의가 넘쳐나시고 그만큼 아웃풋도 정말 상당하다. 지도 교수님을 믿고 따라가다 보면 많이 발전한 나 자신을 볼 수 있을 것이다.

     

    이야기를 마무리하기 전에 꼭 하고 싶은 이야기가 있다. 만약 최종 결과가 나와서 합격했다면 최대한 빠른 시일 내로 교수님께 컨택하는 것이 좋다. 특히 인기 있는 교수님의 경우는 발 빠른 학생들이 이미 컨택을 하고 있을 수도 있다. 나 또한 최종 결과가 뜨자마자 1시간 이내로 내가 가고 싶은 연구실의 교수님께 연락을 취했다. 그랬더니 컴파일러 공부를 하면 좋을 것 같다는 조언을 해주셨고, 가능하면 인턴도 해보면 좋을 것 같다고 하셨다. 결국 나는 이 연구실에 들어가기 위해서 인턴을 하게 되었다(눈물). 심지어 인턴을 하기 위해서 따로 면접도 보았다. 어쨌든 최종 결과가 나오면 당장 교수님께 컨택하라!

     

    이 글을 읽고 있는 여러분이 정보보호대학원에 당당히 합격을 해서 Oakland, CCS, Usenix Security, NDSS, ICSE, FSE, 그리고 ASE와 같은 시큐리티 학회 및 소프트웨어 학회에 멋진 논문을 내길 기원한다.

     

Designed by Tistory.