KR20180095798A - 애플리케이션들의 보안 및 위험 평가 및 테스팅을 위한 시스템들 및 방법들 - Google Patents

애플리케이션들의 보안 및 위험 평가 및 테스팅을 위한 시스템들 및 방법들 Download PDF

Info

Publication number
KR20180095798A
KR20180095798A KR1020187012954A KR20187012954A KR20180095798A KR 20180095798 A KR20180095798 A KR 20180095798A KR 1020187012954 A KR1020187012954 A KR 1020187012954A KR 20187012954 A KR20187012954 A KR 20187012954A KR 20180095798 A KR20180095798 A KR 20180095798A
Authority
KR
South Korea
Prior art keywords
application
security
information
applications
testing
Prior art date
Application number
KR1020187012954A
Other languages
English (en)
Inventor
앤디 회르네케
제이슨 찬
Original Assignee
넷플릭스, 인크.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 넷플릭스, 인크. filed Critical 넷플릭스, 인크.
Publication of KR20180095798A publication Critical patent/KR20180095798A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0635Risk analysis of enterprise or organisation activities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management

Abstract

본 명세서에서는 복잡한 컴퓨팅 환경에 배치된 애플리케이션들에 의해 야기되는 보안 및 위험을 모니터링하고 평가하기 위한 시스템들 및 방법들이 제공된다. 예시적인 애플리케이션 보안 시스템은 저장 시스템들과 통신하는 처리 장치를 갖는 서버, 네트워크를 통해 정보를 수신하고 송신하도록 구성된 애플리케이션 인스턴스들을 실행하는 컴퓨팅 장치들, 및 애플리케이션 인스턴스들 중 하나 이상과 관련된 제1 애플리케이션과 관련된 제1 테스트 모듈을 포함하는 보안 테스팅 시스템을 포함한다. 서버의 처리 장치는 제1 애플리케이션의 현재 의존성 정보를 포함하는 제1 애플리케이션에 관한 정보를 검색하고, 정보에 기초하여 제1 애플리케이션에 대한 보안 위험 스코어를 계산하고, 제1 애플리케이션과 관련된 보안 우선순위 레벨을 결정하고, 애플리케이션 보안 정보의 데이터베이스에서 제1 애플리케이션의 보안 우선순위 레벨을 제1 애플리케이션과 관련시킨다.

Description

애플리케이션들의 보안 및 위험 평가 및 테스팅을 위한 시스템들 및 방법들
본 개시는 일반적으로 컴퓨팅 환경에 배치된 애플리케이션들의 보안 평가 및 테스팅에 관한 것이다.
점차적으로, 정보는 다양한 서비스들을 제공하기 위해 함께 동작하는 컴퓨팅 장치들의 어레이에 걸쳐 저장되고 액세스된다. 예를 들어, 이메일 사용자는 클라이언트 컴퓨팅 장치를 사용하여, 이메일 서비스 제공자의 네트워크의 에지에 구성된 인증 서버와 통신할 수 있다. 이메일 사용자는 이메일 저장 서버로부터 이메일에 액세스할 수 있으며, 이러한 3개의 장치는 함께 통신하여 외관상 간단한 인터넷 기반 서비스를 제공한다.
서비스 제공자 네트워크들은 미디어 액세스, 통신 플랫폼들, 뱅킹 및 상거래 등을 위한 그러한 네트워크들에 대한 의존 및 사용의 증가와 더불어 증가했다. 서비스 제공자 네트워크들의 복잡성은 네트워크 내부 및 네트워크 에지에 있는 많은 상이한 장치에서 실행되는 많은 상이한 애플리케이션을 포함할 수 있으며, 서비스 제공자의 물리적으로 제어되는 네트워크의 외부에서 동작하는 장치들을 포함할 수 있다.
이러한 네트워크들의 크기 및 복잡성의 증가 및 거기서 실행되는 애플리케이션들의 수의 증가는 이러한 환경들의 보안을 유지하기 위한 노력을 복잡하게 만들었다. 그리고 소비자들 및 기업들이 인터넷을 통해 어디에서나 액세스할 수 있는 그러한 네트워크들에 점점 더 의존하기 시작함에 따라, 그러한 소비자들 및 기업들은 점점 더 많은 양의 민감한 정보를 교환한다. 서비스 제공자 네트워크들의 보안을 향상시키기 위해 많은 상이한 기술이 개발되었지만, 이러한 기술들은 완전히 만족스럽지는 않은 것으로 밝혀졌다.
도 1은 본 개시의 일부 실시예들에 따른, 애플리케이션 보안 서버를 포함하는 애플리케이션 보안 시스템의 블록도이다.
도 2는 본 개시의 일부 실시예들에 따른, 도 1의 애플리케이션 보안 서버로서 사용될 수 있는 컴퓨팅 장치의 블록도이다.
도 3, 4 및 5는 본 개시의 일부 실시예들에 따른, 도 1의 애플리케이션 보안 서버와 관련하여 제공될 수 있는 예시적인 사용자 인터페이스이다.
도 6은 본 개시의 일부 실시예들에 따른, 서비스 제공자 네트워크에 배치된 애플리케이션들을 평가, 카테고리화 및 테스팅하는 방법을 도시하는 흐름도이다.
도 7은 본 개시의 일부 실시예들에 따른, 서비스 제공자 네트워크에 배치된 애플리케이션들을 평가, 카테고리화 및 테스팅하는 다른 방법을 도시하는 흐름도이다.
이들 도면은 다음의 상세한 설명을 참조하여 이 분야의 통상의 기술자에 의해 더 잘 이해될 것이다.
이 섹션에서는 위에서 간략하게 설명된 도면들을 참조하여 본 개시에 따른 시스템들 및 방법들의 예시적인 응용들이 설명된다. 이들 예는 본 발명의 상황을 추가하고 본 발명의 이해를 돕기 위해 제공된다. 따라서, 본 발명은 이러한 특정 상세들의 일부 또는 전부 없이도 실시될 수 있음은 이 분야의 기술자에게 명백할 것이다. 다른 예들에서는, 본 개시를 불필요하게 모호하게 하는 것을 피하기 위해 일부 잘 알려진 프로세스 단계들은 특정하게 상세히 설명되지 않았다. 또한, 본 명세서에서 설명되는 개념들 및 원리들의 다른 응용들이 가능하며, 따라서 다음의 예들은 제한적인 것으로 간주되지 않아야 한다. 예를 들어, 본 명세서에서 개시되는 많은 예는 스트리밍 비디오 서비스의 상황에서의 애플리케이션들의 평가, 카테고리화 및 테스팅에 관한 것이지만, 설명되는 원리들 및 개념들은 더 일반적으로는 많은 수의 애플리케이션들 및 서비스 제공자 네트워크의 안전한 관리 및 유지를 제공하기 위해 적용될 수 있다.
다음의 상세한 설명에서는, 설명의 일부를 형성하고, 본 개시의 일부 특정 실시예들을 예시적으로 도시하는 첨부 도면들이 참조된다. 이들 실시예는 이 분야의 기술자가 본 발명을 실시할 수 있도록 충분히 상세하게 설명되지만, 이들 실시예는 제한적이지 않으며, 따라서 다른 실시예들이 사용될 수 있고, 본 발명의 사상 및 범위를 벗어나지 않고 변경들이 이루어질 수 있음을 이해한다. 예를 들어, 본 개시의 범위 내의 변경들은 상이한 시스템 또는 장치 상에서, 상이한 순서로, 기타 등등으로 동작을 수행하는 것을 포함할 수 있다.
컴퓨팅 환경 내에서 동작하는 많은 수의 애플리케이션들과 관련된 보안 위험들을 평가하고 카테고리화하기 위한 장치들, 시스템들 및 방법들이 제공된다. 컴퓨팅 환경은 서비스 제공자 네트워크일 수 있으며, 그의 실시예들은 내부 네트워크 환경 및 외부 네트워크 환경, 예를 들어 서비스 제공자를 대신하여 제삼자에 의해 운영되는 클라우드 컴퓨팅 기반구조 상의 계정을 포함할 수 있다. 고객들에게 서비스들을 제공하기 위해, 서비스 제공자의 네트워크는 서비스 제공자에 의해 제공되는 하나 이상의 상이한 서비스의 많은 상이한 부분을 제공하기 위해 함께 협력하는 많은 상이한 애플리케이션을 포함할 수 있다. 예를 들어, 서비스 제공자는 고객들에게 스트리밍 미디어 서비스들을 제공하기 위해 서비스 제공자 네트워크를 운영할 수 있다. 그러한 스트리밍 미디어 서비스들을 그의 고객들에게 제공함에 있어서, 서비스 제공자는 서비스 제공자 네트워크에 포함된 통합 컴퓨팅 환경으로서 고객에게 제시되는 스트리밍 미디어 서비스로서 서비스 지향 아키텍처에서 함께 번들링되는 권고 애플리케이션들, 인터페이스 애플리케이션들, 스트리밍 미디어 애플리케이션들, 청구 및 결제 애플리케이션들 및 기타 애플리케이션들을 가질 수 있다. 서비스 지향 아키텍처를 갖는 대규모 서비스 제공자 네트워크에서, 이러한 애플리케이션들은 족히 수천 또는 수만 개에 달할 수 있다.
각각의 애플리케이션은 보안 위험에 대한 가능성을 야기한다. 그러나 일부 애플리케이션들은 다른 애플리케이션들보다 더 큰 보안 위험을 야기할 수 있다. 예를 들어, 애플리케이션이 서비스 제공자의 서비스들의 사용자들의 신용 카드 번호들 및 주소들에 대한 액세스를 갖는 경우, 서비스 제공자는 데이터 침해가 발생할 경우에는 법적인 처벌을 받는 것은 물론, 그의 고객들 측의 선의의 손실을 유발할 수 있다. 이와 달리, 애플리케이션 침해가 사용자의 이메일 주소만을 손상시키는 경우, 사용자에게 불리할 가능성은 훨씬 더 적다. 또한, 일부 애플리케이션들은 다른 애플리케이션들에 의해 자주 의존될 수 있다. 이러한 애플리케이션과 관련된 공격은 많은 다른 의존되는 애플리케이션들을 잠재적으로 손상시킬 수 있으며, 애플리케이션들 간의 의존성 또는 종속성으로 인해 다운타임 또는 가용성 악화를 잠재적으로 초래할 수 있다. 결과적으로, 애플리케이션은 그가 통신하거나 의존하는 애플리케이션들에 기초하는 보안 위험을 야기할 수 있다. 또한, 일부 애플리케이션들은 서비스 제공자 네트워크 내에서 다른 애플리케이션들보다 더 여러 번 인스턴스화될 수 있다. 주어진 애플리케이션의 더 많은 인스턴스가 존재할 때, 그 애플리케이션과 관련된 공격은 더 큰 보안 위협을 야기할 수 있다.
본 개시의 실시예들은 애플리케이션 보안 정보, 즉 애플리케이션에 의해 제기된 잠재적인 보안 위험들과 관련되거나 그들을 지시하는 정보를 수집하고, 그 애플리케이션과 관련된 보안 위험 스코어 및/또는 보안 레벨을 결정할 수 있다. 서비스 제공자의 전체 시스템 내에서, 특정 애플리케이션과 관련된 보안 위험 스코어는 동적으로 변할 수 있다. 예를 들어, 스트리밍 미디어 서비스들을 위한 저녁과 같이 서비스 제공자 서비스들의 이용이 증가하는 시간 동안, 특정 애플리케이션의 인스턴스들의 수가 상당히 증가할 수 있다. 인스턴스들의 수가 증가함에 따라, 애플리케이션과 관련된 보안 위험, 따라서 보안 위험 스코어가 증가할 수 있다. 다른 예로서, 새로운 특징이 서비스 제공자 시스템의 고객들에게 출시될 때, 새로운 특징을 채택하고 사용하는 사용자들의 수가 증가함에 따라 새로운 특징과 관련된 애플리케이션들은 증가하는 보안 위험들을 제기할 수 있다.
애플리케이션 보안 정보의 추가적인 예들은 애플리케이션들, 보안 그룹들 또는 애플리케이션의 각각의 인스턴스에 적용 가능한 분류들 간의 상호 의존성들, 생성 빌드(build) 및 테스트 빌드와 같이, 특히 다수의 빌드가 동시에 배치되는 개별 배치 인스턴스들과 관련된 또는 애플리케이션과 관련된 빌드 정보를 포함할 수 있다. 예를 들어, 더 큰 또는 더 작은 보안 위험을 제기하기 위해 관리 보안 요원에 의해 더 새로운 빌드 또는 더 오래된 빌드가 결정될 수 있으며, 따라서 더 새로운 빌드 또는 더 오래된 빌드에 대해 계산된 보안 위험 스코어는 더 높거나 더 낮을 수 있다. 애플리케이션 보안 정보의 다른 예들은 애플리케이션의 소유자 또는 개발자, 애플리케이션에 의해 이용되는 포트들, 프로토콜들 및/또는 도메인 이름 시스템(DNS) 이름들의 지시를 포함할 수 있다. 또한, 스코어링될 애플리케이션이 인터넷에 면하는지, 예를 들어 서비스 제공자의 내부 네트워크 환경의 에지에서 동작하는지의 여부는 보안 위험의 유용한 지시자일 수 있다. 일부 실시예들에서, 애플리케이션들은 잠재적 보안 위험을 지시하는 속성들로 수동으로 태깅될 수 있다. 예를 들어, 애플리케이션은 그가 처리하는 데이터의 타입에 기초하여 민감한 것으로서 태깅될 수 있다. 결제 정보를 처리하는 애플리케이션은 애플리케이션 보안 시스템에 의해 판독될 수 있는 태그를 포함하도록 코딩될 수 있다. 소스 코드의 위치 또는 소스 코드 자체로부터 도출된 정보는 주어진 애플리케이션에 대한 보안 위험 스코어를 계산하고 그에 대한 테스트들을 수행하는 동작들에 대한 애플리케이션 보안 정보를 획득하는 것일 수도 있다.
보안 위험 스코어에 기초하여, 서비스 제공자 시스템 내에 존재하는 애플리케이션들은 적합한 보안 테스팅 레짐을 제공하고 수행하기 위해 등급화, 우선순위화 및/또는 카테고리화될 수 있다. 또한, 개별 애플리케이션들에 대해 그들의 보안 위험 스코어들에 기초하여 로깅 요구들, 액세스 제어들 및 다른 제어 및/또는 모니터링 기술들이 요구될 수 있다. 예를 들어, 애플리케이션들의 보안 위험 스코어들은 주어진 실시예에서 0 내지 100의 범위일 수 있으며, 100은 가장 큰 보안 위험을 제기하는 애플리케이션 또는 애플리케이션들과 관련된 최고 스코어이다. 일부 실시예들에서, 본 명세서에서 설명되는 바와 같이, 애플리케이션 보안 시스템은 80을 초과하는 스코어를 갖는 모든 애플리케이션들이 자동화된 보안 테스트들 또는 보안 테스트 모듈들의 제1 테스팅 레짐의 대상이어야 하고, 80 이하이지만 60을 초과하는 스코어를 갖는 모든 애플리케이션들이 자동화된 테스트들의 제2 테스팅 레짐의 대상이어야 한다는 것을 지시할 수 있다. 보안 테스트들의 제1 레짐은 자동화된 테스트들의 제2 레짐보다 더 많은 테스트 또는 더 엄격한 테스트들을 포함할 수 있다. 다른 실시예에서, 60을 초과하는 스코어를 갖는 모든 애플리케이션들은 관리 보안 요원에 의한 침투 테스팅과 같은 수동 보안 테스팅을 위한 리스트 상에 플래깅되거나 포함될 수 있는 반면; 60 이하이지만 50을 초과하는 스코어를 갖는 모든 애플리케이션들은 2주마다 제1 보안 테스트의 대상이 될 수 있으며, 50 이하이지만 40을 초과하는 스코어를 갖는 모든 애플리케이션들은 매월 제1 보안 테스트의 대상이 될 수 있다.
본 개시의 일부 실시예들에서, 보안 테스팅 레짐은 서비스 제공자의 전체 시스템의 일부인 보안 테스팅 시스템과 관련하여 자동으로 구현될 수 있다. 본 개시의 다른 실시예들에서, 특정 보안 테스팅 레짐의 권고들이 사용자 인터페이스를 통해 액세스된 통지 내의 관리 보안 요원에게 제공될 수 있다.
또한, 보안 테스팅 레짐의 준수는 보안 테스팅 시스템으로부터 테스팅 정보를 수신함으로써 결정될 수 있다. 특정 애플리케이션의 경우, 테스팅 정보는 수행된 테스트 또는 테스트들의 타입 및 그러한 테스트들이 수행된 가장 최근의 테스트 시간 또는 날짜를 지시할 수 있다. 일부 실시예들에서, 테스팅 정보는 주어진 애플리케이션과 관련된 보안 위험 스코어를 계산하는 데 사용될 수 있다. 예를 들어, 제1 애플리케이션에 대해 주간 보안 테스트들이 행해지는 경우, 이것은 애플리케이션의 보안 위험 스코어를 낮출 수 있다.
오늘날의 서비스 제공자 네트워크들에 존재할 수 있는 엄청난 수의 애플리케이션들은 보안 평가에 대한 수동 접근을 불가능하게 할 수 있다. 본 명세서에서 설명되는 바와 같이, 보안 평가들은 특정 애플리케이션의 보안의 결정들 및 보안 침해 또는 과실이 발생할 것으로 가정할 때 그러한 애플리케이션에 의해 야기되는 위험의 결정들을 포함할 수 있다. 또한, 애플리케이션과 관련된 보안 레벨과 위험 레벨은 애플리케이션 자체와 관련된 변화들, 다른 관련 애플리케이션들과 관련된 변화들 및 서비스 제공자 네트워크의 사용량 및 특징들의 변화들에 기초하여 빠르게 그리고 갑자기 변동될 수 있다. 본 개시의 실시예들은 일정한 척도에 따른 그러한 애플리케이션들의 보안 및 위험 평가, 카테고리화 및 (수동 및/또는 자동화된 테스트를 포함하는) 테스팅을 용이하게 한다.
이제, 도 1을 참조하면, 도 1에는 서비스 제공자 시스템(100)에 배치된 애플리케이션 보안 시스템의 블록도가 도시되어 있다. 서비스 제공자 시스템(100)은 보안 애플리케이션(104)을 실행하는 애플리케이션 보안 서버(102)를 포함할 수 있다. 애플리케이션 보안 서버(102)는 결합된 데이터베이스 시스템(106)에서 정보를 액세스 및 저장할 수 있다. 일부 실시예들에서, 데이터베이스 시스템(106)은 애플리케이션 보안 서버(102)의 메모리에 존재한다. 서비스 제공자 시스템(100)은 내부 컴퓨팅 환경(108A)을 구성하거나 그에 포함되는 복수의 컴포넌트 및 외부 컴퓨팅 환경(108B)에 포함되는 컴포넌트들을 포함한다. 환경들(108A 및 108B)은 도 1에 점선으로 분리되는 것으로 도시된다.
본 명세서에서 설명되는 바와 같이, 애플리케이션 보안 서버(102)의 실시예들은 하나 이상의 저장 시스템 또는 장치와 통신하는 처리 장치를 포함할 수 있다. 애플리케이션 보안 서버(102)는 복수의 네트워킹된 자원으로부터 정보를 수신하고, 그 정보에 기초하여 복수의 애플리케이션에 대한 보안 위험 스코어를 계산하도록 구성될 수 있다. 예를 들어, 애플리케이션 보안 서버(102)는 캘리포니아, 로스 가토스(Los Gatos, California)의 넷플릭스사(Netflix, Inc.)와 같은 서비스 제공자에 의해 운영될 수 있으며, 이 서비스 제공자는 사용자 계정들을 생성하고, 영화들, 텔레비전 쇼들 및 다른 비디오 기반 및/또는 오디오 기반 프로그래밍과 같은 미디어 콘텐츠를 수신 및 소비하고, 사용자들이 그러한 미디어 콘텐츠에 대해 상호 작용하는 것을 가능하게 하기 위한 시스템들을 운영할 수도 있다.
서비스 제공자 시스템(100)은 클라우드 기반구조(110) 상의 계정을 포함할 수 있다. 도시된 바와 같이, 클라우드 기반구조(110)는 복수의 자원 또는 자원 인스턴스를 포함한다. 이러한 자원들은 물리적 서버들, 저장 장치들 및 네트워킹 장치들일 수 있거나, 가상 서버들, 가상 저장 장치들 및/또는 가상 네트워킹 장치들로서 이해될 수 있다. 애플리케이션 인스턴스들(114A 및 114B)은 각각 자원 인스턴스들(112A 및 112B) 상에서 실행될 수 있다.
설명되는 바와 같이, 도 1은 애플리케이션 보안 서버(102)가 네트워크(120)를 통해 클라우드 기반구조(110)와 통신할 수 있음을 도시한다. 클라우드 기반구조(110)는 복수의 자원 인스턴스(112A 및 112B) 및 다른 자원 인스턴스들을 제공하도록 구성된 복수의 서버 및 저장 장치를 포함할 수 있다. 예를 들어, 적절한 클라우드 기반구조(110)의 많은 예 중 하나는 아마존 웹 서비스사(AWS)가 제공하는 분산 컴퓨팅, 저장 및 네트워킹 기반구조이거나 이와 유사할 수 있다. 클라우드 기반구조(110)가 AWS인 비제한적인 예로서, 예시적인 자원 인스턴스들(112A 및 112B)은 복수의 아마존 일래스틱 컴퓨트 클라우드(EC2:Amazon Elastic Compute Cloud) 인스턴스, 아마존 관계형 데이터베이스 서비스(RDS) 인스턴스와 같은 복수의 데이터베이스 인스턴스 및 아마존 단순 저장 서비스(S3) 버킷과 같은 저장 인스턴스들에 의해 제공될 수 있으며, 인스턴스들(112A 및 112B) 각각은 복수의 컴퓨팅 및/또는 저장 장치에 의해 제공될 수 있다. 애플리케이션 보안 서버(102)의 운영자는 복수의 애플리케이션을 클라우드 기반구조(110)에 배치할 수 있으며, 따라서 애플리케이션 인스턴스들(114A 및 114B)은 AWS와 같은 제삼자 운영자가 소유하는 하드웨어 상에서 실행될 수 있다. 다른 클라우드 기반구조들을 사용하여 클라우드 기반구조(110)를 제공할 수 있다. 다른 예들은 센추리링크사에 의해 제공되는 클라우드 서비스들인 센추리링크 클라우드, 마이크로소프트사에 의해 제공되는 마이크로소프트 아주르 및 랙스페이스사에 의해 제공되는 서비스들 등을 포함할 수 있다.
일부 실시예들에서, 클라우드 기반구조(110)는 애플리케이션 인스턴스들(114A 및 114B)과 관련된 애플리케이션 보안 정보를 수집할 수 있는 모니터링 서비스(116)를 포함한다. 모니터링 서비스(116)는 하나 이상의 서비스를 서비스 제공자의 고객들에게 제공하기 위해 서비스 제공자에 의해 배치된 애플리케이션들 또는 애플리케이션 인스턴스들을 모니터링하기 위해 서비스 제공자 시스템(100)의 운영자에 의해 배치된 애플리케이션일 수 있다. 일부 실시예들에서, 모니터링 서비스(116)는 2개 이상의 애플리케이션에 의해 제공될 수 있다. 예를 들어, 모니터링 서비스(116)는 넥플릭스사에 의해 생성된 웹 기반 클라우드 관리 및 배치 도구인 ASGARD를 포함할 수 있다. 다른 실시예들은 모니터링 서비스(116)의 다른 구현들을 포함할 수 있다. 모니터링 서비스(116)는 클라우드 기반구조(110) 내에 배치되는 서비스 제공자의 애플리케이션들은 물론, 그러한 애플리케이션들 간의 상호 의존성들을 식별할 수 있다. 예를 들어, 애플리케이션 인스턴스(114A)는 설계된 특정 서비스 또는 서비스들을 제공하기 위해 애플리케이션 인스턴스(114A)에 의해 요구되는 정보에 액세스하기 위해 애플리케이션 인스턴스(114B)에 의존하고 그와 통신할 수 있다. 모니터링 서비스(116)는 애플리케이션 인스턴스(114B)에 대한 애플리케이션 인스턴스(114A)의 의존성을 설명하는 애플리케이션 보안 정보를 수집 및/또는 생성할 수 있다. 모니터링 서비스(116)는 또한 인스턴스들(114A 및 114B)과 관련된 임의의 보안 그룹들 또는 보안 태그들의 식별을 포함할 수 있다.
이들 애플리케이션 인스턴스(114A 및 114B)는 서비스 제공자에 의해 서비스 제공자 시스템(100)의 일부로서 사용되어, 서비스를 수신하기 위해 서비스 제공자 시스템(100)에 액세스하는 고객에게 서비스를 제공할 수 있다. 서비스 제공자에 의해 제공되는 서비스는 스트리밍 미디어 서비스, 다운로드 기반 미디어 서비스 및 이메일 서비스, 메시징 또는 통신 서비스, 뱅킹 서비스 및 전자 상거래 서비스 및/또는 다른 그러한 서비스들일 수 있다. 애플리케이션 인스턴스들(114A 및 114B)은 서비스 제공자의 타입에 따라 보안 그룹과 관련되거나 보안 태그를 가질 수 있다. 고객은 네트워크(120)를 통해 클라우드 기반구조(110) 내에 배치된 애플리케이션 인스턴스들(114A 및 114B)을 포함하는 서비스 제공자 시스템(100)과 상호 작용하기 위해 고객 장치(118)를 사용할 수 있다.
본 명세서에서 설명되는 바와 같이, 도 1에 도시된 애플리케이션 보안 서버(102), 클라우드 기반구조(110) 및 다른 컴포넌트들 및 장치들 간의 데이터 통신들은 LAN, WAN, WWAN, WLAN, 이동 전화 네트워크, 랜드라인 전화 네트워크는 물론, 다른 적절한 네트워크들과 같은 하나 이상의 네트워크를 포함할 수 있는 네트워크(120)를 통해 전송될 수 있다. 네트워크(120)는 서로 결합된 복수의 네트워크를 포함할 수 있다. 도 1에 도시된 바와 같이, 네트워크(120)는 비공개 네트워크를 포함할 수 있으며, 따라서 애플리케이션 보안 서버(102)와 내부 장치들(130)의 집합 간의 통신은 공개적으로 이용 가능한 통신 라인들을 통과하지 않을 수 있거나, 공개적으로 이용 가능한 통신 라인들을 통한 전송을 위해 적절히 암호화될 수 있다. 예를 들어, 애플리케이션 보안 서버(102)와 클라우드 기반구조(110) 간의 통신들은 인터넷과 같은 공개 네트워크를 통해 가상 네트워크를 제공하도록 암호화될 수 있다. 고객 장치(118)는 인터넷을 통해 하나 이상의 내부 장치(130) 및/또는 클라우드 기반구조(110)와 통신할 수 있다. 따라서, 도시된 네트워크(120)는 가상 비공개 네트워크들(VPN들)을 포함하는 비공개 네트워크들 및 공개 네트워크 또는 네트워크들을 포함할 수 있다.
서비스 제공자 시스템(100)의 내부 컴퓨팅 환경(108A)에서, 애플리케이션 보안 서버(102)는 네트워크(120)를 통해 내부 장치들(130)의 세트와 통신할 수 있다. 도시된 바와 같이, 이러한 내부 장치들(130)은 저장 장치들(132), 네트워킹 장치들(134) 및 컴퓨팅 장치들(136)을 포함할 수 있다. 저장 장치들(132)은 하드 드라이브들, RAID 구성들, 저장 영역 네트워크들(SAN들) 및/또는 다른 시스템들과 같은 하나 이상의 저장 장치일 수 있다. 저장 장치들(132)은 서비스 제공자 시스템(100) 내에, 클라우드 기반구조(110)의 내부 장치들(130) 및/또는 자원 인스턴스들(112A 및 112B) 상에 배치된 애플리케이션들의 전부 또는 일부에 대한 소스 코드를 포함하는 소스 코드 저장소(133)를 포함할 수 있다. 저장 장치들(132)은 또한 본 명세서에서 설명되는 바와 같은 다양한 다른 소스들로부터 획득될 수 있는 애플리케이션 보안 정보를 포함할 수 있다. 네트워킹 장치들(134)은 저장 장치들(132), 컴퓨팅 장치들(136) 사이의 그리고 네트워크(120)를 통한 다른 장치들과의 통신을 허용하는 스위치들, 라우터들 및 다른 네트워킹 장치들을 포함할 수 있다.
컴퓨팅 장치들(136)은 예시적인 애플리케이션 인스턴스들(138A, 138B 및 138C)로 도시된 복수의 애플리케이션 인스턴스를 실행하는 서버들의 클러스터 또는 클러스터들과 같은 복수의 서버일 수 있다. 예시적인 서버들은 예를 들어 MICROSOFT® OS, UNIX® OS, LINUX® OS 또는 다른 적절한 서버 기반 운영 체제와 같은 서버 운영 체제(OS)을 운영하는 독립형 및 기업-클래스 서버들을 포함할 수 있다. 애플리케이션 보안 서버(102)는 그러한 예시적인 서버들에 의해 제공될 수 있다는 것도 이해해야 한다.
내부 장치들(130)은 거기서 동작하는 복수의 서비스를 포함할 수 있다. 예를 들어, 내부 웹 서비스 프레임워크가 서비스 제공자 시스템(100)에 포함될 수 있으며, 따라서 애플리케이션 인스턴스들(138A, 138B 및 138C)이 로딩될 때, 인스턴스들(138A-C)은 JAVATM 아카이브 파일들, 또는 자들(jars), 프로세스 동안 로딩된 다른 파일들에 기초하여 의존성 정보를 생성할 수 있다. 예를 들어, 내부 웹 서비스 프레임워크는 내부 장치들(130) 사이에서 동작하는 애플리케이션들의 의존성들의 맵핑을 생성하는 데 사용될 수 있는 넷플릭스 내부 웹 서비스 프레임워크(NIWS)일 수 있다. 일부 예들에서, 제1 애플리케이션은 제1 애플리케이션이 동작 동안 실제로 통신하지 않는 제2 애플리케이션에 대한 의존성을 나타내는 파일들을 로딩할 수 있다. 따라서, 의존성 맵핑의 일부 실시예들은 임의의 주어진 애플리케이션의 그의 인스턴스에 대한 실제 의존성들을 과잉 표현할 수 있다. 일부 실시예들에서, 실제 의존성 정보는 통신된 패킷들과 관련된 이더넷 또는 인터넷 프로토콜(IP) 헤더들을 스크랩하여 내부 장치들(130) 간의 통신들을 모니터링함으로써 제공될 수 있다. 이어서, 패킷 헤더들로부터 스크랩된 정보는 내부 장치들(130) 상에 배치된 애플리케이션들의 실제 의존성 맵핑을 생성하는 데 사용될 수 있다. 맵핑은 서비스 제공자 시스템(100) 내에서 실행되는 인스턴스들을 갖는 애플리케이션들의 리스트를 생성하는 데 사용될 수 있다.
서비스 제공자 시스템(100)은 자동화된 보안 테스팅 시스템(140)을 더 포함할 수 있다. 자동화된 테스팅 시스템(140)은 서비스 제공자 시스템(100) 내에 존재하는 애플리케이션들에 대해 복수의 보안 테스트를 수행하도록 구성된 도구일 수 있다. 자동화된 테스팅 시스템(140)은 예시적인 테스트 모듈(142)과 같은 하나 이상의 테스트 모듈에 대한 플러그인 인터페이스를 제공할 수 있다. 예를 들어, 테스트 모듈(142)은 OWASP 제드 어택 프록시(ZAP) 웹 애플리케이션 스캐너, Nmap 보안 스캐너, Nessus 스캐너 또는 다른 보안 도구와 같은 테스트 애플리케이션 또는 테스트 도구일 수 있다.
자동화된 테스팅 시스템(140)은 테스트 모듈(142)과 같은 하나 이상의 테스트 모듈을 이용하여, 서비스 제공자 시스템(100) 내에 배치된 하나 이상의 애플리케이션의 보안 테스트를 수행하도록 구성될 수 있다. 보안 테스트는 단일 테스트 모듈에 의해 또는 일부 실시예들에서는 하나의 테스트 모듈의 출력이 다른 테스트 모듈에 대한 입력을 제공하는 복수의 테스트 모듈에 의해 수행될 수 있다. 자동화된 테스팅 시스템(140)에 의해 이용되는 테스트 모듈들은 여러 타입의 취약점들을 스캔할 수 있다. 자동화된 테스팅 시스템(140)은 복수의 애플리케이션 각각과 관련된 테스팅 레짐을 포함할 수 있다. 예를 들어, 제1 애플리케이션에 대해, 자동화된 테스팅 시스템(140)은 매월 특정 시간 또는 매주 특정 시간과 같이 특정 스케줄로 실행될 특정 테스트 모듈을 호출하는 테스팅 레짐을 가질 수 있다. 자동화된 테스팅 시스템(140)은 서비스 제공자 시스템(100) 내에 배치된 하나 이상의 애플리케이션과 관련된 테스팅 레짐들의 형태로 애플리케이션 보안 정보를 애플리케이션 보안 서버(102)에 제공하도록 구성될 수 있다.
또한, 애플리케이션 보안 서버(102)는 자동화된 테스팅 시스템(140)이 특정 애플리케이션에 대한 테스팅 레짐을 생성, 수정 또는 삭제하게 하도록 구성될 수 있다. 예를 들어, 애플리케이션 보안 서버(102)는 제1 애플리케이션과 관련된 애플리케이션 보안 정보를 수신하고, 애플리케이션 보안 정보에 기초하여 제1 애플리케이션에 대한 보안 위험 스코어를 생성할 수 있다. 애플리케이션 보안 서버(102)는 제1 애플리케이션의 보안 위험 스코어를 갖는 애플리케이션이 제1 애플리케이션의 테스팅 레짐에 포함하기 위한 추가적인 테스트 모듈을 요구할 수 있다고 결정할 수 있다. 따라서, 애플리케이션 보안 서버(102)는 자동화된 테스팅 시스템(140)이 적합한 테스팅 레짐을 수정하거나 생성하게 할 수 있다.
일반적으로, 애플리케이션 보안 서버(102)에 의해 보안 위험 스코어를 생성하는 데 사용될 수 있는 애플리케이션 보안 정보는 제1 애플리케이션의 배치된 인스턴스들의 카운트(배치된 인스턴스들은 내부 컴퓨팅 환경(108A) 내의 애플리케이션 인스턴스들(138A-C) 및/또는 외부 컴퓨팅 환경(108B)의 클라우드 기반구조(110))의 애플리케이션 인스턴스들(114A-B)일 수 있음), 애플리케이션 또는 애플리케이션의 인스턴스들이 통신하는 애플리케이션들의 카운트, 제1 애플리케이션의 의존성 정보(제1 애플리케이션에 의존하는 애플리케이션들은 물론, 제1 애플리케이션이 적절한 기능에 필요한 정보 또는 서비스들을 위해 의존하는 애플리케이션들을 포함할 수 있음)를 포함한다. 일부 실시예들에서, 애플리케이션 보안 정보는 제1 애플리케이션이 민감한 정보를 포함하거나 그에 대한 액세스를 갖거나 인터넷에 노출되거나 액세스 가능하여 나쁜 행위자들이 제1 애플리케이션에 더 쉽게 액세스하는 것을 허용할 수 있음을 지시하는 태그와 같이, 제1 애플리케이션과 관련된 태그의 존재 및 식별일 수 있다. 애플리케이션 정보는 제1 애플리케이션이 서비스 제공자 시스템(100)의 토폴로지에서 어디에 위치하는지에 대한 지시를 포함할 수 있다. 추가적인 애플리케이션 정보는 제1 애플리케이션과 관련된 IP 주소 또는 주소들 및 애플리케이션 인스턴스가 배치되는 클라우드 기반구조(110)의 영역을 포함할 수 있다. 일반적으로, 애플리케이션이 더 크거나 더 작은 보안 위험을 야기한다는 것을 지시할 수 있는 임의의 정보는 애플리케이션 보안 서버(102)에 의해 애플리케이션 보안 정보로서 사용되어 애플리케이션에 대한 보안 위험 스코어를 결정할 수 있다.
애플리케이션 보안 서버(102) 및 거기서 실행되는 보안 애플리케이션(104)의 관리 보안 요원 또는 다른 사용자들은 클라이언트 장치(150)를 사용하여 애플리케이션 보안 서버(102)에 접속할 수 있다. 클라이언트 장치는 본 명세서에서 설명되는 바와 같은 서버들과 유사한 컴퓨팅 장치일 수 있다. 클라이언트 장치(150)는 설명되는 실시예들에 따른 컴퓨팅 및/또는 통신 능력들을 갖는 퍼스널 컴퓨터들, 랩탑들, 이동 컴퓨팅 장치들, 예로서 태블릿 컴퓨터들 또는 스마트폰들, 웨어러블 컴퓨팅 장치들 및/또는 임의의 다른 컴퓨팅 장치들과 같은 컴퓨팅 장치들일 수 있다. 클라이언트 장치(150)는 데이터 저장 장치 또는 메모리와 통신하는 처리 장치를 포함하고, 다양한 컴퓨팅 및/또는 통신 동작들을 수행하기 위해 시스템 프로그램들 및 애플리케이션 프로그램들에 대응하는 명령어들을 실행한다. 예시적인 시스템 프로그램들은 운영 체제(예로서, iOS®, Android® OS, Linux® OS, Firefox OSTM, Windows®, OS X®, BREW(Binary Run-Time Environment for Wireless) OS, JavaOS, WAP(Wireless Application Protocol) OS 등), 장치 드라이버들, 프로그래밍 도구들, 유틸리티 프로그램들, 소프트웨어 라이브러리들, API들 등을 포함할 수 있지만, 이에 한정되지 않는다. 도 1에 도시된 바와 같이, 클라이언트 장치(150)는 소프트웨어를 실행하여 인터페이스(152)를 제공한다. 일부 실시예들에서, 인터페이스(152)는 클라이언트 장치(150) 상에서 실행되는 Internet Explorer®, Chrome® 등과 같은 웹 브라우징 프로그램과 관련하여 제공될 수 있다. 클라이언트 장치(150)는 네트워크(120)를 통해 애플리케이션 보안 서버(102), 및 하나 이상의 내부 장치(130) 및/또는 클라우드 기반구조(110)와 통신할 수 있다.
일부 실시예들에서, 애플리케이션 보안 서버(102)가 70 또는 30과 같은 임계치보다 큰 보안 위험 스코어를 계산할 때, 애플리케이션은 클라이언트 장치(150)에 의해 렌더링되는 바와 같은 인터페이스(152)를 통해 관리 보안 요원에게 통신되는 우선순위 리스트 상에 배치될 수 있다. 도 3은 인터페이스(152)의 일 실시예일 수 있는 사용자 인터페이스(300)를 도시한다. 사용자 인터페이스(300)는 표(302) 안에 제시된 예시적인 애플리케이션 보안 정보의 묘사를 제공한다. 표(302)는 서비스 제공자 시스템(100) 내에서 검출된 애플리케이션들의 식별자들의 리스트, 및 각각의 리스트된 애플리케이션이 어떤 영역들에서 인스턴스화되는지의 지시들을 포함한다. 또한, 표(302)는 애플리케이션의 생성 빌드 및 테스트 빌드 양자와 관련된 인스턴스화 정보를 포함한다. 표(302)에 포함된 정보의 일부는 서비스 제공자 시스템(100) 내에서 인스턴스화된 애플리케이션들을 식별하기 위해 애플리케이션 보안 서버(102)에 제공될 수 있다. 애플리케이션 보안 서버(102)는 식별된 애플리케이션들 각각에 대한 보안 위험 스코어를 생성할 수 있다. 사용자 인터페이스(300)는 관리 보안 요원과 같은 사용자 인터페이스의 사용자가 적어도 이름, 보안 위험 스코어 및 카테고리에 의해 표(302)를 분류할 수 있게 하는 사용자 인터페이스 요소들을 포함한다. 분류된 정보는 자동화된 테스팅 시스템(140)과 같은 다른 장치로 전달될 수 있다.
인터페이스(152)의 추가 실시예들은 각각 도 4 및 5의 사용자 인터페이스들(400 및 500)로서 도시된다. 사용자 인터페이스(300)와 마찬가지로, 사용자 인터페이스들(400 및 500)은 서비스 제공자 시스템(100)에서 인스턴스화된 애플리케이션들을 평가, 스케줄링 및 직접 테스팅하기 위해 애플리케이션 서버(102)와 상호 작용할 때 클라이언트 장치의 디스플레이의 사용자에게 제시될 수 있다. 사용자 인터페이스(400)는 단일 애플리케이션의 영역 인스턴스화들과 관련된 보안 위험 스코어들의 묘사를 포함한다. 사용자 인터페이스(400)는 도 2의 애플리케이션 보안 정보(222)에 포함될 수 있는 애플리케이션 보안 메트릭들(404)의 리스트에 기초하는 보안 위험 스코어 인자들을 포함하는 표(402)를 포함한다. 도시된 바와 같이, 애플리케이션 보안 메트릭들(404)은 종속 애플리케이션들, 내부 컴퓨팅 환경(108A)의 에지에서의 위치, 인스턴스들의 수, 애플리케이션이 민감한 서비스를 사용하는지의 여부, 및 애플리케이션이 민감한지의 여부를 포함한다. 표(402)는, 일부 실시예들에서, 애플리케이션이 인스턴스화되는 모든 영역과 관련된 보안 위험 스코어들을 애플리케이션이 가질 수 있음을 보여준다. 이 정보는 애플리케이션의 생성 빌드 및 애플리케이션의 테스트 빌드 양자에 대해 제공된다. 예를 들어, (식별자 406으로 식별되는) 제1 미국 동부 영역에서, 애플리케이션의 생성 빌드는 60의 보안 위험 스코어를 갖는데, 그 이유는 많은 수의 종속 애플리케이션(443), 적은 수의 인스턴스(12) 및 민감한 서비스들의 제한된 사용(1)이 존재하기 때문이다. 인스턴스화는 민감하며, 이 때문에 25 포인트를 받을 수 있다. 표(402)에서 관찰될 수 있는 바와 같이, 애플리케이션의 소정 양태들은 그가 배치되는 영역에 따라 상이할 수 있다.
식별자(406)를 선택함으로써, 제1 미국 동부 영역에 배치된 바와 같은 애플리케이션과 관련된 더 상세한 애플리케이션 보안 정보가 사용자 인터페이스(500)에 제시될 수 있다. 사용자 인터페이스(500)는, 애플리케이션 보안 정보의 각각의 묘사된 카테고리에 대해, 선택된 애플리케이션에 대한 해당 특정 카테고리와 관련된 과거 데이터를 요약하는 그래프(504)를 포함할 수 있는 애플리케이션 보안 정보 윈도우(502)를 포함한다. 과거 데이터는 애플리케이션이 해당 전체 기간 동안 배치되었다는 것을 가정하여 주, 월, 분기 또는 년과 같은 기간에 걸칠 수 있다. 사용자 인터페이스(500)는 선택된 배치 영역에 배치된 바와 같은 애플리케이션의 하나 이상의 인스턴스에 관한 정보를 제공하는 인스턴스 리스트(506)를 더 포함할 수 있다. 애플리케이션과 관련된 하나 이상의 보안 태그를 리스트할 수 있는 정보 윈도우(508)도 포함될 수 있다. 또한, 사용자 인터페이스(500)의 사용자가 사용자 인터페이스(400)로 복귀하지 않고 애플리케이션이 배치된 상이한 영역을 선택할 수 있게 하기 위한 영역 선택기 요소(510)가 포함될 수 있다.
도 3을 다시 참조하면, 사용자 인터페이스(300)는 각각의 애플리케이션과 관련된 스코어 및 카테고리, 계층 또는 우선순위 레벨을 포함한다. 보안 위험 스코어 또는 우선순위 레벨에 의해 표(302) 안의 정보를 분류함으로써, 표(302)에 포함된 정보는 우선순위화된 리스트를 제공할 수 있고, 스코어링된 애플리케이션들의 상위 20%가 우선순위 리스트에 포함될 수 있다. 우선순위 리스트는 또한 자동화된 보안 테스팅 시스템(140)으로 통신될 수 있다. 일부 실시예들에서, 우선순위 리스트에 포함된 애플리케이션들은 관리 보안 요원에 의한 침투 테스팅을 위해 애플리케이션 보안 서버(102)에 의해 스케줄링될 수 있다. 일부 실시예들에서, 우선순위 리스트 내의 애플리케이션들은 자동화된 테스팅 시스템(140)에 의한 테스팅을 위해 애플리케이션 보안 서버(102)에 의해 또한 스케줄링될 수도 있다. 애플리케이션 보안 서버(102)는 그들의 보안 위험 스코어들에 기초하여 애플리케이션들을 분할하거나 카테고리화할 수 있다. 예를 들어, 애플리케이션 보안 서버(102)는 30 이상의 보안 위험 스코어들을 갖는 애플리케이션들을 포함하는 제1 계층, 30보다 작지만 60 이상인 보안 위험 스코어들을 갖는 애플리케이션들을 포함하는 제2 계층, 60보다 작지만 40보다 큰 보안 위험 스코어들을 갖는 애플리케이션들을 포함하는 제3 계층 등과 같은 보안 위험 스코어들의 계층들을 생성할 수 있다. 애플리케이션 보안 서버(102)는 각각의 애플리케이션을 그가 속하는 계층에 기초하여 테스팅 레짐에 자동으로 할당할 수 있다. 예를 들어, 제1 계층은 자동화된 테스팅 시스템(140)에 의한 일상적이고 빈번한(예를 들어, 매주) 자동화된 테스팅과 함께 관리 요원에 의한 보안 테스팅을 위한 수동 침투 테스팅을 위해 스케줄링될 수 있다. 테스팅 시스템(140)에 의한 자동화된 테스팅은 테스트 모듈(142)과 같은 복수의 테스트 모듈을 포함할 수 있다. 제2 계층은 제1 계층의 애플리케이션들보다 낮은 빈도로 그리고 테스팅 시스템(140)에 의한 덜 빈번한 자동화된 테스팅과 함께 관리 요원에 의한 침투 테스팅을 위해 스케줄링될 수 있다. 제3 계층은 관리 보안 요원에 의한 테스팅을 위해 스케줄링되지 않을 수 있지만, 자동화된 테스팅 시스템(140)에 의해 관리되는 테스팅 레짐으로 테스팅될 수 있다. 따라서, 애플리케이션 보안 서버(102)는 각각의 애플리케이션에 대해 또는 그의 카테고리화된 계층에 따라 각각의 애플리케이션에 대해 계산된 보안 위험 스코어에 적절한 테스팅 레짐을 생성할 수 있다.
애플리케이션 보안 서버(102)는 서비스 제공자 시스템(100) 내에서 동작하는 모든 애플리케이션을 식별하고, 모든 애플리케이션에 대한 보안 위험 스코어를 생성 또는 계산할 수 있다. 모든 애플리케이션에 대한 보안 위험 스코어를 계산함으로써, 애플리케이션 보안 서버(102)는 관리 보안 요원이 가장 높은 보안 위험을 야기하는 애플리케이션들에 대해 시간들 및 자원들을 지향시키는 것을 도울 수 있다. 또한, 주어진 애플리케이션에 대한 애플리케이션 보안 정보는 인스턴스들의 수 또는 카운트가 증가 또는 감소하고 의존성들의 수가 증가 또는 감소함에 따라 임의의 주어진 시간에 변할 수 있으므로, 애플리케이션 보안 서버(102)는 적절한 보안 테스팅 레짐들을 동적으로 결정하고, 그들을 구현을 위해 자동화된 테스팅 시스템(140)으로 자동으로 통신할 수 있다.
이제, 도 2를 참조하면, 도 2는 컴퓨팅 장치(200)의 예시적인 실시예를 도시하며, 그의 실시예들은 본 명세서에서 설명되는 바와 같은 도 1의 애플리케이션 보안 서버(102), 클라이언트 장치(150), 또는 도 1에 포함된 다른 컴퓨팅 장치들 중 하나를 제공할 수 있다. 컴퓨팅 장치(200)는 버스(206)를 통해 데이터 저장 장치 또는 메모리(204)와 통신하는 하나 이상의 프로세서 또는 CPU와 같은 적어도 하나의 처리 장치(202)를 포함한다. 버스(206)는 네트워크 인터페이스 장치(208) 및 I/O 장치 인터페이스(210)에 더 결합한다. 네트워크 인터페이스 장치(208)는 컴퓨팅 장치(200)가 도 1의 네트워크(120)를 통해 통신할 수 있게 하는 네트워크 인터페이스 카드 또는 네트워크 인터페이스 컨트롤러(NIC)일 수 있다. I/O 장치 인터페이스(210)는 컴퓨팅 장치(200)가 렌더링될 정보를 디스플레이(212)로 통신하여 데이터 및 명령 옵션들과 같은 정보를 그와 관련된 하나 이상의 그래픽 사용자 인터페이스에 표시할 수 있게 한다. I/O 장치 인터페이스(210)는 적외선 또는 무선 주파수 원격 제어들, 키보드들, 마우스들, 터치 스크린들 등과 같은 I/O 장치들과 더 통신할 수 있다. 일부 실시예들에서, I/O 장치 인터페이스(210)는 도 1의 다른 시스템들이 컴퓨팅 장치(200)와 통신할 수 있게 하는 애플리케이션 프로그래밍 인터페이스(API)일 수 있다. 컴퓨팅 장치(200)의 일부 실시예들은 일부 컴포넌트들을 포함하지 않을 수 있다. 예를 들어, 서버는 I/O 장치(210) 또는 디스플레이(212)를 포함하지 않을 수 있다.
처리 장치(202)는 메모리(204)에 저장된 소프트웨어 및/또는 다른 명령어들(203)을 실행할 수 있다. 메모리(204)에 저장된 소프트웨어 및 정보, 및 명령어들(203)은 컴퓨팅 장치(200)가 애플리케이션 보안 서버(102), 내부 장치들(130), 테스팅 시스템(140), 클라이언트 장치(150), 고객 장치(118)로서 또는 클라우드 기반구조(110) 하부의 서버로서 구성되는지에 따라 상이할 수 있다. 또한, 컴퓨팅 장치(200)는 일부 실시예들에서 클라우드 기반구조(110) 내에 구성된 자원 인스턴스와 같은 가상 컴퓨팅 장치일 수 있다. 도 1의 보안 애플리케이션(104)은 처리 장치(202) 상에서 명령어들(203)을 실행함으로써 제공될 수 있다.
도 2에 도시된 바와 같이, 메모리(204)는 보안 애플리케이션(220) 및 애플리케이션 보안 정보(222)를 저장한다. 메모리(204)는 컴퓨팅 장치의 하우징에 포함되거나 컴퓨팅 장치(200)에 결합되고 그와 통신하는 상이한 타입들의 메모리들의 집합일 수 있다. 예를 들어, 메모리(204)는 캐시 메모리, RAM, ROM, 플래시 메모리, 고체 상태 하드 드라이브, 디스크 기반 하드 드라이브 및/또는 다른 타입들의 비일시적 메모리 장치들을 포함할 수 있다. 메모리(204) 상에 저장된 것으로 묘사된 컴포넌트들은 이들 상이한 타입의 메모리들의 임의의 조합에 저장되고/되거나 그로부터 액세스될 수 있다.
보안 애플리케이션(220)은 도 1의 서비스 제공자 시스템(100) 내에 배치된 복수의 애플리케이션에 대한 보안 위험 스코어를 계산하기 위해 보안 애플리케이션(220)의 일부로서 구현될 수 있는 복수의 규칙 및/또는 알고리즘을 이용할 수 있다. 예를 들어, 보안 애플리케이션(220)은, 제1 애플리케이션과 관련된 애플리케이션 보안 정보(222)의 일부로부터, 제1 애플리케이션이 신용 카드 번호들과 같은 민감한 정보에 대한 액세스를 제공하며, 인터넷에 면하거나 노출된다는 것을 결정하도록 구성될 수 있다. 이러한 2개의 애플리케이션 보안 정보(222)에 기초하여, 처리 장치(202)는 명령어들(203)을 실행하여 이들 정보가 75의 보안 위험 스코어를 유발한다고 계산할 수 있다. 예를 들어, 보안 애플리케이션(220)은 애플리케이션이 신용 카드 번호들에 대한 액세스를 제공하므로 애플리케이션의 보안 위험 스코어의 50 포인트가 그의 탓이며, 애플리케이션이 인터넷에 노출되므로 애플리케이션의 보안 위험 스코어의 25 포인트가 그의 탓일 수 있다. 보안 위험 스코어 계산의 다른 실시예들은 본 명세서에 설명되는 바와 같이 더 많은 인자 또는 애플리케이션 보안 정보를 포함할 수 있으며, 그러한 계산들을 수행하는 데 더 복잡한 공식을 사용할 수 있다. 또한, 애플리케이션 보안 정보(222)는 이전에 계산된 또는 과거의 보안 위험 스코어들을 포함할 수 있다. 이러한 방식으로, 보안 애플리케이션(220)은 애플리케이션의 보안 위험 스코어에서 관찰된 변화 또는 변화 레이트에 기초하여 보안 위험 스코어를 계산할 수 있다.
일부 실시예들에서, 처리 장치(202)는 계속적으로 또는 규칙적인 스케줄로, 예로서 매일, 매일 2회, 주 1회 또는 다른 스케줄로 보안 애플리케이션(220)을 실행하도록 구성된다. 또한, 보안 애플리케이션(220)은 서비스 제공자 시스템(100)에 배치된 애플리케이션들의 주문형 스캔을 수행하도록 주문시에 실행될 수 있다. 예를 들어, 새로운 보안 공격이 발견되고, 새로운 도구 모듈(142)이 새로운 공격을 테스팅하도록 구성될 때, 주문형 스캔이 수행될 수 있다. 일부 실시예들에서, 관리 보안 요원은 주문형 스캔이 수행되도록 요청하거나 스캔 스케줄을 설정 또는 변경하기 위해 애플리케이션 보안 서버(102)와 관련하여 클라이언트 장치(150)에 의해 제공되는 인터페이스(152)를 사용할 수 있다.
또한, 보안 애플리케이션(220)은 서비스 제공자 시스템(100) 내의 다른 장치들로부터 수신됨에 따라 애플리케이션 보안 정보(222)를 스캔할 수 있다. 보안 애플리케이션(220)이 미리 정의된 임계치들을 초과하는 레이트 변화 또는 카운트를 검출할 때, 보안 애플리케이션(220)은 환경에서 실행되는 모든 애플리케이션들 또는 모든 그러한 애플리케이션들의 서브세트의 스캔을 자동으로 개시할 수 있다. 예를 들어, 보안 애플리케이션(220)은 통상적으로 약 10 인스턴스의 카운트를 갖는 특정 애플리케이션의 인스턴스들의 카운트가 갑자기 약 1000 인스턴스의 카운트를 갖는다는 것을 지시하는 애플리케이션 보안 정보(222)를 수신 및 처리할 수 있다. 특정 애플리케이션의 인스턴스 카운트의 그러한 변화의 검출시, 보안 애플리케이션(220)은 적어도 특정 애플리케이션의 보안 위험 스코어의 재계산을 지시할 수 있다. 또한, 보안 애플리케이션(220)은 통지를 생성하여 관리 보안 요원에게 전송할 수 있다. 통지는 이메일, SMS 메시지, 푸시 통지, 소셜 스트림 포스트 또는 다른 적절한 디지털 통지 포맷으로 통신될 수 있다. 또한, 보안 애플리케이션(220)의 일부 실시예들은 자동화된 테스팅 시스템(140)과 자동으로 통신하여 특정 애플리케이션과 관련된 테스팅 레짐을 수정할 수 있다. 예를 들어, 보안 애플리케이션(220)은 자동화된 테스팅 시스템(140)이 특정 애플리케이션과 관련된 테스팅 레짐을 수정하여 테스트 모듈(142)을 사용하는 즉석 테스트가 수행될 것을 지시하게 할 수 있다.
클라이언트 장치(150)를 제공할 수 있는 컴퓨팅 장치(200)의 실시예들에서, 보안 애플리케이션(220)은 애플리케이션 보안 서버(102)와 통신하도록 구성된 클라이언트 애플리케이션일 수 있다. 컴퓨팅 장치(200)의 다른 실시예들은 애플리케이션 보안 서버(102)를 제공하도록 구성된 컴퓨팅 장치(200)의 다른 실시예들의 보안 애플리케이션(220)과 통신하기 위해 웹 브라우저를 포함하는 클라이언트 장치(150)를 제공할 수 있다.
이제, 도 6을 참조하면, 도 6은 서비스 제공자 시스템에 배치된 애플리케이션들의 보안 평가, 스케줄링 및 테스팅을 수행하기 위한 방법(600)의 흐름도를 도시한다. 도시된 바와 같이, 방법(600)은 여러 개의 열거된 단계들, 블록들 또는 동작들을 포함한다. 방법(600)의 실시예들은 열거된 동작들 전에, 후에, 그들 사이에 또는 그들의 일부로서 추가적인 동작들을 포함할 수 있다. 방법(600)의 실시예들은 하나 이상의 열거된 동작을 생략할 수 있다. 본 개시의 일부 실시예들은 도 2의 메모리(204)와 같은 비일시적 컴퓨터 판독 가능 저장 매체 상에 저장된 도 2의 명령어들(203)과 같은 명령어들을 포함한다. 실행될 때, 명령어들은 컴퓨팅 장치(200)의 처리 장치(202)와 같은 처리 장치가 방법(600)의 실시예들과 관련된 동작들을 수행하게 할 수 있다. 방법(600)의 실시예들은 각각 도 1 및 2의 보안 애플리케이션들(104 및 220)과 같은 애플리케이션의 실행에 의해 수행될 수 있다.
방법(600)의 실시예들은 단계 602에서 시작될 수 있으며, 여기서 하나 이상의 저장 장치와 통신하는 처리 장치가 컴퓨팅 환경에 배치된 애플리케이션들의 리스트를 수신한다. 애플리케이션들의 리스트는 네트워크를 통해 수신될 수 있다. 예를 들어, 도 2의 컴퓨팅 장치(200)의 처리 장치(202)는 도 3의 표(302)에 묘사된 것과 유사한 정보를 포함할 수 있는 애플리케이션들의 리스트를 수신할 수 있다. 애플리케이션들의 리스트는 데이터베이스 시스템(106)에 저장된 데이터베이스와 같은 데이터베이스로서 또는 그로부터 수신될 수 있다. 일부 실시예들에서, 애플리케이션들의 리스트는 내부 컴퓨팅 환경(108A)에 배치된 애플리케이션 인스턴스들 및 서비스 제공자에 의해 또는 그를 위해 운영되는 외부 컴퓨팅 환경(108B)의 일부에 배치된 애플리케이션 인스턴스들을 포함할 수 있는, 서비스 제공자 시스템 내에 배치된 애플리케이션들의 애플리케이션 의존성들의 맵으로서 수신된다. 애플리케이션들의 그의 리스팅을 포함하는 애플리케이션 의존성들의 맵은 각각의 애플리케이션의 인스턴스화 시에 생성되고 교환되는 정보에 의해 생성될 수 있다. 일부 실시예들에서, 애플리케이션들의 리스트 또는 애플리케이션들의 리스트의 일부는 내부 장치들(130)로부터 수신될 수 있고/있거나, 애플리케이션들의 리스트 또는 그 일부는 클라우드 기반구조(110) 내에서 동작하는 모니터링 서비스(116)로부터 수신될 수 있다.
단계 604에서, 처리 장치는 애플리케이션들의 리스트에 포함된 제1 애플리케이션에 대한 보안 위험 스코어를 계산할 수 있다. 예를 들어, 처리 장치(202)는 보안 애플리케이션(220)을 실행하여, 애플리케이션 보안 정보(222)에 포함된 다양한 인자들에 기초하여 제1 애플리케이션에 위험 스코어 포인트들을 할당할 수 있다. 예를 들어, 보안 애플리케이션은 애플리케이션에게 많은 수의 의존성을 갖는 것에 대해 25 포인트를, 민감한 서비스들을 사용하는 것에 대해 10 포인트를 그리고 민감한 서비스인 것에 대해 25 포인트를 줄 수 있다. 따라서, 보안 애플리케이션(220)에 의한 계산시의 결합된 보안 위험 스코어는 60일 것이다.
단계 606에서, 처리 장치는 제1 애플리케이션과 관련된 보안 우선순위 레벨 또는 카테고리를 결정할 수 있으며, 제1 애플리케이션의 보안 우선순위 레벨은 제1 애플리케이션에 대한 보안 위험 스코어에 기초할 수 있다. 예를 들어, 처리 장치(202)는 보안 애플리케이션(220)을 실행하여 제1 애플리케이션을 그들의 보안 위험 스코어들에 따라 애플리케이션들의 여러 카테고리 또는 계층 중 하나로 분류할 수 있다. 예를 들어, 제1 보안 위험 카테고리는 80 이상의 보안 위험 스코어를 갖는 애플리케이션들을 포함할 수 있다. 제2 보안 위험 카테고리는 60 이상이지만 80 미만인 위험 스코어를 갖는 애플리케이션들을 포함할 수 있고, 제3 보안 위험 카테고리는 40 이상이지만 60 미만인 보안 위험 스코어를 갖는 애플리케이션을 포함할 수 있으며, 기타 등등일 수 있다. 일부 실시예들에서, 각각의 보안 위험 카테고리는 본 명세서에서 설명되는 바와 같이 인터페이스들(300, 400 또는 500) 중 하나에서 통신될 수 있는 예를 들어 매우 높음, 높음, 중간, 낮음과 같은 텍스트 또는 컬러 설명과 관련될 수 있다.
본 개시의 실시예들은 0 내지 100 범위의 예시적인 보안 위험 스코어 시스템을 사용할 수 있지만, 본 개시의 범위를 벗어나지 않고 다른 스코어링 레짐들이 사용될 수 있다. 예를 들어, 일부 실시예들에서는 보안 위험 스코어들이 100보다 클 수 있다. 일반적으로, 보안 위험 스코어는 하나의 애플리케이션의 보안 위험을 다른 애플리케이션의 보안 위험과 비교하고/하거나, 서비스 제공자 시스템(100) 내에 존재하는 모든 애플리케이션들을 분류하거나 카테고리화하는 데 사용될 수 있는 숫자 스코어를 제공한다. 이것은 관리 보안 요원이 가장 큰 실시간 보안 위험들을 야기하는 애플리케이션들에 대해 그들의 보안 테스팅 시간을 우선순위화하는 것을 가능하게 할 수 있다. 또한, 보안 위험 스코어들은 보안 위험이 서브세트 내의 애플리케이션들에 의해 야기되는 경우에 충분할 가능성이 있는 자동화된 테스팅 레짐을 할당받을 수 있는 애플리케이션들의 서브세트를 결정하는 데 사용될 수 있다.
단계 608에서, 처리 장치는 컴퓨팅 환경에 배치된 애플리케이션들의 우선순위화된 리스트를 네트워크를 통해 클라이언트 장치로 전송하여 사용자 인터페이스에서 클라이언트 장치의 사용자에게 표시할 수 있다. 예를 들어, 처리 장치(202)는 보안 애플리케이션(220)을 실행하여, 사용자 인터페이스(300)(도 3)의 표(302)에 나타난 정보를 사용하여 애플리케이션들의 우선순위 리스트를 생성하고 전송할 수 있다. 관리 보안 요원은 클라이언트 장치(150)를 사용하여 인터페이스(152)에서 우선순위 리스트를 볼 수 있다.
방법(600)의 일부 실시예들은 각각의 애플리케이션과 관련된 보안 우선순위 레벨 또는 카테고리를 결정하지 않고 보안 위험 스코어들에 기초하여 애플리케이션들의 리스트를 우선순위화할 수 있다. 또한, 방법(600)의 일부 실시예들은 우선순위화된 리스트를 자동화된 테스팅 시스템(140)으로 전송하는 단계를 포함할 수 있다. 일부 실시예들에서, 자동화된 테스팅 시스템(140)은 리스트에 포함된 애플리케이션들의 우선순위화된 또는 카테고리화된 리스트 및/또는 보안 위험 스코어들에 기초하여 각각의 애플리케이션에 대한 적절한 테스팅 레짐을 결정할 수 있다. 일부 실시예들에서, 보안 애플리케이션(220)은 애플리케이션들의 보안 위험 스코어들에 기초하여 테스팅 레짐들을 생성할 수 있고, 이어서 그러한 테스팅 레짐들을 구현을 위해 네트워크(120)를 통해 자동화된 테스팅 시스템(140)으로 전송할 수 있다. 예를 들어, 보안 애플리케이션(220)은 테스트 모듈(142)을 포함하는 제1 애플리케이션에 대한 테스팅 레짐 및 테스트 모듈(142)을 이용하여 제1 애플리케이션과 관련된 보안 문제들을 스캔하기 위한 스케줄을 생성할 수 있다.
복수의 애플리케이션에 대한 보안 위험 스코어들을 계산하거나 결정할 때 보안 애플리케이션(220)에 의해 사용될 수 있는 애플리케이션 보안 정보(222)는 잠재적인 보안 위험을 나타내는 임의의 정보를 포함할 수 있다. 예를 들어, 애플리케이션 보안 정보(222)는 제1 애플리케이션의 인스턴스들의 카운트, 애플리케이션의 인스턴스들이 배치되는 영역, 제1 애플리케이션과 관련된 (버전, 빌드 날짜, 소유자, 팀과 같은) 빌드 정보, 제1 애플리케이션의 의존성들을 나타내는 의존성 맵 및/또는 제1 애플리케이션과 관련된 보안 태그를 포함할 수 있다. 제1 애플리케이션과 관련된 애플리케이션 보안 정보(222)는 또한 제1 애플리케이션에 의해 이용되는 하나 이상의 포트, 하나 이상의 프로토콜 및 하나 이상의 도메인 이름을 식별하는 정보일 수 있다. 일부 실시예들에서, 애플리케이션 보안 정보(222)는 애플리케이션이 저작권 보호 콘텐츠, 특히 암호화되지 않은 저작권 보호 콘텐츠를 포함하는 미디어 아이템들을 처리 또는 액세스하는지 또는 콘텐츠 암호화 키들에 액세스하는지의 지시를 포함할 수 있다.
이제, 도 7을 참조하면, 도 7은 서비스 제공자 시스템에 배치된 복수의 애플리케이션의 보안 평가 및 테스팅을 수행하는 방법(700)의 흐름도를 도시한다. 도시된 바와 같이, 방법(700)은 여러 개의 열거된 단계들, 블록들 또는 동작들을 포함한다. 방법(700)의 실시예들은 열거된 동작들 전에, 후에, 그들 사이에 또는 그들의 일부로서 추가적인 동작들을 포함할 수 있다. 방법(700)의 실시예들은 하나 이상의 열거된 동작을 생략할 수 있다. 방법(700)의 일부 실시예들은 도 2의 메모리(204)와 같은 비일시적 컴퓨터 판독 가능 저장 매체 상에 저장된 도 2의 명령어들(203)과 같은 명령어들을 포함한다. 실행될 때, 명령어들(203)은 컴퓨팅 장치(200)의 처리 장치(202)와 같은 처리 장치가 방법(700)의 실시예들과 관련된 동작들을 수행하게 할 수 있다. 방법(700)의 실시예들은 각각 도 1 및 2의 보안 애플리케이션들(104 및 220)과 같은 애플리케이션의 실행에 의해 수행될 수 있다.
방법(700)의 실시예들은 단계 702에서 시작될 수 있으며, 여기서 제1 컴퓨팅 장치의 처리 장치가 네트워크를 통해 제1 애플리케이션과 관련된 애플리케이션 보안 정보를 수신한다. 예컨대, (애플리케이션 보안 서버(102)로서 구성된) 컴퓨팅 장치(200)의 처리 장치(202)는 네트워크(120)를 통해 하나 이상의 소스로부터 애플리케이션 보안 정보(222)를 수신할 수 있다. 예를 들어, 처리 장치(202)는 내부 장치들(130), 자동화된 테스팅 시스템(140) 및/또는 모니터링 서비스(116)와 통신하여, 애플리케이션 보안 정보(222)를 요청 및/또는 수신할 수 있다. 애플리케이션 보안 정보(222)는 도 1의 서비스 제공자 시스템(100)에 배치된 복수의 애플리케이션 각각의 잠재적인 보안 위험을 나타내는 임의의 정보를 포함할 수 있다.
단계 704에서, 처리 장치는 네트워크를 통해 수신된 애플리케이션 보안 정보에 기초하여 제1 애플리케이션에 대한 보안 위험 스코어를 계산할 수 있다. 예를 들어, 처리 장치(202)는 보안 애플리케이션(220)을 실행하여 제1 애플리케이션에 대한 보안 위험 스코어를 생성할 수 있다. 보안 위험 스코어는 본 명세서에서 설명되는 바와 같이 애플리케이션에 의해 야기되는 잠재적인 보안 위험과 관련이 있는 것으로 결정된 다양한 인자들 각각에 포인트들을 할당함으로써 계산될 수 있다.
단계 706에서, 처리 장치는 계산된 보안 위험 스코어에 기초하여 제1 애플리케이션에 대한 보안 테스팅 레짐 권고를 생성할 수 있다. 예를 들어, 처리 장치(202)는 Nessus 및 OWASP ZAP 테스트 모듈들이 매주 애플리케이션에 대해 실행되어야 함을 나타내는 애플리케이션에 대한 보안 테스팅 레짐을 생성할 수 있다. 보안 테스팅 레짐은 다른 테스트 모듈들 및/또는 다른 주기적 스케줄들을 포함할 수 있다. 처리 장치(202)에 의해 생성된 보안 테스팅 레짐의 실시예들은 제1 테스트 모듈이 매주 실행되어야 하는 반면에 제2 테스트 모듈은 격주마다 실행되어야 한다고 지시할 수 있다. 따라서, 처리 장치(202)는 해당 애플리케이션과 관련된 애플리케이션 보안 정보에 의해 지시되는 바와 같이 제1 애플리케이션에 의해 야기되는 특정 보안 위험들에 적절한 보안 테스팅 레짐을 생성할 수 있다.
단계 708에서, 처리 장치는 보안 테스팅 레짐 권고를 네트워크를 통해 제2 컴퓨팅 장치로 전송할 수 있다. 예를 들어, 처리 장치(202)는 보안 테스팅 레짐을 포함하는 디지털 명령어들을 구현을 위해 자동화된 테스팅 시스템(140)으로 전송할 수 있다. 일부 실시예들에서, 처리 장치(202)는 보안 테스팅 레짐을 권고 보안 테스팅 레짐으로서 클라이언트 장치(1504)로 전송하여 인터페이스(152)에서 관리 보안 요원 또는 다른 사용자들에게 제시할 수 있다. 일부 실시예들에서, 사용자는 자동화된 테스팅 시스템(140)에 의한 구현 전에 권고 보안 테스팅 레짐을 수락, 거절 또는 수정할 수 있다. 따라서, 처리 장치(202)는 구현을 위해 자동화된 테스팅 시스템(140)로 송신하기 전에 보안 테스팅 레짐의 수락, 거절 또는 수정의 지시를 수신할 수 있다.
본 명세서에서 설명되는 바와 같이, 처리 장치(202)가 애플리케이션에 대한 보안 위험 스코어를 계산하고 애플리케이션에 대한 보안 테스팅 레짐 권고를 생성하는 데 사용할 수 있는 애플리케이션 보안 정보는 내부 컴퓨팅 환경(108A) 내에 배치된 애플리케이션의 인스턴스들 및 외부 컴퓨팅 환경(108B) 내에 배치된 애플리케이션의 인스턴스들에 관한 정보를 포함할 수 있다. 애플리케이션 보안 정보는 클라우드 기반구조에 배치된 제1 애플리케이션의 인스턴스들의 실시간 카운트 및/또는 클라우드 기반구조에 배치된 제1 애플리케이션의 인스턴스들의 카운트의 증가 레이트를 포함할 수 있다. 인스턴스들의 카운트의 증가 레이트가 사용될 때, 인스턴스들의 실시간 및 과거 카운트들은 인스턴스들의 카운트의 증가(또는 감소) 레이트를 결정하는 데 의존될 수 있다.
또한, 방법(700)의 일부 실시예들은 보안 테스팅 레짐 권고의 일부로서 제1 애플리케이션의 소스 코드에 대한 포인터를 포함할 수 있다. 포인터는 자동화된 테스팅 시스템(140)에 의해 하나 이상의 테스트 모듈을 사용하여 테스트할 소스 코드를 찾는 데 사용될 수 있다. 스케줄링된 테스트의 시간에, 자동화된 테스팅 시스템(140)은 포인터, 주소 또는 다른 위치 결정 정보를 사용하여 소스 코드의 사본을 검색하여 도 1의 소스 코드 저장소(133) 내의 적절한 소스 코드를 식별할 수 있다. 일부 실시예들에서, 애플리케이션 보안 서버(102)는 2개의 애플리케이션의 소스 코드에 의존성들이 존재하는지를 결정할 수 있다.
현재 개시된 시스템들, 서버들, 장치들 및 방법들의 실시예들은 복잡한 서비스 제공자 시스템에 배치된 많은 수의 애플리케이션의 보안 평가, 스케줄링 및 테스팅을 제공할 수 있다. 애플리케이션 보안 서버 및/또는 보안 애플리케이션은 애플리케이션 보안 정보를 처리하여 복잡한 제공자 시스템에 배치된 각각의 애플리케이션에 대한 보안 위험 스코어를 계산할 수 있다. 보안 위험 스코어들에 기초하여, 애플리케이션 보안 시스템은 서비스 제공자 시스템의 보안 및 무결성을 유지하기 위해 수행되어야 하는 적절한 자동화 및/또는 수동 테스트들을 결정할 수 있다. 애플리케이션 보안 시스템은 관리 보안 요원에게 요원이 서비스 제공자 시스템 내에서 인스턴스화된 애플리케이션들의 서브세트에 대해 더 상세한 침투 테스트들을 수행함에 있어서 그들의 시간과 노력들을 우선순위화할 수 있게 하는 정보를 제공할 수도 있다. 보안 위험 스코어들은 서버 제공자 시스템(100) 및 그 안에 배치된 애플리케이션들에 관한 현재의 실시간 정보를 고려할 수 있다.
본 개시의 소정 양태들이 다음의 번호가 매겨진 절들에서 설명된다.
1. 애플리케이션 보안 시스템으로서, 하나 이상의 저장 시스템과 통신하는 처리 장치를 갖는 애플리케이션 보안 서버; 복수의 컴퓨팅 장치 - 상기 컴퓨팅 장치들은 네트워크를 통해 정보를 수신 및 송신하도록 구성된 복수의 애플리케이션 인스턴스를 실행함 -; 및 복수의 보안 테스트 모듈을 포함하는 보안 테스팅 시스템을 포함하고, 상기 테스트 모듈들은 상기 애플리케이션 인스턴스들 중 하나 이상과 관련된 제1 애플리케이션과 관련된 제1 테스트 모듈을 포함하고; 상기 애플리케이션 보안 서버의 상기 처리 장치는: 상기 제1 애플리케이션에 관한 정보를 검색하고 - 상기 정보는 상기 제1 애플리케이션의 현재 의존성 정보를 포함함 -, 상기 제1 애플리케이션에 대한 보안 위험 스코어를 계산하고 - 상기 보안 위험 스코어는 상기 제1 애플리케이션에 관한 상기 정보에 기초하여 계산됨 -, 상기 제1 애플리케이션과 관련된 보안 우선순위 레벨을 결정하고 - 상기 제1 애플리케이션의 상기 보안 우선순위 레벨은 상기 제1 애플리케이션에 대한 상기 보안 위험 스코어에 기초함 -, 애플리케이션 보안 정보의 데이터베이스에서 상기 제1 애플리케이션의 상기 보안 우선순위 레벨을 상기 제1 애플리케이션과 관련시키는, 애플리케이션 보안 시스템.
2. 조항 1에 있어서, 상기 애플리케이션 보안 서버는 상기 보안 테스팅 시스템과 통신하여 상기 제1 애플리케이션과 관련된 테스팅 정보에 액세스하며, 상기 테스팅 정보는 상기 제1 테스트 모듈이 상기 제1 애플리케이션을 테스팅하는 데 사용된 가장 최근의 테스트 시간을 나타내는, 애플리케이션 보안 시스템.
3. 조항 1-2 중 어느 하나에 있어서, 상기 제1 애플리케이션에 대한 상기 보안 위험 스코어는 상기 제1 테스트 모듈이 상기 제1 애플리케이션을 테스팅하는 데 사용된 상기 가장 최근의 테스트 시간 및 상기 제1 애플리케이션에 관련된 테스트 스케줄에 기초하여 계산되는, 애플리케이션 보안 시스템.
4. 조항 1-3 중 어느 하나에 있어서, 상기 제1 애플리케이션에 관한 상기 정보는 상기 제1 애플리케이션의 배치된 인스턴스들의 카운트; 상기 제1 애플리케이션과 관련된 태그 - 상기 태그는 상기 제1 애플리케이션이 민감한 정보를 포함하거나 그에 대한 액세스를 갖는다는 것을 나타냄 -; 상기 제1 애플리케이션이 통신하는 애플리케이션들의 카운트; 인터넷으로부터의 상기 제1 애플리케이션의 액세스 가능성; 및 상기 제1 애플리케이션의 상기 현재 의존성 정보 중 적어도 하나를 포함하는, 애플리케이션 보안 시스템.
5. 조항 1-4 중 어느 하나에 있어서, 상기 제1 애플리케이션의 배치된 인스턴스들의 상기 카운트는 제1 실시간 카운트이며, 상기 제1 애플리케이션이 통신하는 애플리케이션들의 상기 카운트는 제2 실시간 카운트인, 애플리케이션 보안 시스템.
6. 조항 1-5 중 어느 하나에 있어서, 상기 네트워크를 통해 상기 애플리케이션 보안 서버와 통신하는 클라우드 기반구조를 더 포함하고, 상기 클라우드 기반구조는 복수의 배치된 애플리케이션 인스턴스를 포함하고, 상기 제1 애플리케이션은 상기 배치된 애플리케이션 인스턴스들 중 적어도 하나와 통신하는, 애플리케이션 보안 시스템.
7. 조항 1-6 중 어느 하나에 있어서, 상기 클라우드 기반구조는 상기 클라우드 기반구조에 배치된 애플리케이션들에 관한 정보를 보고하도록 구성된 모니터링 서비스를 포함하며, 상기 배치된 애플리케이션 정보는 배치된 애플리케이션 인스턴스들의 카운트들 및 상기 배치된 애플리케이션들과 관련된 보안 정보를 포함하는, 애플리케이션 보안 시스템.
8. 조항 1-7 중 어느 하나에 있어서, 상기 애플리케이션 보안 서버는 각각의 애플리케이션의 초기화 시에 각각의 애플리케이션으로부터 수신된 정보에 기초하는 애플리케이션들 간의 의존성들의 맵을 포함하는, 애플리케이션 보안 시스템.
9. 조항 1-8 중 어느 하나에 있어서, 상기 애플리케이션 보안 서버의 상기 처리 장치는 상기 보안 테스팅 시스템과 통신하여 상기 제1 애플리케이션과 관련된 테스팅 레짐을 변경하는, 애플리케이션 보안 시스템.
10. 조항 1-9 중 어느 하나에 있어서, 상기 테스팅 레짐은 상기 제1 애플리케이션의 테스팅에 적용될 하나 이상의 테스트 모듈 및 상기 테스트 모듈들이 언제 상기 제1 애플리케이션의 테스팅에 적용될지를 지시하는 스케줄을 포함하는, 애플리케이션 보안 시스템.
10.1. 하나 이상의 처리 장치에 의해 실행될 때, 상기 처리 장치들이 조항 1-10 중 어느 하나에 기재된 특징들 중 어느 하나를 수행하게 하는 명령어들을 저장하는 비일시적 컴퓨터 판독 가능 저장 매체.
10.2. 하나 이상의 처리 장치 상에서 구현될 때, 조항 1-10 중 어느 하나에 기재된 특징들 중 어느 하나를 수행하는 명령어들을 포함하는 컴퓨터 프로그램 제품.
10.3. 하나 이상의 처리 장치에 의해 구현될 때, 조항 1-10 중 어느 하나에 기재된 특징들 중 어느 하나를 제공하는 동작들을 수행하는 방법.
11. 애플리케이션 보안 시스템으로서, 하나 이상의 저장 장치와 통신하는 처리 장치 - 상기 하나 이상의 저장 장치는 거기에 저장된 명령어들을 포함함 -; 및 상기 처리 장치가 네트워크를 통해 하나 이상의 다른 장치와 통신할 수 있게 하는 네트워크 인터페이스를 포함하고, 상기 처리 장치는 상기 명령어들을 실행하여, 컴퓨팅 환경에 배치된 애플리케이션들의 리스트를 상기 네트워크를 통해 수신하고; 상기 애플리케이션들의 리스트에 포함된 제1 애플리케이션에 대한 보안 위험 스코어를 계산하고; 상기 제1 애플리케이션과 관련된 보안 우선순위 레벨을 결정하고 - 상기 제1 애플리케이션의 상기 보안 우선순위 레벨은 상기 제1 애플리케이션에 대한 상기 보안 위험 스코어에 기초함 -; 상기 컴퓨팅 환경에 배치된 애플리케이션들의 우선순위화된 리스트를 상기 네트워크를 통해 클라이언트 장치로 전송하여 사용자 인터페이스에서 상기 클라이언트 장치의 사용자에게 표시하는, 애플리케이션 보안 시스템.
12. 조항 11에 있어서, 상기 처리 장치는 상기 명령어들을 더 실행하여 상기 하나 이상의 다른 장치로부터 애플리케이션 보안 정보를 요청하며, 상기 애플리케이션 보안 정보는 상기 제1 애플리케이션의 인스턴스들의 카운트; 상기 애플리케이션이 배치되는 영역; 상기 제1 애플리케이션과 관련된 빌드 정보; 상기 제1 애플리케이션이 통신하도록 구성된 애플리케이션들의 리스트; 및 상기 제1 애플리케이션과 관련된 보안 태그를 포함하는, 애플리케이션 보안 시스템.
13. 조항 11-12 중 어느 하나에 있어서, 상기 제1 애플리케이션과 관련된 상기 애플리케이션 보안 정보는 상기 제1 애플리케이션에 의해 이용되는 포트, 프로토콜 또는 도메인 이름 시스템(DSN) 이름을 식별하는, 애플리케이션 보안 시스템.
14. 조항 11-13 중 어느 하나에 있어서, 상기 제1 애플리케이션과 관련된 상기 보안 우선순위 레벨은 상기 제1 애플리케이션이 관리 보안 요원에 의한 수동 테스팅 프로세스를 거쳐야 한다는 것을 나타내며, 상기 처리 장치는 상기 명령어들을 실행하여, 제1 애플리케이션과 관련된 상기 보안 우선순위 레벨을 통신하는 전자 통지를 상기 관리 보안 요원에게 전송하는, 애플리케이션 보안 시스템.
14.1. 하나 이상의 처리 장치에 의해 실행될 때, 상기 처리 장치들이 조항 11-14 중 어느 하나에 기재된 특징들 중 어느 하나를 수행하게 하는 명령어들을 저장하는 비일시적 컴퓨터 판독 가능 저장 매체.
14.2. 하나 이상의 처리 장치 상에서 구현될 때, 조항 11-14 중 어느 하나에 기재된 특징들 중 어느 하나를 수행하는 명령어들을 포함하는 컴퓨터 프로그램 제품.
14.3. 하나 이상의 처리 장치에 의해 구현될 때, 조항 11-14 중 어느 하나에 기재된 특징들 중 어느 하나를 제공하는 동작들을 수행하는 방법.
15. 방법으로서, 제1 컴퓨팅 장치의 처리 장치에 의해 네트워크를 통해 제1 애플리케이션과 관련된 애플리케이션 보안 정보를 수신하는 단계; 상기 네트워크를 통해 수신된 상기 애플리케이션 보안 정보에 기초하여 제1 애플리케이션에 대한 보안 위험 스코어를 계산하는 단계; 상기 계산된 보안 위험 스코어에 기초하여 상기 제1 애플리케이션에 대한 보안 테스팅 레짐 권고를 생성하는 단계; 및 상기 보안 테스팅 레짐 권고를 상기 네트워크를 통해 제2 컴퓨팅 장치로 전송하는 단계를 포함하는 방법.
16. 조항 15에 있어서, 상기 제1 애플리케이션은 클라우드 기반구조에 배치되고, 상기 제1 애플리케이션과 관련된 애플리케이션 보안 정보를 수신하는 단계는 상기 클라우드 기반구조 내에서 동작하는 모니터링 서비스로부터 상기 애플리케이션 보안 정보를 수신하는 단계를 포함하는, 방법.
17. 조항 15-16 중 어느 하나에 있어서, 상기 애플리케이션 보안 정보는 상기 클라우드 기반구조에 배치된 상기 제1 애플리케이션의 인스턴스들의 실시간 카운트 및 상기 클라우드 기반구조에 배치된 상기 제1 애플리케이션의 인스턴스들의 상기 카운트의 증가 레이트를 포함하는, 방법.
18. 조항 15-17 중 어느 하나에 있어서, 상기 클라우드 기반구조의 계정을 포함하는 컴퓨팅 환경 내에서 동작하는 복수의 애플리케이션을 식별하는 단계를 더 포함하는 방법.
19. 조항 15-18 중 어느 하나에 있어서, 상기 보안 테스팅 레짐 권고를 상기 네트워크를 통해 상기 제2 컴퓨팅 장치로 전송하는 단계는 명령어를 보안 테스팅 시스템으로 전송하여, 상기 보안 테스팅 시스템이 상기 제1 애플리케이션에 대해 보안 테스트를 수행할 때 제1 테스트 모듈을 적용하는 단계를 포함하는, 방법.
20. 조항 15-19 중 어느 하나에 있어서, 상기 애플리케이션 보안 정보는 소스 코드 저장소 내의 상기 제1 애플리케이션의 소스 코드에 대한 포인터를 포함하고, 상기 포인터는 상기 보안 테스팅 레짐 권고에 포함되는, 방법.
20.1. 하나 이상의 처리 장치에 의해 실행될 때, 상기 처리 장치들이 조항 15-20 중 어느 하나에 기재된 특징들 중 어느 하나를 수행하게 하는 명령어들을 저장하는 비일시적 컴퓨터 판독 가능 저장 매체.
20.2. 하나 이상의 처리 장치 상에서 구현될 때, 조항 15-20 중 어느 하나에 기재된 특징들 중 어느 하나를 수행하는 명령어들을 포함하는 컴퓨터 프로그램 제품.
20.3. 하나 이상의 처리 장치에 의해 구현될 때, 조항 15-20 중 어느 하나에 기재된 특징들 중 어느 하나를 제공하는 동작들을 수행하는 컴퓨팅 시스템.
본 개시의 전술한 양태들은 명료성 및 이해의 목적들을 위해 예시 및 예로서 상세하게 설명되었지만, 전술한 발명은 본 발명의 사상 또는 본질적인 특징들을 벗어나지 않고 다수의 다른 특정 변형들 및 실시예들로 구현될 수 있음이 인식될 것이다. 다양한 변경들 및 수정들이 실시될 수 있으며, 본 발명은 전술한 상세들에 의해 제한되는 것이 아니라, 오히려 청구항들의 범위에 의해 정의되는 것으로 이해된다.

Claims (20)

  1. 애플리케이션 보안 시스템으로서,
    하나 이상의 저장 시스템과 통신하는 처리 장치를 갖는 애플리케이션 보안 서버;
    복수의 컴퓨팅 장치 - 상기 컴퓨팅 장치들은 네트워크를 통해 정보를 수신 및 송신하도록 구성된 복수의 애플리케이션 인스턴스를 실행함 -; 및
    복수의 보안 테스트 모듈을 포함하는 보안 테스팅 시스템을 포함하고, 상기 테스트 모듈들은 상기 애플리케이션 인스턴스들 중 하나 이상과 관련된 제1 애플리케이션과 관련된 제1 테스트 모듈을 포함하고;
    상기 애플리케이션 보안 서버의 상기 처리 장치는:
    상기 제1 애플리케이션에 관한 정보를 검색하고 - 상기 정보는 상기 제1 애플리케이션의 현재 의존성 정보를 포함함 -,
    상기 제1 애플리케이션에 대한 보안 위험 스코어를 계산하고 - 상기 보안 위험 스코어는 상기 제1 애플리케이션에 관한 상기 정보에 기초하여 계산됨 -,
    상기 제1 애플리케이션과 관련된 보안 우선순위 레벨을 결정하고 - 상기 제1 애플리케이션의 상기 보안 우선순위 레벨은 상기 제1 애플리케이션에 대한 상기 보안 위험 스코어에 기초함 -,
    애플리케이션 보안 정보의 데이터베이스에서 상기 제1 애플리케이션의 상기 보안 우선순위 레벨을 상기 제1 애플리케이션과 관련시키는, 애플리케이션 보안 시스템.
  2. 제1항에 있어서, 상기 애플리케이션 보안 서버는 상기 보안 테스팅 시스템과 통신하여 상기 제1 애플리케이션과 관련된 테스팅 정보에 액세스하며, 상기 테스팅 정보는 상기 제1 테스트 모듈이 상기 제1 애플리케이션을 테스팅하는 데 사용된 가장 최근의 테스트 시간을 나타내는, 애플리케이션 보안 시스템.
  3. 제2항에 있어서, 상기 제1 애플리케이션에 대한 상기 보안 위험 스코어는 상기 제1 테스트 모듈이 상기 제1 애플리케이션을 테스팅하는 데 사용된 상기 가장 최근의 테스트 시간 및 상기 제1 애플리케이션에 관련된 테스트 스케줄에 기초하여 계산되는, 애플리케이션 보안 시스템.
  4. 제1항에 있어서, 상기 제1 애플리케이션에 관한 상기 정보는
    상기 제1 애플리케이션의 배치된 인스턴스들의 카운트;
    상기 제1 애플리케이션과 관련된 태그 - 상기 태그는 상기 제1 애플리케이션이 민감한 정보를 포함하거나 그에 대한 액세스를 갖는다는 것을 나타냄 -;
    상기 제1 애플리케이션이 통신하는 애플리케이션들의 카운트;
    인터넷으로부터의 상기 제1 애플리케이션의 액세스 가능성; 및
    상기 제1 애플리케이션의 상기 현재 의존성 정보
    중 적어도 하나를 포함하는, 애플리케이션 보안 시스템.
  5. 제4항에 있어서, 상기 제1 애플리케이션의 배치된 인스턴스들의 상기 카운트는 제1 실시간 카운트이며, 상기 제1 애플리케이션이 통신하는 애플리케이션들의 상기 카운트는 제2 실시간 카운트인, 애플리케이션 보안 시스템.
  6. 제1항에 있어서, 상기 네트워크를 통해 상기 애플리케이션 보안 서버와 통신하는 클라우드 기반구조를 더 포함하고, 상기 클라우드 기반구조는 복수의 배치된 애플리케이션 인스턴스를 포함하고, 상기 제1 애플리케이션은 상기 배치된 애플리케이션 인스턴스들 중 적어도 하나와 통신하는, 애플리케이션 보안 시스템.
  7. 제6항에 있어서, 상기 클라우드 기반구조는 상기 클라우드 기반구조에 배치된 애플리케이션들에 관한 정보를 보고하도록 구성된 모니터링 서비스를 포함하며, 상기 배치된 애플리케이션 정보는 배치된 애플리케이션 인스턴스들의 카운트들 및 상기 배치된 애플리케이션들과 관련된 보안 정보를 포함하는, 애플리케이션 보안 시스템.
  8. 제1항에 있어서, 상기 애플리케이션 보안 서버는 각각의 애플리케이션의 초기화 시에 각각의 애플리케이션으로부터 수신된 정보에 기초하는 애플리케이션들 간의 의존성들의 맵을 포함하는, 애플리케이션 보안 시스템.
  9. 제1항에 있어서, 상기 애플리케이션 보안 서버의 상기 처리 장치는 상기 보안 테스팅 시스템과 통신하여 상기 제1 애플리케이션과 관련된 테스팅 레짐을 변경하는, 애플리케이션 보안 시스템.
  10. 제9항에 있어서, 상기 테스팅 레짐은 상기 제1 애플리케이션의 테스팅에 적용될 하나 이상의 테스트 모듈 및 상기 테스트 모듈들이 언제 상기 제1 애플리케이션의 테스팅에 적용될지를 지시하는 스케줄을 포함하는, 애플리케이션 보안 시스템.
  11. 애플리케이션 보안 시스템으로서,
    하나 이상의 저장 장치와 통신하는 처리 장치 - 상기 하나 이상의 저장 장치는 거기에 저장된 명령어들을 포함함 -; 및
    상기 처리 장치가 네트워크를 통해 하나 이상의 다른 장치와 통신할 수 있게 하는 네트워크 인터페이스
    를 포함하고, 상기 처리 장치는 상기 명령어들을 실행하여,
    컴퓨팅 환경에 배치된 애플리케이션들의 리스트를 상기 네트워크를 통해 수신하고;
    상기 애플리케이션들의 리스트에 포함된 제1 애플리케이션에 대한 보안 위험 스코어를 계산하고;
    상기 제1 애플리케이션과 관련된 보안 우선순위 레벨을 결정하고 - 상기 제1 애플리케이션의 상기 보안 우선순위 레벨은 상기 제1 애플리케이션에 대한 상기 보안 위험 스코어에 기초함 -;
    상기 컴퓨팅 환경에 배치된 애플리케이션들의 우선순위화된 리스트를 상기 네트워크를 통해 클라이언트 장치로 전송하여 사용자 인터페이스에서 상기 클라이언트 장치의 사용자에게 표시하는, 애플리케이션 보안 시스템.
  12. 제11항에 있어서, 상기 처리 장치는 상기 명령어들을 더 실행하여 상기 하나 이상의 다른 장치로부터 애플리케이션 보안 정보를 요청하며, 상기 애플리케이션 보안 정보는
    상기 제1 애플리케이션의 인스턴스들의 카운트;
    상기 애플리케이션이 배치되는 영역;
    상기 제1 애플리케이션과 관련된 빌드 정보;
    상기 제1 애플리케이션이 통신하도록 구성된 애플리케이션들의 리스트; 및
    상기 제1 애플리케이션과 관련된 보안 태그; 중 적어도 하나를 포함하는, 애플리케이션 보안 시스템.
  13. 제12항에 있어서, 상기 제1 애플리케이션과 관련된 상기 애플리케이션 보안 정보는 상기 제1 애플리케이션에 의해 이용되는 포트, 프로토콜 또는 도메인 이름 시스템(DSN) 이름을 식별하는, 애플리케이션 보안 시스템.
  14. 제11항에 있어서, 상기 제1 애플리케이션과 관련된 상기 보안 우선순위 레벨은 상기 제1 애플리케이션이 관리 보안 요원에 의한 수동 테스팅 프로세스를 거쳐야 한다는 것을 나타내며, 상기 처리 장치는 상기 명령어들을 실행하여, 제1 애플리케이션과 관련된 상기 보안 우선순위 레벨을 통신하는 전자 통지를 상기 관리 보안 요원에게 전송하는, 애플리케이션 보안 시스템.
  15. 방법으로서,
    제1 컴퓨팅 장치의 처리 장치에 의해 네트워크를 통해 제1 애플리케이션과 관련된 애플리케이션 보안 정보를 수신하는 단계;
    상기 네트워크를 통해 수신된 상기 애플리케이션 보안 정보에 기초하여 제1 애플리케이션에 대한 보안 위험 스코어를 계산하는 단계;
    상기 계산된 보안 위험 스코어에 기초하여 상기 제1 애플리케이션에 대한 보안 테스팅 레짐 권고를 생성하는 단계; 및
    상기 보안 테스팅 레짐 권고를 상기 네트워크를 통해 제2 컴퓨팅 장치로 전송하는 단계를 포함하는, 방법.
  16. 제15항에 있어서, 상기 제1 애플리케이션은 클라우드 기반구조에 배치되고, 상기 제1 애플리케이션과 관련된 애플리케이션 보안 정보를 수신하는 단계는 상기 클라우드 기반구조 내에서 동작하는 모니터링 서비스로부터 상기 애플리케이션 보안 정보를 수신하는 단계를 포함하는, 방법.
  17. 제16항에 있어서, 상기 애플리케이션 보안 정보는 상기 클라우드 기반구조에 배치된 상기 제1 애플리케이션의 인스턴스들의 실시간 카운트 및 상기 클라우드 기반구조에 배치된 상기 제1 애플리케이션의 인스턴스들의 상기 카운트의 증가 레이트를 포함하는, 방법.
  18. 제16항에 있어서, 상기 클라우드 기반구조의 계정을 포함하는 컴퓨팅 환경 내에서 동작하는 복수의 애플리케이션을 식별하는 단계를 더 포함하는 방법.
  19. 제15항에 있어서, 상기 보안 테스팅 레짐 권고를 상기 네트워크를 통해 상기 제2 컴퓨팅 장치로 전송하는 단계는 명령어를 보안 테스팅 시스템으로 전송하여, 상기 보안 테스팅 시스템이 상기 제1 애플리케이션에 대해 보안 테스트를 수행할 때 제1 테스트 모듈을 적용하는 단계를 포함하는, 방법.
  20. 제15항에 있어서, 상기 애플리케이션 보안 정보는 소스 코드 저장소 내의 상기 제1 애플리케이션의 소스 코드에 대한 포인터를 포함하고, 상기 포인터는 상기 보안 테스팅 레짐 권고에 포함되는, 방법.
KR1020187012954A 2015-10-06 2016-10-04 애플리케이션들의 보안 및 위험 평가 및 테스팅을 위한 시스템들 및 방법들 KR20180095798A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/876,354 US9767291B2 (en) 2015-10-06 2015-10-06 Systems and methods for security and risk assessment and testing of applications
US14/876,354 2015-10-06
PCT/US2016/055352 WO2017062369A1 (en) 2015-10-06 2016-10-04 Systems and methods for security and risk assessment and testing of applications

Publications (1)

Publication Number Publication Date
KR20180095798A true KR20180095798A (ko) 2018-08-28

Family

ID=57153554

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020187012954A KR20180095798A (ko) 2015-10-06 2016-10-04 애플리케이션들의 보안 및 위험 평가 및 테스팅을 위한 시스템들 및 방법들

Country Status (9)

Country Link
US (2) US9767291B2 (ko)
EP (1) EP3360096A1 (ko)
JP (1) JP6849672B2 (ko)
KR (1) KR20180095798A (ko)
CN (1) CN108604330A (ko)
AU (1) AU2016336006A1 (ko)
CA (1) CA2998749C (ko)
MX (1) MX370367B (ko)
WO (1) WO2017062369A1 (ko)

Families Citing this family (98)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9411327B2 (en) 2012-08-27 2016-08-09 Johnson Controls Technology Company Systems and methods for classifying data in building automation systems
US10534326B2 (en) 2015-10-21 2020-01-14 Johnson Controls Technology Company Building automation system with integrated building information model
US9921942B1 (en) 2015-10-23 2018-03-20 Wells Fargo Bank, N.A. Security validation of software delivered as a service
US11268732B2 (en) 2016-01-22 2022-03-08 Johnson Controls Technology Company Building energy management system with energy analytics
US11947785B2 (en) 2016-01-22 2024-04-02 Johnson Controls Technology Company Building system with a building graph
US11768004B2 (en) 2016-03-31 2023-09-26 Johnson Controls Tyco IP Holdings LLP HVAC device registration in a distributed building management system
US10901373B2 (en) 2017-06-15 2021-01-26 Johnson Controls Technology Company Building management system with artificial intelligence for unified agent based control of building subsystems
US11774920B2 (en) 2016-05-04 2023-10-03 Johnson Controls Technology Company Building system with user presentation composition based on building context
US10505756B2 (en) 2017-02-10 2019-12-10 Johnson Controls Technology Company Building management system with space graphs
US10417451B2 (en) 2017-09-27 2019-09-17 Johnson Controls Technology Company Building system with smart entity personal identifying information (PII) masking
US10552241B2 (en) 2016-06-22 2020-02-04 International Business Machines Corporation Action recommendation to reduce server management errors
US10372915B2 (en) * 2016-07-29 2019-08-06 Jpmorgan Chase Bank, N.A. Cybersecurity vulnerability management systems and method
US9747570B1 (en) * 2016-09-08 2017-08-29 Secure Systems Innovation Corporation Method and system for risk measurement and modeling
US10938668B1 (en) * 2016-09-30 2021-03-02 Amazon Technologies, Inc. Safe deployment using versioned hash rings
US10684033B2 (en) 2017-01-06 2020-06-16 Johnson Controls Technology Company HVAC system with automated device pairing
US10068095B1 (en) 2017-05-15 2018-09-04 XM Cyber Ltd Systems and methods for selecting a termination rule for a penetration testing campaign
US10999308B2 (en) 2017-01-30 2021-05-04 Xm Cyber Ltd. Setting-up penetration testing campaigns
US10686822B2 (en) 2017-01-30 2020-06-16 Xm Cyber Ltd. Systems and methods for selecting a lateral movement strategy for a penetration testing campaign
AU2018212708A1 (en) * 2017-01-30 2019-08-08 Xm Cyber Ltd. Penetration testing of a networked system
US10257220B2 (en) 2017-01-30 2019-04-09 Xm Cyber Ltd. Verifying success of compromising a network node during penetration testing of a networked system
US11900287B2 (en) 2017-05-25 2024-02-13 Johnson Controls Tyco IP Holdings LLP Model predictive maintenance system with budgetary constraints
US10169486B2 (en) 2017-02-10 2019-01-01 Johnson Controls Technology Company Building management system with timeseries processing
US11360447B2 (en) 2017-02-10 2022-06-14 Johnson Controls Technology Company Building smart entity system with agent based communication and control
US20190361412A1 (en) 2017-02-10 2019-11-28 Johnson Controls Technology Company Building smart entity system with agent based data ingestion and entity creation using time series data
US11764991B2 (en) 2017-02-10 2023-09-19 Johnson Controls Technology Company Building management system with identity management
US11307538B2 (en) 2017-02-10 2022-04-19 Johnson Controls Technology Company Web services platform with cloud-eased feedback control
US10515098B2 (en) 2017-02-10 2019-12-24 Johnson Controls Technology Company Building management smart entity creation and maintenance using time series data
US10854194B2 (en) 2017-02-10 2020-12-01 Johnson Controls Technology Company Building system with digital twin based data ingestion and processing
US10581802B2 (en) 2017-03-16 2020-03-03 Keysight Technologies Singapore (Sales) Pte. Ltd. Methods, systems, and computer readable media for advertising network security capabilities
WO2018175912A1 (en) 2017-03-24 2018-09-27 Johnson Controls Technology Company Building management system with dynamic channel communication
US11327737B2 (en) 2017-04-21 2022-05-10 Johnson Controls Tyco IP Holdings LLP Building management system with cloud management of gateway configurations
US10788229B2 (en) 2017-05-10 2020-09-29 Johnson Controls Technology Company Building management system with a distributed blockchain database
US10999296B2 (en) * 2017-05-15 2021-05-04 Forcepoint, LLC Generating adaptive trust profiles using information derived from similarly situated organizations
US11022947B2 (en) 2017-06-07 2021-06-01 Johnson Controls Technology Company Building energy optimization system with economic load demand response (ELDR) optimization and ELDR user interfaces
US10534917B2 (en) 2017-06-20 2020-01-14 Xm Cyber Ltd. Testing for risk of macro vulnerability
US10574684B2 (en) 2017-07-09 2020-02-25 Xm Cyber Ltd. Locally detecting phishing weakness
WO2019012626A1 (ja) 2017-07-12 2019-01-17 日本電気株式会社 真正性検証システム、真正性検証方法および真正性検証プログラム
WO2019018304A1 (en) 2017-07-17 2019-01-24 Johnson Controls Technology Company SYSTEMS AND METHODS FOR BUILDING SIMULATION ON THE BASIS OF AN AGENT FOR OPTIMAL CONTROL
EP3655824A1 (en) 2017-07-21 2020-05-27 Johnson Controls Technology Company Building management system with dynamic work order generation with adaptive diagnostic task details
US20190034066A1 (en) 2017-07-27 2019-01-31 Johnson Controls Technology Company Building management system with central plantroom dashboards
US10412112B2 (en) 2017-08-31 2019-09-10 Xm Cyber Ltd. Time-tagged pre-defined scenarios for penetration testing
US10447721B2 (en) 2017-09-13 2019-10-15 Xm Cyber Ltd. Systems and methods for using multiple lateral movement strategies in penetration testing
US10962945B2 (en) 2017-09-27 2021-03-30 Johnson Controls Technology Company Building management system with integration of data into smart entities
WO2019067627A1 (en) 2017-09-27 2019-04-04 Johnson Controls Technology Company SYSTEMS AND METHODS OF RISK ANALYSIS
US11314788B2 (en) 2017-09-27 2022-04-26 Johnson Controls Tyco IP Holdings LLP Smart entity management for building management systems
US10559181B2 (en) 2017-09-27 2020-02-11 Johnson Controls Technology Company Building risk analysis system with risk combination for multiple threats
US11120012B2 (en) 2017-09-27 2021-09-14 Johnson Controls Tyco IP Holdings LLP Web services platform with integration and interface of smart entities with enterprise applications
US10809682B2 (en) 2017-11-15 2020-10-20 Johnson Controls Technology Company Building management system with optimized processing of building system data
WO2019097382A1 (en) 2017-11-15 2019-05-23 Xm Cyber Ltd. Selectively choosing between actual-attack and simulation/evaluation for validating a vulnerability of a network node during execution of a penetration testing campaign
US11281169B2 (en) 2017-11-15 2022-03-22 Johnson Controls Tyco IP Holdings LLP Building management system with point virtualization for online meters
US11127235B2 (en) 2017-11-22 2021-09-21 Johnson Controls Tyco IP Holdings LLP Building campus with integrated smart environment
US11954713B2 (en) 2018-03-13 2024-04-09 Johnson Controls Tyco IP Holdings LLP Variable refrigerant flow system with electricity consumption apportionment
US10440044B1 (en) 2018-04-08 2019-10-08 Xm Cyber Ltd. Identifying communicating network nodes in the same local network
KR102096085B1 (ko) * 2018-04-17 2020-04-01 어니컴 주식회사 앱 모니터링 장치 및 방법
US10810286B2 (en) * 2018-04-24 2020-10-20 Rovi Guides, Inc. Systems and methods for intelligently accessing media content based on rights
US10382473B1 (en) 2018-09-12 2019-08-13 Xm Cyber Ltd. Systems and methods for determining optimal remediation recommendations in penetration testing
US11354613B2 (en) * 2018-10-03 2022-06-07 Visa International Service Association System, method, and computer program product for generating location-based risk assessments of service provider transaction requests
US11093618B2 (en) 2018-10-23 2021-08-17 Jpmorgan Chase Bank, N.A. Systems and methods for using an application control prioritization index
US11016648B2 (en) 2018-10-30 2021-05-25 Johnson Controls Technology Company Systems and methods for entity visualization and management with an entity node editor
WO2020089698A1 (en) 2018-11-04 2020-05-07 Xm Cyber Ltd. Using information about exportable data in penetration testing
US11927925B2 (en) 2018-11-19 2024-03-12 Johnson Controls Tyco IP Holdings LLP Building system with a time correlated reliability data stream
US10574687B1 (en) 2018-12-13 2020-02-25 Xm Cyber Ltd. Systems and methods for dynamic removal of agents from nodes of penetration testing systems
US20200234220A1 (en) 2019-01-18 2020-07-23 Johnson Controls Technology Company Smart building automation system with employee productivity features
US10788798B2 (en) 2019-01-28 2020-09-29 Johnson Controls Technology Company Building management system with hybrid edge-cloud processing
US10462177B1 (en) 2019-02-06 2019-10-29 Xm Cyber Ltd. Taking privilege escalation into account in penetration testing campaigns
US11283827B2 (en) 2019-02-28 2022-03-22 Xm Cyber Ltd. Lateral movement strategy during penetration testing of a networked system
US11477226B2 (en) * 2019-04-24 2022-10-18 Saudi Arabian Oil Company Online system identification for data reliability enhancement
US11206281B2 (en) 2019-05-08 2021-12-21 Xm Cyber Ltd. Validating the use of user credentials in a penetration testing campaign
US11163889B2 (en) * 2019-06-14 2021-11-02 Bank Of America Corporation System and method for analyzing and remediating computer application vulnerabilities via multidimensional correlation and prioritization
CN112101394B (zh) * 2019-06-18 2024-03-22 中国移动通信集团浙江有限公司 供应商分域部署方法、装置、计算设备及计算机存储介质
RU2750627C2 (ru) * 2019-06-28 2021-06-30 Акционерное общество "Лаборатория Касперского" Способ поиска образцов вредоносных сообщений
US10637883B1 (en) 2019-07-04 2020-04-28 Xm Cyber Ltd. Systems and methods for determining optimal remediation recommendations in penetration testing
US10880326B1 (en) 2019-08-01 2020-12-29 Xm Cyber Ltd. Systems and methods for determining an opportunity for node poisoning in a penetration testing campaign, based on actual network traffic
US11916758B2 (en) * 2019-08-02 2024-02-27 Cisco Technology, Inc. Network-assisted application-layer request flow management in service meshes
US11533329B2 (en) 2019-09-27 2022-12-20 Keysight Technologies, Inc. Methods, systems and computer readable media for threat simulation and threat mitigation recommendations
US10754506B1 (en) * 2019-10-07 2020-08-25 Cyberark Software Ltd. Monitoring and controlling risk compliance in network environments
US11005878B1 (en) 2019-11-07 2021-05-11 Xm Cyber Ltd. Cooperation between reconnaissance agents in penetration testing campaigns
US11514187B1 (en) * 2019-11-26 2022-11-29 Wells Fargo Bank, N.A. Systems and methods for managing the processing of customer information within a global enterprise
US11894944B2 (en) 2019-12-31 2024-02-06 Johnson Controls Tyco IP Holdings LLP Building data platform with an enrichment loop
US20210200792A1 (en) 2019-12-31 2021-07-01 Johnson Controls Technology Company Building data platform with graph projections
US11575700B2 (en) 2020-01-27 2023-02-07 Xm Cyber Ltd. Systems and methods for displaying an attack vector available to an attacker of a networked system
US11074164B1 (en) 2020-03-06 2021-07-27 Bank Of America Corporation Real-time regression test generator
US11582256B2 (en) 2020-04-06 2023-02-14 Xm Cyber Ltd. Determining multiple ways for compromising a network node in a penetration testing campaign
US11537386B2 (en) 2020-04-06 2022-12-27 Johnson Controls Tyco IP Holdings LLP Building system with dynamic configuration of network resources for 5G networks
US11874809B2 (en) 2020-06-08 2024-01-16 Johnson Controls Tyco IP Holdings LLP Building system with naming schema encoding entity type and entity relationships
US11188448B1 (en) 2020-07-14 2021-11-30 Bank Of America Corporation Real-time defect analysis device
US11574071B2 (en) 2020-07-28 2023-02-07 Bank Of America Corporation Reliability of information security controls for attack readiness
US11954154B2 (en) 2020-09-30 2024-04-09 Johnson Controls Tyco IP Holdings LLP Building management system with semantic model integration
US11397773B2 (en) 2020-09-30 2022-07-26 Johnson Controls Tyco IP Holdings LLP Building management system with semantic model integration
US20220138492A1 (en) 2020-10-30 2022-05-05 Johnson Controls Technology Company Data preprocessing and refinement tool
JP2024511974A (ja) 2021-03-17 2024-03-18 ジョンソン・コントロールズ・タイコ・アイピー・ホールディングス・エルエルピー 設備エネルギー浪費を判定するためのシステム及び方法
US11769066B2 (en) 2021-11-17 2023-09-26 Johnson Controls Tyco IP Holdings LLP Building data platform with digital twin triggers and actions
US11899723B2 (en) 2021-06-22 2024-02-13 Johnson Controls Tyco IP Holdings LLP Building data platform with context based twin function processing
US11796974B2 (en) 2021-11-16 2023-10-24 Johnson Controls Tyco IP Holdings LLP Building data platform with schema extensibility for properties and tags of a digital twin
US11934966B2 (en) 2021-11-17 2024-03-19 Johnson Controls Tyco IP Holdings LLP Building data platform with digital twin inferences
US11704311B2 (en) 2021-11-24 2023-07-18 Johnson Controls Tyco IP Holdings LLP Building data platform with a distributed digital twin
US11714930B2 (en) 2021-11-29 2023-08-01 Johnson Controls Tyco IP Holdings LLP Building data platform with digital twin based inferences and predictions for a graphical building model
US11968222B2 (en) * 2022-07-05 2024-04-23 Palo Alto Networks (Israel Analytics) Ltd. Supply chain attack detection

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7693961B2 (en) * 2000-06-30 2010-04-06 Sharp Kabushiki Kaisha Method and system for supplying programs
JP3618681B2 (ja) * 2001-05-01 2005-02-09 株式会社エヌ・ティ・ティ・データ ネットワークセキュリティに関する被害評価システムおよびその方法
US7257630B2 (en) * 2002-01-15 2007-08-14 Mcafee, Inc. System and method for network vulnerability detection and reporting
US7114148B2 (en) * 2002-09-30 2006-09-26 Microsoft Corporation Runtime services for network software platform
AU2003233574B9 (en) * 2003-05-17 2010-03-25 Microsoft Corporation Mechanism for evaluating security risks
US7716641B2 (en) * 2004-12-01 2010-05-11 Microsoft Corporation Method and system for automatically identifying and marking subsets of localizable resources
US8990368B2 (en) * 2009-02-27 2015-03-24 Red Hat, Inc. Discovery of network software relationships
US8584092B2 (en) * 2009-03-30 2013-11-12 Verizon Patent And Licensing Inc. Methods and systems of determining risk levels of one or more software instance defects
US20120102569A1 (en) * 2010-10-21 2012-04-26 F-Secure Corporation Computer system analysis method and apparatus
US9112682B2 (en) * 2011-03-15 2015-08-18 Red Hat, Inc. Generating modular security delegates for applications
WO2013184137A1 (en) 2012-06-08 2013-12-12 Hewlett-Packard Development Company, L.P. Test and management for cloud applications
EP2901346A4 (en) * 2012-09-28 2016-06-08 Hewlett Packard Development Co SAFETY TESTING OF AN APPLICATION
US9355261B2 (en) * 2013-03-14 2016-05-31 Appsense Limited Secure data management
US9264444B2 (en) * 2013-05-21 2016-02-16 Rapid7, Llc Systems and methods for determining an objective security assessment for a network of assets
JP6116052B2 (ja) * 2013-06-12 2017-04-19 日本システムウエア株式会社 組込みシステムのテスト方法
US8997052B2 (en) 2013-06-19 2015-03-31 Successfactors, Inc. Risk-based test plan construction
US10031841B2 (en) 2013-06-26 2018-07-24 Sap Se Method and system for incrementally updating a test suite utilizing run-time application executions
US9420029B2 (en) * 2013-07-01 2016-08-16 Cellco Partnership Mobile device application rating
US9721316B2 (en) * 2014-01-10 2017-08-01 Bank Of America Corporation Change convergence risk mapping
JP6208029B2 (ja) * 2014-01-30 2017-10-04 株式会社日立製作所 業務システムの監視装置及び監視装置の制御方法
US9386078B2 (en) * 2014-05-30 2016-07-05 Ca, Inc. Controlling application programming interface transactions based on content of earlier transactions
US9319430B2 (en) * 2014-06-17 2016-04-19 International Business Machines Corporation Managing software deployment
CN104200155A (zh) * 2014-08-12 2014-12-10 中国科学院信息工程研究所 基于苹果手机操作系统iOS保护用户隐私的监测装置和方法
US9407655B2 (en) * 2014-08-27 2016-08-02 Bank Of America Corporation Monitoring security risks to enterprise corresponding to access rights and access risk calculation
CN104317725A (zh) * 2014-11-18 2015-01-28 电信科学技术第十研究所 一种软件测试的计算机实现的方法、计算机和系统
US9626515B2 (en) * 2014-12-30 2017-04-18 Samsung Electronics Co., Ltd. Electronic system with risk presentation mechanism and method of operation thereof
US9805192B1 (en) * 2015-06-26 2017-10-31 Symantec Corporation Systems and methods for file classification

Also Published As

Publication number Publication date
US10262145B2 (en) 2019-04-16
US9767291B2 (en) 2017-09-19
MX370367B (es) 2019-12-11
CA2998749A1 (en) 2017-04-13
MX2018004173A (es) 2018-06-06
WO2017062369A1 (en) 2017-04-13
JP6849672B2 (ja) 2021-03-24
EP3360096A1 (en) 2018-08-15
JP2019501436A (ja) 2019-01-17
US20170098086A1 (en) 2017-04-06
CN108604330A (zh) 2018-09-28
CA2998749C (en) 2021-03-16
AU2016336006A1 (en) 2018-04-12
US20180004960A1 (en) 2018-01-04

Similar Documents

Publication Publication Date Title
US10262145B2 (en) Systems and methods for security and risk assessment and testing of applications
US11765198B2 (en) Selecting actions responsive to computing environment incidents based on severity rating
US11729200B2 (en) Dynamic message analysis platform for enhanced enterprise security
US11323484B2 (en) Privilege assurance of enterprise computer network environments
US11303659B2 (en) Detecting inappropriate activity in the presence of unauthenticated API requests using artificial intelligence
US11062231B2 (en) Supervised learning system training using chatbot interaction
TW201642616A (zh) 條件式宣告政策
US11050773B2 (en) Selecting security incidents for advanced automatic analysis
US20150095102A1 (en) Computer implemented system and method for ensuring computer information technology infrastructure continuity
US11494488B2 (en) Security incident and event management use case selection
US20220318350A1 (en) Dynamic transaction-aware web application authentication using call intercepts
US20230325478A1 (en) Instrumenting applications to prevent abuse by privileged users
US20230334478A1 (en) Detecting anomalous transactions within an application by privileged user accounts
US11863566B2 (en) Dynamic message analysis platform for enhanced enterprise security
US20230376632A1 (en) Protecting confidential information in online applications
Busby et al. Deliverable 3.1-Methodology for Risk Assessment and

Legal Events

Date Code Title Description
A201 Request for examination
E601 Decision to refuse application