Антиплагиат (1209242), страница 4
Текст из файла (страница 4)
Белый ящик (White box)WhiteBox – это более урожайный на уязвимости анализ. У аналитикаизначально есть все исходные данные и он занимается их пристальнымизучением.Все работы делятся на 3 этапа:На первом этапе изучается окружение и вся информационнаясистема целиком. На этом этапе определяются возможные угрозы,анализируется архитектура всей системы, изучаются настройки,проверяется соответствие элементов системымеждународнымBenchmark’ам по безопасности.Потом переходим к следующему этапу – это самое вкусное, восновном ради этого и делают такой анализ, анализ исходных кодовприложений.
Тут анализируются собственные или заказные разработки.Сначала идут автоматические сканирования исходников статическими идинамическими анализаторами. Так же, происходит изучение всех15зависимостей приложения на предмет устаревших версий, известныхуязвимостей.После того, как пройдут все автоматические проверки, начинаетсяобработка результатов и ручные проверки кода. Все найденныеподозрения на уязвимости, даже с самым низким уровнем, проходяттщательное изучение экспертами.
Так же, на этом этапе проходитподробное изучение архитектуры приложения и выявляются всекритичные места: механизмы авторизации, аутентификации,шифрования, обработки важных данных. Эти критичные места, так же,проходят тщательную проверку экспертами.И в результате мы получаем максимально возможное количествоуязвимостей, которые только можно найти в информационной системе. И,кроме уязвимостей, мы ещё получаем приятные бонусы:Выявление бэкдоров. Анализ архитектуры и логики приложенийпозволяет выявлять оставленные разработчиками бэкдоры;Рекомендации по устранению уязвимостей. При анализе кода мызнаем не только как проявляют себя уязвимости, но и точное место гдеона возникали и почему.
А это позволяет дать экспертныерекомендации: как их устранить и как не допускать их в будущем;PoC скрипты. Для подтверждения уязвимостей и ихавтоматического воспроизведения мы можем написать скрипты.Обычное подтверждение уязвимости - это скриншот или набор входныхданных, прикоторым можно воспроизвести и убедиться в наличииуязвимости. Но не все уязвимости можно подтверждать таким образом.Например, уязвимость по удалению базы пользователей. Деструктивноедействие, которое мы не будем подтверждать на реальной системе.
Ноимея перед глазами исходник, мы можем написать нужный скрипт.Причин, по которым может возникнуть потребность в таком анализе,много. Самые популярные:1. Тайное становится явным. Даже если эксперты смогли16обнаружить уязвимость только имея на руках исходный код – это незначит, что злоумышленники не смогут найти эти уязвимости. Рано илипоздно, они всё равно выстрелят;2.
Compliance. Для соответствия требованиям некоторых отраслевыхстандартов обязательно проводить тестирования WhiteBox илиBlackBox;3. Выявление бэкдоров. Иногда это самая важна причинапроведения анализа защищённости. К примеру, если вы заказалиразработку платёжной системы внешнему подрядчику, захотите ли выубедиться, что там отсутствуют недекларированные возможности.5. Fuzzing (Серый ящик)На стыке методов структурного и функционального тестированиянаходится метод «серого ящика». При тестировании данным методомисследователь не имеет полной спецификации программы и исходных кодов,как это бывает при тестировании методом «белого ящика», однако знаний осистеме больше чем при тестировании методом «черного ящика».Часто подразумевается, что 1 знание о тестируемом ПО получаются в ходереверсивной инженерии.
На основе полученных таким путем знанийпланируется и выполняется ряд мероприятий по тестированию ПО —динамический анализ.В последнее время приобретает популярность разновидность методатестирования «серого ящика», которое получило название фаззинг (fuzzing).Термин не так давно вошел в обиход и поэтому присутствует далеко не вовсех словарях. Самое близкое значения термина «анализ граничныхзначений» – определение доступных диапазонов входных значенийпрограммы и тестирование значений, которые выходят за этот диапазон либонаходятся на границе.
Фаззинг отличается тем, что не ограничивает своевнимание на граничных значениях, но 1 так же занимается подготовкойвходных данных специального вида. 117Изначально фаззинг использовался для тестирования качества иотказоустойчивости ПО. В 1998 году проф. Бартон Миллер применил методдля тестирования приложений UNIX. И, несмотря на то, что поискуязвимостей не был приоритетом тех исследований, исследования показалиего пригодность в данных целях. Последний факт стал причинойпопулярности метода. Появились на свет множество коммерческих исвободно распространяемых продуктов для фаззинга: 1 ProtosTestSuites,PROTOS SNMP, SPIKE, Mangleme, FileFuzz, SPIKEfile, Codenomican,COMRider, AxMan.В зависимости от метода генерации данных принято разделять подход к 1фаззингунакласса два:Мутация данных.
Новые данные получаются за счетнезначительных изменений существующих данных;Генерирование 7 данных. Данные подготавливаются «с нуля» наоснове протоколов или в соответствие с заданными правилами.Следующие типы фаззинга, так или иначе, относятся к одному извышеперечисленных классов:Использование заранее подготовленных тестовых данных.Используется для тестирования реализаций протоколов.
Вместе сформальным 1 описанием протокола разработчик может подготовить рядтестовых данных, которые должны соответствующим образомобрабатываться программой, реализующей протокол;Использование случайных данных. Это наименее эффективный извозможных подходов. Целевой программе передается большоеколичество случайных данных. При возникновении сбоя очень сложноопределить настоящую ее причину.Ручное изменение данных протокола. Исследователю известенпротокол и он пытается добиться аномального поведения исследуемого 1ПОза счет внесения ошибочных данных.
За счет отсутствияавтоматизации 1 мало эффективен.18Полный перебор мутаций данных, подготовленных всоответствие с протоколом. Подход уменьшает объем тестов за счетиспользования знаний о протоколе. Однако в данные вносятся всевозможные мутации и за счет этого объем данных велик.Осознанное внесение изменение в данные подготовленные всоответствие с протоколом.
Для проведения данного вида тестированиядолжны быть проведены дополнительные исследования с цельюопределения, какие части данных должны оставаться константными, акакие изменяться. Подход является наиболее интеллектуальным, однакоувеличивается затрата времени исследователя.По типу воздействия фазеры можно разделить на несколько классов:локальные, удаленные, в памяти и универсальные.Локальные фаззеры делятся на следующие типы:Фаззеры командной строки. Используются для выявленияошибок, связанных с разбором входных параметров программ;Фаззеры переменных окружения.
Используются для выявленияошибок, связанных с обработкой данных, получаемых черезпеременные окружения;Фаззеры файлов. Используются для тестирования программногообеспечения, принимающего файлы в качестве входных данных. 1Удаленныефаззеры бывают следующих типов:Фаззеры сетевых протоколов. В зависимости от сложностипротокола применяются 7 фазеры соответствующей сложности; 1Фазерыweb- приложений. Получили особую актуальность сразвитием Web 2.0. 1Фазерыweb- браузеров.
Тестируется правильность разбора, какHTML-тэгов, так и других поддерживаемых расширений. Особо стоитвыделить 1 фазерыcom- объектов поддерживаемых браузерами.Фаззинг в памяти напрямую воздействует на точки ввода данных в код, 119минуя средства доставки данных. 1 Методика требует более детального разбораи по этой причине описана в отдельном пункте.Под 1 универсальнымифаззерами здесь понимается инструментарий длябыстрой разработки инструментов фаззинга ( 1 fuzzingframework). Такойинструментарий должен содержать в себе примитивы для генерации входныхданных, а 1 так же для их внедрения.
На их основе может быть 1разработанфаззер необходимой конфигурации.1.4. Инструментальные средства анализа защищённостиСогласно требованиям федеральных органов уполномоченных в областизащиты информации для проведения анализа (контроля) защищённостидолжны использоваться только сертифицированные программные,технические и программно-технические средства.Ввиду того, что в любом ПО, присутствуют какие-либо уязвимости,возникающие на различных этапах «жизненного цикла» (проектировании,реализации, внедрении), то нарушители создают программы, позволяющиенайти и использовать эти недостатки программы в автоматическом илиручном режиме.Инструментальный анализ защищённости представляет собойавтоматизированное тестирование на проникновение согласно той или иноймодели нарушителя.Для проведения полноценного анализа защищённости при помощиинструментальных используются:1.
Программа фиксации и контроля исходного программного комплексаОсновные возможности таких программ:Вычисление контрольных сумм заданных файлов по одному изпяти реализованных алгоритмов, в том числе ГОСТ Р 34.11-94. 57Фиксация и последующий контроль исходного состояния 5720программного комплекса. 57Сравнение версий программного комплекса.Фиксация и контроль каталогов.Контроль различий в заданных файлах (каталогах).Формирование отчетов в форматах 57 TXT, HTML, SV.Пример такой программы “ФИКС” с сертификатом ФСТЭК No1548 до 15января 2020 г.2. Программа контроля полномочий доступа к информационным ресурсамЭто программа контроля полномочий доступа к информационнымресурсам.Основные возможности:сравнение структуры ресурсов АРМ, описанной в ПРД, среальной структурой ресурсов;создание отчета по результатам сравнения;построение плана тестирования объектов АРМ;проверка реальных прав доступа пользователей к объектамдоступа;создание отчета по результатам тестирования.













