문서번호 : 16-OT-08 MIRAI BOTNET MIRAI 봇넷동향 / 분석보고서 이저작물은 ( 주 ) 한국정보보호교육센터 f-ngs 연구소에의해제작된문서로크리에이티브커먼즈 [ 저작자표시 - 비영리 - 변경금지 4.0 국제라이선스 ] 에따라이용할수있습니다.
1 MIRAI BOTNET 작성자정보 MIRAI 봇넷동향 / 분석보고서 최우석 (hakawati) 목차 미라이 (MIRAI)... 3 타임라인... 4 추가동향... 6 새로운공격?... 6 봇넷의규모는?... 6 기본사용자계정과패스워드로사용된키워드는?... 8 감염된기기대응방안... 9 예방방안... 9 사물인터넷관련보안가이드및지침... 10 공유기제품생산시적용할보안가이드, 2015... 10 IOT 공통보안가이드, 2016... 11 OWASP IOT 보안지침, 2016... 12 DDOS 대응가이드및지침... 15 한국인터넷진흥원의 DDOS 공격대응가이드, 2012... 15 US-CERT 의 DDOS QUICK GUIDE, 2014... 17 참고사이트... 18
2 문서개정이력 개정번호개정사유및내용개정일자 1.0 최초작성 2016-11-07
3 미라이 (MIRAI) Mirai 는일본어로 미래 를의미하는단어로 DDoS 공격에서주요자원인좀비 PC 를만들기위한악성코드를 의미했다. 최근에는오픈소스로공개하면서악성코드부터 C&C 까지모든코드를지칭하는고유명사로변모 했다. 현재는 Mirai 봇넷 Botnet 으로불린다. 아이피기반으로원격카메라, 홈라우터와같은사물인터넷기기를검색하고, 검색된기기에인터넷에공개된기본계정과패스워드로접근한후명령을통해악성코드를다운로드하고실행시킨다. 알려진바로 62 개의사물인터넷기기를대상으로공격하며, Mirai 코드를공개한작성자에의하면 38 만대정도감염된것으로보고되었다. 감염방식이전형적인웜 Worm 형태를가지기에유포력이크다. Figure 1 Mirai 소스코드공개
4 타임라인 Figure 2 Mirai 봇넷연혁도표 Mirai 봇넷은가장크고가장파괴적인분산서비스거부공격 DDoS, Distributed Denial-of-Service Attack 공격으로분류되는데, 현존하는 DDoS 공격의규모를모두갱신했다. 2016 년 9 월 13 일에발생한컴퓨터보안기자 Brian Krebs 의웹사이트 (krebsonsecurity.com) 에 665 Gbps 공격 [1] 을진행했고, 2016 년 9 월 18 일프랑스웹호스트 OVH 에최초 1.1 Tbps 로공격으로시작하여최종적으로 1.5 Tbps 공격이들어와세계에서가장큰규모의 DDoS 공격으로기록 [2] 되었다. OVH 의최고기술책임자 Octave Klaba 는트위터에다음과같이이이슈를남겼다. Figure 3 OVH DDoS 공격관련첫게시글 [3]
5 Figure 4 18 일부터 22 일까지 OVH 에들어온공격크기 [4] Octave Klaba 의말을인용하면 145,607 대의카메라와비디오레코더가공격에사용되었으며, 공격할때한개의아이피당 1~30 Mbps 정도패킷을전송해최종 1.5 Tbps 공격이들어온다. 공격의종류는 tcp/ack, tcp/ack-psh, tcp/syn 이다. 48 시간정도모니터링해본결과새로운 6,857 대의카메라가공격에사용되었고, 다시 48 시간정도모니터링해본결과 15,654 대의 CCTV 가공격에사용되었다. 라고트위터 [5][6][7] 에서언급했다. 이는공격중에도악성코드가감염되어공격에참여해엄청난규모의 DDoS 공격을지속할수있음을시사한다. Anna-senpai 라는아이디를쓰는 Mirai 제작자는해커포럼 HackForum 에 2016 년 9 월 30 일소스코드와상세한내 용을공개했다. 본격적으로오픈소스화되면서소스코드를분석해또다른공격에이용되기시작했다고 US- CERT 의 TA16-288A [8] 에서언급했다. Mirai 가국제적으로가장이슈가된것은 2016 년 10 월 21 일 1.2 Tbps 크기로공격하여미국의주요서비스가마비된사건인 2016 Dyn cyberattack [9] 때문이다. 이슈가된이유는전세계에서많이사용하는서비스인 GitHub, Twitter, Reddit, Netflix, Airbnb, The New York Times, Paypal, Pixlr 등이해당 DNS 서비스를이용하고있어장기간서비스가중단되었기때문이다.
6 Table 1 Dyn cyberattack 에의해서비스가중단된웹서비스리스트 Airbnb Electronic Arts Netflix Seamless Twitter Amazon.com Etsy The New York Times Second Life Verizon Communications Ancestry.com FiveThirtyEight Overstock.com Shopify Visa The A.V. Club Fox News PayPal Slack Vox Media BBC The Guardian Pinterest SoundCloud Walgreens The Boston Globe GitHub Pixlr Squarespace The Wall Street Journal Box Grubhub PlayStation Network Spotify Wikia Business Insider HBO Qualtrics Starbucks Wired CNN Heroku Quora Storify Wix.com Comcast HostGator Reddit CrunchBase iheartradio Roblox Swedish Civil Contingencies Agency Swedish Government WWE Network Xbox Live DirecTV Imgur Ruby Lane Tumblr Yammer The Elder Scrolls Online Indiegogo RuneScape Twilio Yelp 추가동향 새로운공격? Mirai 의공격형태는새로운것은아니다. 100 만대의사물인터넷기기가감염되어있는것으로알려진 Bashlite 는 Level 3 Communications 보안회사에의해보고 [10] 되었다. 이악성코드는초기에쉘쇼크 Shellshock 취약점을이용하여비지박스 Busybox 를동작시켜악성코드를감염시켰다. 그리고 2015 년초소스코드가유출되었는데소스코드를살펴보면다양한플랫폼에서동작할수있도록크로스컴파일을지원하는코드가존재하는것을발견할수있었다. 그후 Mirai 와유사하게사물인터넷기기를대상으로아이디와패스워드방식으로악성코드를감염시켜 DDoS 공격에사용되기시작했다. 봇넷의규모는? Mirai 봇넷에의해공격한기기들의아이피를조사하여규모를파악해본결과전세계 164 개국에위치한기기가 감염되었다. 가장많이감염된국가는베트남부터시작하여순차적으로브라질, 미국, 중국, 멕시코그리고한국 이있다.
7 Figure 5 Mirai 악성코드분포도 [11] Table 2 Mirai DDoS 공격근원지 Top 10 국가 Mirai 봇넷아이피수 (%) 베트남 12.8% 브라질 11.8% 미국 10.9% 중국 8.8% 멕시코코 8.4% 한국 6.2% 태국 4.9% 러시아 4.0% 루마니아 2.3% 콜롬비아 1.5%
8 기본사용자계정과패스워드로사용된키워드는? Mirai 는제조사에서언급하는기본사용자계정과패스워드를수집하고, 이를사전화하여무작위대입공격하는 방식으로진행했다. 여기서사용된사용자계정과패스워드리스트는다음과같다. Table 3 Mirai 가사용한취약한계정과패스워드리스트 계정 비밀번호 계정 비밀번호 계정 비밀번호 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 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 fucker 실제로사용자계정과패스워드가입력된공개파일 scanner.c 에는 62 개가있지만 guest / 12345 가중복으로 사용되고있어 61 개만정리했다. 이중에 admin, root 처럼관리자를암시하는계정을제외하면 11 개로, 처음부 터관리자를암시하는계정을사용하지않는다면 82% 정도대응할수있다.
9 감염된기기대응방안 네트워크연결을끊는다. 네트워크와인터넷이끊기면재부팅한다. Mirai 악성코드는동적메모리에서동작하기에재부팅하여메모리를초기화하여해결한다. 재부팅이끝나면장치에접근할때사용하는암호를강력한암호로변경한다. 강력한비밀번호만들기 [12] 길어야한다 : 길수록좋다. ( 물론너무길면기억하기힘들다.) 최소한 10자이상이되도록한다. 복잡해야한다 : 복잡할수록자동적인비밀번호크래킹을방지하는데도움이된다. 대소문자, 숫자나기호등을혼합한다. 실제적이어야한다 : 길고복잡할수록좋지만, 기억할수없으면안된다. 여러개의단어를조합해서사용하는것도하나의방법이다. 기억을위해, 종이나문서파일에작성해서는안된다. 비밀번호관리자를이용하는것도하나의방법이다. 나와관계된단어를사용하지않는다 : 이름, 주민등록번호, 전화번호, 아이나배우자의이름, 생년월일등나와관계된단어를사용하지않는다. 다른사람에게알려주어서는안된다 : 비밀번호를공유해서는안된다. 꼭필요할경우에는임시비밀번호를만들어서공유하고, 이후다시바꿔놓는다. 혹은공유목적의별도의계정을만들수도있다. 다른사람이어깨너머로보지않도록주의한다. 같은비밀번호를서로다른계정에서사용하지않는다 : 하나의계정에서유출되면, 다른계정도위험해진다. 자주바꿔주어야한다 : 최소한세달에한번은바꾸는것이좋다. 당연히비밀번호유출이의심스러운경우에도바꿔주어야한다. 강력한암호로변경했으면다시네트워크에연결하여서비스를실행한다. 만약암호를변경하기전 에네트워크에연결하면다시감염될수있다. 예방방안 반드시모든기본비밀번호를강력한비밀번호로변경해야한다. 기본사용자계정과비밀번호는인터넷에서쉽게찾을수있기때문이다. 사물인터넷기기를주기적으로보안업데이트를한다. UPnP Universal Plug and Play 가필요없는기기는이기능을비활성화한다. 보안기능을제공하거나대중성이있는회사에서사물인터넷기기를구매한다. 가정과기업에설치된기기와애플리케이션의기능을알고있는것이좋다. 또한공개와이파이를사용하지않고홈네트워크에서동작하는와이파이를사용하는것이좋다 원격터미널을사용하는사물인터넷기기에접근할때자주사용하는포트를모니터링한다. 포트 48101로통신하는의심스러운트래픽을발견하면즉시대응방안을통해악성코드를제거한다. Mirai는 48101 포트를사용하여공격자에게추가정보를전송하고이정보를기반으로추가적인악성코드배포를시도하기때문이다.
10 사물인터넷관련보안가이드및지침 공유기제품생산시적용할보안가이드, 2015 국내에서는한국인터넷진흥원에서배포하는공유기제품생산시적용할보안가이드 [13] 를사물인터넷기기에 적용하면좋다. Table 4 제 3 장공유기제품생산시적용할보안가이드 구분 접근성 구현항목 1 고객이공유기보안설정을쉽게할수있도록직관적인사용자인터페이스와매뉴얼을제공하 여야한다. 2 공유기관리자페이지에대한원격접속을기본으로허용하지않아야한다. 3 공유기의관리자페이지접속시에는 ID 와비밀번호 (PW) 없이접속할수없도록하여야한다. 접근통제 4 무선 (Wi-Fi) 인증시에도비밀번호없이접속할수없도록비밀번호사용을기본설정하여야한 다. 5 공유기의관리자페이지및무선인증시최초 ID 와 PW 의경우제품마다다르게하거나비밀번호를설정하여야공유기를사용가능하도록하여야한다 6 모든비밀번호 ( 최초, 변경모두해당 ) 는영문, 숫자, 특수문자를포함하여 8 자이상으로하여야하며, 비밀번호설정창에도복잡도가높은문구로설정하도록사용자에게안내하여야한다. 7 불필요한외부접속포트나 Telnet, FTP, 등의서비스는비활성화한다. 반드시필요할경우에는비밀번호를설정하여야사용가능하도록한다. 서비스 보안관리 8 고객지원목적의접속포트를제거하고필요하다면접근 IP 제한등추가적인보안조치방안 을마련한다. 유지보수등을위해공유기에백도어기능을포함하지않도록한다. 9 모든관리자페이지는인증후에접근할수있도록세션인증등을구현한다. 세션인증구현시예측가능한세션 ID 값을사용하지않도록한다. 10 관리자페이지에서시스템명령어실행기능을제공하지않도록한다. 다만, 반드시필요할경우지정한특정명령어만실행하도록제한한다. 암호화 11 무선암호화방식은보안강도가높은 WPA2 가기본설정되도록하여야한다. 펌웨어 보안 12 공유기펌웨어업데이트가발생하는경우사용자가인지할수있는방안을강구하여야한다. 13 공유기펌웨어업데이트시파일고유해시값을비교하여변조여부에대한무결성검증을실 시할수있도록한다. 무결성인증시 SHA-256 이상의암호화알고리즘을사용하도록한다.
11 IOT 공통보안가이드, 2016 한국인터넷진흥원에서배포하는 ICT 융합제품 서비스의보안내재화를위한 IoT 공통보안가이드, 2016 [14] 를참조하는것도좋다. 이가이드는앞의공유기가이드보다더욱상세한정보를제공하는데, 설계 개발단 계, 배포 설치 구성단계, 운영 관리 폐기단계로구분하여각단계별안전한보안가이드를제공한다. Table 5 IoT 공통보안가이드목차 설계 개발단계보안원칙 1 정보보호와프라이버시강화를고려한 IoT 제품 서비스설계 1. IoT 장치의특성을고려하여보안서비스의경량화구현 2. IoT 서비스운영환경에적합한접근권한관리및인증, 종단간통신보안, 데이터암호화등의방안제공 3. 소프트웨어보안기술과하드웨어보안기술의적용검토및안전성이검증된보안기술활용 4. 민감정보보호를위해암호화, 비식별화, 접근관리등의방안제공 5. 민감정보수집목적및이용방법등에대한운영정책가시화를통해투명성보장보안원칙 2 안전한소프트웨어및하드웨어개발기술적용및검증 6. 보안취약점사전예방을위해시큐어코딩적용 7. 다양한 S/W 에대해보안취약점점검수행및보안패치방안구현 8. 다양한하드웨어보안기법적용배포 설치 구성단계보안원칙 3 안전한초기보안설정방안제공 9. IoT 제품 서비스설치시 Secure by Default 원칙에따라파라미터설정보안원칙 4 안전한설치를위한보안프로토콜준수및안전한파라미터설정 10. 안전성을보장하는보안프로토콜적용및보안서비스제공시안전한파라미터설정운영 관리 폐기단계보안원칙 5 IoT 제품 서비스의취약점보안패치및업데이트지속이행 11. IoT 제품 서비스의보안취약점분석및보안패치이행 12. IoT 제품 서비스보안취약점및조치사항에대해공지보안원칙 6 안전한운영 관리를위한정보보호및프라이버시관리체계마련 13. 개인정보보호정책수립및기술적 관리적보호조치마련보안원칙 7 IoT 침해사고대응체계및책임추적성확보방안마련 14. 보안침해사고에대비하여침입탐지및모니터링수행 15. 침해사고발생원인분석및책임추적성확보를위해로그기록저장 관리
12 OW ASP IOT 보안지침, 2016 OWASP 에서도사물인터넷을점검하는방안으로 OWASP IoT Security Guidance [15] 를제공한다. 여기서는 제조사, 개발자, 사용자를기준으로구분하여제공한다. 하지만다음과같이 10 가지공통카테고리를제안 한다. Table 6 소비자 IoT 보안지침 : Category IoT Security Consideration 시스템에 HTTPS 를사용하는옵션이있는경우, 활성화되어있는지확인 한다. 시스템에 2 단계인증옵션이있는경우, 활성화되어있는지확인한다. I1: 안전하지않은 웹인터페이스 시스템에웹애플리케이션방화벽옵션이있는경우, 활성화되어있는지확인한다. 시스템에로컬또는클라우드기반웹애플리케이션이있는경우, 기본비밀번호를강력하게변경했는지확인하고기본사용자이름을변경할수있으면이또한변경한다. 시스템에계정잠금기능이있는경우, 활성화되어있는지확인한다. 중요한 IT 시스템에서 IoT 시스템을분리하기위해방화벽같은망분리기술을사용하는것을고려한다. 시스템에로컬또는클라우드기반웹애플리케이션이있는경우, 기본비밀번호를강력하게변경했는지확인하고기본사용자이름을변경할수있으면이또한변경한다. 시스템에계정잠금기능이있는경우, 활성화되어있는지확인한다. 시스템에강력한비밀번호를위한옵션이있는경우, 활성화되어있는지확인한다. I2: 불충분한인증 / 권한 시스템에예를들어 90 일후새비밀번호로변경하도록요구하는기능이 있는경우, 활성화되어있는지확인한다. 시스템에 2 단계인증옵션이있는경우, 활성화되어있는지확인한다. 시스템에사용자권한으로설정하는옵션이있는경우, 작동에필요한최소한으로사용자권한을설정하는것을고려한다. 중요한 IT 시스템에서 IoT 시스템을분리하기위해방화벽같은망분리기술을사용하는것을고려한다. I3: 안전하지않은 네트워크서비스 시스템이사용할수있는방화벽옵션이있는경우, 클라이언트시스템에서만접근할수있도록활성화한다. 중요한 IT 시스템에서 IoT 시스템을분리하기위해방화벽같은망분리기술을사용하는것을고려한다.
13 I4: 전송암호화의부재 I5: 개인정보에대한 우려사항 시스템에 HTTPS 를사용하는옵션이있는경우, 활성화되어있는지확인한다. 시스템에주소, 생년월일, 지역정보등절대요구하지않은시스템에민감한정보를입력하지않는다. 기기의작동을위해필요이상으로언급하는경우데이터수집을거부한다. ( 선택을제공하는경우 ) 시스템에 HTTPS 를사용하는옵션이있는경우, 활성화되어있는지확인한다. 시스템에 2 단계인증옵션이있는경우, 활성화되어있는지확인한다. 시스템에웹애플리케이션방화벽옵션이있는경우, 활성화되어있는지확인한다. I6: 안전하지않은 클라우드인터페이스 시스템에로컬또는클라우드기반웹애플리케이션이있는경우, 기본비 밀번호를강력하게변경했는지확인하고기본사용자이름을변경할수있 으면이또한변경한다. 시스템에계정잠금기능이있는경우, 활성화되어있는지확인한다. 시스템에강력한비밀번호를위한옵션이있는경우, 활성화되어있는지확인한다. 시스템에예를들어 90 일후새비밀번호로변경하도록요구하는기능이있는경우, 활성화되어있는지확인한다. 모바일애플리케이션이 PIN 또는비밀번호를요구하는옵션이있는경우, 추가보안을위해사용을고려한다.( 클라이언트와서버에서 ) 모바일애플리케이션이애플의터치 ID 와같은 2 단계인증을사용하는옵션이있는경우, 활성화되어있는지확인한다. I7: 안전하지않은 모바일인터페이스 시스템에계정잠금기능이있는경우, 활성화되어있는지확인한다. 시스템에강력한비밀번호를위한옵션이있는경우, 활성화되어있는지 확인한다. 시스템에예를들어 90 일후새비밀번호로변경하도록요구하는기능이있는경우, 활성화되어있는지확인한다. 시스템에주소, 생년월일, 지역정보등절대요구하지않은시스템에민감한정보를입력하지않는다. I8: 부족한보안구성 시스템이선택할수있는경우, 보안관련이벤트에대한로그기능을사용한다. 시스템이선택할수있는경우, 보안관련이벤트에대한경고및알람기능을사용한다.
14 시스템에비밀번호에대한보안옵션이있는경우, 강력한비밀번호를사용하는지확인한다. 시스템에암호화에대한옵션이있는경우, AES-256 과같은표준을선택하여설정되어있는지확인한다. I9: 안전하지않은 소프트웨어 / 펌웨어 시스템이업데이트를확인할수있는옵션이있는경우, 활성화되어있는지확인한다. 시스템이안전하게업데이트를다운로드할수있는옵션이있는경우, 활성화되어있는지확인한다. 시스템이정기적으로업데이트를예약할수있다면, 사용을고려한다. I10: 물리적보안미흡 시스템이로컬로연결하는기능을관리하여제한할수있는기능이있는경우, 해당기능을사용하는것을고려한다. 인터페이스관리에접근할수있는물리적포트를사용하지않도록설정한다.
15 DDOS 대응가이드및지침 기업은항상 DDoS 공격에대응할준비와체계가필요하다. 이번사건으로앞으로끊임없이발전하고만들어지 는사물인터넷기기가악성코드에감염되어큰규모로들어오는 DDoS 공격이발생할수있다. 이에따라 DDoS 대응가이드를준비할필요가있다. 한국인터넷진흥원의 DDOS 공격대응가이드, 2012 2012 년에발간한한국인터넷진흥원의 DDoS 공격대응가이드 [16] 에서는 공격의인지, 공격유형파악, 차 단정책정의및대응, 공격대응및사후조치순으로대응절차를언급한다. 또한 DDoS 공격을차단하는장비 와현황들을언급하며, 각종류의공격방식과이에상응하는대응방안을제시한다. Table 7 DDoS 공격대응매뉴얼 (1) 공격의인지 - 공격여부 Check Point (2) DDoS 공격유형파악 incoming traffic volume 방화벽, IDS 등의네트워크장비를통해웹서비스운영망으로유입되는트래픽의 bps 와 pps 규모를확인하여평시와비교 webserver access log 웹서버의접속로그를확인하여비정상접속증가여부확인 concurrent connection 방화벽, IDS 등의네트워크장비를통해웹서버가연결유지하고있는커넥션규모를확인하여평시와비교 incoming traffic sampling capture 웹서비스운영망으로유입되는트래픽의일부를수집하여분석 [1] incoming traffic 을수집할수있는경우 packet dump tcpdump 와같은트래픽캡쳐툴을이용하여 incoming traffic 일부를 pacap 형태로저장 analysis tcpdstat : 수집된트래픽의프로토콜종류등에관한정보확인 ngrep, httpry : http header 에관한정보확인 argus : concurrent connection 에관한정보확인 scenarios drawn tcpdstat, tcpdump : 대역폭소진공격 (ex.udp,icmp flooding) 여부판단 ngrep, httpry : DB connection 부하유발공격 (ex. Get flooding) 여부판단 argus : 웹서버자원 (TCP Stack) 부하유발공격 (ex. syn flooding) 여부판단 [2] incoming traffic 을수집할수없는경우 webserver access log 서버접속로그를확인하여접속자의 request page 에대한통계와특정시간동안발생되는 request 횟수에대한통계를확인
16 (3) 공격유형에따른공격방안정의및대응 (4) 공격대응후, 사후조치 대역폭소진공격 - ex. UDP, ICMP Flooding 웹서버앞단에위치한방화벽이나상단라우터 (ISP 의협력필요 ) 에서해당프로토콜을모두차 단하도록 ACL 설정하여대응 대역폭소진공격 - ex. TCP Flooding size 가큰 TCP Flooding 공격은프로토콜기준으 로차단할수없으므로 source ip 별 pps 에대한임 계치정책을설정하여대응 웹서버자원소모공격 - ex. Syn(Ack/Fin) Flooding syn flooding 공격은웹서버 OS 의 TCP stack 자원 을소모하는공격으로서 source ip 별 pps 에대한 임계치정책을설정하여대응하거나패킷의헤더 를검사하여옵션필드가없는등의비정상패킷을 차단하여대응 DB connection 부하유발공격 - ex. Get(Post) Flooding 다수의 HTTP 요청을유발하여웹서버와 DB 사이 의연동에부하를유발하므로특정시간동안발생 하는요청수에대한임계치를설정하여해당임계 치이상으로요청을발생하는 source ip 를차단 또한, HTTP header 를확인하여 HTTP 표준에맞 지않는 field 가설정되었을경우해당 field 값을 signature 로설정하여차단 공격시점의 BPS, PPS, CPS 변화추이확인공격규모를확인하여가용성이침해될수있는지점을확인하고정확한데이터에따른차단정책업데이트 공격유형확인프로토콜에대한통계, 패킷크기에대한통계, 요청형태에대한통계를상세히확인하여시간에따른공격유형의변경여부또는복합공격여부를확인하여차단정책업데이트 HTTP 요청패킷형태확인특정시간에대한 HTTP 요청 count 를확인하여비정상적인행위여부를규명하고 HTTP header 의각 field 를조사하여 HTTP 표준준수여부를확인하여비정상적일경우차단정책업데이트 좀비 PC IP 확보 GET(POST) Flooding 공격이나 Slow header(data) Flooding 공격의경우 TCP 삼중연결완료와함께수행되므로실제공격 IP 를확보할수있으며대역폭소진공격의경우공격자는대부분 source ip 를위조하므로 IP 위변조여부를확인하는절차가필요 웹서버자원소모공격 - ex. Slow header or Slow data Flooding 이공격은요청을완료하지않고해당 connection 을지속적으로유지하는공격이므로하나의요청 에대한 timeout 값을설정하여특정시간동안요 청이완료되지않을경우 connection 을강제종료 시켜서차단 봇 vs 브라우져식별방안 일반적인봇은브라우져와달리웹서버의응답코 드에반응하여행동하지않으므로웹서버에서 302 moved temporary 와같은코드로응답하여봇이 발생시키는요청을차단
17 US-CERT 의 DDOS QUICK GUIDE, 2014 미국침해사고대응팀인 US-CERT 에서발간한 DDoS Quick Guide [17] 를참고한다. 이가이드에서는 OSI 7 계층에서발생할수있는공격가능한요소들과 DDoS 트래픽형태로사용가능한부분들을다룬다. 또한 용어설명과 큰규모로공격이들어오는 DoS/DDoS 공격을완화할수있는방안도설명한다. 다음은이가이드에서제시하는완화방안이다. Table 8 대규모 DoS/DDoS 공격완화 Device Layer Optimized for DoS Protections Firewall 4-7 Router 3-4 Flow Inspection, Deep Inspection Packet Inspection, Frame Inspection Screen, Session Limits, Syn Cookie Line-Rate ACLs, Rate Limits Some DDoS Mitigation Actions and Hardware Stateful inspection firewalls Stateful SYN Proxy Mechanisms Limiting the number of SYNs per second per IP Limiting the number of SYNs per second per destination IP Set ICMP flood SCREEN settings (thresholds) in the firewall Set UDP flood SCREEN settings (thresholds) in the firewall Rate limit routers adjacent to the firewall and network
18 참고사이트 [1] https://krebsonsecurity.com/2016/09/krebsonsecurity-hit-with-record-ddos [2] http://arstechnica.com/security/2016/09/botnet-of-145k-cameras-reportedly-deliver-internets-biggest-ddos-ever [3] https://twitter.com/olesovhcom/status/778019962036314112 [4] https://twitter.com/olesovhcom/status/779297257199964160 [5] https://twitter.com/olesovhcom/status/780419817325068290 [6] https://twitter.com/olesovhcom/status/780425453320503296 [7] https://twitter.com/olesovhcom/status/781201292383444992 [8] https://www.us-cert.gov/ncas/alerts/ta16-288a [9] https://en.wikipedia.org/wiki/2016_dyn_cyberattack [10] http://blog.level3.com/security/attack-of-things/ [11] https://www.incapsula.com/blog/malware-analysis-mirai-ddos-botnet.html [12] https://guide.jinbo.net/digital-security/computer-security/creating-strong-passwords [13] https://www.krcert.or.kr/data/guideview.do?bulletin_writing_sequence=22943 [14] https://www.kisa.or.kr/public/laws/laws3_view.jsp?cpage=1&mode=view&p_no=259&b_no=259&d_no=80 [15] https://www.owasp.org/index.php/iot_security_guidance [16] https://www.krcert.or.kr/filedownload.do?attach_file_seq=747&attach_file_id=epf354.pdf [17] https://www.us-cert.gov/security-publications/ddos-quick-guide