วิธีตรวจสอบ USB Serial Number และสร้าง Approved USB List ใน Trend Micro Apex One
ในองค์กรที่มีการใช้งาน Trend Micro Apex One เพื่อควบคุมอุปกรณ์ USB การอนุญาตให้เฉพาะ USB ที่ได้รับการรับรองสามารถใช้งานได้ถือเป็นแนวทางสำคัญด้าน Cybersecurity และ Data Loss Prevention (DLP)
หนึ่งในข้อมูลที่ใช้แยกแยะอุปกรณ์ USB แต่ละตัวคือ USB Serial Number ซึ่งช่วยให้ผู้ดูแลระบบสามารถระบุอุปกรณ์ที่ได้รับอนุญาตและนำไปจัดทำ Approved USB List หรือรายการ USB ที่องค์กรอนุมัติให้ใช้งานได้
บทความนี้จะแสดงวิธีตรวจสอบ Serial Number ของ USB บน Windows หลายวิธี รวมถึงแนวทางนำข้อมูลไปจัดทำรายการ Approved USB สำหรับใช้งานร่วมกับ Trend Micro Apex One อย่างเป็นระบบ
Table of Contents
- USB Serial Number คืออะไร
- ทำไมองค์กรควรควบคุม USB
- วิธีที่ 1 ตรวจสอบ USB Serial Number ด้วย PowerShell
- วิธีที่ 2 ตรวจสอบด้วย Get-PnpDevice
- วิธีที่ 3 ตรวจสอบผ่าน Device Manager
- วิธีที่ 4 ตรวจสอบผ่าน Windows Registry
- การสร้าง Approved USB List
- แนวทางนำไปใช้กับ Trend Micro Apex One
- ขั้นตอนทดสอบหลังตั้งค่า
- Security Best Practices
- FAQ
USB Serial Number คืออะไร
USB Serial Number คือหมายเลขที่ใช้ระบุอุปกรณ์ USB แต่ละตัว ซึ่งมักถูกเก็บอยู่ภายใน Firmware ของอุปกรณ์ และสามารถปรากฏเป็นส่วนหนึ่งของ Device Instance ID บน Windows
ตัวอย่าง Device Instance ID:
USBSTOR\DISK&VEN_KINGSTON&PROD_DATATRAVELER_3.0&REV_PMAP\001A92053E89BF51B0000001&0
ในตัวอย่างนี้ ส่วนที่มีลักษณะคล้าย:
001A92053E89BF51B0000001
อาจเป็น Serial Number หรือ Unique Device Identifier ที่ Windows ใช้ระบุ USB ตัวนั้น
อย่างไรก็ตาม USB บางรุ่น โดยเฉพาะอุปกรณ์ราคาประหยัด อาจไม่ได้มี Hardware Serial Number ที่ไม่ซ้ำกันจริง ดังนั้นผู้ดูแลระบบควรตรวจสอบข้อมูลมากกว่าหนึ่งค่า เช่น:
- Serial Number
- Vendor ID หรือ VID
- Product ID หรือ PID
- Device Instance ID
- Manufacturer
- Model
ทำไมองค์กรควรควบคุม USB
USB Storage เป็นช่องทางที่สะดวกสำหรับการรับส่งข้อมูล แต่ขณะเดียวกันก็เป็นหนึ่งในช่องทางที่อาจทำให้เกิดความเสี่ยงด้านความปลอดภัยได้
ตัวอย่างความเสี่ยง ได้แก่:
- พนักงานคัดลอกข้อมูลสำคัญออกจากองค์กร
- นำ Malware หรือ Ransomware เข้าสู่ระบบผ่าน USB
- ใช้อุปกรณ์ USB ส่วนตัวกับเครื่อง Server หรือเครื่องที่มีข้อมูลสำคัญ
- ข้อมูลรั่วไหลจาก USB ที่สูญหาย
- ไม่สามารถตรวจสอบย้อนหลังได้ว่าอุปกรณ์ใดถูกใช้งานกับเครื่องใด
แนวทางที่เหมาะสมจึงไม่จำเป็นต้อง Block USB ทั้งหมดเสมอไป แต่สามารถใช้หลักการ:
Block by Default
↓
Approve Specific USB Devices
↓
Allow Only Authorized Devices
↓
Monitor and Audit
วิธีที่ 1 ตรวจสอบ USB Serial Number ด้วย PowerShell
วิธีที่สะดวกสำหรับ System Administrator คือใช้ PowerShell
ตรวจสอบ USB Disk ที่เชื่อมต่ออยู่
Get-CimInstance Win32_DiskDrive |
Where-Object {$_.InterfaceType -eq "USB"} |
Select-Object Model, SerialNumber, DeviceID, PNPDeviceID
ผลลัพธ์อาจมีลักษณะดังนี้:
Model : Kingston DataTraveler 3.0 USB Device
SerialNumber : 001A92053E89BF51B0000001
DeviceID : \\.\PHYSICALDRIVE2
PNPDeviceID : USBSTOR\DISK&VEN_KINGSTON&PROD_DATATRAVELER_3.0...
ค่าที่ควรบันทึกไว้ใน Approved USB List ได้แก่:
- Model
- SerialNumber
- PNPDeviceID
คำสั่งสำหรับดูเฉพาะ Serial Number
Get-CimInstance Win32_DiskDrive |
Where-Object {$_.InterfaceType -eq "USB"} |
Select-Object Model, SerialNumber
ส่งข้อมูลออกเป็น CSV
หากต้องตรวจสอบ USB หลายตัว สามารถ Export ข้อมูลออกมาเก็บเป็นไฟล์ CSV ได้
Get-CimInstance Win32_DiskDrive |
Where-Object {$_.InterfaceType -eq "USB"} |
Select-Object Model, SerialNumber, DeviceID, PNPDeviceID |
Export-Csv "C:\Temp\USB-Devices.csv" -NoTypeInformation
จากนั้นสามารถนำไฟล์ CSV ไปสร้างทะเบียนอุปกรณ์ได้
วิธีที่ 2 ตรวจสอบด้วย Get-PnpDevice
PowerShell ยังสามารถตรวจสอบอุปกรณ์ผ่าน Plug and Play Device Database ได้
Get-PnpDevice -Class DiskDrive |
Select-Object Status, FriendlyName, InstanceId
ตัวอย่าง:
Status FriendlyName InstanceId
------ ------------ ----------
OK Kingston DataTraveler 3.0 USBSTOR\DISK&VEN_KINGSTON...
หากต้องการกรองเฉพาะ USB:
Get-PnpDevice -Class DiskDrive |
Where-Object {$_.InstanceId -like "USBSTOR*"} |
Select-Object FriendlyName, InstanceId
วิธีที่ 3 ตรวจสอบผ่าน Device Manager
ถ้าไม่ต้องการใช้ Command Line สามารถตรวจสอบได้ผ่าน Device Manager
ขั้นตอน
- เสียบ USB ที่ต้องการตรวจสอบ
- กด Windows + X
- เลือก Device Manager
- ขยายหัวข้อ Disk drives
- เลือก USB ที่ต้องการ
- คลิกขวาและเลือก Properties
- ไปที่แท็บ Details
ในช่อง Property ให้ลองตรวจสอบ:
- Device instance path
- Hardware Ids
- Parent
- Bus reported device description
ตัวอย่าง Device Instance Path:
USBSTOR\DISK&VEN_SANDISK&PROD_ULTRA&REV_1.00\4C530001230805117382&0
ค่าหลังเครื่องหมาย Backslash ช่วงท้ายมักใช้เป็นข้อมูลสำคัญในการระบุอุปกรณ์
วิธีที่ 4 ตรวจสอบผ่าน Windows Registry
Windows จะเก็บประวัติของ USB Storage ที่เคยเชื่อมต่อไว้ใน Registry
ตำแหน่งหลักคือ:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USBSTOR
ภายในจะพบ Vendor และ Product ของ USB ที่เคยเชื่อมต่อ
ตัวอย่าง:
Disk&Ven_Kingston&Prod_DataTraveler_3.0&Rev_PMAP
└── 001A92053E89BF51B0000001&0
ข้อมูลส่วนนี้มีประโยชน์มากในงาน:
- Incident Investigation
- Digital Forensics
- ตรวจสอบว่า USB ตัวใดเคยเชื่อมต่อกับเครื่อง
- ทำ Asset Inventory
คำสั่งตรวจสอบ USBSTOR ผ่าน Command Prompt
reg query HKLM\SYSTEM\CurrentControlSet\Enum\USBSTOR /s
ควรใช้บัญชีที่มีสิทธิ์ Administrator ในการตรวจสอบข้อมูลบางส่วน
การสร้าง Approved USB List
หลังจากเก็บข้อมูล USB ที่องค์กรอนุญาตแล้ว ควรสร้างทะเบียนกลางหรือ Approved USB List
ตัวอย่างโครงสร้าง:
Asset ID,User,Department,Manufacturer,Model,Serial Number,Status
USB-001,Somchai,IT,Kingston,DataTraveler 3.0,001A92053E89BF51B0000001,Approved
USB-002,Somsri,Finance,SanDisk,Ultra,4C530001230805117382,Approved
USB-003,Admin,IT,Samsung,Bar Plus,0375821040001234,Approved
ข้อมูลที่แนะนำให้บันทึก
- Asset ID
- USB Manufacturer
- Model
- Serial Number
- VID
- PID
- Device Instance ID
- ผู้ใช้งาน
- แผนก
- วันที่อนุมัติ
- ผู้อนุมัติ
- สถานะ Approved / Revoked
แนวทางนำ Approved USB List ไปใช้กับ Trend Micro Apex One
Trend Micro Apex One สามารถใช้ Device Control เพื่อกำหนดนโยบายการใช้งานอุปกรณ์ภายนอก เช่น USB Storage ได้
โครงสร้างการควบคุมโดยทั่วไปควรเป็น:
Windows Endpoint
↓
Apex One Security Agent
↓
Device Control Policy
↓
Removable Storage
↓
Block / Allow / Read Only
↓
Approved Device Exceptions
แนวคิด Policy ที่แนะนำ
สำหรับเครื่องทั่วไป:
USB Storage = Block
จากนั้นสร้าง Exception สำหรับ USB ที่ได้รับอนุมัติ:
Approved USB
Serial Number = XXXXXXXX
Action = Allow
หรืออาจกำหนดสิทธิ์เป็น:
- Allow
- Read Only
- Block
ชื่อเมนูและความสามารถในการกำหนด Exception อาจแตกต่างกันตาม Apex One Version, License, Device Control/Data Protection Component และ Policy Configuration ขององค์กร
หลักการ Zero Trust สำหรับ USB
แทนที่จะใช้แนวคิด:
Allow all USB
↓
Block selected USB
ควรใช้:
Block all USB
↓
Allow approved USB only
แนวทางหลังช่วยลดความเสี่ยงจาก USB ที่ไม่ได้ลงทะเบียนได้มากกว่า
ขั้นตอนทดสอบหลังตั้งค่า Approved USB
หลังจาก Deploy Policy จาก Apex One แล้ว ไม่ควรถือว่าการตั้งค่าสำเร็จทันที ควรทดสอบจริง
Test Case 1: Approved USB
- เสียบ USB ที่อยู่ใน Approved List
- ตรวจสอบว่า Windows Detect อุปกรณ์
- ทดลองเปิดไฟล์
- ทดลอง Copy File
- ตรวจสอบ Apex One Log
Expected Result:
Approved USB → Allowed
Test Case 2: Unregistered USB
- นำ USB ที่ไม่เคยลงทะเบียนมาเสียบ
- ตรวจสอบว่า Policy Block อุปกรณ์
- ตรวจสอบ Notification
- ตรวจสอบ Apex One Log
Expected Result:
Unknown USB → Blocked
Test Case 3: USB ที่ถูกถอดออกจาก Approved List
กรณีพนักงานคืน USB หรืออุปกรณ์สูญหาย ควรเปลี่ยนสถานะเป็น Revoked และทดสอบอีกครั้ง
Previously Approved USB
↓
Revoke
↓
Deploy Policy
↓
USB should be blocked
Security Best Practices สำหรับ USB Device Control
1. อย่าอนุมัติจากชื่ออุปกรณ์เพียงอย่างเดียว
USB จำนวนมากสามารถมีชื่อเหมือนกัน เช่น:
SanDisk Ultra USB Device
ควรตรวจสอบ Serial Number หรือ Device Instance ID ร่วมด้วย
2. ทำทะเบียน Asset
USB ทุกตัวที่องค์กรอนุมัติควรมี Asset ID เช่น:
USB-IT-001
USB-FIN-001
USB-SERVER-001
3. แยก Policy สำหรับ Server
Windows Server ควรใช้ Policy ที่เข้มงวดกว่าเครื่อง Client โดยเฉพาะระบบ:
- Domain Controller
- Database Server
- File Server
- Backup Server
- Application Server
หากไม่มีความจำเป็น ควร Block USB Storage เป็น Default
4. ตรวจสอบ Agent Health
Device Control จะทำงานได้อย่างถูกต้องเมื่อ Apex One Security Agent และ Component ที่เกี่ยวข้องทำงานสมบูรณ์
ควรตรวจสอบ:
- Agent Online หรือไม่
- Policy Update ล่าสุดหรือไม่
- Device Control Component ทำงานหรือไม่
- Driver/Service ที่เกี่ยวข้องทำงานหรือไม่
- Endpoint ได้รับ Policy ที่ถูกต้องหรือไม่
5. เก็บ Log เพื่อ Audit
องค์กรควรเก็บข้อมูลอย่างน้อย:
- ใครใช้ USB
- USB Serial Number อะไร
- ใช้กับเครื่องใด
- วันและเวลา
- Policy อนุญาตหรือ Block
ตัวอย่าง PowerShell Script สำหรับ USB Inventory
สามารถใช้ Script ต่อไปนี้เป็นพื้นฐานสำหรับตรวจสอบ USB Storage:
$usbDevices = Get-CimInstance Win32_DiskDrive |
Where-Object {
$_.InterfaceType -eq "USB"
}
$usbDevices | ForEach-Object {
[PSCustomObject]@{
ComputerName = $env:COMPUTERNAME
Model = $_.Model
SerialNumber = $_.SerialNumber
DeviceID = $_.DeviceID
PNPDeviceID = $_.PNPDeviceID
DateChecked = Get-Date
}
} | Format-Table -AutoSize
หากต้องการ Export:
$usbDevices = Get-CimInstance Win32_DiskDrive |
Where-Object {
$_.InterfaceType -eq "USB"
}
$usbDevices | ForEach-Object {
[PSCustomObject]@{
ComputerName = $env:COMPUTERNAME
Model = $_.Model
SerialNumber = $_.SerialNumber
DeviceID = $_.DeviceID
PNPDeviceID = $_.PNPDeviceID
DateChecked = Get-Date
}
} | Export-Csv "C:\Temp\Approved-USB-Inventory.csv" -NoTypeInformation
ตัวอย่าง Workflow สำหรับองค์กร
User requests USB access
↓
Security / IT Approval
↓
Register USB
↓
Collect Serial Number
↓
Add to Approved USB List
↓
Add Device Control Exception
↓
Deploy Apex One Policy
↓
Test USB
↓
Monitor Logs
↓
Periodic Review
หาก USB สูญหายหรือพนักงานหมดความจำเป็นในการใช้งาน:
Revoke Approval
↓
Remove Exception
↓
Deploy Updated Policy
↓
USB Blocked
FAQ
USB Serial Number กับ Volume Serial Number เหมือนกันหรือไม่?
ไม่เหมือนกัน Hardware USB Serial Number ใช้ระบุอุปกรณ์ ส่วน Volume Serial Number เป็นข้อมูลของ File System หรือ Volume และอาจเปลี่ยนได้เมื่อ Format Drive
คำสั่ง vol ใช้ตรวจสอบ USB Serial Number ได้หรือไม่?
คำสั่ง:
vol E:
จะแสดง Volume Serial Number ไม่ใช่ Hardware Serial Number ของ USB ดังนั้นไม่ควรใช้เป็นตัวระบุหลักสำหรับ Device Control
Format USB แล้ว Hardware Serial Number จะเปลี่ยนหรือไม่?
โดยทั่วไป Hardware Serial Number ที่มาจาก Firmware จะไม่เปลี่ยนจากการ Format แต่ Volume Serial Number สามารถเปลี่ยนได้
USB ทุกตัวมี Serial Number หรือไม่?
ไม่เสมอไป USB บางรุ่นอาจไม่มี Serial Number ที่ไม่ซ้ำกัน หรือใช้ค่าเดียวกันหลายอุปกรณ์ จึงควรตรวจสอบ VID, PID และ Device Instance ID ประกอบ
ควรอนุญาต USB จาก VID/PID อย่างเดียวหรือไม่?
ไม่แนะนำหากต้องการอนุญาตเฉพาะ USB รายตัว เพราะ VID/PID มักระบุรุ่นของอุปกรณ์ ไม่ได้ระบุ USB แต่ละชิ้น
Approved USB เสียบแล้วแต่ Apex One ยัง Block ควรตรวจอะไร?
ควรตรวจสอบอย่างน้อย:
- Serial Number ถูกต้องหรือไม่
- Endpoint ได้รับ Policy ล่าสุดหรือไม่
- Security Agent Online หรือไม่
- Device Control Component ทำงานหรือไม่
- มี Policy อื่น Override อยู่หรือไม่
- Exception ระบุอุปกรณ์ตรงกับ Device Instance จริงหรือไม่
สามารถใช้ Approved USB List กับ Windows Server ได้หรือไม่?
สามารถวางหลักการควบคุมแบบเดียวกันได้ แต่ต้องตรวจสอบว่า Apex One Agent, Device Control Component, Windows Server Version และ License ที่องค์กรใช้อยู่รองรับ Feature ที่ต้องการ
สรุป
การควบคุม USB อย่างมีประสิทธิภาพไม่ควรจบเพียงการเปิดหรือปิด USB Storage แต่ควรมีระบบทะเบียนอุปกรณ์ที่ชัดเจน
แนวทางที่แนะนำคือ:
- ตรวจสอบ Hardware Serial Number ของ USB
- เก็บ Device Instance ID และข้อมูลอุปกรณ์ประกอบ
- สร้าง Approved USB List กลางขององค์กร
- Block USB ที่ไม่ได้รับอนุญาตเป็น Default
- สร้าง Exception เฉพาะ USB ที่ผ่านการอนุมัติ
- Deploy Policy ผ่าน Trend Micro Apex One
- ทดสอบทั้ง Approved และ Unknown USB
- ตรวจสอบ Log และทบทวน Approved List เป็นระยะ
แนวทางนี้ช่วยให้องค์กรสามารถควบคุม Removable Storage ได้ละเอียดกว่าการ Block USB ทั้งหมด และเหมาะสำหรับระบบที่ต้องการรักษาสมดุลระหว่าง Security และ Operational Requirement