1 |
1
삭제
|
2 |
2
윈도우 응용프로그램으로 컴퓨터의 대용량 메모리에 저장되어 컴퓨터의 시스템 메모리에서 실행되며 사용자에게 실행되는 프로세스 정보를 상기 대용량 메모리에 저장된 프로세스 데이터베이스에서 불러와서 보여주거나 제어하는 유저모드 애플리케이션과, 상기 유저모드 애플리케이션에서 서비스를 설치하면 시작하여 사용자 컴퓨터에서 프로세스가 생성되는 것을 감지하고 프로세스가 생성될 때 프로세스 정보를 상기 시스템 메모리의 수신버퍼 메모리 공간에 기록하며 상기 대용량 메모리에 저장되어 상기 시스템 메모리에서 실행되는 커널모드 드라이버와, 상기 커널모드 드라이버에서 수신버퍼 메모리 공간에 기록한 프로세스 정보를 읽어 상기 프로세스 데이터베이스에서 불러온 프로세서 정보를 비교하여 정상 프로세스(상기 프로세스 데이터베이스에 있는 프로세스)인지 비정상 프로세스(상기 프로세스 데이터베이스에 없는 프로세스)인지를 확인하여 수신버퍼 플래그의 값을 "0" 또는 "1"로 설정하는 쓰레드를 포함하고,
상기 커널모드 드라이버에서는 쓰레드로부터 전송되는 수신버퍼 플래그의 값을 판단하여 정상 프로세스인지 비정상 프로세스인지를 확인하여 프로세스의 실행 또는 실행금지를 수행하고,
상기 유저모드 애플리케이션은 프로그램이 시작되면 사용자의 컴퓨터에서 현재 실행중인 프로세스의 정보를 불러오는 프로세스 로딩단계와, 프로세스 정보를 불러오면 상기 프로세스 데이터베이스에 저장된 프로세스의 정보를 불러오는 데이터베이스 목록 불러오기단계와, 상기 프로세스 데이터베이스에서 불러온 프로세스의 정보와 사용자의 컴퓨터에서 현재 실행중인 프로세스의 정보를 비교하여 시스템 프로세스, 정상 응용프로세스, 악성 응용프로세스로 각 프로세스를 구분하여 해당 리스트에 추가하고 사용자에게 보여주는 프로세스 목록추가단계와, 실행중인 프로세스를 데이터베이스의 목록과 비교하여 사용자에게 보여주고 나면 커널모드 드라이버를 설치하고 드라이버 서비스를 시작하는 커널모드 드라이버 서비스설치단계와, 커널모드 드라이버를 설치하고 시작시키고 난 후 쓰레드를 시작하는 쓰레드시작단계를 포함하는 악성 프로세스 차단 및 실행방지 시스템
|
3 |
3
청구항 2에 있어서,
상기 커널모드 드라이버는 상기 유저모드 애플리케이션에 의하여 서비스가 시작되면, 운영체제에서 Ntcreatesection 함수가 호출되었는 지를 감시하며 Ntcreatesection 함수의 호출 여부를 후킹하는 단계와,
상기 Ntcreatesection 함수가 호출되었음을 감지하면 이 함수를 호출한 프로세스의 정보를 수신버퍼에 프로세스 정보로 기록하는 단계와,
상기 프로세스 정보를 기록한 다음에는 쓰레드로부터의 응답을 기다리는 단계를 포함하는 악성 프로세스 차단 및 실행방지 시스템
|
4 |
4
청구항 3에 있어서,
상기 쓰레드는 상기 유저모드 애플리케이션의 쓰레드시작단계에서 시작하여 상기 수신버퍼 메모리 공간에 기록된 프로세스 정보를 읽는 단계와,
상기 수신버퍼 메모리 공간에 기록된 프로세스 정보가 존재하는지를 확인하는 단계와,
상기 기록된 프로세스 정보가 존재하는지를 확인하는 단계에서 기록된 프로세스 정보가 없이 수신버퍼가 비어있으면 10밀리초 휴면을 하고 다시 수신버퍼 메모리 공간에서 프로세스 정보를 읽는 단계로 진행하는 단계와,
상기 기록된 프로세스 정보가 존재하는지를 확인하는 단계에서 수신버퍼 메모리 공간에 프로세스 정보가 기록되어 있으면 상기 프로세스 데이터베이스에 저장된 프로세스 정보를 불러오는 단계와,
상기 수신버퍼 메모리 공간에서 읽은 프로세스 정보가 상기 프로세스 데이터베이스에서 불러온 프로세스 정보의 위협 프로세스 목록에 있는 프로세스인지를 비교하는 단계와,
상기 수신버퍼에서 읽어온 프로세스 정보가 프로세스 데이터베이스에 저장된 위협 프로세스 목록에 있는 프로세스일 경우에는 수신버퍼 플래그의 값을 "0"으로 기록하는 단계와,
상기 수신버퍼에서 읽어온 프로세스 정보가 위협 프로세스 목록에 없을 경우에는 현재 실행하려고 하는 프로세스는 정상 프로세스라고 판단하고 프로세스 목록에 추가하는 단계와,
상기 유저모드 애플리케이션의 현재 실행중인 정상 프로세스 리스트에 프로세스 정보를 추가하며 프로세스 정보가 목록에 추가되면 수신버퍼 플래그의 값을 "1"로 기록하는 단계를 포함하는 악성 프로세스 차단 및 실행방지 시스템
|
5 |
5
청구항 4에 있어서,
상기 커널모드 드라이버는 상기 쓰레드에서 상기 수신버퍼 플래그의 값으로 "0" 또는 "1"이 기록되어 이 값이 쓰레드의 응답을 기다리는 단계로 전송되면 상기 플래그의 값을 받아 플래그의 값이 무엇인지 판별하는 단계와,
상기 수신버퍼 플래그의 값이 "1"일 경우에는 정상 프로세스로 판단하여 프로세스가 정상적으로 실행하도록 하는 단계와,
상기 수신버퍼 플래그의 값이 "0"일 경우에는 위협 프로세스(악성 프로세스)로 판단하여 프로세스의 실행이 금지되도록 상기 유저모드 애플리케이션에서 후킹한 Ntcreatesection 함수의 결과값을 임의로 바꿔 프로세스가 정상적으로 실행되는 것을 차단하는 단계를 더 포함하는 악성 프로세스 차단 및 실행방지 시스템
|