티스토리 뷰

국내뿐만 아니라 국외에서도 IoT 관련 크고 작은 사이버 침해사고가 지속적으로 발생하고 있다. 이에 IoT 기기의 보안 위험성을 사전에 예방하고 안전성 확보를 위한 취약성 분석 방법으로 IoT 기기에 설치되어 있는 펌웨어를 대상으로 정적분석 및 동적분석을 수행하여 취약점을 탐지할 수 있다.

 

정적분석과 동적분석

어플리케이션을 대상으로 하며, 어떠한 취약점이 존재하고 이를 대처하기 위한 기본적인 근거자료를 수집하는 분석방법의 종류이다.

동적분석

공격자가 사용하는 방식으로 접근하여 웹어플리케이션의 취약점을 분석하는 방법. 즉, 실제 공격자가 어플리케이션을 공격하는 환경을 인위적으로 조성하여 실제 공격이 통하는지의 여부를 발견하는 분석방법이다. 이러한 접근방식 때문에 동적분석은 '웹해킹분석' 혹은 '모의해킹분석'으로 불리기도 하며, 실제 운영중인 어플리케이션(테스트 운영포함)을 대상으로 가상 공격이 이루어지기 때문에, 실제 공격자가 공격했을 때의 예상되는 취약점의 종류들과 항목별 대처방안들을 좀 더 현실적으로 대비해둘 수 있다는 이점이 있다.

정적분석

소스코드를 대상으로 그 안에 내재된 잠재적인 취약점을 분석하는 방법. 동적분석처럼 운영중인 어플리케이션을 대상으로 하는 것이 아닌 '소스코드'를 대상으로 접근하고 있기 때문에, 굳이 완성된 프로그램이 아니더라도 초기 개발단계에서부터 적용이 가능한 이점이 있고, 동적분석에서 발견되지 못하는 프로그램 본연의 취약점들, 심지어 코드의 질적인 부분까지 조기에 발견하고 처리할 수 있다는 장점이 있다. 한마디로 개발자가 개발하면서 형상관리와 함께 자신이 코딩한 소스가 잘 짜여있는지 실시간으로 취약점 분석이 가능하다는 것이다.

 

❈정리해보면 동적분석을 '외부에서 내부로' 접근하는 방식이며, 정적분석은 '내부에서 외부로' 접근하는 방식이다. 두 개의 분석방법이 같은 목적을 갖고 있으나, 이를 달성하기 위한 접근대상과 방법이 다르다는 것은 사실 결과적으로 볼 때도 큰 의미가 있다. 보안적인 측면에서보면 당연히 두 개의 분석방법 모두 도입하여 분석하는 것이 가장 좋겠지만, 이에 대한 비용과 대비하여 그만큼 가치있는 정보 혹은 서비스를 가지고 있는가를 판단하고 자사의 서비스에 '비용 대비 최고의 효율'을 보여줄 수 있는 방법을 선택하는 것도 매우 중요한 문제가 될 것이다. 가장 최선의 분석 방법을 찾아내기 위해서는 보호되어야 할 자산 및 서비스에 대한 파악과 그에 대한 비용, 제반사항, 운영환경 등을 종합적으로 판단하는 단계가 선행되어야 할 것 이다.

 

IoT 취약성 분석

  제조사 홈페이지 등에서 수집한 펌웨어 이미지를 이용하여 파일 시스템을 추출한 후, 파일 시스템 내에 존재하는 시그니처, 하드 코딩된 계정정보, 코드상의 취약점 등 정적분석을 수행할 수 있으며, 이 추출 및 분석 과정을 보다 편리하게 진행하기 위한 대표적인 도구로는 Binwalk, Firmware-Mod-Kit 등이 있다.

 

  동적분석은 실질적인 펌웨어의 동작 과정에서 탐지 가능한 취약점을 분석할 수 있다. IoT기기는 일반적인 PC와는 다르게 사용하는 하드웨어 특성에 따라 펌웨어의 구조가 다르기 때문에 펌웨어 이미지를 가상화해 구동시킨 후 분석을 수행한다. 이를 위해 QEMU, Firmadyne과 같은 에뮤레이터를 활용하고, 에뮬레이팅 환경 기반으로 구동된 펌웨어와 실행된 서비스에 대해 Routersploit, Metasploit, Nmap등과 같은 모의해킹 도구를 활용해 취약점을 분석할 수 있다.

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
글 보관함