2014-07-13 2 views
0

특정 USB 플래시 메모리가 시스템에 연결되어 있는지 확인하는 코드가 필요합니다. 내 linux 기반 시스템에 연결된 USB 플래시 메모리에서 product IDserial Number과 같은 것을 가져 와서이 번호가 유효한 번호와 일치하는지 확인하고 싶습니다. 나는 또한 누군가가이 숫자를 위조 할 수있는 방법이 있는지 알고 싶다. 누군가가 잘못된 플래시 메모리 장치를 사용하고 유효성 검사 프로세스를 통과하기 위해이 숫자를 생성합니까?특정 USB 플래시 메모리가 시스템에 연결되어 있는지 확인하십시오.

답변

1

USB 장치는 커널 pseudofile 계층 구조 /sys/bus/usb/devices/에 설명되어 있습니다. lsusb 같은 도구는이 계층 구조를 검사합니다. 여기에는 컴퓨터가 제공하는 USB 허브와 포트를 포함한 각 장치가 나열되어 있습니다.이 장치는 symlink/디렉토리 당 하나의 장치입니다.

각 장치 디렉토리는 다음과 같은 흥미로운 파일이 포함될 수 있습니다

idVendor   (vendor code, four hexadecimal characters) 
idProduct   (product code, four hexadecimal characters) 

manufacturer  (vendor string as reported by the device) 
product   (product string as reported by the device) 
serial   (serial number string as reported by the device) 

을 만 별도의 장치가 파일을 가지고 구별 것들 (정확한 정의는 개인적으로 알아 귀찮게 적이 USB 전문 용어입니다) 그래서 모든 디렉토리에있는 것은 아닙니다.

그러나 모든 /sys/bus/usb/devices/*/ 디렉터리를 idVendoridProduct 개의 파일로 검사하면 현재 컴퓨터에 연결된 모든 USB 장치 목록을 얻을 수 있습니다. 목록 lsusb과 유사합니다.


USB 장치 공급 업체와 제품 코드, 제조업체, 제품 및 일련 문자열을 복제하는 것은 간단합니다. 필요로하는 것은 네이티브 USB 인터페이스를 갖춘 마이크로 컨트롤러이며 20 달러 미만의 가격으로 일반 USB 동글에 적합한 마이크로 컨트롤러 보드를 구입할 수 있습니다. 그것은하기도 아주 쉽습니다. 이 작업을 수행하기 위해서는 인터넷에서 무료로 사용할 수있는 예제 코드를 약간만 조정하면됩니다. 전문가는 필요하지 않으며 호기심, Google-Fu 및 기본 C 기술만으로 충분합니다.

아니요, 보안을 위해 이러한 세부 정보를 신뢰할 수 없습니다.

대신 USB 스틱의 "키 파일"또는 "라이센스 파일"을 사용하여 응용 프로그램의 USB 스틱 홀더를 식별 할 수 있습니다. 그러나 사용자가 키 파일을 다른 사용자에게 복사하면 우회 할 수 있습니다. 그들은 종종 그렇게합니다.

microSD 인터페이스가있는 값싼 마이크로 컨트롤러를 사용하여 USB 메모리 스틱으로 사용할 수 있지만 다른 USB 끝점도 제공 할 수 있습니다. 하나의 물리적 칩이 둘 이상의 USB 장치로 나타날 수 있습니다. 예를 들어 마이크로 컨트롤러/스토리지의 진위 여부를 확인할 수 있습니다. HID 메시지 (여분의 USB 끝점 중 하나를 키보드와 같은 HID 장치로 사용). 이러한 장치는 30 달러 이하의 저렴한 부품으로 제작할 수 있습니다 (소매로 구입하면 대량 구매시 훨씬 적음). USB 스틱 형 엔클로저와 2-8GB microSD 카드를 추가한다고해서 가격이 너무 비싸지는 않습니다. 키 복사는 피할 수 있지만 실제 키를 훔치거나 리버스 엔지니어링 (응용 프로그램 바이너리 또는 예제 키 제공)하는 것은 그리 어려운 일이 아닙니다. 필요한 하드웨어는 모두 비슷하지만 좀 더 많은 작업이 필요합니다. .

간단히 말해서 보안 동글은 보안을 깨뜨린 사람들에게 실질적인 방해가되는 것보다 항상 사용자에게 불쾌감을주었습니다. 물리적 인 키와 마찬가지로 USB 키도 복제하기가 어렵지 않습니다.

아마도 비즈니스 전략을 재고해야합니까?

+0

완전한 대답을 주셔서 감사합니다. 많은 문제를 해결해 드릴 수 있습니다. – A23149577

관련 문제