경력직은 말 그대로 직무에 대해 경험해보고 회사를 다녀본 사람을 의미한다. 요즘은 신입보단 경력직 채용이 압도적으로 많은 편이다. 그나마도 있었던 신입 공채도 폐지한 회사들도 많고... 어떻게 보면 예전보다 더 힘들다는게 실감이 많이 간다. 필자도 신입으로 취업 준비를 할 때 몇몇 큰 회사에 이력서를 넣었지만 번번히 서류부터 낙방 되는 곳도 있었다. 필자가 원하는 직무로 넣기만 하면 큰 회사는 다 떨어지고... 첫 회사에 들어가긴 했지만 보안 쪽에서도 그렇게까지 원하는 일도 아니었고..
그래서 큰 맘 먹고 다니던 회사를 퇴사하고 소기업으로 이직했다. 그나마 전에 보안 교육 듣고 만들어놓은 포트폴리오들이 있어서 면접을 볼 기회가 주어졌고 합격할 수 있었다. 드디어 원하는 직무를 해볼 기회가 부여된 것이다. 그래서 그 때 들었던 생각은 "경력 쌓아서 이직하자"가 아닌 "내가 원하는 일이 우선이고 기회가 있을 때 많이 배우자" 이 마인드로 접근했다. 처음엔 당연히 힘들었다. 다 처음해본 일이고 고객사에 혼자 가서 모의해킹하고 담당자 대응하고 이러는게 쉬운게 아니었으니까.
그래도 최선을 다했다. 필자가 하고 싶어서 하는 거고 큰 마음 먹고 왔을 땐 분명 뜻이 있었기 때문이었다. 소기업에 재직 시에는 많은 고객사들을 돌아다녔다. 처음엔 고객사에 가서 일을 한다는 게 좀 생소하긴 했지만 점점 적응해나갔다. 가끔씩은 지방 출장도 있을 때도 있었지만 괜찮은 고객사에서 모의해킹을 수행할 수 있어서 좋은 경험을 했었다. 물론 이렇게 모의해킹을 시작하고 이 일을 하려면 기술 공부를 계속 해야 해서 1년 내내 퇴근 후에도 교육듣고 개인적으로 추가로 더 공부하고 계속 반복의 연속이었다. 개인 노트 하나 만들어서 고객사에서 경험 했던 것, 기술 등등 기록해놓을 수 있는건 다 기록해놓고 많이 봤다.
그렇게 시간이 흐르고 필자도 경력자가 되었다. 소기업에서 모의해킹을 하다 보니 문득 들었던 생각은 "대기업은 어떨까?, 어떤식으로 일을 하고 사업 수주를 해올까?, 프로세스가 체계적이라는데 어떻게 체계적일까?, 소기업하고 차이는 어떤게 있을까?" 등등 계속 궁금증이 들었다. 그래서 대기업에 가서 일을 또 해보고 싶어 이직을 결심했다.
결심은 했는데 지금 연차로 이직이나 될지, 합격은 할 수 있을 지 또 고민이 되었다. 그래도 밑져야 본전이니 이력서나 넣어보자라는 생각으로 이력서를 내기 시작했다. 그동안 기술 공부 했던 것들, 책 쓴 것들, 업무 경험 등에 대해 정리하다보니 어느 순간 그게 필자의 포트폴리오가 되었다. 지금 다시 생각해보면 자격증도 중요하긴 하지만 해봤던 업무 경험이 경력직 이직에 더 도움이 컸던 거 같다.
신기하게도 신입 때는 서류 통과 조차도 안되었던 회사들이 통과되면서 면접 기회가 주어졌다. 확실히 신입 면접과는 다르게 경력직 면접은 해당 직무 경험에 대해 물어보는 경우가 많았다. 말 그대로 경력직은 뽑아서 즉시 전력으로 투입할 수 있어야 하니 전공 지식 부분도 중요하지만 업무 경험이 더 중요하다. 필자가 직접 다 해본 것들이라 면접관 분들과 편안하게 대화 하는 분위기로 면접을 볼 수 있었다.
그렇게 면접을 본 결과 모두 최종합격 통보를 받을 수 있었고 원래부터 필자가 가고 싶었던 회사를 선택해서 가게 되었다. 신입사원으로 지원했을 땐 내 스펙으론 면접은 커녕 서류 통과 조차도 안되었던 회사에서 최종 합격 통보를 받아서 한동안 신기했다. 지금도 현 회사에서 모의해킹, 인증 심사 대비 등을 계속 하고 있다. 전 회사보다 더 좋은 프로젝트에 투입 되어 좋은 경험을 많이 쌓게 해줘 이런 기회를 준 현 회사에 감사하게 생각하고 있다.
큰 회사로 이직을 한 후 현 회사에서 두번째 연간 프로젝트도 마무리하게 되었다. 뭔가 이번엔 상당히 많이 아쉬웠다. 같이 프로젝트 한 사람들하고 정도 많이 들고 손발이 잘 맞아서 어떤 일을 하더라도 일사천리로 다 처리하다보니 분위기도 워낙 좋았다. 또 서로 비슷한 연령대다 보니 더 그런거 같다.
연간 프로젝트가 끝나다보면 항상 생각이 드는건 이렇게 잘 맞는 사람들과 계속 일을 같이 하면 좋은데.... 프로젝트의 특성 상 그 사람들과 계속해서 같이 못한다는 건 늘 아쉬웠다. 다음 프로젝트에서는 또 어떤 사람을 만나게 될 지 모르고... 이런 점들이 컨설팅의 장점이 될 수도 있지만 단점이라고 말할 수 있겠다.
모의해킹을 시작하고 어언듯 벌써 4년이 조금 넘는 시간이 흘렀다. 이번 두번째 연간 프로젝트가 필자가 했었던 인생 프로젝트 같다. 크리티컬한 취약점도 많이 찾아주고 개발자들과 커뮤니케이션해서 조치 하고... 사람들에게도 인정도 받고.. 이 프로젝트가 두번째 터닝 포인트인 것 같다. 작년에도 연간 사업을 할 때도 나쁘진 않았지만 이번 연간 사업이 제일 만족스러웠고 좋았다. 그만큼 많은 것들을 경험했고 처음 해보는 것들도 꽤 많아서 팀원들하고 의논도 하고 좋은거 있으면 공유해가면서 그런 것들을 토대로 필자도 계속 공부하면서 모의해킹을 진행했던 것 같다.
사실 이번 연간 프로젝트도 쉬운게 아니었다. 워낙 시스템들도 방대하고 연습용 웹 사이트나 알고 있는 웹하곤 레벨이 달라 연차가 낮은 사람들이 와서 하기에는 무리수가 많았다. 물론 연차가 낮더라도 좋은 프로젝트에 들어갔다 나온 사람들이라면 괜찮겠지만 연차가 낮을 때 연간 프로젝트에 들어가는 것은 회사에서 영업을 엄청 잘하지 않는 이상 거의 불가능에 가깝다.
이번 연간 프로젝트를 통해 기술도 기술이지만 시스템 개발자들이나 담당자들과 커뮤니케이션을 하는 스킬, 문제 해결력, 상황 대처법 등에 대해 더 많이 배웠던 계기가 되었다. 그래서도 좋은 프로젝트에 보내주고 좋은 사람들을 만나게 해준 회사에 감사하고 있다.
지금부터 15일간의 휴가를 즐긴 뒤 다음번에도 같은 연간 사업에 또 들어가게 된다. 그 때도 이것저것 많이 배울 수 있으면 좋겠다. 특히 기술쪽은 배움이 끝이 없는 거 같다. 어느정도 레벨이 올라온거 같은데도 모르는게 있고 또 배워야 될 때가 있고... 이렇게 힘들게 배우고 하는 만큼 보상은 다 받으며 특히 모의해킹은 고용 불안에 대한 걱정도 전혀 없으니(오히려 인력난이라 상시 채용중) 즐기면서 하길 바란다.
** 간혹 연봉 물어 보는 사람들 있는데 어떠한 경우에도 절대 답변 안합니다. 연봉은 회사 내규 비밀이고 가장 예민한 사항이기에 그 어떠한 경우에도 오픈하지 않게 되어 있습니다. 반대로 남들이 본인들 연봉 물어보고 캐내고 그러면 기분 좋겠습니까? 선 넘는 질문 삼가하세요. **
iso 27001 인증심사원(보)를 등록하기 위해선 iso 19011 취득이 필수다. ISO 27001은 합격했지만 ISO 19011는 취득전이라 인증심사 기관에 ISO 27001 인증심사원(보)를 등록하지 못해 신청을 하게 되었다.
iso 19011은 전반적으로 인증 심사에 대한 교양, 기초, 업무 프로세스 등을 배웠다. iso 27001 하곤 조금 차이가 있긴 했던거 같다. 이것도 당연히 교육+과제+시험이 다 따로 구성 되어 있다. 필자는 개인적으로 iso 27001 보다는 수월하게 공부를 했다. 기초 교양, 업무 프로세스가 대다수를 이루고 있었기 때문에 큰 압박을 받진 않은 상태에서 하니 마음이 많이 편했던 것 같다. 물론 과제 양은 iso 27001과 비슷하게 만만치는 않았다. 양이 좀 많아 토요일 하루를 다 쓰면서 과제를 완성했다. 이것도 다 채점이 들어가기 때문에 소홀히 하는 사람은 본 시험을 잘봐야 통과된다.
교육, 과제, 시험을 모두 통과하고 받은 합격증. 이것도 채점되는데 열흘 이상은 걸린다. 이번년에는 이 자격증을 따고 싶었는데 목표를 이루어서 좋다.
GCT 기관에 모든 신고 서류를 작성하고 최종 ISO 27001:2013 인증심사원(보)가 되었다. 신고 서류도 경력을 작성해야 되는데 확실히 경력 커리어를 잘 쌓아 놓다 보니 큰 문제 없이 승인이 완료되었다. 이제 ISO 관련 컨설팅 및 인증 심사 사업이 있으면 심사원 활동 기회도 주어지고 생각보다 쓸만한 자격증이다. 공부하면서 상당히 도움이 많이 되어 cppg 시험도 이어서 도전하게 되었다.
이직을 하고 나서 벌써 두번째 장기 프로젝트도 막바지를 향해 달려가고 있다. 전 회사에서도 대기업, 공공기관 위주로 다니긴 했었지만 대부분 단기 사업이어서 간접적으로만 경험을 했는데 이직한 회사에선 연간 프로젝트 위주로 계속 금융권, 대기업으로 가게 되었다. 연간 프로젝트를 하다 보니 그 회사에 대한 문화, 조직 특성 등을 알게 된 점, 체계적인 프로세스 등에 대해 많이 알게 되었다. 또한 좋은 환경에서만 근무하고 워라벨도 확실히 보장이 되니 만족하면서 했다.
지금 하고 있는 프로젝트도 쉽지 않은 프로젝트였다. 모의해킹 대상들도 단순히 기술적인 부분만 잘하고 안다고 해서 하는 것도 아니었다. 그 시스템의 구성도 등도 읽고 파악할 줄 알아야 되고 절대로 쉽게 할 수 있지 않은 프로젝트였다. 필자도 느꼈던건 확실히 연차가 계속 올라가니 수준이 있는 고객사로 가게 된다는 것이었다. 장단점이 있겠지만 이런 곳으로 연간 프로젝트를 가니 실력 상승은 월등하게 빨랐다. 필자도 연차가 좀 되었다고 모든 것을 아는 건 아니었다. 처음해보는 것도 있고 모르는 것도 있고 생각보다 난관들이 많았다.
그래도 모른다고 안할 수는 없으니 당연히 모르면 계속 찾아봤다. 구글을 찾든 가이드라인을 보든 할 수 있고 익숙해질 때까지 했다. 작년에 금융권에 들어가서 했었던 경험들이 두번째 연간 프로젝트에서도 큰 도움이 되었다. 이렇게 어려운 난관에 부딪쳤을 때 해결해 나갈 수 있는 문제 해결 능력이 빛을 발했던 것 같다. 그렇게 처음 해보는 거여도 알려고 했고 지금은 그것도 익숙해져서 배울 수 있었다.
물론 처음에 들어왔을 때는 투입된 고객사의 프로세스, 인프라 등등 적응 시간이 필요해 쉽진 않았지만 금방 적응이 되어 지금까지 올 수 있었던 것 같다. 고객사마다 차이는 있지만 특히 연간 프로젝트들은 적응만 되면 굉장히 편하고 배우는게 많기 때문에 필자도 연간 사업을 좀 더 선호하는 편이기도 하다. 만약 연간 프로젝트에서 뭔가 말이 계속 나오고 심할 경우 인력 교체가 되면 나중에 이직을 하거나 다른 고객사에 들어가려고 해도 평판 조회에서 불이익을 당할 수도 있다.
그래서 연간 사업을 할 때는 필자도 항상 긴장의 끈을 늦추지 않았다. 담당자 분이 하지 말아 달라는 부탁이 있으면 꼼꼼히 적어놓고 숙지하면서 업무를 했다. 모의해킹은 잘못하면 이슈가 발생할 소지가 많기 때문에 항상 뭔가를 할 땐 긴장하면서 했다. 아무리 베테랑이어도 늘 긴장하면서 하는게 모의해킹이다.
이제 마무리 단계에 접어들었지만 앞으로 남은 일도 잘 끝내주고 싶다. 다음번에는 또 어떤 사업에 들어갈 진 모르겠지만 필자가 할 수 있는 만큼 역량을 발휘해 주고 싶다. 연차가 높아질수록 책임감도 많아지지만 그만큼 또 배우고 얻는게 많으니 기술쪽으로 조금 더 하고 싶다는 생각이 든다.
최근엔 4차 산업 혁명이라고 해서 IT 분야가 많이 뜨고 있는 추세다. 관련 교육 학원들도 많고 교육들도 많고... 확실히 옛날보단 환경이 많이 좋아졌음을 느낀다. 또한 IT 분야의 환경, 처우 등도 많이 개선되고 있다. IT 하면 야근, 박봉 등등 안좋은 인식이 많았는데 필자도 계속 보안쪽 일을 하고 있지만 전혀 그렇지가 않았다. 요즘은 회사마다 다르긴 하지만 연봉도 많이 올려주고 있고 연봉이 조금 적으면 워라벨이라도 잘 챙겨주려고 노력하는 곳도 많다. 물론 워라벨, 연봉 둘 다 챙기면 참 좋겠지만 균형추 맞추기는 그렇게 쉬운건 아니었다.
하지만 이렇게라도 개선 되고 있어 IT 분야에 와서 종사한 건 괜찮은 선택이었다. 필자가 하고 싶은 일이었기에도 더 그런거 같다. 취업도 그렇게 쉽게 되진 않았었지만 비전공자 였던 것을 감안하면 엄청 늦은 건 아니었다. 필자도 학원을 다녔었지만 취업을 하고 나니 느낀 것도 많았다. 학원을 다니면서 워낙 공부할 게 많아서 조금 좋아보이는 전공책이다, 자료다 이런 생각이 들면 돈 안 아끼고 사고 공부하고... 그런게 밑바탕이 되서 지금까지 계속 모의해킹을 하면서 일하고 있는 것 같다.
특히 모의해킹을 함에 있어서 누군가가 알려 주지 않았다. 처음에 신입으로 들어가서 회사 선배들도 업무에 필요한 가이드, 보고서 정도만 필자에게 제공해주고 그 이후엔 모두 스스로 해야 했다. 물론 담당자 대응하면서 어려운 점들이 있다면 선배들이 대응하는 것 정도는 도와줬었다. 하지만 기술적인 부분이나 이런 것들은 필자 스스로 공부하고 깨우쳤다. 업무에 필요한 가이드, 보고서를 주는 선배가 있다면 정말 감사하게 생각 해야 한다.
IT 특성이 이렇다 보니까 필자 스스로 독하게 열심히 할 수 밖에 없었다. 취업 전 학원에 다닐 때도 원장님께서 그런 것들을 필자에게 많이 가르쳐주셨고 실제 실무에 나와보니 왜 그렇게 하셨는지 이해가 갔고 지금은 많이 감사 하고 있다. 만약 필자가 계속 떠먹여주기 식 공부만 했다면 절대 살아 남지 못했을 것이다.
모의해킹뿐 아니라 개발자들도 마찬가지다. 주변에 개발자 친구들이 많아 물어보면 개발자들은 더 스스로 공부를 해야 한다고 한다. 누군가가 교육시켜주는 경우는 거의 없으며 가르칠 시간도 없다고 한다. 그렇기에 IT는 스스로 공부를 할 줄 알아야 한다는 것이다. 필자도 IT 교육 강의, 보안 가이드 등을 보면서 틈날때마다 공부했고 지금은 남들 앞에서 점검 항목, 방법 등에 대해 기술적으로 설명이 가능하고 세미나도 가능할 정도로 되었다. 많은 고객사를 다녀보고 프로젝트를 하면서 항상 가이드를 보다 보면 부족한 부분도 많고 잘못된 부분도 있어 필자 스스로 가이드를 보강하고 보고서 템플릿 등을 만들고 했다.
특히나 보안 쪽은 스스로 공부 할 줄 알아야 살아 남는다. 실무에 와서 스스로 공부 하는 방법을 모르고 공부 안하는 사람들은 1년도 안되서 그만 두는 경우도 종종 봤었다. 항상 끊임 없이 고민 해야 하고 스스로 연구할 줄 아는 사람은 3년 이상을 해도 끄떡 없으며 고급 인력이 될 수 있다.
2022년 4월 ISO 27001:2013 자격증 취득에 성공했다. ISO/IEC 27001은 국제표준화기구에서 제정한 정보보호 관리체계에 대한 국제 표준이고 정보보호 분야에서 가장 권위 있는 국제 인증 심사원 자격증이다. 필자도 모의해킹을 계속 하고 있지만 보안 정책 인증 심사 파트에도 관심이 많아 취득하게 되었다.
이번에 자격증은 조금 오랜만에 취득 했었다. 그래서 잘 할 수 있을까 그 생각도 많이 들었다. 게다가 ISO 27001 자격증은 가격도 엄청 비쌌다. 그렇기 때문에 부담 아닌 부담이 아닐 수 없었고 취득을 어떻게 했는지, 시험은 어떤거 보는지에 대해 전혀 모르고 그냥 신청해서 도전해봤었다.
직장에 다니고 있어서 평일날엔 수업을 듣지 못해 주말반으로 신청했다. 코로나가 줄어들었다 해도 계속 온라인으로만 하는 상황이었기 때문에 온라인으로 수업이 진행되었다. 사실 기술 파트(웹, 모바일, 인프라, API 진단 등)로만 계속 경력을 쌓고 커리어를 쌓아왔기 때문에 인증 심사 쪽은 잘 모르고 시작했었다. 그래서 이게 더 무대뽀(?) 였던 것이다.
첫 날 수업에 긴장하면서 들었었다. 모르는 내용이 대다수일거라고 생각했고 각오하고 들었다. 하지만 들으면 들을 수록 생각했던 것보단 따라갈만 했다. 기술적인 부분도 많이 나오고 기술을 모르면 이해하기 어려운 내용들이 줄을 이었다. 국제 표준 인증 심사 항목들도 기술을 모르면 이해하는거 쉽지 않았다. 그래서 처음에 긴장했던거와는 달리 원활하게 수업을 쫓아가며 들을 수 있었다.
수업이 끝난 후 과제가 쏟아졌는데 이 또한 평가에 반영이 되었다. 과제 양도 많아서 그 날 저녁은 지인들과 약속도 안잡고 새벽 2시까지 과제만 열심히 했다. 모르면 구글링도 하고 교재도 찾아보고... 그러면서 이해하고 공부했다. 인증심사는 왜 해야 하는지, 어떤식으로 진행이 되는지 등등 새로운 것들을 깨우치고 알게 되면서 신선하고 재밌다는 생각이 들었다.
과제 중에서도 시나리오가 주어지고 결함을 찾는 것을 했는데 이것도 즐기면서 했다. 왜 그게 결함인지 내 머릿속으로 상기시키면서 했고 하면서 인증 항목에 대해서도 이해가 되기 시작했다.
그렇게 둘째날은 오전 수업만 하고 오후엔 시험을 보게 되었다. 수업에 집중해서 열심히 듣고 과제를 열심히 한 사람들은 풀만한 수준의 문제들이었다. 쓸 게 너무 많아서 팔이 아프긴 했지만 수업할 때 들었던 내용과 과제 했던 내용들이 주를 이루면서 수월하게 답안을 작성할 수 있었다. 특히 시나리오가 주어지고 결함을 찾는 문제가 많이 까다로웠는데 배점도 제일 커서 부담스러웠긴 했다. 하지만 내 판단이 정확한거다 라고 생각하고 자신감 있게 답안을 작성한 후 제출했다.
그리고 약 10일 뒤.....
합격 통보를 받았다. 사실 시나리오 결함 문제 때문에 어떻게 될 지 장담은 안되었었는데 다행히 좋게 점수를 받은 것 같았다. 처음에는 두려움 반, 걱정 반이었지만 이렇게 자격증 하나를 취득하고 새로운 것들을 많이 배우니까 신선하고 좋았다. iso 19011 자격까지 취득해야 국제 표준에 ISO 27001 인증심사원(보)로 등록이 가능하다. 조만간 iso 19011도 보게 되는데 이것도 꼭 취득하고 싶다.
2021년도 3달밖에 남지 않았다. 이번년에도 많은 일들이 있었다. 이직을 하고 금융권 프로젝트에 들어가고 대학원을 졸업하고... 이것만 해도 8월 안으로 있었던 일들이다.
그 중에도 2021년에 세웠었던 목표 중 하나는 이직이었다. 작은 회사에만 있다보니 큰 게 잘 보이지 않았고 너무 많은 걸 요구해서 전문성도 떨어진다는 생각도 많이 들어 더 늦기 전에 이직을 해야겠다고 생각했다. 그래서 뭔가 반드시 해야 겠다는 목표를 하나 잡으니 공부도 잘되고 이직 시도는 처음해보는거라 이것도 모르는거 투성이었지만 준비하고 하다보니 점차 방향성이 보이기 시작했다.
그렇게 힘들게 준비하고 알아보고 모두 나 혼자 해야 되는 일이었지만 열심히 한 결과 내가 생각하고 가고 싶었던 회사에 합격 통보를 받게 되었다. 그 때 이직이라는게 이런거구나, 또 한번 내 자신이 성장했음을 알게 되었다. 또 한번의 절실함과 열정이 빛을 발한 순간이었다. 지금도 회사에서 가장 어렵다는 금융권 프로젝트에 투입되어 별 다른 이슈 없이 잘 진행하고 있다. 여기 와서도 어려운 점이 많았지만 끝까지 포기하지 않고 모르는건 공부해가면서 열심히 하다보니 점차 적응할 수 있었다.
두번째는 대학원 졸업이었다. 제일 공 많이 들이고 이직보다도 더 사활을 걸었었던게 졸업논문이었던 것 같다. 종합영어, 종합이론시험까진 통과가 되었지만 논문에서 미끄러지면 절대 졸업을 할 수가 없어 여기에 많은 시간을 투자했다. 논문 주제를 정할 때, 초록 논문 심사를 할 때도 교수님들한테 엄청나게 많은 쓴소리를 들어서 졸업 할 수 있을지에 대한 생각이 계속 들어 흰 머리가 생길 정도로 스트레스가 극심했었다.
말 그대로 너무 갈려서(?) 멘탈 챙기는거 조차도 어려웠다. 논문을 써서 들고만 가면 지도교수님한테도 혼나고 다른 교수님들한텐 말할 것도 없고... 포기할 생각도 계속 했다. 칭찬이 아니라 아무 말씀도 안하시는게 다행일 정도로 지도교수님도 무서웠었다. 평소엔 인자하시지만 논문 쓸 때 만큼은 굉장히 무섭고 절대 호락호락 하시지 않았다.
매번 멘탈이 나가 있는 나를 보고 걱정하셨는지 지도교수님도 나한테 거는 기대감이 커서 그런거니 열심히 써라라는 말 한마디를 해주셨다. 그래서 난 이 말을 듣고 다시 멘탈을 부여잡고 계속 혼나는 한이 있어도 무조껀 졸업한다, 뭐 하나라도 배워서 나간다, 내 인생을 올인한다는 생각으로 논문을 썼다. 친구들이나 부모님한테도 "너 중,고등학교 때 이렇게 공부했었으면 명문대 갔겠다"라는 소리까지 들을 정도로 주말도 다 반납하고 평일에도 밤 늦게까지 계속 썼다.
본논문 심사 때도 교수님들은 좋은 말씀을 해주시진 않았지만 교수님들의 의견도 듣고 최대한 고쳐보려고 많은 노력을 했다. 그렇게 1년 동안 졸업 논문 과의 전쟁 끝에 최종 합격 승인과 동시에 최우수논문상 수상이라는 영광을 안게 되었다. 최우수논문상을 받게 된다고 이야기를 들었을 때 내가 해냈구나 싶었다. 무사히 졸업만 하길 바랬는데 최우수논문상까지 받게 된다니..... 이게 꿈인가 싶기도 했다.
나중에 지도교수님도 축하한다는 메시지를 메일로 보내주셨다. 너 잘되서 보기 좋다, 열심히 했던 사람은 그렇게 보상 받는거니 앞으로도 그렇게만 해라 등의 격려 메시지를 보내주셨을 때 그동안에 힘들었던게 다 녹는듯 했다.
그렇게 대학원 석사 최종 졸업을 한 후에도 든 생각이 단순히 학위만 취득한 것이 아닌 앞으로 또 어떻게 살아야 할지, 어떤 목표를 가지고 살아야 할지 등의 방향성이 보이기 시작한 것 같다. 아마 지도교수님과 다른 교수님들도 그런걸 나한테 가르쳐 주시려고 한 게 아닌지 생각해본다.
이렇게 큰 목표들을 이루고 그동안 내가 못했었던 자격증이 하나 있는데 이번년도에 그 자격증을 취득하기 위해 마지막 목표를 정했다. 내가 하고 싶어 정한 목표인만큼 지금 처럼 열심히 해볼 계획이다.
개발자 백도어는 개발자가 편하게 사용자처럼 인증이 가능하고 여러 가지 업무를 수행하기 위해 자신만이 들어갈 수 있는 계정, 인증 우회방법을 말한다. 개발자 본인에게는 편할 수 있지만 추후에 배포용 어플리케이션, 서버 코드에 개발 백도어 코드가 삽입되면 어플리케이션 보안에 매우 취약할 수 있다.
로그인이 완료되고 Transfer을 실행시켜 Get Account를 클릭하면 값이 전혀 입력 되지 않는다. 이는 개발자 계정으로 로그인 했기 때문인데 인시큐어뱅크 앱에서는 중요 정보 값이 실행 되지 않지만 실제 앱에선 개발자 계정으로 로그인해도 중요 정보 값이 실행 되는 경우가 많다.
3. 대응방안
[그림 3-1] DoLogin.java 파일
Dologin.java 파일의 코드이다. If else 구문에서 devlogin 부분의 username을 그대로 받고 있다. Password 부분은 따로 없기 때문에 어떠한 숫자를 입력해도 로그인이 가능하다. 이런 이유로 if else 구문을 주석처리를 하면 취약점 방어가 가능하다.
[그림 3-2] app.py 파일 코드
서버 코드인 app.py를 보면 devlogin 부분이 있는데 서버쪽에서도 devlogin을 실행시키고 있음을 볼 수 있는데 별다른 검증 없이 username만 허용되면 어떠한 패스워드를 입력해도 로그인이 가능하다. 이 부분을 주석 처리하면 취약점 방어가 가능하다.
[그림 3-3] devadmin 로그인 화면
주석 처리한 코드들을 저장하고 앱을 다시 빌드하고 실행한다. 인시큐어뱅크 앱 서버도 다시 실행한 후 devadmin, 123123을 입력하고 로그인을 시도하면 로그인이 되지 않음을 확인할 수 있다. 이로써 개발자 백도어 취약점이 방어되었다.