Home > 전체기사
개발자들의 편의를 위해 또 개발해야 하는 보안 툴?
  |  입력 : 2015-08-27 18:10
페이스북 보내기 트위터 보내기 네이버 밴드 보내기 카카오 스토리 보내기
보안 툴과 뗄레야 뗄 수 없지만 가깝게 지내기도 어려워  

개발자가 만드는 코드들의 버그 유무는 어떻게 스캔할까


[보안뉴스 주소형] 보안 취약점에서 가장 자유로울 수 없는 직업 중에 하나가 바로 소프트웨어 개발자다. 이들은 자신이 만들어내는 코드에 취약점이 있는지 없는지를 매번 확인해야 하기 때문이다.


그런데 소프트웨어 개발자들과 사이버 보안전문가들의 사이는 좋지 않은 걸로 유명하다. 기술적인 견해 차이 때문이 아니라 보안에 대한 서로의 상충된 사고방식 등의 영향이 크다. 이는 그들이 보안 툴을 사용할 때 나타나는 현상들을 바탕으로 마이크로소프트 리서치(Microsoft Research), 미국의 노스캐롤라이나주립대학교(North Carolina State University), 노스캐롤라이나대학교(University of North Carolina) 샬럿(Charlotte) 캠퍼스의 연구원들의 연구결과에 따른 것이다.

 


그런 개발자들이 보안 툴을 사용하게 만들기 위해서 어떤 방법을 취할 수 있을까. “사람들은 주변 환경에 매우 예민하고 자신도 모르게 영향을 받고 살고 있다. 따라서 주변에서 많이 보이고 사용하고 있는 것을 보면 자기도 모르게 나도 사용해봐야겠다는 세뇌를 당하는 경향이 있다. 보안 툴의 사용을 권장하고 싶다면 주변 환경을 그렇게 조성하면 된다. 계속해서 툴을 사용하고 있는 다른 사람들의 모습이 눈에 띄면 계속 고민하게 되고 결국 나도 한번 사용해봐야지 하는 생각이 들기 마련이기 때문이다.” 노스캐롤라이나주립대학교의 컴퓨터공학과 부교수 이자 미국국립과학재단(National Science Foundation) 프로젝트의 수석 연구원인 에머슨 머피 힐(Emerson Murphy-Hill)이 말했다.


이 방법 외에도 개발자들이 보안 툴을 사용하게 만들 수 있는 방법이 있다. 그건 바로 일명 ‘기업문화’다. 보고서에 따르면 기업 내에서 개발자들은 보안 툴을 사용하라는 권장 및 강요를 받고 있다. “개발자들은 상당히 독립적인 성향을 갖고 있다. 따라서 툴의 사용 여부 등과 같은 세세한 관리는 그들의 업무 효율을 높이는 데 전혀 도움이 되지 않는다.” 머피 힐 연구원이 설명했다. “개발자들을 관리하는 현명한 방법은 툴을 사용하라고 시키는 게 아니라 그들이 스스로 툴에 관심을 받는 환경을 조성하는 것이다.”


이번 보고서에서 흥미로운 사실 중 하나는 보안이 중요한 제품을 만드는 개발자일수록 다른 프로그래머들보다 보안 툴 사용에 유난히 거부감을 보이고 있다는 것이다. 이는 14개 기업 및 5개의 메일링리스트를 통해 개발자들을 대상으로 집계한 설문조사 결과에 따른 것이다. 이와 관련 그들은 다음 주 이탈리아 베르가모(Bergamo)에서 개최되는 소프트웨어 엔지니어링 재단 주관의 심포지엄에서 보안 툴 사용의 예측변수 40여 가지에 대한 구체적인 내용을 발표할 예정이다.


두 번째 연구의 경우 보안 툴이 실제로 개발자들의 업무에 도움이 되는지에 대한 내용을 다루고 있다. 과연 보안 툴이 개발자들이 만들고 있는 코드에 문제가 있는지 없는지 확인하고 수정하는 데 도움이 되고 있을까? 대상의 형평성을 위해 신입 개발자와 경력 개발자를 섞어 총 10명에게 물었는데 그 결과, 그들은 버그를 찾는 데 오픈소소 소프트웨어 프로그램인 ‘보안버그 찾기(Find Security Bug)’라고 불리는 정적분석 보안 툴을 사용하고 있는 것으로 드러났다.


여기서 프로그래머들은 개발자들이 툴을 사용하면 지금 안고 있는 문제의 꽤 많은 부분들을 해결할 수도 있지만 결코 완벽한 해결책을 제시할 수는 없다고 설명했다. “오히려 프로그래머들이 제대로 된 조치를 하는 데 방해가 될 수도 있다.” 머피 힐 연구원의 말이다.


“대부분의 현존하는 관련 보고서들이 기술적인 요소들에만 집중되어 있는 가운데 무엇을 추가해서 어떻게 효율적으로 더 많은 버그를 찾아낼 수 있는 방법을 제시할 수 있는지에 대한 고민을 했다. 하지만 결국 이를 위해서는 또 다른 개발자들의 업무가 생긴다는 것을 깨달았다.” 즉 개발자 A의 업무 효율을 높이기 위한 업무는 개발자 B에게 돌아가 개발자 B는 추가 업무를 해야 하는 모양새라는 것. 그렇다면 결국 한 쪽 편을 들어야 한다는 결론이 나오는데 어디를 택해야 툴의 기능을 개선할 수 있을까?


“결국 툴을 진화시키면 시킬수록 또 다른 작업이 양산되고 나중에는 그 또 다른 편에 있었던 이들의 업무 환경 개선을 위한 보고서를 작성해야 할 것이다. 이는 개발자들 간의 업무  반복이고 나아가서는 우리 모두의 업무가 반복되는 것뿐이다. 툴이라는 것은 개개인이 각자의 환경에 맞게 골라서 사용해야 하는 것이지 애초에 모두를 만족시킬 수 있는 한 개의 툴은 가능하지 않은 논리다.”


결론은 하나다. 개발자 한 사람 한 사람의 성향과 업무 등을 캐치하여 맞춤형 툴을 만드는 것이다. 앞으로 솔루션 개발 시장이 이런 식으로 바뀔 수도 있지만, 그것 보다는 난립하는 보안 솔루션들 사이에서 알찬 틈새 시장이 될 수도 있을 것으로 보인다.

Copyrighted 2015. UBM-Tech. 117153:0515BC

[국제부 주소형 기자(sochu@boannews.com)]


<저작권자: 보안뉴스(http://www.boannews.com/) 무단전재-재배포금지>

  •  
  • 0
  • 페이스북 보내기 트위터 보내기 네이버 밴드 보내기 카카오 스토리 보내기


  •  SNS에서도 보안뉴스를 받아보세요!! 
모니터랩 파워비즈 6개월 2020년6월22~12월 22일 까지넷앤드 파워비즈 진행 2020년1월8일 시작~2021년 1월8일까지위즈디엔에스 2018파워비즈배너 시작 11월6일 20181105-20200131
설문조사
코로나19 사태로 인해 화상회의, 원격교육 등을 위한 협업 솔루션이 부상하고 있습니다. 현재 귀사에서 사용하고 있는 협업 솔루션은 무엇인가요?
마이크로소프트의 팀즈(Teams)
시스코시스템즈의 웹엑스(Webex)
구글의 행아웃 미트(Meet)
줌인터내셔녈의 줌(Zoom)
슬랙의 슬랙(Slack)
NHN의 두레이(Dooray)
이스트소프트의 팀업(TeamUP)
토스랩의 잔디(JANDI)
기타(댓글로)