[클라우드 내비게이터③-웹·API·앱 보안(ⅱ)] 코드 보안으로 침해 가능성 낮춰
상태바
[클라우드 내비게이터③-웹·API·앱 보안(ⅱ)] 코드 보안으로 침해 가능성 낮춰
  • 김선애 기자
  • 승인 2022.10.09 12:19
  • 댓글 0
이 기사를 공유합니다

시프트 레프트 보안으로 클라우드 개발 단계부터 보호
개발자 능력, ‘보안’에 달려있어…빌드·배포·운영 전 단계 보호해야

[데이터넷] 클라우드는 애플리케이션으로 개발돼 API로 연결되며 웹을 통해 제공된다. 웹, API, 애플리케이션 보안은 클라우드 보안의 핵심 기술이라고 할 수 있다. 클라우드 보호를 위한 통합 플랫폼 전략의 일환으로 웹·API 보안은 WAAP로 진화하고 있으며, 애플리케이션 보안은 데브옵스에 통합된 데브섹옵스로 발전해 클라우드 전체를 보호하고 있다.<편집자>

클라우드에서 API 사용이 늘어나는 이유는 작은 단위로 쪼개서 서비스를 개발하기 때문이다. 서비스 개발 속도를 높이고 민첩성을 향상시키기 위해 마이크로 서비스 아키텍처(MSA)를 채택하고 있으며, 한 번 개발한 코드는 반복적으로 재사용하고, 오픈 라이브러리를 통해 공유된다. 개발자들은 일일이 코딩을 하는 것이 아니라 오픈소스 커뮤니티, 라이브러리 등에서 필요한 코드나 컨테이너 이미지를 가져온다.

이렇게 가져오는 코드에 취약점이 있으면 취약점이 내재된 채 서비스가 배포되기 때문에 코드를 서비스에 적용하기 전 반드시 취약점 점검을 해야 한다. 그러나 클라우드 개발속도를 맞추기 위해, 개발자들의 편의를 위해 취약점 점검을 하지 않는 경우가 대다수이며, 이를 이용한 공급망 공격이 발생한다.

깃랩 조사에 따르면 개발자의 60%가 이전보다 빠르게 코드를 배포하고 있지만, 보안을 위해 추가 예산을 지원받는 사람은 10%에 지나지 않는 것으로 나타났다. 깃랩 설문에 응답한 사람의 절반 이상이 개발자 능력이 ‘보안’에 달려있다고 답했는데, 보안전문가의 50%는 개발자들이 보안문제를 식별하지 못하며, 전체 취약점의 75%가 여기에 기인한다고 답했다.

가장 자주 발생하는 코드 보안 사례를 소개하면, 안랩이 깃허브에서 솔루션파일(*.sln)을 위장한 RAT 툴 유포를 확인했다고 공개한 사례가 있다. 개발자는 솔루션 파일이 포함된 코드를 내려받고 프로젝트를 열기 위해 이 파일을 오픈하는데, 그러면 RAT 툴이 자동으로 설치된다.

체크막스가 발견한 한 사고는 깃허브에서 검색되는 NPM 패키지 중 신뢰도 높은 개발의 계정을 탈취해 취약점을 삽입한 패키지가 업로드 된 것이다. 믿을 수 있는 개발자의 패키지라고 여기고 내려받으면 취약점 공격에 당할 수 있다.

공급망 보호위해 코드 보안 필수

소프트웨어 공급망의 취약성을 가장 분명하게 보여준 것이 2021년 12월 발견된 로그4j 취약점(로그포셸)이다. 전 세계 대부분의 웹서비스에서 사용하는 로그4j에서 발견된 이 취약점은 공격자가 로그4j 라이브러리를 사용해 로그 메시지를 작성하는 모든 시스템에서 임의의 코드를 실행할 수 있어 CVSS에서 가장 높은 심각도를 알리는 10점을 받았다.

아파치재단은 이 취약점을 공개하고 긴급 조치 사항을 알렸으며, 한국인터넷진흥원 등 유관기관과 보안 기업들도 적극적으로 취약점 해결 방법을 안내했다. 그러나 방대한 웹 서버의 어떤 파일에 이 취약점이 있는지 파악하기 어려워 제대로 조치하지 못했으며, 이 취약점이 자바 애플리케이션뿐 아니라 해당 라이브러리를 사용하는 모든 서비스에 영향을 미쳐 크고 작은 피해를 일으켰다.

클라우드 운영 환경에서 새롭게 발견된 코드 취약점은 해결이 매우 어렵다. 취약점이 있다는 사실을 알지 못하거나, 장애를 우려해 패치하지 못하는 경우, 취약점이 포함된 패키지가 어느 시스템에서 사용되는지 파악하지 못하는 경우 등을 들 수 있다. 취약점을 포함하고 있는 소프트웨어가 해당 취약점 패치 불가인 상태도 있는데, 소프트웨어 자체에 문제가 있거나 소프트웨어 개발사가 사라지거나 지원조직이 없는 경우 등을 들 수 있다.

가장 최근에는 마이크로소프트 제품에서 발견된 취약점이 1년 가까이 공격에 이용되고 있기도 하다. 카스퍼스키에 의하면 마이크로소프트 브라우저엔진 MSHTML에서 발견된 원격 코드 실행 취약점(CVE-2021-40444)은 작년 9월 패치 됐지만, 올해 2분기에 1분기 대비 8배나 증가하면서 공격이 급격하게 늘었다.

▲시프트 레프트와 시프트 라이트의 개념(자료: 다이나트레이스)
▲시프트 레프트와 시프트 라이트의 개념(자료: 다이나트레이스)

수요자 관점 코드 보안 서비스 등장

코드로 운영되는 클라우드 환경을 보호하기 위해서는 소프트웨어 라이프사이클 전체를 아우르는 보안 기술이 필요하다. 특히 코드 빌드부터 통합, 패키징, 배포, 운영 전 단계에 적용되는 보안 프로세스가 필수이며, 오픈소스·써드파티 코드와 이미지에 대한 보안검증도 적용해 공급망 공격으로부터 클라우드를 보호해야 한다.

제로 트러스트 원칙을 적용해 권한이 부여된 사람만 CI/CD 파이프라인에 참여하도록 하며, 권한 사용자라도 수상한 코드 변경이나 취약한 이미지를 사용하는지 모니터링하며, 클라우드 운영 중에도 이상행위 탐지와 취약점 탐지를 지속적으로 수행해야 한다.

깃랩 조사에 따르면 클라우드 마이그레이션을 진행하는 기업은 보안을 최우선 투자 영역으로 간조하고 있으며, 보안 조지의 절반 이상은 시프트 레프트(Shift Left) 보안으로 전환했거나 올해 안에 전환할 계획이라고 밝혔다.

이를 위해 제안되는 애플리케이션 보안 테스팅(AST) 툴은 SAST와 DAST를 이용해 코드 빌드, 배포 과정을 보호하며, SCA를 사용해 오픈소스·써드파티에서 가져온 패키지를 분석한다. SCA는 소프트웨어 자재 명세(SBoM) 기능을 제공해 개발된 서비스에서 사용한 모든 소프트웨어를 파악할 수 있게 한다.

가트너가 제안하는 AST의 모든 요소를 제공하는 솔루션은 체크막스에서 지원하고 있으며, 개발자 교육을 위한 코드베이싱, 업계 최고 보안 전문가로 구성된 보안 리서치 조직, 그리고 매니지드 서비스도 지원한다. 우리나라에서는 스패로우가 완성도 높은 AST 제품군을 제공한다.

AST는 서비스 개발 조직의 관점에서 안전한 소프트웨어를 개발해 공급한다는 의미로 사용되지만, 실제 소프트웨어를 공급받는 조직에서는 개발사가 얼마나 안전하게 소프트웨어를 개발했는지 확인할 방법이 없다.

그래서 레드펜소프트는 외부에서 납품받은 소프트웨어, 패치파일 등을 분석해 안전성을 확인하는 ‘엑스스캔(X-Scan)’ 서비스를 제공한다. 외부에서 가져온 코드를 분석하고, 코드가 없는 패치파일은 리버스 엔지니어링으로 SBoM을 추출해 부석한다. 패치는 무결성 검증을 위해 이전 버전과 비교 분석한다. 이러한 검증 과정에서 의심스럽거나 위험한 컴포넌트는 개발사에 알려 소명하도록 한다. 더불어 화이트해커의 전문 검증서비스도 제공할 수 있다.


관련기사

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