Ekler & Kaynaklar, Kaynakça, Referanslar, Kablosuz Ağlara Saldırı & Defans - 6
Okuyucu : 8.763
Günlük Okuyucu : 9
Ek – 1 Simetrik – Asimetrik Şifreleme
Simetrik Şifreleme
Simetrik şifreleme klasik şifreleme yöntemidir. Yani bir metin “fb1907” anahtarı ile şifrelenmiş ise gene aynı sözcükle yani “fb1907” ile açılabilir.
Asimetrik Şifreleme
Asimetrik şifreleme de iki tip anahtar vardır.
Farz edin ki elinizde iki adet anahtar ve bir sandık var. İstediğiniz, bu sandık içerisinde bir arkadaşınızdan özel bir fotoğraf gelmesi. Ancak tabii ki bu fotoğrafların sadece sizin tarafınızdan görülmesini istiyorsunuz.
İki anahtarımız var demiştik, işte bunlardan biri Özel Anahtarımız (Private Key), Diğeri ise Genel Anahtarımız (Public Key). Boş sandık ile birlikte genel anahtarınızı da arkadaşınıza gönderiyorsunuz, bu sayede gönderdiğiniz arkadaşınız bu genel anahtar ile sandığı kilitleyebilecek.
Arkadaşınız sandığa gerekli resimleri yerleştiriyor ve gönderdiğiniz anahtar ile kilitliyor. Aklımıza hemen şu soru gelebilir "Peki anahtar yolda başkasının eline geçerse ?", Bir şey olmaz. Çünkü Genel Anahtarımız sadece kilitleyebiliyor, kilitleri açamıyor!
İşte bu da asimetrik şifrelemenin can alıcı noktası, elinizde iki anahtar var biri sadece kilitleyebiliyor (yani Genel Anahtar), diğeri ise açabiliyor.
Dolayısıyla gönderdiğiniz kişide sizin anahtarınız olmamasına rağmen sizin sandığınızı sadece size özel olarak kilitleyebiliyor ama kilitlediği sandığı ve sizin diğer sandıklarınızı açamıyor. Çünkü bunu yapabilmesi için sizin özel anahtarınıza sahip olması gerekli.
Bu kısım PGP’ ye Pratik Giriş makalesinde de Asimetrik Şifreleme açıklamasında benzer şekilde geçmektedir.
Ek 2 – XOR’ u Anlamak
Makalede geçen WEP onay sürecinde RC4’ in ilk byteları alınırken ki mantığın kod ile en basit onayı.
Derlenip çalıştırıldığında sonucun “True” olarak döneceği görülecektir. (dil:VB.NET)
Dim HiddenKey, MyKey, Chipher, Plain As Integer
Plain = 77
HiddenKey = 13
Chipher = HiddenKey Xor Plain
MyKey = Plain Xor Chipher
Console.WriteLine(HiddenKey = MyKey)
Ek 3 – VB.NET RC4 İmplementasyonu
VB.NET RC4 implemantasyonu kodu.
Kodun içerisinde açıklama ve süreçler hakkında yorumları görebilirsiniz. Bu kod üzerinde çalışarak RC4’ ün tam olarak nasıl çalıştığını daha iyi anlayabilirsiniz ya da uygulamalarınızda bu kodu kullanabilirsiniz.
''' <summary>
''' VB.NET RC4 implemantation by Ferruh Mavituna
'''
''' Make practice to understand how exactly RC4 works and weak keys in initialize phase
'''
''' References :
''' http://marcel.wanda.ch/Archive/WeakKeys
''' http://en.wikipedia.org/wiki/RC4_(cipher)
''' http://aspnet.4guysfromrolla.com/articles/091802-1.aspx
'''
''' http://marcel.wanda.ch/Archive/WeakKeys
'''
''' </summary>
''' <remarks></remarks>
Module RC4Main
Sub Main()
Dim RC4Test As New RC4("Test")
Dim x As String = RC4Test.Crypt("12456")
Console.WriteLine(RC4Test.Crypt(x))
Dim RC4TestDe As New RC4("Test")
Console.WriteLine(RC4TestDe.Crypt(x))
Console.Read()
End Sub
End Module
Public Class RC4
Private _Key As String
Private _Initialized As Boolean
''' <summary>
''' Is Rc4 Initialized ?
''' </summary>
''' <value></value>
''' <remarks></remarks>
Private Property Initialized() As Boolean
Get
Return _Initialized
End Get
Set(ByVal value As Boolean)
_Initialized = value
End Set
End Property
''' <summary>
''' Password
''' </summary>
''' <value></value>
''' <remarks></remarks>
Public Property Key() As String
Get
Return _Key
End Get
Set(ByVal value As String)
_Key = value
End Set
End Property
'State Box, 0-255
Private Sbox(255) As Integer
'Key Box - Holds our key
Private KBox(255) As Integer
''' <summary>
''' New RC4
''' </summary>
''' <remarks></remarks>
Public Sub New()
End Sub
''' <summary>
''' New RC4 with Password
''' </summary>
''' <param name="Key">Password for Encryption / Decryption</param>
''' <remarks></remarks>
Public Sub New(ByVal Key As String)
Me.Key = Key
End Sub
Private Function Crypt(ByVal PlainText As String, ByVal Init As Boolean) As String
'Reinitiliaze just like new IV in WEP
If Init Then Initialize()
Dim j, ActiveKey, m As Integer
Dim Result As New Text.StringBuilder(PlainText.Length)
For i As Integer = 1 To PlainText.Length
m = (m + 1) Mod 256
j = (j + Sbox(m)) Mod 256
Swap(Sbox(m), Sbox(j))
ActiveKey = Sbox((Sbox(m) + Sbox(j)) Mod 256)
Result.Append(Chr(Asc(PlainText(i - 1)) Xor ActiveKey))
Next i
Return Result.ToString
End Function
''' <summary>
''' Encrypt and Decrypt (This is RC4 dude!)
''' </summary>
''' <returns></returns>
''' <remarks></remarks>
Public Function Crypt(ByVal PlainText As String) As String
Return Crypt(PlainText, True)
End Function
''' <summary>
''' Initialize Procedure
''' </summary>
''' <remarks></remarks>
Private Sub Initialize()
'First fill 2 boxes
FillTheBoxes()
'--------------------------------------
'Pseudo Code
'--------------------------------------
'i = j = 0;
'For i = 0 to 255 do
' j = (j + Si + Ki) mod 256;
'Swap Si and Sj;
'End;
Dim j As Integer
For i As Integer = 0 To 255
j = (j + Sbox(i) + KBox(i)) Mod 256
Swap(Sbox(i), Sbox(j))
Next i
'Call after every initialize phase
FixFirst256()
End Sub
''' <summary>
''' Fill the SBox And KBox
''' </summary>
''' <remarks></remarks>
Private Sub FillTheBoxes()
'First Fill
Dim KeyArr() As Char = _Key.ToCharArray()
For i As Integer = 0 To 255
'Fill with the key (mod using for roundtrips in array )
KBox(i) = Asc(_Key(i Mod _Key.Length))
Sbox(i) = i
Next i
End Sub
''' <summary>
''' Swap Values
''' </summary>
''' <param name="Value1"></param>
''' <param name="Value2"></param>
''' <remarks></remarks>
Private Sub Swap(ByRef Value1 As Byte, ByRef Value2 As Byte)
Dim TmpSwap As Byte
TmpSwap = Value1
Value1 = Value2
Value2 = TmpSwap
End Sub
''' <summary>
''' Ignore 256 bytes of encrypt data
''' </summary>
''' <remarks></remarks>
Private Sub FixFirst256()
Dim Rnd As New System.Security.Cryptography.RNGCryptoServiceProvider()
Dim RndB(256) As Byte
Rnd.GetNonZeroBytes(RndB)
Me.Crypt(RndB.ToString, False)
End Sub
End Class
EK 4 - Diğer Bazı Yazılımlar
- Airpwn - http://airpwn.sourceforge.net/
Kablosuz ağlarda paketlere injection yapabilen bir yazılım. Bir grup arkadaşın http://www.evilscheme.org/defcon/ adresinde Defcon 12’ de (Güvenlik Konferansı) airpwn ile yaptıklarını görebilirsiniz.
- Wellenreiter - http://www.wellenreiter.net/
Kismet ile benzer özellikleri bulunan bir tarayıcı ve analiz programı.
- AirSnort - http://airsnort.shmoo.com/
Paket toplama ve kırma. Ancak performansı pek yeterli değil.
- WepLab - http://weplab.sourceforge.net/
Tarama, Analiz ve Kırma programı, Bir çok kırma opsiyonu bulunuyor.
- Aerosol
Tarama
- Airfart - http://airfart.sourceforge.net/
Tarama
- BSD Airtools - http://www.dachb0den.com/projects/bsd-airtools.html
BSD işletim sistemleri için tarama, analiz ve kırma işlemleri yapan programlar.
Bunlar harici;
- http://www.wardrive.net/wardriving/tools
- http://www.remoteassessment.com/?op=pub_archive_search&query=wireless
adreslerin daha güncel kablosuz ağ güvenliği ile ilgili yazılımları takip edebilirsiniz.
Bazı Terimler
WPA : WiFi Protected Access
WEP : Wired Equivalent Privacy
Wireless : Kablosuz
Network : Ağ
Sniffing : Eavesdropping diye de geçer. Bir iletişimi gizlice dinlemeye verilen isim. Türkçeye kelime anlamı olan “koklama” olarak ta çevrilmiştir ki, çok kötü bir fikirdir. Ek olarak “dinleme” kelimesi de kullanılmaktadır.
STA : Station, Kablosuz ağ istemcisi (Notebook, PDA, Buzdalabı gibi kablosuz ağlara bağlanabilen herhangi bir cihaz)
RADIUS : Remote Authentication and Dial-In User Service
AP : Access Point, Kablosuz cihazların (notebook gibi) kablolu ağlara bağlanmasını yarayan donanım. Örnek olarak bir firmanın ADSL bağlantısı bir wireless ADSL modem üzerinden olabilir. Bu durumda modem ADSL ağına kablosuz cihazların da bağlanmasını sağlar.
Wardriving : Deli danalar gibi kablosuz ağ arama sanatı
DOS : Denial Of Service – Bir servisin kullanılmaz hale getirilmesi.
MITM : Man in the Middle – İki iletişim arasına girip data çalma, modifiye etme gibi işlemlere izin veren saldırı modeli. Genelde asimetrik şifreleme kullanan iletişimlerde araya girmek için kullanılır.
ARP : Address Resolution Protocol, Ağlarda MAC adresini IP adresi ile eşleştirmekte kullanılan protokol. ARP Poisoning ise ARP kullanılan ağlarda ARP tablolarını modifiye ederek (zehirleme) MITM saldırılarına zemin hazırlamada kullanılan metoddur.
Kaynakça / Referanslar / Daha fazlası
- Network Stumbler - http://www.netstumbler.org/
- Kismet – http://www.kismetwireless.net/
- WepLab - http://weplab.sourceforge.net/
- Etheral – http://www.ethereal.com/
- Airsnort – http://airsnort.shmoo.com/
- Airsnare - http://home.comcast.net/~jay.deboer/airsnare/
- Aircrack Documentation
Christophe Devine - PGP’ ye Pratik Giriş - http://ferruh.mavituna.com/article/?775
- Real 802.11 Security: Wi-Fi Protected Access and 802.11i
Jon Edney, William A. Arbaugh - Wardriving
Chris Hurley, Michael Puchol, Russ Rogers and Frank Thornton - AiroPeek - http://www.wildpackets.com/
- Intercepting mobile communications: the insecurity of 802.11
Borisov, N, I. Goldberg, and D. Wagner - Weaknesses in the Key Scheduling Algorithm of RC4
http://www.drizzle.com/~aboba/IEEE/rc4_ksaproc.pdf - Wikipedia – http://www.wikipedia.com
- Wireless Anarchy
Kaynaklara Linkler - http://wirelessanarchy.com/
Yazar
Her türlü yorum ve düşünceleriniz için aşadağıki iletişim adreslerini kullanabilirsiniz...
Ferruh Mavituna
http://ferruh.mavituna.com
Email: ferruh[at]mavituna.com

Yorumlar
Yorum Ekle
Diğer Yazılar
Ekşi Sözlük Üye Alımı
Ekstra Ekipmanlar, Antenler ve Defans, Kablosuz Ağlara Saldırı & Defans - 5
ElseNot, Exploit Manyaklığı
Emule Kad (Kademlia) ve Edonkey Networkleri
En iyi oyun kültürü magazini, The Escapist
Enemy Territory, Quake Wars
Engin Ardıç - Bookcrossing
Entellektuel Ihtiyaclari Online Karsilama
EOP - Ethernet Over Power
Neredeyim ?
Ferruh.Mavituna » Kablosuz Ağ Güvenliği » Ekler & Kaynaklar, Kaynakça, Referanslar, Kablosuz Ağlara Saldırı & Defans - 6