‘안랩’ 하면 떠오르는 V3! V3개발팀의 백석준 책임님을 인터뷰하다
안녕하세요. 대학생 기자단 Inside Editor 이세연입니다.
여러분은 ‘안랩’ 하면 어떤 게 떠오르시나요?
많은 분들이 핸드폰 또는 컴퓨터, 노트북에 설치된 V3백신을 떠올리실 거라고 생각합니다.
안랩을 대표하는 백신 V3가 궁금하실 여러분들을 위해 8월 31일 안랩 사옥에서 V3개발팀의 백석준 책임님을 인터뷰하는 시간을 가졌습니다. 우리에게 익숙한 V3가 어떻게 만들어지는지 함께 알아볼까요?
Q. 안녕하세요? 먼저 안랩 V3개발팀과 본인에 대해 간단한 소개 부탁드립니다.
A. 네 안녕하세요. 안랩 V3개발팀의 백석준입니다. V3개발팀은 다양한 부서와의 협업으로 만들어지는 V3의 기능들을 한데 모아 V3 제품을 만드는 일을 하고 있습니다.
V3는 멀티플랫폼(Windows, 리눅스, Mac)을 모두 지원하기 위해 각각의 파트로 구성되어 있습니다. 저는 그 중에서 Window 파트의 V3개발을 담당하고 있습니다.
Q. (회사 보안 규정에 저촉되지 않는 선에서) 책임님께서 V3개발팀에서 일상적으로 하시는 업무는 무엇인가요?
A. V3 제품이 잘 작동할 수 있도록 다양한 업무를 진행하고 있습니다. 먼저 V3에 새롭게 추가될 기능을 개발합니다. 개발한 새로운 기능이 문제가 없는지 팀원들과 함께 ‘코드 리뷰’를 진행하면서 크로스 체크를 하는 업무도 있고, 고객(Client)이 전달한 V3 관련 여러가지 이슈를 확인하거나 V3제품을 유지 보수하는 업무도 함께 진행하고 있습니다.
V3제품 개발 과정과 보안전략
Q. 안랩의 V3에는 V3 365 클리닉, V3 Lite, V3 Mobile Security, V3 Zip 등 다양한 종류의 제품들이 있는 것으로 알고 있습니다. 책임님께서는 이 중에서 어떤 제품 개발에 참여하셨나요?
A. V3 개발팀 팀원 모두 V3 라인업 내 모든 제품 개발에 고루고루 참여하고 있어서 특정 제품을 개발했다고 콕 집어 말씀드리기는 어렵습니다. 저는 Window 내에서 사용하는 14개 제품 라인업에 모두 직⦁간접적으로 참여하고 있습니다.
V3 제품 라인업에 대해 추가로 설명을 드리자면, 크게는 B2C와 B2B로 나눌 수 있는데요. V3 365 클리닉, V3 Lite, V3 Zip 등은 소비자에게 제공하는 B2C 제품입니다. 기업에 제공하는 B2B제품까지 합치면 Window 파트에서만 14개의 제품이 존재하고, 리눅스 파트와 맥 파트까지 합치면 훨씬 더 개수가 많습니다.
Q. 방금 답변 주신 것처럼 V3가 지원하는 운영체제가 다양하고, 제품 라인업도 다양하다 보니, 제품 개발을 위해서 다양한 운영체제에서 다양한 테스트를 진행해야 할 것 같은데요. 이에 따른 어려움은 없나요?
A. 실무 개발을 하면서 겪게 되는 어려움들의 경우에는 이전에 선배들이 먼저 구축해 놓은 코드들을 참고하여 개발하고 있기 때문에 크게 어려움은 없는 것 같습니다.
Window 파트는 마이크로소프트에서 발표하는 신규 OS에 대해서 신속하게 지원할 수 있도록 항상 신경 써야 하는 부분이 가끔은 어렵게 느껴 지기도 합니다. 최근에 마이크로소프트에서 Windows x64, x86뿐만 아니라 Windows ARM64버전을 선보이면서V3도 ARM64에 맞춰 제품 개발을 진행하기도 했습니다.
Q. 보안 제품을 개발하기 위해서는 최신 보안 이슈는 물론이고, 마이크로소프트 등 관련 업계에 대해서 잘 알고 있어야 하겠네요. 책임님은 주로 어디서 최신 이슈 및 동향 정보를 얻으시나요?
기본적인 취약점이나 대응 이슈들의 경우 사내 공지를 참조하고 있고, 취약점 이슈는 즉시 긴급 대응합니다. 한국인터넷진흥원(KISA)에서 제공하는 보안 뉴스에서도 관련 정보를 얻고, 개인적으로는 각종 IT 커뮤니티를 활용해 소비자 밀접 정보를 얻기도 합니다.
Q. 다양한 이슈를 참고해야 하다 보니 보안 제품을 개발할 때 정보보호 관련 법규에 대해서도 알고 있으면 도움이 될 것 같은데요. 실제로는 어떤 가요?
A. 정보보호 관련 법규에 대해서 알고 있으면 개발할 때 당연히 도움이 된다고 생각합니다.
그렇지만 법규를 잘 알고 있다고 해서 개발자가 자의적으로 해석하는 건 위험한 행동인데요. 법률적 검토가 필요한 부분이 있다면 사내 법률팀에 자문을 구하는 등 전문가를 통해 정확하게 확인해보는 것이 더 중요한 것 같습니다.
Q. 요즘 어태커(Attacker)들은 복합적인 공격 수법과 다양한 악성코드를 동원하여 고도화된 사이버 공격을 시도한다고 하는데, 이를 방어하기 위한 V3개발팀의 보안 전략은 무엇이 있나요?
A. 협업과 연계라고 생각합니다.
V3에는 방화벽, AV(Anti-Virus), 여러 가지 매체 제어 등 여러 가지 기능이 있지만 모든 공격을 막기에는 무리가 있을 수 있습니다.
안랩은 다양한 공격 수단에 대응하기 위해 다양한 관리 제품군을 배포하고 있어서, 필요에 따라 별도의 제품과 연동해 함께 방어할 수 있도록 협업하고 있습니다.
제품 간의 협업도 있지만 기능 부서 간의 협업도 존재합니다. V3에서 사용하는 드라이버, 엔진, 업데이트 등의 기능들은 각자 담당하는 부서로 나뉘어져 있습니다. 상황에 맞게 유관 부서들과 협업해 방어 전략을 구성합니다.
Q. V3는 생각보다 더 다양한 전략과 많은 팀들이 연계해서 작동되는 것 같은데요. 이렇게 만들어지는 안랩 V3만의 강점을 말씀해주세요!
A. 안랩 V3는 국내 기술력으로 만들어진 제품입니다. 그렇기 때문에 국내 고객 지원에 있어서 신속하게 대응할 수 있다는 장점이 있습니다.
또한 다양한 글로벌 보안 평가를 우수한 성적으로 통과해 성능을 인증 받고 있다는 것이 V3의 강점이라고 생각합니다.
(안랩이 통과한 글로벌 평가들을 더 자세히 알고 싶다면 아래 AhnLab 블로그를 참고해 주세요! https://blog.ahnlab.com/2478)
Q. V3와 개발팀 관련한 마지막 질문인데요. V3개발팀에서 일을 하시면서 가장 보람찼던 경험, 힘들었던 경험이 있다면 무엇인가요?
A. 먼저 힘들었던 일부터 말씀드리자면, 고객사에서 발생한 이슈를 해결하기 위해 수정을 거쳐 새로운 버전의 제품을 준비했는데, 고객사 내부 사정으로 이를 적용할 수 없는 상황이 발생하는 경우가 종종 있습니다. 이런 경우 다른 해결 방안을 찾아야 하는 상황이 발생하게 되어 힘들었던 것 같습니다.
그리고 V3는 정말 많은 곳에서 사용되는 만큼 다양한 문제가 발생할 수 있는데요. 사용하는 모든 곳에서 항상 최신 버전을 사용하는 것이 아니다 보니 예전 버전을 사용하는 경우 최신 버전과 충돌하는 등의 문제가 발생할 수 있습니다. 저희는 이런 경우를 염두에 두고 개발을 진행해야 하기 때문에 모든 가능성을 살피며 기능을 추가하거나 변경하는 부분이 어렵고 조심스럽습니다
반면 V3 개발팀에서 근무하면서 보람찼던 일은 많은 사람들이 V3를 사용한다는 것입니다. 주변 가게, 병원을 방문했을 때 V3 아이콘이 보이면 뿌듯함을 느낍니다. 이 뿌듯함 하나로 모든 힘든 일들이 잊혀 지기도 합니다. (ㅎㅎ)
Q. 다음으로는 ‘개발자’라는 직무에 대해 궁금한 점을 질문 드리려고 합니다. 먼저 책임님은 많은 직무 중 보안 개발 직무를 선택하신 이유가 있을까요?
‘보안 개발자’를 직무로 선택하기에 앞서서 ‘개발자’를 선택했다고 보는 것이 좋을 것 같은데요. 세상에 있는 여러 가지 개발 직무 중에서 안랩의 개발자를 선택한 이유는 많은 사람들이 쓰는 제품을 개발한다는 사실 때문입니다.
앞서 말씀드린 것처럼 제가 개발한 제품, V3를 많은 사람들이 사용하는 것을 볼 때 많은 보람을 느끼는 편이에요.
Q. 책임님이 느끼는 iOS, 안드로이드와 같은 앱 개발 또는 웹 개발자와 다른 보안 개발자만의 매력이 있다면 무엇인가요?
질문에 답하기에 앞서, ‘보안 개발자’라는 용어에 대한 제 생각을 말씀드리고 싶은데요. 개인적으로는 ‘보안 개발자’보다는 ‘보안 소프트웨어 제품을 만드는 개발자’라고 말하는 게 조금 더 정확한 것 같습니다.
모든 개발자들의 기본적인 소양은 같지만, 보안 제품을 개발하는 개발자는 시스템 프로그래밍을 진행한다는 점에서 차이가 있습니다. 앱과 웹은 문제가 생기면 그 제품의 서비스 측면에서만 문제가 생기지만, 보안 제품의 경우 문제가 생기면 시스템 전체를 파괴할 수 있기 때문에 신중하고 조심스럽게 개발해야 해서 어려운 점도 많은데요. 그럼에도 불구하고 그 어떤 개발보다도 OS(*)친화적인 개발을 할 수 있다는 점이 보안 개발자만의 매력이 아닐까 생각합니다.
* OS(Operating System) : 운영체제. 컴퓨터의 효율적인 운영 관리로 사용자가 프로그램을 편리하게 이용하게 하는 시스템 소프트웨어.
Q. 보안 개발은 정말 신중하고 조심스럽게 임해야 하겠네요. 책임님은 혹시 보안 개발자로서 보안을 위해 “이건 하지 않는다! 혹은 이건 꼭 한다”하는 일종의 Rule을 가지고 계실까요?
A. 공격의 형태를 보면, 어떤 공격이든지 최대한으로 방어하기 위해서는 출처를 알 수 없는 웹 링크나 파일을 클릭하지 않는 것이 가장 기본이라서 항상 주의를 기울이고 있습니다.
꼭 하고 있는 것을 꼽자면, 최신 엔진 적용과 업데이트입니다. 사람이다 보니 실수로, 혹은 몰라서 클릭하는 경우도 있기 마련인데, OS 업데이트와 V3 업데이트를 패치가 나올 때마다 주기적으로 진행하면 최대한 공격을 방어하고 예방할 수 있습니다.
“때로는 시간이 필요한 어려움도 있다.”
논리적 말하기, 검색을 생활화 하는 것, 적극적인 태도가 중요한 ‘보안 개발자’
Q. 지금까지 안랩의 대표 제품 V3와, V3를 개발하는 V3개발팀, 그리고 V3개발팀에서 열심히 일하시는 책임님에 대한 이야기를 들어보았는데요. 이야기를 듣고 나서 안랩 V3개발팀에 지원하고자 하는 학생들이 많아질 것 같습니다. 신입 사원을 채용할 때 가장 중점적으로 보는 것이 있다면 어떤 것이 있을까요?
A. 자신의 의견을 논리적으로 얘기하는 것이 굉장히 중요하다고 생각합니다. 개발 뿐만 아니라 이슈가 생겨 논의가 필요한 사안에 대해 자신의 의견을 논리적으로 설명할 수 있어야 상대방을 설득할 수 있다고 생각합니다.
그 외에도 검색을 생활화해야 합니다. 인터넷에는 자신이 겪을 수 있는 시행착오들과 이에 대한 해결 방법들이 이미 존재하기 때문에 이를 생활하는 것이 좋습니다. 그리고 이를 뒷받침하는 적극적인 태도도 필요하다고 생각합니다.
Q. V3 개발팀 입사를 꿈꾸는 대학생들에게 해주고 싶은 조언이 있으실까요?
A. V3개발팀은 안랩의 대표 제품인 V3를 최종적으로 개발하는 팀입니다.
V3 개발에 있어 가장 중요한 Windows가 C언어로 구성되어 있어서, V3개발팀의 주력 언어는 C, C++ 언어인데요. C, C++의 경우 개발자가 직접 메모리 관리를 해야 하는 부분이 많고 잘못 사용했을 경우 예상치 못한 동작을 할 수 있기 때문에 어려움을 많이 느끼실 수도 있습니다.
그렇지만 저는 “때로는 시간이 필요한 어려움도 있다.”라고 생각합니다. 어려운 것을 빨리 이해하지 못하더라도 잘 하지 못한다고 생각하지 않았으면 좋겠습니다. 단지 시간이 더 필요한 것입니다. 그 허들을 넘을 수 있도록 고통의 시간을 조금만 감내하면 나중에는 익숙해져서 물 흐르듯이 C, C++을 사용할 수 있는 때가 올 것입니다.
“많은 지원 부탁드립니다.” (ㅎㅎ)
Q. 마지막으로 IT관련 전공은 아니지만 보안 개발 분야에 관심이 있는 비전공생에게 해주고 싶은 조언도 부탁 드립니다!
A. 연구소 내에도 비전공자분들이 많이 계시기 때문에 비전공자도 충분히 할 수 있다고 생각합니다.
개발 분야에 지원하기 위해서는 전공보다도 우선 스스로가 개발에 흥미와 재미를 느껴야 한다고 생각합니다. 개인적으로는 개발을 단순히 직업으로만 지속적으로 하기 힘들다고 생각하기 때문이에요.
흥미와 재미를 느끼기 위해서 우선, 실생활에서 필요한 기능들을 개발해 보는 게 좋을 것 같습니다. 요즘에는 Python과 같이 생산성이 높은 언어 지원이 잘 되어 있고 오픈 소스들도 많기 때문에 자동화 프로젝트, IOT 프로젝트, 토이 프로젝트 등을 해보면서 흥미를 느껴봤으면 좋겠습니다.
이번 인터뷰를 통해 V3개발팀과 V3개발 과정 등에 대해 많이 알 수 있었던 뜻깊은 시간이었습니다. 앞으로도 “안전해서 더욱 자유로운 세상”을 위해 열심히 일하는 V3개발팀을 응원하겠습니다.
바쁘신 와중에 시간 내어 인터뷰에 응해 주신 백석준 책임님께 다시 한번 감사드립니다.