Hepsi bir arada "çevirin"! Her programcının bilmesi gereken bilgisayar korsanlığı tekniklerinin bir özeti

Yazar: Regulus wind

Orijinal bağlantı: https://www.cnblogs.com/xuanyuan/p/12529598.html

Sanırım birçok arkadaşım yukarıdaki paragrafı okudu.Programcılar defalarca hacklendi.Başkalarının gözünde Truva atları yazmamız, duvarlara tırmanmamız, bilgisayarları tamir etmemiz ve kaynakları bulmamız gerekiyor. Bilgisayarlarla bir ilgisi olan her şey. , Nasıl yapılacağını hepimiz bilmeliyiz.

Biz programcılar için şakalara, işe geri dönmek için yolculuklar, bilgi güvenliği hakkında az çok teknik bilgi sahibi olmak yararlıdır. Bilgisayarların ve ağların temel ilkelerinden bazılarını anlamakla kalmaz, aynı zamanda geliştirme çalışmalarımızı da geri besleyebiliriz. Güvenli düşünme programı, boşlukların oluşumunu azaltır.

Bu makalenin içeriği:

- siber güvenlik -SQL enjeksiyonu -XSS saldırısı -CSRF saldırısı -DDoS saldırısı -DNS kaçırma -TCP kaçırma -Port tarama teknolojisi - sistem güvenliği -Yığın taşma saldırısı Tamsayı taşma saldırısı Boş işaretçi saldırısı - Yayınlandıktan sonra saldırıyı kullanın -KANCA - Ayrıcalık yükseltme -Güvenilir Bilgi İşlem - Kriptografi -Simetrik şifreleme ve asimetrik şifreleme Anahtar değişim teknolojisi -Bilgi özet algoritması -Veri kodlama teknolojisi -Çok faktörlü kimlik doğrulama teknolojisi

Bilgi güvenliği kabaca üç ana bölüme ayrılabilir:

  • siber güvenlik
  • sistem güvenliği
  • Kriptografi

Aşağıdaki Xuanyuanjun, bu üç alanda yaygın olarak kullanılan bazı hackleme tekniklerini listelemektedir: Bazı teknikler çakışan alanlara sahiptir, bu nedenle bunlar ana kategoriye sınıflandırılmıştır.

siber güvenlik

SQL enjeksiyonu

Web güvenliğinin üç ekseninin en üstünde, ünlü SQL enjeksiyonu.

SQL enjeksiyon saldırısının özü, Web sunucusunun, veritabanında ilgilenilen verileri elde etmek için saldırgan tarafından beklenen SQL ifadesini yürütmesine veya kötü amacına ulaşmak için veritabanını okuma, değiştirme, silme ve ekleme gibi işlemleri gerçekleştirmesine izin vermektir.

Web sunucusunun saldırganın SQL ifadesini yürütmesini nasıl sağlayabilirim? SQL enjeksiyonunun geleneksel yöntemi, SQL ifadelerini forma veya istek parametrelerine yerleştirmek ve bunları arka uç sunucuya sunmaktır.Arka uç sunucusu giriş güvenliğini kontrol etmezse, kandırılması çok kolay olan veritabanı sorgusu için değişkenleri doğrudan çıkarır.

Örnekler aşağıdaki gibidir:

Kullanıcı kimliğine göre kullanıcı bilgilerini alan bir arabirim için arka uç SQL deyimi genellikle şu şekilde görünür:

t_user'dan ad seçin, burada id = $ id

Bunlar arasında $ id, ön uç tarafından gönderilen kullanıcı kimliğidir ve ön uç isteği şöyle ise:

Xx / userinfo'yu ALIN? İd = 1% 20or% 201 = 1

İstek parametresi kimliği öncelendikten sonra 1 veya 1 = 1'dir. Arka uç güvenlik filtrelemesi gerçekleştirmezse ve doğrudan veritabanı sorgusunu gönderirse, SQL ifadesi şu olur:

id = 1 veya 1 = 1 olan t_user'dan ad seçin

Sonuç, kullanıcı tablosundaki tüm verileri bulmak ve bilgisayar korsanının veri sızdırma amacına ulaşmaktır.

Yukarıdakiler çok basit bir örnektir.Gerçek bir SQL enjeksiyon saldırısında, parametre yapısı ve SQL ifadesi bundan çok daha karmaşıktır, ancak prensip aynıdır.

Savunma önlemleri: girdiyi kontrol edin ve girdiyi SQL deyimi özellikleriyle engelleyin

Odaklanma: Ön uç mühendis , Web arka uç mühendisi

XSS saldırısı

Web güvenliği üç numaradan ikincisidir, tam adı Cross Site Scripting'dir.Bunu örtüşen stil sayfası CSS'den ayırmak için başka bir XSS kısaltması değiştirilmiştir.

Bir XSS saldırısının özü, çalıştırılabilir ön uç komut dosyası kodunu (genellikle JavaScript) bir web sayfasına yerleştirmektir. Kulağa garip geliyor. Geleneksel olarak saldırgan, tarayıcınızın yazdığı JS kodunu yürütmesini ister. Nasıl yapılabilir? Genel olarak XSS iki türe ayrılır:

Yansıtıcı

1. Saldırgan, kullanıcıyı bir örneği tıklamaya teşvik etmek için JS kodunu URL'ye bir istek parametresi olarak yerleştirir:

http: // localhost: 8080 / test? name = < senaryo > uyarı ("saldırı altındasınız!") < /senaryo >

2. Kullanıcı tıkladıktan sonra, JS bir istek parametresi olarak web sunucusu arka ucuna iletilir

3. Arka uç sunucusu, basit bir işlemden sonra web sayfasının gövdesine koyup tarayıcıya geri dönerek kontrol etmez ve filtrelemez

4. Tarayıcı, döndürülen web sayfasını ayrıştırır ve kazanır!

Depolama türü

Yukarıdaki yöntemdeki saldırı komut dosyası doğrudan sunucuya aktarılır ve ardından yürütmeyi tetiklemek için tarayıcıya döndürülür. Depolama türü ile depolama türü arasındaki fark, saldırı komut dosyasının veritabanında saklanabilmesidir. , Daha sonra sorgulandığında, saldırı betiği web sayfasına işlenir ve yürütmeyi tetiklemek için tarayıcıya döndürülür. Yaygın rutin örnekleri aşağıdaki gibidir:

1. Saldırganın web sayfası yanıt veriyor, gönderi JS komut dosyası içeriyor

2. Cevaplar sunucuya gönderildikten sonra veri tabanında saklanır.

3. Diğer netizenler gönderiyi görüntüler, arka planda gönderinin yanıt içeriğini sorgular, eksiksiz bir web sayfası oluşturur ve tarayıcıya geri döner

4. Netizen'in tarayıcısı geri dönen web sayfasını işler ve vurulur!

Savunma önlemleri: Yürütülebilir komut dosyalarının izinsiz girişini filtrelemek için hem ön hem de arka uçlar için içerik algılama gerekir

Odaklanma: Ön uç mühendis , Web arka uç mühendisi

CSRF saldırısı

Web güvenliğinin üç ekseninden üçüncüsü olan saldırı diyagramı aşağıdaki gibidir:

Ana fikir, web sitesi A'yı açarken kötü amaçlı web sitesi B'yi açmak için başka bir Sekme sayfası açmaktır. Bu sırada, B sayfasının "teşvik" altında, tarayıcı web sitesi A'ya bir HTTP isteği başlatır Bu sürecin zararı 2 noktada yatmaktadır:

1. Bu HTTP isteği, kullanıcının aktif niyeti değil, B tarafından "teşvik edilmiştir". Daha zararlı bir istek işlemi ise (e-posta gönder? Verileri sil? Vb.), Zahmetli olacaktır.

2. Web sitesi A daha önce açıldığından ve tarayıcı, A tarafından yayınlanan çerezlere veya kimlik doğrulama için kullanılan diğer bilgilere sahip olduğundan, bu sefer "başlatılan" istek bu bilgileri otomatik olarak getirecektir. Kullanıcının gerçek niyetinin bu olup olmadığı belli değil

Odaklanma: Ön uç mühendis , Web arka uç mühendisi

DDoS saldırısı

DDoS, Dağıtılmış Hizmet Reddi: Dağıtılmış Hizmet Reddi saldırısının kısaltmasıdır. Hizmet reddi saldırısının yükseltilmiş bir sürümüdür. Saldırı hizmetinin reddi, adından da anlaşılacağı gibi hizmeti kullanılamaz hale getirir. Genellikle, yaygın olanlar gibi harici hizmetler sağlayan sunuculara saldırmak için kullanılır:

  • internet servisi
  • Posta hizmeti
  • DNS hizmeti
  • Anında mesajlaşma hizmeti
  • ......

İnternet teknolojisinin bu kadar gelişmediği ilk günlerde, bir DoS saldırısı başlatmak kolaydı: güçlü bir bilgisayar, bir program yazma ve sunucuya sürekli olarak istekte bulunmak için çok iş parçacıklı okuma, sunucu bunalmıştı ve nihayetinde normal istekleri karşılayamıyordu. Diğer normal kullanıcılar için, web sitesi erişilemez görünüyor ve hizmet reddi bu anlamına geliyor.

Daha sonra teknolojinin gelişmesiyle birlikte mevcut sunucu artık bir sunucu kadar basit değildir. Www.baidu.com'un bir alan adını ziyaret ederseniz, arkasında sayısız CDN düğümü ve sayısız Web sunucusu vardır.

Bu durumda, bir ağ hizmetini tam yüklü hale getirmek için tek bir bilgisayara güvenmek istiyorum ki bu, bir yumurtanın taşa çarpmasından farklı değildir.Diğer taraf aşağı inmedi ama önce indi.

Teknoloji her zaman iki ucu keskin bir kılıç olmuştur.Dağıtılmış teknoloji, yüksek oranda erişilebilir hizmetler sağlamak için kullanılabilir ve saldırganlar tarafından toplu imha saldırıları gerçekleştirmek için de kullanılabilir. Saldırgan artık tek bir bilgisayarın saldırı kapasitesiyle sınırlı değildir, bunun yerine büyük ölçekli bir ağ kümesi aracılığıyla bir hizmet reddi saldırısı başlatır.

Hizmet reddi saldırıları aslında belirli uygulama yöntemlerine göre daha da alt gruplara ayrılabilen bir teknoloji türüdür:

  • SYN Seli
  • ICMP Taşkın
  • UDP Sel
  • ......

Savunma yöntemleri: Şu anda bile DDoS'ye karşı% 100 savunma yöntemi yoktur, saldırının gücünü belirli bir düzeyde azaltmak için yalnızca bazı azaltma tekniklerine güvenebilir. Bu teknolojiler şunları içerir: trafik temizleme, SYN Cookie vb.

Odaklanma: İşletme ve Bakım Mühendisi , Güvenlik mühendisi

DNS kaçırma

Günümüz İnternet trafiğinde, HTTP / HTTPS'ye dayalı Web hizmetleri tarafından oluşturulan trafik büyük çoğunluğu oluşturmaktadır. Web hizmetlerinin gelişimi tüm hızıyla devam ediyor ve bunun arkasında alan adı çözümleme sistemi var:

DNS yoksa, her web sitesinin alan adı yerine IP adresini hatırlamamız gerekir.Bu bir felakettir. Neyse ki, DNS tüm bunları arka planda sessizce yapar. Sadece bir alan adını hatırlamamız ve gerisini DNS'e bırakmamız gerekiyor. Gel ve bitir.

Kesinlikle, gizli güdülere sahip insanların doğal olarak gitmesine izin vermemesi öneminden kaynaklanıyor. DNS korsanlığı teknolojisi icat edildi.

DNS, alan adlarını IP adreslerine dönüştürmek için hizmetler sağlar. Ancak, ilk protokollerin tasarımında güvenlik çok fazla düşünülmemiştir. Sorgu yapan taraf için:

  • Gerçekten bir DNS sunucusu mu? Kimliğe bürünen biri mi?
  • Sorgu sonucu değiştirildi mi? Bu IP gerçekten bu web sitesinden mi?

DNS protokolünde bu soruların yanıtlanmasını garanti edecek bir mekanizma yoktur, bu nedenle DNS ele geçirme çok yaygındır. Bir kullanıcı adres çubuğuna bir alan adı girdiği andan itibaren, yoldaki tehlikelere karşı korunmak zordur:

  • Yerel bilgisayardaki Truva Atı, ana bilgisayar dosyasını değiştirir
  • Yerel bilgisayardaki Truva atı, DNS paketindeki yanıtı değiştirir
  • Ağdaki düğümler (yönlendiriciler gibi) DNS paketindeki yanıtı değiştirir
  • Ağdaki düğümler (operatörler gibi) DNS paketindeki yanıtı değiştirir
  • ......

Daha sonra, istemci tarafında alınan DNS yanıtını doğrulamak için, yukarıdaki sorunlardan bazılarını bir dereceye kadar çözebilen DNSSEC teknolojisi ortaya çıktı. Bununla birlikte, bazı nedenlerden dolayı, bu teknoloji, özellikle çok az dağıtım uygulamasının olduğu Çin'de büyük ölçekte kullanılmamıştır.

Daha sonra, Alibaba ve Tencent gibi önde gelen İnternet satıcıları httpDNS hizmetlerini başlatmaya başladılar ve maaş çekmek için bir numaraya geldiler.Bu teknolojinin adı hala üç DNS harfine sahip olsa da, uygulama orijinaline benzer, ancak DNS zaten bir dünya farkı. Hayır, bu teknoloji sayesinde DNS, http protokolünün üzerinde bir uygulama hizmeti haline gelir.

Odaklanma: Güvenlik mühendisi , Arka uç mühendisi , İşletme ve Bakım Mühendisi

TCP kaçırma

TCP, taşıma katmanında bulunan TCP / IP protokol paketinin çok önemli bir üyesidir. Protokolün kendisi TCP tarafından iletilen veri paketlerinin kimliğini doğrulamaz, bu nedenle bir TCP bağlantısındaki sırayı ve ack'i bildiğimiz sürece, iletim paketini kolayca taklit edebilir ve her iki tarafın diğer tarafla iletişim kuruyormuş gibi yapabiliriz.Bu işlemi kullanacağız. TCP Session Hijacking olarak adlandırıldı

TCP kaçırma teknolojisi çok eski bir teknolojidir ve 1995'te önerildiğinden beri bilgisayar korsanları tarafından tercih edilmektedir. Ancak son yıllarda, işletim sistemi düzeyinde güvenlik mekanizmalarının artması ve güvenlik duvarı yazılımlarının algılama yeteneklerinin artırılmasıyla bu temel saldırı yöntemi, keşfedilmesi daha kolay hale geldi ve yavaş yavaş insanların görüş alanından çıktı.

Odaklanma: Güvenlik mühendisi , İşletme ve Bakım Mühendisi

Bağlantı noktası tarama teknolojisi

Bağlantı noktası taraması, bilgisayar korsanları tarafından sıklıkla kullanılan bir tekniktir.Genellikle, o hizmete karşı bir saldırı başlatmak için hedefin hangi hizmetleri açtığını tespit etmek için ağ saldırısının erken aşaması olarak kullanılır.

Ağ güvenliğini yeni öğrendiğimde, herkesin her zaman onu taramak için araçlar bulacağını hatırlıyorum. Taradıktan sonra artık metin olmamasına rağmen, "hackleme" yeteneklerini anlamayan insanların önünde göstermekten her zaman mutlu olduklarını hatırlıyorum.

TCP / IP protokol paketi ile inşa edilen internette, ağ hizmetleri her zaman bağlantı noktası konseptinden ayrılamaz, ister TCP ister UDP olsun, uygulama katmanı ağ iletişimi için bir bağlantı noktası numarasına ihtiyaç duyar. Ve ortak hizmet portlarımız şunlardır:

  • 21: FTP dosya aktarım hizmeti
  • 25: SMTP posta hizmeti
  • 53: DNS alan adı çözümleme sistemi hizmeti
  • 80: HTTP Köprü Metni Aktarım Protokolü Hizmeti
  • 135: RPC uzaktan yordam çağrısı hizmeti
  • 443: HTTPS
  • 3389: MSRDP Microsoft Uzak Masaüstü Bağlantı Hizmeti
  • ......

Bağlantı noktası taraması prensiptir.UDP tabanlı hizmetler için, bir yanıt olup olmadığını görmek için karşılık gelen hizmet istek paketlerini gönderin; TCP tabanlı hizmetler için, yanıt olup olmadığını görmek için TCP SYN paketleri göndermek üzere üç yönlü bir el sıkışma başlatmayı deneyin.

Uzak sunucu yanıt verirse, karşılık gelen hizmetin karşı sunucuda çalıştığını gösterir.Bir sonraki adım, karşı sunucu tarafından kullanılan işletim sistemini, çalışan sunucu programının türünü ve sürümü vb. Daha fazla keşfetmek ve ardından ilgili savunmasız programı hedeflemektir. Bir siber saldırı başlatın.

Görülebileceği gibi, güvenlik açısından internette olabildiğince az bilginin açığa çıkarılması ve gereksiz hizmet portlarının kapatılması gerekir.

Savunma yöntemleri: Yasadışı tarama ve tespit davranışlarını anında tespit etmek ve engellemek için güvenlik duvarlarını ve diğer güvenlik ürünlerini kullanın.

Odaklanma: İşletme ve Bakım Mühendisi , Güvenlik mühendisi

sistem güvenliği

Sistem güvenliği bölümündeki teknoloji, genellikle saldırının terminalde gerçekleştiğini ve işletim sistemiyle yakından ilgili olduğunu ifade eder.

Yığın taşma saldırısı

Yığın taşma saldırılarının uzun bir geçmişi vardır ve aynı zamanda sistem tarafında meydana gelen en temel saldırılardır.

Modern bilgisayarlar temelde von Neumann sistemi üzerine inşa edilmiştir ve bu sistemle ilgili en büyük sorunlardan biri, verilerin ve talimatların bellekte depolanmasıdır.

Bilgisayarın belleğinde, sadece programın çalıştırılması için tüm kod komutlarını değil, aynı zamanda program işleminin giriş ve çıkışı gibi çeşitli verileri de içerir.Komutlar ile verileri birbirinden ayırmak için zorunlu bir mekanizma yoktur. Hepsi bilgisayar için aynı ikili 0 ve 1 olduğu için, program çoğu zaman bellekteki bu 0 ve 1'i belirlenen "kurallara" göre yorumlar ve anlar. Bu "kurallar" yanlış anlaşıldığında işler daha da kötüye gidiyor.

İster x86 / x64 işlemci ister ARM işlemci olsun, modern CPU ve işletim sistemimize özel bir kayıt + yığın tasarımı benimsenmiştir ve bu yığın, programın her bir işlevinin yığın çerçevesinde değişken verileri içerir. Bilgi ve ayrıca işlev çağrısı tarafından oluşturulan dönüş adresini kaydedin.

Yığın taşması saldırısı olarak adlandırılan saldırı, bir şekilde yığındaki arabelleğe giriş yapmak, arabelleğin orijinal sınırını kırmak ve dönüş adresinin yerine bir değer yazarak saldırgan tarafından önceden düzenlenmiş kötü niyetli kod konumuna işaret etmektir. Programın yürütme sürecini kaçırdı.

Savunma yöntemleri: Modern işletim sistemleri, Linux platformunda Stack Canary, Windows platformunda GS mekanizması vb. Gibi taşma saldırılarını yığınlamak için çok olgun çözümlere sahiptir. Programcıların yapması gereken, bu mekanizmalardan tam olarak yararlanmaktır.

Odaklanma: C / C ++ mühendisi

Tamsayı taşma saldırısı

Yığın taşma saldırıları gibi, tamsayı taşma saldırıları da taşma saldırılarıdır.Aradaki fark, taşmanın hedefinin yığındaki tampon değil, bir tam sayı olmasıdır.

Bilgisayar değerlerinin tamamlayıcılar şeklinde ifade edildiğini ve saklandığını biliyoruz. İşaretli bir sayıyı temsil ederken, en yüksek bit, bunun pozitif bir sayı mı (0) yoksa bir negatif sayı mı (1) olduğunu belirtmek için kullanılır.Örneğin, 16 bitlik bir kısa değişken için +1 ve -1 temsil yöntemleri aşağıdaki gibidir:

+1: 0000000000000001 -1: 1111111111111111

16 bitlik bir kısa değişkenin aralığı -32768 ~ 32767'dir. Şimdi bir soruyu düşünün. Kısa bir değişkenin değeri şimdi 32767 ise:

32767: 0111111111111111

+1 işlemini şimdi gerçekleştirirseniz, şu hale gelecektir:

1000000000000000

Ve bu tam olarak -32768'in tamamlayıcısıdır!

Değişken, strcpy parametresi olarak uzunluk veya dizinin alt simgesi olarak indeks olarak adlandırılırsa, tamsayıların taşması, işlem çökmeleri, hizmet kesintileri ve uzaktan kod yürütme ve kontrolü ele alma gibi korkunç sonuçlara yol açacaktır. sağ.

Odaklanma: Tüm programcılar

Boş işaretçi saldırısı

Boş işaretçiler genellikle işaretçi başlatılmadığında veya nesne oluşturma / bellek ayırma yeniyi kullanarak başarısız olduğunda ve dikkatsiz programcı işaretçinin boş olup olmadığını kontrol etmez ve erişimin neden olduğu bir saldırı gerçekleştirdiğinde görünür.

Çoğu durumda, bu anormal bellek adres erişimine neden olur, program çöküp çıkarak hizmet reddine neden olur

Bazı özel durumlarda, bazı işletim sistemleri bellek başlangıç adresi 0 olan bir bellek sayfasının tahsis edilmesine izin verir. Bir saldırgan bu sayfada saldırı kodunu önceden hazırlarsa, kötü amaçlı kod çalıştırma riski olabilir.

Yayınlandıktan sonra saldırı kullanın

Yayınlandıktan sonra Serbest Kaldıktan Sonra Kullan, serbest bırakılan bir bellek bloğuna erişmek anlamına gelir. Çoğu, tarayıcının JavaScript motoruna yönelik saldırılarda görünür.

Normal koşullar altında, serbest bırakılan bir nesneye tekrar erişemeyiz, ancak programcı dikkatsiz ise, nesneyi sildikten sonra, işaretçi hemen NULL'a ayarlanmaz ve ardından nesneye erişmek için işaretçiyi kullanmaya devam eder (örneğin, nesne aracılığıyla Sanal işlev olarak adlandırılan sanal işlev tablosu işaretçisi), bir bellek erişim istisnası oluşacaktır.

Yukarıdaki senaryoda, saldırgan modern işletim sistemlerinin yığın bellek yönetimi algoritmasında nesneyi sildikten hemen sonra aynı bellek boyutunda bir nesne oluşturuyorsa, bu yeni nesnenin yeni silinen nesneye yerleştirilme olasılığı yüksektir. Nesnenin konumu. Şu anda, hala orijinal nesnenin işaretçisiyle erişiliyor ve güvercin, saksağanın yuvasını işgal edecek ve bu da korkunç sonuçlar doğuracak.

İyi bir programlama alışkanlığı geliştirin Nesne silindikten sonra, işaretçi zamanla boş kalacaktır.

Odaklanma: C / C ++ mühendisi

KANCA

HOOK hook'un orijinal anlamı, bilgisayar programlamasında orijinal program yürütme akışını değiştirmek için yaygın olarak kullanılır.

İnternetin hileli yazılımlarla dolu olduğu o dönemde, tuş kaydedicili bir Truva atı, şifreleri çalmak için kullanıcı klavye girişini kaydetmek için popülerdi.QQ bir zamanlar en zor etkilenen alandı.

Bu işlevi gerçekleştirecek teknoloji, klavye dokunuşunun olay mesajını asmak için HOOK teknolojisini kullanmaktır.

KANCA mesajına ek olarak, program yürütme akış seviyesindeki KANCA daha çok kullanılır. Kötü amaçlı kod hedef programa enjekte edildikten sonra, işlevin girişine bir atlama talimatı eklenir, bu da burada yürütülen iş parçacığının parametreleri değiştirme ve filtreleme amacına ulaşmak için saldırganın kodunu yürütmesine neden olur.

HOOK teknolojisi yalnızca bilgisayar korsanları tarafından kullanılmaz, aynı zamanda daha fazla güvenlik yazılımı da kullanılır.Güvenlik yazılımının tüm sistemin güvenlik hattını koruması gerekir. HOOK teknolojisi sayesinde, yasadışı çağrı saldırılarına direnmek için çeşitli hassas API'lerde kontroller ayarlanır.

Ek olarak, HOOK teknolojisi genellikle yazılım yamalama teknolojisinde kullanılır.Yazılım satıcıları orijinal programda boşluklar bulduktan sonra, boşlukları düzeltme amacına ulaşmak için HOOK aracılığıyla mevcut programın yürütme mantığını değiştirirler.

Odaklanma: C / C ++ mühendisi

Ayrıcalık yükseltme

Modern işletim sistemleri, içlerinde çalışan süreçler ve iş parçacıkları için izin yönetimi sağlar, çünkü güvenlik saldırıları kaçınılmazdır ve izin kısıtlamaları, saldırıya uğrayan programların etkisini en aza indirmek için oldukça etkili bir engel görevi görür.

Diğer bir deyişle, programımız güvenlik açıkları nedeniyle kötü amaçlı kod yürütmek için saldırıya uğramış olsa bile, kötü niyetli kod, işletim sisteminin izin kontrolü nedeniyle yalnızca sınırlı şeyler yapabilir.

Tıpkı bir madeni paranın her zaman iki yüzü olduğu gibi, yetki sınırları vardır ve doğal olarak yetkide bir artış vardır. Bir saldırgan daha fazlasını yapmak isterse, işletim sisteminin kısıtlamalarını aşması ve daha yüksek izinler alması gerekir.

Windows'ta, genellikle yönetici haklarını almaya çağrılır.

Linux'ta buna genellikle Root izni denir ve bu aynı zamanda cep telefonu Kök'ün anlamıdır.

İOS'ta buna genellikle "jailbreak" denir.

Ayrıcalık yükseltmenin çeşitli yolları vardır: Genel olarak, program yürütüldüğünde, ait olduğu işlem / iş parçacığı, kaynaklara erişirken ve eylemleri yürütürken işletim sistemi çekirdeği tarafından denetlenen güvenlik seviyesini belirlemek için bir güvenlik jetonuna sahiptir.

Ayrıcalık artırmanın amacı, bu güvenlik jetonunu yüksek seviyeli bir jetonla değiştirmektir, böylece hassas kaynaklara erişirken ve daha sonra hassas eylemler gerçekleştirirken sistemin güvenlik denetimini geçebilir.

Bu güvenlik belirtecini değiştirmenin olağan hilesi, güvenlik belirtecini kurcalamak için saldırganın kodunu yürütmek için işletim sistemi çekirdeği güvenlik açıklarını (yukarıda belirtilen yığın taşması, tam sayı taşması, yayın sonrası kullanım vb.) Kullanmaktır.

Odaklanma: Güvenlik mühendisi

Güvenilir bilgi işlem

Güvenlik saldırıları her yerdedir, yalnızca uygulama ortamı güvenilmez değildir, işletim sistemi çekirdeği ortamı bile risklerle doludur.

Ya bir prosedürün (ödeme gibi) son derece gizli bir ortamda yürütülmesi gerekiyorsa?

Güvenilir bilgi işlem kavramı, güvenlik araştırmacıları tarafından önerildi. Encyclopedia'nın açıklamasına göre:

Trusted Computing / Trusted Computing (TC), Trusted Computing Group (önceden TCPA olarak bilinen Trusted Computing Cluster) tarafından desteklenen ve geliştirilen bir teknolojidir. Güvenilir bilgi işlem, sistemin genel güvenliğini artırmak için bilgi işlem ve iletişim sistemlerinde yaygın olarak kullanılan donanım güvenlik modülleri tarafından desteklenen güvenilir bir bilgi işlem platformudur. Onay anahtarı, çip fabrikadan çıktığında rastgele oluşturulan ve değiştirilemeyen 2048 bitlik bir RSA genel ve özel anahtar çiftidir. Özel anahtar her zaman çipin içindedir ve açık anahtar, çipe gönderilen hassas verilerin kimliğini doğrulamak ve şifrelemek için kullanılır.

Güvenilir bilgi işlemde çok önemli bir kavram, yalnızca mevcut bilgisayarın iç dünyasında son derece gizli programları çalıştırmaya adanmış gizli bir temel oluşturmak için olan Güvenilir Yürütme Ortamı'dır (TEE). Bu gizli tabana, işletim sistemindeki uygulamalar bir yana, işletim sistemi için bile kolayca erişilemez.

Mobil tarafta, ARM yongaları ana pazara hakimdir. ARM yongaları, güvenilen bir işletim sistemi ve bazı güvenilir uygulamalar ve donanımda ortak ortamlar dahil olmak üzere donanım düzeyinde güvenilir bir bilgi işlem ortamı ekleyen TrustZone teknolojisi adlı bir teknoloji sağlar. Seviye izolasyonu, işlemcinin dahili iletişimi iki dünyanın etkileşimini tamamlar.

Odaklanma: Terminal Sistem Mühendisi

Kriptografi

Veri aktarımı sürecinde bilgi sızıntısı, tahrifat ve sahtecilik riskleri nedeniyle şifreleme teknolojisi ortaya çıkmıştır.

Simetrik şifreleme ve asimetrik şifreleme

Şifrelemenin olduğu yerde şifre çözme vardır Şifreleme sürecinde kullanılan anahtarın şifre çözme işleminde kullanılan anahtarla aynı olup olmadığına göre şifreleme algoritması iki kategoriye ayrılır: simetrik şifreleme ve asimetrik şifreleme.

En eski şifreleme teknolojisi simetrik şifrelemedir

  • Simetrik şifreleme: Şifreleme anahtarı, hızlı şifreleme hızı ve yüksek şifreleme verimliliği ile karakterize edilen şifre çözme anahtarıyla aynıdır. Yaygın olarak kullanılan simetrik şifreleme algoritmaları şunlardır: DESAESRC4

Bu şifreleme yöntemindeki çok kritik bir sorun, şifre çözme tarafının şifresini çözmek için anahtarı alması gerektiğidir ve anahtar ve anahtar ağ üzerinden iletildiğinde güvensizlik riskiyle karşı karşıya kalır.Bu bir tavuk ve bir yumurta olur. Sorun.

Böylece iletişim teknolojisinde çığır açan bir teknoloji icat edildi, bu asimetrik şifrelemedir!

  • Asimetrik şifreleme: Şifreleme anahtarı, şifre çözme anahtarı ile tutarsızdır ve daha karmaşık bir algoritma ancak yüksek güvenlik ile karakterize edilir. Asimetrik şifreleme için anahtarlar genellikle genel anahtarlara ve özel anahtarlara bölünür. Genel anahtar herkese açıktır ve özel anahtar gizli tutulmalıdır. Genellikle, HTTPS'nin el sıkışma aşamasında sunucu kimlik doğrulaması gibi dijital kimlik doğrulama için kullanılır. Yaygın olarak kullanılan asimetrik şifreleme algoritmaları şunlardır: RSADHECC (eliptik eğri şifreleme)

Asimetrik şifreleme olmadan İnternet'in asla bugünkü seviyesine gelmeyeceğini söylemek abartı olmaz.

Anahtar Değişim Teknolojisi

Şifrelemenin olduğu İnternet iletişiminde şifre çözme vardır ve şifre çözme doğal olarak bir anahtar gerektirir Bu anahtar karşı tarafa nasıl söylenir? Anahtar değişim algoritması bu sorunu çözmektir: anahtarı karşı tarafa nasıl güvenli bir şekilde iletebilirim?

Yukarıda bahsedilen asimetrik şifrelemeye tekrar bakıldığında, bu sorunu çözebilir:

  • Sunucu, bir çift genel ve özel anahtar oluşturmaktan sorumludur, genel anahtar istemciye özel anahtarın kendi başına tutulduğunu söyler
  • İstemci genel anahtarı aldıktan sonra, sonraki iletişimlerde kullanılacak simetrik şifreleme algoritma anahtarını şifrelemek ve iletmek için kullanır.
  • Sunucu, aldıktan sonra bu anahtarın şifresini çözmek ve almak için özel anahtarı kullanır.
  • Gelecekte, her iki taraf da simetrik şifreleme yoluyla iletişim kurabilir
  • Yukarıdaki örnek sadece bir örnek değil HTTPS'nin erken sürümünde anahtar değişimi bu şekilde gerçekleştiriliyordu. Daha sonraki sürümlerde, DH adı verilen başka bir anahtar değişim algoritması ve türevleri giderek daha fazla kullanılmaktadır.

    DH'nin tam adı, iki matematikçinin adı olan Diffie-Hellman'dır.Bu algoritmanın özü, anahtar değişimini sağlamak için tamamen matematiksel işlemlere güvenmektir.

    Bilgi özet algoritması

    Bilgi özet algoritması aslında bir şifreleme algoritması değildir. Şifrelemenin öncülü, şifre çözme ile geri yüklenebilmesidir.bilgi özet algoritmasının amacı, verileri korumak değildir, şifresi çözülemez ve geri yüklenemez.

    Bazı bağlamlarda, daha az bilgi özetleri duyarız ve ne kadar çok ismin hash olduğunu duyarız.

    Bilgi özet algoritmasının amaçlarından biri, verilerin doğruluğunu onaylamaktır.Algoritma yayınlanır.Veri, algoritma aracılığıyla bir özet değeri elde eder.Veri alındıktan sonra, özet, algoritma tarafından hesaplanır ve önceden ve sonrasındaki karşılaştırma, değiştirilip değiştirilmediğini bilmek için.

    Yaygın olarak kullanılan bilgi özeti algoritmaları şunlardır:

    • MD5
    • SHA1
    • SHA256

    Veri kodlama teknolojisi

    Veri kodlama teknolojisi bir şifreleme algoritması değildir, çünkü amacı şifreleme değil, yalnızca aktarım için verileri kodlamaktır.

    En yaygın kodlama algoritması, çoğunlukla ikili verileri kodlamak için kullanılan base64'tür.Kodlamadan sonra, görünmez karakterler, yazdırma, görüntüleme, iletme ve saklama için uygun olan 64 ortak karakterden oluşan metne dönüştürülür. Örneğin, e-posta eml biçiminde, ek dosyası base64 ile kodlanır.

    Base64'e ek olarak, Bitcoin cüzdan adres kodlamasında yaygın olarak kullanılan base58 de vardır. Temel aile ayrıca base85, base92 ve base128 gibi birçok algoritmaya sahiptir. Aralarındaki fark yalnızca kodlamayla ilgili karakter kümelerinde değil, aynı zamanda algoritmaların yürütülmesinde de vardır.

    Çok faktörlü kimlik doğrulama teknolojisi

    Kimlik doğrulama söz konusu olduğunda, en yaygın senaryolar oturum açma ve ödemedir. Geleneksel kimlik doğrulama teknolojisi parola teknolojisidir, ancak giderek yaygınlaşan ağ saldırıları ve İnternetin insanların yaşamlarının her alanına girmesiyle, geleneksel parola teknolojisinin güvenliği İnternetin gelişimini karşılamak için yeterli değildir.

    Çok faktörlü kimlik doğrulama teknolojisi, geleneksel parola kimlik doğrulamasına ek olarak, ek olarak diğer kimlik doğrulama teknolojilerinin tanıtılması ve kimlik doğrulamayı birlikte tamamlamak için iki veya daha fazla yöntemin kullanılması anlamına gelir. Yapay zeka teknolojisinin gelişmesiyle birlikte, biyometriye dayalı kimlik doğrulama teknolojisi hızla ilerliyor:

    • Parmak izi kimlik doğrulaması
    • Iris kimlik doğrulaması
    • Yüz tanıma
    • ......

    Bu dünyada hiçbir zaman öncü sıkıntısı yaşanmaz. Çok faktörlü kimlik doğrulama çok karmaşık görünüyor. Neyse ki, birçok lider şirket sertifika platformları oluşturdu. Çoğu şirket için yapılması gereken tek şey SDK'yı indirmek ve API'yi çağırmak.

    Şu anda, yurtiçinde ve yurtdışında ana akım çok faktörlü kimlik doğrulama platformlarının üç ana fraksiyonu vardır:

    • Uluslararası bir standart olan FIDO, Çin'de Yipay, Baidu Cüzdan, JD Cüzdan, WeBank vb. Tarafından uygulanmıştır.
    • Ali'nin e-ticaret alanındaki avantajları ile IFAA, Ali departmanı da birçok takipçi çekti.
    • TUSI, Tencent

    sonuç olarak

    Bu makale, temel olarak üç alana bölünmüş bazı yaygın bilgi güvenliği teknolojilerini listeler: ağ güvenliği, sistem güvenliği ve kriptografi.

    Bilgi güvenliği teknolojisi sadece güvenlik mühendislerini ilgilendiren bir konu değildir.Bir programcı olarak bu teknolojileri anlamak, Dünyayı daha iyi inşa etmemize yardımcı olacaktır!

    Bilgi paylaşımda yatar, bu makaleyi iletin, böylece daha fazla insan onu görebilir.

    [Açık kaynak önerisi] Açık kaynaklı çoklu bulut teknolojisi platformu-Choerodon Toothfish sürüm 0.21
    önceki
    Kaynak kodu ile taklit x hazine ürününün kart yapımı öğreticisini gerçekleştirmek için Java'yı kullanma
    Sonraki
    Veritabanının bir docker kapsayıcısında dağıtılması neden önerilmez?
    "SQL İpuçları" MyBatis milyon limit sayfalama optimizasyonu, performans minimum 6 kat artırıldı
    [Hafifçe okuyun] RabbitMQ'yu yeniden tanıyın
    [Açık Kaynak Bilgileri] Visual Studio 201916.5 yayınlandı
    [Açık kaynak önerisi] Yeni nesil hafif ekip işbirliği sistemi olan Kooteam 0.9.2 yayınlandı
    Temel bilgisayar ağı bilgisi, sadece bu yeterli
    Suikast nedir? İngiliz ev sahibi bir soruyla karşı karşıya kalan ABD sözcüsü yalan söylemeye başladı
    Film Rehberi Zenginlik ve itibar kazanmak istemiyor, gemiyle birlikte ölmeyi seçiyor
    Çin'in Üçüncü Nesil Tarım Makinelerinin İnovasyon Sistemini Kurmak
    Turistler, Jingshan Dağı'ndaki Wanchun Pavilion'da fotoğraf çekmek için bir araya geliyor
    Giriş nasıl izole edilir ve masrafları kim bırakacak? Daha açık
    Çin Yeni Yılı'ndan İran "Bahar Şenliği" ne kadar bu Çinli uzmanlar zamana karşı yarışıyor
    To Top