KR20110104209A - 응용프로그램의 파일 입출력 보안방법과 보안시스템 - Google Patents

응용프로그램의 파일 입출력 보안방법과 보안시스템 Download PDF

Info

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
Application number
KR1020100023215A
Other languages
English (en)
Other versions
KR101113820B1 (ko
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 소프트캠프(주)
Priority to KR1020100023215A priority Critical patent/KR101113820B1/ko
Priority to JP2011053489A priority patent/JP5224555B2/ja
Priority to US13/048,265 priority patent/US8452740B2/en
Priority to CN201110061677.2A priority patent/CN102194078B/zh
Publication of KR20110104209A publication Critical patent/KR20110104209A/ko
Application granted granted Critical
Publication of KR101113820B1 publication Critical patent/KR101113820B1/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/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting 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/6281Protecting 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

응용프로그램의 파일 입출력 보안방법과 보안시스템{Security method and system for I/O the file in the application}
본 발명은 컴퓨터에 저장된 데이터 또는 응용프로그램 등이 안전한 환경에서 처리 진행될 수 있도록, 저장매체에 있는 파일의 입출력에 대한 보안 제어 정책의 구동 경로와 형식을 정리해서, 보안 제어 정책의 제작을 간편화하고 상기 보안 제어 정책의 갱신 환경을 최적화할 수 있는 응용프로그램의 파일 입출력 보안방법과 보안시스템에 관한 것이다.
널리 알려진 바와 같이, 디지털컨텐츠는 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는 본 발명에 따른 보안프로그램의 프로세스 처리 모습을 개략적으로 도시한 블록도인 바, 이를 참조해 설명한다.
본 발명에 따른 보안시스템은 사용자레벨(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)

  1. 컴퓨터에 설치된 응용프로그램(110', 120)의 실행을 확인해서 상기 응용프로그램(110', 120)의 메인프로세스(111)와 독립된 보안프로세스(130)가 실행되되, 보안프로세스(130)는 필터드라이버(220)의 구동 제어를 위해 해당 필터드라이버(220)와 연결되는 보안프로세스 구동단계;
    필터드라이버(220)는 응용프로그램(110', 120)이 처리하는 이벤트를 확인해서 그 진행을 중단시키고, 상기 이벤트의 이벤트 정보를 보안프로세스(130)로 전달하는 이벤트 발생단계;
    보안프로세스(130)는 상기 이벤트 정보와 해당 보안 제어 정책을 비교해서 상기 이벤트 정보의 후속처리를 결정하고, 해당 결정사항을 필터드라이버(220)로 전달하는 제어 정책 확인단계; 및
    필터드라이버(220)는 보안프로세스(130)의 상기 결정사항에 따라 해당 이벤트에 대한 후속처리를 속행하는 실행단계;
    를 포함하는 것을 특징으로 하는 응용프로그램의 파일 입출력 보안방법.
  2. 제 1 항에 있어서,
    상기 보안프로세스(130) 및 필터드라이버(220)가 설치된 상기 컴퓨터에는 데이터(파일)의 실행이 이루어지는 저장공간이 보안영역과 일반영역으로 구분돼 설정되고,
    상기 제어 정책 확인단계는, 보안영역과 일반영역 중 응용프로그램(110', 120)이 처리하는 이벤트가 이루어지는 영역을 확인해서, 해당 영역이 보안영역으로 확인되면 보안프로세스(130)는 필터드라이버(220)에 상기 이벤트의 진행을 속행하는 결정사항을 전달하는 영역확인단계(S41)를 포함하고;
    상기 실행단계는, 필터드라이버(220)가 상기 이벤트의 진행을 속행하는 결정사항을 받아 후속처리를 속행하는 내용처리단계(S54)를 포함하는 것을 특징으로 하는 응용프로그램의 파일 입출력 보안방법.
  3. 제 2 항에 있어서,
    상기 제어 정책 확인단계는, 상기 영역확인단계(S41)에서 해당 영역이 일반영역으로 확인되면 보안프로세스(130)는 상기 이벤트가 데이터(파일)에 대한 저장인지 불러오기인지를 확인해서, 상기 이벤트가 저장으로 확인되면 보안프로세스(130)는 필터드라이버(220)에 더미파일 생성과 원본 데이터(파일)에 대한 경로 재지정에 관한 결정사항을 전달하는 이벤트 내용 확인단계(S42)를 포함하고;
    상기 실행단계는, 필터드라이버(220)가 상기 더미파일을 생성하는 결정사항을 받아 사용자가 지정한 일반영역에 더미파일을 생성하는 더미파일생성단계(S51)와, 필터드라이버(220)가 상기 경로 재지정하는 결정사항을 받아 원본 데이터(파일)의 경로를 보안영역으로 재지정해 저장하는 경로재지정단계(S52)와, 응용프로그램(110', 120)의 해당 이벤트가 보안영역에 재지정된 원본 데이터(파일)를 대상으로 진행되는 내용처리단계(S53)를 포함하는 것을 특징으로 하는 응용프로그램의 파일 입출력 보안방법.
  4. 제 3 항에 있어서,
    상기 이벤트 내용 확인단계(S42)는 상기 이벤트가 데이터(파일)에 대한 불러오기로 확인되면, 보안프로세스(130)는 보안영역에 저장된 상기 데이터(파일)의 원본 데이터(파일)를 검색하는 결정사항을 필터드라이버(220)로 전달하고;
    상기 실행단계는, 필터드라이버(220)가 보안영역에서 경로가 재지정된 원본 데이터(파일)를 검색해 실행하는 경로재지정파일 열기단계(S55)를 더 포함하는 것을 특징으로 하는 응용프로그램의 파일 입출력 보안방법.
KR1020100023215A 2010-03-16 2010-03-16 응용프로그램의 파일 입출력 보안방법과 보안시스템 KR101113820B1 (ko)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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