KR20110104209A - 응용프로그램의 파일 입출력 보안방법과 보안시스템 - Google Patents
응용프로그램의 파일 입출력 보안방법과 보안시스템 Download PDFInfo
- Publication number
- KR20110104209A KR20110104209A KR1020100023215A KR20100023215A KR20110104209A KR 20110104209 A KR20110104209 A KR 20110104209A KR 1020100023215 A KR1020100023215 A KR 1020100023215A KR 20100023215 A KR20100023215 A KR 20100023215A KR 20110104209 A KR20110104209 A KR 20110104209A
- Authority
- KR
- South Korea
- Prior art keywords
- security
- file
- event
- filter driver
- application
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6281—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database at program execution time, where the protection is within the operating system
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Storage Device Security (AREA)
Abstract
본 발명은 컴퓨터에 저장된 데이터 또는 응용프로그램 등이 안전한 환경에서 처리 진행될 수 있도록, 저장매체에 있는 파일의 입출력에 대한 보안 제어 정책의 구동 경로와 형식을 정리해서, 보안 제어 정책의 제작을 간편화하고 상기 보안 제어 정책의 갱신 환경을 최적화할 수 있는 응용프로그램의 파일 입출력 보안방법과 보안시스템에 관한 것으로, 컴퓨터에 설치된 응용프로그램(110', 120)의 실행을 확인해서 상기 응용프로그램(110', 120)의 메인프로세스(111)와 독립된 보안프로세스(130)가 실행되되, 보안프로세스(130)는 필터드라이버(220)의 구동 제어를 위해 해당 필터드라이버(220)와 연결되는 보안프로세스 구동단계; 필터드라이버(220)는 응용프로그램(110', 120)이 처리하는 이벤트를 확인해서 그 진행을 중단시키고, 상기 이벤트의 이벤트 정보를 보안프로세스(130)로 전달하는 이벤트 발생단계; 보안프로세스(130)는 상기 이벤트 정보와 해당 보안 제어 정책을 비교해서 상기 이벤트 정보의 후속처리를 결정하고, 해당 결정사항을 필터드라이버(220)로 전달하는 제어 정책 확인단계; 및 필터드라이버(220)는 보안프로세스(130)의 상기 결정사항에 따라 해당 이벤트에 대한 후속처리를 속행하는 실행단계;를 포함하는 것이다.
Description
본 발명은 컴퓨터에 저장된 데이터 또는 응용프로그램 등이 안전한 환경에서 처리 진행될 수 있도록, 저장매체에 있는 파일의 입출력에 대한 보안 제어 정책의 구동 경로와 형식을 정리해서, 보안 제어 정책의 제작을 간편화하고 상기 보안 제어 정책의 갱신 환경을 최적화할 수 있는 응용프로그램의 파일 입출력 보안방법과 보안시스템에 관한 것이다.
널리 알려진 바와 같이, 디지털컨텐츠는 text, graph, multimedia 등 다양한 종류가 있고, 이를 저장하고 표현하며 배포하기 위한 여러 가지 방법이 사용된다.
여기서, 디지털컨텐츠보호(Digital contents security)란 다양한 종류의 디지털컨텐츠에 대한 배포/표현/저장에 대하여 인증/권한/관리의 보안성을 구현하는 것을 말한다.
디지털컨텐츠 보호를 구현하는 기술중 DRM(Digital Right Management)은 다양한 디지털컨텐츠를 CP(Contents Provider)로부터 고객에게 안전하게 전달하고, 고객이 불법적으로 컨텐츠를 유통하지 못하도록 하는 시스템 기술을 말한다.
역시 디지털컨텐츠 보호를 목적으로 하는 문서보안은 기업환경에서 사내에 있는 핵심정보를 보호하고, 송신하고자 하는 기밀정보를 안전하게 외부로 반출할 뿐만 아니라, 무분별한 불법 유출을 방지하는 보안 솔루션을 통칭하여 말한다. 즉 조직 내 중요 문서의 생성과 보관, 내부유통 및 외부 반출의 전체적 흐름을 통합적인 보안 정책을 통해서 체계적으로 관리할 수 있도록 해주는 솔루션을 말하고 장치제어,프린터 제어,인증,서버기술 등 여러 가지 요소가 혼합돼 구성된다. 이런 문서보안의 구성요소들 중에 저장장치에 있는 데이터에 대한 입출력 제어를 통해 무단유출되지 않게 제어하는 방법을 파일 입출력 보안이라 칭한다.
그런데, 이러한 파일 입출력 보안을 구현하기 위해서는 해당 데이터 또는 보안대상 응용프로그램에 대한 해킹 상황 또는 각종 유출 상황 등을 미리 예견해서, 동일한 상황이 발생할 경우 해당 상황에 대한 신속한 대처가 이루어질 수 있도록 하는 보안 제어 정책이 마련되어 있어야 한다. 즉, 이러한 보안프로그램이 보호대상 데이터 또는 응용프로그램을 효과적으로 보호하기 위해서는, 개발자가 다양한 해킹 상황과 다양한 데이터의 유출 상황 등을 미리 예견해서 보안 제어 정책으로 DB 또는 소스코드(이하 DB로 통칭)로 저장하고, 이를 통해 예견된 해킹 및 데이터의 유출 시도가 확인되면 상기 보안 제어 정책에 따라 상기 데이터에 대한 보안 처리가 진행되도록 하는 것이다. 결국, 파일 입출력 보안프로그램의 우수성은 동일한 환경에 저장된 데이터의 해킹 또는 유출 상황 등을 누가 더 많이 예견해서 이를 대비한 보안 제어 정책을 마련했느냐로 좌우될 수 있는 것이다. 물론, 보안프로그램의 보안 행태는 보안 제어 정책 방식에 한정하는 것은 아니나, 상기 방식은 데이터 보안의 기본적인 보안 행태임은 분명하다.
이를 좀 더 구체적으로 설명하면, 도 1(종래 보안프로그램의 프로세스 처리 모습을 개략적으로 도시한 블록도)에서 보인 바와 같이, 보안프로그램은 컴퓨터에 설치되면 사용자레벨(100)과 커널레벨(200)에 각각 사용자레벨 접근제어엔진(113)과 커널레벨 접근제어엔진(210)을 구성시킨다. 이때, 상기 보안프로그램은 보안대상 응용프로그램(110)에 제어모듈(112) 및 사용자레벨 접근제어엔진(113)을 적용하고, 비보안대상 응용프로그램(120)에는 해당 제어모듈(112) 및 사용자레벨 접근제어엔진(113)을 적용하지 않을 수 있다.
참고로, 사용자레벨 접근제어엔진(113)은 보안대상 응용프로그램(110)의 메인프로세스(111) 동작을 제어하고, 커널레벨 접근제어엔진(210)은 메인프로세스(111)에 의해 생성된 서브프로세스(미도시함)의 동작을 제어한다. 여기서 메인프로세스(111)와 서브프로세스의 동작을 제어한다 함은 상기 DB에 저장된 보안 제어 정책에 따라 메인프로세스(111) 및 서브프로세스가 처리하는 데이터의 열람/접근/편집/이동/삭제 기타 데이터 처리에 관한 내용을 제어한다는 것이다.
한편, 사용자레벨 접근제어엔진(113)은 해당 프로세스의 경로 내에 설정되는 DLL 형식으로 제작될 수 있고, 커널레벨 접근제어엔진(210)은 드라이버 형식으로 제작될 수 있다. 따라서, 사용자레벨 접근제어엔진(113)은 특정 데이터에 대한 처리를 위해 함수 실행을 시도할 경우, 사용자레벨 접근제어엔진(113)의 자체 제어 정책에 따라 상기 함수 실행 자체가 원천적으로 차단될 수 있고, 이로 인해 사용자가 상기 제어 정책에 반하는 업무를 요청한다면 해당 프로세스는 이후 절차 진행을 하지 않을 수도 있다.
계속해서, 제어모듈(112)은 제어 대상 프로세스의 정보와 각종 데이터 등의 복사 및 붙여넣기 등의 제어 정책을 기반으로 상기 정보 및 데이터에 대한 처리를 진행하는 것으로, 통상적인 보안프로그램의 필수 구성이며, DLL 형식으로 제작될 수 있다.
이상 설명한 바와 같이, 종래 보안프로그램은 사용자레벨(100)과 커널레벨(200)에 각각 보안대상 응용프로그램(110)과 링크되는 제어모듈(112), 사용자레벨 접근제어엔진(113) 및 커널레벨 접근제어엔진(210)이 생성 또는 설치되고, 사용자가 입력수단(미도시함)을 통해 입력하는 명령에 따라 보안대상 응용프로그램(110)에 대한 데이터 처리를 진행하되, 사용자레벨 접근제어엔진(113)과 커널레벨 접근제어엔진(210)은 설정된 보안 제어 정책에 따라 상기 데이터를 안전한 보안 환경 내에서 처리한다.
그런데, 이러한 종래 보안프로그램은 안정된 보안 환경에서 데이터 또는 보안프로그램이 처리되도록 하기 위해서는, 수많은 보안 제어 정책을 DB에 입력해 사용자레벨 접근제어엔진(113) 및 커널레벨 접근제어엔진(210) 등이 이에 따라 구동하도록 해야하고, 상기 보안프로그램의 설치시 보안대상 응용프로그램(110)과 비보안대상 응용프로그램(120)을 구분해서 보안대상 응용프로그램(110)에 대해서만 해당 제어모듈(112), 사용자레벨 접근제어엔진(113) 및 커널레벨 접근제어엔진(210)이 적용되도록 하는 설치 조건을 제시해야 한다.
결국, 종래 보안프로그램은 전술한 조건을 만족시키기 위해 제작과정에서 구조적인 복잡성과 곤란성이 동반되고, 더욱이 보안성을 높이기 위해 수많은 보안 제어 정책을 주기적으로 제시해 갱신해야 하는데, 이러한 보안 제어 정책 또한 사용자레벨(100)과 커널레벨(200), 보안대상 응용프로그램(110)과 비보안대상 응용프로그램(120) 등의 대상에 따라 다른 포맷과 구동 경로로 제작되어야 하므로, 보안 제어 정책을 제작하고 이를 적용하는 과정 또한 쉽지 않은 문제가 있었다.
물론, 이러한 보안 제어 정책을 개발하기 위해서는 보안대상 응용프로그램(110)에 대한 전문 인력 투입이 불가피하고, 개발 시간 또한 적지 않게 요구되므로, 종래 보안프로그램의 제작과 그 유지 등에 소요되는 비용과 노력이 비효율적인 문제 또한 있었다.
이에 본 발명은 상기와 같은 문제를 해소하기 위해 발명된 것으로, 안전한 보안 환경에서 보안대상 응용프로그램이 실행될 수 있도록 하는 보안프로그램에 대한 보안 제어 정책 개발과 그 갱신이 용이하고, 다양한 구동 조건 및 환경에서도 안정적인 실행상태가 유지될 수 있는 응용프로그램의 파일 입출력 보안방법과 보안시스템의 제공을 기술적 과제로 한다.
상기의 기술적 과제를 달성하기 위하여 본 발명은,
컴퓨터에 설치된 응용프로그램의 실행을 확인해서 상기 응용프로그램의 메인프로세스와 독립된 보안프로세스가 실행되되, 보안프로세스는 필터드라이버의 구동 제어를 위해 해당 필터드라이버와 연결되는 보안프로세스 구동단계;
필터드라이버는 응용프로그램이 처리하는 이벤트를 확인해서 그 진행을 중단시키고, 상기 이벤트의 이벤트 정보를 보안프로세스로 전달하는 이벤트 발생단계;
보안프로세스는 상기 이벤트 정보와 해당 보안 제어 정책을 비교해서 상기 이벤트 정보의 후속처리를 결정하고, 해당 결정사항을 필터드라이버로 전달하는 제어 정책 확인단계; 및
필터드라이버는 보안프로세스의 상기 결정사항에 따라 해당 이벤트에 대한 후속처리를 속행하는 실행단계;
를 포함하는 응용프로그램의 파일 입출력 보안방법이다.
상기의 본 발명은, 사용자레벨과 커널레벨에서 처리되는 응용프로그램 또는 데이터의 보안 제어 정책을 보안프로세스에서 집중해 일괄처리할 수 있으므로, 보안 제어 정책에 대한 포맷과 구동 경로를 용이하게 제작 및 관리할 수 있고, 데이터에 대한 이벤트 처리를 컴퓨터의 보안영역에서 일괄처리하면서도 사용자는 일반영역 및 보안영역의 번거로운 구분없이 간편하게 데이터를 처리할 수 있어서, 실수 또는 고의로 인한 데이터의 유출 등을 원천적으로 차단할 수 있는 효과가 있다.
도 1은 종래 보안프로그램의 프로세스 처리 모습을 개략적으로 도시한 블록도이고,
도 2는 본 발명에 따른 보안프로그램의 프로세스 처리 모습을 개략적으로 도시한 블록도이고,
도 3은 본 발명에 따른 응용프로그램 보안방법의 진행과정을 순차 도시한 플로우차트이고,
도 4는 본 발명에 따른 응용프로그램 보안방법 중 제어 정책 확인과 실행에 대한 진행과정을 순차 도시한 플로우차트이다.
도 2는 본 발명에 따른 보안프로그램의 프로세스 처리 모습을 개략적으로 도시한 블록도이고,
도 3은 본 발명에 따른 응용프로그램 보안방법의 진행과정을 순차 도시한 플로우차트이고,
도 4는 본 발명에 따른 응용프로그램 보안방법 중 제어 정책 확인과 실행에 대한 진행과정을 순차 도시한 플로우차트이다.
이하 본 발명을 첨부된 예시도면에 의거하여 상세히 설명한다.
도 2는 본 발명에 따른 보안프로그램의 프로세스 처리 모습을 개략적으로 도시한 블록도인 바, 이를 참조해 설명한다.
본 발명에 따른 보안시스템은 사용자레벨(100')에 보안대상 응용프로그램(110')과 비보안대상 응용프로그램(120)이 설치되고, 이와 더불어 데이터 처리에 대한 보안 제어 정책을 기반으로 상기 처리를 제어하는 보안프로세스(130)가 추가로 설치된다. 즉, 상기 보안프로세스(130)는 보안대상 응용프로그램(110')과 비보안대상 응용프로그램(120)과는 독립해 구동하는 프로세스인 것이다.
한편, 커널레벨(200')에는 보안프로세스(130)의 제어를 받아 해당 데이터의 처리를 진행하는 필터드라이버(220)가 설치된다. 여기서, 필터드라이버(220)는 보안대상 응용프로그램(110')의 메인프로세스(111)가 진행하려하는 처리 내용을 확인해서 보안프로세스(130)에 질의하고, 보안프로세스(130)의 제어에 따라 다음 과정을 진행한다. 이에 대한 좀 더 구체적인 설명은 본 발명에 따른 보안방법의 실시예와 더불어 설명한다.
도 3은 본 발명에 따른 응용프로그램 보안방법의 진행과정을 순차 도시한 플로우차트인 바, 이를 참조해 설명한다.
S10; 프로세스 구동단계
사용자가 실행하고자하는 응용프로그램(110', 120)을 통상적인 입력수단(미도시함)을 이용해 선택하면, 상기 응용프로그램(110', 120)의 메인프로세스(111)가 각각 구동하면서 해당 응용프로그램(110', 120)을 실행시킨다.
참고로, OS의 탐색기(미도시함)에 의해 진행되는 응용프로그램(110', 120)의 실행 과정과 방법은 널리 알려진 공지,공용의 기술이므로, 여기서는 그 설명을 생략한다.
계속해서, 해당 응용프로그램(110', 120)이 보안대상 응용프로그램(110')일 경우, 상기 보안대상 응용프로그램(110')의 메인프로세스(111) 구동을 확인할 수 있다. 메인프로세스(111)의 구동을 확인하기 위한 수단은 매우 다양할 수 있는데, 우선 탐색기의 프로세스(미도시함)에서 처리되는 API 함수(Createprocess, Createfile 등)의 구동 경로를 확인해서 최종 구동 경로의 응용프로그램을 확인하는 방법, 응용프로그램이 실행될 때 구동하는 프로세스의 종류를 확인하는 방법 등이 있으며, 아래에서 기재되는 청구범위를 벗어나지 않는 한도 내에서 다양하게 변형실시될 수 있음은 물론이다.
S20; 보안프로세스 구동단계
보안대상 응용프로그램(110')의 실행이 확인되면 보안프로세스(130)가 실행된다. 보안프로세스(130)는 보안대상 응용프로그램(110')의 식별기준, 데이터 처리의 실행기준 등을 제한한 보안 제어 정책에 따라 구동하면서 보안대상 응용프로그램(110')에 의해 처리되는 데이터를 보호함은 물론, 더 나아가 비보안대상 응용프로그램(120)에 의해 처리되는 데이터까지도 보호할 수 있다. 즉, 사용자의 선택에 따라 보안대상 응용프로그램(110')의 처리 데이터만 보호하도록 할 수도 있고, 응용프로그램의 보안 대상 여부에 상관없이 해당 컴퓨터에서 처리되는 모든 데이터를 보호하도록 할 수도 있는 것이다.
S30; 이벤트 발생단계
사용자는 현재 실행중인 (비)보안대상 응용프로그램(110', 120)을 조작해서 데이터를 실행, 편집, 저장 또는 삭제 등(이하 '이벤트')을 할 수 있고, 사용자가 입력한 상기 이벤트는 해당 (비)보안대상 응용프로그램(110', 120)의 메인프로세스(110)가 관련 함수를 처리함으로서 진행된다. 이때, 커널레벨(200')의 필터드라이버(220)는 상기 함수를 훅 처리해서 상기 이벤트에 대한 정보를 확인할 수 있도록 함은 물론, 이후 진행에 대한 처리를 중단시킨 후 보안프로세스(130)의 결정 사항에 따라 후속처리가 진행되도록 한다.
S40; 제어 정책 확인단계
상기 이벤트의 후속처리를 위해 필터드라이버(220)는 보안프로세스(130)로 상기 이벤트 발생을 알리되, 이벤트의 종류, 해당 응용프로그램의 종류, 이벤트 발생 위치 등에 대한 이벤트 정보를 함께 전달한다.
보안프로세스(130)는 상기 이벤트 정보를 확인해서 해당 보안 제어 정책을 검색하고, 상기 이벤트의 후속처리 가능 여부를 판단한다. 즉, 보안프로세스(130)는 사용자레벨(100')과 커널레벨(200') 전체에 각각 적용된 보안 제어 정책을 하나의 프로세스(보안프로세스)에 집중시킬 수 있으므로, 상기 보안 제어 정책은 보안프로세스(130)에 맞는 형식으로만 제작하면 되고, 이를 통해 관리자는 보안프로그램 관리를 위해 수행하는 보안 제어 정책의 제작 및 갱신 작업을 획기적으로 간편화할 수 있다.
계속해서, 보안프로세스(130)는 다양한 보안 제어 정책을 DLL 형식으로 저장할 수 있고, 상기 이벤트 정보를 해당 보안 제어 정책과 비교해서 후속처리 가능 여부에 대한 결정 사항을 필터드라이버(220)로 전달한다.
S50; 실행단계
보안프로세스(130)의 결정 사항이 필터드라이버(220)로 전달되면, 필터드라이버(220)는 중단된 상기 이벤트의 후속처리를 상기 결정 사항에 따라 진행한다.
결국, 상기 결정 사항이 다음 실행을 중단하는 것일 경우엔 해당 후속 처리는 해당 함수의 처리를 중단하는 것이고, 상기 결정 사항이 다음 실행을 속행하는 것일 경우엔 해당 후속 처리는 해당 함수의 처리를 지속하는 것이 될 것이다.
따라서, 본 발명에 따른 보안시스템은 데이터의 보안을 위해 보안프로세스(130)에 설정되는 보안 제어 정책만으로도, 상기 데이터의 보안을 안정적으로 진행할 수 있고, 보안프로그램의 관리 및 갱신을 위한 보안 제어 정책의 제작과 갱신 작업에 대한 수고를 줄일 수 있다.
도 4는 본 발명에 따른 응용프로그램 보안방법 중 제어 정책 확인과 실행에 대한 진행과정을 순차 도시한 플로우차트이다.
S41; 영역 확인단계
본 발명에 따른 보안 제어 정책은 해당 컴퓨터에 일반영역과 구분되는 보안영역을 설정해서, 영역별로 데이터의 이벤트 처리가 이루어지도록 한다.
즉, 컴퓨터에 공개된 일반영역인 C 드라이브가 존재한다면, 보안프로그램을 컴퓨터에 설치해 설정할 경우, 상기 C 드라이브와는 독립된 D 드라이브가 생성되고, 상기 D 드라이브는 보안영역으로서 D 드라이브에서 발생하는 이벤트의 대상 데이터를 보호하게 되는 것이다. 물론, 본 발명에 따른 보안영역은 드라이브 단위로 구분될 수도 있을 것이나, 폴더 단위로 구분될 수도 있다. 결국, 보안영역은 데이터(파일)의 저장과 관리가 이루어질 수 있는 공간이라면, 그 공간의 형식에 구분없이 다양하게 변형실시될 수 있다. 이하에서는 C 드라이브는 일반영역을 대표해 기재하고, D 드라이브는 보안영역을 대표해 기재한다.
본 단계인 영역 확인단계(S41)에서는 보안프로세스(130)가 필터드라이버(220)에서 전달한 이벤트 정보를 확인해서, (비)보안대상 응용프로그램(110', 120)이 실행하고 있는 데이터(파일)의 위치가 C 드라이브인지 D 드라이브인지를 확인한다. 즉, 실행하고 있는 데이터(파일)의 위치가 일반영역인지 보안영역인지를 확인하는 것이다.
상기 이벤트 정보의 해당 이벤트가 보안영역인 D 드라이브에서 이루어지는 것으로 확인되면, 보안프로세스(130)는 필터드라이버(220)에 해당 이벤트에 대한 모든 처리(불러오기, 저장)를 속행시키는 결정 사항을 전달하고, 필터드라이버(220)는 상기 결정 사항에 따라 해당 이벤트의 후속처리를 속행한다(내용처리단계, S54).
반면, 상기 이벤트 정보의 해당 이벤트가 일반영역인 C 드라이브에서 이루어지는 것으로 확인되면, 보안프로세스(130)는 상기 이벤트의 내용을 확인하는 다음 단계를 진행한다.
S42; 이벤트 내용 확인단계
상기 영역 확인단계(S41)에서 이벤트가 진행되는 영역이 일반영역으로 확인되면, 이벤트의 내용이 불러오기인지 저장인지를 확인한다. 여기서, 불러오기는 데이터의 출력을 대표하는 것이고, 저장은 데이터의 쓰기, 편집 및 저장을 대표하는 것이다.
만일, (비)보안대상 응용프로그램(110', 120)이 실행하는 데이터(파일)가 이미 있던 파일을 불러와 실행하는 것이라면, 본 단계(S42)에서 해당 이벤트 정보가 데이터(파일)의 불러오기일 경우 경로가 재지정된 파일을 탐색해 열도록 한다(경로 재지정파일 열기단계, S55). 경로 재지정에 대한 좀 더 구체적인 설명은 아래에서 상세히 한다.
계속해서, (비)보안대상 응용프로그램(110', 120)이 실행하는 데이터(파일)가 새로 생성된 것으로서 상기 이벤트의 내용이 상기 데이터(파일)를 컴퓨터의 일반영역에 저장하는 것이라면, 보안프로세스(130)는 더미정보를 생성하는 다음 단계를 진행한다.
S51; 더미파일 생성단계
본 발명에 따른 보안방법은 해당 이벤트가 일반영역에서 이루어지더라도, 보안시스템은 상기 이벤트를 보안영역에서 수행하되, 사용자는 자신이 수행하고 있는 이벤트가 일반영역에서 이루어지는 것으로 인지하도록 진행한다.
이를 위해 보안프로세스(130)는 필터드라이버(220)가 해당 데이터(파일)를 대신하는 더미파일을 생성하도록 하는 결정사항을 전달하고, 필터드라이버(220)는 상기 결정사항에 따라 더미파일을 생성해서 사용자가 지정한 일반영역의 해당 위치에 이를 저장한다. 일 예를 들어 설명하면, 사용자가 (비)보안대상 응용프로그램(110', 120)인 한글(HWP.exe)에서 문서를 작업해 이를 a.hwp 명으로 C 드라이브의 A폴더에 저장을 시도한다면, 필터드라이버(220)는 상기 a.hwp의 더미파일인 동일한 파일명의 a.hwp를 생성한 후, 사용자가 지정한 C 드라이브의 A폴더에 이를 저장한다. 결국, 상기 더미파일의 경로는 C:\A\a.hwp가 될 것이다.
S52; 경로재지정 단계
계속해서, 필터드라이버(220)는 사용자가 작업한 원본인 a.hwp를 보안영역인 D 드라이브에 저장하되, 사용자가 생성한 A폴더 또한 D 드라이브에 생성시켜서 상기 원본 a.hwp이 D 드라이브의 A폴더에 저장되도록 탐색 경로를 지정한다.
이때 원본 데이터(파일)의 더미파일은 파일명에 대한 데이터와 원본 데이터(파일)과의 링크를 위한 정보만을 포함할 뿐이고 실제 데이터는 전혀 포함하고 있지 않다.
참고로, 보안영역인 D 드라이브에서 필터드라이버(220)의 경로재지정으로 저장되는 원본 데이터(파일)에 대한 관리를 효과적으로 하기 위해, D 드라이브의 하위 디렉토리로 C 드라이브 폴더를 생성시키고, 이렇게 생성된 C 드라이브에 하위 디렉토리인 상기 A폴더를 생성시킨 후 원본 데이터(파일)를 저장할 수도 있을 것이다. 따라서, 원본 데이터(파일)의 재지정 경로는 D:\C\A\a.hwp가 될 것이다.
S53; 내용처리단계
원본 데이터(파일)와 더미파일의 생성 및 경로 지정이 완료되면, 필터드라이버(220)는 사용자가 입력하는 정보가 더미파일이 아닌 원본 데이터(파일)에 저장되도록 처리한다. 내용처리에 대한 사용자의 계속 진행 여부를 확인(S56)해서 본 발명에 따른 제어 정책 확인단계(S40)와 실행단계(S50)를 반복할 수 있다.
참고로, 이벤트 내용 확인단계(S42)에서 사용자는 일반영역에 있는 더미파일의 불러오기를 시도할 수 있는데, 이러한 이벤트가 발생하면 필터드라이버(220)는 해당 이벤트 정보를 보안프로세스(130)로 전달하고, 보안프로세스(130)는 이러한 이벤트 정보를 확인해서 필터드라이버(220)가 상기 더미파일을 대신해 해당 더미파일의 원본 데이터(파일)를 불러오도록 하는 결정사항을 전달한다. 물론, 필터드라이버(220)는 재지정된 경로에 따라 원본 데이터(파일)를 불러와 실행시킬 것이다.
또한, 사용자는 일반영역에서 더미파일의 위치를 변경할 수 있는데, 필터드라이버(220)는 이러한 이벤트를 확인해서 해당 이벤트 정보를 보안프로세스(130)로 전달하고, 보안프로세스(130)는 상기 이벤트 정보가 보안 제어 정책에 상응하는 이벤트라면, 해당 더미파일의 원본 데이터(파일) 또한 그 위치를 수정하도록 하는 결정사항을 필터드라이버(220)에 전달할 수 있다.
일 예를 통해 설명하면, 사용자가 일반영역인 C 드라이브의 A 폴더에 저장된 a.hwp의 위치를 B 폴더로 옮기는 이벤트를 진행한다면, 필터드라이버(220)는 보안프로세스(130)의 결정사항에 따라, 해당 더미파일의 경로를 C:\A\a.hwp에서 C:\B\a.hwp로 수정하고, 이와 더불어 상기 더미파일의 원본 데이터(파일)의 경로를 D:\C\A\a.hwp에서 D:\C\B\a.hwp로 수정할 수 있다.
Claims (4)
- 컴퓨터에 설치된 응용프로그램(110', 120)의 실행을 확인해서 상기 응용프로그램(110', 120)의 메인프로세스(111)와 독립된 보안프로세스(130)가 실행되되, 보안프로세스(130)는 필터드라이버(220)의 구동 제어를 위해 해당 필터드라이버(220)와 연결되는 보안프로세스 구동단계;
필터드라이버(220)는 응용프로그램(110', 120)이 처리하는 이벤트를 확인해서 그 진행을 중단시키고, 상기 이벤트의 이벤트 정보를 보안프로세스(130)로 전달하는 이벤트 발생단계;
보안프로세스(130)는 상기 이벤트 정보와 해당 보안 제어 정책을 비교해서 상기 이벤트 정보의 후속처리를 결정하고, 해당 결정사항을 필터드라이버(220)로 전달하는 제어 정책 확인단계; 및
필터드라이버(220)는 보안프로세스(130)의 상기 결정사항에 따라 해당 이벤트에 대한 후속처리를 속행하는 실행단계;
를 포함하는 것을 특징으로 하는 응용프로그램의 파일 입출력 보안방법. - 제 1 항에 있어서,
상기 보안프로세스(130) 및 필터드라이버(220)가 설치된 상기 컴퓨터에는 데이터(파일)의 실행이 이루어지는 저장공간이 보안영역과 일반영역으로 구분돼 설정되고,
상기 제어 정책 확인단계는, 보안영역과 일반영역 중 응용프로그램(110', 120)이 처리하는 이벤트가 이루어지는 영역을 확인해서, 해당 영역이 보안영역으로 확인되면 보안프로세스(130)는 필터드라이버(220)에 상기 이벤트의 진행을 속행하는 결정사항을 전달하는 영역확인단계(S41)를 포함하고;
상기 실행단계는, 필터드라이버(220)가 상기 이벤트의 진행을 속행하는 결정사항을 받아 후속처리를 속행하는 내용처리단계(S54)를 포함하는 것을 특징으로 하는 응용프로그램의 파일 입출력 보안방법. - 제 2 항에 있어서,
상기 제어 정책 확인단계는, 상기 영역확인단계(S41)에서 해당 영역이 일반영역으로 확인되면 보안프로세스(130)는 상기 이벤트가 데이터(파일)에 대한 저장인지 불러오기인지를 확인해서, 상기 이벤트가 저장으로 확인되면 보안프로세스(130)는 필터드라이버(220)에 더미파일 생성과 원본 데이터(파일)에 대한 경로 재지정에 관한 결정사항을 전달하는 이벤트 내용 확인단계(S42)를 포함하고;
상기 실행단계는, 필터드라이버(220)가 상기 더미파일을 생성하는 결정사항을 받아 사용자가 지정한 일반영역에 더미파일을 생성하는 더미파일생성단계(S51)와, 필터드라이버(220)가 상기 경로 재지정하는 결정사항을 받아 원본 데이터(파일)의 경로를 보안영역으로 재지정해 저장하는 경로재지정단계(S52)와, 응용프로그램(110', 120)의 해당 이벤트가 보안영역에 재지정된 원본 데이터(파일)를 대상으로 진행되는 내용처리단계(S53)를 포함하는 것을 특징으로 하는 응용프로그램의 파일 입출력 보안방법. - 제 3 항에 있어서,
상기 이벤트 내용 확인단계(S42)는 상기 이벤트가 데이터(파일)에 대한 불러오기로 확인되면, 보안프로세스(130)는 보안영역에 저장된 상기 데이터(파일)의 원본 데이터(파일)를 검색하는 결정사항을 필터드라이버(220)로 전달하고;
상기 실행단계는, 필터드라이버(220)가 보안영역에서 경로가 재지정된 원본 데이터(파일)를 검색해 실행하는 경로재지정파일 열기단계(S55)를 더 포함하는 것을 특징으로 하는 응용프로그램의 파일 입출력 보안방법.
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020100023215A KR101113820B1 (ko) | 2010-03-16 | 2010-03-16 | 응용프로그램의 파일 입출력 보안방법과 보안시스템 |
JP2011053489A JP5224555B2 (ja) | 2010-03-16 | 2011-03-10 | 応用プログラムのファイル入出力保安方法及び保安システム |
US13/048,265 US8452740B2 (en) | 2010-03-16 | 2011-03-15 | Method and system for security of file input and output of application programs |
CN201110061677.2A CN102194078B (zh) | 2010-03-16 | 2011-03-15 | 用于应用程式档案输入及输出的安全性的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020100023215A KR101113820B1 (ko) | 2010-03-16 | 2010-03-16 | 응용프로그램의 파일 입출력 보안방법과 보안시스템 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20110104209A true KR20110104209A (ko) | 2011-09-22 |
KR101113820B1 KR101113820B1 (ko) | 2012-02-29 |
Family
ID=44645383
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020100023215A KR101113820B1 (ko) | 2010-03-16 | 2010-03-16 | 응용프로그램의 파일 입출력 보안방법과 보안시스템 |
Country Status (4)
Country | Link |
---|---|
US (1) | US8452740B2 (ko) |
JP (1) | JP5224555B2 (ko) |
KR (1) | KR101113820B1 (ko) |
CN (1) | CN102194078B (ko) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8402269B2 (en) * | 2004-02-24 | 2013-03-19 | Softcamp Co., Ltd. | System and method for controlling exit of saved data from security zone |
US9064111B2 (en) * | 2011-08-03 | 2015-06-23 | Samsung Electronics Co., Ltd. | Sandboxing technology for webruntime system |
CN103858133B (zh) * | 2011-08-10 | 2017-05-17 | 瑞穗情报综研株式会社 | 信息管理系统以及信息管理方法 |
US8893225B2 (en) | 2011-10-14 | 2014-11-18 | Samsung Electronics Co., Ltd. | Method and apparatus for secure web widget runtime system |
KR101895453B1 (ko) * | 2011-11-09 | 2018-10-25 | 삼성전자주식회사 | 이기종 컴퓨팅 환경에서 보안 강화 방법 및 장치 |
CN102752284A (zh) * | 2012-05-31 | 2012-10-24 | 邵军利 | 一种安全交易方法 |
CN104951454A (zh) * | 2014-03-27 | 2015-09-30 | 河南省中科物联网有限公司 | 一种文件全生命周期追踪控制方法 |
US10289853B2 (en) * | 2016-03-31 | 2019-05-14 | Microsoft Technology Licensing, Llc | Secure driver platform |
KR101995015B1 (ko) * | 2017-04-18 | 2019-07-02 | (주)나무소프트 | 문서의 저장 위치를 제어하기 위한 방법 |
US11080416B2 (en) | 2018-10-08 | 2021-08-03 | Microsoft Technology Licensing, Llc | Protecting selected disks on a computer system |
US11151273B2 (en) | 2018-10-08 | 2021-10-19 | Microsoft Technology Licensing, Llc | Controlling installation of unauthorized drivers on a computer system |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001026277A1 (en) * | 1999-10-01 | 2001-04-12 | Infraworks Corporation | Method and apparatus for packaging and transmitting data |
JP4177957B2 (ja) * | 2000-03-22 | 2008-11-05 | 日立オムロンターミナルソリューションズ株式会社 | アクセス制御システム |
US7035850B2 (en) * | 2000-03-22 | 2006-04-25 | Hitachi, Ltd. | Access control system |
US7660902B2 (en) * | 2000-11-20 | 2010-02-09 | Rsa Security, Inc. | Dynamic file access control and management |
US7725490B2 (en) * | 2001-11-16 | 2010-05-25 | Crucian Global Services, Inc. | Collaborative file access management system |
US20030130953A1 (en) * | 2002-01-09 | 2003-07-10 | Innerpresence Networks, Inc. | Systems and methods for monitoring the presence of assets within a system and enforcing policies governing assets |
US7890477B2 (en) * | 2003-08-20 | 2011-02-15 | Total Training Network, Inc. | Systems and methods for providing digital content |
JP2005148913A (ja) * | 2003-11-12 | 2005-06-09 | Hitachi Ltd | ファイル監視装置 |
JP3976738B2 (ja) * | 2004-02-03 | 2007-09-19 | Necシステムテクノロジー株式会社 | 機密文書管理装置、機密文書管理方法および機密文書管理プログラム |
US8607299B2 (en) * | 2004-04-27 | 2013-12-10 | Microsoft Corporation | Method and system for enforcing a security policy via a security virtual machine |
EP1842195A1 (en) * | 2005-01-18 | 2007-10-10 | Koninklijke Philips Electronics N.V. | Secure host interface |
US8051487B2 (en) * | 2005-05-09 | 2011-11-01 | Trend Micro Incorporated | Cascading security architecture |
JP4140920B2 (ja) * | 2006-04-20 | 2008-08-27 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 個人情報の保護を支援する情報処理装置 |
JP4737762B2 (ja) * | 2006-06-12 | 2011-08-03 | 株式会社日立ソリューションズ | 機密情報の管理プログラム |
ES2730219T3 (es) * | 2007-02-26 | 2019-11-08 | Microsoft Israel Res And Development 2002 Ltd | Sistema y procedimiento para una protección automática de datos en una red informática |
US8161014B1 (en) * | 2007-03-21 | 2012-04-17 | ByStorm Software, LLC | System and method for user file access and tracking |
JP4807289B2 (ja) * | 2007-03-23 | 2011-11-02 | 日本電気株式会社 | 情報処理装置及びファイル処理方法並びにプログラム |
US8131997B2 (en) * | 2007-08-23 | 2012-03-06 | Samsung Electronics Co., Ltd. | Method of mutually authenticating between software mobility device and local host and a method of forming input/output (I/O) channel |
GB2458568B (en) * | 2008-03-27 | 2012-09-19 | Covertix Ltd | System and method for dynamically enforcing security policies on electronic files |
-
2010
- 2010-03-16 KR KR1020100023215A patent/KR101113820B1/ko active IP Right Grant
-
2011
- 2011-03-10 JP JP2011053489A patent/JP5224555B2/ja active Active
- 2011-03-15 CN CN201110061677.2A patent/CN102194078B/zh active Active
- 2011-03-15 US US13/048,265 patent/US8452740B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP5224555B2 (ja) | 2013-07-03 |
US8452740B2 (en) | 2013-05-28 |
JP2011192275A (ja) | 2011-09-29 |
CN102194078B (zh) | 2014-07-16 |
US20110231378A1 (en) | 2011-09-22 |
KR101113820B1 (ko) | 2012-02-29 |
CN102194078A (zh) | 2011-09-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101113820B1 (ko) | 응용프로그램의 파일 입출력 보안방법과 보안시스템 | |
US7380267B2 (en) | Policy setting support tool | |
EP3028155B1 (en) | Managing configurations of computing terminals | |
US9443101B2 (en) | Low-cost specification and enforcement of a privacy-by-consent-policy for online services | |
KR101705550B1 (ko) | 보안 저장 영역에 대한 응용 프로그램의 접근 제어 방법 및 장치 | |
Wei et al. | Managing security of virtual machine images in a cloud environment | |
EP2071504B1 (en) | Sensitive information management | |
US20120124675A1 (en) | Apparatus and method for managing digital rights through hooking a kernel native api | |
CN102708326A (zh) | 一种涉密文件的保护方法 | |
GB2398134A (en) | Applying a data handing policy to predetermined system calls | |
US20240095402A1 (en) | Methods and Systems for Recursive Descent Parsing | |
US10628489B2 (en) | Controlling access to one or more datasets of an operating system in use | |
JP6670318B2 (ja) | ソフトウェアアプリケーションにおける分類及びirmの実現 | |
CN102663313B (zh) | 一种实现计算机系统信息安全的方法 | |
KR101299051B1 (ko) | 사용자 계정에 따라 작업환경을 분리하는 정보 처리환경 조성장치와 방법 | |
KR102525655B1 (ko) | 문서 저장 제어 방법 | |
KR101207434B1 (ko) | 이종의 디지털 문서 보호 시스템 간의 충돌 방지 시스템 및 방법 | |
KR101956725B1 (ko) | 인가된 실행 파일 및 동적 라이브러리 파일 기반 서버 접근 통제 시스템 | |
KR101995015B1 (ko) | 문서의 저장 위치를 제어하기 위한 방법 | |
US8627068B1 (en) | Selecting access authorities | |
CN117034215A (zh) | 一种软件文件外发管控方法、装置、电子设备及介质 | |
CN104484610A (zh) | 一种Windows操作系统安全加固的实现方法 | |
BR112017005696B1 (pt) | Método e sistema implementado em computador para ativar classificação de dados e/ou a imposição de políticas de gerenciamento de direitos de informação e/ou criptografia em item de dados em uma aplicação |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20150130 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20160201 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20180202 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20190207 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20200204 Year of fee payment: 9 |