뉴스&공지 게시판

[인터뷰] 소프트웨어 안전성 연구 / 김철기 교수님

인터뷰
작성자
formal formal
작성일
2014-12-17 18:19
조회
2812

Screen Shot 2014-12-17 at 7.03.58 PM



Q. 교수님의 연구 분야는 무엇인가요?

A. 기본적으로 5년 간 했던 연구는 항공기나 의료기기에서 안전성을 제공하는 것입니다. 굉장히 프로그램을 잘 짜는 사람이더라도 항상 오류가 있기 마련이기에 어떤 시스템 적으로 안전성을 제공할 것이냐 라는 연구를 해왔고 이 연구가 내가 진행하는 전체 연구의 3분의 2정도를 차지합니다. 나머지 3분의 1은 음향 시스템의 스피커 하나하나에 컴퓨터를 심어 분산 형태로 극장을 구현하는 일명 음향 클라우드시스템, 매킨토시 컴퓨터의 보안을 하드웨어 수준으로 검증하는, 말하자면 매킨토시 컴퓨터의 해킹 프로젝트를 진행하고 있습니다.



Q. 매킨토시 컴퓨터 해킹 관련 블로그를 운영했다는 말이 있던데요?

A. 블로그 운영은 아니고, 매킨토시 초기 단계에 QuickTime Player라는 플레이어에는 자막 지원 기능이 없었습니다. 나는 가족 전체와 함께 미국에 처음 나와 살 때였는데, 자막 기능이 없다보니 온 가족이 불편했습니다. 그래서 필요에 따라서 그 프로그램에 자막 기능을 추가하여 그 당시 매킨토시 관련 커뮤니티인 애플포럼에 올렸습니다. 그 당시에는 매킨토시 관련 소프트웨어 개발자가 거의 없었습니다. 그러므로 내가 아마 매킨토시 오픈소스 소프트웨어 1세대라 할 수 있을것입니다.
연구실의 맨 뒤에 있는 프린터도 앞에 말했던 작업을 하고 나니 '맥마당'이라는 잡지 에디터가 너무 고맙다고 보내준 프린터인데 당시 커뮤니티에서는 굉장히 붐이 일었습니다. 내가 하는 소프트웨어 오픈소스 활동을 다른 사람들이 좋아하는 걸 보다보면 그 반응이 약간은 마약같다고 느낍니다. 연예인이 된 것 같은 느낌을 받을 수 있습니다. 이 후 한국에 와서도 좋은 스펙이 되었고, 사실 나는 보안 전문가가 아닌데도 매킨토시 해킹 프로젝트를 맡게된 이유는 맥 개발 경험이 있고, 관련 연구를 할 수 있는 사람이 거의 없는데 나는 그 두 가지를 할 수 있기 때문입니다.



Q. 매킨토시 해킹이라는건 무엇을 하는 것인가요?

A. 맥 해킹을 한다는 것이 내가 맥을 공격한다는 것이 아니고, 맥을 어떻게 잘 방어할 수 있을 지에 대해서 사전 연구를 한다고 보면 됩니다. 이미 맥은 이렇게 공격할 수 있다고 방법이 알려져 있긴 하지만 상당히 추상적으로 알려져 있습니다. 그러므로 실제로 누군가가 공격을 해오면 공격이 일어났다고 알기가 어렵습니다. 그래서 맥의 펌웨어를 보안공격을 하는 것이라던지, iSight를 켠다면 모니터 위쪽에 불이 들어오는데 그 불이 들어오지 않고 실행할 수 있게 한다던지에 대한 것이 어떤 식으로 일어나는 지에 대해 재현해보면 실제로 공격에 대한 방어가 가능합니다.



Q. 소프트웨어의 강점이라면 무엇인가요?

A. 소프트웨어가 가지는 강점은 간단하게 말하면 언제나 사람이 인생을 살면서 추세를 봐야합니다. 주식을 하게 될때 현재 어느 것이 가장 떠있나를 보는 것보다 어느 것이 가장 많이 오를 것 같은지를 봐서 사는 게 그 주식을 팔 때 이익을 봅니다. 1학년들도 현재 제일 잘 나가는 것 같은 분야를 시작하는 것보다 지금 상승세에 있는 분야가 어떤 것이냐를 봐야지 졸업을 하고 직접 필드에 나갔을 때 자신의 주가가 높아져있을 것입니다. 예를 들면 내가 대학원에 갈 때쯤 굉장히 흥했던 분야가 있습니다.
그 분야로 엄청나게 학생들이 몰렸는데 그 분야에 간 학생들은 실제로 석사로 졸업 했음에도 불구하고 현재 전혀 다른 일을 하고 있습니다. 지금을 봤을 때 현재 소프트웨어가 가장 높은 주가를 달리고 있는것은 아니지만 계속 세상의 관심이 소프트웨어쪽으로 점점 쏠리고 있는것은 확실합니다. 예전에는 핸드폰이라던지 카메라의 제어를 기계적으로 했다면 현재는 소프트웨어적인 동작으로 바뀌었습니다. 이건 다시 기계로 돌아가지 않을것인데 이게 바로 불가역적인 현상입니다. 그 현상이 온다고 볼 때 나중에 졸업하고 취업한다면 어떤 쪽이 가장 강세를 띌지는 불을 보듯 뻔합니다. 또 하나는 소프트웨어는 어차피 요즘 다 쓰니까 나중이라면 컴퓨터공학을 전공하지 않더라도 누구든 소프트웨어쪽으로 취업할 수 있을 거라는 오판을 하는 경우가 많습니다. 하지만 소프트웨어는 인간이 만든 시스템중 가장 복잡한 시스템입니다. 현재 누구든지 자동차를 타고다닌다해서 누구든지 자동차정비를 할 수 있지는 않은 것처럼 사람들이 일상생활에서 쓰는 파워포인트라던지 게임등은 누구든지 쓸 수 있지만, 현재 컴공과 재학생들이 프로그래밍하기 어렵다고 느끼듯이 앞으로도 소프트웨어 이용자와 소프트웨어 개발자의 갭은 점점 더 커질 것입니다. 점점 더 전문적인 기술을 알아야만 그 분야에서 빛을 발할 수 있게 되는 것입니다. 그리고 다른 전공들은 삼성에 취업할 때 SSAT를 보는데 소프트웨어 엔지니어는 소프트웨어 전공 시험을 봅니다. 이 뜻은 다른 전공들은 전공과 관련없기때문에 SSAT나 영어시험을 통해 뽑아도 상관없는데, 소프트웨어전공은 소프트웨어가 중요하기때문에 전문적인 내용을 아는 사람들의 지원이 필요하다는 것입니다.



Q. 항공소프트웨어의 강점은 무엇인가요?



A. 지금 내 또래중 내가 아는 교수중에 나만큼 프로젝트 양을 가지고 있는 사람이 없습니다. 무인기를 하다보니까 사람들이 일이 없을 거라고 생각할 수도 있는데 일이 굉장히 많이 들어와서 거절을 할 정도입니다. 금액양으로만 봐도 많습니다. 그만큼 수요가 많고, 좋은 항공기 소프트웨어가 필요하다는 데에 대한 국가차원의 갈망이 있습니다. 우리학교 무인기 소프트웨어에 대한 프로젝트의 양이 수십억쯤 됩니다. 그러므로 항공소프트웨어는 아직 발전할 길이 무궁무진한 분야입니다.



Q. 새내기들에게 해주고 싶은말이 있으신가요?



A. 학생들이 많은 경험을 했으면 좋겠습니다. 우리 분야는 종합적인걸 아우르는 분야이기 때문에 기본적인 지식은 갖춰야하지만 나머지는 여러가지 다방면의 경험이 소프트웨어 엔지니어를 빚는 것입니다. 일상생활에서 불편한 점을 스스로 해결해보려 시도하는게 좋습니다. 만약 '내가 자취를 하고있는데 우리집이 내가 집에 들어가기 한시간 전에 따듯해졌으면 좋겠다.'라는 생각을 한다면 그걸 해결하기 위해 온도조절기에 서버를 달 수도 있는 것이고, 여러 해결방법을 찾을 수 있을텐데 시작하기 전부터 '아 못하겠다.'라는 생각을 하는 것 보다는 '한번 해보면 되지 뭐'라는 생각을 가지고 시도해봤으면 좋겠습니다.
또 하나는 자신에게 약간 부족한 점이 있으면 자신의 부족한 점을 프로그램을 통해 해소하는 걸 시도해보라고 추천해주고싶습니다. 내가 자막 프로그램을 만들었던 것도 내가 불편해서 만들었던 것입니다. 지금도 내가 기타를 칠 때 쓰는 기타 이펙터는 컴퓨터가 이펙터 역할을 하는데 발로 밟는 기구를 컴퓨터에 연결해서 사용해야합니다. 하지만 이 기구가 너무 비싸길래 발로 밟는 부분만 산 후에 아두이노보드를 달아서 직접 컴퓨터 프로그램을 만들어 제작하였습니다. 필요한 것이 있으면 스스로 만드는 시도를 해보아야합니다. 엔지니어는 자신이 무엇이 부족한지 느낄 수 있어야합니다. 그리고 그것을 해결해야지만 훌륭한 엔지니어가 됩니다.