본문 바로가기
운영체제 (LNX,WIN)

저장매체 제어장치 통한 개인정보 유출방지 및 악성코드 유입통제

by 날으는물고기 2024. 9. 12.

저장매체 제어장치 통한 개인정보 유출방지 및 악성코드 유입통제

USB 이동식 디스크를 통제하기 위해서는 장치의 하드웨어 정보를 파악하고, 이를 기반으로 통제 정책을 수립하는 것이 필요합니다. 이동식 디스크의 하드웨어 정보는 일반적으로 다음과 같은 규칙성을 가지고 있습니다.

  1. 디바이스 ID (Device ID): 이동식 디스크는 제조사와 모델에 따라 고유의 디바이스 ID를 가지고 있습니다. 이 정보는 USB 장치가 시스템에 연결될 때 자동으로 인식됩니다.
    • 예: VID_1234&PID_ABCD (VID는 Vendor ID, PID는 Product ID)
  2. 시리얼 넘버 (Serial Number): 대부분의 USB 이동식 디스크는 고유한 시리얼 넘버를 가지고 있습니다. 이를 통해 특정 장치를 식별할 수 있습니다.
  3. 클래스 코드 (Class Code): USB 장치에는 클래스 코드가 할당되어 있어 장치 유형을 식별할 수 있습니다. 이동식 디스크는 일반적으로 08 (Mass Storage) 클래스를 사용합니다.

이동식 디스크의 하드웨어 정보 확인 방법

Windows

  1. 장치 관리자(Device Manager)
    • 장치 관리자를 열고 "디스크 드라이브" 섹션에서 이동식 디스크를 선택합니다.
    • 오른쪽 클릭 후 "속성(Properties)"를 선택하고 "자세히(Details)" 탭에서 하드웨어 ID(Hardware IDs)를 확인할 수 있습니다.
  2. PowerShell
    Get-PnpDevice -Class DiskDrive | Select-Object -Property FriendlyName, HardwareID

Linux

  1. lsusb 명령어
    • 연결된 USB 장치의 Vendor ID와 Product ID를 확인할 수 있습니다.
      lsusb
  2. dmesg 명령어
    • 최근 연결된 USB 장치의 정보를 확인할 수 있습니다.
      dmesg | grep -i usb

USB 통제 방안

  1. 그룹 정책 (Windows)
    • 특정 디바이스 ID나 클래스 코드를 기반으로 USB 포트를 제한할 수 있습니다.
    • gpedit.msc를 실행하고 "컴퓨터 구성 -> 관리 템플릿 -> 시스템 -> 이동식 저장소 액세스"에서 정책을 설정합니다.
  2. Udev 규칙 (Linux)
    • /etc/udev/rules.d/에 규칙 파일을 생성하여 특정 USB 장치를 제한할 수 있습니다.
      ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="1234", ATTR{idProduct}=="abcd", RUN+="/bin/sh -c 'echo 1 > /sys/bus/usb/devices/%k/authorized'"
  3. 전용 보안 소프트웨어
    • 엔드포인트 보호 소프트웨어를 사용하여 USB 장치를 관리하고 통제할 수 있습니다.

내부 사용자 보안 가이드

  1. 허가된 USB 장치만 사용
    • 회사에서 허가된 USB 이동식 디스크만 사용하도록 지침을 준수합니다.
  2. 주기적인 보안 점검
    • 정기적으로 USB 장치와 관련된 보안 정책 및 규칙을 점검하고 업데이트합니다.
  3. 암호화된 USB 사용
    • 중요한 데이터를 저장할 경우, 암호화된 USB 이동식 디스크를 사용하여 데이터를 보호합니다.
  4. USB 사용 기록 관리
    • USB 장치 사용 기록을 로그로 남기고 주기적으로 확인합니다.

이러한 방법들을 통해 USB 이동식 디스크의 사용을 효과적으로 통제하고, 보안 위협을 최소화할 수 있습니다. USB 장치의 식별 정보는 다양한 형태로 나타날 수 있으며, USB\VID_USBSTORE\로 시작하는 두 가지 주요 유형이 있습니다.

1. USB\VID_ 형식

USB\VID_로 시작하는 식별 정보는 USB 장치의 Vendor ID (VID)와 Product ID (PID)를 포함하는 형태입니다. 이는 장치의 제조사와 특정 모델을 식별하는 데 사용됩니다.

USB\VID_vvvv&PID_pppp
  • VID (Vendor ID): vvvv 부분은 장치의 제조사를 식별하는 고유한 4자리 16진수입니다.
  • PID (Product ID): pppp 부분은 제조사가 해당 장치에 부여한 고유한 4자리 16진수입니다.

 

예시

USB\VID_046D&PID_C24D

  • VID_046D: 제조사 ID
  • PID_C24D: 제품 ID

이 정보는 주로 드라이버 매칭 및 장치 인식을 위해 사용됩니다.

2. USBSTORE\ 형식

USBSTORE\로 시작하는 식별 정보는 USB 저장 장치(Mass Storage Devices)를 식별하기 위해 사용됩니다. 이 형식은 이동식 디스크와 같은 USB 저장 장치에 주로 사용됩니다.

USBSTOR\Disk&Ven_vvvvv&Prod_ppppp&Rev_rrrr
  • Ven (Vendor): vvvvv 부분은 제조사 이름을 나타냅니다.
  • Prod (Product): ppppp 부분은 제품 이름을 나타냅니다.
  • Rev (Revision): rrrr 부분은 제품의 리비전을 나타냅니다.

 

예시

USBSTOR\Disk&Ven_SanDisk&Prod_Ultra&Rev_1.00
  • Ven_SanDisk: 제조사 이름 (SanDisk)
  • Prod_Ultra: 제품 이름 (Ultra)
  • Rev_1.00: 제품 리비전 (1.00)

이 정보는 운영체제가 USB 저장 장치를 관리하고 인식하는 데 사용됩니다.

추가 정보 확인 방법

Windows

  1. 장치 관리자(Device Manager)에서 확인
    • 장치 관리자 -> 디스크 드라이브에서 해당 장치를 선택하고 "속성" -> "자세히" 탭을 통해 하드웨어 ID를 확인합니다.
    • USB\VID_ 또는 USBSTORE\ 형식의 정보를 찾을 수 있습니다.
  2. PowerShell 명령어
    Get-PnpDevice -Class DiskDrive | Select-Object -Property FriendlyName, HardwareID

Linux

  1. lsusb 명령어
    • 연결된 USB 장치의 Vendor ID와 Product ID를 확인할 수 있습니다.
      lsusb
  2. udevadm info 명령어
    • 특정 장치에 대한 상세 정보를 확인할 수 있습니다.
      udevadm info --query=all --name=/dev/sdX

보안 및 통제 방안

이러한 정보를 기반으로 특정 USB 장치에 대한 접근을 통제할 수 있습니다. 예를 들어, 회사에서 허가되지 않은 특정 Vendor ID나 Product ID를 가진 장치의 사용을 제한할 수 있습니다.

 

그룹 정책 (Windows)

  • 특정 USB\VID_USBSTORE\ 정보를 기반으로 장치 접근을 제한하는 그룹 정책을 설정할 수 있습니다.
  • gpedit.msc를 실행하여 "컴퓨터 구성 -> 관리 템플릿 -> 시스템 -> 이동식 저장소 액세스"에서 정책을 설정합니다.

Udev 규칙 (Linux)

  • 특정 USB\VID_USBSTORE\ 정보를 기반으로 장치 접근을 제한하는 udev 규칙을 설정할 수 있습니다.
    ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="1234", ATTR{idProduct}=="5678", RUN+="/bin/sh -c 'echo 1 > /sys/bus/usb/devices/%k/authorized'"

이와 같은 방식으로 USB 장치의 사용을 효과적으로 통제하고 보안 위협을 줄일 수 있습니다.

USB 장치를 통제하고 관리할 때 사용할 수 있는 식별 정보 유형은 다양합니다. 추가적으로, USB\VID_USBSTORE\ 외에도 여러 유형의 식별 정보가 있으며, 이를 통해 더욱 세부적으로 장치를 관리할 수 있습니다. 각 유형은 특정한 하드웨어 정보를 나타내며, 이를 바탕으로 USB 장치의 접근을 제어할 수 있습니다.

주요 USB 식별 정보 유형

  1. USB\VID_
    • 형식: USB\VID_vvvv&PID_pppp
    • 설명: Vendor ID와 Product ID를 포함하는 식별자.
    • 예시: USB\VID_1234&PID_5678
  2. USBSTORE\
    • 형식: USBSTOR\Disk&Ven_vvvvv&Prod_ppppp&Rev_rrrr
    • 설명: 저장 장치의 Vendor, Product, Revision 정보를 포함하는 식별자.
    • 예시: USBSTOR\Disk&Ven_SanDisk&Prod_Ultra&Rev_1.00
  3. HID (Human Interface Device)
    • 형식: HID\VID_vvvv&PID_pppp
    • 설명: 키보드, 마우스 등 인체 공학적 인터페이스 장치의 식별자.
    • 예시: HID\VID_046D&PID_C534 (Logitech 무선 마우스)
  4. COM (Communications Device Class)
    • 형식: USB\VID_vvvv&PID_pppp&MI_00
    • 설명: 통신 장치의 식별자. MI (Multiple Interface)도 포함될 수 있음.
    • 예시: USB\VID_0403&PID_6001&MI_00
  5. CDC (Communications and CDC Control)
    • 형식: USB\VID_vvvv&PID_pppp&MI_01
    • 설명: CDC 장치의 식별자. 주로 모뎀, 네트워크 카드 등에 사용됨.
    • 예시: USB\VID_12D1&PID_1001&MI_01 (Huawei 모뎀)
  6. Audio Device
    • 형식: USB\VID_vvvv&PID_pppp&MI_02
    • 설명: 오디오 장치의 식별자.
    • 예시: USB\VID_0D8C&PID_000C&MI_02 (C-Media 오디오 장치)
  7. Printer Device
    • 형식: USBPRINT\vvvv_pppp
    • 설명: 프린터 장치의 식별자.
    • 예시: USBPRINT\HPDeskJet_3700
  8. Mass Storage Device
    • 형식: USB\VID_vvvv&PID_pppp&REV_rrrr
    • 설명: 대용량 저장 장치의 식별자. 리비전 정보도 포함됨.
    • 예시: USB\VID_0781&PID_558A&REV_0100 (SanDisk 크루저 USB 드라이브)

식별 정보 확인 방법

Windows

  • 장치 관리자(Device Manager)
    • 장치 관리자를 열고 해당 장치를 찾아 속성(Properties)을 확인하여 하드웨어 ID를 볼 수 있습니다.
  • PowerShell
    Get-PnpDevice -Class DiskDrive | Select-Object -Property FriendlyName, HardwareID

Linux

  • lsusb 명령어
    lsusb
    • 연결된 USB 장치의 Vendor ID와 Product ID를 확인할 수 있습니다.
  • udevadm 명령어
    udevadm info --query=all --name=/dev/sdX

USB 통제 방안

  1. 그룹 정책 (Windows)
    • 특정 식별자를 기반으로 USB 장치 접근을 제한할 수 있습니다.
    • gpedit.msc를 실행하여 "컴퓨터 구성 -> 관리 템플릿 -> 시스템 -> 이동식 저장소 액세스"에서 정책을 설정합니다.
  2. Udev 규칙 (Linux)
    • 특정 식별자를 기반으로 장치 접근을 제한하는 udev 규칙을 설정할 수 있습니다.
      ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="1234", ATTR{idProduct}=="5678", RUN+="/bin/sh -c 'echo 1 > /sys/bus/usb/devices/%k/authorized'"
  3. 엔드포인트 보안 소프트웨어
    • 엔드포인트 보호 소프트웨어를 사용하여 다양한 USB 장치의 접근을 관리하고 통제할 수 있습니다.

특정 USB 장치만 허용하려면 시리얼 넘버를 활용하는 것이 가장 확실한 방법입니다. 시리얼 넘버는 장치 고유의 정보이기 때문에 특정 기기를 식별하고 통제하는 데 유용합니다. 그러나, 시리얼 넘버가 표시되지 않는 경우에는 다른 대안적인 방법을 사용하여 특정 기기만을 허용할 수 있습니다.

Windows에서 특정 USB 장치만 허용하기

Windows에서 특정 USB 장치만 허용하려면 레지스트리 편집기와 그룹 정책을 사용할 수 있습니다.

1. 레지스트리 편집기를 통한 접근 제어

  1. 레지스트리 편집기 열기
    • Win + R을 누르고 regedit를 입력한 후 실행합니다.
  2. 레지스트리 경로로 이동
    • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\USBSTOR로 이동합니다.
  3. USBSTOR 서비스 중지
    • Start 값을 4로 설정하여 USB 저장 장치 서비스를 중지합니다.
  4. 특정 USB 장치 허용
    • 특정 USB 장치를 허용하려면, 해당 장치가 연결될 때마다 레지스트리 값을 변경해야 합니다. 이 작업은 수동으로 하기 어렵기 때문에 스크립트를 사용하여 자동화할 수 있습니다.

2. 그룹 정책을 통한 접근 제어

  1. 그룹 정책 편집기 열기
    • Win + R을 누르고 gpedit.msc를 입력한 후 실행합니다.
  2. 이동식 저장소 접근 제한 설정
    • "컴퓨터 구성 -> 관리 템플릿 -> 시스템 -> 이동식 저장소 접근"으로 이동합니다.
    • "모든 이동식 저장소 클래스: 거부"를 사용으로 설정하여 기본적으로 모든 USB 장치의 접근을 차단합니다.
  3. 특정 장치 허용
    • 특정 장치를 허용하려면, USB 장치가 연결될 때마다 장치 관리자에서 해당 장치의 Hardware ID를 확인하고 이를 기반으로 정책 예외를 설정해야 합니다. 이 작업은 관리 부담이 크므로 자동화 스크립트를 사용할 수 있습니다.

Linux에서 특정 USB 장치만 허용하기

Linux에서는 udev 규칙을 사용하여 특정 USB 장치만 허용할 수 있습니다. 아래 예시는 특정 Vendor ID와 Product ID를 가진 장치만 허용하는 방법입니다.

1. udev 규칙 파일 생성

  1. 규칙 파일 생성
    • /etc/udev/rules.d/99-usb.rules 파일을 생성합니다.
  2. 규칙 작성
    # 모든 USB 저장 장치 차단
    SUBSYSTEM=="usb", ATTR{authorized}="0"
    
    # 특정 Vendor ID와 Product ID를 가진 USB 저장 장치 허용
    SUBSYSTEM=="usb", ATTR{idVendor}=="0781", ATTR{idProduct}=="558A", ATTR{authorized}="1"
  3. udev 규칙 재로드 및 적용
    sudo udevadm control --reload-rules
    sudo udevadm trigger

시리얼 넘버 없이 특정 USB 장치 허용

만약 시리얼 넘버 없이 특정 USB 장치만 허용하고 싶다면, 장치가 연결될 때 마다 장치 관리자나 시스템 로그를 통해 해당 장치의 고유한 정보를 확인하고 이를 기반으로 예외 설정을 해야 합니다.

 

Windows PowerShell 스크립트를 사용한 방법

# 특정 USB 장치 허용 스크립트
$vid = "0781" # Vendor ID
$pid = "558A" # Product ID

# USB 장치 목록 가져오기
$usbDevices = Get-PnpDevice -Class USB

foreach ($device in $usbDevices) {
    if ($device.InstanceId -match "VID_$vid&PID_$pid") {
        # 해당 장치 허용 설정
        # 필요한 경우 레지스트리 값 변경 또는 그룹 정책 예외 설정 추가
        Write-Output "허용된 장치: $($device.Name)"
    }
}

위의 방법들을 사용하면 시리얼 넘버가 표시되지 않더라도 특정 USB 장치만을 허용할 수 있는 방법을 구현할 수 있습니다. 각 환경에 맞는 최적의 방법을 선택하여 보안을 강화할 수 있습니다. Windows 환경에서 특정 USB 장치만 허용하려면 시리얼 넘버 없이도 가능하지만, 이를 위해서는 조금 더 정교한 접근이 필요합니다. 주로 Vendor ID, Product ID, 그리고 다른 고유 식별자를 활용할 수 있습니다. 그룹 정책과 레지스트리 설정을 활용하여 특정 USB 장치만 허용하는 방법입니다.

방법 1: 그룹 정책을 사용하여 특정 USB 장치 허용

  1. 그룹 정책 편집기 열기
    • Win + R을 누르고 gpedit.msc를 입력한 후 실행합니다.
  2. 이동식 저장소 접근 제한 설정
    • "컴퓨터 구성 -> 관리 템플릿 -> 시스템 -> 이동식 저장소 접근"으로 이동합니다.
    • "모든 이동식 저장소 클래스: 거부"를 사용으로 설정하여 기본적으로 모든 USB 장치의 접근을 차단합니다.
  3. 허용할 특정 장치 식별자 설정
    • 이 방법은 그룹 정책만으로는 특정 장치를 허용할 수 없으므로 레지스트리 편집기와 스크립트를 함께 사용합니다.

방법 2: 레지스트리와 스크립트를 사용하여 특정 USB 장치 허용

  1. USB 장치 정보 확인
    • USB 장치를 연결한 후 장치 관리자(Device Manager)에서 해당 장치의 Hardware ID를 확인합니다.
    • 예: USBSTOR\DiskSanDisk_Ultra_USB_3.0___
  2. 레지스트리 편집기로 특정 장치 허용
    • Win + R을 누르고 regedit를 입력한 후 실행합니다.
    • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\USBSTOR로 이동합니다.
    • Start 값을 4로 설정하여 기본적으로 USB 저장 장치 접근을 차단합니다.
  3. 특정 장치만 허용하는 스크립트 작성
    • 특정 Vendor ID와 Product ID를 가진 장치를 허용하는 PowerShell 스크립트를 작성합니다.
      # 특정 USB 장치 허용 스크립트
      
      $targetVid = "0781" # Vendor ID for SanDisk
      $targetPid = "558A" # Product ID for SanDisk Ultra USB 3.0
      
      # USB 장치 목록 가져오기
      $usbDevices = Get-WmiObject Win32_DiskDrive | Where-Object { $_.PNPDeviceID -match "USBSTOR"}
      
      foreach ($device in $usbDevices) {
          if ($device.PNPDeviceID -match "VID_$targetVid&PID_$targetPid") {
              # 허용된 장치
              Write-Output "허용된 장치: $($device.DeviceID)"
              # 레지스트리 값 변경
              Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\USBSTOR" -Name "Start" -Value 3
              # 필요시 추가 작업 (예: 알림, 로그 기록 등)
          } else {
              # 허용되지 않은 장치 차단
              Write-Output "차단된 장치: $($device.DeviceID)"
              # 레지스트리 값 변경
              Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\USBSTOR" -Name "Start" -Value 4
          }
      }
  4. 스크립트 실행
    • 위 스크립트를 관리자로 PowerShell에서 실행합니다.
    • 이 스크립트는 특정 Vendor ID와 Product ID를 가진 USB 장치가 연결될 때만 접근을 허용합니다.

자동 실행 설정

위 스크립트를 USB 장치가 연결될 때마다 자동으로 실행되도록 설정할 수 있습니다.

  1. 태스크 스케줄러(Task Scheduler) 설정
    • Win + R을 누르고 taskschd.msc를 입력한 후 실행합니다.
    • "작업 만들기"를 클릭하고, 트리거에서 "이벤트 발생 시"를 선택합니다.
    • 로그를 Microsoft-Windows-DriverFrameworks-UserMode/Operational로 설정하고, 이벤트 ID를 2100 (USB 장치 연결 시 발생)로 설정합니다.
    • 작업에 실행할 스크립트를 지정합니다.
  2. 스크립트 파일 저장
    • 위 PowerShell 스크립트를 .ps1 파일로 저장합니다.
    • 태스크 스케줄러에서 작업이 트리거될 때 이 스크립트가 실행되도록 설정합니다.

이렇게 하면 특정 USB 장치만 허용할 수 있으며, 시리얼 넘버 없이도 Vendor ID와 Product ID를 기반으로 제어할 수 있습니다. Vendor ID와 Product ID를 확인하기 위해서는 장치 관리자에서 해당 정보를 찾아야 합니다. 아래는 Windows 환경에서 이를 확인하고 특정 USB 장치만 허용하는 방법입니다.

1. USB 장치의 Vendor ID와 Product ID 확인 방법

장치 관리자(Device Manager) 사용

  1. 장치 관리자 열기
    • Win + R을 누르고 devmgmt.msc를 입력한 후 엔터를 누릅니다.
  2. USB 장치 찾기
    • "디스크 드라이브" 섹션에서 SanDisk Ultra USB 3.0 장치를 찾습니다.
  3. 속성 확인
    • 해당 장치를 마우스 오른쪽 버튼으로 클릭하고 "속성(Properties)"을 선택합니다.
    • "자세히(Details)" 탭으로 이동합니다.
    • 속성 드롭다운 메뉴에서 "하드웨어 ID(Hardware Ids)"를 선택합니다.
    • 여기서 VID_PID_ 정보를 확인할 수 있습니다.

PowerShell을 사용한 방법

# USB 장치의 상세 정보를 얻기 위한 PowerShell 스크립트
Get-WmiObject Win32_DiskDrive | Where-Object { $_.PNPDeviceID -match "USBSTOR" } | Select-Object -Property Model, PNPDeviceID

2. PowerShell 스크립트를 사용하여 특정 USB 장치만 허용

위 단계를 통해 얻은 Vendor ID와 Product ID를 사용하여 스크립트를 작성합니다.

$targetVid = "확인한 Vendor ID"  # 예: "0781"
$targetPid = "확인한 Product ID"  # 예: "558A"

# USB 장치 목록 가져오기
$usbDevices = Get-WmiObject Win32_DiskDrive | Where-Object { $_.PNPDeviceID -match "USBSTOR" }

foreach ($device in $usbDevices) {
    if ($device.PNPDeviceID -match "VID_$targetVid&PID_$targetPid") {
        # 허용된 장치
        Write-Output "허용된 장치: $($device.DeviceID)"
        # 레지스트리 값 변경 (USBSTOR 서비스 활성화)
        Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\USBSTOR" -Name "Start" -Value 3
    } else {
        # 허용되지 않은 장치 차단 (USBSTOR 서비스 비활성화)
        Write-Output "차단된 장치: $($device.DeviceID)"
        Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\USBSTOR" -Name "Start" -Value 4
    }
}

3. 스크립트 실행

  1. PowerShell 관리자 권한으로 실행
    • PowerShell을 관리자 권한으로 실행합니다.
    • 위 스크립트를 실행하여 특정 USB 장치만 허용합니다.
  2. 자동화 설정
    • 이 스크립트를 자동으로 실행하도록 태스크 스케줄러(Task Scheduler)를 설정할 수 있습니다.

태스크 스케줄러 설정 방법

  1. 태스크 스케줄러 열기
    • Win + R을 누르고 taskschd.msc를 입력한 후 엔터를 누릅니다.
  2. 새 작업 만들기
    • "작업 만들기"를 클릭하고, 이름과 설명을 입력합니다.
  3. 트리거 설정
    • "트리거" 탭에서 "새로 만들기"를 클릭하고, "이벤트 발생 시"를 선택합니다.
    • 로그를 Microsoft-Windows-DriverFrameworks-UserMode/Operational로 설정하고, 이벤트 ID를 2100으로 설정합니다.
  4. 동작 설정
    • "동작" 탭에서 "새로 만들기"를 클릭하고, PowerShell 스크립트를 실행하도록 설정합니다.

이렇게 하면 특정 USB 장치만 허용할 수 있으며, Vendor ID와 Product ID를 사용하여 다른 모든 장치의 접근을 차단할 수 있습니다.

PNPDeviceID 값이 USBSTOR\DISK&VEN_GENERIC&PROD_STORAGE_DEVICE&REV_9744\000000009744&1 형식인 경우, 장치 식별을 위한 추가 정보를 제공합니다. 이 경우에는 장치의 Vendor, Product, Revision 정보를 포함하고 있습니다. 이 PNPDeviceID 값은 특정 Vendor와 Product를 가지며, 식별자에 고유한 시리얼 넘버(000000009744)를 포함하고 있습니다. 이를 이용해 특정 USB 장치만을 허용할 수 있는 방법을 설명하겠습니다.

PowerShell 스크립트를 사용하여 특정 USB 장치만 허용

  1. Vendor ID, Product ID, 및 시리얼 넘버 추출
    • VEN_GENERIC, PROD_STORAGE_DEVICE, REV_9744, 000000009744
  2. PowerShell 스크립트 작성
    • Vendor ID, Product ID 및 시리얼 넘버를 기반으로 특정 USB 장치만을 허용하는 스크립트를 작성합니다.
# 허용할 장치의 식별자 설정
$targetVid = "GENERIC"
$targetPid = "STORAGE_DEVICE"
$targetRev = "9744"
$targetSerial = "000000009744"

# USB 장치 목록 가져오기
$usbDevices = Get-WmiObject Win32_DiskDrive | Where-Object { $_.PNPDeviceID -match "USBSTOR" }

foreach ($device in $usbDevices) {
    # PNPDeviceID 추출 및 매칭 확인
    if ($device.PNPDeviceID -match "VEN_$targetVid&PROD_$targetPid&REV_$targetRev\\$targetSerial") {
        # 허용된 장치
        Write-Output "허용된 장치: $($device.DeviceID)"
        # 레지스트리 값 변경 (USBSTOR 서비스 활성화)
        Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\USBSTOR" -Name "Start" -Value 3
    } else {
        # 허용되지 않은 장치 차단 (USBSTOR 서비스 비활성화)
        Write-Output "차단된 장치: $($device.DeviceID)"
        Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\USBSTOR" -Name "Start" -Value 4
    }
}

태스크 스케줄러 설정 방법

  1. 태스크 스케줄러 열기
    • Win + R을 누르고 taskschd.msc를 입력한 후 엔터를 누릅니다.
  2. 새 작업 만들기
    • "작업 만들기"를 클릭하고, 이름과 설명을 입력합니다.
  3. 트리거 설정
    • "트리거" 탭에서 "새로 만들기"를 클릭하고, "이벤트 발생 시"를 선택합니다.
    • 로그를 Microsoft-Windows-DriverFrameworks-UserMode/Operational로 설정하고, 이벤트 ID를 2100으로 설정합니다.
  4. 동작 설정
    • "동작" 탭에서 "새로 만들기"를 클릭하고, PowerShell 스크립트를 실행하도록 설정합니다.

위의 PowerShell 스크립트와 태스크 스케줄러를 사용하여 특정 USB 장치 (Vendor ID, Product ID, Revision, 시리얼 넘버 기반)만을 허용하고 다른 모든 장치의 접근을 차단할 수 있습니다. 이를 통해 보안 수준을 높이고 필요한 장치만 사용할 수 있도록 관리할 수 있습니다.

시만텍(Symantec) Endpoint Protection에서 디바이스 제어 기능을 사용하여 특정 USB 장치만을 허용하고 다른 모든 USB 장치를 차단할 수 있습니다.

시만텍 Endpoint Protection에서 USB 장치 통제 설정

  1. USBSTOR 차단
    • 모든 USB 저장 장치를 기본적으로 차단하기 위해 USBSTOR\*를 차단 목록에 추가합니다.
  2. 특정 USB 장치 허용
    • 특정 USB 장치만 허용하기 위해 USBSTOR\DISK&VEN_GENERIC&PROD_STORAGE_DEVICE&REV_9744\000000009744*를 허용 목록에 추가합니다.

설정 단계

  1. 시만텍 Endpoint Protection Manager 열기
    • 시만텍 Endpoint Protection Manager 콘솔을 엽니다.
  2. 정책 생성 또는 수정
    • 좌측 메뉴에서 "정책(Policies)"을 선택합니다.
    • "기본 보호(Default Protection)" 정책을 선택하거나 새 정책을 생성합니다.
  3. 디바이스 제어 설정
    • 정책에서 "디바이스 제어(Device Control)" 설정을 찾습니다.
    • "정책 설정(Policy Settings)"을 클릭하여 디바이스 제어 규칙을 구성합니다.
  4. 모든 USB 저장 장치 차단
    • 새 규칙을 추가하여 모든 USB 저장 장치를 차단합니다.
    • "장치 식별자(Device ID)" 필드에 USBSTOR\*를 입력하고 차단을 설정합니다.
  5. 특정 USB 장치 허용
    • 새 규칙을 추가하여 특정 USB 장치를 허용합니다.
    • "장치 식별자(Device ID)" 필드에 USBSTOR\DISK&VEN_GENERIC&PROD_STORAGE_DEVICE&REV_9744\000000009744*를 입력하고 허용을 설정합니다.
  6. 정책 적용
    • 설정을 저장하고 정책을 클라이언트 그룹에 적용합니다.

예시

1. 모든 USB 저장 장치 차단

  • 장치 식별자(Device ID): USBSTOR\*
  • 동작(Action): 차단(Block)

2. 특정 USB 장치 허용

  • 장치 식별자(Device ID): USBSTOR\DISK&VEN_GENERIC&PROD_STORAGE_DEVICE&REV_9744\000000009744*
  • 동작(Action): 허용(Allow)

이렇게 설정하면 모든 USB 저장 장치는 기본적으로 차단되며, 특정 식별자를 가진 USB 장치만 허용됩니다. 이를 통해 특정 USB 장치만 사용하도록 통제할 수 있으며, 보안 수준을 높일 수 있습니다.

728x90

댓글