Поради сеньйорів: як прокачати знання junior security specialist

Поради сеньйорів — постійна рубрика, в якій досвідчені фахівці діляться практичними порадами з джуниорами — загальні лайфхаки по навчанню, які книги та ресурси читати, які навички освоювати і багато іншого. У цьому випуску говоримо про Information Security і кібербезпеки.

Вадим Чакрян , Lead of Information Security Team в DataArt

10+ років в області InfoSec

В першу чергу необхідно визначитися, в який бік цікаво розвиватися як мінімум в найближчому майбутньому. Сфера інформаційної безпеки схожа на медицину в плані великої кількості напрямків, кожне з яких вимагає своїх знань, умінь і особистісних якостей.

Я б радив спочатку визначитися з тим, в якій команді ви хочете бути — атакуючих (offense) чи захищають (defense). Ті, хто знаходяться в команді атакуючих, думають про те, як проникнути в систему, як атакувати елементи інфраструктури, фізичні ресурси і людей (я маю на увазі соціальну інженерію). Ті ж, хто знаходиться в команді захищаються, більше думають про те, які механізми безпеки впровадити, як їх впровадити, і займаються безпосереднім впровадженням.

Заздалегідь відповідаю на ваше питання: так, атакуючому необхідно знати про механізми захисту, інакше він не зможе їх уникнути, а защищающемуся необхідно думати, як атакуючий, інакше не вийде зрозуміти, де є слабкі місця, які необхідно захищати в першу чергу. Але все ж це два абсолютно різних принципу мислення і підходу до роботи, і в кожній з цих областей вирішуються абсолютно різні типи завдань.

Після того як визначилися з вибором темною або світлою боку, можна переходити до вибору області розвитку. Пропоную поговорити про двох напрямках, представлених вище, окремо.

В атакуючому напрямку я б виділив одну велику категорію — тестування на проникнення (у простолюдді пентест (від англ. Penetration testing), а людина, яка виконує пентест, називається пентестер). По суті, пентестер — це хакер, якому дали офіційний дозвіл на злам системи за заздалегідь визначеними правилами і рамок. Однак категорію пентеста я б розділив ще на кілька: пентест веб-додатків, пентест мереж(провідних і бездротових), пентест мобільних додатків, пентест хмарної інфраструктури, пентест Інтернету речей(IoT), пентест людей (соціальна інженерія). Можливо, ще варто було б виділити пентест фізичної інфраструктури, але це зовсім окрема і специфічна область, і я не буду в неї заглиблюватися.

Коли визначитеся з областю пентеста, в якій хочете розвиватися — знайдіть максимум корисних матеріалів з нею в Google, не соромтеся також пораспрашивать старших колег по цеху. Для кількох областей можу порекомендувати наступні матеріали.

Для веб-пентеста:

Для мережевого пентеста:

Інші області розглядати не будемо, але думаю, сенс зрозумілий. Можете знайти мою презентацію про те, «З чого почати свій шлях етичного хакера?» (YouTube , слайди ), там є інші корисні книги і матеріали для тренувань. Щоб знайти більше лабораторних стендів для практики — дослідіть VulnHub . Є ймовірність, що вам допоможе SecurityTube .

Також, коли ви вже будете злегка досвідченим і порешаете всі завдання на тренажерах — почніть грати в Capture the Flag (CTF) гри. Ви можете знайти найближчі і майбутні CTF гри по всьому світу на сайті ctftime.org (що таке CTF, розповідати не буду — почитайте тут ). Якщо ж захочете заробити трохи грошенят і спробувати сили в реальних проектах — то спробуйте взяти участь в BugBounty програмах, наприклад на HackerOne або BugCrowd (але це вже коли будете зовсім досвідчені).

У плані сертифікацій я б подивився у бік Pentest+, CEH, OSCP.

У напрямку захищаються є дуже багато областей:

Проблема defense-напрямку полягає в тому, що отримати достатній досвід ви зможете тільки в бойових умовах. В якості навчання я б порадив всім освоїти базу. Для цього підійдуть матеріали для сертифікації CompTIA Security+. Далі дивіться за сертифікаційним напрямами: CompTIA , (ISC)2 , SANS , Ec-Council . Так, там все платно і іноді дуже навіть платно, але як мінімум потрібно розібратися, якого рівня яка сертифікація, щоб розуміти з чого почати. Потім знайти опис їх змісту — так ви отримаєте інформацію про те, що потрібно вивчити, і зможете скласти для себе дорожню карту розвитку.

В якості освітніх майданчиків скористайтесь: Cybrary (тут багато безкоштовного), Udemy (тут не дорого і бувають розпродажі, коли всі по $10), CBTNuggets (тут далеко не все з безпеки і платно, але вони роблять просто офігенний контент).

Я б порадив збільшувати свою мережу знайомих в цій області . Ходіть на конференції , в Україні їх багато з'явилося: BSides і OWASP в різних містах, UISGCON/NoNameCon/HackIT в Києві і багато інших. Обов'язково ознайомтеся зі спікерами та з учасниками. Взагалі, це має бути вашим головним завданням, придбання знань — другорядною. Попросіть додати вас в чати сблокальних спільнот, там можна буде задавати питання, і завжди знайдуться люди, які допоможуть знайти відповідь. Хоч і важко, але дуже корисно організовувати свої заходи— контакти з'являться волею не волею, але це шлях тернистий і не для кожного, так що вмовляти не буду.

Михайло Кропива , Associate InfoSec Director у SoftServe

15 років досвіду у галузі

Зазвичай у початківців, які планують розвиватися в напрямку інформаційної та кібербезпеки, є розуміння функціоналу декількох програм — виявлення вразливостей, мережевих сканерів, антивірусних продуктів. У більш «прокачаних» є навички етичного хакінгу (Metasploit, OWASP framework). Ступор наступає, коли доходимо до питання, чи усього цього достатня компанії, щоб почуватися у безпеці. Висновок — необхідне комплексне розуміння векторів загроз і вразливостей, способів їх зниження (по-простому — заходь безпеки/security controls) та усвідомлення своєї ролі у всій цій екосистемі.

Як і більшість технологічних напрямків, інформаційна та кібербезпека має низку ролей та функцій в організації. Відповідно, від вибору напрямку залежить, які знання та навички будуть потрібні для новачків у першу чергу. Спробую класифікувати напрямки і основні функції ролей в інформаційній безпеці більшості організацій.

1. Оцінка та управління ризиками (GRC)

Зазвичай нудна і незрозуміла будинок для «технарів», проте саме на цій функції базується більшість процесів інформаційної безпеки та ІТ-організації загалом. Підґрунтям більшості підходів до оцінки ризиків є ISO27001 чи NIST. Також однією з функцій відділу GRC (зазвичай долучається також юридичний відділ) є процеси, пов'язані з обробкою персональних даних у компанії. Для цієї функції підходять люди, котрі мотивовані більше процесом, ніж швидким досягненням результату. І це в більшості не Junior Security Engineer :)

Рекомендовані ресурси та сертифікації:

2. Оператор (частина SecOps чи Blue Team)

Перше, з чим необхідно розібратися кожному початківцю — що таке інформаційна безпека і кібербезпека, і в чому принципова різниця між ними. Адже це базове питання, котре в подальшому вам будуть ставити на співбесідах, якщо ви тільки починаєте свою кар'єр єру. Кібербезпека — це складник інформаційної безпеки, що має на меті захист інформації в цифровому світі. У тієї ж годину інформаційна безпека — це комплексне поняття, що включає у собі і цифровий захист, і фізичний (сейфи, турнікети, камери відеонагляду), тощо, а також відповідні стандарти.

Ймовірно, що першою сходинкою у вашій кар'єр єрі буде позиція оператора операційного центру/команди з кібербезпеки. Його завдання полягає в роботі з інструментами інформаційної безпеки та людьми, а метою є виявлення загроз, підозрілої активності, а також аналіз аномалій та їх дослідження. То що винен знаті той, хто бачить себе саме в такій ролі?

Можна навести таку алегорію: уявіть, що ви сапер і в полі знайшли міну. Що ви маєте робити? Як вийти із ситуації? Як захисти себе і всіх навколо? Ви маєте володіти навичками та інструментами для того, щоб знайте, класифікувати, ізолювати та знешкодити міну. Отже, якщо вам цікаве спостереження, дослідження та аналіз — тоді операційна частина кібербезпеки — саме для вас.

3. Аналітик з кібербезпеки

Наступним кроком у вашій кар'єр єрі буде позиція аналітика. Ці люди відповідальні за налаштування та постійне покращення інструментів кібербезпеки (частина SecOps чи Blue Team), а також сюди відносяться фахівці, що займаються тестуванням на проникнення (penetration testing або Red Team). Також окремо можна зазначити інженерів, завдання котрих полягає у створенні і підтримці інфраструктури для аналітиків та операторів. Зазвичай роль інженерів виконують системні адміністратори чи девопси.

Аналітик винен знаті всі ті, що й оператор, альо додатково:

Повернімося до нашого сапера :) На відміну від першої ситуації з оператором, аналітик тонко налаштовує інструменти та будує алгоритми виявлення мін та мінних полів. Для побудови міцного захисту ви повинні розуміти, як себе поводити мінер, які інструменти він використовує, які сліди залишає за якими ознаками можна виявити загрозу. Додатково годину від годині залучаєте команду із навчальними мінами (penetration testing) для тестування вищезгаданих інструментів та алгоритмів виявлення мін.

Також, окремо слід зазначити навички у розслідуванні (Сyberforensics). Сюди входити як аналіз, обробка і зберігання цифрових доказів, а також розслідування інцидентів в області кібербезпеки для представлення доказів розслідування вразливості мережі і/або кримінальних злочинів, шахрайства.

Основні задачі сyberforensics-аналітика:

Рекомендовані ресурси:

Рекомендовані сертифікації:

CompTIA Security+ — для тих, хто входити в ІБ, для початківців, що вже у сфері, теоретична (не важливо, чи defense, чи offense).

CEH — середній рівень, теоретична (більше для offense, ніж для defense).

OSCP/OSCE — важкий і найбільш цінується в індустрії, так як здача базується на практичних уміннях (для offense).

CISSP — важкий, але теоретичний, в більшості для керівних посад: VP, C-level, etc.

ISC2 SSCP — це як CISSP, тільки для технічного спеціаліста.

CCNA Sec — якщо працюєш з CISCO (альо в цілому і для мережі).

CIA — для аудиторів.

Пропонована градація на три групи є відносною і в деяких компаніях ролі можуть суміщатися, для прикладу Blue Team та Read Team чи GRC. Прокладаючи свій кар'єр єрний вектор, варто враховувати не лише технічні навички для різних ролей, але і мотиваційну складову та навіть особливості характеру людей, котрі виконують чи залучені до цих різних команд інформаційної безпеки. Розвивайтесь постійно, цікавтесь, чим живуть суміжні департаменти ІТ і шукайте свою нішу у світі інформаційної безпеки, яка дозволить вам розкрити власні таланти наповну!

Евгений Пилянкевич , CTO в Cossack Labs

Більше 20 років досвіду в ІБ

Ласкаво просимо в професію . Для того, щоб добре розвиватися в інформаційній безпеці, важливо відразу зрозуміти і прийняти кілька простих аксіом.

Вчитися доведеться весь час,тому що мінімальний набір необхідних знань змінюється швидко і часом радикально, а їх охоплення дедалі більше розширюється.

Ви станете трохи краще розуміти і трохи менше любити людей, тому що почнете стикатися з їх невмінням оцінювати ризики і приймати хороші рішення.

Вас чекає океан розладів і фрустрації, і це, мабуть, одне з головних властивостей нашої професії. Нічого не виходить, все працює неправильно, а ось ще й інцидент. Те, що вчора було добре, сьогодні — злочин.

First things first: те, що відрізняє хорошого зростання джуніора від поганого, знання азів:

По-друге, потрібно визначитися з метою, «куди саме рости» . З одного боку, це про вузький набір технологій, з іншого — про орієнтацію defensive/offensive. Будь-яка спеціалізація в ІБ в якійсь пропорції містить роботу двох видів — захищати (blue team) і нападати (red team):

Skills and credentials

Крім всіх порад, які дадуть колеги в цій статті, три головних шортката, що дозволяють рухатися швидше:

Як підтримувати знання. Так само, як і в іншій бурхливо розвивається галузі — завдяки підкастів, конференцій, блогам і книжками:

Олександр Адамов , керівник NioGuard Security Lab, викладач в ХНУРЕ і Blekinge Institute of Technology, Швеція

15 років в кібербезпеки

На сьогоднішній день в Україні і в світі в цілому очевидна нестача кваліфікованих фахівців в області кібербезпеки (тут ми будемо говорити саме про кібербезпеки, а не про ІБ, маючи на увазі захист оцифрованих інформаційних активів у кіберпросторі). Корінь проблеми, як і у випадку інших IT-спеціальностей, лежить у відставанні системи вищої освіти від темпів розвитку індустрії. Як викладач я можу сказати, що навчальні програми університетів просто не встигають за науково-технічним прогресом в IT.

Що ж робити, щоб подолати кризу класичної освіти в контексті підготовки фахівців в області кібербезпеки? Які поради можна дати новачкам для того, щоб вони могли максимально реалізувати себе в обраній професії? Спробую дати відповіді на ці питання.

Операціоністи vs Аналітики

Для початку я б умовно поділив фахівців з кібербезпеки на дві групи відповідно з необхідними компетенціями:

  1. Операціоністи (Security Operations L1-2, SecDevOps, інженери кібербезпеки, більша частина тестувальників), які виконують алгоритмизируемые завдання, використовуючи інструменти автоматизації.
  2. Аналітики (Security Operations L3, аналітики, консультанти, менша частина тестувальників, криптографи) вирішують завдання, для яких немає інструкцій та готових рішень.

Категорію менеджерів ми не будемо розглядати тут, так як вона нечисленна і передбачає проходження через хоча б одну (а краще обидві) із згаданих вище груп.

Також є поділ фахівців на Defensive Security — ті, хто захищає (Blue Team), і Offensive — ті, хто атакує (Red Team). Однак такий поділ умовно, так як існує, наприклад, Purple Team, в завдання якої входить як тестування на проникнення, так і подальша захист виявлених проломів в безпеці.

Розглянемо більш численну першу групу ? операціоністів . На даний момент існує високий попит з боку індустрії, задовольняється за рахунок випускників технічних вузів, які найчастіше проходять стажування в компаніях після або навіть під час навчання в університеті. Там вони і отримують практичні («hands-on») знання предметної області.

З одного боку, існуюча на даний момент в Україні модель освіти якраз і націлена на навчання операціоністів. Суть її полягає у постановці завдання та дотримання алгоритму її рішення, як у школі, так і в університеті, — те, що зараз, по суті, вже вміють робити комп'ютери. При цьому креативність рішення не заохочується. У школі мені, наприклад, часто доводилося чути критику на свою адресу з приводу того, що задача була вирішена нестандартним способом чи оформлення не відповідає шаблону.

З іншого боку, існує загроза витіснення операціоністів з ринку праці вже в найближчому майбутньому у зв'язку з тим, що частина завдань буде автоматизована штучним інтелектом (ШІ). Тобто існуюча система освіти готує фахівців, які можуть опинитися не у справ вже в найближчі роки.

Для прикладу візьмемо Security Operations — моніторинг та реагування на інциденти кібербезпеки. На зміну класичним агрегаторів подій безпеки (SIEM — Security Information and Event Management), приходять системи з аналітикою, які з допомогою ІІ дозволяють знаходити аномалії, зв'язувати дані (bird's-eye view), виявляти інциденти і пріоритезувати їх відповідно до системи оцінки ризиків (risk scoring system), полегшуючи тим самим роботу SecOps. Більш того, нове покоління SOAR (Security Orchestration, Automation and Response) систем також дозволяє автоматично реагувати на більшість виявлених інцидентів без участі людини. Справедливості заради варто помітити, що ці системи поки що потребують навчанні людиною — експертом в даній галузі, тобто аналітиком.

Друга група компетенцій доповнює першу присутністю навичок аналітичного та творчого (креативного) мислення для вирішення нестандартних завдань і найчастіше є наслідком еволюції операціоністів. Аналітики повинні вміти здійснювати логічний аналіз і синтезувати інформацію, наприклад, для створення того ж ІЇ (моделей машинного навчання), тестування на проникнення добре захищеною аналізу середовища або шкідливих програм і технік кібератак. Для таких завдань неможливо написати універсальний алгоритм з причини того, що атакуючу сторона, наприклад, може застосувати нову техніку для приховування власного коду (обфускація) або проникнення в систему, щоб обійти систему захисту, тобто проявити креативність зі свого боку. У разі тестування на проникнення всі відомі проломи можуть бути вже закриті і використання сканера вразливостей не дасть результатів.

Розглянемо кілька прикладів з моєї практики. Шифрувальник MoneroPay використав оригінальну техніку соціальної інженерії для того, щоб переконати користувача завантажити і запустити троянця у себе на комп'ютері під виглядом майнера для нібито нової кріптовалюти SpriteCoin, інформація про яку була опублікована на форумі bitcointalk.org 6 січня 2018 року. Ще одним прикладом креативності хакерів є атака всім відомого псевдо-здирника NotPetya, який був доставлений 27 червня 2017 року і працює на комп'ютерах жертв — через бекдор, доданий до оновлення ПО М.E.Doc. А вже на початку поточного року пройшла успішна атака криптолокера LockerGoga на ряд промислових гігантів, коли троянець використовував дійсний цифровий сертифікат, випущений на підставну компанію, для того, щоб обійти системи кібернетичного захисту.

Незважаючи на те, що аналітиків необхідно менше, їх дефіцит відчувається гостріше із-за появи нових складних завдань в індустрії і проблем з підготовкою таких фахівців. Вона повинна включати як фундаментальні знання з університетської програми, так і профільні курси, а також охоплювати різні суміжні галузі IT-знань в залежності від предметної області, такі як розробка ПО, хмарні обчислення, обробка великих даних, ІІ, IoT і т. д.

Листковий пиріг із знань

Узагальнивши, можна виділити три шари знань, необхідних для сучасного фахівця в області кібербезпеки:

  1. Фундаментальний шар ? включає базові знання з університетської програми. Сюди можуть входити (список курсів та освітні шари відкриті для обговорення у коментарях):
    • вища математика з матанализом і лінійною алгеброю;
    • чисельні методи та матстатистика;
    • дискретна математика;
    • нечітка логіка та нейронні мережі;
    • теорія цифрових автоматів;
    • мікроконтролери та архітектура ЕОМ;
    • теорія інформації;
    • мережі;
    • операційні системи;
    • системне програмування і не тільки.
  2. Профільний шар ? спеціалізовані знання в області кібербезпеки, такі як:
    • криптографія;
    • інформаційна безпека;
    • технології детектування кібератак;
    • аналіз шкідливих програм і реверс-інжиніринг;
    • веб-безпека і Ethical Насічка;
    • цифрова криміналістика;
    • мережева і хмарна безпеку;
    • розробка безпечного та ЗА для безпеки;
    • безпека бездротових мереж;
    • децентралізовані системи і блокчейн.
  3. Міждисциплінарний шар ? знання в суміжних IT—галузях для розширення кругозору аналітика:
    • ІЇ з машинним навчанням та інтелектуальним аналізом даних (AI/ML/DM);
    • Cloud-технології;
    • Big Data;
    • IoT;
    • Automotive;
    • Industrial Control Systems.

На жаль, не всі з перерахованих профільних курсів доступні в технічних внз України, де є відповідні спеціальності. До речі, ми з колегами з ХНУРЕ, Львівської політехніки, ГУТ, НТУ «КПІ» внесли свою лепту в розробку європейської магістерської програми з кібербезпеки в рамках EU TEMPUS проекту ENGENSEC, яка включає більшу частину з названих вище курсів з кібербезпеки, і поступово впроваджуємо їх у навчальні програми своїх університетів.

Де вчитися

Якщо говорити про університетську освіту, то тут є ряд підводних каменів. По-перше, профільні курси не обов'язково будуть локалізовані на спеціальності 125 «Кібербезпека». Наприклад, я читаю курс за вибором «Методи детектування і аналізу комп'ютерних загроз» на спеціальності «Спеціалізовані комп'ютерні системи». По-друге, зміст та якість подачі матеріалу буде відрізнятися у різних викладачів різних внз. У третіх, ведення невеликих курсів (80-120 годин) часто розтягнуто на цілий семестр так, що іноді у студентів виходить одна лекція раз в два тижні, і вони до наступного заняття встигають забути, що було на попередньому :)

Швидше за все, фахівець-початківець не зважитися знову перейти поріг вузу в Україні для підвищення кваліфікації, так як, в більшості своїй, вже має негативний досвід отримання неякісних освітніх послуг. Залишається варіант стажування в IT-компанії, комерційні курси або літні школи. Наприклад, Google, Microsoft та інші великі американські IT-компанії проводять стажування для студентів під час літніх канікул, зокрема за напрямами кібербезпеки. Також ми з колегами з України та Європи проводимо щорічну Літню школу з кібербезпеки для студентів і викладачів.

Для того, щоб пройти відбір на стажування, потрібно вже мати як мінімум базовими навичками, а краще і частиною профільних. Для цього підійдуть онлайн-курси. Я рекомендую coursera.org , так як там відібрані якісні академічні курси, а також є можливість проходити курси безкоштовно без сертифікації.

Джерелом експертних знань можуть також стати, як це не дивно звучить, YouTube-канали популярних конференцій з кібербезпеки. На щастя, вже не треба летіти через океан і купувати квиток за $3000 доларів (так, саме стільки коштує квиток на топ-конференцію), а можна просто почекати день, тиждень, місяць і подивитися відеозапис, сидячи вдома на дивані й попиваючи чай з печивом або запросити друга, дівчину/хлопця і подивитися разом :) До того ж на великих конференціях доповіді зазвичай розбиті на два і більше потоків, тому, навіть будучи присутнім там фізично, неможливо відвідати всі виступи.

Що подивитися

Мої підписки на YouTube-канали:

Ком'юніті

Ще одна можливість отримати нові знання — відвідування локальних конференцій, воркшопів, майстер-класів, Security Day, спілкування з представниками ком'юніті, подкасти, деякі з них також доступні на YouTube:

Можна і самому виступити з доповіддю або прочитати лекцію колегам і студентам. Як показує власний досвід, поки готуєш матеріал, знаходиш багато цікавої інформації. До того ж питання аудиторії можуть виявити прогалини у знаннях і надихнути на заглиблення в предмет.

Участь у наукових дослідженнях в університеті або компанії може виявитися дуже корисним для прокачування аналітичних навичок. Для пошуку релевантних наукових досліджень рекомендую Google Scholar.

Книги не даю, так як всі напрямки покрити нереально. Гугл в допомогу!

На закінчення, я б порекомендував, незалежно від поточного рівня професіоналізму, продовжувати вчитися, використовуючи всі можливості. Така концепція отримала назву «Lifelong Learning» та стає все більш популярною в сучасному світі, що швидко розвивається. І пам'ятай: ШІ вже стежить за тобою і одного разу займе твоє місце <DEVIL>

Павло Кривка , DevOps Security Engineer в ЕРАМ Ukraine

6 років в ІТ

Кібербезпека — величезна галузь. Вона об'єднує багато напрямків, які можуть істотно відрізнятися один від одного, тому в першу чергу варто приділяти увагу отримання базових знань і вже після заглиблюватися в обрану спеціалізацію, будь то Application Security, Cloud Security, Penetration Testing або щось ще. Однак мої загальні рекомендації такі:

Думаю, для старту буде достатньо. Успіхів :)

Опубліковано: 04/12/19 @ 08:10
Розділ Безпека Блоги

Рекомендуємо:

Зарплатне опитування
«Я просто роблю те, що мені подобається». Як 18-річний студент навчає дітей програмуванню та видає підручники з Python
Go дайджест #11: мови 10 років, новинки в Go 1.14
PM дайджест #22: engineering mentorship, як проводять code review Google
Історія одного передноворічного релізу