loading
본문으로 바로가기

미라이 봇넷이란?

미라이 봇넷(Mirai botnet)은 2016년 10월, 도메인 주소 조회 (DNS, Domain Name Service) 서비스 제공업체인 Dyn이 대규모 디도스 공격을 당함으로써, 세상에 알려지게 되었습니다. 

이로인해 Dyn이 맡고 있는 트위터, 넷플릭스, 뉴욕타임즈 등 총 1,200개가 넘는 사이트가 일제히 마비되었고 미라이 봇넷 공격으로 트위터, 넷플릭스, CNN을 비롯한 주요 웹사이트가 전부 차단되었습니다.

 

러시아는 주요 은행들이, 라이베리아는 국가 전체가 영향을 받았고 미라이 봇넷은 보안 카메라 등 보안이 허술한 사물 인터넷 기기에 악성코드를 설치하고 인터넷 트래픽을 라우팅하는 DYN 서버를 공격하는 방식으로 이루어졌습니다.

 

사물인터넷(IoT) 기기를 좀비로 만들어 네트워크상에서 해커가 마음대로 제어할 수 있게 하는 봇넷(Botnet)의 일종이며, 일본어로 '미라이'(mirai)는 '미래'를 뜻하는 단어입니다.

 

봇넷(botnet)은 인터넷에 연결되어 있으면서 위해를 입은 여러 컴퓨터들의 집단을 일컫는 단어입니다.

사이버 범죄자가 트로이 목마, 또 이 밖의 악성 소프트웨어를 이용해 빼앗은 다수의 좀비 컴퓨터로 구성되는 네트워크라고 볼 수 있습니다.

 

미라이 봇넷 분석 및 탐지

1. 미라이는 HTTP Flood와 네트워크 수준의 공격을 모두 감행할 수 있습니다.

2. 미라이는 GE, HP, 미국 국방부 소유의 IP 주소를 포함해 피할 수 있는 특정 IP 주소가 있습니다.

3. 한 장치를 감염시키면, 미라이는 해당 기기에서 다른 악성코드를 찾아내 이를 지우는 기능을 합니다.

4. 미라이의 코드에는 러시아로 된 몇 개의 문자열이 있다. 이 문자열은 관심과 추적을 다른 데로 돌리기 위한 미끼였습니다.

 

미라이는 메모리에 자신을 저장하기 때문에 감염된 장치가 일반적으로 신속하게 재감염이 되기는 하지만, 장치를 재부팅하면 감염 상태를 제거할 수 있다. 따라서 기존에 취약한 장치가 있다면, 재부팅하기 전에 비밀번호를 강하게 변경하는 것이 좋다.

 

특징

감염 대상

loT 장비(셋탑박스, 공유기 등) 제조사마다 다양한 CPU를 사용하고 있고, CPU 환경에 적합한 리눅스 운영체제를 적용하고 있다. 리눅스 운영체제를 기반으로 제작된 소스코드는 Cross Complie을 통해 다양한 CPU환경에서 실행가능하도록 만들어진다. 이 때문에 거의 대부분의 IoT 기기가 공격의 대상이 됩니다.

 

*Cross Complie: 소스코드를 CPU 별로 실행 가능한 형태로 바꿔주는 행위

 

동작 원리

관리자 계정설정이 취약한 임베디드 기기(CCTV, NAS 등) 스캐닝 접속 → 악성코드 전파 및 감염 → 취약한 기기 감염으로 좀비 PC 확보 → 봇넷 구성 → 봇넷을 이용한 디도스 공격

 

스캔 기능

미라이는 최초 실행 시 네트워크 스캔기능을 수행하는데 랜덤 IP 주소를 생성하여 23번 포트(Telnet)로 약 60여개의 공장 출하시 설정된 아이디와 패스워드 값을 미리 사전에 등록하여 설정을 변경하지 않은 IoT 장비에 60여개의 아이디와 패스워드를 차례대로 시도합니다.

*사전식 전시공격 : 아이디와 패스워드를 미리 구성해놓고 구성한 값을 무작위로 대비하는 공격방식

 

전파 기능

IoT 기기에 접속을 성공하면 미라이 악성코드를 주입하고 실행하는 과정을 반복해 감염 장비를 확보해 거대한 봇넷을 형성한다. 악성코드를 주입할 때 IoT 장비에서 제공하는 명령어가 부족하여 다운로드에 실패할 수 있는데, 이런 경우에는 다양한 명령어를 보유한 새로운 Busybox(리눅스 기반 명령어 모음도구)를 주입하고 Busybox의 **wget명령어를 이용하여 미라이 악성코드를 다운로드 받아 실행함으로써 전파를 완료한다.

Busybox : 유닉스, 리눅스 기반의 명령어를 구성한 명령어 모음도구
** wget : 웹 페이지에 존재하는 파일을 다운로드하는 명령어

wget명령어 사용예제 : busybox wget http:// /bin.sh

 

디도스 공격

이렇게 형성한 봇넷은 C&C(Command and Conquer)에 접속하여 명령을 기다리고 있다가 공격 명령이 떨어지면 디도스 공격을 수행한다. 공격 방식은 HTTP(GET, POST, HEAD), TCP(SYN, RST, FIN, ACK, PSH), UDP(DNS, ICMP) Flooding(홍수) 등의 공격방식으로 구성된다.

 

재부팅 방지 기능

IoT 장비가 동작 도중에 멈추거나 서비스가 중지되는 것을 방지하기 위해 자동 재부팅 기능(Watchdog)이 존재한다. 이 기능이 필요한 이유는 미라이 악성코드는 감염 시 메모리에만 상주하고 디스크에서 파일을 삭제하기 때문에 재부팅 시 메모리에 상주한 악성코드가 사라져 동작이 중지된다. 이를 막기 위해서 재부팅 기능을 무력화하는 기능이 악성코드 내에 포함하고 있다.

*watchdog : 임베디드 장비가 다운됐을 때 재부팅을 위한 모니터링 프로세스

 

※ 해결방안

1. 네트워크 연결을 차단

2. 네트워크와 인터넷이 끊기면 재부팅 후, 미라이 악성코드는 동적 메모리에서 동작하기에 재부팅하여 메모리를 초기화하여 해결

3. 재부팅을 마치면 장치에 접근할 때 사용하는 암호를 강력한 암호로 변경

4. 주기적으로 사물인터넷(IoT)기기의 보안 업데이트를 실시

5. 원격 터미널을 사용하는 사물인터넷 기기에 접근할 때 자주 사용하는 포트를 모니터링

6. 의심스러운 트래픽을 발견하는 즉시, 대응 방안을 통해 악성코드를 제거


추가 자료

봇넷 제작자가 공개한 소스코드 scanner.c라는 파일에 62개의 계정/비밀번호 조합이 사용되었고 봇넷 구성에는 6대의 서버를 사용했으며 계정/암호가 취약한 약 40만대의 기기를 봇으로 만들었다고 합니다.

 

root     xc3511
root     vizxv
root     admin
admin    admin
root     888888
root     xmhdipc
root     default
root     juantech
root     123456
root     54321
support  support
root     (none)
admin    password
root     root
root     12345
user     user
admin    (none)
root     pass
admin    admin1234
root     1111
admin    smcadmin
admin    1111
root     666666
root     password
root     1234
root     klv123
Administrator admin
service  service
supervisor supervisor
guest    guest
guest    12345
guest    12345
admin1   password
administrator 1234
666666   666666
888888   888888
ubnt     ubnt
root     klv1234
root     Zte521
root     hi3518
root     jvbzd
root     anko
root     zlxx.
root     7ujMko0vizxv
root     7ujMko0admin
root     system
root     ikwb
root     dreambox
root     user
root     realtek
root     00000000
admin    1111111
admin    1234
admin    12345
admin    54321
admin    123456
admin    7ujMko0admin
admin    1234
admin    pass
admin    meinsm
tech     tech
mother   f**er [censored]

해당 비밀번호 목록은 주로 취약한 비번이거나 출시될 때의 초기 암호이며, 공장초기비번(default password)의 경우에는 사용자들이 잘 변경하지 않은 다는 점을 악용하여 장악한 것입니다.