2008-10-17 12 views
1

저는 보안상의 이유로 (지적 재산 보호) 특정 하드 드라이브 파티션/USB 드라이브에 액세스하는 것을 유지하는 방법을 만들고자합니다. Windows가 "드라이브/USB 잠김"에 액세스하려고 시도하면 시도가 중지되고 "드라이브에 액세스 할 수 없음"또는 이와 유사한 것을 반환합니다. 그것은 단지 그럴듯한 아이디어 일뿐입니다. 그렇다면 포인터는 무엇입니까?저장 장치 액세스를 중지 하시겠습니까?

C/C++

고마워요 당신이 그들을 암호화 할 수있는 USB 드라이브의 경우

+0

@Bill the Lizard : 이것은 패키지에 액세스하는 대신 단어에 액세스하는 것 같습니다. – Fionnuala

+0

플러그를 뽑습니다. 이것의 짧은 것만으로도 효과적입니다.) – Piskvor

답변

2

목표를 달성하려면 filter driver을 작성해야합니다. 드라이버를 디스크 드라이버 스택의 어딘가에 넣고 차단하려는 드라이브/파티션에 대한 IRP_MN_START_DEVICE를 실패해야합니다.

드라이버를 작성하려면 Windows Driver Kit이 필요합니다. WDK에 샘플 필터 드라이버가 있습니다. 이 mailing list은 매우 유용하며 아카이브를 검색 할 경우 디스크 필터 드라이버에 대한 많은 정보를 얻을 수 있습니다.
필터 드라이버 작성에 대한 좋은 기사는 here입니다. 등록을해야 등록 할 수 있다고 생각하지만 드라이버를 작성하려면이 사이트에 등록해야합니다.
관련 도서 목록은 here입니다.

1

.

직장에서 암호가있는 경우에만 모든 컴퓨터에서 드라이브에 액세스 할 수있는 Pointsec provider을 사용합니다.

나는 당신은 아마 너무 파티션을 암호화 할 수

가능한 프리웨어 암호화 제품이 있습니다 확신 해요.

는 파티션 문제가 쉽게

2

(기본적으로 난 당신이 적절하게 다른 방법으로 관리 할 수있는 일에 대한 몇 가지 C/C++ 코드를 작성하려는 이유를 모르겠어요). ACL을 사용하여 특정 사용자의 액세스를 차단하십시오.

드라이브 액세스의 경우 Windows의 어딘가에 설정이되어있을 수 있습니다. 더 나쁜 경우에는 강제로 드라이버를 제거하려고 시도 할 수 있습니다. (드라이브의/막대기를 읽는 Windows의 기능과 같은)

0

드라이브를 암호화해야합니다. 다른 방법으로는 공격자가 드라이브를 다른 드라이브에 연결할 수 있습니다 기계로 추출하고 내용물을 추출하십시오.

암호화를 직접 구현하면 안됩니다. 다른 사람이 검토 한 코드에 의존하는 것이 훨씬 낫습니다. 드라이브를 암호화하기 위해 TrueCrypt을 제안합니다.

그런 다음 암호화 된 데이터에 액세스하려는 경우 암호를 묻는 응용 프로그램에 후크를 넣을 수 있습니다. 또는 컴퓨터에 TrueCrypt를 설치하고 정확한 작업 방식에 따라 데이터에 액세스 할 때 드라이브를 연결하도록합니다.

0

알아 두십시오. 커널 작업과 관련이있는 분야는 이미 해당 분야에서 경험이 없다면 수년 내에 측정 된 개발 시간입니다.