TH3 6R3@T H@CK
Mirai - 웜 계열 DDoS 공격 유발 악성코드 본문
※ 악성코드분석 수업에서 직접 발표한 내용임
※ 게시물 무단 복제 및 재배포 금지
웜의 정의 및 특징
웜(Wrom)
∙ 사용자의 도움 없이 스스로 네트워크를 통해 자기 자신을 복제(self-replication)하고 스스로 전파(self-propagation) 할 수 있는 독립된 프로그램
∙ 원격지에서 불특정 시스템의 보안취약점을 공격하여 자신을 복제하고 다시 또 다른 시스템을 공격하여 전파하는 방식으로 매우 빠른 전파력을 가지고 있다.
∙ 일반적으로 웜은 취약점이나 보안 홀을 취하여 네트워크에서 네트워크로 이동하며 자신을 복제하는데, 현재의 웜은 과거와는 다르게 악의적이고 파괴를 목적으로 고안되어지고 있고, 다양한 확산기술을 이용하여 급속도로 확산한다.
웜의 확산방법
1. 취약점을 공격한 확산방식
∙ 주로, 초기의 인터넷 웜들이 사용하는 방식으로 운영체제나 응용프로그램의 보안취약점을 공격하여 시스템이나 응용프로그램의 권한을 획득한 후 자기 자신을 복제하여 확산하는 방식
∙ 대표적인 웜: Morris's Worm, Lion, Code Red
∙ 확산 과정
(1) 특정 혹은 불특정 네트워크로 취약점 스캐닝을 수행하여, 보안 취약점을 가지고 있는 시스템을 찾는다.
(2) 취약한 시스템이 발견되며, 해당 시스템으로 공격코드를 보내어 시스템이나 응용프로그램의 권한을 획득한다.
(3) 권한을 획득한 후 자기 자신을 복제하고, 실행시킨다.
(4) (1)부터 위의 과정을 반복하여 확산한다.
2. Backdoor를 이용한 확산방식
∙ 다른 웜들이 설치해 놓은 Backdoor에 의해 열려진 포트로 접속하여 자기 자신을 복제하여 확산하는 방식
∙ 대표적인 웜: Cheese, Rbot, Woobot, SdBot
∙ 확산 과정
(1) 특정 혹은 불특정 네트워크로 포트 스캐닝을 수행하여, 특정 Backdoor에 의해 특정 포트가 열려있는 시스템을 찾는다.
(2) Backdoor에 의해 포트가 열린 시스템에 접속하여 웜을 복사한다.
(3) 복제된 웜을 실행시킨 후 기존 웜이나 Backdoor를 제거한다.
* 다른 웜에 재감염이 되지 않도록 보안 패치를 적용하는 웜도 있다.
(4) (1)부터 위의 과정을 반복하여 확산한다.
3. 네트워크 공유폴더를 이용한 확산방식
∙ 웜이 자기 자신을 공유 폴더에 복사해 놓고, 사용자가 해당 웜을 복사해서 실행하도록 하여 확산하는 방식
∙ 대표적인 웜: Agobot, Lovgate, Sdbot
∙ 확산 과정
(1) 임의의 네트워크나 해당 네트워크로 공유 폴더를 찾기 위한 스캐닝을 수행하여 공유 폴더가 있는 시스템을 찾는다.
(2) 찾은 공유 폴더에 연결을 시도하고, 비밀번호가 설정된 경우 사전대입 방법을 통해 비밀번호를 찾아내어 공유 폴더에 연결하고 웜을 복사한다.
(3) 공유 폴더의 웜을 사용자가 복사해가고 실행했을 경우 (1)부터 위의 과정을 반복하여 확산한다.
4. E-mail을 이용한 확산 방식
∙ E-mail에 웜을 첨부하여 발송하거나, E-mail의 본문에 웜을 다운로드하여 실행하는 스크립트를 숨겨 메일을 발송하여, 해당 메일을 읽거나 해당 메일에 첨부된 파일을 실행할 때 자기 자신을 복제하여 확산하는 방식
∙ 대표적인 웜: Lovegate, Bagle, Netsky, Sober
∙ 확산 과정
(1) 사용자가 웜이 첨부된 메일을 열람하거나 메일에 첨부된 파일을 실행함으로 인해 웜에 감염된다.
(2) 웜이 실행되면 자기 자신을 윈도우 폴더나 윈도우 시스템 폴더에 복제한다.
(3) 컴퓨터가 부팅될 때마다 웜이 실행되도록 레지스트리를 수정한다.
(4) 컴퓨터에 저장된 주소록이나 인터넷 익스플로러 임시 폴더의 html 파일을 검색하여 메일 주소를 추출한다.
(5) 수집된 메일 주소로 웜을 첨부하여 메일을 발송한다.
(6) (1)부터 위의 과정을 반복하여 확산한다.
5. P2P 프로그램을 이용한 확산 방식
∙ 네트워크 공유 폴더를 이용한 웜과 유사하게 특정 공유 폴더에 웜을 저장하여 다른 사용자가 웜을 복사해 가도록 하여 자신을 복제시키는 방식
∙ 대표적인 웜: Doep, Naco, Maggold, GnuMan
∙ 확산 과정
(1) 웜이 실행되면 먼저 사용자가 사용하고 있는 P2P 프로그램을 검색한다.
(2) 검색된 P2P 프로그램의 공유 폴더에 사용자들이 흥미를 느낄만한 파일명으로 웜을 복제한다.
(3) 공유 폴더의 웜을 다운로드 한 사용자가 웜을 실행할 경우 (1)부터 위의 과정을 반복하여 확산한다.
6. IRC(Internet Relay Chat)을 이용한 확산 방식
∙ IRC 클라이언트 프로그램은 사용자의 편의를 주기 위해 사용자가 IRC 서버에 접속했을 때 수행할 명령어들을 스크립트를 이용하여 자동으로 실행하도록 도와주는데, 이 스크립트를 수정하여 IRC 서버에 접속했을 때 다른 사용자들에게 자기 자신을 전송하도록 하는 방식
∙ 대표적인 웜: Swen, Merkur, SdBot
∙ 확산 과정
(1) 웜이 실행되면 특정 폴더(윈도우 폴더 또는 시스템 폴더 등)에 자신을 복사한다.
(2) IRC 클라이언트 프로그램의 자동 수행과 관련된 스크립트를 수정하여, IRC 서버에 접속 시 웜을 전송하도록 한다.
(3) 웜에 감염된 사용자가 IRC 서버에 접속하여, 대화방에 참여한다.
(4) 대화방의 모든 사용자에게 웜 파일을 전송한다.
(5) 다운로드한 사용자가 웜을 실행하게 되면 (1)부터 위의 과정을 반복하여 확산한다.
Mirai 악성코드
미라이(Mirai)
ARC Argonaut RISC Core 프로세서에서 실행되는 스마트 장치를 감염시켜 원격으로 제어되는 봇 또는 좀비의 네트워크로 바꾸는 Malware
∙ 웜 계열의 DDoS 공격 유발 악성코드
∙ Mirai 악성코드는 Linux 운영체제를 기반으로 제작되어 크로스 컴파일을 통해 거의 대부분의 IoT 기기를 공격대상으로 한다.
∙ IoT에 대한 관심이 증가하며 IoT의 적용이 확대되고 있지만 IoT에 대한 보안인식이나 기술의 수준은 아직 낮기 때문에,
네트워크에 연결된 취약한 IoT기기의 수가 증가하는 상황에서 IoT기기를 대상으로 하는 공격은 치명적이다.
* DDoS 공격: Distributed Denial of Service, 분산서비스거부 공격
* 크로스 컴파일: 소스코드를 CPU별로 실행 가능한 형태로 바꿔주는 행위
Mirai 소스코드
https://github.com/jgamblin/Mirai-Source-Code
Mirai 공격 프로세스
∙ C&C서버, Mirai봇, Loader로 구성
∙ C&C서버: Mirai봇 제어∙관리, 공격자의 공격명령을 Mirai봇으로 전달
∙ Mirai봇: 주변 취약한 IoT기기를 탐색, C&C의 명령 수행
∙ Loader: Mirai 악성코드를 IoT기기에 감염
∙ 동작 원리
관리자 계정설정이 취약한 임베디드 기기 스캐닝, 접속 → 악성코드 전파
감염 → 취약한 타 기기 검색
감염으로 좀비 확보, 봇넷 구성 → 봇넷을 이용해 디도스 공격
1.스캔
∙ 최초 실행(동작) 시 스캔 기능을 수행
∙ 랜덤 IP주소를 생성하여 23번(Telnet)포트로 공장 출하 상태의 ID/PW값을 이용해 기본설정을 변경하지 않은 IoT 장비에 사전식 전사공격을 시도
* 사전식 전사공격
: ID/PW를 미리 구성해 놓고 구성한 값을 무작위로 대입하는 공격방식
2. 전파-봇넷(좀비)구성
∙ 스캔 후 IoT기기 접속이 성공하면 Mirai 악성코드를 주입하고 실행하는 과정 반복
∙ 감염장비를 확보하여 봇넷 형성
∙ 임베디드 장비 특성상 명령어가 부족하여 악성코드 주입에 실패하는 경우, 새로운 Busybox를 주입하고 wget명령어를 이용하여 Mirai 악성코드를 다운로드 받아 실행함으로써 전파 완료
∙ 이 과정을 반복하여 좀비 다수 확보 후 봇넷 구성
* Busybox : 유닉스∙리눅스 기반의 명령어를 구성한 명령어 모음도구
* wget: 웹페이지에 존재하는 파일을 다운로드하는 명령어
3. DDoS 공격 기능
∙ 형성된 봇넷은 C&C에 접속하여 명령을 대기하고, 공격 명령 수신 시 DDoS 명령을 수행
∙ 명령은 공격 대상과 HTTP(GET, POST, HEAD), TCP(SYN, RST, FIN, ACK, PSH), UDP(DNS, ICMP) Flooding 등의 공격방식으로 구성
4. 재부팅 방지
∙ 임베디드 장비의 자동 재부팅 기능(Watchdog)기능으로 인해 악성코드 동작이 중지되는 것을 막기 위해 재부팅 기능을 무력화하는 기능이 악성코드에 내포되어 있다.
* watchdog : 임베디드 장비가 다운됐을 때 재부팅을 위한 모니터링 프로세스
Mirai 피해 사례
DNS 서비스 제공업체 다인(Dyn) - 2016.10.21.
∙ 대규모 DDoS 공격 등 보안에 취약한 IoT 기기들이 Mirai 악성코드에 감염되어 DDoS 공격 발생
∙ 봇넷 내의 장치들에게 Dyn 시스템으로 수천만개의 요청을 보내고 인프라 차지
∙ 미국 북동부와 유럽 지역에서 PayPal, Twitter, Sony, Amazon, Netflix, Spotify, Pinterest, SoundCloud, Squarespace 등 50개 이상의 주요 인터넷 플랫폼에 대한 접근이 일시적으로 제한
∙ Dyn 공격이 발견된 후 2시간 만에 플랫폼 복구, 같은 날 두 번의 추가적인 공격으로 플랫폼 이용에 지연 발생
∙ 이 사건으로 인해 Dyn은 업무의 일시적인 중단, 복구비용, 평판 리스크 및 신뢰도 감소 등의 피해와 함께 회사 고객 기반의 8%를 잃음
Mirai 봇넷 vs. IoT 루프 봇넷(IoT리퍼)
유사점
∙ IoT 장치를 감염시켜 DDoS공격에 이용
차이점
Mirai | IoT루프 |
∙ 랜덤 IP주소를 생성하여 23번 포트(Telnet)으로 로그인을 시도 ∙ 62개의 아이디, 비밀번호를 이용하여 사전대입공격으로 IoT 장치에 로그인 후 감염 및 전파 |
∙ 랜덤 IP주소를 생성하고, 생성된 IP 주소의 취약점을 검색 ∙ 약 1300여 종류의 IoT 장치의 취약점을 이용하여 감염 및 전파 |
∙ IoT루프는 Mirai에 비해 감염방식이 진화되어 더 빠른 속도로 전파된다.
Mirai 예방 방안
사용자
제조사
∙ 보안조치(불필요한 포트 차단, ID/PW보완 등)를 적용하는 펌웨어 제작 ∙ 배포 ∙ 업데이트 필요 (+ 사용자에게 공지)
정부기관
∙ 보안 가이드, 지침 등을 제작하여 시행 권장
참고 자료
명세인, 송영준, 이종혁, 「Mirai DDoS 공격에 관한 소스코드 분석」, 『한국통신학회 2017년도 동계종합학술발표회』, pp.388-389.
박원형, 「대규모 네트워크에서 웜∙바이러스 탐지 기법 연구」, 『서울산업대학교 산업대학원 학위논문』
양세봉, 「인터넷 웜 대응에 관한 연구」, 『동국대학교 국제정보대학원 학위논문』
황송이, 김정녀, 「Mirai 사물봇넷 기반 DDoS 공격 기법 연구」, 『2019 한국통신학회 추계종합학술발표회』, pp.309-310.
2016년 Mirai 악성코드 동향, 한국인터넷진흥원
https://coverlink.com/case-study/mirai-ddos-attack-on-dyn/
https://m.boannews.com/html/detail.html?idx=79106
https://www.cloudflare.com/ko-kr/learning/ddos/glossary/mirai-botnet/
교수님 피드백
1. mirai 봇넷은 가벼운 소스코드 → IoT장비
2. 미라이 봇넷에 대한 해시값 추출, 해시값 검색했으면 재밌는 정보를 얻을 수 있지 않았을까.
3. port 정보 → https://www.criminalip.io/
'etc.' 카테고리의 다른 글
Database (0) | 2023.10.29 |
---|---|
보안관제 (0) | 2023.10.25 |
[카드뉴스] 디지털 환경에서의 위생, 사이버 하이진 (0) | 2022.11.21 |
[카드뉴스] 출입보안 크리덴셜 (0) | 2022.11.21 |
[카드뉴스] 안드로이드 사용자들은 유의하자 ! 플리스웨어 (fleeceware) (0) | 2022.11.21 |