Tüm güvenlik tehditleri yazılım hataları tarafından tetikleniyor mu?


13

Duyduğum çoğu güvenlik tehdidi, yazılımdaki bir hata nedeniyle ortaya çıkmıştır (örneğin, tüm girdiler düzgün bir şekilde kontrol edilmemiştir, yığın taşmaları vb.). Peki, tüm sosyal saldırıları hariç tutarsak, tüm güvenlik tehditleri hatalardan mı kaynaklanıyor? Başka bir deyişle, herhangi bir hata olmasaydı, güvenlik tehdidi olmaz mıydı (yine, şifreleri ifşa etmek gibi insanların hataları hariç)? Veya sistemlerde hataların neden olmadığı yollardan yararlanılabilir mi?


4
Eğer ben ihtimalini diyorsunuz olabilir Zayıf bir şifreyi bir yazılım hata tahmin? Bir şey varsa, bu bir tasarım problemidir, ancak muhtemelen bundan daha da temeldir.
Joachim Sauer

4
Kötü tasarımı bir hata olarak tanımlar mısınız?
StuperUser

1
@StuperUser'ı desteklemek için " security.stackexchange.com/questions/25585/… " bağlantısında Dave'in senaryosunda bir hata yoktur. Ama aptalca bir tasarım.
Manoj R

1
Hatalar dışındaki güvenlik sorunlarının tüm nedenlerini hariç tutarsak, evet.
andho

Yanıtlar:


25

Hata, teknik özelliklere kadar çalışmayan yazılım olarak tanımlanır. Teknik özellikler hatalıysa, bu bir yazılım hatası değildir. Aptal bir müşteri tüm şifrelerin, hatalı girişler arasında yetkisiz kullanım süresi olmayan üç haneli kodlar olmasını talep ederse, suçlanacak yazılım değildir.

Birçok sistem, güvenliği geçersiz kılabilen "hizmet modu" na sahiptir ve buna erişim güvenli olsa da, kodlar genellikle halka sızar.

Matematikteki ilerlemeler eski şifreleme yöntemlerini tehlikeye atar. 30 yıl önce güvenli bir şey bugünlerde zayıflıyor.

Genellikle gözden kaçan çeşitli veri hırsızlığı yöntemleri vardır. Kablosuz klavye, küçük antenler nedeniyle yaklaşık 2m menzile sahiptir ve gönderilen kod şifrelenmez. İyi bir antenle caddenin karşısında okumak iyi bilinen bir yöntemdir.

Bazen güvenlik ödünleşimleri sonuçların tam farkında olarak yapılır - kripto sistemleri güç ve CPU zamanı alır. Gömülü izleme uygulamaları genellikle verilerini kamuya açık bir şekilde okunabilir bir şekilde gönderir, çünkü ilk olarak, verilerin tehlikeye atılması değeri göz ardı edilebilir ve daha sonra güvenliğin uygulanmasının ekstra maliyeti gereksizdir.

Tüm güvenlik güvene dayalıdır. Atanan yöneticinin hileli olması ve postanızı okuması sosyal mühendislik gerektirmez.

Ve sonunda, bir diz için beysbol sopası uygulamak sosyal bir teknik olarak düşünülebilir mi?


2
"Teknik özellikler hatalıysa, hata değildir" hm bu ifadeler kaygan geliyor. Bunun yerine "spec hata" diyebilirim . Test kullanıcısı olduğumda, birkaç düzine hata için düzeltmeleri başarıyla gönderdim ve doğruladım. Ve bir geliştirici olarak ben test etmek için atanan API belgelerine karşı test uzmanları tarafından bildirilen bu tür "spec böcek" bazı düzeltme şansı vardı ...
gnat

8
@gnat - Ancak, "özellikteki bir hata" bir yazılım hatası değildir , bir tasarım hatasıdır. Tabii ki yazılımın bir parçası olarak tasarım yapamazsanız. Her şey çizgiyi nereye çizdiğinize bağlıdır.
ChrisF

1
@ChrisF: Ne söylemek istediğimi ama nasıl bilmediğimi kelimelerle ifade ettiğiniz için teşekkürler. Açıklamak için cevap düzenlendi.
SF.

Bir spesifikasyonda yazılan belirli bir özelliğin bir hata olduğu her zaman açık değildir.
Doc Brown

1
@DocBrown: Evet - bazen maliyet-performans dengesi olarak güvenliğin azaltılması gerekir ...
SF.

12

Donanım hatalarının güvenlik sorunlarına da neden olduğu durumlar olabilir. Sadece kendiliğinden "isAdmin" bitini çeviren hatalı bir RAM yongasını düşünün.

Veya bellek korumasının beklendiği gibi çalışmadığı ve bir işlemin bir kesintiyi tetiklemeden başka bir işlemin belleğinin üzerine yazabileceği varsayımsal bir donanım hatasını düşünün.

Okuma keyfiniz için: Donanım arızasından etkilenen bilgisayar güvenliği


RAM yongasının tam olarak isAdmin'i çevirme olasılığı nedir?
m3th0dman

1
Çok küçük, açıkçası, ama eğer olursa, bir yazılım hatasından kaynaklanmayan bir güvenlik iş parçacığıdır.
user281377

Bir bilgisayar sisteminin rastgele dosyalardaki izin bitlerini bozma olasılığı tamamen mümkündür. Genel olarak yazılabilir ve SUID kökü olan bir dosya, kullanıcı izinlerini yükseltmek için önemsiz bir şekilde düzenlenebilir.
SF.

@ user281377 Tüm bitlerden tam olarak isAdmin bitini seçme olasılığının 4 GB RAM'e sahip bir makine için 1/34359738368 olduğunu fark ediyorsunuz; bu, yanlış bir yonga çevirme olasılığını göz ardı ederek.
m3th0dman

@ m3th0dman Muhtemelen beni yanlış anlıyorsun. Bunun herkesin ilgilenmesi gereken büyük bir sorun olduğunu söylemiyorum. Daha çok bir donanım sorunu olduğunu teorik kanıtı gibi olabilir bir emniyet ipliğini oluşturmak. Bununla birlikte, bir sunucudaki hatalı bit (ler) i keşfeden bir saldırganın, bu bellek konumlarına kritik bir şey konuluncaya kadar girdisini doldurmanın yollarını bulabileceği düşünülebilir.
user281377

6

Birçok güvenlik tehdidi hatalardan değil yazılım özelliklerinden kaynaklanır. Çok sayıda kullanışlı yazılım özelliği, yalnızca kullanıcının amacına bağlı olarak iyi veya kötü kullanımları olduğu ortaya çıkar.


Bir erkeğin kısayolu diğerinin arka kapı sömürüsüdür.
Daniel Hollinrake

5

Dağıtılmış bir hizmet reddi saldırısını (DDOS) düşünün. Bu bir güvenlik riski olabilir, ancak bir yazılım hatasından değil, bir saldırganın sistemin ne için tasarlandığının sınırlarını aşmasından kaynaklanır. Ve her sistemin bir sınırı vardır.

Yani sorunuzun cevabı: hayır, tüm güvenlik tehditleri yazılım hataları tarafından tetiklenmiyor.


Bu bir güvenlik riski midir? Kesinlikle sitenizi kırabilir , ancak sitenizin güvenliğini bozabilir mi?
Carson63000

1
Bu, güvenlik riski tanımınızın ne kadar geniş veya dar olduğuna bağlıdır.
Pieter B

4

Sosyal mühendislik.

Merhaba, ben BT departmanından XX. Bilgisayarınız şu anda diğer ofis bilgisayarlarına virüs yayıyor. Kaldırmak için kullanıcı adınıza ve şifrenize ihtiyacım var.

Bilgisayar korsanı kullanıcı adını / şifreyi aldığında truva atlarını vb. Güvenle yükleyebilir.

Sosyal mühendislik çeşitli şekillerde uygulanabilir ve güvenliğin önüne geçmek için kullanılır.


4
Bunun daha fazla engellenmemesinin muhtemel bir nedeni, askerin "sosyal hack'leri" açıkça dışlamasıdır.
Joachim Sauer

@JoachimSauer İyi bir nokta. Görmedim.
jgauffin

3

Paylaşılan bir kablosuz ağda iletilen çerezleri çalan Firefox eklentisi Firesheep gibi bir şeye ne dersiniz ?

Bu tür saldırılara karşı savunmasızlığın bir hata olduğunu iddia edebilirsiniz, ancak buna karşı da tartışabilirsiniz. Bir web sitesinin, kullanıcıların yalnızca HTTPS üzerinden tüm iletişimleri yürütmek dışında tehlikeye atılmasını önlemek için yapabileceği çok şey yoktur - web sitenizdeki HTTP iletişimini kabul etmenin bir hata olduğunu söyleyebilir misiniz?


1
Önemli, özel bilgileri şifrelenmemiş bir ortama bir tasarım hatası üzerinden aktarma kararını kategorilere ayırırım. Bu bir "yazılım hatası" olarak düşünülecek olursa, bence ayrı bir tartışma.
Joachim Sauer

@JoachimSauer, web siteniz HTTP üzerinden herhangi bir bilgi aktarmayı reddederse ve aslında HTTP'yi HTTPS ile eşleyen bir MITM ise? Tarayıcılar HTTP'yi desteklerken ve yönlendiriciler geçişine izin verirken, koklamaya karşı sadece son derece güvenlik bilincine sahip istemciler tarafından önlenebilecek bir güvenlik açığı vardır. Aslında soru şu: web tarayıcılarının HTTP'yi desteklemesi bir hata mı?
Peter Taylor

@PeterTaylor: Bu sorun için , tarayıcının sitenizin yalnızca güvenli bir bağlantı yoluyla ziyaret edilmesi gerektiğini bilmesini sağlayan HTTP Sıkı Aktarım Güvenliği vardır . Ayrıca: asker açıkça "sosyal hack'leri" hariç tuttu ve kullanıcıya güvencesiz bir hattı görmezden gelmeye bağlı olarak bu yönde yer aldığı düşünülebilir.
Joachim Sauer

@JoachimSauer Tüm trafiği Sıkı Taşıma Sitesine proxy yaparsam, ancak istemcilere HTTP bağlantılarına izin verirsem ne olur?
Joshua Drake

@JoachimSauer: Gerçekten, sana katılıyorum. Bu güvenlik açığına neden olan kararsız mimari tasarım kararlarıdır. Kod "yanlış" bir şey değil, ne bir "hata" terim.
Carson63000

1

Evet, yazılımın güvenliğindeki bir başarısızlık - en yakın sebep ne olursa olsun - yazılımın gereksinimlerini karşılamamasıdır.

Bunun sadece bir totoloji olduğunu kabul ediyorum, ama bunun ölçüsü.


Bazen güvenlik basitçe (tanımlanmış) bir gereklilik değildir. Güvenlik ihlali sonrasında gereksinimler listesine eklenirse, buna "hata" demezdim.
Joachim Sauer

Bir projenin başlangıcında bir gereksinimin ortaya çıkmaması, @JoachimSauer'ın gerekli olmadığı anlamına gelmez. Yazılım endüstrisi bu gerçeği ele almak için ömrümden daha uzun zaman harcadı.
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.