Процесс разработки программного обеспечения включает в себя отладочные работы и проведение тестов, помогающих обнаружить и устранить различные ошибки. Но далеко не все понимают необходимость проведения тестирования безопасности отлаженного софта, предполагая, что процедура отладки уже включает перечень мероприятий по выявлению “брешей” в коде. Попробуем более детально разъяснить порядок отладки ПО и доказать потребность проведения тестов на уязвимость кода от внешнего проникновения, то есть обеспечения должного уровня безопасности разработанной и отлаженной программы.
Отладка
Процесс отладки программного обеспечения подразумевает поиск и устранение несоответствий и ошибок, возникших во время работы над основным кодом, то есть не включает в себятестирование безопасности — отлаженный софт будет выполнять лишь возложенные на него функции с запланированным результатом. Отладочные работы позволяют обнаружить некорректно выполняющие свои функции куски кода, то есть приводящие к незапланированным последствиям. Итогом отладки станет полностью работоспособная программа, настроенная на корректное выполнение возложенных на нее задач. Однако отлаженный софт не застрахован от существования элементов, использование которых позволит злоумышленникам проникнуть в систему или получить доступ к имеющейся в ней информации. Именно для исключения таких возможностей и проводится соответствующая проверка отлаженной программы.
А нужны ли тесты на безопасность?
Мы выяснили, что из себя представляет процесс тестирования безопасности отлаженного софта, теперь перейдем к вопросу необходимости проведения этих действий. Не секрет, что деятельность практически любого предприятия так или иначе связана с применением компьютерной техники, подключенной к сети Интернет, что позволяет существенно упростить и ускорить выполнение требуемой работы. Однако Глобальная Паутина несет в себе серьезную угрозу, заключающуюся в возможности проведения атаки извне с целью проникнуть в электронную систему предприятия или получить доступ к конфиденциальным данным, хранящимся на серверах или жестких дисках. Чтобы полностью исключить вероятность успешного выполнения подобных действий, тестировщики проводят следующие мероприятия:
- пытаются выяснить пароль, используя внешние средства;
- атакуют систему с применением специализированных утилит проверки защиты;
- пробуют подавить программу, анализируя ее способность продолжать работу;
- умышленно вводят ошибочные данные, чтобы получить доступ к системе в процессе ее восстановления;
- анализируют незашифрованные данные с целью найти ключ для проникновения.
Выводы, полученные в ходе проведенного тестирования безопасности отлаженного софта, позволяют устранить обнаруженные угрозы, а также исключить вероятность их появления в процессе использования программы. В подавляющем большинстве случаев это приводит к значительному улучшению уровня защищенности сведения внутри системы, обычно представляющих собой весьма важную информацию. С точки зрения предприятия, применяющего данный софт, утрата контроля или потеря коммерчески важных сведений грозит ощутимыми финансовыми убытками.
Заключение
Стоит особо подчеркнуть, что существующие сегодня методы взлома программного кода позволяют проникнуть сквозь самые совершенные системы защиты, разница состоит лишь во времени, которое будет для этого затрачено. Необходимость тестирования безопасности отлаженного софта обусловлена значительным увеличением временных затрат на осуществление взлома функционирующей системы. Если затраченные усилия превысят выгоду от добычи интересующих злоумышленников сведений или получения контроля над системой, то степень защищенности программы можно назвать достаточным.