분석 대상 상용 유무선 공유기
국내의 한 유명 유무선 공유기 회사에서 판매중인 제품 중 두 가지 모델을 선정하고, 이들을 대상으로 보안 취약점 분석을 수행하였습니다. 분석 대상 제품의 세부 사양은 다음과 같습니다.
"A" Model | "B" Model | |
Release | 2012. 2 | 2014. 6 |
Firmware | 9.91.2 (2015.12.9) | 9.91.2 (2015.12.8) |
CPU | Realtek RTL8196C | Realtek RTL8197D |
DRAM | 32MB | 64MB |
Flash Memory | 4MB | 8MB |
Wireless | 802.11 b/g/n | 802.11 a/b/g/n/ac |
NAT | SNAT, DNAT, IP Masquerade | SNAT, DNAT, IP Masquerade |
Protocols | HTTP, DHCP, PPPoE | HTTP, DHCP, PPPoE |
QoS | - | Rate Limit/Grantee |
"B" Model이 비교적 최근 출세된 제품이고, "A" Model에 비해 하드웨어 사양이 더 좋아졌다는 것을 알 수 있습니다. 하지만, CPU 모델이 유사하고 Firmware Version Number가 같은 것으로 유추할 때, 서로 다른 제품 모델도 같은 플랫폼(OS)을 공유하고 있으며 사양에 따른 세부 튜닝 및 기능 첨삭만 다를 것으로 짐작할 수 있습니다.
제품간 펌웨어가 유사한 경우, 한 모델에서 발견한 보안 취약점이 곧 다른 모델에도 적용될 수 있음을 유추할 수 있습니다.
연구 프로젝트의 효용성을 높이기 위해 본격적인 분석을 시작하기 전에 두 공유기의 펌웨어를 모두 최신 버전으로 업데이트 하였습니다.
Black-box 분석
Black-box 분석 과정에서는 주로 웹 기반으로 구성된 관리자 페이지 인터페이스를 대상으로 다양한 공격을 시도해보는 방법으로 접근하였습니다.
분석 과정에서 관리자 페이지를 대상으로 CSRF(Cross-Site Request Forgery)나 XSS(Cross-Site Scripting)와 같이 잘 알려진 웹 사이트 공격 기법을 시도하였습니다. 여기에서 더 나아가, 기존 공격 기법들을 혼합한 복합 기법들도 새로 고안하여 시도해 보기도 하였습니다.
White-box 분석
White-box 분석 과정에서는 제작사 홈페이지를 통해 입수한 공유기 펌웨어 바이너리를 직접 분석하여 보안 취약점을 찾는 작업을 진행하였습니다.
Buffer Overflow 결함을 찾는 것을 주요 목표로 설정하였고, 펌웨어 바이너리를 Decompile하여 C 소스코드와 Control-flow Graph를 분석하는 기법들을 시도하였습니다.
결과
※ 실제로 악용될 가능성이 있는 취약점이므로, 그 상세 기법에 대해서는 기술하지 않았습니다.
분석 과정을 통해 웹 기반 관리자 인터페이스에서 아직 패치되지 않은 CSRF 취약점을 발견하였습니다. 간단한 테스트 스크립트를 작성하여 공격이 가능한 상황과 제약 조건들을 찾아내었습니다.
▲ 전형적인 CSRF 공격 절차
더 나아가, 발견한 취약점이 실제 공격에 활용될 수 있음을 증명하기 위해 공유기의 DNS 설정을 변조하는 데모 공격을 설계 및 시연하였습니다.
▲ 데모 공격을 통해 변조된 공유기 DNS 서버 주소
마지막으로, 해당 취약점을 방어하기 위한 펌웨어 패치 방안을 제시하면서 프로젝트를 마무리 지었습니다.
Contribution: KISA S/W 취약점 신고포상제 제보 및 포상
학기 종료 후 발견한 취약점을 KISA S/W 취약점 신고포상제 프로그램(Bug Bounty)에 제보하여 제조사로 하여금 해당 취약점을 패치하도록 조치하였고, 최초 발견자로 인정받아 소정의 포상을 받았습니다.
[링크] https://www.boho.or.kr/consult/software/honorList.do?orgSiteUrl=https://www.boho.or.kr
(접속 후 2016년 선택후 [전체 리스트 보기]클릭; 스크롤바 쭈~욱 아래로 내리면 아래쪽에 있습니다. 대단한 분들이 많으셔서..ㄸㄹㄹ)
참고 문헌 및 웹사이트
- http://dailysecu.com/news_view.php?article_id=3885
- Smart Touch, http://iptime.com/iptime/?page_id=67&uid=16405&mod=document
- http://iptime.com/iptime/?page_id=11&pf=4&page=&pt=152&pd=3
- http://iptime.com/iptime/?page_id=11&pf=3&page=&pt=231&pd=3
- RESTClient for Firefox web browser, https://addons.mozilla.org/ko/firefox/addon/restclient/
- G. Mori, J. Malik, “Recognizing objects in adversarial clutter: breaking a visual CAPTCHA,” IEEE 2003
- J. Yan, AS. El. Ahmad, “Breaking Visual CAPTCHAs with Naive Pattern Recognition Algorithms,” IEEE 2007
- A. A. Chandavale, A. M. Sapkal, R. M. Jalnekar, “Algorithm to Break Visual CAPTCHA,” IEEE 2009
- Retargetable Decompiler, https://retdec.com/decompilation-run/
- 패스워드 안전성 확인 사이트 (2735)