Tech story/Security

안전하게 Cloud 이용하기#3 - 애플리케이션 보안

Cloud보안 2021. 11. 9. 14:00

 

 

1. 애플리케이션 보안 설계

애플리케이션 보안에는 "인증/암호화/감사" 등이 포함됩니다. 특히, Cloud의 특성 상 애플리케이션이 노출되고 네트워크 억제가 어려워지므로, 애플리케이션 보안 수준이 높아져야 합니다.

 

리소스가 공유되기에, 사용자가 권한이 부여된 데이터에 접근할 수 있도록 통제되어야 하고, 웹-WAS-DB 등으로 분리하는 3-Tier 이상의 설계가 필요합니다. 이를 통해 데이터베이스의 노출을 최소화할 수 있습니다. 만약 전통적인 웹/WAS 서버를 구성하기 어려워 데이터에 바로 접근하는 상황이라면, 중계 서버를 구성하는 것이 좋습니다. 이는 주요 자원을 Private Network로 위치시키고, 경로를 최소화 하는 방법입니다. 중계 서버는 연결된 서비스와 터널링하여, 접속자가 클라우드 자원에 접근할 수 있도록 합니다.

또한 데이터의 변조에 대한 탐지, 무차별 대입 공격 방지 등 코드 수준의 방어도 고려되어야 합니다.

 

 

2. 보안 취약점 분석과 모의해킹

일반적인 IaaS의 Cloud 서비스를 이용할 경우, 사용자가 OS부터 DB, Application의 모든 영역을 직접 관리해야 합니다. 이 때, 가장 먼저 취약점 분석을 고려하게 됩니다. 취약점 분석은 금융/공공 등의 관련 가이드라인에서 주기적으로 시행하도록 권고하고 있으며, 잠재적인 위협을 방지하는데 효과적이기에 중요합니다.

 

취약점 분석은 네트워크, OS, DB등에 적용할 수 있는 CCE(설정) 진단, 잘 알려진 주요 애플리케이션에 적용할 수 있는 CVE(알려진취약점) 진단을 시행하고, 사용자가 만든 프로그램에 대해서는 정적 코드 진단이나 동적 분석 등을 시행하게 됩니다.

CCE나 CVE는 국내의 "KISA 인터넷 보호나라, KrCERT"에서도 공지되고 있으며, 이를 관리하기가 어렵기 때문에 전문 솔루션을 사용하기도 합니다.

 

이처럼 Cloud에서의 보안 취약점 분석은 일반적인 기업 IT 환경에서와 유사하게 수행됩니다. 각 고객사에서 이용 중인 솔루션을 그대로 이용할 수도 있고, Cloud의 Marketplace 상품을 이용할 수도 있습니다. 다만 물리적 보안의 영역은 제외되며, 관리적/기술적 보안의 일부는 상이할 수 있습니다. 이는 클라우드 사용자가 직접 통제할 수 없는 부분을 제외하는 것입니다.

 

추가적으로, 모의해킹/훈련과 같이 실제 침투를 통한 심층적인 분석을 할 수 있습니다. 일반적으로 외부에서 접근할 수 있는 경로는 웹서비스가 대부분이므로 웹서비스에 대한 추가적인 진단이 고려됩니다.

 

KT Cloud의 경우 Secu Raider과 Phishing Net이라는 모의 훈련 솔루션을 제공하고 있습니다.

( 참조: Phishing Net 동작 Flow )

( 참조: Secu-Raider 동작 Flow )

 

3. 안티바이러스

수많은 취약점이 알려져 있고, 발견되고 있으며 이를 모두 방어하기가 매우 어렵습니다. 또한, 랜섬웨어 등의 사태를 되돌아 보면 바이러스 검사 및 대응도 매우 중요합니다.

 

바이러스 검사는 의심스러운 동작과 알려진 데이터베이스를 이용한 방식 등으로 이루어집니다. 특히, 웹과 같이 공개된 서버에 대해서는 예방적 보호체계 뿐 아니라, 탐지/교정 체계를 갖추는 것이 중요합니다.

 

안티바이러스 또한 일반적인 기업 환경과 유사하게 구축/운영되지만, Cloud 환경에서는 가상환경에 적합하도록 OS 배포판이 조금은 다를 수 있으므로, 클라우드 서비스 제공자와 협의된 안티바이러스 시스템을 사용하는 것을 권고합니다. 만약, 비용적 이슈가 있다면 오픈소스 안티바이러스 시스템 사용을 고려해볼 수도 있습니다.

 

성능적인 유리함을 위해서는, 안티바이러스의 시스템 리소스 점유를 제한하거나 검사 주기를 넓게 분포하는 등의 조치를 취할 수 있습니다.

 

( 참조: 악성 코드 탐지 차단 솔루션 F-Secure 동작 Flow )

4. 데이터 보호

 

데이터를 암호화 할 때 사용하는 암/복호화키를 키 관리 서비스(KMS; Key Management System)를 이용해 안전하게 관리할 수 있습니다. 키관리 시스템 또한 고객사의 시스템을 그대로 이용할 수도 있고, 클라우드 환경 내에서 별도의 키관리 시스템을 이용할 수도 있습니다. 기존 기업 환경의 키 관리 시스템을 연동할 경우 키 관리를 일원화한다는 장점이 있으나 통신 과정 상의 위험은 증가합니다.

 

일반적으로 키 관리 서비스는 데이터 암호화에 주로 사용되므로, DB혹은 비정형데이터 암호화 솔루션의 키 관리 기능을 이용할 수도 있습니다. 또한 키의 생성/저장에 있어 하드웨어 보안 모듈(HSM; Hardware Security Module)을 이용해 외부 공격으로 부터 키를 안전하게 보호할 수 있도록 하기도 합니다.

 

또한, 국내의 경우 데이터 보안의 관점에서 개인정보에 대한 접근을 분석할 수 있는 솔루션을 고려할 수 있습니다. 이는 "개인정보의 안정성 확보조치기준" 등 관련 법령 권고사항을 준수하는 데 사용할 수 있습니다.

 

( 참조: KT Cloud의 DB암호화 솔루션 D'Amo 서비스 Flow)