Итак, начнем с определений: «тестирование безопасности» (обозначим как SecTest – Security Test) - оценка уязвимости программного обеспечения к различным атакам (Википедия). Целью такого тестирования является не просто взлом ресурса и проникновения в систему или компьютерную сеть, а выявления максимального числа потенциальных брешей в безопасности ресурса. 

Наряду с понятием тестирования безопасности очень популярным является «тестирования на проникновение» или сокращенно «пентест» (PenTest – Penetration Test). Данный вид тестирования является лишь частью общего цикла мероприятий по оценке состояния безопасности системы. Целью в данном случае проверить защищенность сети и ресурсов от внешнего либо внутреннего проникновения, другими словами «взлома».

Поэтому, если в первом случае речь идет о месяцах работы в соответствии со стандартами и гонораре аудитора, исчисляемого миллионами RR; то во втором случае речь идет о нескольких часах, в рамках которых проводится атака на найденные специальными сканнерами бреши в безопасности какого-либо сетевого ресурса, и гонораре в виде лишения свободы на срок до 2 лет согласно статьи 272 УК РФ (ст. 361 КК Украины)«Неправомерный доступ к компьютерной информации», если такая деятельность не была предварительно согласована с администраторами и владельцами этого ресурса.
Однако, не стоит сразу пугаться и удалять все ПО для тестирования со своего компьютера. Пентест – очень полезная и нужная вещь, однако он должен проводится с учетом рекомендаций и правил, представленных в соответствующих стандартах и методологиях. В таком случае, Вы сможете считать себя действительно профессионалом, а не хакером-любителем.


источник: www.stosb.com

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

Для обеспечения соответствующего качества данной услуги, особенно в рамках корпоративных структур, были разработаны специальные методологии (OSSTMM и OWASP), а также стандарты (Cobit, ISO/IEC 2700x, CIS, SANS, ISSAF, NIST, WPTF, PCI DSS), гарантирующие эффективность тестирования и перечень мероприятий проводимых в его рамках.

Раскроем вкратце содержание некоторых из них.

Методологии по проведению тестирования на проникновение

OSSTMM (Open Source Security Testing Methodology Manual) – руководство по анализу и тестированию безопасности, созданное Pete Herzog фотографом и ученым, а также директором ISECOM. Как гласит история, первое 12-и страничное издание данного руководства было придумано автором, когда он ехал в поезде, размышляя над научной концепцией тестирования безопасности, в 2001 году. Сошедши с поезда он сказал своей жене, которая встречала его на перроне: «Я думаю, что придумал что-то большое». Последняя версия руководства содержит 18 глав, повествующих о том с чего начинать тестирование, какие существуют метрики и компоненты информационной системы, которые подлежат тестированию (источник: http://www.isecom.org).



OWASP Testing Guide – данное руководство включает детальное описание процесса тестирования защищенности Web-приложений. Документ рассчитан на архитекторов, разработчиков, консультантов, аудиторов. В документе приводятся примеры кода на J2EE, ASP.NET и PHP и покрывает большое количество вопросов по безопасности, начиная с SQL инъекций и заканчивая современными угрозами такими как фишинг и банкинг. (источник: http://www.owasp.org)

Information Systems Security Assessment Framework (ISSAF) - методология включает детальное описание процессов тестирования, практические приемы работы с разными утилитами. Рассматривается тестирование межсетевых экранов, антивирусных систем, беспроводных сетей, операционных систем, баз данных и т.д. Система рассчитана на непосредственных исполнителей (http://www.oissg.org/information-systems-security-assessment-framework-issaf.html).

NIST 800-42 Guideline on Network Security Testing – в данном руководстве особое внимание уделяется процессу организации тестирования в компании. Документ рассчитан на ИТ-менеджеров и непосредственных исполнителей. (источник: http://csrc.nist.gov/publications/nistpubs/800-42/NIST-SP800-42.pdf)
Wireless Penetration Testing Framework - система рекомендаций только по защите беспроводных сетей с описанием конкретных команд. (источник: http://wirelessdefence.org)

PCI DSS (Payment Card Industry Data Security Standard) – стандарт безопасности, созданный Payment Card Industry Security Standards Council (PCI SSC), с целью помочь организациям защитить процесс платежей c использованием банковских карт от мошенничества и воровства конфиденциальной финансовой информации. Данный стандарт объединяет следующие программы безопасности: Visa Card Information Security Program, MasterCard Site Data Protection, American Express Data Security Operating Policy, Discover Information and Compliance, и JCB Data Security Program. Стандарт включает 12 основных требований безопасности для защиты конфиденциальных данных владельцев платежных карт, таких как: имя кардхолдера, номер счета, срок действия карты, ПИН, CVC, а также данные, записанные на магнитную полоску (источник: https://www.pcisecuritystandards.org/)



источник: pci-portal.com

Попробуем разобраться, что все-таки входит в состав данных рекомендаций и из чего состоит тест на безопасность. Бытует мнение, что пентест заключается только в сканировании сети и взлом каких-нибудь веб-сервисов. Так оно и есть отчасти, но на этом тестирование не заканчивается. Рассмотрим основные модели тестирования безопасности.

Согласно OSSTM тестирование заключается в проверке следующих составляющих:

• безопасность информации (Information Security) – включает анализ целостности информации, анализ Интернет документов, персонал, возможность конкурентной разведки, управляемость.

• безопасность процесса (Process Security) – включает тестирование запросов и ответов, предложений, доверенных лиц.

• безопасность Интернет технологий (Internet Technology Security) – включает детектирование вторжений, сетевой обзор, идентификацию системных сервисов, возможность конкурентной разведки, тестирование 
Интернет приложений, поиск уязвимостей, маршрутизацию, тестирование доверенных систем, контроль доступа, взлом паролей, тест на жизнеспособность, DoS атаки, анализ политик безопасности и др.

• безопасность коммуникаций (Communications Security) – тестирование почты, голосовой почты, факсов, модемов, удаленного доступа, VoIP, X.25 сетей.

• безопасность беспроводных сетей (Wireless Security) – тестирование электромагнитного излучения (EMR), Wireless 802.11, Bluetooth, беспроводных устройств, RFID, IR.

• физическая безопасность (Physical Security) – тестирование контроля доступа, видеонаблюдения, сигнализации, анализ помещения и факторов окружающей стороны.

Все компоненты теста представлены на, так называемой, «карте безопасности» (Security Map):


источник: OSSTM 2.2, ISECOM

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

Основные стадии тестирования на безопасность веб-приложений по OWASP:

• ручной анализ – анализ документации, проведение интервью с дизайнерами и архитекторами системы;

• моделирование угрозы – помогает дизайнерам системы задуматься над потенциальными угрозами, с которыми она может в будущем столкнуться;

• анализ кода – процесс ручной проверки кода веб-приложений на предмет безопасности;

• тестирование на проникновение (также тестирование по принципу «черного ящика» или «этический хакинг») - наиболее популярная техника для проверки сетевой безопасности.

Аудит по стандарту PCI DSS включает следующие стадии тестирования:

• построение и поддержка безопасной сети (проверка сетевых параметров безопасности и настроек сетевого экрана);

• защита персональных данных владельца платежной карты (шифрование передаваемых данных в сети);

• поддержка программы контроля за уязвимостями (загрузка обновлений безопасности для установленного ПО, а также обновление антивирусных баз для защитного ПО);

• реализация строгих правил контроля доступа (разграничение доступа для сотрудников компании, отслеживание доступа сотрудников к конфиденциальной информации, ограничение физического доступа);

• постоянный мониторинг и тестирование сетей (учет доступа к сетевым ресурсам и данным картодержателя, регулярное тестирование безопасности систем и процессов);

• поддержка политик информационной безопасности.

Определение границ проводимого исследования (Scope Definition):

• сегментация сети – выделение информационной среды, в рамках которой имеет место доступ к данным картодержателя; 

• тестирование беспроводной среды; 

• проверка третьих лиц – при использовании внешних информационных провайдеров для хранения, обработки и доступа к данным;

• выбор бизнес единиц и системных компонент для тестирования – н-р, корпоративные офисы, склады, магазины.

Заключение

Основные итоги данной статьи.

• Существует отличие между понятиями «тестирования безопасности» и «тестирование на проникновение». Последний вид, является подмножеством первого и ставит перед собой цель – проверить защищенность сетевых ресурсов от взлома.

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

• Каждый из приведенных стандартов предназначен для тестирования информационной безопасности компании, но с разной детализацией, в различных сферах и со своим набором техник тестирования.

В следующей статье я продолжу рассказывать о том, какие существуют виды «пентеста» и из каких этапов он состоит, а также освещу некоторые детали самого тестирования.