
так сегодня мы поговорим сидящими контексте сначала мы рассмотрим общие причины почему все таки у нас в приложениях возникают проблемы которые приводят к уязвимости им приводит к успешным атакам рассмотрим несколько видов самых популярных а так рассмотрим криптографические проблемы это как раз в те случаи когда он нам кажется что мы написали просто идеальный код и вот нам супер про ты прямо от нашей оптимизации а на самом деле получается мы написали возьми код который подвержен определенным видом атакам ну и там простенькие то есть кейсы которые взяты с сайта вас потом они очень подробно разбирают сценарии при которых можно проверить ту или иную xvi масть ну и так как уже было в начале этом сказано одна из причин нанесения
уязвимости в систему это то что просто банально люди делают ошибки людям свойственно делать ошибки то что разработчик направлен на то что его все мышление направлено на то чтобы как бы это сделать не так как это поломать то дозировщик а у него в основном сознание направлено на за тоже вояка как же найти тот сценарий при котором поведение системы этом не будет адекватным или как и получить какой найти какую-то новую зримость ну это что разные части системы могут делаться разными пользы разными разработчиками и поэтому могут как использоваться разные стандарты и кто-то повесил атрибут авторизация на контроль да кто-то забыл повесить ее нас получается что система вроде бы защищена вот где то есть у нас обрежь и через который можно проникнуть 1 такт
котором рассмотрим это такая популярная атака как копы на redirect основан на том что банально разработчики не проверяет юрл по которым он перенаправляет пользователя откуда это появилось по требованиям и x так чтобы удобно было пользоваться нашим сайтом когда человек попадает на некоторых страницу форума он например хочет в определенном амид авторизоваться после перехода на страницу авторизации он хочет попасть туда же где он был чтобы оставить снова этот комментарий отсюда и получается что у нас есть некоторые наш сайт которые поддерживают такой сценарий и его в параметрах горел до перебрасывается redirect url на который мы хотим перенаправить пользователя после перехода на странице логин но дело в том что у нас как видите доме на отличаются если внимательно посмотреть и 2 доме на
это является в данном случае давным злоумышленника как работает а так адам как я сказал пользователь переходит на страницу логина то есть сначала пользователю как-то скармливается вот эта ссылка например она присылается через e-mail или любым удобным способом там с помощью социальных зверей пользователи переходят на этот сайт выйдет вроде бы все окей вводит логин пароль на чтобы залогиниться его потом браузер но сайт дает ответ с перенаправлением на тот адрес который был указан в redirect url браузер автоматически переходит на новый адрес по которому который был указан в директе wear light а как раз адрес злоумышленника тут ему отдают страницу та же самая страница авторизации где просто будет написано что логин пароль неверные там или видите еще раз в общем
пользователь думаю что все окей ну как стандартная ситуация неправильно ввели логин пароль и водит его еще раз и в этот момент уже злоумышленник получает логин пароль пользователя и перенаправляет его на уже на основной сайт таким вот таким образом пользователь даже не замечает что его логин пароль был похищен и продолжает им пользоваться но чтобы самим пользователям защититься нужно всегда проверять доме на котором вы вводите свои учетные данные чтобы защититься с программной четыре точки зрения требуется сделать проверку если redirect является локальным либо он является перенаправлением один из доменов на который мы разрешаем перенаправление то окей перенаправляем пользователя по адресу указанному в redirect url если же нет то можем перенаправить на какой-то стандарт и там например свою страницу таким образом пользователь не
попадет на сайт злоумышленника несмотря на то что борьба с этой а так она довольно таки проста я и тем не менее по статистике на вас по она видеть стоит на третьем месте по популярности с тем что здесь необходимо просто проверка которую которую разработчик просто не добавил вход люди делают ошибки к мы говорили вначале но кажется что все akira turn you real как он еще может попасть туда не известно как наверное не как-то и поэтому когда пишется вот этот обработка сетевых запросах вот та разработчик не проверяет является ли перенаправление локально да она и как мы видим там xss это самая популярная такая в конце презентации будет ссылочка на то откуда взята эта статистика можно будет ее
просто подробнее там посмотреть да интересна такая атака как клик jackin сути в том что похищаются клики пользователя например у нас есть некоторый сайт или есть страница в соцсети нам нужно накрутить как-то лайки но накрутить можно не только писать там если каждый день пить молоко то то ваши информация на безопасность там или чтобы защитить свой сайт нужно просто каждый день до 3 точки да немножко другая есть еще способ как заставить пользователя кликнуть по нужным нам объекту суть его в том что некоторые сайт на допустим на facebook встраивается при помощи айфрейм а в наш сайт сайт злоумышленники делается этот айфрейм невидимым кнопка причем кнопка like она будет находиться точно над нашей кнопкой и перекрывать ее на пользователя не видно сколько оно
прозрачное и есть у нас некоторая кнопка где написано там стань миллионером купе бесплатно скачать там и такое то есть да я думаю что что все с таким сталкивались вот месяц посмотрим некоторые дымку сайта
видно что-то еще можем сделать мы можем сделать
но тут не суть в том исходники которая показала тут я скажу что происходит то есть у нас есть некоторые есть некоторые из сайт опускаю вот это вот пускай это некоторые фейсбуком эта страница нация фейсбук html тут есть у нас вот эта кнопочка по которой мы хотим чтобы совершился клик здесь по нажатию на этой кнопочке просто выведется у нас сплошь сообщение что кликали он эта печь фейсбука системы все это чтобы нам понять что клик вы произошел именно там дальше у нас есть уже наша страница на которую как-то попадает пользователь и мы хотим чтобы он совершил клип papa совершенно чужой странице после этого есть кнопка допустим она называется get it вот он и отображается и когда мы по
ней кликаем нам всплывают наше сообщение которое говорит о том что клип произошел на самом деле на другой странице
давайте посмотрим как это происходит мы изменим просто прозрачность вот видно да кнопочка появилась да она она стала видна сделаем единицу да мы видим что кнопочка по которой происходит клик она находится над нашим компонентом она не видно пользователю но тем ни менее им совершает пони клик
демон . при помощи позиционирования да вот если видишь позиция абсолют и при помощи лев teen top и мы располагаем кнопочку точно дам другой ну да эта функция браузера так идем дальше это не перехода
но есть возможность запретить iframe да мы сейчас рассмотрим но я есть например социальный widgets to facebook дает он предназначен для того чтобы отображать вай фрейме есть случаи когда именно нужно чтобы наш сайт было позволено отображать вольфраме на как бороться с таким сейчас нам нужно кликнуть но есть такие сказать любит practice это проверять на java скрипте locations и или проверять там вреда при переходе на их их очень легко обойти еще один способ через sandbox но он тоже легко обходится поэтому один из распространенных приемов на нашем сайте да как это сделать это запретить просто сайт встраивать в чужие сайты я помню еще когда-то когда только начинал в универ учиться у нас был so thick с друзьями и
чтобы его продвинуть как то мы сделали там бесплатная отправка sms если вы помните когда-то высокие старые там у других через их сайт и прям я нашел этот айфрейм прям строил свои сайты у нас была тоже отправкой sms бесплатно но потом они запретили я тогда не знал как они это сделали часа знаю то есть при помощи http заголовка экстрим absence можем либо запретить всем либо разрешить только определенным доме нам на то чтобы наш сайт отображался внутри другого сайта другой способ это покрытие диван нашего сайта тогда точно таким же прозрачным делом тогда не забудет кликнуть по нему другого сайта на следующая популярная зримость это xs-s суть его в том что некоторые некоторый код которым может управлять пользователь
например любые там форма регистрации он вводит там логин пароль он может в качестве логина ввести какие-то управляющие последовательности и где-нибудь там на страницу со списком пользователи будут отображаться все пользователей в том числе сработает эта управляющая последовательность сейчас будет дима поближе разберемся суть в том что у нас есть не доверенный а пользовательский ввод до который которым он может управлять либо например он может загрузить скрипт откуда то непонятная лис другого дома на или с этого же только там с другого места либо как какая-то часть контента поставляется в сам скрипт что тоже часто бывает да поэтому весь пользовательский ввод нужно обязательно пропускать через с анитой зиры и и экранировать давайте посмотрим дима
так что у нас здесь есть у нас есть некоторые поле где можно ввести своими и добавится в списочек
вот то есть мы видим то что мы вводим верхнее поле она потом добавляется вот ниже при этом никакой проверки не выполняется поэтому можем сделать здесь простейшую access инъекцию кто подскажет как они не сработает что здесь нету здесь нету бэкенда то есть скрипт не отработает если скрипта лекторе
да то есть видим что произошло я вел явил адрес некоторой картинка до имидж просто тех который должен который подставиться сюда и в один из атрибутов допустим он error это туда передается туда можно передать скрипт который будет выполнен случай если картинку загрузить не удалось так как и я указал несуществующий адрес картинки то выполнялся скрипт он error и мы увидели уведомление вот акад собственно то что я вел в alert простейший пример xs-s [музыка]
идем дальше да ну вот здесь вот как пример чеки данные допустим что что ввести xms сделать xss атак у существует довольно много способов поэтому одна из рекомендаций это никогда не писать свои фильтры уже есть готовые фильтры там под разные языки программирования разные платформы которые позволяют удалять запрещенные теги запрещены и атрибуты это всегда плохо особенно в безопасности да и весь пользовательский вот он должен быть он не должен быть доверенным то есть мы должны всегда экранировать то что они присылают и пропускать через они taser и
ну это и тогда как вот только он во имя дамы сразу ваза и клонировали что мы потому что мы потом будем отображать это на странице на
в исходном виде ну да что мы делаем до используем html-код для того чтобы перед тем как от обрыва встраивать какой-то кусок который который управляет пользователь довольно ваш tml java script in code и раем код и используем любой sanitizer вот например там самый первый нашел на гитхабе и выложил показал до в то же время нужно не забывать что например с выдержки хотя они картинки давно на самом деле это тоже на специальный набор тегов который тоже может включать какие-то управляющий скрипты да если вы создать страницу вот этим скриптом то мы увидим этот alert здесь данные пример чеки их намного больше вот на сайте о вас по на страницах которой приведена ниже по ссылке опять же потому вопросы что не
стоит некогда писать свои сани тайзер и поскольку существует довольно много способов как сделать инъекцию но например у написали там java script написали для там разных атрибутов написали а вот такой вот вариант не учли и у нас уже опять сработает инъекций на сайте да такая популярность уязвимость как srf тоже очень часто уязвимость суть ее в том что у нас есть некоторая пили либо есть некоторые как точки входа которые обрабатывают архетипе запросы и можно повторить этот запрос просто сделать его или с другого сайта либо сделав любой там ajax запрос и если на запросы которые вот но не желательно чтобы делал кто то кто то другой к примеру у нас есть некоторая формочка на нашем хорошем сайте где пользователь
может сменить пароль у него есть одно поле для ввода имейла email а то есть параметр будет называться майло когда он отправится и есть кнопочка отправите да email поменять и есть у нас на некоторым нашим зловредным сайте некоторая кнопка по которой мы должны заставить кликнуть пользователь например опять же купе бесплатно или получи купон где мы уже в пути пропишем какие то какие то свои данные таким образом как только пользователь нажмет на нужны нам кнопку у него на другом сайте поменяется пароли на тот который мы указали на хакерский то есть та же самая форма только выполнена с другого сайта то же самое можно сделать с помощью java script как бороться с такими видами а так это прежде всего использовать seamar
один палец если это но если это возможно использовать чаще всего как берут всем origin policy вводят список сайтов которым разрешено обращаться как с других доменов все значит такое 7 ритм полисе это специальности теперь заголовок твой то есть когда браузер делает запрос с одного сайта на другой из при помощи аякса то он проверяет домен с которого мы обращаемся если домен и не совпадают то тогда он проверяет посылать запрос об шанс и ожидает от сервера получить список вот этих доменов на которых для которых разрешен и дело разрешены кросс-сайт а вы и запросов сайта в между обменные запросы если нам приходит наш домен то следующим запросам выполнится то что мы написали там post запрос там куда то что то обратиться вот если
если не придет то в браузере просто упадет ошибкой и и код не выполнится до
например в популярных фармер как там например в спине типа умолчанию у нас кросс origin policy там она эта опция включена но чаще и и отключает поскольку ну там по незнанию там где-то нужно чтобы у нас api допустим состояла из двух частей там api там которое дает нам статические данные и другая пик которые позволяют какие-то манипуляции делать и тогда отключают эти политики не знают что при этом они вносят уязвимость а второй вариант это использование анти for говорит о кино и лицей сыры в токены суть их состоит в том что в ту форму где пользователь меняет e-mail можете кстати зайти на сайт фейсбук а если там в поле логин что форме регистрации там используются эти токены это некоторый такой уникальный
модификатор он связан конкретно с этим с этой сессии с этим пользователем он действует ограниченное количество времени и он будет отправлен вместе с остальными данными которые мы ввели то есть если когда мы вводим логин пароль плюс еще скрытое поле в котором этот токен все это отправляется на сервер и сервер проверяет если есть такой токи то ok значит это означает что пользователь получил данную форму конкретно с этого сайта они на каком-то чужом сайте произошел клик поскольку чужой сайт не имеет вот этого специального только но мне не может его гадать ну что касается а испании то существуют стандартные способы которые прямо в этой библиотеке есть это генерал санте for горит talking по при помощи штанах актера и валидации его при помощи
атрибута с уже есть встроенные механизмы что касается испей в сингапуре кишан можно передавать это токен например в хедере и тогда настроить к специальным образом настроить наша як с таким что образом чтобы каждому запросы прикреплялся вот этот вот токен который мы сгенерировали получается когда пользователь заходит на наш сайт для него генерируется этот токен и запоминается там настройках аякса и дальше он будет отправляться уже на наш на наши api которая будет во лидировать что это talkin' верный следующие вид уязвимости . или инъекция мне очень нравится эта картинка она еще возникла когда у нас возникли первые до визир и они умеют обнаруживать автомобильный номер машины и сразу их искать по базе и у тут вот сразу ребята прикололись сделали инъекцию эти там
дойдет реальный номер а потом дам друг database все хорошо рубеж на решен спасибо но на сегодняшний день этот вид атаки он не особо вид уязвимость и он не надо не особо популярен связи с тем что используется разные рынки используется там параметризирована передачи параметризирована и запросы в иске сильную базу поэтому он не особо популярны но все-таки остается актуальным сути сама инъекции в том что есть опять же некоторые поля которыми управляет пользователь к примеру он вводит свой логин пароль и без того что ввести какие-то просто буква он выйдет управляющие последовательности например например как здесь сказано логин пароль и дальше где-то уже на сервере когда он получает эти данные он объединяет то что ввел пользователь с с фрагментом запроса даст с вот этой вот
этим фрагментом и у нас получается в результате формулируется такой из келий запрос который просто получит все всех пользователей из базы данных точно также можно там с ошибками делать это просто такой банальный пример но и вот пример как это выглядит через через браузер да мы обращаемся к серверу и сервер уже подставляет эти все параметр который вел пользователь да еще очень важная проблема криптографические проблем криптографические проблемы когда пытаемся опять же что то писать на коленки не изучают а как это работает 1 никогда не используйте gui для уникальных идентификаторов сожалению видел такие случаи когда например хотим сделать какое-то файловые хранилища и думал о тех же нам заморачиваться над шифрованием если можно генерировать гайды и раздавать их пользователям и
получается что только тот у кого из вы только тот и получит доступ картинки то есть будет передается там где-то в адресной строке то я думаю все поняли суть одел том что это не не безопасность точки зрения security gitify катар поскольку его можно предугадать имея предысторию видов ты можешь знать какой быть следующие но там же с не будет там у них я имею ввиду тень здесь в которой gooid которые там говорит любые до функция встроена функция допустим sharp или да да вы да они же генерируется по специальному алгоритму и можно узнать какой будет следующим
что касается да да проблема в том что можно угадать и но лучше не использовать мы лучше использовать хэш лучше использовать зашифрованные какие-то данные которые можно потом право лидировать что касается опять же распространен ошибки использования класса random места ран ран дом номер один рейтер дело в том что класса random он опять же не секрете но не безопасный с точки зрения security поскольку опять знаем предыдущие зная историю предыдущих сгенерированы случайных чисел можно знать какой будет следующая сгенерировано это на основе там математики вычисляется по этому есть другой класс который лучше подходит для этих целей то есть их мы используем для генерации солей и пароль и они использовать md5 для того чтобы делать хэши то есть мы уже знаем что давно этот
алгоритм хеширования был скомпрометирован у него есть проблема с коллизиями и существуют способы как получить не знаю пароля получить точно такой же hash как как нам нужен и другая проблема это написание собственных и реализации криптографических алгоритмов то что есть в стандартном наборе библиотек написаны умными людьми давайте их доверять и там уже много проблем с которым вы могли бы столкнуться они уже решены и еще одна еще одна проблема с безопасностью которую вы тоже не не сразу не сразу можно обнаружить это уязвимость подвержена как именно так кто здесь видит эти масть
ну ладно никто не видит по-русски она звучит как атака по времени сути вот а в том что у нас есть некоторые несколько два массива есть есть то что мы получили да с помощью пользовательского ввода то есть он допустим вел свой пароль дальше мы получили из него хэшами получили байтами массив это будет excel и то что мы достали из базы данных пускай это будет expected написали этот алгоритм в лоб нам нужно сверить два массива две последовательности сверили длину массива и дальше поэлементно проверяем каждый каждый элемент массива и получить и как только у нас они не совпали мы завершаем завершаем наш метр оказалось все хорошо но на самом деле этот код он подвержен таким так называем атакам по времени это
означает что количество времени затрачиваемое на проверку символов она изменяется в зависимости от того сколько у нас символов совпало то есть по сути у нас допустим нулевой символ совпал с нулевым в нашей сверяем сверяем и последователь окей затратили 1 единицу времени дальше привык проверяем 1 1 из того что ввел пользователь и 1 из нашей последней совпал до проверили следующий второй символ 2 со вторым не совпал то есть мы затратили 3 единицы времени и у нас на после третьего уже пришел ответ от сервера то есть мы получается зависимости от того сколько времени было затрачено на сверку этих двух последовательностей мы можем знать сколько символов мы угадали ну да да да то есть там очень и очень важное
значение играет статистика нам нужно собирать статистику но какое решение там девелоперы может быть а давайте вставим сюда случайно задержка почему бы нет не угадает но на самом деле это тоже никак не помогает поскольку генератор случайных чисел он генерирует у нас последовательность в равномерно распределенную заклание это значит что это белый шум его можно просто отфильтровать фильтром белого шума решением эта проблема является вот код который приводится ниже данные данная реализация она не зависит от того сколько символов совпало или нет у нее время время сверки 2 последовательности всегда константной а вот это и так сорт папа битовая побит vxr да то есть мы побитого сравниваем сначала длины потом после этого побитого сравниваем байты одной последовательности и байты из другой
последовательность папа элемента да и и да если у нас хотя бы один бит отличается вот в том что мы тут проверяли то у нас результат будет не 0 если мы получили результат 0 то значит у нас две последовательности равны и соответственно хэш совпадать с тем который мы хотели примеры тестовых сценариев на которых можно там тестировать уязвимости то есть некоторые мы уже из них рассмотрели что еще pаз traversal тоже такого димас не очень популярно но может вы сталкивались если писали какие-то свои файловые хранилища и у вас там часть путь из которые там идут от пользователя в запросе они как-то коррелирует с тем как как у вас файлы лежат на диске тогда нужно проверять что если что там при
джоне строк у нас не будет возможности где-то подняться на папку высшей и забрать что-то другое кореша и нас еще в каком-то плане защищают здесь права доступа да да потому что допустим тоже из он запускается под определенным пользователям и ему нельзя там выходить заходить в определенной папке до проверяться и срыв токены если команда выглядит как некоторая команда процент системы то можно попробовать и тебе бы тоже сделать там капитан что проверить нет ли здесь 8 месте [музыка]
презентация будет же потом на сайте да можно будет все это посмотреть самое главное там ссылки там там самый сок и так общие проблемы которые приводят к и съем сама сайте использовании стандартных паролей или отсутствие паролей это открытые порты там где они не должны быть открытыми и там где не нужно нет необходимости открывать для общего доступа это когда забывают про то что есть есть открытая документация которую мы на который мы говорим что вот вам а пользователь публичный api вот если хотите пользоваться написать бота для telegram-а вот можете им пользоваться есть случаи когда есть закрытая пи которая для нашей организации дома ним нигде не публикуем на если пользователь как если хакер как то обнаруживает эту ссылку он будет иметь доступ к
документации там нет никакой авторизации либо авторизация очень слабо он будет еще иметь дополнительную информацию которая поможет ему проникнуть в эту систему использование озимых компонентов понятно что там операционной системы там web-сервера который мы используем они имеют свои возможности и за их обновлениями тоже нужно следить о том что забывают использовать эти пион ли на самом деле это очень такая хорошая рекомендация для всех кук которые позволяют инфицировать пользователя которые хранят сессии использовать ешьте типе он ли чтобы их не за чтобы к этим куклам нельзя было получить доступ из java script вот в случае как раз инъекции java script получил бы доступ из мог бы отправить эти куклы какой-то посторонний сайт отсутствие авторизации на тестовом окружении бывает такое что
открыли доступ извне там не знаю ну неважно там по адресу либо через доменное имя но при этом забыли что там тоже нужно теперь авторизации как только мы вышли в мир мы видим видно снаружи никогда нельзя забывать о том что мы должны защищаться использование небезопасных не крипто стойких и генераторов случайных чисел это не использование заголовков но допустим которые позволяют совершить клик jackin это публично доступа к напустим как тем папкам которым внешний пользователь не должен быть доступ то есть мы знаем что некоторые веб-сервера позволяют просматривать папки на диске но без и без каких-то дополнительных настроек если мы там им если мы просмотр этих папок не закрыли то опять же злоумышленник будет иметь возможность по ним ходить и
что-то получать до основные сайты на которых можно получить информацию об уязвимостях компонент это сайт серии сайт мвд вот сирин поставляет gitify катары для всех уязвимости которые найдены до н где он собирает ещё дополнительную информацию какие продукты уязвимы и подробно там описывает какие-то ссылки еще содержат то есть очень полезный ресурс общей практики и рекомендации для того чтобы ваши веб-проекты не имели и были как можно лучше защищены это общие какие-то security протокола например когда мы пишем контролем и обязательно вершина нему атрибут авторизации делаем получаем пользовательский вот мы обязательно делаем там encoding нужный это кудри вьются друг друга проверять смотреть это закрывать все что не должно быть доступно публично и никогда не использовать слабые пароли в том числе на тестовом окружении потому
что бывает а мы-то ладно там админу поставим один два три четыре пять шесть и ничего такого итак полезные ссылочки очень классная книга по тому как тестировать уязвимости находить их на сайте о вас по она очень такая большая и подробно расписать допустим на земле секс с как и обнаружить какие у нее там симптомы что с не делать а про атаку клик jackin дальше 2 полезные ссылочки на самом деле в таких сайтов и их намного больше я привел такой пример и это те кто хотят немножко себя попробовать как хакерами выполнить какие-то лабораторные работы здесь есть как бесплатные так и платные лабораторные уроки где можно совершить там какие-то атаки и проверить на уязвимости статистика по визе мастям которое
приводило самом начале инструменты для сканирования сайтов хорошая новость в том что многие уязвимости такие как с узи масти crf видимости их обнаруживают специальные инструменты для для поиска уязвимостей потом выдают подробно отчеты как и что происходит из это очень хорошо здесь есть список этих инструментов как избегать csf уязвимости просто рекомендуемые ресурсы можно там открыть этого я в данном случае пряжу подобные то там есть список них который можно посчитать о том как писать и безопасного и приложения специальные специальная статья о том как верифицировать наши в проекты на информационную безопасность да про md5 про то что я говорил и вот я ещё рекомендую телеграм-чате телеграмм-канал есть такой где публикуется регулярно информация про какие-то очень интересные видимости в разных продуктах на этом не все давайте
вопросы
[музыка] но я приводил начали шаблончики дадут вводим хотя бы там кавычка единичку там артом 1 равна руками ну вот говорю то есть смотрим где у нас выполняются запросы например у нас есть какая-то форма поиска чего-то почему-то да там пользователь вводит уже текста в информацию вводим туда вот этих хотя бы например чеки которые приводил и смотрим что же как себя сайт при этом ведетесь он никого не находит 1 если он там бывали в этом какую-то информацию как это ведет себя нестандартно скорее всего известно уже дальше искать ну плюс с инструментами ну как бы ну порты как она сайт работает обычно там 443 до 80 а инъекции это наш кавер года по 3 по портам не связано там с инъекция
которые мы проводим с этими лекций в том что вводится какой-то дополнительный код с помощью которой мы можем получить доступ к данным которым мы не должны иметь доступ апорт это просто возможность войти в эту систему не понимаю у меня будет больше не вопрос а вот такая небольшая ремарка здесь а поводу видов это понимаю все шараповский gooid он на им применить эту видать бы один стандарт которым действительно есть там возможность повторений а в других языках есть редакцию и 24 который при leran там как бы извести ту же вероятность клей зависит от алгоритма генерация охранным нам бо ра тут речь идет не о вероятности их повторений и о том что ну prediction определить возможно предсказать вот если о том что можно предсказания да вот как
бы если и 24 этого предсказать