Водич · Ризик порука · · аутор Stefan Tsezarov · ажурирано
Текст који не можете видјети
Двије поруке могу изгледати потпуно исто и садржавати потпуно различите знакове.
Копирате поруку.
Изгледа нормално.
Три обичне реченице. Ништа чудно.
Залијепите га у документ, wеб страницу, новчаник или AI асистента.
И одједном се догоди нешто што порука, како сте је видјели, никада није рекла.
Како?
Јер оно што видите на свом екрану није нужно све што је унутар текста.
Неки знакови уопће не заузимају видљив простор.
Још увијек су тамо.
И даље се могу копирати, лијепити, похрањивати и обрађивати.
Једноставно их не можете видјети.
Ваше рачунаро не види слова на начин на који их ви видите
Када гледате реченицу, видите облике.
Ваше рачунаро види податке.
Слово А, на примјер, представљено је Unicode знаком с одређеном кодном точком. Размак је још један знак. Свако слово, број, интерпункцијски знак и многи други симболи имају свој властити приказ.
Али не производи сваки знак видљиви облик.
Неки знакови говоре софтверу како би се текст требао понашати.
Они могу рећи програму:
- повежите ове знакове
- немојте овдје прекидати линију
- приказати овај одјељак с десна на лијево
- промијенити начин на који су ти знакови поредани
- или, у неким случајевима, једноставно заузети позицију без цртања било чега
Дакле, можете имати два дијела текста који изгледају идентично док су различити низови знакова.
Та разлика може бити важна.
Пуно.
Три врсте невидљивог текста које вриједи знати
Постоји неколико различитих механизама укључених, али три су посебно корисна за разумијевање.
1. Знакови који се не појављују
Они се често називају знакови нулте ширине.
Примјери укључују размак нулте ширине, спојник нулте ширине и спојник ријечи.
Они заузимају положај у тексту, али не производе видљиве пикселе.
На примјер, ове двије ријечи могу изгледати идентично:
payment
payment
Унутар другог је невидљиви лик.
Вјеројатно не можете видјети.
Ваше рачунаро може.
То значи да два низа заправо нису идентична.
То може утјецати на претраживања, филтре, корисничка имена, идентификаторе и друге суставе који успоређују темељне знакове, а не оно што особа види.
И постоји оправдан разлог за постојање неких од ових ликова.
Вратит ћемо се на то.
2. Знакови који мијењају редослијед који видите
Неки невидљиви знакови утјечу на смјер текста.
Ово је неопходно јер се језици као што су арапски и хебрејски пишу с десна на лијево, док се енглески пише слијева на десно.
Реченица која садржи обоје може захтијевати упуте које говоре софтверу како различити дијелови требају бити приказани.
Ове упуте могу бити корисне.
Али они се такођер могу злоупотријебити.
Знак за контролу смјера може учинити да се знакови које је похранило рачунаро појављују другачијим редослиједом на екрану.
То ствара очити сигурносни проблем.
Назив датотеке, на примјер, може изгледати као да завршава с једном екстензијом, док његов темељни низ знакова говори нешто друго.
Исти принцип може бити важан у изворном коду.
Рецензент види једну ствар.
Рачунаро обрађује другу.
3. Ликови који могу носити невидљиву поруку
Ово је необичан.
Unicode садржи распон познат као блок ознака.
Ови су знакови дизајнирани за потребе означавања и обично су невидљиви када се рендерирају.
Занимљиво је да појединачни знакови ознаке могу представљати обичне АСЦИИ знакове.
Ставите их довољно заједно и они могу кодирати текст.
Реченица стога може садржавати додатни низ знакова који се не појављује на екрану.
Вашим очима порука може изгледати као сасвим обичан поздрав.
За софтвер који чита темељне знакове, ту може бити много више.
А та разлика постаје посебно занимљива када је одредиште AI асистент.
AI не види вашу поруку као фотографију екрана.
Обрађује знакове.
Дакле, нешто што не видите може и даље бити дио уноса.
Ево како то изгледа
Узмите ову реченицу:
Send the payment to the address below.
Изгледа нормално, зар не?
Сада замислите да су у њега уметнути невидљиви знакови.
На вашем екрану још увијек може изгледати овако — а ово је права ствар, припремљена да је тестирате:
Send the payment to the address below.
Али испод, рачунаро заправо може садржавати додатне знакове.
На примјер:
Оно што видите:
Пошаљите уплату на доњу адресу.
Што рачунаро прима:
Пошаљи невидљиво плаћање невидљиво … ОЗНАКЕ
Видљива реченица није се промијенила.
Основни низ има.
То је важна идеја.
Исти изглед. Различити подаци.
Ако покренете посебно припремљени примјер кроз скенер , скенер може идентифицирати те знакове иако ваше очи не могу.
Поновно упишите видљиву реченицу ручно и ти скривени знакови неће доћи с њом.
То је цијели трик.
Писмо које није писмо
Невидљиви знакови нису једини проблем.
Понекад је лик савршено видљив.
То једноставно није лик какав мислите да јест.
Размотрите ово двоје:
savesavesave
sаvesavesave
Изгледају готово немогуће разликовати.
Али пажљиво погледајте другу.
Други знак није латинично слово а.
То је ћирилични а .
Изгледају слично.
Они су различити ликови.
Та техника је позната као напад хомоглифима.
Иста се идеја може користити с корисничким именима, називима домена, називима токена и другим идентификаторима.
Лажни рачун може користити сличан лик.
Лажна wеб страница може користити домену која има изглед.
Особи се име може учинити познатим.
За рачунаро, то је потпуно другачији низ.
Гдје то заправо може узроковати проблеме?
Ово није само чудан Unicode трик.
Важно је свугдје гдје се текст копира, успоређује или дјелује на њега.
AI помоћници
Залијепите поруку у AI асистента.
Видите питање.
Текст испод може садржавати знакове који вам нису видљиви.
Будући да помоћник обрађује стварни текст, а не само визуални изглед, ти знакови постају дио уноса.
Зато провере невидљивих знакова могу бити корисне пре лијепљења непоузданог текста у сустав који може подузети радње или обрадити осјетљиве информације.
Корисничка имена и имена рачуна
Два рачуна могу изгледати као да имају исто име док садрже различите знакове.
Због тога је лажно представљање много теже уочити.
Линкови и домене
Веза може садржавати знакове који наликују познатим словима.
Име које препознајете није нужно тачна домена за коју мислите да јест.
Код
Знакови за контролу смјера и други необични Unicode знакови могу отежати исправан преглед изворног кода.
Програмер види приказани текст.
Компајлер види стварне знакове.
Претраживање и филтрирање
Филтер обично успоређује низове.
Уметните невидљиви знак и низ се мијења.
То може утјецати на претраживања, пописе блокираних, суставе модерирања и друге алате за обраду текста.
Како можете проверити?
Не морате постати стручњак за Unicode.
Постоји неколико једноставних провера.
ПРОВЈЕРА 1 — Скенирајте текст
Залијепите сумњиви текст у сигурносни скенер знакова.
Користан скенер требао би вам рећи:
- јесу ли присутни невидљиви знакови
- колико их је пронађено
- који су то ликови
- којој Unicode обитељи припадају
- јесу ли откривени слични знакови
То је оно што скенер на овој страници треба показати.
Важан дио је да вам треба рећи што је заправо пронашао, умјесто да вам једноставно даје тајанствено зелено или црвено свјетло.
ПРОВЈЕРА 2 — Успоредите број знакова
Ово је брза провера разума.
Ако се чини да реченица садржи 38 знакова, али бројач знакова пријављује 47, постоји разлика коју вриједи истражити.
Број знакова неће вам рећи који су додатни знакови.
Али може вам рећи да постоји нешто што не видите.
ПРОВЈЕРА 3 — Поновно упишите текст када је то потребно
Ако вам неко пошаље кратку упуту, а не морате сачувати изворно обликовање, ручним уписивањем важног дијела можете уклонити невидљиве знакове из копираног текста.
Али запамтите:
Поновно уписивање не чини одредиште поузданим.
Ако вам неко пошаље сумњиву адресу wеб странице, на примјер, ручно уписивање то не доказује да је сама wеб страница легитимна.
То је једноставно начин избјегавања скривених знакова у тексту који копирате.
ПРОВЈЕРА 4 — Прочитајте стварну домену
Немојте се ослањати само на препознавање како домена изгледа.
Ако је веза важна, проверите стварну домену.
За важне рачуне употријебите ознаку коју сте већ спремили или сами упишите познату адресу умјесто да слиједите неочекивану везу.
Исти принцип вриједи за корисничка имена и адресе новчаника:
препознавање облика није исто што и провера знакова.
Немојте паничарити када пронађете невидљивог лика
Ово је важно.
Невидљиво не значи аутоматски злонамјерно.
Неки невидљиви Unicode знакови постоје јер их људи истински требају.
Споји нулте ширине, на примјер, могу утјецати на то како се знакови спајају у различитим суставима писања.
Такођер се користе у секвенцама емотикона.
Знакови за контролу смјера су неопходни за исправно приказивање текста који мијеша писма слијева на десно и здесна налијево.
Дакле, проналазак невидљивог лика не значи аутоматски:
"Ово је напад."
То значи:
Овдје постоји нешто што не могу видјети.
Што то значи овиси о контексту.
Ко је послао поруку?
Што вас текст тражи да учините?
Гдје ћете то залијепити?
Иде ли у AI помоћника, новчаник, wеб страницу, терминал или неки други сустав који ће дјеловати на њега?
Та су питања важна.
Блок ознака заслужује додатну позорност
Знакови ознака су необични јер је њихова сврха представљање информација док остају невидљиви у нормалном приказивању текста.
Ако вам странац пошаље поруку која садржи неочекивани низ њих, то вриједи истражити.
Скенер може открити да знакови постоје и, гдје је то прикладно, декодирати текст који представљају.
Али чак ни тада, откривање вам не говори намјеру пошиљатеља.
Говори вам што је у тексту.
То је пуно кориснији и брањивији одговор.
Што вам чисто скенирање говори - а што не говори
Ово је још једно мјесто гдје сигурносни алати морају бити поштени.
Скенер открива знакове.
Не чита људске мисли.
Ако скенер пронађе невидљиве знакове, може вам рећи што су они.
Не може вам рећи ко их је убацио.
Не може доказати зашто су уметнути.
А ако не пронађе ништа, то не значи да је сама порука поуздана.
Реченица потпуно нормалног изгледа ипак може садржавати лаж, злонамјерну повезницу или опасну упуту.
Исто тако, порука која садржи невидљиви знак може бити потпуно безопасна.
Такођер постоје ограничења аутоматизиране детекције хомоглифа. Скенер може проверити познате сличне знакове и познате скупове знакова, али нити једну проверу не треба сматрати јамством да је пронађена свака могућа визуална пријевара.
Резултат вам говори што је откривено.
Још увијек морате одлучити што текст значи и вјерујете ли његовом извору.
Једноставна навика коју вриједи изградити
Не морате се бојати копирања и лијепљења.
Само успорите када се текст који копирате спрема нешто учинити.
AI асистент.
Новчаник.
Wеб страница.
Наредбени редак.
Рачун.
Финанцијска трансакција.
Дио кода.
Ако нисте сами уписали текст, не морате нужно знати све што се налази у њему.
И не морате погађати.
Проверите ликове пре него им допустите да дјелују.
Траје секунде.
И у многим случајевима, провера је бесплатан.
Овај је чланак само у образовне сврхе. Објашњава како невидљиви Unicode знакови, контроле за смјер текста и слични знакови могу утјецати на дигитални текст. Примјер на овој страници садржи намјерно уметнуте невидљиве знакове тако да можете сами прегледати механизам. Скривени текст је безопасан и постоји само у сврху демонстрације.
Невидљиви знакови могу преживјети копирање и лијепљење, тако да их скенер види у оба смјера. Да бисте прескочили лијепљење, користите ознаку скенираног одабраног текста .