스크립트를 통해 Linux 배포판을 자체 파괴 (시스템 파티션에서 모든 것을 삭제)로 설정하는 방법


11

라이센스가 부여 된 소프트웨어를 사용하는 과정을 진행하는 데 도움을 줄 것입니다. 이 소프트웨어는 다소 비싸고 제한된 수의 동시 설치 만 허용하므로 우분투 (또는 다른 종류의 리눅스)가 설치된 암호화 된 가상 디스크에 하나의 인스턴스를 설치하는 것입니다. 불필요한 해적이 발생할 가능성을 줄이기 위해 강의 마지막 날 직후에 cron을 사용하여 자체 파괴 스크립트를 실행하도록 예약하려고합니다. 또는 마지막 날 마지막 부팅의 첫 번째 인스턴스에서 최신 상태입니다.

프리웨어 및 오픈 소스 프로젝트 (일반적으로 크라우드 소싱)를 좋아하는 한 상용 소프트웨어와 개발자가 좋은 제품을 개발하기 위해 노력한 시간과 노력에 대해서도 건전하게 존중합니다. 피, 땀, 눈물의 불법 복제에 실수로 기여하는 것을 원합니다.

Linux 시스템 에서이 자체 파괴 스크립트를 구현하는 방법에 대한 아이디어가 있으면 감사하겠습니다.


2
이것이 왜 다운 보트인지 확실하지 않습니다. 합법적 인 가치가있는 합법적 인 질문입니다.
BinaryMisfit

좋은 질문. 소프트웨어 개발자를 찾아 주셔서 감사합니다. +1
D' Arvit

이것이 정말로 당신의 목표를 더 나아갈 지 확신하지 못합니다. 소프트웨어를 훔치려는 경우 과정 중에 VM의 복사본을 가져갈 수 있습니다. 그들은 여가 시간에 나사로 조일 수 있습니다. 그들은 당신이 한 일을 알아내는 것을 조사하기 위해 항상 live-cd에서 VM을 부팅 할 수 있습니다.
Michael Kohne

답변을 주신 모든 분들께 감사드립니다. :)
techtechmo

답변:


3

여러 번 언급했듯이 암호화 된 이미지를 삭제하면 충분합니다. 다른 방법은 응용 프로그램을 자체 파티션에 설치하고 나중에 dd로 지우는 것입니다.

dd if=/dev/zero of=/dev/TARGETPARTITION bs=1M

이것은 복구 할 수없는 데이터를 삭제하기에 충분한 모든 것을 0으로 덮어 씁니다.


스크립트를 실행하면 시스템이 (이 경우 가상) 파티션에서 삭제되며 취소가 없습니까? 이것은 내가하려는 일처럼 들립니다. :) 예를 들어 명령이 실행되는 데 몇 초 만에 가상 시스템의 전원을 끄도록하려면 어떻게해야합니까? 시스템에 액세스 할 수 있지만 이론적으로 디스크의 삭제되지 않은 부분을 올바르게 마운트 할 수 있습니까? 아마도 스크립트의 첫 번째 단계는 소프트웨어를 먼저 제거한 다음 자체 파괴 스크립트를 실행해야합니까?
techtechmo

글쎄, 사용자가 적절한 권한을 가진 사용자로 로그인하고 무슨 일이 일어나고 있는지 알면 이론적으로 'dd'명령을 죽일 수는 있지만 많은 손상을 입기 전에는 (파티션 테이블) 예를 들어 디스크 앞면 근처에 있습니다.
Michael Kohne

6

모든 것을 파괴하는 것은 약간 과잉 인 것 같습니다.

rm -rf /path/to/your/program/ 

아니면 프로그램을 시작하기 전에 반드시 연결해야하는 일반 라이센스 서버를 구현하는 것은 어떻습니까?


업데이트 : 공개 질문으로 프로그램뿐만 아니라 사용자 데이터를 삭제할 계획입니까? 아니면 사용자 데이터가 다른 곳에 저장되어 있습니까?

그리고 아마도 사용자는 모든 것을 파괴 할 계획이라는 일종의 nagware 통지를 받아야합니다! 같은 것

- "더 많은 돈을 지불하지 않으면이 소프트웨어는 자동으로 파괴됩니다. X 일 남았습니다."

사용자는 이것이 일어날 것이라고 말하지 않고 내 컴퓨터에서 무언가를 파괴하면 실제로 화가 나게됩니다 (그래서 적어도 결과에 영향을 줄 수있는 기회가 생겼습니다).

당신이 지불하는 모든 의상을 입은 사람들이 당신을 미워하게되면 회사에 좋지 않습니다.


내가 언급했듯이 소프트웨어는 코스를 위해 특별히 만들어진 가상 드라이브에있을 것입니다. 특히 사용자 파일이없는 격리 된 환경이므로 참가자가 소프트웨어를 사용하여 교육을받을 수 있습니다. 내가 지키고 싶은 한 가지는 가상 드라이브를 USB 드라이브에 복사하여 궁극적으로 내부에 소프트웨어를 복제하는 것입니다. 따라서 나는 의도적으로 그런 일이 일어날 가능성을 최소화하기 위해 코스 직후에 시스템을 스스로 파괴하도록 설정하고 싶습니다. 귀하의 우려는 물론 유효합니다. 공유해 주셔서 감사합니다. :)
techtechmo

그건 그렇고 그들은 사용할 소프트웨어의 라이센스를 구입하지 않습니다. 그리고 악명 높은 불법 복제가 세계에서 얼마나 악의적인지를 고려할 때 최악의 상황을 가정하지만 최선을 다해 준비하는 것이 좋습니다. :)
techtechmo

2

조금 늙었지만 괜찮습니다. 해당 설정에 따르면 실제로 VM 파일 시스템을 암호화하고 세션 중에 (네트워크로 가정 한 경우) 원격으로 로그인합니다. 그들이 VM을 복사한다면, 사용자가 암호를 무차별 대입해야 할 것입니다. :)

즉, 신경 쓰지 않는다면 마운트 포인트를 암호화 할 수 있습니다. 참고 :이 보호 시스템은 일부 국가 / 주에서는 명백히 불법입니까? (미국에서는 좋지만 영국 출신 인 것 같습니까?) :

암호화 된 암호 마운트 설정 :

dd if=/dev/urandom of=/home/user/virtualfolder bs=16065b count=100  
modprobe loop  
modprobe cryptoloop  
modprobe aes  
losetup -e aes /dev/loop1 ./virtualfolder  
password: <enter your password here which you don't show to the users>  
mkreiserfs /dev/loop1  
mkdir /theprogram  
mount -o loop,encryption=aes,acl ./virtualdrive /theprogram  
password:<enter the same passy>

이제 프로그램을 / theprogram에 설치 / 이동하십시오.

(/ 프로그램에 다시 액세스하고 싶을 때마다) :

설치

mount -o loop,encryption=aes,acl ./virtualdrive /theprogram  
password:<enter the same passy>

마운트 해제

umount /theprogram  
losetup -d /dev/loop1  
rmmod aes  
rmmod cryptoloop  
rmmod loop 

완료되면 소프트웨어 폴더를 임의의 바이트 파일처럼 보이게합니다.

또한 VM 세션 중에 사용하는 사용자 계정에 su전체 내용을 복사 할 수 있는 권한 이 없는지 확인할 수 있습니다 .


0

설정이 무엇인지 모르지만 사용자가 온라인 상태가되도록 요구할 경우 다른 전술을 원할 수도 있습니다. 소프트웨어를 실행할 때마다 네트워크 연결을 통해 소프트웨어를로드 해보십시오. 이것은 실행 가능하며 개별 사용자에게 일종의 ID를 발급 할 수 있는지에 달려 있습니다. VM에 스텁이 있고 스텁은 원격 서버를 자동 마운트하고 바이너리를 실행합니다. 그들이 약간의 작업으로 해결할 수 없었던 것은 아니지만 적어도 자동 파괴를 해결하는 것보다 더 어려울 것입니다.

또는 원격 서버가 키로 응답하고 디스크에 프로그램의 암호화 된 버전을 유지하도록 할 수 있습니다. 스텁은 서버에 키를 쿼리하고 프로그램을 해독 및 실행하여 해독 된 바이너리를 적절하게 삭제합니다. 이것도 해결하기가 더 어려울 수 있지만 다시는 고유 한 사용자 ID가 필요합니다.


좋은 생각이지만, 당신이 설명한 시스템을 구현할 때 이와 같은 경험과 안락함이 필요하다고 생각합니다. 불행히도 나는 사치가 없습니다. :) 소프트웨어 실습은 내가 진행할 방에서 이루어 지지만 어깨 너머로 계속보고 싶지는 않습니다. 질문에 대한 귀하의 의견은 내가 기대하고있는 것입니다 .VM 사본을 가져 와도 다음에 VM을 부팅 할 때 VM을 완전히 청소해야합니다. 물론
물티슈

문제는 일단 VM이 스스로 파괴되는 것을 본 후에는 USB 스틱에서 다른 사본을 가져 와서 라이브 CD에서 VM을 부팅하고 자신을 죽이는 것이 무엇인지 알 때까지 찌르기 시작한다는 것입니다. 충분히 동기 부여 된 사용자가 그 주위를 돌아 다닐 수 있다는 사실에 익숙하다면 황금색입니다. 그런 다음 각 수업 전에 VM 이미지를 업데이트하기
만하면됩니다

설치시 VM 파일 시스템을 암호화 할 것입니다 (원하는 경우-첫 시도가 될 것입니다). 내가 말했듯이,이 문제는 모두 과잉 일 것입니다. 일반 사용자는 계속 찌르는 것이 가치가 있다고 생각하지 않을 수 있습니다. 그러나 나는 어쨌든 최악의 상황을 가정합니다. 불법 복제는 여기의 표준입니다. 내가 사용할 소프트웨어는 Windows 고유의 소프트웨어입니다. Wine을 통해 Linux에서 작동하는 것이 좋습니다. 솔직히 말해서 리눅스에서 모든 것을 준비하고 싶습니다. 솔직히 거기에서 소프트웨어를 해적판하는 것이 훨씬 어려울 것이기 때문입니다. 다시 감사합니다!
techtechmo
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.