Путешествие журналиста в мир кибербезопасности

Путешествие журналиста в мир кибербезопасности

30 ноября 2022 г.

Скромное примечание для аудитории

Я новичок и заядлый ученик. В этой статье я расскажу о своем пути становления аналитиком качества программного обеспечения, переведя свой предыдущий опыт в журналистике и рассказав о том, как в настоящее время я объединяю свои знания в области журналистики и SQA, чтобы получить доступ к миру кибербезопасности.

Есть много, казалось бы, «несвязанных» наборов навыков, которые я «взломал», чтобы приспособить к своим должностным обязанностям SQA наряду с базовым тестированием безопасности приложений. Таким образом, термины «Тестирование» и «SQA» часто пересекаются с моим текущим путешествием по обучению кибербезопасности. Прежде чем вдаваться в подробности, я хотел бы кратко рассказать о смене моих должностных обязанностей.

Переходный период: от журналистики к тестированию ПО

Я начал свою карьеру в печатной версии Daily Observer в качестве младшего редактора городского отдела после получения диплома по английской литературе и лингвистике в 2014 году. », а сам год был переходным периодом к цифровой журналистике. Любопытно, что журналисты были либо равнодушны, либо столкнулись с небольшими трудностями при внедрении новых технологий, таких как редактирование копий в текстовых редакторах, использование информационных агентств и электронных писем корреспондентов в Интернете в качестве источников новостей.

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

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

В 2018 году я присоединился к печатной версии New Age в качестве младшего редактора. Через несколько месяцев я перешел на его онлайн-версию.

У меня была возможность напрямую общаться с журналистами с места, собирая от них информацию, перепроверяя факты, готовя сюжеты по делу и вовремя публикуя их на портале. Самое интересное в этом разделе — анализ поведения читателей с помощью Google Analytics. После первичного анализа мы фиксировали, какие истории будут опубликованы и в какое время. Мне также приходилось тесно сотрудничать с нашей технической командой, если в веб-приложении возникало какое-либо необычное поведение, такое как ошибка 502, отсутствие какой-либо истории или фотографии, проблемы с форматом элемента новостей и т. д. Постепенно я получил здесь дополнительную роль «Аналитика качества веб-сайтов».

В этот период я ​​написал Мифы и реальность механизма защиты параллельного мира после месячных усилий. Эта статья была опубликована в ныне несуществующем молодежном отделе газеты New Age Youth — одно из самых приятных воспоминаний о моей карьере журналиста.

Позже, в 2021 году, я, наконец, присоединился к Penta Global Limited в качестве SQA — это мой реальный вход в индустрию информационных технологий.

Сердечно благодарю моего друга детства Фархада Наима, который первым научил меня программировать и порекомендовал меня в качестве SQA до того, как я стал техническим директором.

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

Общение, общение и еще раз общение

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

Если быть точным, «интроверт» большую часть времени общается с самим собой, тогда как «гектроверт» общается с одной или двумя определенными кликами. Хороший специалист по решению проблем знает разные способы сообщить о проблемах и их решении, используя необходимые инструменты и переводя решение для конкретных целей.

Таким образом, в качестве примечания я бы рекомендовал «слабого» ученика как человека, у которого есть определенные трудности с передачей основных понятий определенного предмета, например. Математика или иностранный язык, а также класс и инструктор. Дело НЕ в том, что человеку не хватает «интеллектуальных способностей», таких как топперы.

Как SQA, тестировщик или специалист по кибербезопасности, человек должен иметь хорошие навыки общения, чтобы получить доступ к процессу

  1. Бизнес,
  2. Разработка и
  3. Технологии

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

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

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

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

Итак, я быстро связался с экспертом по ИТ-системам на стороне клиента. Проанализировав требование, факт наконец стал ясен. Они хотели, чтобы третье поле было отдельным редактируемым числовым полем ввода, и в этом поле не было суммированного значения Num Input 1 и Num Input 2. Подводя итог, можно сказать, что расчеты больше не нужны.

Хорошие коммуникативные навыки позволяют тестировщику заставить заинтересованные органы понять вес ошибки и ценность, которую она добавляет к продукту. Чтобы быть точным, если SQA или Tester хорошо общаются с проблемами, машинами и людьми, они создадут конкретную основу для любого набора навыков. Среди них несколько

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

Не все отчеты публикуются: некоторые ошибки НЕ являются ошибками

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

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

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

Должен ли тестировщик делать отчеты по вышеупомянутым проблемам? Нет, это пустая трата времени и усилий. Тестировщик скорее должен быть связан с командой разработчиков и отслеживать эти проблемы. Он/она должен убедиться, что проблемы реализованы до того, как версия будет запущена в производство.

Лично я определяю ошибку как ОШИБКУ, если она

* Нарушает систему или функции * Обнаруживает проблемы безопасности и * Создает плохую репутацию команды или фирмы

Да, когда ошибок нет, опечатка может поставить под сомнение языковую эффективность команды.

Простая проблема с выравниванием текстового поля также может создать плохую репутацию Omega SQA как вишенки на торте, особенно когда он или она находится на закрытом «допросе».

Принять OWASP

Все работает. Сообщенные ошибки были исправлены. Теперь мы готовы закрыть сообщение «QA Passed».

Подожди!! На заре Web3 почти каждый программный проект в разной степени взаимодействует с Интернетом и вызовами API. Это делает программные приложения уязвимыми для различных типов угроз в «Wild Wild Web».

Таким образом, переход на OWASP — это не только хороший выбор для дальнейшего обеспечения более высокого качества программного обеспечения, я также нашел надежную платформу для практического начала своего пути к кибербезопасности. Проект OWASP содержит множество списков 10 основных уязвимостей в программных приложениях для Интернета, мобильных устройств, API и IoT, которые являются хорошей отправной точкой для новичков и справочными материалами для экспертов. Я предполагаю, что этот постоянно растущий проект скоро покроет топ-10 уязвимостей приложений AI, ML, Blockchain и W3. Я хотел бы поделиться немного своего опыта здесь. Наше производственное развертывание было отложено примерно на несколько недель, и у меня была прекрасная возможность провести тестирование на проникновение в наше веб-приложение. Я нашел три уязвимости учебника от OWASP. Этапы поиска, использования, PoC и отчетности были для меня в равной степени приятными, когда у меня была еще одна прекрасная возможность успешно использовать свои технические и журналистские навыки. Из них два критических были исправлены, остальные отправлены в бэклог. Почему?!! Продолжайте читать…

Обнаружение уязвимости: начало долгого пути

Если мы найдем и сможем воспроизвести уязвимость, например. точка инъекции где-то в приложении, это не конец и часто не стоит официального отчета об ошибке. Часто это верхушка айсберга. Потому что уязвимость бесполезна без надлежащего эксплойта. Другими словами, эксплойт — это процедура использования уязвимости для изменения программного приложения таким образом, каким оно не должно было быть. Таким образом, в этом случае лучший подход — проинформировать команду разработчиков и отслеживать, может ли новая функция или любая модификация в системе создать риск использования уязвимости.

В качестве упрощенного журналистского примера репортер представляет рассказ из 500 слов об огромном производстве основных продуктов питания в районах, где оно постоянно росло в течение последних 40 лет, внося свой вклад в экономику страны. Эту «новость» стоит упомянуть один раз в новостном материале как часть информации. Эта информация может попасть в заголовки, если страна столкнется с продовольственным кризисом, несмотря на небывалое производство этого основного продукта. Как и обнаружение уязвимости. Требуются усилия и время, чтобы найти его. Но без надлежащего эксплойта и надлежащего рабочего процесса для его использования обнаружение часто не стоит подробного отчета. Итак, мы должны разработать способ использования уязвимости, когда мы ее найдем. Иногда нам приходится терпеливо ждать, как настоящему киберпреступнику, чтобы разработать рабочий процесс, позволяющий использовать уязвимость для создания PoC, что придает истинный вес и значимость нашему отчету.

Инструменты: дилемма самурая

<цитата>

"Они мои рабы [книги и бумаги] и должны служить мне так, как я захочу". - Карл Маркс

Инструментарий не рождает художника, артиста, тестировщика или человека, который выделяется на своей арене. Я не могу припомнить ни одного аргумента в пользу эффективности Альберта Эйнштейна в использовании калькуляторов, рукописного ввода или учета. Вы когда-нибудь слышали или читали, как искусствоведы спорят о том, какие инструменты были эффективны Леонардо да Винчи или Микеланджело?

Ожидаем ли мы, что человек, разбирающийся в грамматике определенного языка, внесет свой вклад в литературу на этом конкретном языке?

Ответы большие, большие НЕТ. Человек, стоящий за инструментами, определяет форму произведения искусства.

Поскольку любое тестирование — это искусство, это верно для обеспечения качества и кибербезопасности.

Подождите! Есть подвох. На самом деле некоторые инструменты так встроены в те или иные ремесла. Например, это гитара с нейлоновыми струнами для классической музыки и Nmap для сетевого сканирования.

Хорошо, а вот и моя «Теория самурайской дилеммы»

Каждый захочет стать самураем, увидев его изображение в аниме и фильмах. Но для того, чтобы стать солдатом-самураем в реальности, требуется много времени, тщательная подготовка и крайняя преданность делу. Итак, если случайному человеку дать самурайский меч для демонстрации каких-то действий, велика вероятность, что он поранится. Более того, он может лишиться жизни на реальном поле боя. С другой стороны, результат будет таким же, если опытный самурайский гуру захочет сражаться против современной артиллерии, не «модифицируя» свой меч. Итак, дело в том, что тестировщик, или SQA, будет выбирать, модифицировать и развивать свой набор инструментов, используя творческий подход и отвечая на потребности. Он / она не будет придерживаться определенного метода тестирования, дистрибутива ОС или набора инструментов, а скорее изменит существующие или примет новые. В конце концов, для творческих умов аргументы Windows против Linux, Python против Ruby, C++ против Rust и VIM против VS Code не имеют значения. Они просто выбирают или выбрасывают свои инструменты, чтобы создать произведение искусства. Вам нужно доказательство концепции относительно примера классической гитары, о котором я упоминал выше? Просто послушайте Тима Хенсона и узнайте, как играть рок-музыку на классической гитаре с нейлоновыми струнами!!

В будущих статьях я покажу вам, как Nmap можно использовать в скрипте bash на Raspberry Pi Box для создания базовой системы обнаружения вторжений, работающей круглосуточно и без выходных.

Примечание об автоматизации

Это бонусный раздел, прежде чем я завершу длинную историю.

Я был фанатом автоматизации, когда начал свою карьеру в качестве SQA в августе 2021 года. Несколько месяцев спустя наш технический руководитель и руководитель отдела разработки провели со мной встречу. Они заверили меня, что сообщат мне, когда нам ДЕЙСТВИТЕЛЬНО понадобятся костюмы для автоматизации тестирования. До тех пор мы должны сосредоточиться на «ручном тестировании».

Я изучил Интернет и понял, что такого понятия, как «автоматическое тестирование», не существует. Это еще один полезный инструмент, который есть у опытного тестировщика и который обеспечивает качество или меры безопасности программного приложения. Хотя, эта точка зрения имеет критику.

Я никогда не слышал об «автоматизации» в мире кибербезопасности или тестирования на проникновение, кроме сканеров уязвимостей, таких как Nessus, или фреймворков, таких как Social Engineering Toolkit (SET) или Metasploit. Единственная область, где термин «автоматизация» стал модным словом в мире SQA. Почему? Этот ответ требует глубокого исследования и целой статьи по теме. Уважаемые ученые читатели, простите меня за невежество, если я ошибаюсь.

В дикой природе существует множество инструментов ИИ для написания статей и создания красивых картин. Но на момент написания этой статьи 29 ноября 2022 года для точной настройки результатов необходимо вмешательство человека.

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

Опытный SQA или специалист по безопасности упустит некоторые важные выводы, если они сильно зависят от результатов автоматизации, в то время как начинающие, такие как я, ОЧЕВИДНО упустят множество интересных вещей, которые заложат прочную основу их понимания искусства тестирования.

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

Если требования к продукту меняются слишком часто в циклическом порядке, автоматизация тестирования НЕ принесет никакой пользы по сравнению с заданным временем и усилиями.

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

Заключительные мысли

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

Репортер против службы и SQA против разработчиков — давняя традиция, о которой стоит упомянуть.

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

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

Это здоровая творческая практика, потому что наши «конфронтации» сохраняют информацию в неприкосновенности или создают качественные программные приложения, которые в конечном итоге служат человечеству.

Так что ничего личного, если заинтересованные органы спросят нас, почему не было сообщено об ошибке, которая на самом деле спрятана в 20-дневном бэклоге. И это часто происходит, если вы являетесь Omega Tester и тестирование нескольких проектов. Просто наденьте их обувь. У них, как и у нас, есть важные проблемы, которые нужно решить. Статья Джеймса Маркуса Баха Omega Tester обязательна к прочтению каждым тестировщиком, SQA и специалистом по кибербезопасности.

Пожалуйста, поделитесь со мной своим мнением, конструктивной критикой и профессиональным советом.

==Примечание. Все изображения сделаны автором.==


Оригинал