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 맵핑


더보기


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






더보기