Кіріспе

Жарамды компьютерлік сессияны қолдану

Компьютерлік ғылымда сессияны басып алу, кейде cookie-лерді басып алу деп те аталады, компьютерлік жүйедегі ақпаратқа немесе қызметтерге рұқсатсыз қол жеткізу үшін жарамды компьютерлік сессияны – кейде сессия кілті деп те аталады – пайдалану. Атап айтқанда, бұл қашықтағы серверде пайдаланушыны куәландыру үшін қолданылатын «сиқырлы» cookie-ні ұрлауға қатысты қолданылады. Бұл веб-дамытушылар үшін ерекше маңызды, өйткені көптеген веб-сайттарда сессияны сақтау үшін қолданылатын HTTP cookie-лерін шабуылшы аралық компьютерді пайдаланып немесе құрбанның компьютерінде сақталған cookie-лерге қол жеткізе отырып оңай ұрлай алады (HTTP cookie-лерді ұрлау туралы қараңыз). Сессиялық cookie-лерді сәтті ұрлағаннан кейін қарсылас сессияны басып алу үшін Pass the Cookie әдісін қолдана алады. Cookie-лерді басып алу интернеттегі клиент куәландыруына қарсы жиі қолданылады. Қазіргі заманғы веб-браузерлер веб-сайтты шабуылдан қорғау үшін cookie-лерді қорғау механизмдерін пайдаланады. Танымал әдіс – бастапқы маршрутталған IP пакеттерін пайдалану. Бұл желідегі B нүктесіндегі шабуылшыға A мен C арасындағы әңгімеге қатысуға мүмкіндік береді, IP пакеттерін B машинасы арқылы өткізуге ынталандырады. Егер бастапқы маршруттау өшірілген болса, шабуылшы «көрінбейтін» басып алуды қолдана алады, осылайша ол екі машинаның жауабын болжайды. Осылайша, шабуылшы команда жібере алады, бірақ жауапты ешқашан көре алмайды. Дегенмен, жиі қолданылатын команда – желідегі басқа жерден кіруге мүмкіндік беретін парольді орнату. Шабуылшы әңгімені бақылау үшін аңқау бағдарламаны пайдаланып A мен C арасында «тікелей» болуы мүмкін. Бұл «ортадағы адам шабуылы» деп аталады.

HTTP тарихы

HTTP протоколының 0.8 және 0.9 нұсқаларында cookie файлдары және сеансты басып алу үшін қажетті басқа да мүмкіндіктер болмады. 1994 жылдың 13 қазанында жарық көрген Mosaic Netscape-тің 0.9beta нұсқасы cookie файлдарын қолдады. HTTP 1.0-дың алғашқы нұсқаларында сеансты басып алуға байланысты кейбір қауіпсіздік әлсіздіктері болды, бірақ оларды пайдалану қиын болды, өйткені көптеген алғашқы HTTP 1.0 серверлері мен браузерлерінің тұрақсыздығы осыған кедергі келтірді. HTTP 1.0 2000-жылдардың басынан бері HTTP 1.1 үшін қосалқы нұсқа ретінде белгіленгендіктен және HTTP 1.0 серверлерінің барлығы дерлік HTTP 1.1 серверлері болғандықтан, сеансты басып алу мәселесі дерлік тұрақты қауіпсіздік тәуекеліне айналды. HTTP 1.1-дің жаңартылған нұсқаларымен суперкукилер мен басқа да мүмкіндіктерді енгізу, осы басып алу мәселесінің үнемі қауіпсіздік проблемасы болуына жағдай жасады. Веб-серверлер мен браузерлердің күйлік машиналарын стандарттау осы үнемі қауіпсіздік проблемасына үлес қосты.

Әдістер

Сессияны ұрлау үшін төрт негізгі әдіс қолданылады. Олар: сеансты бекіту, онда шабуылшы пайдаланушының сеанс идентификаторын өзіне белгілі бір мәнге орнатады, мысалы, пайдаланушыға белгілі бір сеанс идентификаторын қамтитын сілтемесі бар электрондық пошта жіберіп. Шабуылшы енді пайдаланушы жүйеге кіргенше күтуі керек. Сеанс жағынан ұрлау, онда шабуылшы сеанс cookie-ді ұрлау үшін екі тарап арасындағы желілік трафикті оқуға пакеттерді талдауды қолданады. Көптеген веб-сайттар шабуылшылардың құпия сөзді көруіне жол бермеу үшін кіру беттері үшін SSL шифрлауын қолданады, бірақ аутентификацияланғаннан кейін сайттың қалған бөлігі үшін шифрлауды қолданбайды. Бұл желілік трафикті оқи алатын шабуылшыларға серверге жіберілген барлық деректерді немесе клиент қараған веб-беттерді ұстап алуға мүмкіндік береді. Бұл деректер сеанс cookie-сін қамтитындықтан, құпия сөздің өзі бұзылмаса да, ол құрбанның кейпін киюге мүмкіндік береді. Қауіпсіз Wi-Fi желілері әсіресе осал, өйткені желімен бөлісетін кез-келген адам басқа түйіндер мен кіру нүктесі арасындағы веб-трафиктің көп бөлігін оқи алады. Сайт аралық скрипттеу, онда шабуылшы пайдаланушының компьютерін кодты орындауға итермелейді, өйткені ол серверге тиесілі болып көрінеді, бұл шабуылшыға cookie-нің көшірмесін алуға немесе басқа операцияларды орындауға мүмкіндік береді. Зыянды бағдарламалар мен қажетсіз бағдарламалар браузерді ұрлау арқылы браузердің cookie файлдарын пайдаланушының білмеуінен ұрлап, содан кейін пайдаланушының білмеуінен әрекеттерді (мысалы, Android қосымшаларын орнату) орындай алады. Физикалық қолжетімділігі бар шабуылшы сессия кілтін, мысалы, пайдаланушының компьютері немесе сервердің тиісті бөлігінің файл немесе жады мазмұнын алу арқылы ұрлауға тырыса алады. Тиісті сеанс cookie-лерін сәтті алғаннан кейін қарсылас Pass the Cookie техникасын сессияны ұрлау үшін пайдалана алады.

Өртші қой

2010 жылдың қазан айында Mozilla Firefox үшін Firesheep деп аталатын кеңейтім шығарылды, ол шифрланбаған қоғамдық Wi-Fi желілерін пайдаланатын қолданушыларға сеансты ұрлауға тырысатын шабуылшылар үшін оңай қол жетімділік ұсынды. Facebook, Twitter және қолданушы өз баптауларына қосқан кез келген сайттар Firesheep қолданушысына cookie файлдарынан жеке ақпаратты оңай алуға және қоғамдық Wi-Fi желісін пайдаланатын адамдардың жеке мүліктеріне қауіп төндіруге мүмкіндік берді. Бірнеше ай өткен соң Facebook және Twitter HTTP Secure қолдауын ұсынып (кейіннен міндетті етіп) жауап берді.

WhatsApp-ты аңғару

WhatsApp Sniffer деп аталатын қосымша 2012 жылдың мамыр айында Google Play дүкенінде пайда болды. Ол сол желіге қосылған басқа WhatsApp пайдаланушыларының хабарламаларын көрсетуге мүмкіндік берді. Ол кезде WhatsApp шифрлаумен қамтамасыз етілген XMPP инфрақұрылымын пайдаланды, қарапайым мәтіндік хабар алмасу емес.

Дроид қойлар

DroidSheep – веб-сессияларды ұрлау (sidejacking) үшін қарапайым Android құралы. Ол сымсыз (802.11) желі қосылысы арқылы жіберілген HTTP пакеттерін тыңдайды және оларды қайта пайдалану үшін осы пакеттерден сессия идентификаторын шығарып алады. DroidSheep libpcap кітапханасын пайдаланып сессияларды ұстай алады және қолдайды: ашық (шифрланбаған) желілер, WEP шифрланған желілер және WPA/WPA2 шифрланған желілер (тек PSK). Бұл бағдарламалық құрал libpcap және arpspoof қолданады. Бұл қосымша Google Play-де қолжетімді болған, бірақ Google оны алып тастады.

CookieCadger (Бөтелпе)

CookieCadger – шифрланбаған GET сұраныстарын қолданатын қосымшалардан ақпараттың ағып кетуін анықтауға көмектесетін, HTTP сұраныстарын басып алу және қайта ойнатуды автоматтандыратын графикалық Java бағдарламасы. Бұл Wireshark құралдарына негізделген, әртүрлі платформада жұмыс істейтін ашық кодты құрал, ол сымды Ethernet желісін, қорланбаған Wi-Fi желісін бақылай алады немесе офлайн талдау үшін пакеттерді сақтаған файлды жүктей алады. Cookie Cadger жасөспірімдер командаларының сайттарындағы, мысалы Shutterfly (AYSO футбол лигасы қолданады) және TeamSnap сияқты әлсіздіктерді көрсету үшін қолданылған.