Aleksejs Posted October 26, 2010 Report Share Posted October 26, 2010 Pirms dažām dienām uzradās jauns Firefox plugins Firesheep - http://codebutler.com/firesheep Īsumā - tas ļauj veikt sesiju pārtveršanu "session highjacking" cilvēkieb bez jebkādām priekšzināšanām, kas nozīmē, ka jebkurš zaļknābis var uzinstalēt šo pluginu, pieslēgties neaizsargātam WiFi vai nesvičotam tīklam (piemēram bezmaksas wifi kafejnīcās vai tie daudzie wifji, kas ir mājās bez parolēm) un pārtvert strādājošas citu cilvēku Facebook/Twitter/(potenciāli arī draugiem)/u.c. neazsargātās sesijas. Kaut gan sesiju pārtveršana nav nekāds jaunums - svarīgā lieta ir tas, ka šis rīks ļauj cilvēkiem bez gandrīz nekādām priekšzināšanām un pieredzes par to kā tiek veikti šie uzbrukumi (kā piemēram jūsu brālim/māsai greizsirdīgajai draudzenei/draugam, klasesbiedram utt) sekmīgi veikt šo uzbrukumu. Tomēr nevajag arī pārlieku satraukties, jo tomēr šis konkrētais uzbrukuma rīks ir lokāli ierobežots (uzbrucējam jāatrodas kaut kur starp jums un serveri un šī vieta šī rīka kontekstā ir jūsu subnets). Kā Chris Wysopal twitterā teica: "#firesheep is to cleartext web sessions as chainsaws are to trees. Everyone gets to be a lumberjack." Ko darīt kā lietotājam: Izvairīties no neaizsargātu tīklu izmantošanas; izmantot SSL kad vien iespējams; izmantot pluginus, kas piespiež izmantot SSL (protams, ja tāds konkrētajam portālam ir pieejams). Ko darīt kā izstrādātājam: Nodrošināt, ka sesijas ID ir labi pasargāts - izmantot SSL lai aizsargātu sesijas cepumus. Neviena cita alternatīva īsti prātā nenāk. Piesiet sesijas ID klienta IP adresei varētu nebūt efektīvs risinājums, jo šis konkrētais rīks ja tiks izmantots tad tiks izmantots no tā paša subneta un līdz ar to uz āru tiks rādīta tā pati NATotā IP adrese kā upurim. http://stackoverflow.com/questions/22880/what-is-the-best-way-to-prevent-session-hijacking Vēl resursi: Autora prezentācija (pārslēgt slaidus var ar klaviatūras bultiņām) - http://codebutler.github.com/firesheep/tc12/#1 http://www.h-online.com/security/news/item/Firefox-extension-steals-Facebook-Twitter-etc-sessions-1124596.html http://blogs.pcmag.com/securitywatch/2010/10/with_firesheep_all_your_http_s.php http://www.f-secure.com/weblog/archives/00002055.html + Šīs pašas tēmas paziņojums iekš boot.lv http://www.boot.lv/forums/index.php?/topic/131434-firesheep-sesiju-partversana-tejkannam/ Quote Link to comment Share on other sites More sharing options...
marrtins Posted October 26, 2010 Report Share Posted October 26, 2010 Apsveicami. Varbūt kāds vienā vai otrā galā sāks domāt. Quote Link to comment Share on other sites More sharing options...
codez Posted October 26, 2010 Report Share Posted October 26, 2010 Bet, ja pareizi saprotu situāciju, tad ar pašparakstītu SSL sertifikātu browseri kliegs, bet verificēti SSL sertifikāti maksā diezgan dārgi. Quote Link to comment Share on other sites More sharing options...
Aleksejs Posted October 26, 2010 Author Report Share Posted October 26, 2010 Jā, tā ir. Vislētākie (vismaz pirms pus gada) no tiem, kas ir visos pārlūkos ir GoDaddy sertifikāti. ~50$ gadā. Quote Link to comment Share on other sites More sharing options...
codez Posted October 26, 2010 Report Share Posted October 26, 2010 Neesmu tajās WiFi pārtveršanas lietās iedziļīnājie, tāpēc jautāšu uzreiz šeit: 1)Cik saprotu, tad neaizsargātam WiFi tīklam var pārķert visu tīklā sūtīto informāciju? 2)Ja WiFi tīkls ir aizsargāts ar WPA2, bet kādam citam arī ir zināma parole, vai tad arī var pārķert visu informāciju? Vispār interesants plugins. Šodien laikam hobija pēc pabraukāšu ar portatīvo pa dzīvojamajiem rajoniem. Gribās pārbaudīt praksē, cik tas viegli ir. Quote Link to comment Share on other sites More sharing options...
Aleksejs Posted October 26, 2010 Author Report Share Posted October 26, 2010 1) Jā 2) Piņķerīgāk, bet jā. Quote Link to comment Share on other sites More sharing options...
indoom Posted October 26, 2010 Report Share Posted October 26, 2010 Jānosaka likumos, ka ielaušanās svešā sesijā ir tāds pats kriminālnoziegums, kā, piem., ielaušanās svešā dzīvoklī. Quote Link to comment Share on other sites More sharing options...
Aleksejs Posted October 26, 2010 Author Report Share Posted October 26, 2010 Pārdomas par to, kā realizēt aizsardzību bez SSL (vai ar minimālu SSL iesaisti). Ja ir pieejams jauns pārlūks un LocalStorage. 1) Cilvēks atver pārlūkā login lapu. 2) Serveris izveido sesiju, uzģenerē un piesaista sesijai virkni RND1 un arī nosūta RND1 cookiju un SID cookiju. 3) Cilvēks ievada un nosūta username. 4) Serveris atrod šo username DB un tam atbilstošās sāls S un paroles hasha H vērtības(vai ja tāds username neeksistē uzģenerē kautko randomā), kuru izmanto, lai izrēķinātu hmac(H,RND1)=K un saglabā sesijā šo K, izveido, saglabā sesijā RND2 un nosūta AES_CBC(RND2,K) un S. 5) Cilvēks ievada paroli P, no kuras pārlūks izmantojot S dabū H. izmantojot RND1 un H tāpat kā serveris - dabū K, kuru saglabā savā localstorage, tur pat saglabā arī atšifrēto RND2=RND2 + 1. Serverim atpakaļ sūta nemainīgu SID (lai serverpusē var identificēt sesiju) un hmac(SID . RND2,K)=Q 6) Serveris pārbauda vai viņa pusē ģenerētais Q sakrīt ar klienta atsūtīto. 7) Pie katra pieprasījuma klients palielina RND2 par 1 un ģenerē atbilstošu Q. Sarežģīti & piņķerīgi. :D Edit: Papildinājums no autora (vakardien FireSheep bija desmitais meklētākais vārds googlē ASV teritorijā) http://codebutler.com/firesheep-a-day-later Quote Link to comment Share on other sites More sharing options...
codez Posted October 26, 2010 Report Share Posted October 26, 2010 Jānosaka likumos, ka ielaušanās svešā sesijā ir tāds pats kriminālnoziegums, kā, piem., ielaušanās svešā dzīvoklī. Absurds. Fiziskai telpai ir daudz lielāka prioritāte, kā informatīvai, savādāk tādā gadījumā arī jebkāda ielaušanās manā privātā informācijas telpā jānosaka kā kriminālnoziegums: - Paskatījies uz mani (nolasīji manu vizuālo informāciju), kriminālpārkāpums - pateici kaut ko man ne tā, kriminālpārkāpums Ir vienkārši jānosaka, ka šādas darbības ir pretlikumīgas, bez nekāda norādīta soda, bet sodu tālāk kā par pretlikumīgu darbību veikšanu pēc sekām. Savādāk tas ir absurdi, ja kāds paņem savam draugam blakus istabā nozog soc. tīkla sesiju un aizsūta citam draugam viltus vēlstuli kā joku un par to viņam ir kriminālsods. Nav seku, nav nozieguma. Ir sekas, soda pēc sekām. Piemēram, ja sekas ir tikai morālais kaitējums, tad pierādot to tu vari civiltiesiskā ceļā pieprasīt kompensāciju. Ja sekas ir ar kriminālu raksturu, tad šāda darbība ir tikai kā vainu pastiprinošs līdzeklis. Tai pašā laikā ar ko atšķirās publiski pieejama lapa internetā, no publiski un brīvi pieejamas sesijas WiFi tīklā? Drīzāk tad jau atbildība ir jāuzņemās tiem, kas organizē tavas informācijas transportu internetā ne tā kā tam būtu jābūt. Attiecīgi tīklu administrātoriem, provaideriem, weblapu īpašniekiem, utt. Quote Link to comment Share on other sites More sharing options...
codez Posted October 26, 2010 Report Share Posted October 26, 2010 7) Pie katra pieprasījuma klients palielina RND2 par 1 un ģenerē atbilstošu Q. Ja nemaldos, šo varēs darīt tikai pie ajax pieprasījumiem. Kā ar parastiem lapas GET pieprasījumiem? Vai tas nozīmē, ka visiem a tagiem javascriptiski jāpiekabina klāt Q? Protams var jau plānot tā, ka informācija aiz paroles nāk tikai caur ajax pieprasījumiem. Quote Link to comment Share on other sites More sharing options...
Aleksejs Posted October 26, 2010 Author Report Share Posted October 26, 2010 to Q jāsaglabā kā cookiju, tad tas sūtīsies ar katru pieprasījumu... Vienīgi bilžu/utt resursus, kas nav jāaizsargā jānoliek tādā pathā, lai uz tiem nesūtītu neko tādu. Arī AJAX variants darbotos (jo ja jau varam LocalStorage izmantot, tad AJAXam jāiet bez problēmām). Quote Link to comment Share on other sites More sharing options...
codez Posted October 26, 2010 Report Share Posted October 26, 2010 Principā tam vajadzētu darboties arī bez localstorage-s. Ar js var piekļūt kaudzei unikālas datora informācijas (browser fingerprints), kura netiek sūtīta tīklā, attiecīgi no tās var uzģenerētu to RND1. Quote Link to comment Share on other sites More sharing options...
Aleksejs Posted October 26, 2010 Author Report Share Posted October 26, 2010 Ja var visu realizēt caur AJAXu, tad jā - uzģenerē izmanto sev kaut vai vienkārši mainīgo - lapa nevienu brīdi nepārlādējas (pārlūka izpratnē), taču dati skraida. Vienīgi... kā ar SEO utt tādā gadījumā? Quote Link to comment Share on other sites More sharing options...
daGrevis Posted October 26, 2010 Report Share Posted October 26, 2010 Arī Notepad.lv: http://www.notepad.lv/raksts/8103/ugunsaita-cik-dross-juties-interneta/ . =P Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.