2017년 2월 22일 수요일

봇넷과 IoT로 인한 보안 문제

Q: IoT 장비에 PC처럼 공격 명령을 내릴 수 있다는 것인가요? 카메라 같은 장비를 통해 가능하다는 것이 놀랍네요.

네 그렇습니다. IoT 장비 뿐만 아니라 IP 주소가 배정되는 모든 디바이스에는 가능한 얘기입니다. IoT 장비를 통한 봇넷이 왜 더 위험하냐 하면 PC나 모바일 디바이스의 경우는 경험에 의해 자체적인 보안 설정을 만들 수 있지만 IoT 장비들은 아직 시작 단계일 뿐만 아니라 IoT 장비를 움직이는 최소한의 설정만 되어 있는 경우가 많아 보안 자체가 없는 경우도 있습니다. 봇 마스터가 이를 이용하기는 더 쉬운 것이지요. 카메라 뿐만 아니라 집에 있는 냉장고나 자동차가 DDoS 공격을 하는 사례가 나올 수도 있는 상황입니다.

Q: 영화에서나 보던 보안 사고가 날 수도 있는 여지가 생겼다는 것에 대해 매우 심각해 보이는데요. IoT로 인한 보안 문제에 대해 조금 더 자세히 설명 부탁합니다.

불과 얼마 전에 미라이(Mirai) 봇넷이 이슈가 되었습니다. 원래 봇을 만들기 위해서는 이메일을 수도없이 보내고 그 중에서 악성 코드를 실행한 PC만 가능했는데 미라이 봇넷의 경우는 62개의 아이디와 패스워드만으로 거대한 봇넷을 구축했다는데 주목해야 합니다. PC의 경우는 손댈 것이 너무 많은데 IoT는 아이디와 패스워드만 알아도 봇으로 만들 수 있다는 것과 IoT 장비의 아이디와 패스워드는 사용자가 관심있게 관리하지 않는 단점도 있어 미라이 봇넷이 확산 여지가 충분하다는 것입니다.
미라이 봇넷은 일반적으로 쉘을 제공하는 22번이나 23번 포트를 통해 침입하는데 접속하기 위해 자주 사용하는 아이디와 패스워드 테이블을 미리 만들어 랜덤하게 대입합니다. 이 때 만든 아이디와 패스워드 셋이 62개 정도였습니다(그림4).

<그림4> 미라이 봇넷에서 사용된 아이디와 패스워드
출처: IT World

침입 방식을 정리해 말씀드리면 접속된 IP를 스캔하면서 IoT 장비를 찾고 랜덤하게 대입한 아이디와 패스워드로 접속이 되면 텔넷 포트를 닫아 다른 공격자나 관리자 접속을 차단합니다. 봇 마스터는 감염시킨 봇을 찾지 못하도록 무작위로 IP 주소를 변경하는 경우도 있어 감염 여부를 확인하거나 공격자를 찾기가 쉽지 않은 경우도 있습니다.

더보기


SI에서 애자일 적용하는 방향성


위에 언급된 3가지 말고 SI 개발과 애자일 개발의 차이점은 많이 있지만 SI에 애자일을 적용하는데 필요한 최소 요건으로 볼 수 있다. SI에서 애자일을 적용하기 위해서는 다음과 같은 사항을 주의 깊게 정리해야 한다.

요구사항의 스토리화

SI를 시작하는 기본 요소는 요구사항 리스트다. SI를 했던 개발자는 요구사항을 엑셀에 기능 단위로 정리하는 경우가 많다. 분석, 설계, 개발을 수행하며 요구사항이 제대로 반영되었는지 확인하는 정도로 마무리 되도 프로세스로는 문제가 없는 것으로 보인다. 하지만 기능적으로는 모두 완료가 된 것으로 보여도 고객의 업무상으로는 확인하지 않았기 때문에 오류를 보일 확률이 매우 높다.
애자일에서는 이러한 오류를 줄이고 고객의 개발 이해도를 높이기 위해 개발 단위를 스토리로 하는 것이다. 스토리 정의를 위해서 프로젝트 시작 전에 사용자 스토리 워크샵을 하는 것을 권장하지만 일정상 무리가 있다면 프로젝트 시작 후에 진행해도 무방하다.
스토리 형태로 만들어지면 그림4와 같이 점진 단위의 개발이 이루어지고 테스트도 사용자 스토리 단위로 가능해지기 때문에 하나의 시나리오로 수행되는 TDD(Test Driven Development)도 가능하게 된다(그림5).

<그림5> 사용자 스토리 vs. 시나리오. TDDs 맵핑


더보기


유저테스팅을 해야하는 이유와 기대효과






더보기

2017년 2월 21일 화요일

IoT로 인한 더 큰 DDoS 재앙

Q: IoT 장비에 대해서도 제공 업체뿐만 아니라 사용자도 관심있게 지켜봐야 하겠네요. IoT로 인한 더 큰 DDoS 재앙을 예측하는 사람도 많은 이유가 여기에 있는 것 같습니다.

앞으로도 ICT 기술이 발달한 나라일수록 DDoS에 대한 위험도는 더 높을 것입니다. 게다가 IoT 장비가 늘어날수록 DDoS에 대한 위험도 더 늘어나겠지요. 그림5에 나타난 것처럼 DDoS 발원지로 우리나라가 전세계의 4%나 차지하고 있습니다. 절대량을 나타내는 것이기 때문에 매우 높은 수치라고 볼 수 있습니다.

<그림5> DDoS 공격 발원지
출처: 아마카이코리아

아마카이코리아에서 발표한 2016년 인터넷 현황 보안 보고서에 따르면 2016년 3분기에만 4,556건의 DDoS가 발생했는데 지난해에 같은 기간에 비해 71%나 증가한 수치고 이 중에서 500Gbps 이상이 2건 발생했는데 모두 미라이 봇넷이라고 합니다. 그만큼 IoT를 이용한 봇넷 공격이 상상을 초월하는 결과를 가져온다는 것이죠.

Q: PC의 경우는 백신 프로그램이라도 있는데 미라이 봇넷에 감염되었는지는 어떻게 확인할 수 있나요?

일단 텔넷 포트 22번과 23번이 닫혀 있다면 미라이 봇넷에 감염되었다고 판단해야 합니다. 미라이 봇넷은 메모리에 상주하기 때문에 IoT 장비를 리부팅해도 다시 실행되기 때문에 일단 오프라인 상태로 리부팅하고 관리자 아이디나 비밀번호도 변경해야 합니다.

더보기


프로그램(Program) 단위 개발과 점진(Increment) 단위 개발

SI는 개발을 프로그램 단위로 한다. 프로그램 ID를 순서대로 개발하고 시스템을 완성해 나가는 방식이다. 물론 필요에 따라 프로그램 ID 순서와 관계없이 개발하는 경우도 있지만 중요한 방향성은 단위 프로그램을 개발하고 완료된 프로그램들을 모아서 시스템으로 구성하는 것이다.
애자일은 점진 단위로 개발한다. 하나의 스토리를 먼저 구성해 놓고 스토리를 점진적으로 완성해 나가는 방식이다(그림4). 하나의 스토리를 완성하게 되면 고객의 확인을 받아 최종 개발 완료(Done)된 건으로 분류하여 관리하게 된다.

<그림4> 애자일의 점진적 개발
출처: Agile methods for better and faster UX solutions

점진 단위 개발의 장점은 점진적 개발이 완료되면 개발자나 고객이 이해하기 좋은 스토리 단위로 완성이 된다는 점이다. 프로그램 단위 개발은 프로그램 하나가 개발이 되어도 개발자 말고는 이해하기 어렵기 때문에 시스템이 완료되어 통합테스트가 끝나기 전까지 개발자나 고객이 제대로 개발되었는지 확인하기 어렵다.
실제 애자일을 적용한 경우에도 스토리 별 점진적 개발이 이루어지지 않으면 프로젝트 내에서 리뷰와 피드백 활동이 어렵게 된다. 사용자 스토리 워크샵이나 프로젝트 초기에 스토리 정의가 매우 중요하다.


더보기


유저테스팅 조기에 해야하는 4가지 이유


  • 왜 유저테스팅인가?








더보기


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

더보기