Знову про сертифікати

Другий день зачитуюсь в Kostiantyn Korsun в коментах, як люди без жодного професійного сертифіката з кібербезпеки дискутують про їхню потрібність чи непотрібність. Чесно, думав що ці часи в минулому, але ніколи не кажи ніколи. Тому спробую пояснити свою позицію, яку я напрацював у глобальному диспуті на цю тему. Адже ні для кого не секрет, що українська спільнота кібербезпеки переживає ті самі срачі, що й західна професійна тусовка, але із запізненням в 5-7 років.

The burning CISSP certificate
The burning CISSP certificate. Boris “Jaded Security” Sverdlik.

Отже, по-перше: професійні сертифікати з кібербезпеки не мають стосунку до вендорських сертифікатів. Навіть якщо вендор з кібербезпеки. Навіть якщо сертифікація дуже об‘ємна, іспит складний, та вимагає неабиякого практичного досвіду. Сертифікати вендорів – це артефакти системи контролю якості доставлення їхніх продуктів та сервісів уздовж ланцюга постачання. Іншими словами, щоб некваліфіковані та недосвідчені люди не стали на перешкоді бізнес-моделі вендора. Фарбу там не подряпали, не в ту розетку штекер не встромили тощо.

Звісно, я тут трохи накидую на фен, адже топові вендорські сертифікати вимагають фундаментальних знань з базових технологій, системної інженерії, архітектури тощо. Але колись давно я мав задачу в рекордні терміни провести близько 50 співбесід з потенційними архітекторами безпеки, половина з яких була обвішана шпалерами з логотипами Cisco, IBM, RSA, Microsoft, CheckPoint, McAfee… Я мав тоді на ці заходи дуже небагато часу, тому моїм першим питанням було: «Існує 10 фундаментальних принципів побудови захищених систем. Назвіть 3 з них». Таким чином я відфільтровував для продовження співбесіди 2 з 10 кандидатів.

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

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

І ми не маємо манери приховувати ці думки від наших колег, які з того цілком логічно роблять висновки, що нічого складного та цінного в сертифікатах немає. Бо так сказала людина, яка пройшла квест з отримання того папірця. Тут немає нічого неприродного – людина, яка не має уявлення про предмет, спирається в його сприйнятті на досвід людини, яка має про предмет повніше уявлення. Ось і маємо, що несертифіковані спеціалісти «перестрибують» ментальний бар’єр та «зрізають» до результату, яким з ними поділилися інші. Але при цьому вони все ще не мають уявлення про те, що говорять, бо формулюють запозичені погляди, у формуванні яких не брали участі.

Я в жодному разі не стверджую, що люди без професійних сертифікатів не повинні обговорювати їхню відносну цінність. Люди можуть обговорювати все, що заманеться, якщо в них на те є час та натхнення. Просто годі сподіватися, що в результаті цих обговорень вони домовляться про щось конструктивне. Їхні аргументи лежать в площині, яка паралельна дійсності: вони можуть запозичити факти та переказати їх зі слів очевидців, але не мають змоги оцінити їхню справжність. Це теорія без експериментів, бодай подумки.

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

Шкода, що деколи ці наші балачки чують ті, хто не в темі.

P.S. Тут напевно буде доречним вказати, що автор цього допису володіє CISSP, CISA та OSCP. Я, також, мав змогу отримати SCSA (Sun), CCNA (Cisco), CEH, та ISO27001LA, але продовжувати їх не став. Це може щось вам сказати про перші три згадані ачівки, але то вже зовсім інша історія.

Користуйтесь парольними менеджерами

Неможливо зробити щось одночасно легким для запам‘ятовування та важким для вгадування. 

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

Мораль: не користуйтеся паролями. Користуйтеся парольним менеджером, який захищений нереально крутою пасфразою на 20+ символів. А ще краще – замикайте свій парольний сейф фізичним смарт-ключем.

https://wpengine.com/unmasked/

Перевірка програмного забезпечення на безпеку

Дозвольте накинуть.

Перевірка програмного забезпечення на безпеку. Загалом у вас є три шляхи:
1. Автоматичне сканування ультрадорогою вундервафлею, яка згенерує вам 100,500 хибних підозр на вразливості, що не існують. Якусь частину з них ви виправите, а на решту заб’єте для ясності.
2. Методичне тестування за допомогою «провідних методологій» на відповідність «галузевим стандартам» та «найкращим практикам». В мене для вас погані новини: наші методології все ще сирі, нормальних стандартів в цій галузі немає та не може бути, а найкращі практики зблизька виявляються методичками для інтернів, як робити те, про що не маєш уявлення.
3. Вибір досвідченого та авторитетного постачальника послуг, який створює комфортні умови праці для найкращих експертів у цій професії. І потім сподіватися на те, що вони добре зроблять свою справу.

Все ще вагаєтесь? Я спрощу вам задачу. Який би такий приклад обрати… Якби я не пішов в Application Security, то скоріш за все присвятив би себе нейрохірургії. Надто сильно люблю покопирсатися в якійсь незрозумілій фігні. Отже, питання до вас: кому б ви радше довірили операцію?
1. Новітньому медичному роботу, який виріже вам 70-80% мозку, бо з ними «щось не так».
2. Випускнику медичного коледжу із найкращим підручником з нейрохірургії, до якого він може заглядати протягом операції.
3. Або експерту-нейрохірургу (досвід 15 років) із командою асистентів (досвід 2, 5 років) в яких рухи відточені до автоматизму на сотнях операцій, а експертна інтуїція навчена тисячами історичних та практичних історій хвороб?

Голосуйте в коментах.

P.S. Конференц-сезон 2020 року я вирішив присвятити висвітленню зв‘язку між тим, як програми та люди підставляють одне одного. Слідкуйте за анонсами.

Звинувачення щодо зламу Equifax

Сьогодні Мін’юст США нарешті оголосив звинувачення (заочно) китайським державним хакерам, які брали участь у зламі Equifax. Через тиждень після того, як серед усього іншого суд зобов’язав компанію-жертву витратити один мільярд доларів на кібербезпеку. Та це лише початок історії.

Те, що китайці зламали Equifax, в певних колах вже давно публічна інформація. Ми в Berezha Security в програмі нашого тренінгу з безпечної розробки використовуємо злами Equifax, Anthem та Office for Personnel Management (OPM), як стандартний приклад обрання мішеней для операцій міжнародного кібершпіонажу. Звучить пафосно, але насправді все дуже просто, дивіться.
1. Зламавши страхову компанію із монопольним держзамовленням Anthem, китайці отримали список усіх держслужбовців у США.
2. Зламавши глобальний відділ кадрів держагенцій OPM, китайці отримали список усіх держслужбовців США, які не мають доступу до інформації з грифом “SECRET” та “TOP SECRET”. Бо їх, як і скрізь у світі, супроводжують не звичайні кадри, а “режимщики-секретчики”.
3. Зламавши бюро кредитних історій Equifax, китайці отримали дані про те, як люди яких немає в другому списку, але які є в першому, вносять платежі по кредитах. І якщо раптом хтось із них запізнився два-три рази зробити внесок, чуйні китайці готові допомогти їм розв’язати ці матеріальні складності в обмін на шматочок батьківщини.

Ось така елементарна вправа з теорії множин. Тому, офіційна заява, що один із трьох інцидентів виконали китайські хакери в погонах, ставить крапку в обговоренні можливих версій щодо виконавців усіх трьох операцій. У диванних експертів, для яких усе це теорія змови, можуть виникнути сумніви. Розумію, не всі люди однаково обдаровані інтелектом. Але думаю, що посперечатися їм буде краще не зі мною, а з сім’ями страчених американських розвідників, яких китайському уряду вдалося виявити у схожий спосіб серед дипломатів, що знаходилися у Китаї.

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

https://www.justice.gov/opa/pr/chinese-military-personnel-charged-computer-fraud-economic-espionage-and-wire-fraud-hacking

Принцип незалежності перевірки

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

Отже, давайте по черзі. Що таке конфлікт інтересів? Це така ситуація, коли наше особисте заважає професійному, або коли наші професійні пріоритети конфліктують між собою. Крайній випадок: ваша друга половина пише код, а ви його перевіряєте. Ви можете мені зараз мамою поклястися, що будете об’єктивні та неупереджені у своїх діях та висновках, але ми обоє знаємо, що це не так. Щось в цій ситуації буде не так як зазвичай. Уважність, прискіпливість, суворість формулювань. І щось піде не так. Бо це нормально. Це людська природа і з цим нічого не зробиш. Ви свідомо чи несвідомо будете намагатися збалансувати в собі дві ролі й в результаті принаймні одну з них, а скоріш за все обидві, провалите. Ви або погано перевірятиме, або погано сформулюєте наслідки, або будете після цього поганим партнером бо підставили. Тому якщо ви обоє не є клінічними соціопатами в такі ситуації краще не потрапляти.

Тепер менш мелодраматичний приклад: ваші колеги девелопери писали код, а вам його перевіряти. Тут все залежить від ставок. Якщо мова про внутрішні процеси, в яких всі знахідки пофіксять та процес піде далі, то тут ризику замало, щоб його обговорювати. Якщо ж ситуація публічна та має широкий розголос, як наприклад дискусія про перевірку безпеки додатку Дія, яка завела нас в ці рядки, то все різко змінюється. Є зовнішні загрози для компанії, тому в усіх задіяних осіб виникає потенційна корпоративна або персональна відповідальність за якість виконаної роботи. Девелопери можуть вигрісти за те, що погано розробили, безпечники за те, що погано перевірили девелоперів, а менеджмент за те, що погано це все організував. Зокрема, не попіклувався про усунення конфлікту інтересів. Адже якої б ми високої не були думки про професійний рівень наших колег, «ми не беремо на роботу мудаків» — це не найкраща корпоративна стратегія. Ми не хочемо, щоб між колегами в одному колективі виникали робочі конфлікти через те, що ми змушуємо друзів перевіряти роботу одне одного. І тим більше ми не хочемо, щоб занадто амбіційні та корпоративно-відповідальні менеджери мали змогу все «розрулити» в ручному режимі. Тому ми наймаємо зовнішній аудит для перевірки фінансової звітності та робимо пентести за допомогою незалежних компаній.

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

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

Бережіться.