KR102534334B1 - 컴퓨팅 디바이스들에서 프로세스들에 대한 소프트웨어 공격들의 검출 - Google Patents
컴퓨팅 디바이스들에서 프로세스들에 대한 소프트웨어 공격들의 검출 Download PDFInfo
- Publication number
- KR102534334B1 KR102534334B1 KR1020187010607A KR20187010607A KR102534334B1 KR 102534334 B1 KR102534334 B1 KR 102534334B1 KR 1020187010607 A KR1020187010607 A KR 1020187010607A KR 20187010607 A KR20187010607 A KR 20187010607A KR 102534334 B1 KR102534334 B1 KR 102534334B1
- Authority
- KR
- South Korea
- Prior art keywords
- virtual memory
- processor
- computing device
- monitored
- structural attributes
- Prior art date
- Legal status (The legal status 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 status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/554—Detecting local intrusion or implementing counter-measures involving event detection and direct action
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/552—Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/566—Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Virology (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Debugging And Monitoring (AREA)
- Storage Device Security (AREA)
Abstract
Description
도 1a 는 다양한 실시형태들에 따라 사용하기 위한 컴퓨팅 디바이스의 블록도이다.
도 1b 는 다양한 실시형태들에 따른, 가상 메모리 영역의 구조적 속성들을 분석하는 관측기/분석 유닛의 기능 블록 다이어그램이다.
도 2 는 다양한 실시형태들에 따른, 프로세스 어드레스 공간의 다이어그램이다.
도 3a 내지 도 3b 는 스택 버퍼 오버플로우 제어-하이재킹 소프트웨어 공격을 예시하는 다이어그램들이다.
도 4a 내지 도 4b 는 힙 버퍼 오버플로우 제어-하이재킹 소프트웨어 공격을 예시하는 다이어그램들이다.
도 5 는 리턴-온-프로그래밍 (return-on-programming) 제어-하이재킹 소프트웨어 공격을 예시하는 다이어그램이다.
도 6 은 다양한 실시형태들에 따른, 컴퓨팅 디바이스에서의 가상 메모리 영역 모니터링 시스템의 블록도이다.
도 7 은 다양한 실시형태들에 따른, 가상 메모리 영역 트랜지션 추적기의 컴포넌트 블록도이다.
도 8 은 다양한 실시형태들에 따른, 컴퓨팅 디바이스 상에서 실행하는 프로세스에 대한 소프트웨어 공격들을 검출하는 방법들을 예시하는 프로세스 흐름도이다.
도 9 는 다양한 실시형태들에 따른, 컴퓨팅 디바이스 상에서 실행하는 프로세스의 가상 메모리 영역 트랜지션들을 추적하는 하드웨어-기반의 방법들을 예시하는 프로세스 흐름도이다.
도 10 은 다양한 실시형태들에 따른, 컴퓨팅 디바이스 상에서 실행하는 프로세스의 가상 메모리 영역 트랜지션들을 추적하는 소프트웨어-기반의 방법들을 예시하는 프로세스 흐름도이다.
도 11 은 일부 실시형태 방법들을 구현하는데 적합한 모바일 통신 디바이스의 컴포넌트 블록도이다.
Claims (28)
- 컴퓨팅 디바이스 상에서 실행하는 프로세스에 대한 소프트웨어 공격들을 검출하는 방법으로서, 상기 방법은 상기 컴퓨팅 디바이스에서의 프로세서에 의해서 수행되며, 상기 방법은:
상기 프로세스에 의해 이용되는 복수의 가상 메모리 영역들의 구조적 속성들을 모니터링하는 단계로서, 모니터링된 상기 구조적 속성들은,
상기 복수의 가상 메모리 영역들의 어드레스 공간 레이아웃,
상기 복수의 가상 메모리 영역들에 포함된 가상 메모리 영역들의 수, 또는
상기 복수의 가상 메모리 영역들에 포함된 가상 메모리 영역의 사이즈
를 포함하는, 상기 구조적 속성들을 모니터링하는 단계;
모니터링된 상기 구조적 속성들을 상기 복수의 가상 메모리 영역들의 예상된 구조적 속성들과 비교하는 단계; 및
모니터링된 상기 구조적 속성들과 상기 예상된 구조적 속성들 간의 비교에 기초하여, 모니터링된 상기 구조적 속성들이 상기 프로세스의 비정상적인 거동을 나타내는지 여부를 결정하는 단계를 포함하는, 컴퓨팅 디바이스 상에서 실행하는 프로세스에 대한 소프트웨어 공격들을 검출하는 방법. - 제 1 항에 있어서,
모니터링된 상기 구조적 속성들이 비정상적인 거동을 나타낸다고 결정하는 것에 응답하여 보호 액션을 개시하는 단계를 더 포함하는, 컴퓨팅 디바이스 상에서 실행하는 프로세스에 대한 소프트웨어 공격들을 검출하는 방법. - 제 1 항에 있어서,
상기 프로세스에 의해 이용되는 상기 복수의 가상 메모리 영역들의 상기 구조적 속성들을 모니터링하는 단계는,
상기 어드레스 공간 레이아웃에 대한 변화들을 모니터링하는 단계;
상기 복수의 가상 메모리 영역들의 액세스 허가들에 대한 변화들을 모니터링하는 단계; 또는
상기 복수의 가상 메모리 영역들의 상태 트랜지션 이력을 모니터링하는 단계를 더 포함하는, 컴퓨팅 디바이스 상에서 실행하는 프로세스에 대한 소프트웨어 공격들을 검출하는 방법. - 제 1 항에 있어서,
상기 프로세스에 의해 이용되는 상기 복수의 가상 메모리 영역들의 상기 구조적 속성들을 모니터링하는 단계는,
상기 프로세스가 실행중인 현재의 가상 메모리 영역에 관한 정보를 저장하는 단계;
상기 프로세스에 의해 현재 실행되고 있는 명령에 관한 새로운 정보를 수신하는 단계;
수신된 상기 새로운 정보에 기초하여, 상기 현재의 가상 메모리 영역으로부터의 트랜지션이 있었는지 여부를 결정하는 단계; 및
상기 현재의 가상 메모리 영역으로부터의 상기 트랜지션이 있었다고 결정하는 것에 응답하여, 상기 현재의 가상 메모리 영역으로부터의 상기 트랜지션을 새로운 가상 메모리 영역으로 로그하는 단계를 포함하는, 컴퓨팅 디바이스 상에서 실행하는 프로세스에 대한 소프트웨어 공격들을 검출하는 방법. - 제 4 항에 있어서,
상기 프로세스에 의해 현재 실행되고 있는 명령에 관한 새로운 정보를 수신하는 단계는, 프로그램 카운터 값 및 프로세스 식별자를 수신하는 단계를 포함하는, 컴퓨팅 디바이스 상에서 실행하는 프로세스에 대한 소프트웨어 공격들을 검출하는 방법. - 제 1 항에 있어서,
상기 프로세스에 의해 이용되는 상기 복수의 가상 메모리 영역들의 구조적 속성들을 모니터링하는 단계는,
상기 프로세스가 실행중인 현재의 가상 메모리 영역에 관한 정보를 저장하는 단계;
상기 복수의 가상 메모리 영역들에 대해 하나 이상의 가상 메모리 영역 추적 전략들을 구현하는 단계;
상기 하나 이상의 가상 메모리 영역 추적 전략들에 기초하여, 상기 현재의 가상 메모리 영역으로부터의 트랜지션이 있었는지 여부를 결정하는 단계; 및
상기 현재의 가상 메모리 영역으로부터의 상기 트랜지션이 있었다고 결정하는 것에 응답하여, 상기 현재의 가상 메모리 영역으로부터의 상기 트랜지션을 새로운 가상 메모리 영역으로 로그하는 단계를 포함하는, 컴퓨팅 디바이스 상에서 실행하는 프로세스에 대한 소프트웨어 공격들을 검출하는 방법. - 제 6 항에 있어서,
상기 복수의 가상 메모리 영역들에 대해 상기 하나 이상의 가상 메모리 영역 추적 전략들을 구현하는 단계는, 상기 복수의 가상 메모리 영역들에 대해 선택적 추적, 주기적인 추적, 기회주의적 추적, 또는 페이지 오류 기반의 추적을 구현하는 단계를 포함하는, 컴퓨팅 디바이스 상에서 실행하는 프로세스에 대한 소프트웨어 공격들을 검출하는 방법. - 제 1 항에 있어서,
모니터링된 상기 구조적 속성들을 상기 복수의 가상 메모리 영역들의 상기 예상된 구조적 속성들과 비교하는 단계는, 규칙들의 세트를 모니터링된 상기 구조적 속성들에 적용하는 단계를 포함하며,
상기 규칙들의 세트는 상기 복수의 가상 메모리 영역들의 상기 예상된 구조적 속성들에 기초하는, 컴퓨팅 디바이스 상에서 실행하는 프로세스에 대한 소프트웨어 공격들을 검출하는 방법. - 제 1 항에 있어서,
모니터링된 상기 구조적 속성들을 상기 복수의 가상 메모리 영역들의 상기 예상된 구조적 속성들과 비교하는 단계는,
상기 복수의 가상 메모리 영역들의 상기 예상된 구조적 속성들을 모델링하여 모델을 생성하는 단계; 및
모니터링된 상기 구조적 속성들을 상기 모델과 비교하는 단계를 포함하는, 컴퓨팅 디바이스 상에서 실행하는 프로세스에 대한 소프트웨어 공격들을 검출하는 방법. - 컴퓨팅 디바이스로서,
복수의 가상 메모리 영역들을 포함하는 메모리; 및
상기 메모리에 커플링된 프로세서를 포함하며,
상기 프로세서는,
상기 컴퓨팅 디바이스 상에서 실행하는 프로세스에 의해 이용되는 상기 복수의 가상 메모리 영역들의 구조적 속성들을 모니터링하는 것으로서, 모니터링된 상기 구조적 속성들은,
상기 복수의 가상 메모리 영역들의 어드레스 공간 레이아웃,
상기 복수의 가상 메모리 영역들에 포함된 가상 메모리 영역들의 수, 또는
상기 복수의 가상 메모리 영역들에 포함된 가상 메모리 영역의 사이즈
를 포함하는, 상기 구조적 속성들을 모니터링하고;
모니터링된 상기 구조적 속성들을 상기 복수의 가상 메모리 영역들의 예상된 구조적 속성들과 비교하며; 그리고
모니터링된 상기 구조적 속성들과 상기 예상된 구조적 속성들 간의 비교에 기초하여, 모니터링된 상기 구조적 속성들이 상기 프로세스의 비정상적인 거동을 나타내는지 여부를 결정하기 위한
프로세서-실행가능한 명령들을 실행하도록 구성되는, 컴퓨팅 디바이스. - 제 10 항에 있어서,
상기 프로세서는,
모니터링된 상기 구조적 속성들이 비정상적인 거동을 나타낸다고 결정하는 것에 응답하여 보호 액션을 개시하기 위한
프로세서-실행가능한 명령들을 실행하도록 더 구성되는, 컴퓨팅 디바이스. - 제 10 항에 있어서,
상기 프로세서는, 상기 프로세스에 의해 이용되는 복수의 가상 메모리 영역들의 구조적 속성들을 모니터링하는 것이,
상기 어드레스 공간 레이아웃에 대한 변화들을 모니터링하는 것;
상기 복수의 가상 메모리 영역들의 액세스 허가들에 대한 변화들을 모니터링하는 것; 또는
상기 복수의 가상 메모리 영역들의 상태 트랜지션 이력을 모니터링하는 것
에 의해 수행되도록 하는 프로세서-실행가능한 명령들을 실행하도록 더 구성되는, 컴퓨팅 디바이스. - 제 10 항에 있어서,
상기 프로세서는,
상기 프로세스가 실행중인 현재의 가상 메모리 영역에 관한 정보를 저장하는 것;
상기 프로세스에 의해 현재 실행되고 있는 명령에 관한 새로운 정보를 수신하는 것;
수신된 상기 새로운 정보에 기초하여, 상기 현재의 가상 메모리 영역으로부터의 트랜지션이 있었는지 여부를 결정하는 것; 및
상기 현재의 가상 메모리 영역으로부터의 상기 트랜지션이 있었다고 결정하는 것에 응답하여, 상기 현재의 가상 메모리 영역으로부터의 상기 트랜지션을 새로운 가상 메모리 영역으로 로그하는 것
에 의해, 상기 프로세스에 의해 이용되는 상기 복수의 가상 메모리 영역들의 구조적 속성들을 모니터링하기 위한 프로세서-실행가능한 명령들을 실행하도록 더 구성되는, 컴퓨팅 디바이스. - 제 13 항에 있어서,
상기 프로세서는, 상기 프로세스에 의해 현재 실행되고 있는 명령에 관한 새로운 정보를 수신하는 것이, 프로그램 카운터 값 및 프로세스 식별자를 수신하는 것을 포함하도록 하는 동작들을 수행하기 위한 프로세서-실행가능한 명령들을 실행하도록 구성되는, 컴퓨팅 디바이스. - 제 10 항에 있어서,
상기 프로세서는, 상기 프로세스에 의해 이용되는 상기 복수의 가상 메모리 영역들의 구조적 속성들을 모니터링하는 것이,
상기 프로세스가 실행중인 현재의 가상 메모리 영역에 관한 정보를 저장하는 것;
상기 복수의 가상 메모리 영역들에 대해 하나 이상의 가상 메모리 영역 추적 전략들을 구현하는 것;
상기 하나 이상의 가상 메모리 영역 추적 전략들에 기초하여, 상기 현재의 가상 메모리 영역으로부터의 트랜지션이 있었는지 여부를 결정하는 것; 및
상기 현재의 가상 메모리 영역으로부터의 상기 트랜지션이 있었다고 결정하는 것에 응답하여, 상기 현재의 가상 메모리 영역으로부터의 상기 트랜지션을 새로운 가상 메모리 영역으로 로그하는 것
을 포함하도록 하는 동작들을 수행하기 위한 프로세서-실행가능한 명령들을 실행하도록 더 구성되는, 컴퓨팅 디바이스. - 제 15 항에 있어서,
상기 프로세서는, 상기 복수의 가상 메모리 영역들에 대해 상기 하나 이상의 가상 메모리 영역 추적 전략들을 구현하는 것이, 상기 복수의 가상 메모리 영역들에 대해 선택적 추적, 주기적인 추적, 기회주의적 추적, 또는 페이지 오류 기반의 추적을 구현하는 것을 포함하도록 하는 동작들을 수행하기 위한 프로세서-실행가능한 명령들을 실행하도록 구성되는, 컴퓨팅 디바이스. - 제 10 항에 있어서,
상기 프로세서는, 모니터링된 상기 구조적 속성들을 상기 복수의 가상 메모리 영역들의 상기 예상된 구조적 속성들과 비교하는 것이,
규칙들의 세트를 모니터링된 상기 구조적 속성들에 적용하는 것
을 포함하도록 하는 프로세서-실행가능한 명령들을 실행하도록 더 구성되며,
상기 규칙들의 세트는 상기 복수의 가상 메모리 영역들의 상기 예상된 구조적 속성들에 기초하는, 컴퓨팅 디바이스. - 제 10 항에 있어서,
상기 프로세서는, 모니터링된 상기 구조적 속성들을 상기 복수의 가상 메모리 영역들의 상기 예상된 구조적 속성들과 비교하는 것이,
상기 복수의 가상 메모리 영역들의 상기 예상된 구조적 속성들을 모델링하여 모델을 생성하는 것; 및
모니터링된 상기 구조적 속성들을 상기 모델과 비교하는 것
을 포함하도록 하는 프로세서-실행가능한 명령들을 실행하도록 더 구성되는, 컴퓨팅 디바이스. - 저장된 프로세서-실행가능한 소프트웨어 명령들을 가지는 비일시성 컴퓨터 판독가능 저장 매체로서,
상기 프로세서-실행가능한 소프트웨어 명령들은, 컴퓨팅 디바이스의 프로세서로 하여금,
상기 컴퓨팅 디바이스 상에서 실행하는 프로세스에 의해 이용되는 복수의 가상 메모리 영역들의 구조적 속성들을 모니터링하는 것으로서, 모니터링된 상기 구조적 속성들은,
상기 복수의 가상 메모리 영역들의 어드레스 공간 레이아웃,
상기 복수의 가상 메모리 영역들에 포함된 가상 메모리 영역들의 수, 또는
상기 복수의 가상 메모리 영역들에 포함된 가상 메모리 영역의 사이즈
를 포함하는, 상기 구조적 속성들을 모니터링하는 것;
모니터링된 상기 구조적 속성들을 상기 복수의 가상 메모리 영역들의 예상된 구조적 속성들과 비교하는 것; 및
모니터링된 상기 구조적 속성들과 상기 예상된 구조적 속성들 간의 비교에 기초하여, 모니터링된 상기 구조적 속성들이 상기 프로세스의 비정상적인 거동을 나타내는지 여부를 결정하는 것
을 포함하는 동작들을 수행하게 하도록 구성되는, 비일시성 컴퓨터 판독가능 저장 매체. - 제 19 항에 있어서,
상기 저장된 프로세서-실행가능한 소프트웨어 명령들은, 상기 프로세서로 하여금,
모니터링된 상기 구조적 속성들이 비정상적인 거동을 나타낸다고 결정하는 것에 응답하여 보호 액션을 개시하는 것
을 더 포함하는 동작들을 수행하게 하도록 구성되는, 비일시성 컴퓨터 판독가능 저장 매체. - 제 19 항에 있어서,
상기 저장된 프로세서-실행가능한 소프트웨어 명령들은, 상기 프로세서로 하여금, 상기 프로세스에 의해 이용되는 복수의 가상 메모리 영역들의 구조적 속성들을 모니터링하는 것이,
상기 어드레스 공간 레이아웃에 대한 변화들을 모니터링하는 것;
상기 복수의 가상 메모리 영역들의 액세스 허가들에 대한 변화들을 모니터링하는 것; 또는
상기 복수의 가상 메모리 영역들의 상태 트랜지션 이력을 모니터링하는 것
을 더 포함하도록 하는 동작들을 수행하게 하도록 구성되는, 비일시성 컴퓨터 판독가능 저장 매체. - 제 19 항에 있어서,
상기 저장된 프로세서-실행가능한 소프트웨어 명령들은, 상기 프로세서로 하여금, 상기 프로세스에 의해 이용되는 상기 복수의 가상 메모리 영역들의 구조적 속성들을 모니터링하는 것이,
상기 프로세스가 실행중인 현재의 가상 메모리 영역에 관한 정보를 저장하는 것;
상기 프로세스에 의해 현재 실행되고 있는 명령에 관한 새로운 정보를 수신하는 것;
수신된 상기 새로운 정보에 기초하여, 상기 현재의 가상 메모리 영역으로부터의 트랜지션이 있었는지 여부를 결정하는 것; 및
상기 현재의 가상 메모리 영역으로부터의 상기 트랜지션이 있었다고 결정하는 것에 응답하여, 상기 현재의 가상 메모리 영역으로부터의 상기 트랜지션을 새로운 가상 메모리 영역으로 로그하는 것
을 포함하도록 하는 동작들을 수행하게 하도록 구성되는, 비일시성 컴퓨터 판독가능 저장 매체. - 제 22 항에 있어서,
상기 저장된 프로세서-실행가능한 소프트웨어 명령들은, 상기 프로세서로 하여금, 상기 프로세스에 의해 현재 실행되고 있는 명령에 관한 새로운 정보를 수신하는 것이, 프로그램 카운터 값 및 프로세스 식별자를 수신하는 것을 포함하도록 하는 동작들을 수행하게 하도록 구성되는, 비일시성 컴퓨터 판독가능 저장 매체. - 제 19 항에 있어서,
상기 저장된 프로세서-실행가능한 소프트웨어 명령들은, 상기 프로세서로 하여금, 상기 프로세스에 의해 이용되는 상기 복수의 가상 메모리 영역들의 구조적 속성들을 모니터링하는 것이,
상기 프로세스가 실행중인 현재의 가상 메모리 영역에 관한 정보를 저장하는 것;
상기 복수의 가상 메모리 영역들에 대해 하나 이상의 가상 메모리 영역 추적 전략들을 구현하는 것;
상기 하나 이상의 가상 메모리 영역 추적 전략들에 기초하여, 상기 현재의 가상 메모리 영역으로부터의 트랜지션이 있었는지 여부를 결정하는 것; 및
상기 현재의 가상 메모리 영역으로부터의 상기 트랜지션이 있었다고 결정하는 것에 응답하여, 상기 현재의 가상 메모리 영역으로부터의 상기 트랜지션을 새로운 가상 메모리 영역으로 로그하는 것
을 포함하도록 하는 동작들을 수행하게 하도록 구성되는, 비일시성 컴퓨터 판독가능 저장 매체. - 제 24 항에 있어서,
상기 저장된 프로세서-실행가능한 소프트웨어 명령들은, 상기 프로세서로 하여금, 상기 복수의 가상 메모리 영역들에 대해 상기 하나 이상의 가상 메모리 영역 추적 전략들을 구현하는 것이, 상기 복수의 가상 메모리 영역들에 대해 선택적 추적, 주기적인 추적, 기회주의적 추적, 또는 페이지 오류 기반의 추적을 구현하는 것을 포함하도록 하는 동작들을 수행하게 하도록 구성되는, 비일시성 컴퓨터 판독가능 저장 매체. - 제 19 항에 있어서,
상기 저장된 프로세서-실행가능한 소프트웨어 명령들은, 상기 프로세서로 하여금, 모니터링된 상기 구조적 속성들을 상기 복수의 가상 메모리 영역들의 상기 예상된 구조적 속성들과 비교하는 것이,
규칙들의 세트를 모니터링된 상기 구조적 속성들에 적용하는 것
을 포함하도록 하는 동작들을 수행하게 하도록 구성되며,
상기 규칙들의 세트는 상기 복수의 가상 메모리 영역들의 상기 예상된 구조적 속성들에 기초하는, 비일시성 컴퓨터 판독가능 저장 매체. - 제 19 항에 있어서,
상기 저장된 프로세서-실행가능한 소프트웨어 명령들은, 상기 프로세서로 하여금, 모니터링된 상기 구조적 속성들을 상기 복수의 가상 메모리 영역들의 상기 예상된 구조적 속성들과 비교하는 것이,
상기 복수의 가상 메모리 영역들의 상기 예상된 구조적 속성들을 모델링하여 모델을 생성하는 것; 및
모니터링된 상기 구조적 속성들을 상기 모델과 비교하는 것
을 포함하도록 하는 동작들을 수행하게 하도록 구성되는, 비일시성 컴퓨터 판독가능 저장 매체. - 컴퓨팅 디바이스로서,
상기 컴퓨팅 디바이스 상에서 실행하는 프로세스에 의해 이용되는 복수의 가상 메모리 영역들의 구조적 속성들을 모니터링하는 수단으로서, 모니터링된 상기 구조적 속성들은,
상기 복수의 가상 메모리 영역들의 어드레스 공간 레이아웃,
상기 복수의 가상 메모리 영역들에 포함된 가상 메모리 영역들의 수, 또는
상기 복수의 가상 메모리 영역들에 포함된 가상 메모리 영역의 사이즈
를 포함하는, 상기 구조적 속성들을 모니터링하는 수단;
모니터링된 상기 구조적 속성들을 상기 복수의 가상 메모리 영역들의 예상된 구조적 속성들과 비교하는 수단; 및
모니터링된 상기 구조적 속성들과 상기 예상된 구조적 속성들 간의 비교에 기초하여, 모니터링된 상기 구조적 속성들이 상기 프로세스의 비정상적인 거동을 나타내는지 여부를 결정하는 수단을 포함하는, 컴퓨팅 디바이스.
Applications Claiming Priority (5)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US201562219970P | 2015-09-17 | 2015-09-17 | |
| US62/219,970 | 2015-09-17 | ||
| US15/057,336 | 2016-03-01 | ||
| US15/057,336 US10255434B2 (en) | 2015-09-17 | 2016-03-01 | Detecting software attacks on processes in computing devices |
| PCT/US2016/046747 WO2017048426A1 (en) | 2015-09-17 | 2016-08-12 | Detecting software attacks on processes in computing devices |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| KR20180054726A KR20180054726A (ko) | 2018-05-24 |
| KR102534334B1 true KR102534334B1 (ko) | 2023-05-18 |
Family
ID=58282948
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR1020187010607A Active KR102534334B1 (ko) | 2015-09-17 | 2016-08-12 | 컴퓨팅 디바이스들에서 프로세스들에 대한 소프트웨어 공격들의 검출 |
Country Status (7)
| Country | Link |
|---|---|
| US (1) | US10255434B2 (ko) |
| EP (1) | EP3350741B1 (ko) |
| JP (1) | JP6777732B2 (ko) |
| KR (1) | KR102534334B1 (ko) |
| CN (1) | CN108027859B (ko) |
| TW (1) | TW201717086A (ko) |
| WO (1) | WO2017048426A1 (ko) |
Families Citing this family (13)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| GB2547272B (en) * | 2016-02-15 | 2020-07-15 | F Secure Corp | Improving security of computer resources |
| WO2017187999A1 (ja) | 2016-04-26 | 2017-11-02 | 日本電気株式会社 | プログラム分析システム、プログラム分析方法、及び、記録媒体 |
| US10372909B2 (en) * | 2016-08-19 | 2019-08-06 | Hewlett Packard Enterprise Development Lp | Determining whether process is infected with malware |
| US10783246B2 (en) | 2017-01-31 | 2020-09-22 | Hewlett Packard Enterprise Development Lp | Comparing structural information of a snapshot of system memory |
| EP3413531B1 (en) * | 2017-06-07 | 2025-08-20 | Hewlett-Packard Development Company, L.P. | Intrusion detection system |
| US10706180B2 (en) * | 2017-07-07 | 2020-07-07 | Endgame, Inc. | System and method for enabling a malware prevention module in response to a context switch within a certain process being executed by a processor |
| CN110188540B (zh) * | 2019-04-17 | 2021-06-22 | 中国科学院软件研究所 | 一种基于控制状态跟踪的rop攻击检测方法 |
| JP7333748B2 (ja) * | 2019-12-13 | 2023-08-25 | 株式会社日立製作所 | 電子機器および電子機器の攻撃検知方法 |
| US12118088B2 (en) * | 2020-04-22 | 2024-10-15 | Arm Limited | Moderator system for a security analytics framework |
| CN112307475A (zh) * | 2020-09-29 | 2021-02-02 | 北京软慧科技有限公司 | 一种系统检测方法及装置 |
| CN115730303B (zh) * | 2022-11-11 | 2025-07-15 | 中国人民解放军网络空间部队信息工程大学 | 一种软件异构化安全性评估方法及装置 |
| US20240248990A1 (en) * | 2023-01-24 | 2024-07-25 | Crowdstrike, Inc. | Machine learning-based malware detection for code reflection |
| US20240354411A1 (en) * | 2023-04-21 | 2024-10-24 | Vmware, Inc. | Rapid ransomware detection and recovery |
Family Cites Families (18)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8955104B2 (en) | 2004-07-07 | 2015-02-10 | University Of Maryland College Park | Method and system for monitoring system memory integrity |
| JP2006172003A (ja) * | 2004-12-14 | 2006-06-29 | Ntt Docomo Inc | プログラム実行監視装置、プログラム実行監視方法及びプログラム作成方法 |
| NO20050564D0 (no) | 2005-02-02 | 2005-02-02 | Tore Lysemose Hansen | Programmonitor for a identifisere uautorisert inntrenging i datasystemer |
| US7945958B2 (en) | 2005-06-07 | 2011-05-17 | Vmware, Inc. | Constraint injection system for immunizing software programs against vulnerabilities and attacks |
| US7996904B1 (en) | 2007-12-19 | 2011-08-09 | Symantec Corporation | Automated unpacking of executables packed by multiple layers of arbitrary packers |
| JP4995170B2 (ja) * | 2008-10-06 | 2012-08-08 | 日本電信電話株式会社 | 不正検知方法、不正検知装置、不正検知プログラムおよび情報処理システム |
| US8271450B2 (en) | 2009-10-01 | 2012-09-18 | Vmware, Inc. | Monitoring a data structure in a virtual machine and determining if memory pages containing the data structure are swapped into or out of guest physical memory |
| US9866426B2 (en) * | 2009-11-17 | 2018-01-09 | Hawk Network Defense, Inc. | Methods and apparatus for analyzing system events |
| US8949169B2 (en) * | 2009-11-17 | 2015-02-03 | Jerome Naifeh | Methods and apparatus for analyzing system events |
| KR101663013B1 (ko) | 2010-01-15 | 2016-10-06 | 삼성전자주식회사 | 코드 주입 공격을 감지하는 장치 및 방법 |
| US9401922B1 (en) * | 2010-12-10 | 2016-07-26 | Verizon Patent And Licensing Inc. | Systems and methods for analysis of abnormal conditions in computing machines |
| EP2691908B1 (en) * | 2011-03-28 | 2018-12-05 | McAfee, LLC | System and method for virtual machine monitor based anti-malware security |
| US8584254B2 (en) | 2011-12-08 | 2013-11-12 | Microsoft Corporation | Data access reporting platform for secure active monitoring |
| US9832211B2 (en) * | 2012-03-19 | 2017-11-28 | Qualcomm, Incorporated | Computing device to detect malware |
| CN103729305B (zh) * | 2012-10-11 | 2017-09-08 | 财团法人工业技术研究院 | 虚拟机的存储器管理的方法和计算机系统 |
| US10284591B2 (en) * | 2014-01-27 | 2019-05-07 | Webroot Inc. | Detecting and preventing execution of software exploits |
| US9881153B2 (en) * | 2014-06-20 | 2018-01-30 | Leviathan, Inc. | System and method for detection of heap spray attack |
| WO2017023773A1 (en) * | 2015-07-31 | 2017-02-09 | Digital Guardian, Inc. | Systems and methods of protecting data from injected malware |
-
2016
- 2016-03-01 US US15/057,336 patent/US10255434B2/en active Active
- 2016-08-12 KR KR1020187010607A patent/KR102534334B1/ko active Active
- 2016-08-12 CN CN201680053767.8A patent/CN108027859B/zh active Active
- 2016-08-12 EP EP16758010.9A patent/EP3350741B1/en active Active
- 2016-08-12 WO PCT/US2016/046747 patent/WO2017048426A1/en active Application Filing
- 2016-08-12 JP JP2018513605A patent/JP6777732B2/ja active Active
- 2016-08-17 TW TW105126184A patent/TW201717086A/zh unknown
Also Published As
| Publication number | Publication date |
|---|---|
| US10255434B2 (en) | 2019-04-09 |
| TW201717086A (zh) | 2017-05-16 |
| JP2018532187A (ja) | 2018-11-01 |
| JP6777732B2 (ja) | 2020-10-28 |
| US20170083702A1 (en) | 2017-03-23 |
| EP3350741A1 (en) | 2018-07-25 |
| CN108027859A (zh) | 2018-05-11 |
| EP3350741B1 (en) | 2019-07-17 |
| WO2017048426A1 (en) | 2017-03-23 |
| KR20180054726A (ko) | 2018-05-24 |
| CN108027859B (zh) | 2020-03-24 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR102534334B1 (ko) | 컴퓨팅 디바이스들에서 프로세스들에 대한 소프트웨어 공격들의 검출 | |
| US10936717B1 (en) | Monitoring containers running on container host devices for detection of anomalies in current container behavior | |
| US9898602B2 (en) | System, apparatus, and method for adaptive observation of mobile device behavior | |
| US9158604B1 (en) | Lightweight data-flow tracker for realtime behavioral analysis using control flow | |
| EP3191960B1 (en) | Methods and systems for aggregated multi-application behavioral analysis of mobile device behaviors | |
| US9357411B2 (en) | Hardware assisted asset tracking for information leak prevention | |
| US10104107B2 (en) | Methods and systems for behavior-specific actuation for real-time whitelisting | |
| US9357397B2 (en) | Methods and systems for detecting malware and attacks that target behavioral security mechanisms of a mobile device | |
| US9684787B2 (en) | Method and system for inferring application states by performing behavioral analysis operations in a mobile device | |
| US9519533B2 (en) | Data flow tracking via memory monitoring | |
| US20180039779A1 (en) | Predictive Behavioral Analysis for Malware Detection | |
| US20180060569A1 (en) | Detection and Prevention of Malicious Shell Exploits | |
| Grace et al. | Behaviour analysis of inter-app communication using a lightweight monitoring app for malware detection | |
| US20180107823A1 (en) | Programmable Hardware Security Counters | |
| KR101988747B1 (ko) | 하이브리드 분석을 통한 머신러닝 기반의 랜섬웨어 탐지 방법 및 장치 | |
| Moonsamy et al. | Contrasting permission patterns between clean and malicious Android applications | |
| US12001545B2 (en) | Detecting stack pivots using stack artifact verification | |
| Weiss et al. | Cost-sensitive detection of malicious applications in mobile devices |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PA0105 | International application |
Patent event date: 20180413 Patent event code: PA01051R01D Comment text: International Patent Application |
|
| PG1501 | Laying open of application | ||
| PA0201 | Request for examination |
Patent event code: PA02012R01D Patent event date: 20210726 Comment text: Request for Examination of Application |
|
| E902 | Notification of reason for refusal | ||
| PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20221025 Patent event code: PE09021S01D |
|
| E701 | Decision to grant or registration of patent right | ||
| PE0701 | Decision of registration |
Patent event code: PE07011S01D Comment text: Decision to Grant Registration Patent event date: 20230222 |
|
| GRNT | Written decision to grant | ||
| PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20230516 Patent event code: PR07011E01D |
|
| PR1002 | Payment of registration fee |
Payment date: 20230516 End annual number: 3 Start annual number: 1 |
|
| PG1601 | Publication of registration |