보안기능의 무력화 공격을 예방하기 위한 위협분석 기반 소프트웨어 보안 테스팅 Threat Analysis based Software Security Testing for preventing the Attacks to Incapacitate Security Features of Information Security Systems원문보기
정보보안시스템을 무력화하는 공격이 나타남에 따라, 정보보안제품의 취약성을 분석하는 보안 테스팅에 대한 관심이 높아지고 있다. 보안제품 개발의 주요 단계인 침투 테스팅은, 공격자가 악용할 수 있는 취약성을 찾기 위해 컴퓨터 시스템을 실제적으로 테스팅하는 것이다. 침투 테스팅과 같은 보안 테스팅은 대상 시스템에 대한 정보 수집, 가능한 진입점 식별, 침입 시도, 결과 보고 등의 과정을 포함한다. 따라서 취약성 분석 및 보안 테스팅에서 일반성, 재사용성, 효율성을 극대화하는 것이 매우 중요하다. 본 논문에서는, 정보보호제품이 자신의 보안 기능을 무력화하거나 우회하는 공격에 대응할 수 있는 자체보호기능 및 우회불가성을 제공하는 가를 평가할 수 있는 위협분석 기반의 소프트웨어 보안 테스팅을 제안한다. 위협분석으로 취약성을 식별한 후, 보안 테스팅의 재사용성과 효율성을 개선하기 위해 소프트웨어 모듈과 보안 기능에 따라 테스팅 전략을 수립한다. 제안기법은 위협 분석 및 테스팅 분류, 적절한 보안테스팅 전략 선정, 보안 테스팅으로 구성된다. 사례연구와 보안테스팅을 통해 제안 기법이 보안 시스템을 체계적으로 평가할 수 있음을 보였다.
정보보안시스템을 무력화하는 공격이 나타남에 따라, 정보보안제품의 취약성을 분석하는 보안 테스팅에 대한 관심이 높아지고 있다. 보안제품 개발의 주요 단계인 침투 테스팅은, 공격자가 악용할 수 있는 취약성을 찾기 위해 컴퓨터 시스템을 실제적으로 테스팅하는 것이다. 침투 테스팅과 같은 보안 테스팅은 대상 시스템에 대한 정보 수집, 가능한 진입점 식별, 침입 시도, 결과 보고 등의 과정을 포함한다. 따라서 취약성 분석 및 보안 테스팅에서 일반성, 재사용성, 효율성을 극대화하는 것이 매우 중요하다. 본 논문에서는, 정보보호제품이 자신의 보안 기능을 무력화하거나 우회하는 공격에 대응할 수 있는 자체보호기능 및 우회불가성을 제공하는 가를 평가할 수 있는 위협분석 기반의 소프트웨어 보안 테스팅을 제안한다. 위협분석으로 취약성을 식별한 후, 보안 테스팅의 재사용성과 효율성을 개선하기 위해 소프트웨어 모듈과 보안 기능에 따라 테스팅 전략을 수립한다. 제안기법은 위협 분석 및 테스팅 분류, 적절한 보안테스팅 전략 선정, 보안 테스팅으로 구성된다. 사례연구와 보안테스팅을 통해 제안 기법이 보안 시스템을 체계적으로 평가할 수 있음을 보였다.
As attackers try to paralyze information security systems, many researchers have investigated security testing to analyze vulnerabilities of information security products. Penetration testing, a critical step in the development of any secure product, is the practice of testing a computer systems to ...
As attackers try to paralyze information security systems, many researchers have investigated security testing to analyze vulnerabilities of information security products. Penetration testing, a critical step in the development of any secure product, is the practice of testing a computer systems to find vulnerabilities that an attacker could exploit. Security testing like penetration testing includes gathering information about the target before the test, identifying possible entry points, attempting to break in and reporting back the findings. Therefore, to obtain maximum generality, re-usability and efficiency is very useful for efficient security testing and vulnerability hunting activities. In this paper, we propose a threat analysis based software security testing technique for evaluating that the security functionality of target products provides the properties of self-protection and non-bypassability in order to respond to attacks to incapacitate or bypass the security features of the target products. We conduct a security threat analysis to identify vulnerabilities and establish a testing strategy according to software modules and security features/functions of the target products after threat analysis to improve re-usability and efficiency of software security testing. The proposed technique consists of threat analysis and classification, selection of right strategy for security testing, and security testing. We demonstrate our technique can systematically evaluate the strength of security systems by analyzing case studies and performing security tests.
As attackers try to paralyze information security systems, many researchers have investigated security testing to analyze vulnerabilities of information security products. Penetration testing, a critical step in the development of any secure product, is the practice of testing a computer systems to find vulnerabilities that an attacker could exploit. Security testing like penetration testing includes gathering information about the target before the test, identifying possible entry points, attempting to break in and reporting back the findings. Therefore, to obtain maximum generality, re-usability and efficiency is very useful for efficient security testing and vulnerability hunting activities. In this paper, we propose a threat analysis based software security testing technique for evaluating that the security functionality of target products provides the properties of self-protection and non-bypassability in order to respond to attacks to incapacitate or bypass the security features of the target products. We conduct a security threat analysis to identify vulnerabilities and establish a testing strategy according to software modules and security features/functions of the target products after threat analysis to improve re-usability and efficiency of software security testing. The proposed technique consists of threat analysis and classification, selection of right strategy for security testing, and security testing. We demonstrate our technique can systematically evaluate the strength of security systems by analyzing case studies and performing security tests.
* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.
문제 정의
또한, 본 논문에서는 정보보호제품의 무력화 공격에 대응하기 위해, 자체보호 기능과 우회불가성 평가를 위한 효과적인 보안 테스팅 절차를 제안하였다. 제안 절차는 보안 테스팅 목적에 적합한 위협 분석 및 분류, 테스팅 전략 선정, 위협 기반 보안 테스팅 수행으로 구성된다.
본 논문에서는 SW기반 정보보호제품의 취약성 평가에 적합한 보안 테스팅 절차에 대해 제안한다. 제안 절차는 보안 테스팅 목적에 적합한 위협 분석 및 분류, 그리고 보안 테스팅 전략 선정 및 보안 테스팅 수행으로 구성된다.
정보보호제품의 취약성 평가를 위한 보안 테스팅 기법 중의 침투 테스팅은 완성된 제품을 대상으로 정보수집, 가능한 공격표면 식별, 침입시도, 결과보고 등을 수행해야 하므로 많은 시간과 자원이 필요하다. 이러한 문제를 개선하기 위해, 본 논문에서는 재사용성과 효율성을 고려한 취약점 분석, 위협 분류, 테스팅 전략 선정, 위협기반 보안 테스팅 기법에 대해 연구하였다.
또한 새로운 보안 공격에 대응하기 위해 자주 업데이트 되기 때문에 취약성 평가도 매우 빈번하게 수행된다. 이러한 특징을 반영하여, 본 논문에서는 재사용성과 효율성을 고려한 위협 기반 보안 테스팅 절차를 제안한다.
자체보호 기능 평가를 위한 테스팅 기법과 우회불가성 평가를 위한 테스팅 기법은 서로 다르다. 자체보호 기능 평가를 위한 보안 테스트는 보안 제품을 직접 공격하여 자체보호 기능에 대한 가용성 및 무결성을 훼손시킬 수 있는지 확인하는 것이다. 예를 들면, 보안제품에서 프로세스 강제 종료에 대해 자신을 보호하는 것이 가능한지 확인한다.
제안 절차는 보안 테스팅 목적에 적합한 위협 분석 및 분류, 그리고 보안 테스팅 전략 선정 및 보안 테스팅 수행으로 구성된다. 중점적인 연구 목적은 정보보호제품의 자체보호 기능과 우회불가성과 관련된 취약성 평가 및 위협분석 기반 보안 테스팅이다. 이 두 가지 평가 목적별에 따라 정보보호제품 관련 공개 취약점과 공격 사례를 중심으로 위협을 분석하였다.
예를 들면, 보안제품에서 프로세스 강제 종료에 대해 자신을 보호하는 것이 가능한지 확인한다. 하지만 우회불가성 테스트는 보안제품을 직접 공격하는 것이 아니라 구동 중인 보안 기능을 우회할 수 있는지를 평가하는 것이다.
제안 방법
1 버전에서는 취약성 평가 클래스의 세부 항목들을 ‘취약성 분석’으로 통합하면서, 취약점 분석에 기반한 침투 테스팅과 같은 보안 테스팅을 더욱 강화하였다. CC 2.3 버전에서는 개발자가 취약점 분석을 수행한 후, 취약점 분석 결과를 바탕으로 침투 테스팅을 수행하고, 평가자는 요구사항을 만족하는지 확인하였다. 하지만 3.
공통평가기준에서는 TOE(Target of Evaluat-ion)의 잠재적 취약성을 분석하고 식별하기 위해 평가자로 하여금 공개 영역에 대한 조사를 수행하도록 규정하였다. 이는 공개된 취약점 및 보안사고 등을 통해 평가대상 제품의 위협을 분석하고, 분석된 위협을 근거하여 침투 테스팅을 수행하는 것을 의미한다.
본 논문에서 제안하는 위협 기반 보안 테스팅 절차 에서는 취약성 평가 대상 제품과 동일 혹은 유사 제품에서 발견된 공개된 취약점과 기존 보안 사고에서의 공격 사례를 분석하여, 위협을 정의한다. 그리고 분석 결과를 자체보호 평가와 우회불가성 평가 목적에 적합 하도록 분류한 후, 분류 결과를 기준으로 보안 테스팅 전략을 선정한다. [그림 1]은 제안하는 보안 테스팅 절차를 나타낸다.
대표적으로 프로세스 및 쓰레드 기반 보안 제품의 자체보호 기능을 테스트하기 위해서 가장 먼저 정보보호 제품의 정상 수행을 확인하고, 최신 패치를 적용하였다. 그리고 프로세스 모니터링 도구인 Process Explorer[34]를 통해 정보보호 제품의 프로세스 이름과 PID(Process ID)를 획득하고, 프로세스 및 스레드를 강제 종료 시킬 수 있는 다양한 공격 기법을 선택적으로 실행할 수 있도록 직접 제작한 테스팅 도구를 이용하여 TOE를 공격하고, 다시 모니터링 도구를 통해 정보보호 제품의 프로세스가 종료되는지 확인하였다.
이를 기준으로 위협과 각 위협에 해당하는 보안 테스팅 전략을 분류하였으며, 이를 통해 테스팅 기법의 재사용성과 효율성을 높일 수 있다. 기존 취약점 사례를 분석하고 정보보호제품군별 대상을 선정하여 실험을 통해, 본 논문에서 제안한 위협 기반의 보안 테스팅 절차의 활용 가능성, 테스팅의 재사용성 및 효율성을 검증하였다.
세 번째, 지속적인 감시를 위해 서비스로 수행된다. 네 번째, 새롭게 보고된 악성코드/행위를 탐지하기 위해 원격 서버를 통해 주기적으로 업데이트를 수행한다. 다섯 번째, 제품의 다양한 기능 설정을 위해 레지스트리 및 각 제품별 설정파일을 생성·사용한다.
이를 반영하여 본 논문에서는 위협 기반 보안 테스팅을 위해 정보보호제품 평가 목적과 기능에 따라 위협을 분류·식별하고, 분류 결과에 맞게 테스팅 전략을 선정하는 과정을 도입한다. 또한, 대상 SW제품의 이전 버전에 대한 공개 취약점 정보나 유사 SW제품에 대한 공개 취약점 정보, 유사 SW제품에 알려진 공격 사례 등을 보안 테스팅에 접목한다. 공개 취약점 분석 및 기존 공격 사례를 통한 위협 기반 보안 테스팅 절차는 공통적인 장점을 갖는다.
우회불가성 평가 대상으로는 자료유출 방지, 방화 벽, 키보드 보안 제품을 사용하였다. 방화벽을 평가하기 위해서, HTTP 및 TCP 은닉 채널을 사용하여 방화벽이 설치된 시스템에 커맨드 명령을 전송하고, 결과 데이터를 전송 받는지 확인하는 과정을 통해 패킷 필터링 기능이 우회되는지 실험하였다. 그 결과, 인터넷 뱅킹 시에 실행되는 방화벽제품1의 필터링 기능이 모두 우회되었다.
본 논문에서 제안한 보안 테스팅 절차를 사용하여 테스팅의 효율성과 재사용성을 개선할 수 있는지 검증하기 위해, 대표적인 기존 공개된 취약점과 테스팅 사례를 분석한다. 취약점 정보는 NVD를 통해서 수집하였고, NVD의 취약점 설명 정보가 부족한 경우에는 다른 취약점 DB인 SecurityFocus[33]에서 추가적으로 취약점 정보를 수집하였다.
중점적인 연구 목적은 정보보호제품의 자체보호 기능과 우회불가성과 관련된 취약성 평가 및 위협분석 기반 보안 테스팅이다. 이 두 가지 평가 목적별에 따라 정보보호제품 관련 공개 취약점과 공격 사례를 중심으로 위협을 분석하였다. 위협분석 기반 보안 테스팅은 정보보호제품 개발 초기 단계부터, 개발자 및 내부 보안 테스터에 의해서도 수행될 수 있다는 점에서 기존 침투 테스팅과 차이가 있다.
이를 반영하여 본 논문에서는 위협 기반 보안 테스팅을 위해 정보보호제품 평가 목적과 기능에 따라 위협을 분류·식별하고, 분류 결과에 맞게 테스팅 전략을 선정하는 과정을 도입한다.
그 결과, 인터넷 뱅킹 시에 실행되는 방화벽제품1의 필터링 기능이 모두 우회되었다. 인터넷 뱅킹 시에 자동 실행되어 키보드 후킹 및 입력 데이터 유출을 방지하는 키보드보안제품1이 메시지 후킹을 통해 우회되는지 확인하기 위해 마이크로소프트에서 제공하는 SPY++를 사용하여 키보드 관련 메시지를 후킹하였고, 이를 통해 키보드 입력 데이터를 스니핑할 수 있었다. 금융 웹사이트 이용 시 키보드 입력 데이터에 대한 스니핑 위협으로부터 자유롭고자 사용되는 웹사이트 가상키보드를 통해 입력된 데이터도 웹 브라우저의 DOM(Document Object Model) 스니핑을 통해 확인할 수 있었다.
자체보호 평가를 위한 보안 테스팅은 안티바이러스 제품을 대상으로 수행하였으며, 기본 프로세스 관리 도구와 본 연구진이 직접 제작한 공격 도구를 사용하였다. 대표적으로 프로세스 및 쓰레드 기반 보안 제품의 자체보호 기능을 테스트하기 위해서 가장 먼저 정보보호 제품의 정상 수행을 확인하고, 최신 패치를 적용하였다.
제안한 보안 테스팅 기법은 위협 분석을 통해 SW 모듈 및 제품의 보안 기능별로 분류하여 재사용성을 높였다. 제안 기법의 타당성을 검증하기 위해, 정보보호제품들의 기존 취약점 사례들을 분석하였고 정보보호제품을 대상으로 보안 테스팅을 수행하였다.
본 논문에서는 SW기반 정보보호제품의 취약성 평가에 적합한 보안 테스팅 절차에 대해 제안한다. 제안 절차는 보안 테스팅 목적에 적합한 위협 분석 및 분류, 그리고 보안 테스팅 전략 선정 및 보안 테스팅 수행으로 구성된다. 중점적인 연구 목적은 정보보호제품의 자체보호 기능과 우회불가성과 관련된 취약성 평가 및 위협분석 기반 보안 테스팅이다.
또한, 본 논문에서는 정보보호제품의 무력화 공격에 대응하기 위해, 자체보호 기능과 우회불가성 평가를 위한 효과적인 보안 테스팅 절차를 제안하였다. 제안 절차는 보안 테스팅 목적에 적합한 위협 분석 및 분류, 테스팅 전략 선정, 위협 기반 보안 테스팅 수행으로 구성된다. 제안한 보안 테스팅 기법은 위협 분석을 통해 SW 모듈 및 제품의 보안 기능별로 분류하여 재사용성을 높였다.
대상 데이터
공개된 취약점은 미국 NIST(National Institute of Standards and Technology)에서 운영하는 국가 취약점 DB인 NVD(National Vulnerability Database)[25]를 중심으로 수집하였고, 기존 공격 사례와 보안 사고는 언론 매체와 정보보호 관련 기관의 보안 권고 사항, 악성코드 분석정보 등을 통해 수집하였다.
본 논문에서의 보안 테스팅은 CC(3.1 버전)에서의 취약성 평가 대상 중 개발 단계 취약성을 대상으로 한다. 개발 단계 취약성 평가에서는 TSF(TOE Security Function)를 침해하여 TSF의 자체보호(Self-protection)를 파괴하거나, TSF를 우회(Bypassing)하여 우회불가성(Non-bypassability)을 파괴하는 것이 가능한지 확인한다[14].
제안 기법이 정보보호제품의 취약성 검증에 실제 적용할 수 있음을 확인하기 위해, 국내 정보보호제품을 대상으로 실험하였다. 실험 결과는 2011년 9월에 수행한 결과이며 실험 제품은 2011년 9월 당시 최신 버전을 사용하였고, 그 당시 발견한 취약성들은 2012년 8월 현재 대부분 패치(Patch)된 상태이다. 방화벽 제품의 우회불가성 평가를 위한 보안 테스팅은 Ubuntu 10.
우회불가성 평가 대상으로는 자료유출 방지, 방화 벽, 키보드 보안 제품을 사용하였다. 방화벽을 평가하기 위해서, HTTP 및 TCP 은닉 채널을 사용하여 방화벽이 설치된 시스템에 커맨드 명령을 전송하고, 결과 데이터를 전송 받는지 확인하는 과정을 통해 패킷 필터링 기능이 우회되는지 실험하였다.
제안 기법이 정보보호제품의 취약성 검증에 실제 적용할 수 있음을 확인하기 위해, 국내 정보보호제품을 대상으로 실험하였다. 실험 결과는 2011년 9월에 수행한 결과이며 실험 제품은 2011년 9월 당시 최신 버전을 사용하였고, 그 당시 발견한 취약성들은 2012년 8월 현재 대부분 패치(Patch)된 상태이다.
본 논문에서 제안한 보안 테스팅 절차를 사용하여 테스팅의 효율성과 재사용성을 개선할 수 있는지 검증하기 위해, 대표적인 기존 공개된 취약점과 테스팅 사례를 분석한다. 취약점 정보는 NVD를 통해서 수집하였고, NVD의 취약점 설명 정보가 부족한 경우에는 다른 취약점 DB인 SecurityFocus[33]에서 추가적으로 취약점 정보를 수집하였다.
이론/모형
자체보호 기능에 대한 위협과 보안 테스팅 전략을 사상한 결과는 [표 3]과 같다. 자체보호 기능에 대한 테스팅 전략은 Anti-Malware Test Lab의 Self-protection test[26]의 테스팅 기법들을 바탕으로 위협별 재분류한 것이다. 최근 정보보호제품은 프로세스 및 쓰레드 기반으로 실행되기 때문에 프로세스/쓰레드 종료 관련 API를 사용해서 강제로 프로세스 종료가 가능한지 확인해야 한다.
성능/효과
5장의 사례 분석과 6장의 실험을 통해, 본 논문에서 제안하는 취약성 평가 절차 및 위협 기반 보안 테스팅이 타당함을 확인하였다.
방화벽을 평가하기 위해서, HTTP 및 TCP 은닉 채널을 사용하여 방화벽이 설치된 시스템에 커맨드 명령을 전송하고, 결과 데이터를 전송 받는지 확인하는 과정을 통해 패킷 필터링 기능이 우회되는지 실험하였다. 그 결과, 인터넷 뱅킹 시에 실행되는 방화벽제품1의 필터링 기능이 모두 우회되었다. 인터넷 뱅킹 시에 자동 실행되어 키보드 후킹 및 입력 데이터 유출을 방지하는 키보드보안제품1이 메시지 후킹을 통해 우회되는지 확인하기 위해 마이크로소프트에서 제공하는 SPY++를 사용하여 키보드 관련 메시지를 후킹하였고, 이를 통해 키보드 입력 데이터를 스니핑할 수 있었다.
인터넷 뱅킹 시에 자동 실행되어 키보드 후킹 및 입력 데이터 유출을 방지하는 키보드보안제품1이 메시지 후킹을 통해 우회되는지 확인하기 위해 마이크로소프트에서 제공하는 SPY++를 사용하여 키보드 관련 메시지를 후킹하였고, 이를 통해 키보드 입력 데이터를 스니핑할 수 있었다. 금융 웹사이트 이용 시 키보드 입력 데이터에 대한 스니핑 위협으로부터 자유롭고자 사용되는 웹사이트 가상키보드를 통해 입력된 데이터도 웹 브라우저의 DOM(Document Object Model) 스니핑을 통해 확인할 수 있었다. 시스템 내부의 정보가 이동식디스크 등을 통해 외부로 유출되는 것을 방기하기 위한 자료유출방지제품1은 Windows의 ‘컴퓨터 관리’ 도구의 ‘비어 있는 NTFS 폴더에 탑재’ 설정을 통해 시스템 내부에 위치한 폴더와 연결하는 기법을 통해 보안기능이 우회되었다.
위협분석 기반 보안 테스팅은 정보보호제품 개발 초기 단계부터, 개발자 및 내부 보안 테스터에 의해서도 수행될 수 있다는 점에서 기존 침투 테스팅과 차이가 있다. 또한, 제안하는 기법은 자체보호 및 우회불가성에 대한 기존 취약점 및 공격 사례를 분석한 결과, 자체보호 기능에 대한 공격의 대상은 대부분 SW 모듈이고, 우회불가 성에 대한 공격 대상은 제품의 보안 기능이었다. 이를 기준으로 위협과 각 위협에 해당하는 보안 테스팅 전략을 분류하였으며, 이를 통해 테스팅 기법의 재사용성과 효율성을 높일 수 있다.
[표 1]의 (a) 위협 분류를 SW 기반의 대표적인 정보보호제품군과 사상하면 [표 2]의 (a)와 같다. 모든 주요 제품군에 동일한 위협 분류들이 중복되어 포함되었는데, 제안하는 위협을 기준으로 보안 테스팅 전략을 제시한다면 테스팅 기법의 재사용성이 개선될 수 있음을 의미한다. [표 2]의 사상 결과는 보안 제품의 구성 모듈 및 구현 기법 및 제품이 포함하는 보안기능에 따라 달라질 수 있다.
실험 결과 백신제품 1과 백신제품 2에서 취약성이 발견되었다. 백신제품1은 본 논문에서 제안한 대부분의 자체보호 보안 테스팅에 취약하였다. 실험을 수행한 시점에 다른 대부분의 안티바이러스 제품들도 포함하고 있던 프로세스 및 쓰레드 강제 종료에 대한 자체보호 기능이 모두 무력화되었다.
드라이버 삭제를 위한 실험에서는, 시스템에 로드된 드라이버를 삭제하는 기능이 있는 마이크로소프트의 Windows Sysinternals Suite[35]를 사용하였다. 백신제품2에서 설치한 파일 시스템 관련 드라이버를 삭제하자 악성코드 탐지 기능, 무결성 검증 기능, 실시간 시스템 감시 기능 등 안티바이러스의 기능 중 대부분이 무력화되었다.
이에 SSDT 후킹 위협에 대한 일반화된 테스팅 전략을 정의하여 재사용성을 높이는 것이 필요하다. 본 논문에서 자체보호 기능 평가를 위해 모듈별 위협을 기준으로 분류한 테스팅 전략이 정보보 호제품의 종류와 보안 기능에 상관없이 재사용 가능하고 효율적임을 보인다.
실험 결과 백신제품 1과 백신제품 2에서 취약성이 발견되었다. 백신제품1은 본 논문에서 제안한 대부분의 자체보호 보안 테스팅에 취약하였다.
백신제품1은 본 논문에서 제안한 대부분의 자체보호 보안 테스팅에 취약하였다. 실험을 수행한 시점에 다른 대부분의 안티바이러스 제품들도 포함하고 있던 프로세스 및 쓰레드 강제 종료에 대한 자체보호 기능이 모두 무력화되었다. 또한 업데이트 서버의 도메인 이름에 대한 IP 주소를 임의로 변경하여 hosts 파일에 기록한 결과, 악성코드 패턴의 업데이트가 불가능하였다.
또한, 제안하는 기법은 자체보호 및 우회불가성에 대한 기존 취약점 및 공격 사례를 분석한 결과, 자체보호 기능에 대한 공격의 대상은 대부분 SW 모듈이고, 우회불가 성에 대한 공격 대상은 제품의 보안 기능이었다. 이를 기준으로 위협과 각 위협에 해당하는 보안 테스팅 전략을 분류하였으며, 이를 통해 테스팅 기법의 재사용성과 효율성을 높일 수 있다. 기존 취약점 사례를 분석하고 정보보호제품군별 대상을 선정하여 실험을 통해, 본 논문에서 제안한 위협 기반의 보안 테스팅 절차의 활용 가능성, 테스팅의 재사용성 및 효율성을 검증하였다.
9개(약 8개)의 정보보호제품에 존재하며, CVE-2012-1459의 경우 최대 35개의 제품에 공통적으로 존재한다. 이를 통해, 본 논문에서 우회불가성 평가를 위해 제안한 위협 및 보안 테스팅 방법이 동일한 보안기능 제품의 평가를 위해 반복해서 사용될 수 있음을 알 수 있다. 즉, 제안한 보안 테스팅 방법의 재사용성이 개선될 수 있음을 의미한다.
제안 절차는 보안 테스팅 목적에 적합한 위협 분석 및 분류, 테스팅 전략 선정, 위협 기반 보안 테스팅 수행으로 구성된다. 제안한 보안 테스팅 기법은 위협 분석을 통해 SW 모듈 및 제품의 보안 기능별로 분류하여 재사용성을 높였다. 제안 기법의 타당성을 검증하기 위해, 정보보호제품들의 기존 취약점 사례들을 분석하였고 정보보호제품을 대상으로 보안 테스팅을 수행하였다.
이를 통해, 본 논문에서 우회불가성 평가를 위해 제안한 위협 및 보안 테스팅 방법이 동일한 보안기능 제품의 평가를 위해 반복해서 사용될 수 있음을 알 수 있다. 즉, 제안한 보안 테스팅 방법의 재사용성이 개선될 수 있음을 의미한다.
후속연구
시스템 드라이버를 사용하는 경우, 드라이버가 언로드(Unload)되면 정상적으로 보안기능을 수행할 수 없기 때문에 언로드 가능한지 확인해야 하고, DLL을 사용할 경우 다양한 DLL 인젝션(Injection) 기법이 존재하기 때문에 DLL 인젝션이 가능한지 검증해야한다. 또한 서비스로 등록 후 실행되는 경우에는 서비스 실행 파일 변조 가능 여부를 확인해야하고, 레지스트리 및 설정파일을 통해 중요 설정 값을 저장하는 경우, 악의적으로 설정값을 변경하여도 정상 수행되는지 등을 확인해야한다. 그리고 SSDT 후킹(Hooking)을 통해 프로세스 및 쓰레드가 강제 종료되는지를 확인해야 한다.
향후, 다양한 정보보호제품에 대해 체계적인 위협 분석과 보안 테스팅 기법에 대해 연구하고, 정보보호 제품의 평가·인증 강화를 위한 다른 테스팅 기준 및 방법에 대해서 연구할 계획이다.
질의응답
핵심어
질문
논문에서 추출한 답변
자체보호 기능에 대한 평가는 무엇인가?
자체보호 기능에 대한 평가는 정보보호제품이 외부 공격으로부터 자신을 보호하는 기능이 있는지를 검증 하는 것이다. 자체보호 기능에 대한 공격은 대부분 제품의 구현 및 실행 상의 구조나 특징을 대상으로 한.
CC는 무엇인가?
CC는 정보보호제품에 대한 보안성을 평가 및 보증 하기 위한 공통평가기준으로 ISO 15408 표준이다. CC는 1~7단계까지의 보증 등급(Evaluation Assurance Level, EAL)을 제공하며 정보보호제품의 SW 개발 생명주기에 따른 각종 산출물을 평가·인증 하는 체계로, ‘취약성 평가’ 클래스를 별도로 제시하고 있다.
MS 윈도우 시스템에서 구동되는 대부분의 SW기반 정보보호제품들의 구조나 특징은?
MS 윈도우 시스템에서 구동되는 대부분의 SW기반 정보보호제품들의 구조나 특징은 다음과 같다. 첫 번째로, 모든 제품은 프로세스 및 다중 쓰레드(Multi-thread) 기반 으로 구동되며, 윈도우의 특성상 DLL(Dynamic Link Library)로 구현된다. 두 번째, 시스템 수준의 기능 제공을 위해 드라이버를 사용한다. 세 번째, 지속적인 감시를 위해 서비스로 수행된다. 네 번째, 새롭게 보고된 악성코드/행위를 탐지하기 위해 원격 서버를 통해 주기적으로 업데이트를 수행한다. 다섯 번째, 제품의 다양한 기능 설정을 위해 레지스트리 및각 제품별 설정파일을 생성·사용한다. 여섯 번째, 윈도우의 특성상 모들 애플리케이션들 커널 수준 실행을 위해 SSDT(System Service Dispatch Table) 1) 를 참조한다. 마지막으로 인터넷 보안 제품들은 대부 분의 경우 웹브라우저에 BHO(Browser Helper Object)나, ActiveX를 추가한다. 이런 특징과 기존 공격 사례를 바탕으로 위협을 분석 및 도출한 결과는 [표 1]의 (a)와 같다.
참고문헌 (35)
Gartner, "Now is the time for security at Application Level," Dec. 2005.
G. McGraw, "Software assurance for security," IEEE Computer, vol. 32, pp. 103-105, Apr. 1999.
G. McGraw and B. Potter, "Software Security Testing," IEEE Security and Privacy, Vol.2, pp.81-85, Sep. 2004.
B. Arkin, S. Stender and G. McGraw, "Software penetration testing," IEEE Security & Privacy, vol.3, pp. 84-87, Jan. 2005.
D.P. Gilliam , T.L. Wolfe, J.S. Sherif and M. Bishop, "Software Security Checklist for the Software Life Cycle," Proceedings of the Twelfth International Workshop on Enabling Technologies: Infrastructure for Collaborative Enterprises, pp. 243, Jun. 2003.
X. Zhang, L. Shao and J. Zheng, "A Novel Method of Software Vulnerability Detection based on Fuzzing Technique," Proceedings of the 2008 International Conference on Apperceiving Computing and Intelligence Analysis : ICACIA 2008, pp. 270-273, Dec. 2008.
V. Ganesh, T. Leek and M. Rinard, "Taint-based directed whitebox fuzzing," Proceedings of the 2009 International Conference on Software Engineering : ICSE 2009, pp. 474-484, May 2009.
D. Thiel, "Exposing Vulnerabilities in Media Software," Tech. Rep., BlackHat USA, Jul. 2007.
D. Kim and S. Cho, "Fuzzing-based Vulnerability Analysis for Multimedia Players," Journal of KIISE : Computing Practices and Letters, vol.17, no.2, Feb. 2011.(in Korean)
CVSS(Common Vulnerability Scoring System) home page: http://www.first. org/cvss
CWSS(Common Weakness Scoring System) home page: http://cwe.mitre.org/ cwss/
CVE(Common Vulnerabilities Enumeration) home page: http://cve.mitre.org/
CWE(Common Weakness Enumeration) home page: http://cwe.mitre.org/
Common Criteria, "Common Criteria for Information Technology Security Evaluation- Part 3: Security assurance components, Version 3.1," Sep. 2007.
K. Bang, I. Kim, J. Lee, J. Lee and J. Choi, "Classification Criteria and Application Methodology for Evaluating IT Security Products," Journal of Korea Knowledge Information Technology Society, vol.6, no.5, Oct. 2011. (in K-orean)
Fortify Software, Inc. home page: http://www.fortify.com
J.A. Kupsch, B.P. Miller, E. Heymann and E. Cesar, "First Principles Vulnerability Assessment," Proceedings of the 2010 ACM workshop on Cloud computing security workshop, pp. 87-92, Oct. 2010.
Y. Son, "A Study on Software Vulnerability of Programming Languages Interoperability," Proceedings of the Advanced Computer Science and Information Technology Communications in Computer and Information Science, vol.195, pp. 123-131, Sep. 2011.
D. Kim and S. Cho, "An Analysis of Domestic and Foreign Security Vulnerability Management Systems based on a National Vulnerability Database," Journal of Internet and Information Security, vol.1, no.2, pp. 130-147, Nov. 2010. (in Korean)
D. Kim, D. Seo, W. Yi and S. Cho, "An Efficient Vulnerability Management System for Utilization of New Information Technologies-related Security Vulnerabilities," Proceedings of the 37th KIISE Fall Conference, vol.37, no.2(B), pp. 66-71, Nov. 2010. (in Korean)
G. Kim and S. Cho, "Fuzzing of Web Application Server Using Known Vulnerability Information and Its Verification," Proceedings of the KIISE Korea Computer Congress 2011, vol.38, no.1(B), pp. 181-184, Jun. 2011. (in Korean)
보안뉴스, "디아블로3 사용자 계정 탈취용 악성파일 국내 등장," 호애진, 2012년 06월 - web site: http://www.boannews.com/media/view .asp?idx31582
SANS Institute Reading Room web page: http://www.sans.org/reading_room
"Practical Threat Analysis for Information Security Experts," web page: http://www.ptatechnologies.com
NVD(National Vulnerability Database) home page: http://nvd.nist.gov/
Anti-Malware Test Lab. home page: http://www.anti-malware-test.com/?q taxonomy/term/16
C.S. Collberg and C. Thomborson, "Watermarking, tamper-proofing, and obfuscation - tools for software protection," IEEE Transactions on Software Engineering, vol.28, pp. 735-746, Aug. 2002.
M. Kim, J. Lee, H. Chang, S. Cho, Y. Park, M. Park and P.A. Wilsey, "Design and Performance Evaluation of Binary Code Packing for Protecting Embedded Software against Reverse Engineering," Proceedings of the IEEE International Symposium on Object/Component/ Service-Oriented Real-Time Distributed Computing 2010, pp. 80-86, May 2010.
S. Jana and V. Shmatikov, "Abusing file processing in malware detectors for fun and profit," Proceedings of the IEEE Symposium on Security and Privacy 2012, pp. 80-94, May 2012.
M. Bauer, "New covert channels in HTTP: adding unwitting Web browsers to anonymity sets," Proceedings of the 2003 ACM workshop on Privacy in the electronic society, pp. 72-78, Oct. 2003.
S. J. Murdoch and S. Lewis, "Embedding covert channels into TCP/IP," Proceedings of the 7th international conference on Information Hiding 2005, pp. 247-261, Jul. 2005.
C. Seifert, P. Komisarczuk and I. Welch, "True Positive Cost Curve: A Cost-Based Evaluation Method for High-Interaction Client Honeypots," in Proceedings of the 2009 Third International Conference on Emerging Security Information, Systems and Technologies, pp. 63-69, Jun. 2009.
SecurityFocus home page: http://www.securityfocus.com/
Process Explorer home page: http://technet.microsoft.com/en-us/sysintern als/bb896653.aspx
Windows Sysinternals Suite home page: http://technet.microsoft.com/en-us/sysinternals/bb842062
※ AI-Helper는 부적절한 답변을 할 수 있습니다.