2022년 하반기 최대 정보보안&개인정보보호 컨퍼런스 PASCON 2022가 9월 28일 수요일 오전 9시부터 서울 양재동 더케이호텔서울 2층 가야금홀에서 공공, 금융, 기업 정보보안책임자, 실무자, 개인정보보호 책임자 및 실무자 등 1,200여 명이 대거 참석하는 가운데 성황리에 개최됐다.
이 자리에서 엔시큐어 박정만 이사는 ‘클라우드로의 전환과 보안 대응 방안’을 주제로 강연을 진행했다.
엔시큐어 박정만 이사의 ‘클라우드로의 전환과 보안 대응 방안’ 강연 내용을 요약하면 다음과 같다.
최근 새롭게 등장하고 있는 IT 기업들은 대부분 클라우드에 기반을 둔 비즈니스 환경에서 성장하고 있습니다. 정확히는 클라우드 네이티브 환경이라고 해야 하는데 기존의 클라우드 용어와 혼용되고 있다.
미국의 국립표준기술연구소(NIST)의 정의에 따르면 클라우드 컴퓨팅이란 네트워크, 서버, 스토리지, 애플리케이션, 서비스 등의 컴퓨팅 리소스에 언제든지 편하게 접근할 수 있는 기술이다.
비효율적인 개별 서버 환경 구성을 하나로 통합하여 필요한 만큼 리소스를 할당하고 사용량을 측정하여 비용으로 청구하는 소유에서 사용으로의 패러다임 전환이다.
클라우드는 서비스 사용 형태에 따라 퍼블릭과 프라이빗으로 나누고 이를 혼용하는 하이브리드 형태로도 구분할 수 있으며 서비스 제공 범위에 따라 IaaS > PaaS > SaaS로 구분하고 있다. IaaS는 우리에게 익숙한 가상화 환경이며 PaaS는 제공되는 서버 인프라 위에 App을 개발하고 배포하는 환경이다. SaaS는 office365와 같이 완성된 서비스를 이용하는 형태가 되겠다.
클라우드 컴퓨팅의 개념이 나오기 이전부터 데이터센터를 운영해온 기업들은 대부분 가상화의 단계를 넘어 PaaS 형태의 운영방식을 실험하고 있지만 전통적인 서버 운영 방식과 병행하는 형태로 천천히 발전하고 있다. 앞서 말했던 클라우드 네이티브 환경은 처음 시작부터 클라우드였기 때문에 인원과 조직의 구성부터 운영 방식까지 단어의 의미처럼 태생이 클라우드인 기업이 클라우드 네이티브 방식으로 비즈니스를 성장시키고 있는 것이다.
클라우드 네이티브에 대해 간단하게 정리해 보면 “클라우드 네이티브란 Devops 조직이 CI/CD, Container 기술을 사용하여 개발자 생산성, 비즈니스 민첩성, 확장성, 가용성 및 비용 절감 효과를 높이는 컴퓨팅 환경의 마이크로 서비스 아키텍처를 구현하는 것이다”로 정의될 것이다.
클라우드 네이티브는 중요 비즈니스 애플리케이션을 서비스하기 위한 표준이 되고 있다.
가트너에서는 현재 개발부서의 51%가 클라우드 네이티브에서 비즈니스 서비스는 운영되고, 2025년까지는 이런 새로운 디지털 워크로드의 95%가 클라우드 네이티브 플랫폼을 통해 배포될 것이라고 한다. 이것은 컨테이너 사용률이 현재도 많이 늘어나고 있지만 앞으로 급속도로 늘어날 것이라고 예측하고 있는 것이다.
문제는 개발환경이 Time-to-Market을 단축하는 목표를 위해 빠르게 변화하고 있지만 기존 보안 도구와 체계는 이러한 새로운 환경에서 효과적이지 않다는 것이다.
개발 테스트 운영의 단계를 거치는 과정에서 OS와 DB에 접근하여 명령어를 실행하던 개발자와 운영자들을 모니터링하고 통제하며 서버 내 취약점을 찾아내던 보안 관리자들이 클라우드 네이티브 환경에선 기존의 보안 도구와 체계를 쓸 수 없게 된다. 예를 들어, 기존 서버보안 또는 방화벽은 서버 또는 VM을 볼 수 있지만 컨테이너, Kubernetes 및 애플리케이션 서비스에 대한 가시성을 확보할 수 없기 때문에 보호해야 하는 자산의 위험을 식별조차 하기 어렵다.
반면 공격자들은 인프라 환경의 변화에 빠르게 적응하며 클라우드 네이티브 환경을 목표로 삼고 있고 실제 조사결과에 의하면 클라우드 서비스의 공격 빈도는 49% 인 절반에 가깝다.
아쿠아의 노틸러스 클라우드 네이티브 연구팀은 최근 화두 가 되었던 log4j 취약 시스템이 클라우드 서비스를 20분 이내에 손상시키는 것을 보고했다.
이러한 여러 가지 변화를 볼 때 클라우드로 전환을 계획하고 실행 중인 기업들이 보안 영역을 클라우드 및 클라우드 네이티브 환경까지 통합 확장시키는 것을 비지니스의 최고 과제로 삼고 있다는 것은 어떻게 보면 당연한 일이다. 하지만 여기서 클라우드 공급자는 서비스 보안에 도움이 되지 않는다. 클라우드 공급자인 CSP는 인프라에 대한 보안은 제공해 주지만, 잘못된 설정이나 컴플라이언스에 대한 이행 여부는 고려하지 않는다. 책임 공유 모델에 따라 기업이 서비스하는 어플리케이션은 기업이 자체적으로 보호하도록 책임범위를 나누고 있다. 이것은 이번 세션에 들어와 계신 여러분들과 저희가 함께 풀어야 할 과제다.
클라우드 네이티브의 프로세스는 빌드(build), 쉽(ship) 그리고 런(run)으로 구성되어 있다.
빌드는 코드나 CI/CD로 이미지를 생성하는 단계이고, 그 이미지를 레지스트리로 이동하는 것을 쉽, 마지막으로 오케스트레이터로 운영환경에 배포하고 컨테이너로 실행하는 것이 런이다.
이런 프로세스 전 과정에서 사용되는 모든 것이 기업이 보호해야 할 자산이다. 위험 관리를 수행해야 한다. 그렇다면 클라우드 네이티브 애플리케이션을 표적으로 하는 공격을 예방하기 위해 어떻게 자산을 관리해야 할까.
가장 먼저 해야 할 것은 Cloud Native Business의 생성, 저장, 배포, 운영의 전 과정의 가시성을 확보하는 것이다. 워크로드를 실행하는 것부터 K8s 클러스터 및 레지스트리에 이르기까지 서비스 자산의 전체 생명 주기에 걸쳐 가시성을 확보해야 하고, 그사이에 숨어있는 위험을 이해하고 보안 이슈를 해결하기 위해 소요되는 시간을 단축 시키는 방안을 찾을 수 있어야 한다.
2단계는 발견한 위험을 줄이려는 조치를 하는 것이다. 조치 후, 프로덕션에 들어가는 모든 이미지의 보안 상태가 안전하다는 확신이 있어야 되고 합의된 보안정책에 따라 보안 검사는 각각의 구간에서 파이프라인 안에 포함되어 자동화되어야 한다.
3단계에서는 런타임 워크로드의 예방과 대응을 위해 서비스가 안전하게 실행될 수 있도록 정보에 입각한 판단 근거를 제공해야 한다. 이런 판단 근거로 런타임 워크로드에 적용되는 보안 정책 사용으로 인한 전체 영향도를 이해하고 어떤 위협을 교정하고 예방했는지 알 수 있어야 한다.
4단계는 위험이 식별된 워크로드에 대해 진행 중인 공격을 막는 자동 대응 기능을 활성화해서 위협에 대응 할 수 있어야 한다. 이러한 단계를 통해 클라우드 네이티브 전체 생명 주기에 걸쳐 자동화된 예방, 탐지 및 대응을 제공하고 파이프라인에 통합되어서 비즈니스 Time-to-Market을 개선하고 경쟁력 있게 지원할 수 있어야 한다.
글로벌 시장조사기관 가트너는 클라우드 네이티브 애플리케이션 보안 문제에 대해 “기업은 개발과 런타임을 별도의 도구 모음으로 보호하고 스캔하는 별개의 문제로 취급해서는 안 된다. 그보다는 개발 및 운영 전반에 걸쳐 보안과 컴플라이언스를 연속체로 인식하고, 가능한 경우 도구를 통합해야 한다”고 조언하고 있으며 개발 및 프로덕션 전반에 걸쳐 클라우드 네이티브 애플리케이션을 보호하고, 보안을 강화하도록 설계된 보안 및 컴플라이언스의 통합 세트인 CNAPP의 사용을 권고하고 있다.
아쿠아시큐리티는 2015년도에 설립된 클라우드 네이티브 전문 보안 기업으로 현재 국내외 500개 이상의 엔터프라이즈급 기업들, 넷플릭스, 페이스북, 테슬라, 아마존의 클라우드 네이티브 어플리케이션 환경을 보호하는 CNAPP 전문 기업이다. 작년 하반기에 한국에 지사가 설립되었고 지난주 본사 CEO가 방한하여 기자회견에서 한국 클라우드 지역 서비스 제공과 클라우드 서비스에 대한 ISMS-P와 금융보안원 가이드 지원 등 국내 컴플라이언스 이행 점검 기능을 제공함으로써 한국형 CNAPP 서비스를 지원하겠다고 밝혔다.
AQUA CNAPP는 클라우드 네이티브 전구간의 애플리케이션 보안을 제공하는 보안 통합 플랫폼이다. CSPM을 운영한다고 워크로드가 보호되지 않고, CWPP를 사용한다고 클라우드의 컴플라이언스나 잘못된 구성으로 인한 보안 허점을 보호할 수 없기 때문에 CSPM과 CWPP그리고 Iac 스캐닝이나 CIEM, artifact 스캐닝 등 애플리케이션 전체 생명주기에 모든 요소에서 보호 방안을 제공하고 있다.
이제 국내 비즈니스도 클라우드 네이티브 환경이 서서히 표준으로 자리를 잡아가고 있다. 빠른 변화에서의 보안은 방해 요소가 아니라 통합된 파이프라인 프로세스로 적용되어야 한다.
아쿠아시큐리티는 전 세계에서 가장 점유율이 높은 클라우드 네이티브 보안 오픈소스를 개발하고 제공하는 벤더로 1억 명 이상의 사용자를 보유하고 있으며 하버(Harbor), 깃랩(GitLab), 아티팩트허브(ArtifactHUB)의 기본 스캐너로 채택되는 등 마켓 리더로 평가받고 있는 클라우드 네이티브 전문 보안 업체다. 아쿠아시큐리티는 모든 수준에서 클라우드 네이티브 환경에 대한 공격으로부터 보호할 수 있는 유일한 공급업체로 Devops 생명주기 전체에서 위험관리를 수행하며 공격을 예방하고 공격 발생 시 강력한 방어 기능을 통해 고객의 애플리케이션 서비스를 중단 없이 보호하고 여러분의 시간을 돌려 줄 것이다.
최근 기업을 대상으로 한 공급망 공격 supply chain attack 많이 증가하고 있는 상황다.
그중에서도 단연 랩서스가 최근 가장 돋보이는 공격 단체인 것 같은데요. 최근에는 침묵하고 있지만 처음 모습을 드러낸 이후 1년도 안 되는 시간 동안 글로벌 기업들을 연이어서 해킹하고 기업들의 데이터를 유출했다.
이들이 사용한 공격은 크리덴셜 탈취, 시스템 접근 권한 확보, 권한 상승, 데이터 유출 등 내부의 취약점을 이용한 공격수단을 사용했다.
취약점 관리, 권한 제어, 접근제어, 네트워크 목적지 통제 등 각각의 위험 요소 식별과 관리를 서비스 전 구간에서 자동화하고 대응하는 것이 위험을 예방하는 가장 효과적인 방안이다.
이러한 공급망 문제는 안전한 소프트웨어를 구축하고 인프라를 강화해서 해결할 수 있다.
주기적인 스캐닝과 취약점을 수정하는 인프라 보안 환경의 개선이 공격자가 기업 내부로의 진입점을 쉽게 찾을 수 없게 해줄 것이기 때문이다.
하지만 이러한 통제가 이루어지더라도 공격자가 진입하는 것을 완전히 막는 것은 보장되지 않는다. 모든 취약점을 즉시 수정할 수 없으며 소프트웨어 및 인프라의 구성을 수정하는 데도 시간이 걸린다. 따라서 공격자는 일반적으로 적어도 잠시 동안 환경에 진입할 기회를 얻게 된다. 그리고 공격자는 이미 인간이라는 가장 약한 진입점을 확보하고 내부에 거점을 만들어 뒀을지도 모른다. 사회 공학 기법이나, 피싱 공격 등 보안 인식이 충분하지 않은 사용자가 있다는 것은 공격자가 이미 외부 방어를 넘어서 기업 인프라의 내부, 특히 클라우드 네이티브 환경 내부에 일부 관리자 권한을 이미 가질 수 있다는 걸 의미할 수 있다.
이런 공격자들이 어떻게 내부로 들어 올까?
공격자는 워크로드에 직접 엑세스할 수 있는 방법을 찾아서 공격을 실행하기 시작한다. 그리고 이것은 일반적으로 거점을 설정하는 것으로 시작해 환경정보를 수집하고 다른 대상의 보안적 허점을 찾고, 공격 대상을 점차 확장해 나간다.
실제로 공격자들은 내부 공격자와 같이 연계하거나, 아니면 공격자가 실행할 수 있는 코드를 다운로드 함으로써 직접 코드를 실행해서 위협을 시작하게 된다. 만약 공격자가 쿠버네티스 pod에 액세스할 수 있게 된다면, Kubernetes API 서버에 연결한 다음 자체 이미지를 실행할 수도 있다. 포트 스캔이나 핑 스윕을 사용해서 컨테이너 엔진 및 기타 클러스터를 검색하고 DNS가 아닌 IP 주소만 있는 다크 웹에서 도구를 다운로드하거나, 아니면 정상적으로 사용하는 명령어나 유틸리티를 사용해서 C&C서버로 콜백 통신을 할 수도 다. 이렇게 확정된 내부 환경 거점들을 만든 해커는 더 중요한 시스템으로 접근하려 할 것이다.
자신의 권한을 상승시키고 중요시스템에 접근하고 서버를 점유할 것이다. 그리고 목적에 따라 정보를 탈취하고, 채굴하거나 악성코드 유포지로 사용해서 추가 피해를 만들 것이다.
만약 아쿠아의 CNAPP을 사용하고 있었다면 CSPM, KSPM 즉 쿠버네티스 시큐리티, Image Scanning 그리고 Dynamic Threat Analysis 동적 위협 분석과 같은 보안 기능들로 공급망에서의 잘못된 구성과 취약점을 식별할 수 있다. 이렇게 식별된 취약점을 개선하는 프로세스로 인프라에 대한 보안은 점점 강화된다. 해커들의 내부 진입점이 점차 없어질 것이다.
또한 아쿠아에는 워크로드를 보호하기 위한 강력한 기능이 있다. 하나는 드리프트 방지로, 워크로드의 원본 이미지에서 가져오지 않은 프로그램 실행을 허용하지 않은 기능이다. 그러면 공격자가 자신의 코드를 다운로드하고 사용하는 것을 막을 수 있다. 쿠버네티스나 NIST 등에서는 클라우드 네이티브 워크로드는 이미지 불변성의 원칙을 준수해야 한다고 가이드하고 있다. 이것은 빌드된 이미지가 컨테이너화된 후 내용을 변경하는 것이 아니라 이미지를 수정하고 변경한 후 다시 컨테이너화하라는 것을 의미한다. 이런 환경에서 원본 이미지에 없는 실행과 파일을 차단하는 것은 애플리케이션에 영향을 주지 않고 서비스를 보호하는 매우 좋은 방법이다.
그리고 컨테이너에 대한 쉘 액세스 차단, 관리자 권한 제한 그리고 취약점의 패치가 나오기 전에 위협 실행을 제어해주는 vShield와 같은 가상 패치기능을 제공하고 시스템 파일의 무결성 체크와 포렌식과 같은 모니터링 기능으로 모든 변경행위를 식별하실 수 있다.
엔시큐어 박정만 이사의 보다 상세한 강연 내용은 아래 강연 영상을 참고하면 된다. 강연자료는 데일리시큐 자료실에서 다운로드 가능하다.
★정보보안 대표 미디어 데일리시큐!★