블로그

앱의 가용성, 무결성 및 기밀성을 보장하는 방법

요약

24시간 내내 가동되는 애플리케이션은 인터넷이 등장한 이래로 그 어느 때보다 위협에 지속적으로 노출된다는 것을 의미합니다. 자체 애플리케이션을 개발하는 회사의 경우, 프로그래머는 종단 간 보안 소프트웨어 개발 수명 주기(SDLC)의 일부로 소프트웨어를 제작해야 합니다. 즉, 소프트웨어의 공격 표면을 줄이고, 취약점을 제거하고, 개발자들이 더 안전하게 설계하고 프로그래밍하도록 교육하는 데 중점을 두는 것을 의미합니다. 앱의 가용성, 무결성, 기밀성을 보장하는 방법은 다음과 같습니다.

F5 썸네일
F5
2017년 3월 20일 게시

7분 읽다

지난 40년 동안 소프트웨어는 발전했습니다. 메인프레임 시절에는 사용자들이 대규모 다중 사용자 시스템에서 중앙에 저장된 프로그램에 접근했습니다. 그러나 1990년대에는 전형적인 응용 프로그램이 골판지 상자에 밀봉된 플라스틱 디스크 형태로 제공되었으며 현지에서 설치되고 드물게만 업데이트되었습니다.

어떤 면에서 우리는 원점으로 돌아왔습니다. 애플리케이션은 다시 네트워크를 통해 제공되는 경우가 늘어나고 있으며, 애플리케이션 개발자들은 운영 역할에 점점 더 많이 참여하고 직접 개발한 앱을 보호하고 있습니다. 항상 작동하는 애플리케이션 즉 서비스형 환경에서는 소프트웨어 취약점이 빠르게 악용될 수 있으며, 간단한 DDoS 공격으로도 서비스가 중단될 수 있습니다.

자체 애플리케이션을 개발하는 회사의 경우, 프로그래머는 종단 간 보안 소프트웨어 개발 수명 주기(SDLC)의 일부로 소프트웨어를 제작해야 합니다. 즉, 소프트웨어의 공격 표면을 줄이고, 취약점을 제거하고, 개발자들이 더 안전하게 설계하고 프로그래밍하도록 교육하는 데 중점을 두는 것을 의미합니다.

접근 제어 및 핵심 보안 원칙 적용

동시에, 기업에서는 클라우드 애플리케이션을 안전하게 관리해야 하는 운영 기술로 취급해야 합니다. 클라우드 애플리케이션은 항상 연결되어 있으므로 공격 대상이 되기 쉽기 때문에 취약성을 적시에 식별하여 제거하는 것이 매우 중요합니다. 위협에 앞서 나가기 위해 기업에서는 취약성을 식별하고 분류하고 웹 애플리케이션 방화벽(WAF)을 통해 신속하게 수정을 자동화할 수 있는 취약성 관리 프로세스를 구축해야 합니다. WAF는 개발팀이 코드를 수정하는 동안 공격을 차단하여 회사의 시간을 벌어줄 수 있는 중요한 웹 보안 제어 기능입니다.

앱 보안에 대한 전형적인 취약성 관리 논의 외에 무엇을 고려해야 할까요? 시작점은 올바른 접근 제어를 설정하는 것입니다. AAA(인증, 권한 부여, 회계) 프레임워크는 SSO 및 다중 요소 인증과 같은 기능을 사용하여 기본적으로 강력한 인증을 요구하도록 보장하는 데 중요한 가이드입니다. 또한 최소 3가지 역할(예: 권한이 없는 사용자, 권한이 있는 사용자, 관리자)을 포함하는 강력한 역할 기반 액세스 제어(RBAC)를 기반으로 사용자에게 권한을 부여하면 의도치 않은 사고를 줄이는 데 도움이 됩니다. 그리고 사고가 발생할 경우 이벤트를 적절히 기록해 두면 어떤 계정이 사용되었는지, 어떤 시스템에서 왔는지 등 문제 해결에 필요한 주요 세부 정보를 얻는 데 도움이 됩니다.

항상 온라인 상태인 이 세상에서는 소프트웨어 취약점이 빠르게 악용될 수 있습니다.

AAA 프레임워크와 함께 CIA 보안 원칙(기밀성, 무결성, 가용성)의 관점에서 앱 보안을 살펴보면 회사가 애플리케이션을 보호하고 서비스를 계속 실행하기 위해 취해야 할 추가 단계를 강조할 수 있습니다.

1. 가용성 - 애플리케이션 표시등을 켜두기

근로자가 클라우드 애플리케이션에 점점 더 의존하게 되면서 클라우드 서비스의 가용성은 비즈니스 운영에 매우 중요해졌습니다. 한때 귀찮은 것에 불과했던 DDoS 공격은 이제 기업 운영을 방해하는 데 훨씬 더 큰 방해가 됩니다.

추천사항:

  • 네트워크 가장자리에서 공격을 차단하도록 설계된 DDoS 완화 서비스를 사용하세요. 공격이 발생할 경우, 이러한 시스템은 클라우드 사용량이 급증하여 트래픽에 대한 추가 요금이 발생하지 않으므로 실제로 비용을 절약할 수 있습니다.
  • 변화 관리 프로세스를 구현합니다. 많은 회사가 인프라에 결함이 있는 업데이트를 적용한 뒤 자사 서비스에 중단이 발생했다.
  • WAF 또는 DDoS 보호 어플라이언스를 사용하여 7계층(애플리케이션 수준) 공격을 차단하세요.

2. 무결성 - 앱이 의도한 대로 작동하는지 확인

디지털 문을 열어두는 것이 회사의 첫 번째 과제입니다. 두 번째는 나쁜 놈들을 막는 것입니다. 개발 및 운영팀은 위 AAA에서 설명한 대로 모든 애플리케이션과 데이터에 액세스할 수 있는 안전한 기반을 구축해야 합니다. 또한 의도치 않은 변경으로 인해 앱이 데이터 무결성에 영향을 미치는 방식으로 작동하지 않도록 변경 제어를 관리해야 합니다.

추천사항:

  • WebSafe와 WAF와 같은 도구를 구현하면 악의적인 행위자가 애플리케이션에 악성 데이터를 삽입하는 능력을 제한하여 다양한 위협으로부터 보호하고 손실과 노출을 줄이는 데 도움이 됩니다.
  • 데이터의 완전성을 확인하는 애플리케이션 컨트롤은 업스트림 컨트롤 중 하나가 실패했는지 여부를 모니터링하는 좋은 방법이기도 합니다.
  • 애플리케이션 구성에 대한 자동 테스트를 통해 결함이 있는 변경 사항이 구현된 경우 운영 부서에 신속하게 알림을 보낼 수 있습니다.

3. 기밀성 - 클라우드에서 비밀 유지

데이터 기밀성은 클라우드에서든 데이터 센터의 온프레미스에서든 수집, 전송 및 보관 시 해결해야 합니다. WAF를 포함한 취약점 관리 기능은 애플리케이션 악용으로 인해 앱과 해당 앱에 포함된 데이터의 기밀성이 손상되는 것을 방지하기 위해 마련해야 하는 주요 제어 기능입니다. 요즘에는 사용자와 웹 애플리케이션 서버 간의 통신을 암호화하기 위해 TLS 기술을 사용하지 않을 이유가 없습니다. 클라우드나 사내에 보관된 데이터도 무단 액세스를 방지하기 위해 완전히 암호화해야 합니다.

추천사항:

  • 기본적으로 TLS/SSL을 활성화합니다. 모든 곳에 HTTPS가 적용됩니다!
  • 특히 백엔드 자격 증명 저장소를 포함하여 저장 중인 중요한 데이터를 강력하게 암호화합니다. 단순한 비밀번호 해시는 더 이상 허용되지 않습니다. 최소한 해시와 솔트를 구현하거나 더 강력한 암호화 메커니즘을 구현해야 합니다.
  • 취약점을 포착하고 분류하기 위해 심층적인 취약점 관리 프로그램을 구현합니다. 패치 배포 사이의 취약점을 해결하려면 WAF의 가상 패치 기능을 사용하는 것이 좋습니다.
  • 클라우드 애플리케이션과 인프라를 보호하는 일은 복잡하지만, AAA와 CIA의 관점에서 살펴보면 보안 전문가가 이 분야에 종합적으로 접근하고 전반적인 보안 전략을 지원하는 조치를 취할 수 있습니다.

프레스턴 호그는 시니어입니다. F5 Networks의 보안 마케팅 디렉터. 프레스턴은 F5 랩 애플리케이션 위협 인텔리전스 팀을 감독하는 등 글로벌 보안 캠페인, 홍보, 사고 리더십을 담당합니다. Preston은 복잡한 보안 프로그램 개발, 구현 및 관리, 위험 분석 및 관리 설계, 규제 및 규정 준수 요구 사항을 해결하기 위한 프로그램 구현을 포함하여 정보 보안 분야에서 20년 이상의 경험을 보유하고 있습니다.