Хакерски атаки: Lookup и Rainbow таблици

Накратко: Статията разглежда механизмите на работа на Lookup и Rainbow таблиците, използвани при хакерски атаки за разкриване на пароли. Докато Lookup таблиците съдържат директни двойки от хеш и явен текст, Rainbow таблиците използват редуциращи функции за оптимизация на съхраненото пространство. Текстът подчертава необходимостта от сложни пароли като основна защита срещу тези методи.

Автор: Цветелина Николова

Други видове “хакерски атаки”, които не са толкова популярни, но представляват сериозна заплаха, са Lookup и Rainbow таблиците.

“Lookup” таблици

“Lookup” таблицата е файл (база данни), съдържаща изчислени хеш кодове заедно с техните стойности в явен вид. В таблицата се търси по хеш и няма нужда всеки път паролата от явен вид да се преобразува в хеш, което намалява времето за обработка.

Ако разгледаме като пример парола, записана само с малки латински букви и нейната дължина е между 1 и 16 символа, то общият брой на пермутациите е приблизително  4,53531х1022. При условие, че всеки символ се описва с 1 байт, необходимото пространство за съхранение на комбинациите ще е 3,29987х1011 терабайта. Дори да се използват специализирани системи за съхранение и алгоритми за компресия на данните, размерът на таблицата ще е изключително голям, а търсенето в нея ще бъде бавно, дори при индексиране на записите. Ако паролите използват различни азбуки, специални символи или са над 20 символа, “Lookup” таблиците не са подходящ подход за анализ.

“Rainbow” таблици

Rainbow таблиците са бази от данни с изключително голямо количество двойки от тип „оригинален символен низ“ – „криптиран символен низ“. Когато се пусне заявка в тази база данни с криптирания низ, при намерено съвпадение се връща оригиналният текст. Съществуват изключително големи rainbow таблици. Например, в gdataonline.com има над 1,133,759,239 записа на MD5 хешове на всякакви комбинации от думи и цифри на различни езици. Затова спазването на строги правила, относно сложността на паролите, е от голямо значение.

Генерирането на rainbow таблица изисква огромно количество дисково пространство. За да се намали този размер, се използва техниката за използване на „редуцираща функция“ (Reduction Function), която позволява да се минимизира обемът на данните, но за сметка на това да се увеличава процесорното време, отделено за претърсване на таблицата. Редуциращата функция заедно с хеш функцията се използва за описание на връзките между явния текст и хеш байтовете.

Принцип на работа на редуциращата функция
Принцип на работа на редуциращата функция

Следващият важен компонент на “Rainbow” таблиците са веригите, които се формират по следния начин.

  1. Избира се случаен открит текст;
  2. Изчислява се неговата хеш стойност;
  3. Хеш байтовете се подават към редуциращата функция;
  4. Получава се нов явен текст, който отново се хешира;
  5. Новите хеш байтове се редуцират и се получава явен текст и т.н.;
  6. В таблиците се записват единствено началният явен текст и последно получената хеш стойност.

Предимството, което дават веригите е, че голям брой хеш стойности се свеждат до един-единствен първоначален входен текст (в явен вид) и един краен криптографски хеш.

“Rainbow” таблица с 3 редуциращи функции
“Rainbow” таблица с 3 редуциращи функции

Когато приключи етапът за инициализиране на веригата, може да се премине към търсене на открития текст по-известен криптографски хеш:

  1. Проверява се дали в списъка с крайни хеш стойност се съдържа търсеният. Ако е открит, се излиза от цикъла;
  2. Ако хешът не е открит в списъка, той се изпраща към редуциращата функция и новият открит текст се хешира;
  3. Отново се проверява дали полученият хеш е в списъка с крайни и т.н.
  4. При условие, че хешът е открит в списъка с крайни стойности, е ясно, че търсеният явен текст се съдържа в конкретната верига. В тази ситуация се взима началният текст за веригата и започва цикличното му хеширане и редуциране, докато се открие съвпадение с търсения хеш и съответно възстановяване на явния текст.

“Rainbow” таблиците са един компромис между времето за търсене на хеша, необходимото дисково пространство и използваната системна памет.

Този вид таблици (както и “Lookup” таблиците) са сериозна заплаха за сигурността на потребителските профили. За да се предпазят хеш стойностите от атаки, се прилага подходът на “salt”, чрез който към въведена парола или ключова фраза се добавя псевдо-случайно генериран набор от байтове, който не трябва да бъде таен. По този начин, ако двама потребители използват една и съща парола и за един от тях тези данни са компрометирани, то паролата на втория ще остане тайна.

Живейте по-добре с наука!

  • Развийте критично мислене и изградете защита срещу дезинформация.

  • Придобийте ключови умения за по-добър живот с нашите курсове във формат текст, видео и аудио.

  • Открийте новостите и иновациите в медицината.

  • Само 3 минути дневно са достатъчни, за да трансформирате живота си!

  • Всеки месец ви очаква нов брой с увлекателни статии по биология, космос, технологии, история, медицина и много други.

Изживейте науката навсякъде и по всяко време, като я четете на най-удобното за вас устройство.

 

Създадохме платформа, която предлага курсове и ръководства, насочени към решаването на житейски предизвикателства чрез научно обосновани методи. Тя не само подпомага личностното развитие, но и предоставя ценни знания за водене на по-здравословен, успешен и пълноценен живот. Благодарение на научния подход, потребителите ще имат възможност да подобрят своето благосъстояние и да постигнат по-високо качество на живот.

БГ Наука
Правила на поверителност

Използваме „бисквитки“, за да персонализираме съдържанието и рекламите, да предоставяме функции на социални медии и да анализираме трафика си. Също така споделяме информация за начина, по който използвате сайта ни, с партньорските си социални медии, рекламните си партньори и партньори за анализ.

Можете да коригирате всички настройки на „бисквитките“, като отворите разделите вляво.