2018.09.19

애플리케이션 보호를 위한 5가지 모범 사례

Banjot Chanana | CSO
애플리케이션은 외부와 내부의 위협에 모두 노출된다. 사이버 공간으로부터의 공격은 계속 증가하고, 상당수 레거시 애플리케이션은 오래 전에 만들어진 탓에 위협 모델도 그 사이 많이 바뀐 상태다.

개발 중 취약한 구성 요소를 사용하는 것이 가장 중요한 우려 사항이 됐다. 예를 들어 자사는 유럽 시민의 데이터를 사용하는가, 웹 애플리케이션에 대한 공격의 주 목적은 데이터 침해에 있다. GDPR이 발효된 상황에서 유럽 시민 데이터가 침해될 경우, 연간 매출의 최대 4%를 벌금으로 내야 한다.

제로데이 공격, AI가 지휘하는 새로운 DDoS 공격, 랜섬웨어의 끝나지 않는 공포와 브랜드 손상 가능성이 난무하는 지금, 시장에서 생존하려면 애플리케이션을 처음 사용하는 순간부터 보호해야 한다.

계층화된 보안이 중요하다는 사실은 모두가 안다. 다크 웹의 수많은 익스플로잇을 상대로 시스템을 보호할 수 있는 하나의 툴은 없기 때문이다. 그러나 모범 사례를 따르면 비즈니스를 위한 핵심 애플리케이션을 보호하기 위한 견고한 전략을 마련할 수 있다.


Credit: Getty Images Bank

1. 애플리케이션을 컨테이너에 패키지하기
애플리케이션 보호를 위한 첫 번째 최선의 방법은 컨테이너 안에 애플리케이션을 대피시키는 것이다. 컨테이너의 본질적인 보안 기능과 기본 구성은 더 강력한 보안 태세를 제공한다. 컨테이너 내에 위치하는 애플리케이션은 이런 보안 태세를 즉각 상속한다.

컨테이너는 애플리케이션을 다른 컨테이너와 호스트 컴퓨터 시스템으로부터 격리하는 일종의 보호 상자다. 이 격리를 통해 감염과 소프트웨어의 악의적인 사용이 완화된다. 컨테이너는 기본 구성에서 seccomp 보안 프로파일과 보안 정책을 함께 사용해 애플리케이션 프로세스를 호스트 및 운영체제로부터 격리한다. 기본 컨테이너 컨트롤을 통해 애플리케이션이 실행되는 환경이 보호된다.

컨테이너는 애플리케이션으로 가는 길목을 지키는 문지기 역할도 한다. 컨테이너는 세부적인 역할 기반 액세스 제어와 읽기 전용 환경을 사용해 사람 또는 다른 리소스의 무단 액세스를 차단한다. 컨테이너는 사이버 보안을 이끄는 제로 트러스트(zero-trust) 보안 모델의 핵심 요소인 최소 권한 원칙을 시행한다. 컨테이너 안에 넣어두면 애플리케이션의 공격 표면이 대폭 줄어든다.

2. 개발자부터 시작
애플리케이션은 개발자의 손에서 시작된다. 따라서 애플리케이션 보안 역시 개발자부터 시작되는 것이 당연하다. 컨테이너 플랫폼은 백그라운드에서 끊김없는 보안을 제공하므로 보안은 상시 존재하나 개발자에게 방해가 되지 않는다.

도커 엔터프라이즈(Docker Enterprise)와 같은 컨테이너 플랫폼은 컨테이너 엔진과 필요한 보안 기능이 포함되어 있으며 개발자가 소스 코드 관리 환경에 코드를 체크인할 때 애플리케이션을 담은 컨테이너 이미지에 서명하고 인증한다. 암호 디지털 서명은 컨테이너의 출처와 신빙성을 확인해 애플리케이션이 변경 또는 감염되지 않았음을 검증한다.

컨테이너 플랫폼에는 개발자 워크플로우를 변경하지 않고도 개발자의 작업과 긴밀하게 연계되는 보안 기능이 있다. 따라서 속도 또는 효율성 저하 없이 개발 프로세스와 애플리케이션의 보안이 향상된다.

3. 취약점 확인
애플리케이션이 안전한지 여부를 확인하는 가장 좋은 방법은 애플리케이션이 실행되는 과정의 모든 단계를 확인하는 자동 프로세스를 두는 것이다. 도커의 컨테이너 플랫폼은 컨테이너에서 취약점을 스캔하고 프로그래밍 리소스 버전을 취약점 데이터베이스의 정보와 비교한다. 취약점 스캔은 개발에서 프로덕션에 이르기까지 애플리케이션의 보안 상태에 대한 더 심층적인 시야와 통찰력을 제공한다. 또한 이미지가 스캔 및 정리되고 나면 유효한 컨테이너를 다음 개발 단계, 최종적으로는 프로덕션까지 신속하게, 자동으로 승격할 수 있다.

이 자동화된 프로세스는 프로세스의 초반에 취약점을 포착하고 새로운 취약점이 발생하는 대로 지속적으로 패치할 수 있는 기반이 된다. 컨테이너 플랫폼은 빠르고 안전한 패치 메커니즘을 실현하므로 개발 프로세스 지연 없이 보안 침해를 물리치고 규정을 준수할 수 있다.

4. 새로운 표준과 보조 맞추기
미국 국립표준기술원(NIST)과 같은 표준 기구는 기업 조직에서 보안 과제 및 업계 규정에 대처하는 데 도움이 되는 견고한 보안 관행을 유지하기 위한 표준 가이드라인을 제공하므로 이를 통해 표준과 애플리케이션 보안 상태 사이의 간극을 찾는 방법을 파악할 수 있다.

컨테이너화 전략은 이 간극을 좁혀 보안 감사를 통과하고 벌금 및 처벌 위험을 피하는 데 도움이 된다. 애플리케이션의 모든 컨트롤을 사용하는 표준 컨테이너 형식이 있으므로 표준을 적용하는 과정의 효율성이 높아진다. NIST 800-53, NIST가 새롭게 제안한 개방형 보안 통제 평가 언어(Open Security Controls Assessment Language: OSCAL) 표준과 같은 다양한 유력 보안 표준을 충족하는 컨테이너에 애플리케이션 보관하면 규정 준수를 위한 비용을 절감할 수 있다.

5. 다계층 접근 방식 도입
컨테이너 생태계의 많은 우수 파트너 업체가 컨테이너의 부가적인 보안 계층과 기능을 실현하기 위한 서드파티 플러그인 및 통합을 제공한다. 이와 같은 생태계 통합 덕분에 다양한 보안 정책을 애플리케이션으로 확장하고 정책을 준수할 수 있으므로 기존 보안 전략의 일부로 생태계 통합의 흡수가 가능하다. 예를 들어 통합을 사용해 이상 컨테이너 행동을 차단하는 런타임 보안 정책을 시행하거나 컨테이너 방화벽을 제공해 컨테이너 간 공격을 완화하거나 컨테이너 이미지 유효성을 검사해 회사 모범 사례를 준수하는지 확인할 수 있다. 도커 생태계의 각 보안 벤더는 전략적인 방어 계층을 제공하여 차후 발생하는 악성 공격을 차단할 수 있다.

컨테이너 플랫폼은 5가지 보안 모범 사례 촉진
컨테이너 플랫폼을 사용하면 애플리케이션을 보호하고 애플리케이션을 안전하게 개발하고 라이프사이클의 처음부터 끝까지 감사 가능한 관리 체인으로 애플리케이션의 무결성을 확인할 수 있다. 통합 보안을 갖춘 컨테이너 플랫폼의 잠재력을 활용하면 개발에서 운영까지의 라이프사이클 속도를 저하시키는 일 없이 즉각 취약점을 찾고 패치함으로써 제품화 시간을 단축할 수 있다.

또한 규정 준수 요건과 보조를 맞춰 컨테이너 개발을 진행해 표준과 산업 및 정부 규정을 준수할 수 있다. 레거시 애플리케이션과 새로운 애플리케이션을 모두 보호하기 위한 방법을 찾는다면 비즈니스 핵심 애플리케이션을 유해한 요소로부터 지키는 최선의 길로 조직을 이끄는 컨테이너 플랫폼을 고려해보기 바란다. editor@itworld.co.kr
 


2018.09.19

애플리케이션 보호를 위한 5가지 모범 사례

Banjot Chanana | CSO
애플리케이션은 외부와 내부의 위협에 모두 노출된다. 사이버 공간으로부터의 공격은 계속 증가하고, 상당수 레거시 애플리케이션은 오래 전에 만들어진 탓에 위협 모델도 그 사이 많이 바뀐 상태다.

개발 중 취약한 구성 요소를 사용하는 것이 가장 중요한 우려 사항이 됐다. 예를 들어 자사는 유럽 시민의 데이터를 사용하는가, 웹 애플리케이션에 대한 공격의 주 목적은 데이터 침해에 있다. GDPR이 발효된 상황에서 유럽 시민 데이터가 침해될 경우, 연간 매출의 최대 4%를 벌금으로 내야 한다.

제로데이 공격, AI가 지휘하는 새로운 DDoS 공격, 랜섬웨어의 끝나지 않는 공포와 브랜드 손상 가능성이 난무하는 지금, 시장에서 생존하려면 애플리케이션을 처음 사용하는 순간부터 보호해야 한다.

계층화된 보안이 중요하다는 사실은 모두가 안다. 다크 웹의 수많은 익스플로잇을 상대로 시스템을 보호할 수 있는 하나의 툴은 없기 때문이다. 그러나 모범 사례를 따르면 비즈니스를 위한 핵심 애플리케이션을 보호하기 위한 견고한 전략을 마련할 수 있다.


Credit: Getty Images Bank

1. 애플리케이션을 컨테이너에 패키지하기
애플리케이션 보호를 위한 첫 번째 최선의 방법은 컨테이너 안에 애플리케이션을 대피시키는 것이다. 컨테이너의 본질적인 보안 기능과 기본 구성은 더 강력한 보안 태세를 제공한다. 컨테이너 내에 위치하는 애플리케이션은 이런 보안 태세를 즉각 상속한다.

컨테이너는 애플리케이션을 다른 컨테이너와 호스트 컴퓨터 시스템으로부터 격리하는 일종의 보호 상자다. 이 격리를 통해 감염과 소프트웨어의 악의적인 사용이 완화된다. 컨테이너는 기본 구성에서 seccomp 보안 프로파일과 보안 정책을 함께 사용해 애플리케이션 프로세스를 호스트 및 운영체제로부터 격리한다. 기본 컨테이너 컨트롤을 통해 애플리케이션이 실행되는 환경이 보호된다.

컨테이너는 애플리케이션으로 가는 길목을 지키는 문지기 역할도 한다. 컨테이너는 세부적인 역할 기반 액세스 제어와 읽기 전용 환경을 사용해 사람 또는 다른 리소스의 무단 액세스를 차단한다. 컨테이너는 사이버 보안을 이끄는 제로 트러스트(zero-trust) 보안 모델의 핵심 요소인 최소 권한 원칙을 시행한다. 컨테이너 안에 넣어두면 애플리케이션의 공격 표면이 대폭 줄어든다.

2. 개발자부터 시작
애플리케이션은 개발자의 손에서 시작된다. 따라서 애플리케이션 보안 역시 개발자부터 시작되는 것이 당연하다. 컨테이너 플랫폼은 백그라운드에서 끊김없는 보안을 제공하므로 보안은 상시 존재하나 개발자에게 방해가 되지 않는다.

도커 엔터프라이즈(Docker Enterprise)와 같은 컨테이너 플랫폼은 컨테이너 엔진과 필요한 보안 기능이 포함되어 있으며 개발자가 소스 코드 관리 환경에 코드를 체크인할 때 애플리케이션을 담은 컨테이너 이미지에 서명하고 인증한다. 암호 디지털 서명은 컨테이너의 출처와 신빙성을 확인해 애플리케이션이 변경 또는 감염되지 않았음을 검증한다.

컨테이너 플랫폼에는 개발자 워크플로우를 변경하지 않고도 개발자의 작업과 긴밀하게 연계되는 보안 기능이 있다. 따라서 속도 또는 효율성 저하 없이 개발 프로세스와 애플리케이션의 보안이 향상된다.

3. 취약점 확인
애플리케이션이 안전한지 여부를 확인하는 가장 좋은 방법은 애플리케이션이 실행되는 과정의 모든 단계를 확인하는 자동 프로세스를 두는 것이다. 도커의 컨테이너 플랫폼은 컨테이너에서 취약점을 스캔하고 프로그래밍 리소스 버전을 취약점 데이터베이스의 정보와 비교한다. 취약점 스캔은 개발에서 프로덕션에 이르기까지 애플리케이션의 보안 상태에 대한 더 심층적인 시야와 통찰력을 제공한다. 또한 이미지가 스캔 및 정리되고 나면 유효한 컨테이너를 다음 개발 단계, 최종적으로는 프로덕션까지 신속하게, 자동으로 승격할 수 있다.

이 자동화된 프로세스는 프로세스의 초반에 취약점을 포착하고 새로운 취약점이 발생하는 대로 지속적으로 패치할 수 있는 기반이 된다. 컨테이너 플랫폼은 빠르고 안전한 패치 메커니즘을 실현하므로 개발 프로세스 지연 없이 보안 침해를 물리치고 규정을 준수할 수 있다.

4. 새로운 표준과 보조 맞추기
미국 국립표준기술원(NIST)과 같은 표준 기구는 기업 조직에서 보안 과제 및 업계 규정에 대처하는 데 도움이 되는 견고한 보안 관행을 유지하기 위한 표준 가이드라인을 제공하므로 이를 통해 표준과 애플리케이션 보안 상태 사이의 간극을 찾는 방법을 파악할 수 있다.

컨테이너화 전략은 이 간극을 좁혀 보안 감사를 통과하고 벌금 및 처벌 위험을 피하는 데 도움이 된다. 애플리케이션의 모든 컨트롤을 사용하는 표준 컨테이너 형식이 있으므로 표준을 적용하는 과정의 효율성이 높아진다. NIST 800-53, NIST가 새롭게 제안한 개방형 보안 통제 평가 언어(Open Security Controls Assessment Language: OSCAL) 표준과 같은 다양한 유력 보안 표준을 충족하는 컨테이너에 애플리케이션 보관하면 규정 준수를 위한 비용을 절감할 수 있다.

5. 다계층 접근 방식 도입
컨테이너 생태계의 많은 우수 파트너 업체가 컨테이너의 부가적인 보안 계층과 기능을 실현하기 위한 서드파티 플러그인 및 통합을 제공한다. 이와 같은 생태계 통합 덕분에 다양한 보안 정책을 애플리케이션으로 확장하고 정책을 준수할 수 있으므로 기존 보안 전략의 일부로 생태계 통합의 흡수가 가능하다. 예를 들어 통합을 사용해 이상 컨테이너 행동을 차단하는 런타임 보안 정책을 시행하거나 컨테이너 방화벽을 제공해 컨테이너 간 공격을 완화하거나 컨테이너 이미지 유효성을 검사해 회사 모범 사례를 준수하는지 확인할 수 있다. 도커 생태계의 각 보안 벤더는 전략적인 방어 계층을 제공하여 차후 발생하는 악성 공격을 차단할 수 있다.

컨테이너 플랫폼은 5가지 보안 모범 사례 촉진
컨테이너 플랫폼을 사용하면 애플리케이션을 보호하고 애플리케이션을 안전하게 개발하고 라이프사이클의 처음부터 끝까지 감사 가능한 관리 체인으로 애플리케이션의 무결성을 확인할 수 있다. 통합 보안을 갖춘 컨테이너 플랫폼의 잠재력을 활용하면 개발에서 운영까지의 라이프사이클 속도를 저하시키는 일 없이 즉각 취약점을 찾고 패치함으로써 제품화 시간을 단축할 수 있다.

또한 규정 준수 요건과 보조를 맞춰 컨테이너 개발을 진행해 표준과 산업 및 정부 규정을 준수할 수 있다. 레거시 애플리케이션과 새로운 애플리케이션을 모두 보호하기 위한 방법을 찾는다면 비즈니스 핵심 애플리케이션을 유해한 요소로부터 지키는 최선의 길로 조직을 이끄는 컨테이너 플랫폼을 고려해보기 바란다. editor@itworld.co.kr
 


X