[애플리케이션 보안④] 오픈소스 취약점도 해결해야
상태바
[애플리케이션 보안④] 오픈소스 취약점도 해결해야
  • 김선애 기자
  • 승인 2017.11.02 08:31
  • 댓글 0
이 기사를 공유합니다

‘OSVM’ 시큐어코딩 필수 요건으로 주목 … 개발완료된 SW, 소스코드 난독화로 보호해야

공격의 대부분은 애플리케이션 취약점을 이용하며, 보호되지 않는 웹으로 진입해 들어간다. 애플리케이션은 개발 환경이 다양해 완벽한 보호가 어려우며, 개발 기간과 비용을 단축해야 한다는 이유 때문에 보안을 소홀히 한다. 웹은 공격자에게 상시 노출된 환경으로 지능형 공격 뿐 아니라 잘 알려진 공격에도 당하게 된다. 웹과 애플리케이션이 최악의 보안홀로 지목되지 않기 위해서는 애플리케이션 개발 단계부터 테스트, 운영 전 과정에서 취약점을 제거하고, 공격자로부터 웹 서비스를 보호해야 한다. 웹과 애플리케이션 보안을 충족시킬 수 있는 방법을 알아보고 시장을 분석한다.<편집자>

OSVM으로 오픈소스 식별·취약점 진단

기업용 소프트웨어 개발에 오픈소스가 사용되는 것은 일상적인 일이다. 블랙덕소프트웨어에 따르면 애플리케이션의 96%가 오픈소스를 사용하는 것으로 나타났다. 오픈소스도 취약점이 있으며, 취약점이 발견되면 해당 커뮤니티에서 공개한다. 이미 개발된 소프트웨어의 어떤 모듈이 취약점이 있는 오픈소스를 사용하는지 수작업으로 확인하는 것은 불가능에 가깝다.

블랙덕소프트웨어 보고서서는 애플리케이션의 67%는 취약점이 있는 오픈소스를 사용하고 있으며, 금융산업에서는 앱 당 52개의 취약점을 보유하고 있고, 60%는 고위험 취약점을 내포하고 있다. 리테일과 이커머스 앱은 무료 83%가 높은 위험의 보안 취약점이 있다.

오픈소스 보안 취약점은 시큐어코딩이나 취약점 진단 솔루션으로 해결할 수 없다. 상용 소프트웨어에서 오픈소스 소프트웨어를 사용할 때, 라이선스를 위반하는 범위에서 소스코드를 수정할 수 없다. 따라서 개발단계에서 소스코드를 수정하는 시큐어코딩은 사용하기 어렵다. 운영 과정에서 취약점을 진단하려고 한다면 오픈소스 커뮤니티에서 취약점 정보를 가져와야 하는데, 방대한 커뮤니티에서 모든 취약점 정보를 가져오는 것은 무리가 있다.

오픈소스 보안 취약점 관리(OSVM) 솔루션은 전체 애플리케이션에서 오픈소스를 식별하고, 보안 취약점과 매핑해 알려준다. 오픈소스 소프트웨어의 소스코드에서 보안 취약점을 찾는 제품으로 블랙덕소프트웨어의 ‘블랙덕허브’가 있으며, 바이너리코드에서 오픈소스 취약점을 점검하는 인사이너리의 ‘클래리티’가 함께 사용되면 오픈소스 보안을 보다 강화할 수 있다. SAST, DAST, RASP까지 연계해 사용하면 모든 소프트웨어 보안 취약점으로 인한 위협은 상당부분 걷어낼 수 있다.

블랙덕허브는 기업/기관이 사용하는 모든 애플리케이션 중 오픈소스와 취약점을 찾아내고 패치하는 방법을 알려주는 솔루션이다. 과거에 사용한 모든 오픈소스를 찾아내며, 검출한 취약점의 위험 정도를 파악할 수 있도록 이와 관련된 전문가의 분석보고서, 기사 등을 찾아 알려준다. 클라우드 개발과 운영을 위해 사용되는 ‘도커’와 같은 컨테이너에서도 블랙덕 허브를 이용해 취약점을 관리할 수 있다.

클래리티는 소스코드 없이 바이너리코드만 있는 상태에서도 보안 취약점을 찾아낸다. 다른 바이너리 분석 솔루션은 리버스 엔지니어링이나 해시 값을 비교하는 방식을 사용해 정확도가 낮고 많은 시간이 소요됐다. 클래리티는 바이너리에서 변하지 않는 고유의 값인 문자열(String), 변수명(Variable), 함수명(function)을 추출해 보안 취약점과 라이선스 정보를 제공한다.

SW 개발 보안·소스코드 난독화로 공격 원천 차단

한편 블랙덕소프트웨어코리아는 소프트웨어 보안 전문 기업 엔시큐어와 총판계약을 맺고 국내 시장을 공략하고 있다. 엔시큐어는 소프트웨어 보안의 전 영역에 걸쳐 국내외 가장 경쟁력 있는 제품을 국내 고객에게 소개하고 있으며, 오픈소스 취약점 관리까지 추가해 모든 애플리케이션 보안위협에 대응할 수 있다는 방침을 밝힌다.

엔시큐어는 애플리케이션 보안교육과 보안수준 진단 영역에서 씨지탈, 개발·테스팅 환경 보안은 ‘포티파이’, 애플리케이션 무결성 보호 분야에서는 ‘악산’, 모바일 앱 보안 분야에서는 라온시큐리티의 ‘자이로이드’, 그리고 오픈소스 취약점 관리를 위한 블랙덕허브를 제공한다.

엔시큐어가 금융기관에 공급하고 있는 악산은 PC·모바일 웹·애플리케이션의 소스코드의 무결성을 검증하고 난독화 등의 보호 조치를 취하는 보안 솔루션이다. 이 제품은 금융기관 다수에 공급됐으며, 최근에는 카드사와 증권사, 그리고 간편결제 서비스 등에 다수 공급됐다.

악산의 주요 기능은 소스코드 난독화로, 가장 최근 테스트 결과에 의하면, 악산으로 보호한 소스코드를 해독하기 위해 2명의 고급 분석가가 한 달 동안 매달린 결과, 50%를 분석하는데 그쳤다. 이는 전 세계적으로도 매우 높은 수준의 난독화로 꼽힌다.

난독화는 공격자가 소스코드를 아예 분석할 수 없게 하는 것이 아니라 분석하는데 걸리는 시간을 지연시키는 것이다. 게임의 경우, 공격자들은 새로운 게임을 크랙 해 불법적으로 게임머니를 탈취하거나 고가의 아이템을 확보해 현금화 하면서 불법 이득을 취한다. 때로 소스코드를 이용해 유사한 게임을 만들어 경쟁력을 잃게 만드는 경우도 있다.

난독화는 공격자의 분석 시간을 길게 만들어 크랙에 성공하기 전 패치를 배포하고 또 다른 난독화를 적용하는 등의 방법을 사용해 공격자로부터 소스코드를 보호한다. 따라서 난독화 수준이 높을수록 해당 애플리케이션의 보호 효과가 높다.

엔시큐어가 새로운 성장을 기대하는 분야가 모바일 애플리케이션 취약점 점검이다. 모바일 앱 취약점을 이용하는 공격이 줄어들지 않고 있는 상황이지만, 이와 관련된 솔루션은 많지 않다. 엔시큐리어는 라온시큐리티의 안드로이드·iOS 앱 취약점 점검 솔루션 ‘자이로이드(Zyroid)’ 공급을 시작하면서 이 시장을 개척하겠다고 선언했다. 


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