보안

"테스트 후 결함 공개" 컨슈머 리포트 스타일의 평가시스템, 보안 지평 바꿔 놓을까

J.M. Porup | CSO 2018.01.22
대부분 기업 소프트웨어의 열악한 보안 상태는 컴파일 시간 보안 기능과 같은 일종의 안전 벨트와 에어백을 장착함으로써 적은 비용으로 현저하게 개선할 수 있다. 이런 관점에서, CITL(Cyber Independent Testing Lab)은 수천 개의 소프트웨어 바이너리 보안 상태를 평가할 컨슈머 리포트(Consumer Report) 스타일의 평가 시스템을 개발 중에 있다.

L0pht 해커 출신이자 전직 미 국방고등연구계획국(DARPA) 사이버보안 연구 총괄 책임자였던 피터 "머지" 삿코가 설립하고, 미 공군에서 시드 펀딩을 지원하고 있는 CITL은 몇 주 전 독일 라이프치히에서 열린 34c3 해커 컨퍼런스에서 새로운 보안 평가 방법론을 소개하고, 사전 준비 단계에서 이룬 성과를 발표했다.

CITL의 팀 카스텐스는 "(현재 소프트웨어 보안 상황은) 한 마디로 우습지도 않다. 각기 다른 장소에서 구동되는 수십만 개의 서로 다른 바이너리 중에서 최신 보안 기능을 갖춘 것은 아주 극소수에 불과하며, 대부분은 아주 기본적이고 사소한 방어조차 불가능하도록 컴파일되어 있다"고 지적했다.

ASLR이나 DEP같은 기본적인 컴파일 시간 보안 기능들이 만병 통치약은 아니겠지만, 그래도 공격자의 성공 확률을 현저히 낮춰주는 것은 사실이다. 최소한 지금처럼 해커가 아무런 어려움 없이 과실을 따 갈 수 있도록 방치해 두는 일은 없게 된다. 또한 소프트웨어 개발업체나 기업 보안 관리자 입장에서는 이 모든 것을 낮은 비용에 해결할 수 있다는 장점이 있다.

카스텐스는 "전체적으로 봤을 때 대부분 소프트웨어는 기본적인 방어망조차 제대로 구축되어 있지 않다. 메이저 개발업체들의 소프트웨어조차 스택 이행(stack execution) 예방이나 힙 오버플로우(heap overflow) 예방 장치도 되어 있지 않아 공격에 광범위하게 노출되어 있는 상황이다"고 설명했다.

이런 문제를 해결하기 위해 CITL은 컴파일 시간 보안책 체크리스트를 마련 중이다.
카스텐스는 "나는 소프트웨어 개발업체들에게 골드 이미지에 대한 사전 릴리즈 프로세스가 무엇인지 묻고 싶다. 즉, 소프트웨어 릴리즈 전에 ASLR이나 DEP과 같은 컴플라이어 경화 기능이 있는지 확인하고 있는지, 그런 것을 체크하는 기준이 마련되어 있는지 묻고 싶다"고 말했다.

개발업체들이 보안에 좀 더 신경쓰게 하기 위해 CITL은 자체 체크리스트에 기반해 수천 개의 공용 바이너리를 테스트하고, 그 결과를 컨슈머 리포트 스타일로 출간할 예정이다. 보안 관리자들은 이런 테스트 결과를 참조해 자체 인프라스트럭처 내의 약점을 파악하고, 공급자에게 소프트웨어를 보다 안전하게 만들어 달라고 요청할 수 있는 기반이 생길 것이다.

카스텐스는 "기업 환경에서 어떤 소프트웨어가 구동되고 있는지 알고 있는가? 그리고 구동되는 소프트웨어에 대해서는 얼마나 잘 알고 있는가? 이런 것들을 파악할 수 있는 프로세스를 갖춰야 한다. 그리고 이런 프로그램을 통해 이사회에 내놓을 가치를 창출할 수 있게 될 것이다"고 덧붙였다.

CITL의 체크리스트, 어떤 평가 방식인가
소프트웨어 보안을 평가하는 것은 생각보다 무척 어려운 문제다. 일단 '보안'을 어떻게 정의할 지부터 생각해 봐야 한다. 지난해 12월에 개최된 34c3 CITL 연설에서 카스텐스는 "소프트웨어 보안은 다이아몬드 채굴과 비슷하다"고 말했다. 다이아몬드는 아주 진기하고 찾기 어려운 광물이기 때문에, 채굴자들은 가넷, 투휘석, 크롬철광과 같이 다이어몬드 근방에서 자주 발견되는 광물들을 찾아 다닌다는 것이다.

마찬가지로, 보안의 수준이나 정도를 객관적인 수치로 측정하는 것은 불가능하기 때문에 CITL은 좀 더 실용적이고 우회적인 방식을 택했다. 즉 해당 소프트웨어의 새로운 취약점을 발견하기가 얼마나 쉬운 지를 기준으로 보안 수준을 평가하겠다는 것이다.

카스텐스는 "굳이 보안의 절대적인 이상에 도달하고자 하는 생각은 없다. 우리가 측정하고자 하는 지표들은 아주 보수적이고 현실적인 기준들이다. 예컨대 ASLR이 중요하지 않다고 생각하는 사람은 아마 없을 것이다"고 말했다.

아직까지 개발 중에 있는 이 평가 기준을 통해 CITL은 바이너리를 테스트하고, 각 바이너리의 복잡성, 애플리케이션 외장(armoring), 그리고 개발자 위생 등을 평가한다. 코드가 복잡할수록 보안상의 흠결을 가지고 있을 확률도 높아진다. CITL 측은 C strcpy와 strcat 기능을 사용하는 개발자는 보안에 대해 별다른 고민을 하지 않았을 확률이 높다고 지적했다. 애플리케이션 외장에는 스택 가드(stack guards), ASLR, 코드 사이닝 같은 컴파일 시간 방어책들이 포함된다.

CITL 보고서는 이런 애플리케이션 외장 기능들을 자동차의 에어백 및 안전 벨트에 비유한다. "현대 컴파일러, 링커, 그리고 로더들은 다양하고 편리한 안전 기능들을 갖추고 있다. 소프트웨어의 안전성을 높여 주는 기능들로써 업계 표준이 되어야 마땅한 기능들이다. 자동차에 에어백이 없다면, 최소한 차를 구매하기 전에 그 사실을 고지 받아야 하지 않겠는가?"

소프트웨어 개발업체들이 임의로 평가 시스템을 조작할 수 없도록, CITL은 소프트웨어 평가 체크리스트는 공개하면서도 실제로 소프트웨어 평가에 사용되는 툴은 공개하지 않고 있다. CITL은 향후 자사의 체크리스트 도입이 증가해 보안 평가의 보편적 기준으로 자리잡기를 희망하고 있다. 그리고 이런 CITL의 비전을 페도라 리눅스(Fedora Linux)가 그대로 실현하고자 하고 있다.

페도라 사이버 테스트 랩
페도라 리눅스는 다수의 바이너리를 포함하여 수만 개의 패키지를 포함하고 있다. 페도라 레더 팀 SIG의 리더 제이슨 캘러웨이는 이 바이너리들이 최소한의 보안 요건을 충족하게 될 경우 페도라와 페도라의 파트너 레드햇(RedHat), CentOS 등의 보안 평판도 격상될 것이라고 판단했다.

캘러웨이는 "SIG의 목표는 페도라의 사이버 보안 커뮤니티를 조성하는 것이다. CITL은 특정 바이너리에 대한 제로데이 공격 가능성을 찾아내기 위해 어느 정도의 노력이 필요한가를 분석하고 찾아내는 것이라 할 수 있다"고 말했다.

캘러웨이의 첫 번째 목표는 RPMS를 오픈해 엘프 바이너리(elf binaries)를 스캔하고, 테스트를 진행한 뒤 그 결과를 발표하는 것이다. 물론 그는 이런 프로젝트가 CITL에 비하면 '수 광년 이상' 뒤쳐져 있다는 것을 인정하고 있다. 캘러웨이는 "아직까지는 결과물에 대해 이야기를 할 수 있는 단계가 아니다. 나 스스로도 아직까지 자신이 찾아낸 데이터를 완전히 신뢰하지 못하고 있다"고 말했다.

캘러웨이의 SIG 팀은 페도라/RHEL/CentOS 관리 툴인 엘름(ELEM)을 개발 중인데, 이는 엔터프라이즈 리눅스 익스플로잇 맵퍼(Enterprise Linux Exploit Mapper)의 약자이다. 엘름의 목적은 시스템 관리자가 공개된 취약점들의 데이터베이스와 대조하여 쉽고 빠르게 RPM 기반 리눅스 서버를 검사할 수 있도록 하는 것이다.

캘러웨이는 "레드 팀과 블루 팀은 결국 동전의 양면과도 같다. 비록 SIG 팀이 레드 팀이긴 하지만, 결국 레드 팀이 없이는 블루 팀도 제대로 기능할 수 없다"고 말했다. 그는 아직 초기 단계에 있는 페도라의 CITL 도입과 결합하면, 페도라와 그 하위 파트너들의 보안 수준을 지금보다 훨씬 격상시킬 수 있게 될 것이라고 기대했다.

그러나 CITL의 소프트웨어 보안 평가 모델에 대해 비판적 시각을 지닌 이들도 많다.

CITL 비판
CITL를 비판하는 이들은 제조상의 결함을 보완하는 것과 의도적인 공격에 대비하는 것에는 차이가 있어야 한다고 말했다. UL(Underwriters Laboratories)이 전자 기기를 평가할 때 악성 공격을 평가 요소로 포함시키지 않듯이, 그리고 컨슈머 리포트에서 자동차 성능을 평가할 때 그 차가 차 도둑의 범죄에 대해 얼마나 효과적으로 대처할 수 있는지를 포함시키지 않듯이, 위협을 평가하는 모델도 각기 달라야 한다는 것이다.

보안 연구원 롭 그래햄은 2015년 CITL의 시도를 '바보같은 생각'이라고 평가하기도 했다. 그래헴은 "UL은 전자 기기에 발생할 수 있는 우연한 다루고자 하는 것이다. 사이버 UL은 의도적인 공격에 대한 소프트웨어의 대처를 다루고 있다. 이 둘은 본질적으로 서로 무관한 이슈다. 이미 많은 분야에서 우연히 발생하는 사건, 사고를 예방하는 것에는 성공한 바 있다. 그러나 의도적인 외부자의 공격을 예방하는 것에 성공한 사례는 아직까지 없다"고 말했다(그래햄에게 이 주제에 대해 다시 한 번 의견을 물었지만 답변을 들을 수 없었다).

카스텐스 역시 그래햄의 주장에 일리가 있다고 동의하지만, 소프트웨어 보안이 전반적으로 아주 열악하다는 현실에 비춰 볼 때 CITL의 노력이 의미없다고 말할 수는 없다고 주장했다. 카스텐스는 "의도적인 공격에 대비한 방어책들에 대한 평가는 분명히 가능하다. 강철로 된 벽과 나무 널빤지로 만들어진 벽 사이에는 분명히 차이가 존재한다. 마찬가지로, 상대가 키 큰 사다리나 최첨단 장비로 무장하지 않은 어설픈 공격자일 경우 강철벽 만으로도 상당한 보안 효과를 기대할 수 있다"고 설명했다.

"물론, 우리의 테스트에서 100점을 맞는다고 해서 그 소프트웨어가 난공 불락이라는 것은 아니다"고 덧붙였다.

디지털 스탠다드
수십 년 동안 인포섹 카산드라(Cassandras)는 인터넷 전반에 만연한 보안 의식 부재가 야기할 수 있는 사회적, 정치적, 그리고 경제학적 피해에 대해 경고해 왔다. 오늘날 사이버 공간과 실제 세계가 점차 통합되어 감에 따라 우리는 일종의 전환점을 맞이하고 있다.

CITL은 컨슈머 리포트, 디스커넥트(Disconnect), 그리고 랭킹 디지털 라이츠(Ranking Digital Rights)와 파트너십을 맺고, 디지털 스탠다드(Digital Standard)를 제안했다.

"디지털 스탠다드는 제품 개발 과정에서 소비자가 중요하게 생각하는 가치들을 정의하고 반영한다. 예컨대 전자제품과 소프트웨어 기반 제품들은 안전해야 하고, 소비자의 정보를 지킬 수 있어야 하며, 소비자의 소유권이 유지되어야 하고, 표현의 자유를 보장할 수 있어야 한다."

이런 가치들은 안전한 소프트웨어 설계 및 실행에 기반을 두고 있으며 소프트웨어 보안 수준을 평가하고자 하는 CITL의 노력은 넓게 볼 때 소프트웨어 개발업체들에게 당근과 채찍을 모두 제공한다고 볼 수 있다.

컨슈머 리포트에서 사용하고 있는 "이름 언급과 공개적 망신" 전략처럼, 소프트웨어 개발업체들 역시 보안에 신경쓰지 않거나 사전 보안 점검을 소홀히 할 때에는 평판에 불이익을 받게 될 수 있다는 것이다.

카스텐스는 "그러나 이는 소프트웨어 개발업체에게 기회가 될 수도 있다"며, "우리가 제시한 체크리스트를 따라 보안 상태를 점검하는 것은 별도의 비용도 들지 않는 일일 뿐 아니라 상당한 보안 효과까지 누릴 수 있다. 반면 컨설턴트에게 문의해 한 제품군이 가지고 있는 보안 문제를 해결하려면 5만 달러 가까이가 든다. 우리가 제시하는 솔루션이 훨씬 비용 효율적이다"고 말했다.

CITL의 평가 데이터베이스가 쌓일 수록 투명성도 강화되어 소프트웨어 개발업체들 역시 보안을 위해 협력하게 될 동기가 강해질 것이다. 카스텐스는 "보안을 소홀히 했을 때 들어가는 비용이 그렇지 않았을 때 들어가는 비용보다 커질 때에야 비로소 우리의 솔루션이 효과적으로 프로세스 내에 자리잡게 될 것"이라고 말했다. editor@itworld.co.kr  
 Tags 보안 CITL

회사명 : 한국IDG | 제호: ITWorld | 주소 : 서울시 중구 세종대로 23, 4층 우)04512
| 등록번호 : 서울 아00743 등록발행일자 : 2009년 01월 19일

발행인 : 박형미 | 편집인 : 박재곤 | 청소년보호책임자 : 한정규
| 사업자 등록번호 : 214-87-22467 Tel : 02-558-6950

Copyright © 2024 International Data Group. All rights reserved.