Отже, ви хочете працювати в безпеці?

Час від часу я отримую електронний лист від нетерплячого незнайомця з проханням порадити, як зробити кар’єру в галузі безпеки (комп’ютер, інформація, кібер… що завгодно). Це чудово! Нам потрібні більше пристрасних, креативних, працьовитих людей, які хочуть працювати над тим, щоб зробити технологію безпечнішою для використання. Це також виявляється досить фінансово стабільним способом заробляти на життя.

Є багато інших публікацій на цю тему ¹, але я запропоную кілька думок на високому рівні, витягнуті з мого власного досвіду.

ПОПЕРЕДЖЕННЯ: Це не як у фільмах.

Робота в безпеці не така, як зображена в Голлівуді. Я ЛЮБЛЮ переглядати хакерські фільми та шоу для фантазії та втечі, але щоденна робота (на мій досвід) не така швидка та сексуальна, як це виглядає на екрані.

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

Не існує стандартної чи досконалої навчальної програми.

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

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

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

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

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

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

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

Окрім цього, більшість того, що я знаю, я дізнався з часом, в анекдотах та самородках від друзів та співробітників, блогах безпеки, доповідях на конференціях та презентаціях, списках розсилки, місцевих групах безпеки та інших Інтернет-ресурсах. Багато речей, про які я сьогодні чую або поглинаю, походять від людей із мого списку безпеки у Twitter.

Припиніть читати, починайте робити.

Це стосується будь-якої кар'єри, але отримайте досвід реального життя якомога швидше. Це найкращий спосіб звузити ваші інтереси, сильні сторони та сфери майбутнього розвитку. Ви також краще зрозумієте, з чого складається звичайний робочий день та обстановка, включаючи те, що вам подобається, а що не подобається. Одним з найцінніших досвіду мого життя, пов’язаного з кар’єрою, було проходження стажування, яке я ненавидів, оскільки воно сильно перевело мене в інший напрямок :)

Щодо того, як почати отримувати досвід, я не маю простої відповіді. Переглядайте кар’єрні ярмарки та конференції, приймайте участь у клубах чи інших організаціях, подавайтесь на стажування та роботу на неповний робочий день із сміливим ентузіазмом. До того, як прийти до Google, я очистив висушений сир начо на концесійному стенді в рамках своєї чергової зміни як рятувальник громадського басейну. Цей невеликий досвід роботи допоміг мені влаштуватися на роботу в гуртожиток SysAdmin, що, безсумнівно, було актуальним під час співбесіди для ІТ-практики у великій фармацевтичній компанії. Я отримав певний “справжній” (тобто не курсовий) досвід програмного забезпечення з клубами в університеті, і я знайшов стажування з питань кібербезпеки в шкільній групі новин, що, мабуть, дало мені достатньо досвіду роботи, щоб хтось у Google міг розглянути мене на співбесіду .

Напишіть код.

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

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

Код розриву.

Витратьте час на пошук програмних помилок. Дізнайтеся, як користуватися налагоджувачем, мережевим сканером, веб-проксі-налагоджувачем та програмним розширювачем. Проводьте час на хакерських майданчиках, які доступні для всіх рівнів кваліфікації. Вперше я використав //www.hackthissite.org, коли навчався в коледжі, і перелічив ще пару сайтів для самокерованих хакерів на //infosec.rocks. Тут також є хороший перелік завдань злому, змагань (наприклад, CTF) та марнотратства часу. Або знайдіть та повідомте про помилки у фактичному програмному забезпеченні, яке ви використовуєте. Існує безліч постачальників програмного забезпечення, які пропонують фінансові винагороди за помилки безпеки, включаючи Chrome та Google, а також деякі основні проекти з відкритим кодом, охоплені програмою Internet Bug Bounty.

Окрім того, щоб самостійно знаходити помилки, я рекомендую слідкувати за ними та вчитися на тому, що знаходять інші (виправлення помилок, повне розкриття, oss-sec).

Поділіться знаннями.

Я почав дізнаватися про безпеку ще в коледжі від однолітків у спеціальній цікавій групі ACM під назвою SigMil, де учасники проводили неочищені презентації на теми, які їх цікавили. Ми також щорічно паломничали до DEFCON, щоб відвідати переговори (що було набагато простіше десять років тому), купуйте охоронні книги чи журнали або просто спілкуйтеся з однодумцями з інших частин світу про те, над чим вони працювали. В Google я НАДАННЯ НАБАГАТО безпосередньо від своїх колег, обмінюючись своїми знаннями, проблемами та напівзапеченими ідеями.

Обмін знаннями важливий з кількох причин:

  1. Обмін знаннями є необхідним та ефективним способом розподілу найкращих практик безпеки (або підводних каменів) у масштабній організації чи проекті.
  2. Я майже завжди сам чомусь навчуся, готуючись до презентації або складаючи документацію, тому мені було добре змусити мене розкрити приховані куточки теми.
  3. Я майже завжди чомусь дізнаюся від аудиторії, або з питань, коментарів, або подальших дискусій.
  4. Платити вперед.

Практикуйте своє спілкування теж.

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

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

Очікуйте наполегливо працювати, а часом і не вдається.

Можливо, це очевидно, але варто прямо заявити про це.

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

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

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

(Спробуйте) Будьте оптимістичними.

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

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

Просити про допомогу.

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

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

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

Удачі та щасливого злому!

[1] Деякі інші думки щодо кар’єри в галузі безпеки, на які я натрапив:

  • Томас Птачек, Чарлі Міллер, Джеремія Гросман, Річард Бейтліч та Брюс Шнайєр діляться своїми думками в //krebsonsecurity.com/tag/security-career-advice/
  • Кріс Палмер, мій друг і колега з Chrome, ділиться вагомими порадами в //noncombatant.org/2016/06/20/get-into-security-engineering
  • Міхал Залевський (він же lcamtuf) поділився 4 простими уроками, заснованими на його 20-річній (дивовижній та часто новаторській) роботі в галузі безпеки: //lcamtuf.blogspot.com/2016/08/so-you-want-to-work-in- security-but-are.html