미라이 봇넷 편집하기
편집을 되돌릴 수 있습니다.
이 편집을 되돌리려면 아래의 바뀐 내용을 확인한 후 저장해주세요.
최신판 | 당신의 편집 | ||
1번째 줄: | 1번째 줄: | ||
− | |||
− | |||
'''미라이 봇넷'''<!--미라이봇넷, 미라이-->(Mirai botnet)<!--MiraiBotnet, Mirai-->은 [[사물인터넷]](IoT) 기기를 [[좀비]]로 만들어 네트워크상에서 해커가 마음대로 제어할 수 있게 하는 [[봇넷]](Botnet)의 일종이다. 일본어로 '미라이'(mirai)는 '미래'를 뜻하는 단어로서, 여기서 '미라이'라는 이름은 해커 본인이 좋아했던 애니메이션 주인공의 이름을 따서 붙였다고 한다.<ref> dlsghl92, 〈[https://velog.io/@dlsghl92/%EB%AF%B8%EB%9D%BC%EC%9D%B4-%EB%B4%87%EB%84%B7-hdk01xy9fz 미라이봇넷]〉, 《velog》개인 블로그, 2019-09-02 </ref> | '''미라이 봇넷'''<!--미라이봇넷, 미라이-->(Mirai botnet)<!--MiraiBotnet, Mirai-->은 [[사물인터넷]](IoT) 기기를 [[좀비]]로 만들어 네트워크상에서 해커가 마음대로 제어할 수 있게 하는 [[봇넷]](Botnet)의 일종이다. 일본어로 '미라이'(mirai)는 '미래'를 뜻하는 단어로서, 여기서 '미라이'라는 이름은 해커 본인이 좋아했던 애니메이션 주인공의 이름을 따서 붙였다고 한다.<ref> dlsghl92, 〈[https://velog.io/@dlsghl92/%EB%AF%B8%EB%9D%BC%EC%9D%B4-%EB%B4%87%EB%84%B7-hdk01xy9fz 미라이봇넷]〉, 《velog》개인 블로그, 2019-09-02 </ref> | ||
==개요== | ==개요== | ||
− | 2016년 10월, 도메인 주소 조회 ([[DNS]], Domain Name Service) 서비스 제공업체인 [[Dyn]]이 대규모 디도스 공격을 받았다. 이로인해 Dyn이 맡고 있는 트위터, 넷플릭스, 뉴욕타임즈 등 총 1,200개가 넘는 사이트가 일제히 마비되었다. 미라이 | + | 2016년 10월, 도메인 주소 조회 ([[DNS]], Domain Name Service) 서비스 제공업체인 [[Dyn]]이 대규모 디도스 공격을 받았다. 이로인해 Dyn이 맡고 있는 트위터, 넷플릭스, 뉴욕타임즈 등 총 1,200개가 넘는 사이트가 일제히 마비되었다. 브라이언 크랩스 블로그(KrebsonSecurity) 분석결과에 따르면 이번 디도스 공격 원인은 보안에 취약한 IoT 기기가 미라이 악성코드에 감염되어 해커의 명령을 받아 디도스 공격을 발생시킨 것으로 확인되었다. <ref name="디도스"> Tim Greene〈[http://www.itworld.co.kr/news/101726 Dyn을 침몰시킨 DDoS 공격의 전개 방법…서브도메인 공격이 결정타]〉, 《IT WORLD 》, 2016-10-24</ref> |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | ==타임라인== | |
− | + | * 2016년 09월 13일 : 컴퓨터 보안기자 Brian Krebs의 웹사이트(krebsonsecurity.com) 665 Gbps 공격 진행 | |
+ | * 2016년 09월 18일 : 프랑스 웹 호스트 OVH에 최초 1.1 Tbps 공격시작, 최종 1.5 Tbps 공격으로 세계에서 가장 큰 규모의 디도스 공격으로 기록 | ||
+ | * 2016년 09월 30일 : 해커 포럼(Hacker Forum)에 미라이 제작자 소스코드와 상세한 내용 공개 | ||
+ | * 2016년 10월 21일 : 2016 [[Dyn cyberattack]] 1.2 Tbps 크기 공격(미국의 주요 도메인 서비스 마비된 사건 발생, 장기간 서비스 중단) | ||
==특징== | ==특징== | ||
− | |||
===감염 대상=== | ===감염 대상=== | ||
loT 장비(셋탑박스, 공유기 등) 제조사마다 다양한 CPU를 사용하고 있고, CPU 환경에 적합한 리눅스 운영체제를 적용하고 있다. [[리눅스]] 운영체제를 기반으로 제작된 소스코드는 [[크로스 컴파일]]을 통해 다양한 CPU환경에서 실행가능하도록 만들어진다. 이 때문에 거의 대부분의 IoT 기기가 공격의 대상이 된다. | loT 장비(셋탑박스, 공유기 등) 제조사마다 다양한 CPU를 사용하고 있고, CPU 환경에 적합한 리눅스 운영체제를 적용하고 있다. [[리눅스]] 운영체제를 기반으로 제작된 소스코드는 [[크로스 컴파일]]을 통해 다양한 CPU환경에서 실행가능하도록 만들어진다. 이 때문에 거의 대부분의 IoT 기기가 공격의 대상이 된다. | ||
− | * [[크로스 컴파일]]: 소스코드를 CPU 별로 실행 가능한 형태로 바꿔주는 행위 | + | * [[크로스 컴파일]] : 소스코드를 CPU 별로 실행 가능한 형태로 바꿔주는 행위 |
===동작 원리=== | ===동작 원리=== | ||
60번째 줄: | 23번째 줄: | ||
미라이는 최초 실행 시 네트워크 스캔기능을 수행하는데 랜덤 IP 주소를 생성하여 23번 포트(Telnet)로 약 60여개의 공장 출하시 설정된 아이디와 패스워드 값을 미리 사전에 등록하여 설정을 변경하지 않은 IoT 장비에 60여개의 아이디와 패스워드를 차례대로 시도한다. | 미라이는 최초 실행 시 네트워크 스캔기능을 수행하는데 랜덤 IP 주소를 생성하여 23번 포트(Telnet)로 약 60여개의 공장 출하시 설정된 아이디와 패스워드 값을 미리 사전에 등록하여 설정을 변경하지 않은 IoT 장비에 60여개의 아이디와 패스워드를 차례대로 시도한다. | ||
− | * [[사전식 전시공격]]: 아이디와 패스워드를 미리 구성해놓고 구성한 값을 무작위로 대비하는 공격방식 | + | * [[사전식 전시공격]] : 아이디와 패스워드를 미리 구성해놓고 구성한 값을 무작위로 대비하는 공격방식 |
− | === | + | ===전파기능: 봇넷 구성=== |
IoT 기기에 접속을 성공하면 미라이 악성코드를 주입하고 실행하는 과정을 반복해 감염 장비를 확보해 거대한 봇넷을 형성한다. 악성코드를 주입할 때 IoT 장비에서 제공하는 명령어가 부족하여 다운로드에 실패할 수 있는데, 이런 경우에는 다양한 명령어를 보유한 새로운 [[Busybox]](리눅스 기반 명령어 모음도구) 를 주입하고 Busybox의 **wget명령어를 이용하여 미라이 악성코드를 다운로드 받아 실행함으로써 전파를 완료한다. | IoT 기기에 접속을 성공하면 미라이 악성코드를 주입하고 실행하는 과정을 반복해 감염 장비를 확보해 거대한 봇넷을 형성한다. 악성코드를 주입할 때 IoT 장비에서 제공하는 명령어가 부족하여 다운로드에 실패할 수 있는데, 이런 경우에는 다양한 명령어를 보유한 새로운 [[Busybox]](리눅스 기반 명령어 모음도구) 를 주입하고 Busybox의 **wget명령어를 이용하여 미라이 악성코드를 다운로드 받아 실행함으로써 전파를 완료한다. | ||
− | *[[Busybox]]: 유닉스, 리눅스 기반의 명령어를 구성한 명령어 모음도구 | + | *[[Busybox]] : 유닉스, 리눅스 기반의 명령어를 구성한 명령어 모음도구 |
− | *[[** wget]]: 웹 페이지에 존재하는 파일을 다운로드하는 명령어 | + | *[[** wget]] : 웹 페이지에 존재하는 파일을 다운로드하는 명령어 |
− | + | wget명령어 사용예제 : busybox wget http:// /bin.sh | |
− | wget명령어 사용예제: busybox wget http:// /bin.sh | ||
===디도스 공격=== | ===디도스 공격=== | ||
77번째 줄: | 39번째 줄: | ||
IoT 장비가 동작 도중에 멈추거나 서비스가 중지되는 것을 방지하기 위해 자동 재부팅 기능([[Watchdog]])이 존재한다. 이 기능이 필요한 이유는 미라이 악성코드는 감염 시 메모리에만 상주하고 디스크에서 파일을 삭제하기 때문에 재부팅 시 메모리에 상주한 악성코드가 사라져 동작이 중지된다. 이를 막기 위해서 재부팅 기능을 무력화하는 기능이 악성코드 내에 포함하고 있다. <ref> 한국인터넷진흥원 사이버침해대응본부 침해사고분석 분석2팀 〈[https://www.krcert.or.kr/filedownload.do?attach_file_seq=974&attach_file_id=EpF974.pdf 2016년 Mirai 악성코드 동향]〉, 《한국인터넷진흥원(KISA)》, 2016.12 </ref> | IoT 장비가 동작 도중에 멈추거나 서비스가 중지되는 것을 방지하기 위해 자동 재부팅 기능([[Watchdog]])이 존재한다. 이 기능이 필요한 이유는 미라이 악성코드는 감염 시 메모리에만 상주하고 디스크에서 파일을 삭제하기 때문에 재부팅 시 메모리에 상주한 악성코드가 사라져 동작이 중지된다. 이를 막기 위해서 재부팅 기능을 무력화하는 기능이 악성코드 내에 포함하고 있다. <ref> 한국인터넷진흥원 사이버침해대응본부 침해사고분석 분석2팀 〈[https://www.krcert.or.kr/filedownload.do?attach_file_seq=974&attach_file_id=EpF974.pdf 2016년 Mirai 악성코드 동향]〉, 《한국인터넷진흥원(KISA)》, 2016.12 </ref> | ||
− | * [[watchdog]]: 임베디드 장비가 다운됐을 때 재부팅을 위한 모니터링 프로세스 | + | * [[watchdog]] : 임베디드 장비가 다운됐을 때 재부팅을 위한 모니터링 프로세스 |
+ | |||
+ | ;미라이 악성코드 변종 발견 | ||
+ | 미라이 악성코드는 최근 더 많은 장치를 감염시키기 위해 윈도우용으로도 만들어져 확산되고 있으며, 라우터 및 DVR과 CCTV 시스템 등을 겨냥하고 있다. | ||
+ | |||
+ | ==구성== | ||
==예방 및 대응== | ==예방 및 대응== | ||
+ | |||
* 네트워크 연결을 차단한다. | * 네트워크 연결을 차단한다. | ||
* 네트워크와 인터넷이 끊기면 재부팅한다. 미라이 악성코드는 동적 메모리에서 동작하기에 재부팅하여 메모리를 초기화하여 해결한다. | * 네트워크와 인터넷이 끊기면 재부팅한다. 미라이 악성코드는 동적 메모리에서 동작하기에 재부팅하여 메모리를 초기화하여 해결한다. | ||
87번째 줄: | 55번째 줄: | ||
* 의심스러운 트래픽을 발견하는 즉시, 대응 방안을 통해 악성코드를 제거한다. | * 의심스러운 트래픽을 발견하는 즉시, 대응 방안을 통해 악성코드를 제거한다. | ||
− | + | ==추가동향== | |
− | + | * 100만 대의 사물인터넷 기기가 감염되어 있는 것으로 알려진 Bashlite는 Level 3 Communications 보안회사에 의해 보고되었다. 해당 악성코드는 초기에 쉘쇼크(Shellshock) 취약점을 이용하여 비지박스(Busybox)를 동작시켜 악성코드를 감염시켰다. | |
− | |||
− | |||
− | |||
− | |||
− | == | ||
− | |||
− | |||
− | |||
− | |||
− | + | * 2015년 초, 소스코드가 유출되었는데 소스코드 내에 다양한 플랫폼에서 동작할 수 있도록 [[크로스 컴파일]]을 지원하는 코드가 존재하는 것을 발견했다. 그 후, 미라이와 유사하게 사물인터넷 기기를 대상으로 아이디와 패스워드 방식으로 악성코드를 감염시켜 디도스 공격에 사용되기 시작했다. | |
− | |||
− | |||
;* 미라이 봇넷 새로운 변종 등장 '에코봇' | ;* 미라이 봇넷 새로운 변종 등장 '에코봇' | ||
− | + | 악명 높은 사물인터넷 봇넷 멀웨어인 미라이(Mirai)의 또 다른 변종이 발견됐다. 보안 업체 아카마이(Akamai)가 분석한 바에 따르면 26개의 익스플로잇을 사용해 사물인터넷 장비들을 점령한다. 이번에 발견된 미라이 변종의 이름은 [[에코봇]](Echobot)으로, 6월초부터 나타나기 시작했다. 초기 버전은 18개의 익스플로잇을 포함하고 있었는데, 이중 8개는 기존 미라이 코드에서 발견할 수 없었던 것들이었다. 최근 패치된 [[오라클 웹로직]](Oracle WebLogic)의 원격 코드 실행 취약점인 CVE-2019-2725에 대한 익스플로잇도 에코봇 안에서 발견됐다. | |
{{인용문|“에코봇 중에서도 최신 버전은 26개의 익스플로잇을 가지고 감염을 시도한다. 26개 취약점 대부분은 이미 널리 알려진 명령 실행 취약점들이고, 여러 가지 장비들에서 지속적으로 발견되어 온 것입니다. 일부에는 CVE 번호가 붙어있지 않은 것도 있습니다만, 제로데이 성격의 취약점은 하나도 없습니다.- '''아카마이의 보안 전문가 래리 캐시돌라(Larry Cashdollar)''' }} | {{인용문|“에코봇 중에서도 최신 버전은 26개의 익스플로잇을 가지고 감염을 시도한다. 26개 취약점 대부분은 이미 널리 알려진 명령 실행 취약점들이고, 여러 가지 장비들에서 지속적으로 발견되어 온 것입니다. 일부에는 CVE 번호가 붙어있지 않은 것도 있습니다만, 제로데이 성격의 취약점은 하나도 없습니다.- '''아카마이의 보안 전문가 래리 캐시돌라(Larry Cashdollar)''' }} | ||
− | 에코봇의 로더 시스템은 불가리아의 가상 서버에 호스팅 되어 있는 것으로 파악됐다. 바이너리는 FTP와 HTTP를 통해 호스팅 되는데, 비교적 최근에 | + | 에코봇의 표적이 되고 있는 장비들은 다음 제조사들에 만든 것들이라고 한다.<br> |
+ | 1) ADM 2) 유비퀴티(Ubiquity) 혹은 에어OS(AirOS) 3) ASMAX 4) 에이수스(ASUS) 5) 벨킨(Belkin) 6) 블랙봇(Blackbot) 7) DD-WRT 8) 델(Dell) 9) 디링크(D-Link) 10) 드림박스(Dreambox) 11) 구트브룩(Geutebruck) 12) 후투(Hootoo) 13) 링크시스(Linksys) 14) 넷기어(Netgear) 15) 뉴오(Nuuo) 16) 오라클(Oracle) 17) 리얼텍(Realtek) 18) 서원인텍(Seowonintech) 19) 슈퍼사인(SuperSign) 20) 유모션(Umotion) 21) 베라라이트(VeraLite) 22) VM웨어 23) 위프레젠트(wePresent) 24) 와이파이캠(WIFICAM) 25) 이링크(Yealink) 26) 제로셀(ZeroShell) | ||
+ | |||
+ | 에코봇의 로더 시스템은 불가리아의 가상 서버에 호스팅 되어 있는 것으로 파악됐다. 바이너리는 FTP와 HTTP를 통해 호스팅 되는데, 비교적 최근에 업데이트 된 것으로 보인다. <ref> 문가용 기자〈[https://www.boannews.com/media/view.asp?idx=80520 미라이 봇넷의 새로운 변종 에코봇, 익스플로잇 26개 탑재해],《보안뉴스》, 2019-06-18 </ref> | ||
+ | |||
+ | ------------------------------ | ||
;미라이 악성코드 국가별 분포도 <ref> Chad Seaman 〈[https://www.akamai.com/kr/ko/resources/our-thinking/threat-advisories/akamai-mirai-botnet-threat-advisory.jsp | ;미라이 악성코드 국가별 분포도 <ref> Chad Seaman 〈[https://www.akamai.com/kr/ko/resources/our-thinking/threat-advisories/akamai-mirai-botnet-threat-advisory.jsp | ||
위협 주의보: 미라이(Mirai) 봇넷]〉, 《Akamai)》 </ref> | 위협 주의보: 미라이(Mirai) 봇넷]〉, 《Akamai)》 </ref> | ||
− | [[파일: | + | [[파일:미라이감염국가.jpg|500픽셀|'''미라이 악성코드 국가별 분포도(출처:한국정보보호교육센터)]] |
− | |||
− | |||
:{|class=wikitable width=300|오른쪽| | :{|class=wikitable width=300|오른쪽| | ||
153번째 줄: | 113번째 줄: | ||
{{각주}} | {{각주}} | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
==같이 보기== | ==같이 보기== | ||
* [[봇]] | * [[봇]] | ||
* [[봇넷]] | * [[봇넷]] | ||
− | |||
− | |||
{{보안|검토 필요}} | {{보안|검토 필요}} |