티스토리 뷰

Source : http://www.parkoz.com/zboard/view.php?id=my_tips&no=11570

 

Array
Image size : 320 x 290, Saturday May 24, 2008 01:55:01 pm, Uploaded by 김현강

PC의 데이터를, USB 이동식 저장 장치를 이용한 유출로부터 차단하는 초보적인!!! 방법입니다.
(혹시 중복이면 알려주세요...)

0. 가정

일반적인 사용 환경을 가정합니다.

USB 포트를 물리적으로 차단할 수 없는 상태 및 당사자도 USB 장치를 곧잘 쓰는 상황.
그러므로 USB 포트를 땜질해버린다거나

BIOS에서 USB 컨트롤러를 비활성화하는 방법은 제외입니다.

1. USB 이동식 저장장치를 Read-Only 상태로 설정
이 경우 USB 이동식 저장장치를 PC에 연결하면 제대로 인식은 됩니다만 읽기만 가능해집니다.
이를테면 저장장치의 데이터를 PC로 복사할 수는 있지만 PC의 데이터를 저장장치로 복사는 불가능해집니 다.
1) 가능한 OS

SP2 이상이 설치된 Windows XP, Vista
아쉽게도 제 여건상 위의 OS들에서 확인은 못 해봤습니다.
현재 테스트할 수 있는 시스템은 오로지 2003만 설치되어 있는 관계로...
2003에서는 동작하지 않았습니다. 2003은 XP와 유사점이 많은 OS임에도 불구하고
이것은 XP SP2 이상 또는 Vista에만 포함되는 특정한 보안 정책을 이용한 방법이기 때문인 듯 합니다.
해당 보안 정책을 2003에 포팅할 수 있다면 결과가 어찌될런지는 모르겠지만
기본적으로는 2003에서는 안 됩니다. 2000의 경우도 아직 테스트해보지 못 했습니다.
2) 절차 :
- 레지스트리 편집기 실행 (시작-실행-regedit)
- 다음으로 이동 : HKLM-System-CurrentControlSet-Control
- Control 하위에 다음 명칭의 키가 없다면 생성 : StorageDevicePolicies
- 생성한 StorageDevicePolicies 키 하위에 DWORD로 WriteProtect를 생성
- 생성한 DWORD WriteProtect의 값을 1로 변경
- 시스템 리부팅
3) 특징 :
시스템 리부팅 절차를 거쳐야 효과가 발휘됩니다. 단점이라고 할 수 있죠.
어느 정도 반영구적(?)으로 효과를 지속하고자 할 때 유용하리라 생각됩니다.
Read-Only 효과를 제거하고 싶다면 생성한 DWORD의 값을 0으로 변경하거나
해당 키(StorageDevicePolicies)를 통채로 삭제한 후 리부팅하면 됩니다.

※ 추가로 이러한 USB Write-Block 용 툴들이 몇가지 있는 것으로 압니다.

그 중 몇가지는 위의 방법을 그대로 사용한 것으로 보이더군요.

그런 툴의 경우라면 2003에서는 효과가 없겠지요.

XP와 2003 모두에서 동작 가능한 툴들을 찾아봤으나 아직은 쓸만한 결과를 얻지는 못 했습니다.

또한 2003에서 다른 방식으로 가능한 툴 하나를 발견했으나 도메인 환경(AD 환경)에서만 가능해보였습니다.

2. USB 이동식 저장장치를 인식하지 못하도록 하는 방법#1
이 방법은 원천적으로 USB 이동식 저장장치를 연결해도 시스템이 인식하지 못 하도록 하는 방법입니다.
다만 1번의 방법과는 달리 이 방법은 리부팅 과정이 불필요하므로 좀 더 간편합니다.
1) 가능한 OS

SP2 이상이 설치된 XP, Vista, 그리고 2000도 가능하다는데 정확한 서팩 버전까지는 모르겠습니다.
2003의 경우 SP2에서 테스트해본 결과 제대로 동작했습니다.
(SP1이나 순정상태의 2003은 어떨지 모르겠군요.)
2) 절차
- 레지스트리 편집기 실행 (시작-실행-regedit)
- 다음으로 이동 : HKLM-System-CurrentControlSet-Services-USBSTOR
- USBSTOR 하위에 DWORD Start가 존재하고 기본값이 3으로 되어 있을 겁니다.
이 값을 4로 변경 시 효과가 발휘됩니다.
3) 특징
앞서 언급했듯이 효과의 On/Off가 발휘되는데 시스템 리부팅이 필요치 않습니다.
그러므로 평소에는 Off(Start=4) 시켰다가 자신이 USB 이동식 저장장치를 쓸 때만
On(Start=3)으로 변경하고 사용이 종료되면 다시 Off 시키면 될 것 같습니다.
아래와 같이 2가지 상태에 대한 레지스트리 파일 2개를 생성해두면 편하겠죠.
또한 배치 파일 작성에 익숙하신 분이라면 배치파일도 추가로 생성해서
하나의 파일만 실행하여 선택항을 통해 조작할 수도 있겠고요...

- 파일#1(인식가능) : USBSTOR_On.reg

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesUSBSTOR]

"Type"=dword:00000001

"ErrorControl"=dword:00000001

"ImagePath"=hex(2):73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,44,00,

  52,00,49,00,56,00,45,00,52,00,53,00,5c,00,55,00,53,00,42,00,53,00,54,00,4f,

  00,52,00,2e,00,53,00,59,00,53,00,00,00

"DisplayName"="USB 대용량 저장소 드라이버"

"Start"=dword:00000003

- 파일#2(인식불가) : USBSTOR_Off.reg

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesUSBSTOR]

"Type"=dword:00000001

"ErrorControl"=dword:00000001

"ImagePath"=hex(2):73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,44,00,

  52,00,49,00,56,00,45,00,52,00,53,00,5c,00,55,00,53,00,42,00,53,00,54,00,4f,

  00,52,00,2e,00,53,00,59,00,53,00,00,00

"DisplayName"="USB 대용량 저장소 드라이버"

"Start"=dword:00000004

3. USB 이동식 저장장치를 인식하지 못하도록 하는 방법#2
이것은 2번 방법과 똑같은 방법입니다만 그룹관리정책(gpedit.msc)에서 제어하는 방법입니다.
물론 그룹관리정책에 2번과 같은 효과를 발휘하는 기존의 정책은 없는 것으로 압니다.
정책을 생성해서 그룹관리정책에 추가하는 것이죠.
1) 적당한 텍스트 에디터를 엽니다. 메모장이라던가...
2) 다음의 내용을 입력합니다. (일부 내용은 유저 입맛에 맞게 수정하셔도 됩니다.)

CLASS MACHINE
CATEGORY "Custom Policies"
KEYNAME "SYSTEMCurrentControlSetServicesUsbStor"
  POLICY "USB Mass Storage Installation"
   EXPLAIN "When this policy is enabled, USB mass storage device permissions can be changed by using the drop down box.
Selecting 'Grant Permission' will allow USB mass storage devices to be installed.  Selecting 'Deny Permission' will prohibit
the installation of USB mass storage devices.
IF REMOVING THIS POLICY: Reset to original setting and let policy propegate before deleting policy."
     PART "Change Settings:" DROPDOWNLIST REQUIRED
       VALUENAME "Start"
       ITEMLIST
        NAME "Grant Permission" VALUE NUMERIC 3 DEFAULT
        NAME "Deny Permission" VALUE NUMERIC 4
       END ITEMLIST
     END PART
   END POLICY
END CATEGORY

3) 위의 내용을 확장자 ADM으로 저장합니다. USBSTOR.ADM이라던가... 저장 위치 아무래도 상관 없습니다.
4) 그룹관리정책을 실행합니다. 시작-실행-gpedit.msc
5) 컴퓨터구성-관리템플릿 을 우클릭하여 템플릿 추가/제거 를 택합니다.
Array

6) 추가를 선택한 후 브라우징 창에서 앞서 저장한 *.ADM 파일을 불러옵니다.
Array
7) 현재 정책 템플릿 목록에 USBSTOR가 추가된 것을 확인한 후 닫기를 누릅니다.
8) 아래 그림처럼 Custom Policies 라는 항목이 추가되었습니다.
우클릭하여 보기-필터 사용 중을 택합니다.
Array

9) 필터링 화면에서 마지막의 완전히 관리가 가능한...의 체크를 해제 후 확인을 누릅니다.
Array
10) 이제 다시 Custom Policies를 클릭하면 아래 그림처럼 우측 창에
USB Mass Storage Installation이 보일 겁니다.
Array
이후 gpedit.msc를 재실행할 때마다 9)번 조치를 해줘야
USB Mass Storage Installation이 보이더군요. 단점인지 장점인지 모르겠습니다 ㅡ.ㅡ;

11) USB Mass Storage Installation을 더블클릭하면

다른 정책관리 창과 다를 바 없는 창이 뜹니다. 아래처럼...
Array
12) 총 4가지의 선택이 가능합니다.
- 구성되지 않음, 사용 안 함, 사용-Deny Permission
이상의 3가지를 택하면 USB 이동식 저장장치를 연결해도 PC가 인식을 안 합니다.

- 사용-Grant Permission을 택하면 USB 이동식 저장장치를 인식합니다.

여러모로 부족한 글 끝까지 읽어주셔서 감사합니다.
이상의 내용은 대부분 이미 웹상에 게시되어 있는 글들을 모아둔 것에 불과하고요...

1번과 2번 방법은 특별히 출처를 어디로 적기 어려울 정도로 여러곳에 게시되어 있으며
3번 방법은 아래 주소의 영문 글을 해석한 것입니다.
http://www.pragmaticutopia.com/content/view/89/125/

그리고 여러 OS와 SP 상태에서 테스트한 글들이 피드백으로 달렸으면 좋겠습니다만 호응이 어떨지 모르니 ^^;
XP는 나중에라도 제가 테스트해볼 수 있지만 비스타나 2000은 다른 분들의 반응에만 의존해야 할 것 같군요.