Belirli bir parola ile bir sistemin kendi kendini imhası nasıl tetiklenir


46

Belirli bir parola girildiğinde sistemimi tüm kişisel verileri yok edecek şekilde nasıl yapılandırabilirim? Bunun arkasındaki motivasyon NSA şeyler.

Üç birincil kullanım durumu olduğunu hayal ediyorum.

  1. Giriş sırasında önceden belirlenmiş bir şifrenin girilmesi, kullanıcı verilerinin imha edilmesine neden olur.
  2. Sistemde uyanmak. önceden belirlenmiş bir şifrenin girilmesi kişisel verilerin imhasını tetikler.
  3. Önceden belirlenmiş bir parola ile herhangi bir ayrıcalıklı komuta girmek, kişisel verilerin imhasını tetikler.

Bunun gibi bir şey biliyorum

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

Veri imhası için yeterli olmalıdır. Bununla birlikte, bunun belirli bir şifre ile nasıl tetiklendiğini bilmiyorum.

Bonus puanları, veriler silinirken giriş yapmasına izin veriyorsa, puan verir.


9
Bu işi gerçekten yapmak istiyorsanız, sabit sürücünüzü şifrelemelisiniz. Bunun nedeni şifreleme olmadan tüm sabit sürücünün üzerine yazmak zorunda kalacağınız, ancak şifreleme ile yalnızca LUKS başlığının üzerine yazmanız (veya her neyse).
Strugee

1
Muhtemelen daha kolay istediğini uygulanmasını yapacak bir pam_python modülü vardır: ace-host.stuart.id.au/russell/files/pam_python
tekrar

7
Eğer NSA dd if=/dev/urandom of=/dev/$HOMEise endişeleniyorsanız , o zaman pek iyi olmayacak. Diski kaldırmak ve doğrudan okumak yerine işletim sistemini kullanacak kadar aptal olduklarını varsaysanız bile, üzerine yazılan ve fiziksel olarak yazdırılan bir diskten veri alabilen adli kurtarma şirketleri var.
Monica

2
# 1. NSA gerçekten sizin peşinizde olsaydı, verilerinizi haftalar önce sessizce çıkardı. # 2. Verilerinizi şifrelemek NSA'ya, verilerinizi sonsuza dek veya yasal olarak şifresini çözmek için, hangisi önce gelirse, saklamak için yasal bir hak verir . 3.. Delillerin imha edildiğine dair kanıtlar, mahkemenin sizi bir şeye sokması için genellikle yeterlidir. Sürücünüzü sıfırla veya rastgele saçmalarla dolduran 'güvenli silme' programları, bir şeyi mahvettiğinizin ve mahkemeye çıkarılacağınızın kanıtıdır.
Ryan Ries,

3
Bu sizin 3 olgunun tümünü kapsayacak, ama burada bir göz yok: kali.org/how-to/emergency-self-destruction-luks-kali
faker

Yanıtlar:


26

Fikir # 1 - Gizli İşletim Sistemi

Alternatif bir yöntem olarak TrueCrypt'ın "Gizli İşletim Sistemi" ni kullanabilirsiniz . Bu, birincil işletim sistemi yerine belirli bir parola kullanıldığında sahte bir alternatif işletim sistemine erişmenizi sağlar.

alıntı

Sistem bölümünüz veya sistem sürücünüz TrueCrypt kullanılarak şifrelenmişse, bilgisayarınızı açtıktan veya yeniden başlattıktan sonra, TrueCrypt Boot Loader ekranında önyükleme öncesi kimlik doğrulama parolanızı girmeniz gerekir. Birisi tarafından işletim sisteminin şifresini çözmeniz veya önyükleme öncesi kimlik doğrulama parolasını ortaya çıkarmanız gerekebilir. Bunu reddedemeyeceğiniz birçok durum vardır (örneğin, zorbalık nedeniyle). TrueCrypt, varlığını ispatlaması imkansız olması gereken gizli bir işletim sistemi oluşturmanıza izin verir (belirli kurallara uyulması şartıyla - aşağıya bakınız). Bu nedenle, gizli işletim sisteminin şifresini çözmeniz veya ortaya çıkarmanız gerekmez.

Bruce Schneier , bunları ( Deniable File Systems) kullanmanın etkinliğini kapsar, bu yüzden dalmadan önce daha fazla araştırmak isteyebilirsiniz.

İnkar Edilebilir Şifrelemenin bütün fikri bir miktar solucan kutusudur , bu nedenle belirli durumlarda kullanma konusunda dikkatli olunması için önceden düşünülmesi gerekir.

2. Fikir - / etc / passwd dosyasına bir komut dosyası ekleyin

Bir kullanıcının /etc/passwddosyadaki girişine alternatif komut dosyaları ekleyebilirsiniz .

Örnek

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

Bir kullanıcının hesabını, /usr/local/etc/sdshellhangi şifrenin sağlandığını görmek için kontrol edecek bir komut dosyasını çalıştıracak şekilde ayarlayabilirsiniz . Mendili tetikleyen büyülü parola ise, bu işleme başlayabilir (hatta arka planda) ve bir kabuğa düşebilir veya başka bir şey yapabilir.

Sağlanan şifre bu sihirli şifre değilse /bin/bash, örneğin normal bir kabuk çalıştırmaya devam edin .

Kaynak: 19.6.1 Bir Zamanlı Şifreleri Unix ile Bütünleştirmek


2
Fikir # 2 çalışmayacak. Kabuk sadece doğru şifre girildikten sonra çağrılacak (/ etc / shadow'ta yapılandırıldığı gibi). İşe yarasa bile, betiğin giriş sırasında hangi şifrenin girildiğini kontrol etmesinin bir yolu olmazdı.
numara

@faker - bu yöntem unix'te bir kerelik parolaların hemen dışında olduğundan işe yarayacağına inanıyorum. Sistemin / etc / shadow parolasıyla doğrudan bütünleşmeyebilir, ancak uygulanabilir.
slm

Bağlandığınız sayfadan @slm: This puts two passwords on the account: the traditional account password followed by the one-time password.Elbette senaryoda bir imha şifresi olup olmadığını kontrol edebilirsiniz, ancak yalnızca doğru hesap şifresini girdikten sonra. Temel olarak 3 şifreniz var. Ortak hesap şifresi, 2. adım şifresini düzeltin ve kendi kendine imha 2. adım şifresini. Çok güzel ve oldukça şüpheli değil ...
Faker

@faker: slm haklı - Bağlantıyı adım adım izlemeyecektim ama işe yarayacaktı. Yine de sadece farklı bir kabuk veya betiğe bağlanır. Neden yanlış olduğunu bir sebep göremiyorum.
Josh

@Josh, Tamam olmak için 3 şifreyi hatırlamak zorunda kalırsanız çalışır. Aksi takdirde işe yaramaz.
faker

16

Bunun için benim yaklaşımım, bir pam modülünde kendi kendini imha etmeyi tetiklemekti . Şifreyi bir komut dosyası ile yakalamak, "özel" olup olmadığını kontrol etmek ve kendi kendini imha işlemine başlatmak için mekanizmalar vardır.

/etc/pam.d/common-authİlk satırınıza şöyle bir satır yazın :

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

(veya /etc/pam.d/gdmsadece kimlik doğrulaması ile çalışmasını istiyorsanız gdm) expose_authtok, pam_exec.somodülün parolayı stdin üzerinden adı verilen giriş komut dosyasına iletmesine neden olur /etc/security/suicide.sh. Bu komut dosyası kök ayrıcalıklarıyla çalıştırılır ve örneğin şuna benzer:

#!/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

"Normal" kullanıcının şifresini değiştirseniz bile işe yarar .


8

Sadece bilirsin ki gov etc'tan birileri bilgisayarınızı ele geçirirse, ilk yapacakları şey sürücü biti bitini kopyalamak ve kopyalarını çıkarmaktır. Aynı şey, birisinin bilgisayar adli tıp yaptığı zaman da yapılır, yani bir sürücüyü analiz ederken hasar verirseniz sadece kopyaya zarar verirsiniz.

Diyelim ki büyük kötü NSA bilgisayarınızı alıp parolanızı söylemenizi sağlamak için baş parmaklarınızı bir mengene sokar. Onlara yanlış parola verdiğinizde, orijinal değil kopyalanacak. Şimdi onlarla uğraştığını biliyorlar.

Öyleyse, bir kill pass sözcüğünün herhangi bir kullanımı ancak herhangi biri sisteminizi ele geçirmeden önce koştuysanız etkili olur. Tek yapmanız gereken, takma adınızı kullanabileceğiniz bir şey yapmanın karmaşık bir yolunu vermektir.


6

Verilerinizi gerçekten yok etmek istiyorsanız. Öncelikle, başlangıçta verilerinizin (yani tüm diskin) bir kopyasını almadığından emin olmalısınız. Ancak bu işletim sistemi düzeyinde mümkün değildir.

Verilerinizin yanlış ellere düşmeyeceğinden emin olmanın tek yolu kriptografi kullanmaktır. Özellikle İnkar edilebilir şifreleme sizin durumunuzda doğru olanı olurdu: Doğru şifreyi yazarsanız, kişisel verileriniz ortaya çıkar. Diğer şifreyi yazarsanız bazı zararsız veriler ortaya çıkar.


Bir senaryo için birileri beni şifre girmeye zorlar ya da bir şifre girdiğimde bilgisayarı kapar.
Josh

3
Birisi sizi bir şifre girmeye zorlarsa, sadece zararsız verinin kilidini açan "diğer" şifreyi girersin. - Bu nedenle, gerçek verilerin varlığını inkar edemezsiniz. - Verilerinizi alma konusunda ciddiysem, bilgisayarınıza dokunmanıza izin vermeyeceğim, ancak önce her şeyin bir kopyasını alın.
michas

6

Verilerinizi gerçekten imha edebilmek, NSA'dan korumak için, patlayıcılarla bir şeyler yapmanız ve disk plakalarındaki metali eritecek bir yangına ihtiyacınız var ve bunu uzaktan tetikleyebilmeniz gerekir.

Bunun pratik olmadığını düşünüyorum.


0

Peki, farklı bir kullanıcı adıyla giriş yaparsanız, birincil kullanıcının / ana dizininizin (ve / var, / tmp'ın yanı sıra sadece göze sahip başka her yerinizin) çöpe atması için bir komut dosyanız olabilir. giriş yapın ve otomatik olarak ustaca faydalı bir şey yaparak izleyiciyi aldatan bir şey yükleyin. Eğer sisteminizi arayan kişiyi aldatmadan sisteminize zarar verirse, fişi çekebilirler ve böylece en iyi şekilde hazırlanmış planınızın çalışmasını engelleyebilirler. Bu aynı zamanda bu yoldayken de oturum açmanıza izin verir ... TRASHME kullanıcısını, değiştirilen sürücünün farklı bir sürücüye koyduğum halde, oldukça meşgul ve bu yüzden düpedüz olacak.


1
Belirtilen sınırlamalar dahilinde değil.
Josh

0

Bu konuda güvenli bir sabit sürücü veya flash sürücü bir oksimorondur. Bilgilerinizi güvence altına almanın tek yolu, bellekte çalışan ve gücü kapattığınızda buharlaşan ve istediğiniz takdirde gizleyebileceğiniz harici ortama kaydedilmesi gereken tüm verilerle birlikte buharlaşan sanal bir işletim sistemi kullanmaktır. Sadece bunu yapabilmenizi sağlayan bir dizi "Live" Linux dağıtımı var. Nispeten az çabayla, CD'yi veya DVD'yi yeniden düzenleyebilir ve ihtiyaçlarınızı en iyi şekilde karşılamak için özelleştirebilirsiniz. Ayrıca, davranışsal bilgilerinizin çoğunun tarayıcınız tarafından aktarıldığını ve tehlikeye girdiğine inandığınız tüm aramalar için Tor gibi güvenli bir tarayıcı kullanmanız gerektiğini unutmayın.


Benim isteğim değil. Mükemmel güvenliğin pratik olmadığını çok iyi biliyorum. Mükemmel bir çözüm istemiyorum.
Josh

0

İşleri güvende tutmak istiyorsanız, kusursuz güvenlik diye bir şey olmadığını ve güvenliğin doğru bir risk değerlendirmesi yapıldıktan sonra kabul edilebilir bir işlemden başka bir şey olmadığını anlayın.

Bir başlangıç ​​için neden bir şey yok et. İlk önce erişim kolaylığının azalmasına bakın. Bir hava boşluğu yaratın. Çevrimiçi şeyler ve ana kutu taşımacılığınızdan sneakernet yoluyla göndermek istediğiniz her şey için bir bcheaap kutusu satın alın. Scrypt gibi iyi şifreleme kullanın . Truecrypt ve diğerleri müthiş bir gün geçirdiler.

Burada kullanabileceğiniz yeterli alana sahip, uygulayabileceğiniz pek çok başka strateji var ve açıkçası bunlara girmek için yeterli zamanım yok. Bence tamamen yeni bir öğrenme yolu keşfettin.


Belirtilen bağlamda değil.
Josh

0

Bana da değinildiği ve Phoronix'te yer aldığı gibi, Kali Linux da bunu yapmanın bir metodunu yarattı. Kodun bazılarına baktığımızda, yamanın yenilmesine izin verecek bir zayıflık var, ancak etkili bir kendini imha şifresine izin vermek çok uzun bir yol kat ediyor. Bir not olarak, zayıflık, verileri sıfırlamakla ilgili bir donanım özelliğidir - üretici araçları sıfırlanmış verileri geri kazanabilir ve bir ortamdaki anahtar konumların üzerine yazma, verilerin karıştırılmasını sağlamak için rasgele bir sayı üreticisiyle birkaç kez yapılmalıdır.

Buraya bağlantı: http://www.kali.org/how-to/emergency-self-destruction-luks-kali/


0

Evet, sürücünün yüzeyini imha etmeniz gerekiyor. Bir termit bombası tavsiye edilir (bize öğrettikleri şey budur) Yangın başlatıcı (magnezyum blok) ve bir ateşleme kaynağı ile kendiniz yapabilirsiniz ... amaç bir D sınıfı yangın yaratmaktır .... söndürmek imkansız .


OP'nin fiziksel yıkımdan bahsettiğini sanmıyorum ...
don_crissti
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.