.td_uid_42_5cc412e603efb_rand.td-a-rec-img{text-align:left}.td_uid_42_5cc412e603efb_rand.td-a-rec-img img{margin:0 auto 0 0}Може би сте виждали в телевизионните

...
.td_uid_42_5cc412e603efb_rand.td-a-rec-img{text-align:left}.td_uid_42_5cc412e603efb_rand.td-a-rec-img img{margin:0 auto 0 0}Може би сте виждали в телевизионните
Коментари Харесай

Замъгляването на конфиденциалната информация в изображенията е твърде лоша идея

.td_uid_42_5cc412e603efb_rand.td-a-rec-img{text-align:left}.td_uid_42_5cc412e603efb_rand.td-a-rec-img img{margin:0 auto 0 0}
Може би сте виждали в телевизионните стратегии или в интернет фотоси на хора, които са преднамерено замъглени, с цел да се скрият техните лица. Ето по какъв начин е прикрит Бил Гейтс:



По принцип тази концепция работи, тъй като няма по какъв начин размитият облик да бъде върнат в истинското си положение – в истинската фотография с висока подробност, на която да бъде разпознато лицето. Така че с лицата всичко е наред и тяхното размиване може умерено да се употребява. Само че прекалено много хора употребяват размиването за скриване на конфиденциална информация, формирана от цифри и текст. Сега ще покажа, че това е прекомерно неприятна концепция.
.td_uid_41_5cc412e603ad3_rand.td-a-rec-img{text-align:left}.td_uid_41_5cc412e603ad3_rand.td-a-rec-img img{margin:0 auto 0 0}
Да предположим, че някой е качил в интернет фотография на своя чек или кредитна карта по някаква значима причина – да вземем за пример, с цел да потвърди във форума, че е спечелил един милиона $, и е размил изображението благодарение на общоприетия логаритъм вид „мозайка“, като по този метод е скрил цифрите.



Всичко наподобява обикновено и безвредно, нали никой не може да прочете цифрите? ГОЛЯМА ГРЕШКА! Този способ елементарно може да бъде нападнат.
Първа стъпка: намерете ясно изображение на същия, само че непопълнен чек
Има два метода да се направи това. Можете да махнете цифрите благодарение на графичен редактор. А когато става дума за кредитни карти е по-добре да си откриете сметка в същата банка и да извършите фотография на личната си банкова карта от почти същия ъгъл, като се постараете да постигнете сходен баланс на бялото и сходен контрастност. След това може да се употребява Photoshop за унищожаване на групите числа.

Ето по какъв начин би могло да наподобява това (тук всичко преднамерено е опростено):


Втора стъпка: итерации
Използваме скрипт за генериране на всички вероятни номера на сметки, като същото би трябвало да се направи и в случай че става дума за чек. Така да вземем за пример, във всички карти VISA цифрите са групирани по 4 и е допустимо самостоятелно да се обработи всеки един от тези раздели. За тази цел са нужни единствено 4×10000 = 40000 изображения, което елементарно се генерира благодарение на скрипт.


Трета стъпка: Размиване на всяко от тези изображения
Първо би трябвало в пиксели тъкмо да се измерят размера и отместването на детайлите на мозаечния логаритъм, употребявани за замъгляване на истинското изображение (това е лесно). След това би трябвало да създадем същото за всяко от замъглените изображения. В този случай виждаме, че в замъгленото изображение се употребяват 8х8 пикселни детайли на мозайката. Ясно е, че в случай че е употребен различен логаритъм за замъгляване, дейностите ще са малко по-други, само че доста сходни.



А в този момент благодарение на същия логаритъм размиваме генерираните при предходната стъпка изображения. Ще се получи нещо сходно:


Четвърта стъпка: Определяме вектора на яркостта на мозайката за всяко едно размито изображение
Какво значи това? Нека да погледнем мозаечната версия на 0000001 (изображението е увеличено)“


И да определим равнището на бляскавост в диапазона от 0 до 255 за всяка област от мозайката, като дадем имена за всяка от тях във тип a=[a_1,a_2…,a_n]:



В този случай при номер на банкова сметка 0000001 ще се сътвори вектор на яркостта на мозаечното размиване a(0000001)=[213,201,190,…]. По същия метод изчисляваме вектора на яркостта за всяко от генерираните нагоре изображения, като използваме обикновен скрипт за размиване на всяко изображение и за пресмятане на неговия вектор на яркостта.

След това вършим същото за изображението, което намерихме в интернет или където и да била на друго място. Ще получим вектор, който ще назовем z=[z_1,z_2,…z_n]:


Пета стъпка: Намираме най-сходното изображение
Първо дефинираме вектора на яркостта на изображението от интернет, който получава името z=[z_1,z_2,…z_n], а по-късно просто изчисляваме дистанцията за всеки номер на банковата сметка (x) до вектора на яркостта на мозайката (след нормализацията):

d(x)=sqrt((a(x)_0/N(a(x)) – z_0/N(z)) 2 + (a(x)_1/N(a(x)) – z_1/N(z)) 2 + …)

Където N(a(x)) and N(z) са константите на нормализацията, заложени като:

N(a(x)) = (a(x)_0 2 + a(x)_1 2 + …) 2
N(z) = (z_0 2 + z_1 2 + …) 2

Сега просто намираме най-малкия d(x). При кредитните карти единствено дребна част от комбинацията от числа е годна и вероятните номера на банковата карта се разкриват по-лесно. Наистина няма нищо комплицирано в това.

В нашия случай получаваме:

N(z) = sqrt(206 2+211 2+…) = 844.78459
N(a(0000001)) = 907.47837
N(a(0000002)) = 909.20647


А по-късно пресмятаме и дистанциите:

d(0000001) = 1.9363
d(0000002) = 1.9373

d(1124587) = 0.12566
d(1124588) = 0.00000


И по този начин, номерът на вашата банкова сметка не е ли 1124588?
„Но ти употребява някакво лично изображение, което елементарно се разгадава!“
В действителния свят същинските фотоси, а не фиктивните образци, са направени с Photoshop. Има изкривявания на текста поради по-различния ъгъл на снимане, заради погрешно подравняване и така нататък Но това не пречи да се види какъв тъкмо е видът на изкривяването, което да се поправя с спомагателен скрипт. Но по този начин или другояче няколкото характерни дистанции могат да се измерят, изключително в света на кредитните карти, където цифрите са красиво разграничени на групи по 4, а единствено 1 от 10 номера са годни. По този метод доста по-лесно се отсяват невалидните претенденти.

За да се употребява този метод и при действителни фотоси, е належащо да се усъвършенства логаритъмът за дистанциите. Възможно е да се обработват RGB или HSV смислите за всяка област от мозайката и да се употребяват скриптове за деформиране на текста с няколко пиксела. Има редица други сходни способи, мощно улесняващи разпознаването на размитите изображения.

Да, аз използвах лично изображение, което е особено приспособено за този случай. Но е ясно, че в резюме разказаният логаритъм може да бъде съществено усъвършенстван. Аз нямам нито време, нито предпочитание да усъвършенствам каквото и да било, тъй като не желая непозната конфиденциална информация. Но сигурно може да се каже, че това е напълно лесна обстановка и цифрите елементарно могат да се видят. Не използвайте напълно опростени мозайки, с цел да размивате изображенията. Всичко, което вършиме по този метод, е че намалявате количеството информация в изображението, което съдържа едвам log(10 N)/log(2) ефикасни бита. Когато разпространявате сходни изображения, концепцията е да премахнете персоналната информация, а не просто да затрудните достъпа до нея, като намалите количеството образна информация.

Представете си изображение с резолюция 100х100 пиксела. Да предположим, че аз просто съм усреднил пикселите и съм заменил всеки от тях с неговото приблизително значение – т.е., трансформирал съм изображението в мозайка с размер на детайла 1 пиксел. Това е функционалност, която от 256 (10000) разновидността се хешира до 256 разновидността. Очевидно е, че с получените 8 бита няма по какъв начин да се възвърне истинското изображение. Но в случай че знаете, че има едвам 10 разновидността на това изображение, то по тези 8 бита напълно елементарно може да се разпознае оригинала.
Аналогия с речниковата офанзива
Повечето систематични админи на UNIX/Linux системи знаят, че паролите в /etc/passwd и /etc/shadow се криптират благодарение на едностранна функционалност, като да вземем за пример Salt или се хешират посредством MD5 логаритъма. Това е задоволително безвредно, тъй като никой не може да разбере паролата по криптирания текст. Проверката се прави, като се употребява същото едностранно криптиране и/или хеширане на въведената от потребителя ключова дума при логване в системата. Полученото се съпоставя с хеша на вярната ключова дума и в случай че съответстват, потребителят сполучливо е минал инспекцията.

Добре е известно, че този способ на криптиране не е благонадежден, в случай че е употребена дума от речник. Всичко което би трябвало да направи хакерът е да криптира по същия метод всичките британски думи (които не са чак толкоз много) и да съпостави получените комбинации с криптирания текст, записан в /etc/passwd, и да подбере вярната ключова дума. Ето за какво се предлага да се избират комплицирани съчетания от числа и букви, които не са думи. Речниковата офанзива може да бъде илюстрирана по следния метод:



Аналогично, размитите изображения са едностранна система за криптиране. Вие преобразувате вашето изображение в друго изображение, уместно за издание. Но тъй като номерата на банковите сметки нормално не надвишават милиони, ние по напълно същия метод построяваме „речник“ на вероятните комбинации. В нашия случай на всички номера от 0000001 до 9999999. След това стартираме автоматизираната обработка, която помества всяко от тези изображения върху съответното място на изчистената фотография и размиваме. Остава единствено да съпоставим размитите пиксели и да забележим, кои тъкмо разновидности са най-близки до оригинала.
Решението:
Решението не е комплицирано: не размивайте изображенията! Вместо това просто запълнете полетата с черен цвят:



Добре е да помним, че в действителност концепцията е изцяло да се отстрани информацията, а не да се понижи нейното количество, както става при размиването на изображенията.
.td_uid_43_5cc412e604267_rand.td-a-rec-img{text-align:left}.td_uid_43_5cc412e604267_rand.td-a-rec-img img{margin:0 auto 0 0}
Източник: kaldata.com


СПОДЕЛИ СТАТИЯТА


КОМЕНТАРИ
НАПИШИ КОМЕНТАР