소프트웨어 기술의 발달로 일상생활에서부터 금융이나, 의료, 공공 기관 까지 사회 전반에 거쳐 많은 IT 솔루션들이 출시되고 있습니다. 그러나 이렇게 제공되는 서비스의 질과 양이 증가하고 다양해짐에 따라, 이를 위협하는 공격 또한 비례적으로 증가하고 있는 추세입니다. 실제로 2014년 4월에 보안 패치 이전의 보안취약점을 활용한 OpenSSL HeartBleed 제로데이 공격과, 2010년 7월의 이란 원자력 발전시설을 공격한 Stuxnet, 2011년 미국의 에너지 기업을 공격한 나이트 드래곤 등이 그 예입니다. 이와 같이 기업이나 공공 기관의 데이터를 탈취하기 위하여 지속으로 취약점을 공략하는 APT공격, 2010년 Paypal 사이버 공격과 같이 항상 외부에 노출되어 있어 공격의 대상이 되는 웹 사이트 공격 등 많은 서비스들이 SW 자체 보안 취약점으로 공격을 당하고 있습니다. 이에 대한 해결책은 어떤 것들이 있는지 엔키소프트의 이승한 개발 팀장 의견을 들어보았습니다.
Q. 현재 사이버 보안 취약 위험은 어떤 수준인가요?
미국의 정보 기술 연구 및 자문 회사인 Gartner의 보고서에 따르면, SW 보안사고의 75%는 취약점을 가지고 있는 응용프로그램에서 발생한다고 합니다. 보안, 스토리지 솔루션회사인 Symantec의 보고서에 따르면 2012년 한해 동안 발견된 취약점이 5,291개에 이를 정도입니다.
Q. 제목에서 언급하신 Hybrid Smart Fuzzing도 그 중 하나인가요?
예. ‘퍼징’은 이러한 노력 중 취약점을 발굴하기 위한 방법으로 1989년에 Wisconsin-Madison 대학의 Barton Miller 교수 연구실에서 개발된 일종의 SW 보안 테스트 기법입니다. 무작위로 SW에 데이터를 입력하여 에러가 발생하는 경우를 탐지함으로써 취약점을 검출할 수 있습니다. 그러나 무작위로 도출된 입력 값 기반의 퍼징은 특정 취약점에 대한 도출이 어렵고, 많은 시간을 소모하는 문제점이 있습니다.