2017년 2월 20일 월요일

봇넷의 근본적인 이유와 최근에 다시 이슈가 된 이유

Q: 봇넷이 나타난 것이 꽤 오래 전으로 알고 있습니다. 아직까지도 봇넷의 근본적인 해결이 안되는 이유와 최근에 다시 이슈가 된 이유에 대해 설명 부탁합니다.

봇넷은 90년대초에 EggDrop이라는 것으로 처음 나왔습니다. 그 이후에도 Forbot, PBot, Toxbot 등 많은 변종 봇들이 나타났고 최근에는 그 숫자도 더 늘고 있어 대응에 매우 어려움을 겪고 있습니다. 근본적인 해결이 어려운 이유는 감염만 시키면 타겟팅 된 PC를 손쉽게 제어하면서 다양한 2차 공격을 할 수 있기 때문에 신종 봇들을 계속 만들어내기도 하고 이미 감염된 수많은 좀비 PC들을 한꺼번에 치료할 수 있는 것도 아니기 때문에 감염이 꼬리를 물면서 유지되는 것이지요.
관심도가 떨어진 적도 없지만 최근에 다시 이슈가 되고 있는 이유는 초고속 인터넷 망이 구축되면서 네트워크 속도도 빨라지고 더 많은 PC들이 접속되고 있기 때문입니다. 특히 우리나라처럼 인터넷 망이 우수한 곳에서는 봇넷이 더 많이 활동하고 있다고 봐야 합니다.
봇넷의 주된 확산지였던 이메일 뿐만 아니라 SNS를 통해 더 많은 확산 방법이 생겨나면서 최근의 위험성이 더 강조되고 있습니다. 특히 IoT의 확대로 앞으로 더 큰 걱정인데요. 무제한으로 데이터를 수집하는 창구인 IoT는 기존 기술들에 비해 보안성이 상대적으로 낮아 봇넷의 집중 타겟이 될 수 있습니다.

Q: 봇넷의 주된 공격 방법이 좀비 PC를 이용한 DDoS로 알고 있는데요. 모두 그런 것은 아니지만 DDoS에 대한 대응 방법이 어느 정도 성공을 거둔 사례도 있고 툴도 나와 있는 것으로 알고 있습니다. 다시 봇넷의 심각성이 왜 대두가 되고 있는 것인지 조금 더 자세한 설명 부탁합니다.

네 맞습니다. 이전에 봇넷은 감염된 좀비 PC를 활용해 DDoS나 스팸 발송 등의 공격을 하고 공격과 동시에 봇을 더 확대하는 형태가 일반적이었습니다. 그림2에서 보는 것처럼 감염된 좀비 PC를 C&C 서버를 통해 수시로 제어하면서 다양하고 빈번한 공격이 가능했습니다.

<그림2> 봇넷의 공격 방법
출처: KISA

더보기


한번에 개발과 반복(Iteration)을 통한 개발(Sprint)

SI는 프로세스 상 분석, 설계, 개발을 한번에 진행하는 폭포수(Water-fall) 방식을 취한다. 한번에 분석하고 한번에 설계하고 한번에 개발하기 때문에 계획한대로 끝난다면 한번의 프로세스로 마칠 수 있어 시간이 매우 절약될 수 있지만 개발되는 중간이나 이후에도 고객과 의견이 맞지 않아 마찰이 빈번하게 발생한다.
애자일은 3차례 정도 반복해서 개발하는 방식을 취한다. 한번 개발이 끝나는 것을 이터레이션이라고 하고 한번의 스프린트가 완료되었다고 말한다. 스프린트의 단위는 계획(또는 커뮤니케이션), 디자인, 빌드(개발), 테스트, 리뷰로 이루어진다(그림3). SI와 같이 요구사항 분석, 분석, 설계, 개발, 테스트로 구성되어도 무방하다.

<그림3> 애자일 스프린트의 예
출처: 노나카 이쿠지로 - 애자일 개발과 스크럼

스프린트 모델의 장점은 개발 결과물에 대한 고객의 피드백을 받아 반영할 시간이 보장되어 있다는 것이다. 폭포수 모델의 경우 한번 개발이 완료되면 잘 못 개발되었다고 하더라도 수정하기가 매우 어렵다. 반면에 스프린트 모델은 하나의 스프린트가 끝날 때마다 고객에게 제대로 개발되었는지 확인하고 보완사항을 반영하여 다음 스프린트를 수행하게 된다. 일반적으로 3회 정도의 스프린트라면 고객이 만족할만한 개발이 된다고 알려져 있다.
SI에서도 CBD(Component Based Development) 모델이나 애자일 초기 시점에 이터레이션을 활용한 적이 있었지만 크게 성공하지는 못했다. 한번의 이터레이션이 종료될 때 개발의 주체에 고객이 없어 고객의 피드백을 받지 못했기 때문에 이터레이션의 효과를 보지 못했다. 하이브리드 형 애자일도 성공하지 못한 것도 비슷한 이유 때문이었다. 애자일의 기본 방향성은 고객의 참여이기 때문이다.

더보기


User Testing Brain & Software



  • 유저테스팅이란?


  • 유저테스팅 프로세스





  • 유저테스팅 대상




더보기