특정 비밀번호로 시스템 자체 파괴를 유발하는 방법


46

특정 비밀번호를 입력 할 때 모든 개인 데이터를 삭제하도록 시스템을 구성하려면 어떻게합니까? 이것의 동기는 NSA 물건입니다.

세 가지 주요 사용 사례가 있다고 생각합니다.

  1. 로그인시 미리 결정된 비밀번호를 입력하면 사용자 데이터가 삭제됩니다.
  2. 시스템이 깨어날 때. 미리 결정된 비밀번호를 입력하면 개인 데이터가 파기됩니다.
  3. 사전 결정된 비밀번호로 권한있는 명령을 입력하면 개인 데이터가 삭제됩니다.

나는 같은 것을 알고

dd if=/dev/urandom of=/dev/$HOME

데이터 삭제에 적합해야합니다. 그러나 특정 암호로 트리거하는 방법을 모르겠습니다.

데이터가 삭제되는 동안 로그인을 허용하는 경우 보너스 포인트.


9
이 작업을 정말로하려면 하드 드라이브를 암호화해야합니다. 암호화가 없으면 전체 하드 드라이브를 덮어 써야하지만 암호화를 사용하면 LUKS 헤더 (또는 기타) 만 덮어 써야하기 때문입니다.
strugee

1
pam_python 모듈이 있습니다. 아마도 원하는 것을 쉽게 구현할 수 있습니다 : ace-host.stuart.id.au/russell/files/pam_python
재생

7
그것이 NSA라면 걱정 dd if=/dev/urandom of=/dev/$HOME하지 않아도됩니다. 디스크를 제거하고 직접 읽는 대신 운영 체제를 사용하기에 충분히 어리 석다고 가정하더라도 실제로 덮어 쓴 디스크에서 데이터를 가져올 수있는 법의학 복구 회사가 있습니다.
Monica Harming 중지

2
#1. NSA가 실제로 당신을 쫓고 있었다면 몇 주 전에 이미 자동으로 데이터를 유출했습니다. # 2. 데이터를 암호화하면 NSA에 데이터를 영구적 으로 보관할 수 있는 법적 권리가 부여 되지만 암호를 해독하는 데 오랜 시간이 걸리는 시간 중 더 빠른 시간이 소요됩니다. #삼. 증거의 파기 증거는 종종 법원이 당신에게 무언가를 가져 오기에 충분합니다. 드라이브를 0 또는 임의의 횡설수설로 채우는 '보안 지우기'프로그램은 사용자가 무언가를 파괴했으며 법정에서 제기 될 것이라는 증거입니다.
Ryan Ries

3
3 가지 경우를 모두 다루지는 않지만 여기를 살펴보십시오. kali.org/how-to/emergency-self-destruction-luks-kali
faker

답변:


26

아이디어 # 1-숨겨진 OS

다른 방법으로 TrueCrypt의 "숨겨진 운영 체제"를 사용할 수 있습니다 . 이를 통해 기본 OS가 아닌 특정 암호를 사용할 때 가짜 대체 OS에 액세스 할 수 있습니다.

발췌

시스템 파티션 또는 시스템 드라이브가 TrueCrypt를 사용하여 암호화 된 경우 컴퓨터를 켜거나 재시작 한 후 TrueCrypt Boot Loader 화면에서 부팅 전 인증 암호를 입력해야합니다. 누군가 운영 체제의 암호를 해독하거나 부팅 전 인증 암호를 공개해야 할 수 있습니다. 거부 할 수없는 상황이 많이 있습니다 (예 : 강탈 등). TrueCrypt를 사용하면 증명할 수없는 숨겨진 운영 체제를 만들 수 있습니다 (특정 지침을 따르는 경우 아래 참조). 따라서 숨겨진 운영 체제의 암호를 해독하거나 공개 할 필요가 없습니다.

Bruce Schneier 는 이러한 ( Deniable File Systems) 사용의 효과를 다루 므로 다이빙하기 전에 자세히 조사 할 수 있습니다.

Deniable Encryption 의 전체 아이디어는 약간의 웜일 수 있으므로 특정 상황에서이를 사용하는 것에 대해주의를 기울여야합니다.

아이디어 # 2-/ etc / passwd에 스크립트 추가

대체 스크립트를 /etc/passwd파일 의 사용자 항목에 삽입 할 수 있습니다 .

# /etc/passwd
tla:TcHypr3FOlhAg:237:20:Ted L. Abel:/u/tla:/usr/local/etc/sdshell

/usr/local/etc/sdshell어떤 암호가 제공되었는지 확인 하는 스크립트를 실행하도록 사용자 계정을 설정할 수 있습니다. 와이프를 유발하는 마법의 암호 인 경우이 프로세스를 시작하고 (배경으로 균일하게) 쉘에 떨어 뜨리거나 다른 작업을 수행 할 수 있습니다.

제공된 비밀번호가이 마법 비밀번호가 아닌 경우, /bin/bash예를 들어 일반 쉘을 계속 실행하십시오 .

출처 : 19.6.1 Unix와 일회용 비밀번호 통합


2
아이디어 # 2가 작동하지 않습니다. 쉘은 올바른 암호를 입력 한 후에 만 ​​호출됩니다 (/ etc / shadow에 구성된대로). 작동하더라도 스크립트가 로그인시 입력 된 비밀번호를 확인할 수있는 방법이 없습니다.
faker

@faker-이 방법은 유닉스의 일회성 비밀번호와 동일하므로 작동합니다. 시스템의 / etc / shadow 비밀번호와 직접 통합되지는 않지만 작동 가능합니다.
slm

링크 된 페이지에서 @slm : This puts two passwords on the account: the traditional account password followed by the one-time password.물론 스크립트에서 올바른 비밀번호를 입력 한 후에 만 ​​비밀번호를 확인할 수 있습니다. 기본적으로 3 개의 암호가 있습니다. 일반 계정 비밀번호, 올바른 2 단계 비밀번호 및 자체 2 단계 비밀번호를 파괴하십시오. 아주 좋고 꽤 의심
스럽지 않은

@ faker : slm이 맞습니다-단계별로 링크를 따르지 않지만 작동합니다. 여전히 다른 쉘이나 스크립트에 연결됩니다. 왜 틀린지 알 수 없습니다.
Josh

@ 조쉬 3 암호를 기억해야한다고 생각하면 작동합니다. 그렇지 않으면 작동하지 않습니다.
faker

16

이것에 대한 나의 접근 방식은 pam 모듈 에서 자체 파괴를 트리거하는 것 입니다. 스크립트로 암호를 잡아서 "특별한"암호인지 확인하고 자체 파기 프로세스를 시작하는 메커니즘이 있습니다.

다음 /etc/pam.d/common-auth과 같이 첫 줄로 줄을 작성 하십시오.

auth    optional        pam_exec.so debug expose_authtok /etc/security/suicide.sh

(또는 예를 들어 /etc/pam.d/gdm당신이 단지를 통해 인증에 대한 작업을 원하는 경우 gdm)는 expose_authtok원인 pam_exec.so을 통해 암호를 제공하는 모듈 stdin을 호출 로그인 스크립트를 /etc/security/suicide.sh. 이 스크립트는 루트 권한으로 실행되며 예를 들어 다음과 같습니다.

#!/bin/bash
# read the users password from stdin (pam_exec.so gives the provided password 
# if invoked with expose_authtok)
read password

# if its an authentication and it's the user "user" and the special password
if [ "$PAM_TYPE" == "auth" ] && [ "$PAM_USER" == "user" ] && [ "$password" == "magic" ]; then
  # do whatever you want in the background and the authentication could continue
  # normally as though nothing had happened
  exit 0
else
  exit 0
fi

"일반"사용자 의 비밀번호를 변경하더라도 작동 합니다.


8

gov 등의 누군가가 컴퓨터를 잡는 첫 번째 일은 드라이브 비트를 복사하여 복사하는 것입니다. 누군가가 컴퓨터 법의학을 수행 할 때마다 동일한 작업이 수행되므로 드라이브를 분석하는 동안 손상을 입으면 사본 만 손상됩니다.

따라서 큰 NSA가 컴퓨터를 가져와 엄지 손가락을 악용하여 암호를 알려줍니다. 당신이 그들에게 잘못된 암호를 주면 원본이 아닌 복사하는 것입니다. 이제 그들은 당신이 그들과 엉망인 것을 알고 있습니다.

따라서 킬 패스 워드를 사용하면 다른 사람이 시스템을 보유하기 전에이를 실행 한 경우에만 유효합니다. 그래서 당신이 할 수있는 일은 당신에게 별칭을 지정할 수있는 복잡한 방법을 제공하는 것입니다.


6

당신이 정말로 데이터를 파괴하고 싶다면. 먼저 처음에 아무도 데이터 (즉, 전체 디스크)를 복사하지 않도록해야합니다. 그러나 이것은 OS 수준에서는 불가능합니다.

데이터가 잘못 전달되지 않도록하는 유일한 방법은 암호화를 사용하는 것입니다. 특히 거부 가능한 암호화 가 올바른 경우입니다. 올바른 암호를 입력하면 개인 데이터가 표시됩니다. 다른 암호를 입력하면 무해한 데이터가 나타납니다.


다른 사람이 비밀번호를 입력하도록 강요하거나 비밀번호를 입력하면 컴퓨터를 사용하는 시나리오가 가장 걱정됩니다.
Josh

3
누군가 비밀번호를 입력하도록 강요하면 "기타"비밀번호 만 입력하면 무해한 데이터가 잠금 해제됩니다. 따라서 실제 데이터의 존재를 거부 할 수 있습니다. -데이터를 얻는 것이 진지하다면 컴퓨터를 손대지 말고 먼저 모든 것을 복사하십시오.
michas

6

실제로 데이터를 파괴하고 NSA로부터 데이터를 보호하려면 폭발물이 있거나 무언가가 디스크 플래터의 금속을 녹여서 원격으로 트리거 할 수 있어야합니다.

나는 이것이 실용적이지 않다고 생각한다.


0

글쎄, 다른 사용자 이름으로 로그인하면 기본 사용자의 / home 디렉토리 (/ var, / tmp 및 눈 전용 데이터가있는 다른 모든 장소)를 삭제하는 스크립트를 가질 수 있습니다. 로그인 한 다음 추정 적으로 유용한 것을 수행하여 구경꾼을 속이는 무언가를 자동으로로드합니다. 구경꾼을 속이지 않고 시스템을 폐기하는 경우 플러그를 뽑기 만하면 최상의 계획이 작동하지 않을 수 있습니다. TRASHME 사용자를 휴지통에 넣은 드라이브와 다른 드라이브에 넣는 것이 다소 바쁠 것이므로 pokey입니다.


1
명시된 제약 조건 내에 있지 않습니다.
Josh

0

안전한 하드 드라이브 또는 그 문제에 대한 플래시 드라이브는 옥시 모론입니다. 정보를 보호하는 유일한 방법은 메모리에서 실행되고 전원을 끌 때 증발하는 가상 운영 체제를 사용하는 것입니다. 원할 경우 숨길 수있는 외부 미디어에 데이터를 저장해야합니다. 이를 수행 할 수있는 "실시간"Linux 배포판이 많이 있습니다. 비교적 적은 노력으로 CD 또는 DVD를 리마스터하고 필요에 맞게 사용자 정의 할 수 있습니다. 또한, 많은 행동 정보가 브라우저에 의해 전달되고 있으며, 타협이 의심되는 검색에는 Tor와 같은 보안 브라우저를 사용해야합니다.


내 요청이 아닙니다. 완벽한 보안이 실용적이지 않다는 것을 완벽하게 알고 있습니다. 나는 완벽한 해결책을 요구하지 않습니다.
Josh

0

보안을 유지하려면 완벽한 보안과 같은 것이 없으며 정확한 위험 평가가 수행 된 후 보안은 수용 가능 항목과의 거래에 불과하다는 것을 이해하십시오.

처음에는 왜 아무것도 파괴해야합니다. 먼저 접근 용이성을 줄입니다. 에어 갭을 만듭니다. 온라인 물건과 스니커 넷을 통해 메인 박스 운송에서 보내고 싶은 물건을 사기 위해 bcheaap 박스를 구입하십시오. Scrypt와 같은 올바른 암호화를 사용하십시오 . Truecrypt와 다른 사람들은 존경 할만한 하루를 보냈습니다.

여기에 들어갈 공간이 충분하지 않은 다른 많은 전략들이 있습니다. 솔직히 저는 그들에게 갈 시간이 충분하지 않습니다. 완전히 새로운 학습 경로를 발견했다고 생각합니다.


명시된 맥락 내에 있지 않습니다.
Josh

0

나에게 지적되고 Phoronix에 소개 된 것처럼 Kali Linux는이 작업을 수행하는 방법을 만들었습니다. 일부 코드를 살펴보면 여전히 패치를 물리 칠 수있는 약점이 있지만 효과적인 자체 파괴 암호를 허용하는 데는 먼 길을갑니다. 참고로, 약점은 데이터 제로 아웃과 관련된 하드웨어 특성입니다. 제조업체 도구는 제로 데이터를 복구 할 수 있으며 데이터 스크램블링을 보장하기 위해 미디어의 주요 위치를 난수 생성기로 여러 번 덮어 써야합니다.

여기 링크 : http://www.kali.org/how-to/emergency-self-destruction-luks-kali/


0

예, 드라이브 표면을 파괴해야합니다. 테르밋 수류탄이 권장됩니다 (그들이 우리에게 가르친 것입니다) 당신은 발사기 (마그네슘 블록)와 점화원으로 자신을 만들 수 있습니다. 목표는 D 등급 발사를 만드는 것입니다. .


나는 OP가 물리적 파괴에 대해 이야기하고 있다고 생각하지 않습니다 ...
don_crissti
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.