Символы
|
Количество вариантов
|
Стойкость
|
Время
|
1
|
36
|
5 bit
|
Меньше секунды
|
2
|
1296
|
10 bit
|
Меньше секунды
|
3
|
46 656
|
15 bit
|
Меньше секунды
|
4
|
1 679 616
|
21 bit
|
17 с
|
5
|
60 466 176
|
26 bit
|
10 м
|
6
|
2 176 782 336
|
31 bit
|
6 ч
|
7
|
78 364 164 096
|
36 bit
|
9 д
|
8
|
2,821 109 9x1012
|
41 bit
|
11 м
|
9
|
1,015 599 5x1014
|
46 bit
|
32 г
|
10
|
3,656 158 4x1015
|
52 bit
|
1 162 г
|
11
|
1,316 217 0x1017
|
58 bit
|
41 823 г
|
12
|
4,738 381 3x1018
|
62 bit
|
1 505 615 г
|
Различное программное обеспечение для поиска паролей или ключей на основе метода полного выбора инструменты используются. Используется для определения паролей ниже Поговорим о Rainbowcrack.
№
|
Хеш-значение
|
Ответ
|
|
f97c5d29941bfb1b2fdab0874906ab82
|
|
|
c4988dbf8716d62d17180dd114f15c71
|
|
|
66058ec26cd62e957604145e726b0f0b
|
|
|
b8a9f715dbb64fd5c56e7783c6820a615. 35d6d33467aae9a2e3dccb4b6b027878
|
|
|
7f46165474d11ee5836777d85df2cdab
|
|
|
0800fc577294c34e0b28ad2839435945
|
|
|
7f5f2244206f1ebac53dc0a333176b68
|
|
|
aa2d6e4f578eb0cfaba23beef76c2194
|
|
|
755f85c2723bb39381c7379a604160d8
|
|
|
bae60998ffe4923b131e3d6e4c19993e
|
|
|
7eeeb0fbb2f55bd9a94681488f0c75de
|
|
|
4af3318a57ca352daaac11aa778ff083
|
|
|
341be97d9aff90c9978347f66f945b77
|
|
|
639bae9ac6b3e1a84cebb7b403297b79
|
|
|
f97c5d29941bfb1b2fdab0874906ab82
|
|
|
c4988dbf8716d62d17180dd114f15c71
|
|
|
66058ec26cd62e957604145e726b0f0b
|
|
|
b8a9f715dbb64fd5c56e7783c6820a615. 35d6d33467aae9a2e3dccb4b6b027878
|
|
|
7f46165474d11ee5836777d85df2cdab
|
|
|
0800fc577294c34e0b28ad2839435945
|
|
Лабораторная работа № 3
Тема: Уязвимость состояния гонки (Race Condition)
Цель работа: Ознакомление с уязвимостью Race Condition.
Теоретическая часть
Состояние гонки (англ. race condition), также конкуренция — ошибка проектирования многопоточной системы или приложения, при которой работа системы или приложения зависит от того, в каком порядке выполняются части кода. Своё название ошибка получила от похожей ошибки проектирования электронных схем (см. Гонки сигналов).
Термин состояние гонки относится к инженерному жаргону и появился вследствие неаккуратного дословного перевода английского эквивалента. В
более строгой академической среде принято использовать термин неопределённость параллелизма.
Возможные последствия
Из-за неконтролируемого доступа к общей памяти состояние гонки может приводить к совершенно различным ошибкам, которые могут проявляться в непредсказуемые моменты времени, а попытка повторения ошибки в целях отладки со схожими условиями работы может оказаться безуспешной.
Основными последствиями могут быть:
утечки других ресурсов, например файловых дескрипторов.
Пример
Предположим, что каждый из двух потоков увеличивает значение
глобальной целочисленной переменной на 1. В идеале должна выполняться следующая последовательность операций:
|
Thread 1
|
|
|
Thread 2
|
|
|
|
|
|
Integer value
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
read value
|
|
|
|
|
|
←
|
|
|
0
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
increase value
|
|
|
|
|
|
|
|
|
0
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
write back
|
|
|
|
|
|
→
|
|
|
1
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
read value
|
|
|
←
|
|
|
1
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
increase value
|
|
|
|
|
|
1
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
write back
|
|
|
→
|
|
|
2
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
В случае, показанном выше, окончательное значение равно 2, как и ожидалось. Однако, если два потока выполняются одновременно без блокировки или синхронизации, результат операции может быть неверным. Альтернативная последовательность операций ниже демонстрирует этот сценарий:
Do'stlaringiz bilan baham: |