2020.09.14

‘심각하지만 흔하다’··· 클라우드 보안 실수 10가지

David Strom | CSO
클라우드 환경은 보안 측면에서 유리한 측면을 가진다. 소규모 기업이라면 특히 그렇다. 그러나 클라우드를 제대로 구성하지 않는다면, 또 모니터링과 패칭 작업을 제대로 하지 않는다면 이러한 강점은 빛이 바랜다. 

사실 완벽하게 클라우드를 구성하기란 현실적으로 불가능하다. 누구나 자격 증명을 느슨하게(또는 아예 없이) 클라우드 서버를 구성하고 서버를 느슨하게 배치할 수 있다. 또는 취약점이 발견되었을 때마다 소프트웨어를 최신 상태로 유지하기도 어렵다.

이런 상황이 너무 흔하다. 실제로 어큐릭스(Accurics) 및 오르카 시큐리티(Orca Security)의 조사에서는 다양한 구멍이 발견됐다. 이를테면 응답자 중 93%에게서 스토리지 서비스 구성이 잘못됐음이 드러나기도 했다. 보편적인 10가지 실수를 관해 알아본다.
 
Image Credit : Getty Images Bank

방치된 스토리지 컨테이너
개방된 클라우드 서버에서 데이터 캐시를 발견한다. 거기에는 고객에 관한 온갖 기밀 정보가 포함되어 있을 수 있다. 보안 연구원들에게는 흔한 사례다. 예를 들어, 에이본(Avon)과 ‘Ancestry.com’의  컨테이너가 공개된 채 발견했다. 심지어는 보안 재판매업체인 SSL247마저도 자사의 파일을 공개된 AWS S3 컨테이너에 방치하고 있었다.

업가드(UpGuard)의 크리스 비커리는 이런 것들을 발견하면서 유명해졌다. 업가드의 블로그에 보면 모두 확인할 수 있다. 공개되어 있는 스토리지 컨테이너는 개발자들이 대충 생성하고 가끔 잊어버리기 때문에 발생한다. 클라우드 스토리지가 너무 저렴한데다 생성하기 쉽기 때문에 나타나는 부작용이다.

해결책 : ‘Shodan.io’ 또는 ‘BinaryEdge.io’ 같은 인기 디스커버리 도구를 사용하여 도메인을 정기적으로 확인한다. 또 CSO가 이전에 밝혔던 컨테이너 보안 개선에 관하여 했던 조언을 살펴본다. 여기에는 네이티브 도커 도구 사용과 Inspector, GuardDuty 및 CloudWatch 같은 아마존의 클라우드 네이티브 솔루션이 포함되어 있다. 마지막으로 클라우드 서버를 ‘AWS Virtual Private Clouds’ 또는 ‘Azure Virtual Networks’ 같은 도구로 분할한다.

애플리케이션 보호의 부재
네트워크 방화벽은 웹 서버 모니터링 및 보호에 도움이 되지 않는다. 2020년 버라이존 데이터 유출 보고서에 따르면 웹 애플리케이션 공격이 2배 이상 증가했다. 일반적인 웹 사이트는 수십 개의 소프트웨어 도구를 구동하며, 그 중 하나가 클라우드 환경 전체를 위험에 빠뜨릴 수 있다. 워드프레스가 특히 취약하다.  이로 인해 약 100만 개의 사이트가 위험에 처했다는 보고도 있을 정도다.

해결책 : 워드프레스 블로그를 운영하고 있다면 여기 링크에서 언급한 도구 중 하나를 검토한다. 또한 이 게시물에는 다른 웹 사이트에 일반화할 수 있는 노출 감소 기법도 있다. 일반적인 애플리케이션 서버를 구동한다면 웹 애플리케이션 방화벽 사용을 고려할 만하다. 또한 애저 또는 오피스 365를 운용하고 있다면 마이크로소프트의 디펜더 애플리케이션 가드 퍼블릭 프리뷰를 검토하기 권한다. 위협을 찾아내고 인프라 전반의 멀웨어 확산을 방지하는 데 도움이 될 수 있다.

계정 보안을 SMS MFA에 맡기거나 MFA를 전혀 사용하지 않기
추가 인증 요소로 SMS 문자메시지를 사용하는 경우 쉽게 해킹될 수 있다는 사실을 대부분 알고 있다. 대부분의 클라우드 애플리케이션에서는 MFA가 없는 경우가 더 흔하다. 오크라(Orca)는 조사 응답자 중 1/4이 MFA를 사용하여 관리자 계정을 보호하지 않는다는 사실을 발견했다. ‘Two Factor Auth’ 웹 사이트를 보면 바이버(Viber), 야머(Yammer), 디스커스(Disqus) 및 크래시플랜(Crashplan) 등 일반적인 앱의 절반 이상이 추가 인증 방법에 대한 지원이 없다는 사실을 알 수 있다.

해결책 : 향상된 MFA 방법을 지원하지 않는 상용 앱에 대해 할 수 있는 일은 거의 없지만 구글이나 오씨(Authy)의 인증 앱을 사용하여 SaaS 애플리케이션과 추가적인 권한을 가진 관리자 계정을 가능한 많이 보호할 수 있다. 애저 AD 글로벌 관리자 역할의 변경사항도 모니터링하면 좋다.

자신의 액세스 권한에 대해 무지하기
액세스 권한에 대한 이야기가 나왔으니 말이지만 애플리케이션에 액세스할 수 있는 사용자를 추적하는 것과 관련해 2가지 기본적인 문제점이 있다. 우선, 많은 IT 기업들이 여전히 윈도우 종점을 관리자 권한으로 운용하고 있다. 클라우드만의 문제는 아니지만 클라우드 기반 가상 머신과 컨테이너는 관리자가 너무 많거나 같은 관리자 비밀번호를 공유할 수 있으며, 더 나은 보안 조치가 필요하다. 둘째, 보안 장비는 인프라의 보편적인 권한 상승 공격을 감지할 수 없다.

해결책 : 비욘드트러스트(BeyondTrust), 싸이코틱(Thycotic) 또는 사이버아크(CyberArk) 등이 제공하는 권한 있는 ID 관리 도구를 사용한다. 그리고 계정 권한의 변경사항을 정기적으로 감사한다.

포트 열어두기
클라우드 서버에 접근하기 위해 마지막으로 FTP를 사용한 때가 언제인가? 그렇다. FBI는 FTP를 사용한 2017년의 유출에 관해 이렇게 경고했다.

해결책 : 불필요하고 오래된 포트를 끄고 공격 표면을 줄인다.

원격 액세스 관리하지 않기
대부분의 클라우드 서버에는 RDP, SSH 및 웹 콘솔 등 다양한 원격 연결 방법이 있다. 이 모든 것들은 적절한 자격 증명, 부실한 비밀번호, 보호되지 않는 포트 등으로 인해 해킹을 당할 수 있다.

해결책 : 이런 네트워크 흐름을 모니터링하고 적절히 차단해야 한다.

기밀을 관리하지 않기
암호화 키, 관리자 비밀번호 및 API 키를 어디에 보관하는가? 로컬 워드 파일이나 포스트잇은 아니길 바랄 뿐이다. 이런 데이터를 더욱 잘 보호하고 최소한의 승인된 개발자들과 공유해야 한다.

해결책 : AWS Secrets Manager, AWS Parameter Store, Azure Key Vault 및 Hashicorp Vault 등의 서비스는 탄탄하고 확장 가능한 기밀 관리 도구이다.

깃허브의 저주, 공급망 신뢰하기
개발자들이 점차 오픈소스 도구를 애용하게 되면서 소프트웨어 공급망이 늘어났다. 이로 인해 신뢰 관계를 이해하고 개발 프로세스와 라이프사이클 전반에 걸쳐 소프트웨어의 경로 전체를 보호해야 한다.

올 해 초, 깃허브의 한 IT 직원은 26개의 NetBeans 오픈소스 프로젝트(자바 개발 플랫폼)에 백도어가 내장되어 있고 맬웨어를 능동적으로 배포하고 있다는 사실을 발견했다. 자신의 코드가 해킹되었다는 사실을 인지하고 있는 프로젝트 소유자가 없었다. 코드에 단순한 오타가 있는 것과 실제 백도어가 생성되어 있는 것을 구분하기가 어렵다는 것이 문제이다.

해결책 : 위의 첫 번째 항목에서 언급한 컨테이너 보안 도구를 사용하고 가장 자주 사용하는 프로젝트의 관리 연속성을 파악해야 한다.

유의미한 로그가 없음
마지막으로 로그를 검토한 적이 언제인가? 기억이 나지 않는다면 문제가 될 수 있으며 클라우드 서버의 경우에는 더욱 그렇다. 왜냐하면 모르는 사이에 확산될 수 있기 때문이다. 이 돈스 블로그 게시물에는 부실한 로깅 활동으로 인해 공격이 발생한 정황에 대해 설명하고 있다.

해결책 : AWS CloudTrail은 클라우드 서비스에 대한 향상된 실시간 가시성을 제공한다. 또한 계정 구성, 사용자 생성 및 인증 실패 등에 대한 변경사항에 대한 이벤트 로그를 켜야 한다. 

서버 패치하지 않기
클라우드 기반 서버가 있다고 해서 패치를 자동으로 적요하거나 최신 버전으로 자동 업데이트되지 않는다. (일부 관리형 서비스와 클라우드 호스팅 제공자가 이런 서비스를 제공할 때가 있기는 하다.) 위에서 언급한 오르카의 조사에서 응답자 중 절반이 최소한 1개의 구식 서버를 운용하고 있음이 드러났다. 패치 되지 않은 서버로 인해 발생한 공격의 수는 너무 많아서 모두 언급할 수 없을 정도이다.

해결책 : 패치 관리에 더욱 주의하고 중대한 업데이트에 관해 시의적절하게 알려주는 제공자를 이용해야 한다. ciokr@idg.co.kr



2020.09.14

‘심각하지만 흔하다’··· 클라우드 보안 실수 10가지

David Strom | CSO
클라우드 환경은 보안 측면에서 유리한 측면을 가진다. 소규모 기업이라면 특히 그렇다. 그러나 클라우드를 제대로 구성하지 않는다면, 또 모니터링과 패칭 작업을 제대로 하지 않는다면 이러한 강점은 빛이 바랜다. 

사실 완벽하게 클라우드를 구성하기란 현실적으로 불가능하다. 누구나 자격 증명을 느슨하게(또는 아예 없이) 클라우드 서버를 구성하고 서버를 느슨하게 배치할 수 있다. 또는 취약점이 발견되었을 때마다 소프트웨어를 최신 상태로 유지하기도 어렵다.

이런 상황이 너무 흔하다. 실제로 어큐릭스(Accurics) 및 오르카 시큐리티(Orca Security)의 조사에서는 다양한 구멍이 발견됐다. 이를테면 응답자 중 93%에게서 스토리지 서비스 구성이 잘못됐음이 드러나기도 했다. 보편적인 10가지 실수를 관해 알아본다.
 
Image Credit : Getty Images Bank

방치된 스토리지 컨테이너
개방된 클라우드 서버에서 데이터 캐시를 발견한다. 거기에는 고객에 관한 온갖 기밀 정보가 포함되어 있을 수 있다. 보안 연구원들에게는 흔한 사례다. 예를 들어, 에이본(Avon)과 ‘Ancestry.com’의  컨테이너가 공개된 채 발견했다. 심지어는 보안 재판매업체인 SSL247마저도 자사의 파일을 공개된 AWS S3 컨테이너에 방치하고 있었다.

업가드(UpGuard)의 크리스 비커리는 이런 것들을 발견하면서 유명해졌다. 업가드의 블로그에 보면 모두 확인할 수 있다. 공개되어 있는 스토리지 컨테이너는 개발자들이 대충 생성하고 가끔 잊어버리기 때문에 발생한다. 클라우드 스토리지가 너무 저렴한데다 생성하기 쉽기 때문에 나타나는 부작용이다.

해결책 : ‘Shodan.io’ 또는 ‘BinaryEdge.io’ 같은 인기 디스커버리 도구를 사용하여 도메인을 정기적으로 확인한다. 또 CSO가 이전에 밝혔던 컨테이너 보안 개선에 관하여 했던 조언을 살펴본다. 여기에는 네이티브 도커 도구 사용과 Inspector, GuardDuty 및 CloudWatch 같은 아마존의 클라우드 네이티브 솔루션이 포함되어 있다. 마지막으로 클라우드 서버를 ‘AWS Virtual Private Clouds’ 또는 ‘Azure Virtual Networks’ 같은 도구로 분할한다.

애플리케이션 보호의 부재
네트워크 방화벽은 웹 서버 모니터링 및 보호에 도움이 되지 않는다. 2020년 버라이존 데이터 유출 보고서에 따르면 웹 애플리케이션 공격이 2배 이상 증가했다. 일반적인 웹 사이트는 수십 개의 소프트웨어 도구를 구동하며, 그 중 하나가 클라우드 환경 전체를 위험에 빠뜨릴 수 있다. 워드프레스가 특히 취약하다.  이로 인해 약 100만 개의 사이트가 위험에 처했다는 보고도 있을 정도다.

해결책 : 워드프레스 블로그를 운영하고 있다면 여기 링크에서 언급한 도구 중 하나를 검토한다. 또한 이 게시물에는 다른 웹 사이트에 일반화할 수 있는 노출 감소 기법도 있다. 일반적인 애플리케이션 서버를 구동한다면 웹 애플리케이션 방화벽 사용을 고려할 만하다. 또한 애저 또는 오피스 365를 운용하고 있다면 마이크로소프트의 디펜더 애플리케이션 가드 퍼블릭 프리뷰를 검토하기 권한다. 위협을 찾아내고 인프라 전반의 멀웨어 확산을 방지하는 데 도움이 될 수 있다.

계정 보안을 SMS MFA에 맡기거나 MFA를 전혀 사용하지 않기
추가 인증 요소로 SMS 문자메시지를 사용하는 경우 쉽게 해킹될 수 있다는 사실을 대부분 알고 있다. 대부분의 클라우드 애플리케이션에서는 MFA가 없는 경우가 더 흔하다. 오크라(Orca)는 조사 응답자 중 1/4이 MFA를 사용하여 관리자 계정을 보호하지 않는다는 사실을 발견했다. ‘Two Factor Auth’ 웹 사이트를 보면 바이버(Viber), 야머(Yammer), 디스커스(Disqus) 및 크래시플랜(Crashplan) 등 일반적인 앱의 절반 이상이 추가 인증 방법에 대한 지원이 없다는 사실을 알 수 있다.

해결책 : 향상된 MFA 방법을 지원하지 않는 상용 앱에 대해 할 수 있는 일은 거의 없지만 구글이나 오씨(Authy)의 인증 앱을 사용하여 SaaS 애플리케이션과 추가적인 권한을 가진 관리자 계정을 가능한 많이 보호할 수 있다. 애저 AD 글로벌 관리자 역할의 변경사항도 모니터링하면 좋다.

자신의 액세스 권한에 대해 무지하기
액세스 권한에 대한 이야기가 나왔으니 말이지만 애플리케이션에 액세스할 수 있는 사용자를 추적하는 것과 관련해 2가지 기본적인 문제점이 있다. 우선, 많은 IT 기업들이 여전히 윈도우 종점을 관리자 권한으로 운용하고 있다. 클라우드만의 문제는 아니지만 클라우드 기반 가상 머신과 컨테이너는 관리자가 너무 많거나 같은 관리자 비밀번호를 공유할 수 있으며, 더 나은 보안 조치가 필요하다. 둘째, 보안 장비는 인프라의 보편적인 권한 상승 공격을 감지할 수 없다.

해결책 : 비욘드트러스트(BeyondTrust), 싸이코틱(Thycotic) 또는 사이버아크(CyberArk) 등이 제공하는 권한 있는 ID 관리 도구를 사용한다. 그리고 계정 권한의 변경사항을 정기적으로 감사한다.

포트 열어두기
클라우드 서버에 접근하기 위해 마지막으로 FTP를 사용한 때가 언제인가? 그렇다. FBI는 FTP를 사용한 2017년의 유출에 관해 이렇게 경고했다.

해결책 : 불필요하고 오래된 포트를 끄고 공격 표면을 줄인다.

원격 액세스 관리하지 않기
대부분의 클라우드 서버에는 RDP, SSH 및 웹 콘솔 등 다양한 원격 연결 방법이 있다. 이 모든 것들은 적절한 자격 증명, 부실한 비밀번호, 보호되지 않는 포트 등으로 인해 해킹을 당할 수 있다.

해결책 : 이런 네트워크 흐름을 모니터링하고 적절히 차단해야 한다.

기밀을 관리하지 않기
암호화 키, 관리자 비밀번호 및 API 키를 어디에 보관하는가? 로컬 워드 파일이나 포스트잇은 아니길 바랄 뿐이다. 이런 데이터를 더욱 잘 보호하고 최소한의 승인된 개발자들과 공유해야 한다.

해결책 : AWS Secrets Manager, AWS Parameter Store, Azure Key Vault 및 Hashicorp Vault 등의 서비스는 탄탄하고 확장 가능한 기밀 관리 도구이다.

깃허브의 저주, 공급망 신뢰하기
개발자들이 점차 오픈소스 도구를 애용하게 되면서 소프트웨어 공급망이 늘어났다. 이로 인해 신뢰 관계를 이해하고 개발 프로세스와 라이프사이클 전반에 걸쳐 소프트웨어의 경로 전체를 보호해야 한다.

올 해 초, 깃허브의 한 IT 직원은 26개의 NetBeans 오픈소스 프로젝트(자바 개발 플랫폼)에 백도어가 내장되어 있고 맬웨어를 능동적으로 배포하고 있다는 사실을 발견했다. 자신의 코드가 해킹되었다는 사실을 인지하고 있는 프로젝트 소유자가 없었다. 코드에 단순한 오타가 있는 것과 실제 백도어가 생성되어 있는 것을 구분하기가 어렵다는 것이 문제이다.

해결책 : 위의 첫 번째 항목에서 언급한 컨테이너 보안 도구를 사용하고 가장 자주 사용하는 프로젝트의 관리 연속성을 파악해야 한다.

유의미한 로그가 없음
마지막으로 로그를 검토한 적이 언제인가? 기억이 나지 않는다면 문제가 될 수 있으며 클라우드 서버의 경우에는 더욱 그렇다. 왜냐하면 모르는 사이에 확산될 수 있기 때문이다. 이 돈스 블로그 게시물에는 부실한 로깅 활동으로 인해 공격이 발생한 정황에 대해 설명하고 있다.

해결책 : AWS CloudTrail은 클라우드 서비스에 대한 향상된 실시간 가시성을 제공한다. 또한 계정 구성, 사용자 생성 및 인증 실패 등에 대한 변경사항에 대한 이벤트 로그를 켜야 한다. 

서버 패치하지 않기
클라우드 기반 서버가 있다고 해서 패치를 자동으로 적요하거나 최신 버전으로 자동 업데이트되지 않는다. (일부 관리형 서비스와 클라우드 호스팅 제공자가 이런 서비스를 제공할 때가 있기는 하다.) 위에서 언급한 오르카의 조사에서 응답자 중 절반이 최소한 1개의 구식 서버를 운용하고 있음이 드러났다. 패치 되지 않은 서버로 인해 발생한 공격의 수는 너무 많아서 모두 언급할 수 없을 정도이다.

해결책 : 패치 관리에 더욱 주의하고 중대한 업데이트에 관해 시의적절하게 알려주는 제공자를 이용해야 한다. ciokr@idg.co.kr

X