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

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

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

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

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

Бережіться.