애플리케이션 보안(AppSec) 제공자는 고객과 협력하여 보안 프로그램을 최적화해야 합니다. 이러한 도움을 통해서 레거시 애플리케이션에서 클라우드 기반의 차세대 애플리케이션에 이르기까지 보안 프로그램을 탑재하는 범위가 넓어지면서 보안이 적용된 애플리케이션 수가 급격히 증가하였습니다.
해커들의 도전
강력한 애플리케이션 보안을 만드는 것은 기술적 문제이며, 동시에 문화적인 절차입니다. 애플리케이션의 보안 결함에 관한 테스트는 단순히 해커의 공격을 막는 것 이상의 의미가 있습니다. 애플리케이션의 보안 취약점으로 인해 데이타 손실 또는 탈취가 일어날 수 있으며, 이는 잠재적으로 이해 관계자의 소송, 광범위한 교정 비용의 필요, 브랜드 평판에 손상을 입히는 등 훨씬 심각한 결과를 초래할 수 있습니다.
이 문제를 더욱 악화시키는 것은 대부분의 회사가 고정된 릴리즈 일정을 따르지 않기 때문에, 고객의 테스트 요구사항이 항상 일관되지 않는다는 사실입니다. 만약 당신의 팀이 애자일 개발환경에서 운영된다면, 조직의 경쟁력을 유지하고 고객의 요구사항을 충족시키기 위해서 짧은 주기로 결과를 만들어 내기 위해 노력할 것이기 때문에 일빌드, 주빌드와 같은 지속적인 기능 릴리즈에 당면할 수 있습니다. 개발자가 오랜된 코드를 재사용한다면, 오래된 코드에 숨어있던 보안 버그와 결함을 그대로 상속받는 것과 다름없습니다. 해커는 당신 조직의 애플리케이션 코드의 보안 취약점을 공격하여 가장 쉬운 공격 방법을 찾습니다. 만약 필요한 애플리케이션의 보안 자원을 확보하지 못한채 고객의 요구사항이 급증한다면, 테스트와 코드 정리를 하기 위해 허둥대거나, 더 나쁜 경우, 이미 릴리즈된 소프트웨어에 대한 패치를 배포하는 자신을 발견할 수 있을 것입니다.
각각의 보안 테스트 도구는 서로 다른 장점을 가지고 있기에, 이러한 도구중 하나 또는 두 가지만을 제한적으로 구현하여 사용한다면, 공격 위험을 증가시킬 수 있는 중요한 문제를 놓치기 쉽습니다. 마찬가지로 테스트 프로세스의 결과를 분석하여 반영하고 확인하는 능력이 없다면, 오탐의 원인을 추적하는 오랜 시간을 허비할 수도 있습니다. 예를 들어, 표준 자동화된 보안 탐지는 애플리케이션의 보호와 비즈니스 관점에서 중요한 기능의 관리 또는 민감한 테이터의 접근 등을 확인할 수 있는 충분한 방법이 아닙니다. 애플리케이션 보안은 새로운 위협, 새로운 공격 및 진화하는 준수 규정에 따라서 끊임없이 변하므로, 개발자는 애플리케이션 전체 생명 주기에 대한 포괄적인 테스트 전략을 수립해야 합니다.
잠재적 손실
소프트웨어가 우리 삶에 더욱 깊이 뿌리내리면서, 소프트웨어가 기능적이고 안전하다는 확신을 가질 수 있어야 한다는 책임을 개발자들에 요구하고 있습니다. 모든 취약점은 애플리케이션의 보안을 손상시키기 위해 악용될 수 있는 애플리케이션 시스템 결함이나 약점을 의미할 수 있습니다. 공격자가 결함이나 애플리케이션의 취약점을 발견하고 그것을 접근하기 위한 방법을 결정한다면, 이는 공격자가 애플리케이션의 취약점을 악용하여 사이버 범죄를 조장할 수 있는 잠재력을 가지고 있다고 할 수 있습니다. 이러한 범죄는 애플리케이션, 개발자 및 사용자가 소유한 리소스의 기밀성, 무결성 또는 가용성을 무력화시키는 것을 목표로 취합니다. 공격자는 일반적으로 애플리케이션의 취약점을 발견하고 이를 공격하기 위해서 특정한 도구나 방법을 사용합니다.
장기적 보안 사이클
애플리케이션의 보안 프로그램을 최적화하는 4가지 방법이 있습니다. (1) 안전한 소프트웨어를 공급하는 문화를 육성하고, (2) 분석에 기대하며, (3) 취약점 스크럼을 통해 개발자와 소통하며, (4) 앱보안을 CI/CD 파이프라인에 통합하는 것입니다. 개발, 보안, 운영 전반에 걸쳐 담당자간 협력을 유지할 수 있도록 조직화되어야 합니다. 이 과정에서 애플리케이션에 대한 가시성, 리드 개발자의 명확한 소유권, 적절한 이슈 전파 프로세스, 사례별로 리스크에 초점을 맞춘 토론 등이 있어야 합니다. 조직은 분석법을 사용하여 미래의 우선순위에 대한 지침을 제공해야 합니다. 다음 단계의 조치 항목은 프로그램의 이익을 위해 각 개발팀에서 사용될 도구와 그들의 노력이 어디에 집중되어야 하는지를 결정하기 전에 안내되어야 합니다. CI/CD 파이프라인은 안전하지 않은 코드가 제품으로 릴리즈되는 것을 방지할 수 있는 새로운 형태의 방화벽이라 할 수 있습니다.
이 4가지 권장 사항을 따르는 조직에서는 앱보안 프로그램이 회사 전체의 취약점 관리 프로그램의 좋은 모델로 확장되는 경향을 보였습니다. 이들은 정적 분석, 동적 분석 및 매뉴얼 침투 테스트 등의 개선 활동을 통해 기존의 공개된 결함의 수를 급격히 감소시켰습니다. 이 4가지 영역은 조직의 소프트웨어 개발시 참고해야 하는 애플리케이션 보안 파트를 구현하기 위한 좋은 지침으로 활용됩니다.