침해사고 대응을 위해 보안 취약점 발굴이 필수!
상태바
침해사고 대응을 위해 보안 취약점 발굴이 필수!
  • 이승윤 기자
  • 승인 2018.11.26 17:14
  • 댓글 0
이 기사를 공유합니다

보안 취약점 발굴 방법과 기술 현황

[CCTV뉴스=이승윤 기자] 과거부터 극소수의 보안 전문가에 의해서 다뤄졌던 소프트웨어 대상 보안 취약점 발굴 작업은 최근 폭발적인 소프트웨어의 증가와 발전에 따라 대량으로 발굴이 이뤄져야 하는 필요성이 부각되고 있다. 이에 수작업으로 진행되던 은밀했던 발굴 방법이 다수에 의해 공개적으로 연구되고 있으며, 수많은 소프트웨어를 대상으로 발굴 자동화가 이어지고 있는 추세이다.

글 아이넷캅 | 유동훈 기술이사

최근에는 특정 환경에서 제한적이지만, 취약하게 작성된 소프트웨어를 대상으로 사람이 아닌 기계가 자동으로 보안 취약점을 발굴하고 공격하는 해킹 대회까지 진행되고 있다. 이번 글에서는 이처럼 변화되고 있는 보안 취약점의 발굴 방법과 그 현황에 대해 다루고자 한다. 나아가 보안 취약점에 대응하기 위해 기술적인 내용과 정책적인 내용에 대해서도 다룰 예정이다.

보안 취약점 발굴을 위한 소프트웨어 점검 방법

우선 보안 취약점 발굴을 위한 소프트웨어 점검과 시험 방법은 일반적인 소프트웨어 시험과 상당히 많은 개념을 공유하고 있기 때문에 닮아 있는 것이 사실이다. 하지만, 일반적인 소프트웨어 테스트의 경우 소프트웨어가 의도하지 않은 기능 동작을 야기하는 모든 경우의 수를 결함이나 버그로 해석하지만, 보안 취약점 발굴을 위한 테스트의 경우에는 해당 버그나 결함이 메모리의 주요 정보 유출과 프로세스 흐름 변화를 일으키는 등의 보안 위반 행위를 유발하는지 여부를 유심히 보는 차이점이 있다.

소프트웨어의 보안 취약점을 발굴하는 방법은 소프트웨어를 점검하는 환경이나 종류에 차이점이 있는데 크게 화이트박스 기반 검사와 블랙박스 기반 검사 방법으로 구분하는 것이 일반적이다. 두 가지 점검 방법 모두 보안 취약점을 효과적으로 발굴하는 것을 궁극적인 목표로 하고 있지만, 소프트웨어를 코드 관점에서 점검 또는 코드에 대한 분석과 이해 과정 없이 보안 취약점 발굴을 시도하는지 여부에 따라 각기 다른 검사 방법의 차이를 구분할 수 있다.

화이트박스 기반 점검 방법

일반적으로 화이트박스 기반 점검 방법은 소스 코드가 주어진 소프트웨어를 점검하는 방법을 의미한다. 주로 점검 대상 소프트웨어의 코드가 공개돼 있는 오픈소스나 코드 제공이 가능한 벤더 제품을 점검할 때 이용된다. 이런 소스 코드 감사(Auditing) 방법은 단순 프로그래밍 오류인 버그부터 구현 오류인 설계 결함을 검출하는데 매우 유용하다. 소스코드 감사 방법은 선택방식에 따라서 장시간이 소요되기도 하고 반대로 단시간 내에 수행할 수 있는 자동 점검도 존재한다.

먼저 장시간이 소요되는 수동 검사의 경우 분석가가 일일이 수작업으로 주어진 소스 코드를 분석하는 고전적인 방법으로 보안 취약점 유발 원인이나 결과에 대해 보다 명확한 전후 관계 확인이 가능하며 누락되는 지점 없이 전체 기능에 대한 전수 조사가 가능하다는 장점이 있다. 하지만 점검 과정에서 메모리 구조를 추상적으로 파악하거나 구조 이해를 위한 전문적인 지식이 요구되므로 전적으로 분석가의 능력에 의존하게 되는 한계점을 가지고 있다.

빠른 시간 내에 수행할 수 있는 자동 점검의 경우 분석가에 의존하기 보다는 주로 소스 코드 내에 보안 취약점이 존재하는지 자동으로 전수 조사를 수행해주는 정적 감사 도구를 이용한다. 이러한 자동 점검은 단 시간 내에 소프트웨어의 안전성을 검사하는데 수동 점검에 비해 유용한 방식이지만, 기술 특성상 실질적인 위협이 없는 보안 취약점을 포함하는 과탐지가 존재하기 때문에 분석가에 의한 2차 분석을 필요로 하는 단점을 가지고 있다.

블랙박스 기반 점검 방법

블랙박스 점검 방법은 소스 코드가 주어지지 않거나, 바이너리를 코드로 변환하기 어려운 상황에서 소프트웨어를 점검해 보안 취약점을 발굴하는 방법이다. 해당 방법은 주로 소프트웨어에 여러 가지 입력을 넣어 동작하는 반응에 따라 보안 취약점 유무를 파악하기 때문에 분석가가 수작업으로 보안 취약점을 점검하기 보다는 자동화된 결함 주입 도구인 웹 취약점 스캐너와 퍼지 테스트(Fuzzy test)를 이용하는 경우가 많다.

전체 기사를 보시려면 로그인 필요

로그인 또는 회원가입을 해주세요. (회원만 열람가능)

로그인 회원가입


댓글삭제
삭제한 댓글은 다시 복구할 수 없습니다.
그래도 삭제하시겠습니까?
댓글 0
0 / 400
댓글쓰기
계정을 선택하시면 로그인·계정인증을 통해
댓글을 남기실 수 있습니다.