От киберпанка до DevSecOps: 7 книг, ради которых DevSecOps-инженеру английский выучить всё-таки стоит

Тех, кого раньше бы окрестили киберпанками, сегодня величают себя более политкорректно: DevSecOps. Помните «весь спектр радуги», из легендарного фильма «Хакеры»? 1) Зелёная (всемирная среда UNIX); 2) ярко-оранжевая (критерии защиты данных компьютера по стандартам DOD); 3) розовая рубашка (справочник IBM; прозвали так из-за дурацкой розовой рубашки на мужике с обложки); 4) книга дьявола (библия UNIX); 5) книга дракона (разработка компилятора); 6) красная книга (сети национального управления безопасности; известна как мерзкая красная книга, которой нет места на полке).

Пересмотрев в очередной раз этот легендарный фильм, я задался вопросом:, а что бы сегодня читали киберпанки прошлого, ставшие в наше время DevSecOps«ами? И получился обновлённый, более современный вариант этого радужного спектра:

— Фиолетовая (руководство APT-хакера)
— Чёрная (корпоративная кибер-не-безопасность)
— Красная (справочник красноармейца)
— Книга бизона (культивирование DevOps-культуры в сообществе разработчиков; названа так из-за зверя с обложки)
— Жёлтая паутина (жёлтая, в смысле злободневная, подборка уязвимостей всемирной паутины)
— Коричневая (книга багоборца)
— Книга возмездия (библия безопасной разработки кода)

1laqyptadlxuukcov2etk2q9lls.jpeg

qz1yfrz7anocwjudl842wzqjvam.jpeg

vwqroobjilzqpzk2--zcu3urise.jpeg

Эта книга написана для одной единственной цели: продемонстрировать, что в мире не существует безопасных систем. Причём написана она с точки зрения преступника, без каких-либо компромиссов. Автор беззастенчиво демонстрирует современные реалии кибер-не-безопасности, и без утайки делится самыми интимными подробностями APT-хакерства. Без какого-либо намёка на то, чтобы ходить на цыпочках вокруг да около спорных тем, опасаясь привлечь к себе предосудительное внимание. Почему именно с бескомпромиссно преступной точки зрения? Потому что автор уверен, что только так мы сможем по-настоящему «узнать своего врага в лицо», как это советовал Сунь Цзы в своей книге «Искусство войны». И потому что автор также уверен, что без этого знания невозможно разработать сколь-нибудь эффективную защиту от киберугроз.

В книге описывается образ мыслей APT-хакера, инструменты и навыки, — которые позволяют ему взламывать абсолютно любую организацию, вне зависимости от того, какая там развёрнута система безопасности. С демонстрацией реальных примеров взлома, для реализации которых вполне достаточно скромного бюджета и скромных технических навыков.

Для борьбы с традиционными преступниками в любом государстве существуют отработанные схемы. Однако в киберпространстве смышлёные преступники неуловимы. Поэтому суровые реалии современной эпохи цифровых технологий таковы, что кто бы ни подключился к Интернет, — он находится под постоянной атакой, как дома, так и на работе. Вы можете не отдавать себе в этом отчёта, но когда вы впустили в свою жизнь Интернет, компьютер, мобильный телефон, Facebook, Twitter или что-то подобное, — вы тем самым присоединились к войне. Хотите вы того или нет, но вы уже в числе солдат этой войны.

Даже если у вас «нет никаких ценных данных», — вы легко можете стать случайной жертвой. Не говоря уже о том, что преступник может задействовать ваше цифровое оборудование в своих тёмных делишках: взлома паролей, рассылка спама, поддержка DDoS-атаки и т.п. Мир сегодня превратился в игровую площадку — для тех, кто сведущ в высоких технологиях и любит нарушать правила. И место царя горы в этой игре занимают APT-хакеры, чей манифест сводится к следующим словам: «Мы супергерои, невидимки и Нэо из Матрицы. Мы можем перемещаться невидимо и бесшумно. Манипулировать всем чем только пожелаем. Идти куда захотим. Нет такой информации, которую бы мы не могли достать. Мы уверенно летаем там, где остальные могут только ползать».

kybmfw3goxel8yq_n2fouft_aom.jpeg

В книге представлена гибкая наглядная схема для управления всеми аспектами корпоративной программой кибербезопасности (КПК), в которой вся КПК разделена на 11 функциональных областей и на 113 предметных аспектов. Эта схема очень удобна для проектирования, разработки, внедрения, контроля и оценки КПК. Также она очень удобна для управления рисками. Схема универсальна и легко масштабируется под нужды организации любых размеров. В книге подчёркивается, что абсолютная неуязвимость принципиально недостижима. Потому что имея в запасе неограниченное время, предприимчивый злоумышленник может в конце концов преодолеть даже самую передовую киберзащиту. Поэтому эффективность КПК оценивается не в абсолютных категориях, а в относительных, — двумя относительными показателями: насколько быстро она позволяет обнаруживать кибератаки и насколько долго она позволяет сдерживать натиск противника. Чем лучше эти показатели, тем больше у штатных специалистов времени на то, чтобы оценить ситуацию и предпринять контрмеры.

В книге подробно описаны все действующие лица, на всех уровнях ответственности. Объясняется, как применять предложенную схему КПК для объединения разношёрстных департаментов, скромных бюджетов, корпоративных бизнес-процессов и уязвимой киберинфраструктуры — в рентабельную КПК, способную противостоять передовым кибератакам; и способную значительно сокращать ущерб, в случае пробоя. В рентабельную КПК, которая принимает во внимание ограниченность бюджета выделенного на обеспечение кибербезопасности и которая помогает находить нужные компромиссы, оптимальные именно для вашей организации. С учётом повседневной оперативной деятельности и долгосрочных стратегических задач.

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

Кибербезопасность на сегодняшний день — очень проблемная область. Обеспечение кибербезопасности начинается с комплексного понимания её составляющих. Одно уже это понимание — первый серьёзный шаг к обеспечению кибербезопасности. Понимание того, с чего начать обеспечение кибербезопасности, чем продолжить и что улучшить — ещё несколько серьёзных шагов на пути к её обеспечению. Вот эти несколько шагов представленная в книге схема КПК и позволяет сделать. Она заслуживает внимания, поскольку авторы книги — признанные эксперты кибербезопасности, которым доводилось сражаться на переднем крае кибербезопасности, против APT-хакеров, — отстаивая в разное время правительственные, военные и корпоративные интересы.

ojhntcap59h6kilfgzkhaorr598.png

RTFM — подробный справочник для серьёзных представителей красной команды. В RTFM приведён базовый синтаксис основных инструментов командной строки (для Windows и Linux). И также приведены оригинальные варианты их использования, в комплексе с такими мощными инструментами как Python и Windows PowerShell. RTFM будет снова и снова экономить вам целую кучу времени и сил, — избавляя от необходимости вспоминать/искать трудно запоминающиеся нюансы операционной системы, связанные с такими инструментами как Windwos WMIC, инструменты командной строки DSQUERY, значения ключей реестра, синтаксис планировщика Task Scheduler, Windows-скрипты и др. Кроме того, что ещё более важно, RTFM помогает своему читателю перенять наиболее передовые красноармейские техники.

gagrqkzc6z3bckh3xrdsebg2nic.jpeg

Самое удачное из ныне существующих пособие по формированию корпоративной DevOps-культуры. Здесь DevOps рассматривается как новый способ мышления и работы, позволяющий формировать «умные команды». «Умные команды» отличаются от прочих — тем, что их члены понимают особенности своего образа мышления и применяют это понимание с пользой для себя и для дела. Такая способность «умных команд» развивается в результате систематической практики ToM (Theory of Mind; наука самоосознания). ToM-компонент DevOps-культуры позволяет распознавать сильные стороны — свои и своих коллег; позволяет улучшать понимание себя и других. В результате способность людей сотрудничать и сопереживать друг другу — увеличивается. Организации с развитой DevOps-культурой реже допускают ошибки, быстрее восстанавливаются после сбоев. Сотрудники этих организаций — чувствуют себя более счастливо. А счастливые люди, как известно, — более продуктивны. Поэтому целью DevOps является выработка взаимопонимания и общих целей, позволяющих установить долговременные и прочные рабочие взаимоотношения между отдельными сотрудниками и целыми департаментами.

DevOps-культура это своеобразный фреймворк, располагающий к тому, чтобы обмениваться ценным практическим опытом и развивать между сотрудниками сопереживание. DevOps это культурная ткань, сплетённая из трёх нитей: непрерывное выполнение должностных обязанностей, развитие профессиональных компетенций и личное самосовершенствование. Эта культурная ткань «обволакивает» как отдельных сотрудников, так и целые департаменты, — позволяя им эффективно и непрерывно развиваться в профессиональном и личном плане. DevOps помогает уйти от «старого подхода» (культуры упрёков и поиска виноватых) и прийти к «новому подходу» (использование неизбежных ошибок не для порицания, а для извлечения практических уроков). В результате в команде увеличивается прозрачность и доверие, — что очень благотворно сказывается на способности членов команды сотрудничать друг с другом. Таково краткое содержание книги.

43h1sebioeytqcfcwqucum-chcc.jpeg

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

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

Оглядываясь на прошлые два десятка лет, трудно не разочароваться: практически каждое сколь-нибудь полезное web-приложение, разработанное до сегодняшнего дня, — было вынуждено заплатить кровавую цену за непредусмотрительность вчерашних архитекторов всемирной паутины. Мало того, что Интернет оказался куда более востребованным, чем это ожидалось, так мы ещё и закрывали глаза на некоторые неудобные его характеристики, которые выходили за пределы зоны нашего комфорта. И ладно бы закрывали глаза в прошлом, — мы продолжаем закрывать их и сейчас… Более того, даже очень хорошо спроектированные и тщательно проверенные веб-приложения, всё равно имеют гораздо больше проблем, чем их несетевые собратья.

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

adev53hnbttpa06yzw0r9lxztbu.jpeg

Одна из интереснейших книг, вышедших за последнее десятилетие. Её посыл можно резюмировать следующими словами: «Дайте человеку эксплойт, и вы сделаете его хакером на один день, научите его эксплуатировать ошибки — и он останется хакером на всю жизнь». Читая «Дневник багоборца», вы проследуете за практикующим экспертом кибербезопасности, который выявляет ошибки и эксплуатирует их, — в самых популярных на сегодняшний день приложениях. Таких как Apple iOS, VLC-медиаплеер, веб-браузеры и даже ядро Mac OS X. Читая эту уникальную в своём роде книгу, вы получите глубокие технические знания и понимание того, какой у хакеров подход к трудноразрешимым проблемам;, а также в каком они экстазе находятся в процессе охоты на баги.

Из книги вы узнаете: 1) как пользоваться проверенными временем методами поиска багов, такими как трассировка вводимых пользователем данных и реверсинженеринг; 2) как эксплуатировать уязвимости, такие как разыменование NULL-указателей, переполнение буфера, огрехи преобразования типов; 3) как писать код, демонстрирующий наличие уязвимости; 4) как грамотно уведомлять вендоров об выявленных в их софте багах. Дневник багоборца испещрён реальными примерами уязвимого кода, и авторскими программами, разработанными для облегчения процесса поиска багов.

Ради какой бы цели вы ни охотились за багами, будь то развлечение, заработок или же альтруистическое стремление сделать мир более безопасным, — эта книга поможет вам развить ценные навыки, поскольку с её помощью, вы заглядываете через плечо профессионала-багоборца, на экран его монитора, и также в его голову. Максимальную отдачу от книги получат те, кто хорошо знаком с языком программирования C/C++ и x86-ассемблером.

ainpp8kmgpqqrqalnparetaokky.jpeg

Сегодня любой разработчик софта просто обязан обладать навыками написания безопасного кода. Не потому что это модно, а потому что дикая природа киберпространства — весьма недружелюбна. Мы все хотим, чтобы написанные нами программы были надёжными. Но они не будут таковыми, если мы не позаботимся об их кибербезопасности.

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

Эта книга будет ценной находкой для любого разработчика, независимо от языка, который он использует. Она будет интересна всем тем, кто заинтересован в разработке качественного, надёжного и безопасного кода. В книге наглядно продемонстрированы наиболее распространённые и опасные огрехи, сразу для нескольких языков (C ++, C #, Java, Ruby, Python, Perl, PHP и др.);, а также приведены проверенные временем и хорошо зарекомендовавшие себя техники, позволяющие смягчить эти огрехи. Искупить прошлые грехи, иначе говоря. Возьмите на вооружение эту библию безопасной разработки, и больше не грешите!

Руководители некоторых софтверных компании используют эту книгу для проведения блиц-тренингов — непосредственно пред началом разработки нового софта. Обязывают разработчиков прочитать перед началом работы те разделы из этой книги, которые затрагивают технологии, с которыми им предстоит иметь дело. Книга разделена на четыре раздела: 1) грехи веб-софта, 2) грехи разработки, 3) криптографические грехи, 4) сетевые грехи.

© Habrahabr.ru