Фазинг у бенгалов, что это Сколько длится фазинг

История создания бенгальской породы

История создания бенгальской кошки начинается в США в 1961 году. Автором породы стала биолог-генетик Джин Милл.В 1961 году Джин Милл, находясь в Бангкоке, увидела на местном рынке маленьких котят Азиатской леопардовой кошки (Felis Bengalensis). В те времена, в Азии, браконьеры истребляли взрослых ALC (Felis Bengalensis) из за красоты их шкуры, а маленьких котят Азиатской леопардовой кошки продавали туристам на местном рынке в качестве живых сувениров. Увидев котят ALC , Джин не могла равнодушно пройти мимо и купила Азиатского леопардового котенка. Она привезла его в Америку. Это была кошка, которую назвали Малайзия.Малайзия росла среди людей, но все равно была недоверчивой , диковатой, но не агрессивной. В 1963 г. у Малайзии родился котенок от черного домашнего кота. Это была кошка пятнистого окраса. Ее назвали Кин-Кин. Джин решила вести работу по выведению породы кошек, внешне похожих на Азиатского леопардового кота (АЛК), но с характером домашней кошки. Когда Кин-Кин подросла, ее повязали с тем же черным домашним котом. В это время умер первый муж Джин, и работа по созданию бенгальской кошки была прервана. Малайзия и Кин-Кин были отданы в зоопарк.В 70-х годах Джин узнала, что в лаборатории Калифорнийского университета (США) проводится исследование иммунитета диких и домашних кошек. Исследование проводилось среди львов, тигров, леопардов и других представителей кошачьего семейства. Среди них были и Felis bengalensis (ALC). В ходе этого исследования ученые выяснили, что некоторые дикие кошки обладают иммунитетом к вирусу кошачьей лейкемии. Для того, что бы выяснить, является этот иммунитет врожденным или приобретается в процессе жизни кошки в дикой природе, были проведены межвидовые скрещивания диких азиатских леопардовых кошек (ALC) и домашних кошек различных пород. Джин Милл обратилась к руководителю научной группы с просьбой передать ей несколько самок гибридов первого поколения (F1). Так как после взятия необходимых анализов, животные уже были не нужны для исследования и их все равно собирались отправить в зоопарк, руководитель исследования согласился на просьбу Джин. В скором времени 8 самок гибрида F1 поселились на заднем дворе дома Джин. С этого началась серьезная работа над созданием бенгальской кошки. Вначале к этой группе она добавила двух котов: пятнистого, взятого из приюта Лос-Анджелеса и домашнего кота с оранжевыми глазами и сочными коричневыми розетками из зоопарка в Дели(Индия). Джин назвала его Дели. Все котята, появившиеся от Дели на свет, имели потрясающее сияние шерсти, так называемый, глиттер, которое закрепилось в бенгальской породе. Джин продолжала активно вести работу по созданию кошки своей мечты.Первые гибриды вязались с представителями разных пород: американские короткошерстные, абиссины, бурмы, сиамы (старого типа), египетские мау и, как предполагают, дикий южноамериканский кот Маргай.Большая трудность была в том, что самцы первых 3-х гибридных поколений на 70-80% были бесплодны. Кроме того, далеко не у всех рождающихся котят были красивые леопардовые розетки. Была проделана огромная работа по созданию новой породы под названием БЕНГАЛЬСКАЯ КОШКА.В 1983 году в TIСA начали официально регистрировать пометы бенгальских кошек, а в 1985 первые бенгалы появились на американских выставках в классе новых пород. Бенгальские кошки произвели на всех неизгладимое впечатление своей дикой внешностью и удивительным, необыкновенным окрасом.Между началом работы над породой и ее созданием  прошло около 20 лет, но работа увенчалась успехом. Джин Милл создала удивительно красивую, ласковую, контактную и умную домашнюю кошку в облике маленького дикого леопардика. И имя этого создания БЕНГАЛЬСКАЯ КОШКА.На сегодняшний день бенгальскую породу признали почти все фелинологические системы. Любителей бенгальских кошек насчитывается миллионы по всему миру. И такое восхищение бенгалами является вполне заслуженным. В первую очередь в бенгальских кошках привлекает необычный для домашней кошки окрас: яркие розетки с черной или шоколадной обводкой на золотистом фоне и дикая мордочка. Бенгалы притягивают взгляд, завораживают и пробуждают желание прикоснуться к их роскошной шубке. Шерсть у бенгальских кошек на ощупь напоминает ценный мех . Она плотная, короткая и невероятно мягкая и блестящая (глиттерная). У бенгальских кошек очень сильное, мускулистое, вытянутое тело и мощные ноги, толстый хвост. Кошки гораздо меньше, коты гораздо крупныее. Движения бенгалов полны дикой грации. Всем своим видом они напоминают маленьких леопардов.

Санитайзеры

Прежде чем мы перейдем к основной теме статьи, следует немного рассказать о санитайзерах. Это инструменты для динамического тестирования, помогающие в поиске самых разных ошибок в программах. Переполнение буферов (глобальных, на стеке или в куче), использование после освобождения, утечки памяти, обращение к неинициализированным переменным — все это повод для использования санитайзеров.

Однако работой с памятью их возможности не ограничиваются. Они также позволяют обнаруживать состояние гонки для потоков, ситуации взаимной блокировки, обращения по нулевому указателю, деление на ноль (куда же без него), переполнения для типов данных и некорректные битовые сдвиги — одним словом, солидную часть ошибок, которые вызывают неопределенное поведение в программах.

Санитайзеры очень помогают во время отладки. Для их использования достаточно скомпилировать исходники с включенной инструментацией, которая добавит специальные команды в исполняемый файл. По ним можно будет следить за ходом выполнения программы и состоянием памяти. При обнаружении ошибок будет сгенерирован отладочный вывод и программа завершит работу.

Сегодня работу с санитайзерами поддерживают компиляторы GCC и Clang

Настоятельно рекомендую обратить на них внимание. Мало просто сгенерировать фаззером некорректные входные данные, которые обрушат программу

Ошибку следует устранить, а для этого надо собрать максимум информации. Именно в этом и помогают санитайзеры. Их совместное использование повышает эффективность тестирования. Так что в некотором смысле фаззеры и санитайзеры созданы друг для друга.

Где можно применять фаззинг

Фаззинг можно успешно использовать везде, где на входе требуются сложные данные. Тривиальные случаи решаются простым перебором, но если у тебя есть хотя бы десять байт входных данных, то 280 уже создают проблему при тестировании, и обычные тесты тут вряд ли справятся.

Именно поэтому самые распространенные случаи применения фаззинга приходятся на различные парсеры (XML, JSON), мультимедиакодеки (аудио, видео, графика), сетевые протоколы (HTTP, SMTP), криптографию (SSL/TLS), браузеры (Firefox, Chrome) и компрессию файлов (ZIP, TAR). Также целями фаззинга могут быть компиляторы (C/C++, Go), интерпретаторы (Python, JS), библиотеки для обработки регулярных выражений (regexp), базы данных (SQL) и комплекты офисных приложений (LibreOffice).

Чрезвычайно важен сегодня и фаззинг операционных систем, различных гипервизоров и виртуальных машин. Так что мы в Google даже запустили специальный фаззер syzkaller, который непрерывно тестирует несколько сборок ядра Linux, FreeBSD, NetBSD, а также Android и ChromeOS.

Резюмируем: фаззинг абсолютно необходим для тех программ, которые работают на границе доверия и используют входные данные из ненадежных источников.

Типы фаззеров

Существует несколько основных типов фаззеров, они отличаются подходами к генерации входных данных. Некоторым для работы требуется стартовый набор примеров, другим нужны правила, по которым эти примеры могут быть выведены. Важную роль также играет случайность, которая позволяет фаззерам создавать все новые и новые входы.

На основе грамматики

Таким фаззерам для работы требуется определенный набор правил — грамматика для построения входных данных. Как только фаззеру будут известны эти правила, он сможет генерировать новые комбинации на их основе. При этом можно позволить себе иногда отклоняться от грамматики и не всегда следовать ей, подавая на вход тестируемой программы некорректные данные.

Подобные фаззеры генерируют хорошие, достоверные последовательности, доля случайности в них относительно невелика

Однако важно понимать, что писать такие фаззеры — дело трудоемкое. Во-первых, грамматику следует определить самостоятельно (в редких случаях можно взять уже готовую)

Во-вторых, качество работы фаззера будет напрямую зависеть от той грамматики, что ему передали.

На основе мутаций

Такой тип фаззеров на каждом этапе случайным образом изменяет входные данные из предыдущих попыток. При этом для старта ему требуется набор репрезентативных входов (корпус), который будет использоваться для дальнейших мутаций. В качестве корпуса можно взять данные пользователей или существующие тесты. Во время своей работы такой фаззер слегка изменяет готовые последовательности (переставляя биты и байты), комбинирует и сочетает их вариации и подает в программу.

При этом никаких дополнительных усилий от разработчика тут не требуется (разве что написание специальных алгоритмов мутаций), но и качество входных данных у таких фаззеров обычно среднее.

Построение грамматики по данным

Также есть способ сочетать оба описанных выше подхода. Специалисты по обработке данных и машинному обучению могут попытаться построить грамматику на основе уже имеющейся информации. Однако оценить результат на выходе таких фаззеров зачастую непросто.

На основе покрытия кода

Подобные фаззеры устроены по принципу генетического алгоритма и стремятся максимизировать покрытие тестового кода. С практической точки зрения это один из самых эффективных на сегодня типов фаззеров. На этой основе работает libFuzzer, и о нем я расскажу подробнее.

Упрощенно работу фаззера в форме псевдокода можно представить так:

Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте

Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», увеличит личную накопительную скидку и позволит накапливать профессиональный рейтинг Xakep Score!
Подробнее

Вариант 2. Открой один материал

Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя!
Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.

Я уже участник «Xakep.ru»

Характер и повадки бенгальской кошки

Характер бенгальской кошки соединяет темперамент дикого зверя (азиатского леопардового кота) и домашней кошки .Для того, что бы бенгальские котята выросли добрыми, ласковыми и ручными, их нужно с детства приучать к рукам – уделять им как можно больше внимания, общаться с ними, играть, гладить и ласкать. Без постоянного общения с людьми, без приучения к рукам, бенгальские котята очень быстро дичают. Так же бенгальские кошки быстро дичают при вольерном или клеточном содержании. Они становятся трусоватыми, но не агрессивными.Бенгальская порода потому и состоялась, что бенгальские кошки не агрессивны по своей природе! Так же бенгальские кошки абсолютно не конфликтны. Бенгалы очень хорошо уживаются с собаками и кошками. Так как бенгалы по натуре лидеры, то при проживании вместе с кошками других пород они будут стараться лидировать.

Бенгальские кошки — умные, активные, любознательные и очень сообразительные. Они проверят каждый уголок Вашего жилья, залезут на любую высоту, вихрем пронесутся мимо Вас. Они очень любят играть с игрушками: гонять мячики, играть с дразнилкой. Даже кусочек бумаги свернутый в шарик они будут с упоением гонять по квартире. Иногда кажется, что у них внутри находится маленький моторчик. По своему характеру бенгалы очень похожи на собак. Когда им кидаешь мячик, то они очень быстро учатся приносить его обратно хозяину. Очень хорошо, если Вы купите для своего питомца большой игровой комплекс, где бенгальский котенок сможет поиграть, полазить, поточить когти, не опасаясь, что что нибудь разобьет или сломает.Бенгальские котята очень любят воду. Они с огромным удовольствием играют с водой.если струйка воды течет из под крана они тут же садятся рядом и начинают лапкой брызгаться во все стороны. Есть отдельные любители, которые садятся перед миской с водой и начинают вычерпывать лапой воду, пока миска не опустеет.

Весьма комфортно бенгальские кошки чувствуют себя на природе, в загородном доме. Но лучше позаботиться о том, чтобы бенгальский котенок, увлекшись игрой или погоней за добычей, не сбежал совсем. Для летних прогулок на даче, лучше построить крытый вольер с сеткой. Выгуливать бенгала лучше в шлейке, на поводке. Тогда можно будет не беспокоиться, что он убежит и потеряется.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector