Журнал "Information Security/ Информационная безопасность" #1, 2021

Дополнительными инструментами, повышаю- щими качество кода и в некоторых случаях суще- ственно снижающими риск уязвимостей, станут стати- ческие и динамические ана- лизаторы кода. Не стоит забывать и про угрозы, которые могут при- ходить изнутри, – закладки в коде, считывание паролей сетевыми кейлоггерами, перенос на флешку дампа "боевой" базы данных и вынос ее за пределы компа- нии с последующей прода- жей конкурентам или использованием в других целях. Быстрота работы прило- жения, удобство его интер- фейсов отходят на второй план, когда дело касается утечки личной или корпора- тивной информации, а также финансового и репутационного ущерба. мет используемых ресурсов, уте- чек памяти, определения ряда других уязвимостей. Статический анализатор можно представлять как авто- матизированный процесс Code Review, с более эффективным проникновением (полный анализ всего кода, включая "мертвый"), но с отсутствующим прогнозом (не всегда такой анализ может увидеть утечку памяти, напри- мер), а также с частыми случая- ми нахождения ошибок вида false-positive – "подозрительных" мест, наличие или отсутствие ошибки в которых может точно определить только программист. Для разработчика, использую- щего, например, привычную для всех IDEA (и большинство других современных IDE), статический анализатор уже включен в базо- вый функционал среды разра- ботки. В последнее время этот модуль значительно увеличил свою эффективность и как локальное решение (для кон- кретного разработчика) покры- вает большую часть процесса анализа кода. Существенная сложность может заключаться в том, что анализатор IDE практи- чески невозможно имплементи- ровать в процесс непрерывной интеграции – CI/CD, а также в сбор статистики по анализу в разрезе отдела или департа- мента. Для таких задач подойдут standalone-решения: SonarQube, PMD, Checkstyle. Использование динамических анализаторов (таких как Valgrind, DynamoRIO и подобных) на прак- тике встречается намного реже, скорее всего, по причине избы- точности для большинства раз- рабатываемых приложений. В веб-приложениях динамиче- ский анализ полностью пере- крывается функциональным тестированием, логами веб-окру- жения и профилированием с отладкой в IDE. Средства дина- мического анализа оправданны в конвейерной разработке круп- ных многопоточных приложений в больших количествах. Основ- ное "направление" таких анали- заторов – мониторинг и контроль утечек памяти в приложениях (особенно актуально при разра- ботке на C/C++). Немного об угрозах В рамках комплексной без- опасности программного обес- печения, несомненно, нужно оза- дачиваться обеспечением защи- ты сети и баз данных, располо- женных как на локальных сер- верах, так и удаленно (коло- кейшн или облако). Например, при осуществлении DDoS-атак для злоумышленни- ков главное значение будет иметь конфигурация сетевого окружения, а также настройка фильтрации трафика и межсе- тевых экранов, а не то, как напи- сан код. Большинство угроз, обычно инициированных извне, но осу- ществляющих свою деятель- ность уже внутри вашей сети (выполнение серверных команд, размещение файлов, подклю- чаемых и исполняемых вашим ПО), также предотвращаются настройкой сети и дополнитель- ных инструментов, включая фильтры контента и спама, гео- фильтрацию, сетевые антивиру- сы и различные системы пред- отвращения вторжений (IDS/IPS). Но не стоит забывать и про угрозы, которые могут приходить изнутри, – закладки в коде, счи- тывание паролей сетевыми кей- логгерами, перенос на флешку дампа "боевой" базы данных и вынос ее за пределы компании с последующей продажей кон- курентам или использованием в других целях. Меры, предприни- маемые для защиты от подобных атак, сильно варьируются в зави- симости от специфики компании, ее культуры, внутренних процес- сов и имеющихся ресурсов. Учитывая скорость развития технологий, а также растущее количество внешних и внутрен- них угроз безопасности, совсем не лишним будет пересмотр под- ходов к процессам разработки, формированию ИТ-отделов и главных целей, которые пресле- дуют команды в компании. Все это – подходы, процессы, инфра- структура разработки – должно быть пересмотрено с точки зре- ния безопасности. Быстрота работы приложения, удобство его интерфейсов отходят на вто- рой план, когда дело касается утечки личной или корпоративной информации, а также финансо- вого и репутационного ущерба. Если сегодня вы пересмотрите подход к разработке ПО в вашей компании, это будет главный вклад в проактивное устранение уязвимостей в будущем. l 44 • ТЕХНОЛОГИИ Ваше мнение и вопросы присылайте по адресу is@groteck.ru Написать приложение, которое будет работать в момент сдачи релиза, и наладить производство программного обеспечения, которое будет надежно эксплуатироваться в запланированные сроки, – две существенно разные зада- чи. Повышение качества кода и всевоз- можные его проверки требуют финан- совых ресурсов, затрат времени, нали- чия компетенций, а также налаженного взаимодействия между командами раз- работки, информационной безопасно- сти, юристами и, конечно, бизнесом. Не получится навязать разработчикам неудобный инструмент, он быстро ока- жется на свалке, несмотря на свою важность для задач других заинтере- сованных подразделений. Если же новый инструмент будет помогать достигать ключевых показателей производства продукта, то разработчики станут союзниками. Безопасники заинтересованы в том, чтобы инструменты защиты реально использовались и при этом были достаточно точны, чтобы из-за ложных срабатываний не сдвигались сроки релизов. Юристам приходится отслеживать лицензионную чистоту продукта как в части применяемых компонентов Open Source, так и в части внутреннего заимствования кода внутри группы компаний и между различными проектами. Юристам крайне необходима автоматизация ручных операций по отслеживанию лицензионных соглашений компонентов и выявлению случаев неправомерного заимствования исходных кодов. Бизнес-подразделениям, в свою очередь, важно достигать стра- тегических целей и иметь полную информацию о текущем состоя- нии разработки для своевременной реакции в условиях быстро меняющейся ситуации. Важно, чтобы внедряемый инструмент помогал каждой вовлеченной в процесс команде достигать своих ключевых показателей, не мешал и не тормозил работу, удобно встраивался в конвейер разработки и автоматизировал рутину. Дарья Орешкина, директор по развитию бизнеса компании Web Control Комментарий эксперта Какой инструмент выбрать? У каждого своя правда

RkJQdWJsaXNoZXIy Mzk4NzYw