WhatsApp як заміна Skype

у бізнес-середовищі

Часто запитують, яка є заміна Skype у бізнес-середовищі. Здається, тепер я маю відповідь. Якщо колеги мене підтримають, можемо зробити це фірмовою порадою.

TL;RD: WhatsApp group chats.

Тепер докладніше: чому не Skype, та чому саме WhatsApp.

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

Чому ж WhatsApp, а не, скажімо, Telegram, Slack або Signal чи ще щось? Не Telegram, тому ж чому й не Skype. Закритий код, сумнівне походження, тісні зв’язки з геополітичними гравцями. Не Slack, тому що, вибачте, але старші люди до нього звикають дуже болісно. Молода команда користується залюбки, олдфаги — лише страждають. Не Signal, тому що, при всій повазі до рівня захисту, десктопний клієнт у вигляді Chrome-розширення — це жалюгідно. Розумію, що в противному випадку треба йти на компроміси між безпекою та зручністю, але ми хлопці дорослі і до цього готові.

Тому, WhatsApp. Достатній рівень захисту (шифрування з кінця в кінець, двохетапна автентифікація, використання Signal API тощо) + достатній рівень зручності (нормальний десктопний застосунок). З особливостей — ваш смартфон завжди повинен бути поруч, але куди зараз без нього?

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


Originally published at blog.styran.com on September 22, 2017.

Висновки після notPetya

для керівників вищої ланки

Мене тут увесь день питали, тому коротенько про висновки, які мають зробити біг-бада-боси, з усього, що сталося.

  1. Інформаційна безпека (ІБ) це не антивірус і не фаєрвол. ІБ це агрегатний стан. Ви або в змозі триматися до купи, або розтікаєтеся по підлозі. Щоб не розтектися, треба ІБешить.
  2. ІБшить мають ІБшники. ІБешники це професія; адмін, програміст, секретар, перекладач, кур’єр — це інші професії, їх не можна примусити ІБшить продуктивно.
  3. Досвідчені ІБшники коштують дорого. Можна взяти молодого і виростити, але вийде ще дорожче. Оптимально буде взяти декілька досвідчених і нехай вирощують молодих.
  4. ІБшникам треба давати бюджет. Не те, що лишилося від бюджету ІТшників, а окремий бюджет, який вони в змозі логічно обґрунтувати за допомогою оцінки ризиків та чинних норм законодавства. І не половину, не третину того що вони обґрунтують, а весь.
  5. ІБшники повинні ІБшить, а не писати RFP на тендери, щоб найняти інших ІБшників, які будуть ІБшить замість них. Безпека це не прок’юрмент. Деколи ІБшникам потрібна допомога інших ІБшників ззовні. Деколи вона необхідна. Але коли ІБшники займаються виключно освоєнням бюджету — “на фіг” пишеться окремо.
  6. Сертифікат це не доказ безпеки, це шматок зіпсованого паперу. Абсолютно непотрібна в побуті річ, тому що ламінована і погано гнеться. Комплаянс це не безпека (точніше, це безпека сраки керівника від гніву регулятора, не більше). Щасливий аудитор це не безпека. “Зелений” звіт про пентест це не безпека. Безпека це коли досвідчений ІБшник, який читає зранку під каву скорельовані логі, бухтить собі під ніс: “– Як малі діти, єйбогу.”
  7. Безпека це головняк Генерального директора, чи як у вас там на візитці написано. Не ІБшників, не COO, не CFO, не борда, а вищої виконавчої влади в корпорації. Можна делегувати цю функцію, але не можна делегувати відповідальність за неї. Кіберполіція не прилетить на ракеті та не врятує вас від хакерів. Безпека — це +1 бізнес-процес та +1 параметр кожного бізнес-процесу.
  8. Будьте готові до інциденту до того, як він настане. Нормальні ІБшники вас до нього підготують. Але майте під рукою плани Б і В, тому що вони знадобляться. Вас хакнуть. (Вас скоріш за все вже хакнули: якщо вас ще не хакнули, це означає, що ви робите щось дуже незначне та нікому не цікаве). Але якщо ви не вважаєте, що ваш бізнес повинен завершитися на першому ж зламі, будьте до нього готові.
  9. Майте під рукою кризову піар-стратегію. “Ми нічого не знаємо” це не стратегія. “В нас все добре” це не стратегія. “Ми не винні” це не стратегія. “Майкрософт та інші вендори помиляються, а ми говоримо правду” це не стратегія. Стратегія, це: нас зламали — так; ми вибачаємося за це перед усіма, кому це завдало шкоди; і ми зробимо усе що в людських силах для того, щоб винести максимум уроків з цього зламу та не дозволити цьому повториться знов. Саме ваша піар поведінка під час кризи демонструє ваше справжнє ставлення до клієнтів.

Бережіться.

Кіберзабобони: хибні стереотипи про кібербезпеку

Серія публікацій з розвінчування кумедних міфів про кібербезпеку #кіберзабобони.

Випуск 1. Шторки для веб-камер

Починаємо серію публікацій з розвінчування кумедних міфів про кібербезпеку #кіберзабобони. В першому випуску читайте про шторки для вебкамер.

TL;DR: шторки для вебкамер –  це не більше ніж прикольний аксесуар і вам не варто сподіватися, що вони врятують вас від шпигунства. Якщо дійсно хочете вберегтися від підглядання та підслуховування  –  користуйтеся порадами з персональної кібербезпеки та не працюйте в операційній системі з правами адміністратора. Досвідчені користувачі можуть скористатися спеціальними програмами на кшталт Little Flocker або MicroSnitch.

Тепер по суті. Деякі люди вішають собі на вебкамеру ноутбуку таку невеличку шторку, одну з тих, якими розробники “рішень з безпеки” щедро засівають конференції та виставки. Пересічній людині може здатися, що в такому засобі захисту приватності є зміст. Але подумайте: якщо в вашій системі завівся шпигун (програма/агент віддаленого доступу, яким користується зловмисник), то чи не варто задуматися над перевстановленням операційної системи замість марнування ізострічки та псування поверхні екрану сумнівними сурогатами?

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

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

Випуск 2. Складність паролів

Продовжуємо серію публікацій #кіберзабобони. Цього разу поговоримо про паролі.

Поки увесь український кібербезпековий beau monde зависає на Першому Міжнародному Саміті з Кібербезпеки, ми з вами поговоримо про те, як вас обдурюють щодо паролів. А вас обдурюють, дурять що аж гай шумить. Дивіться як.

По-перше, вам кажуть, що паролі повинні бути складними: містити великі та маленькі літери, цифри, знаки пунктуації, пентаграми та масонські піраміди. І що це типу зробить ваш пароль складним і безпечним. Маячня.

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

Тепер подивіться, що відбувається, коли ви збільшуєте алфавіт, та порівняйте це з тим, що відбувається під час збільшення довжини рядка. Звісно ж, (M+1)^N це набагато менше, ніж M^(N+1), тому що від збільшення алфавіту (складності паролю) кількість варіантів перебору (Work Factor або ентропія) залежить лінійно, а від збільшення довжини — експоненціально.

Тому запам’ятайте: краще довгий пароль помірної складності, ніж короткий, який містить усі можливі типи символів. Проста пасфраза довжиною 16–20 літер з 1–2 цифрами та 1 спецсимволом – ось і все, що вам потрібно.

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

Можна всі яйця в один кошик, треба просто щоб це був герметичний, платино-іридієвій кошик з кодовим замком, на злам якого потрібно 100 тис. років, причому у вас завжди є його точна резервна копія десь в безпечному місці. Такі кошики існують, навіть безплатні, й називаються вони парольні сейфи або парольні менеджери. Я користуюся 1Password, ще можу порекомендувати KeePass та його клони.

Отже, коли вам кажуть, що не можна записувати паролі, то мається на увазі, що їх не можна зберігати на папірчику біля монітора та в “захищеному” паролем файлі Excel. А у парольному менеджері – можна і треба.

Випуск 3. (Не) ефективність антивірусів

Продовжуємо тему #кіберзабобони. Давайте тепер про антивіруси.

Багато користувачів знають, що використання антивірусів – необхідний засіб захисту від шкідливого програмного забезпечення або, як його часто називають, комп’ютерних вірусів. Особливо це стосується операційної системи Windows, бо під неї й вірусів більше, і атакують її частіше. Користувачі менш поширених ОС, таких як macOS чи Linux, пишаються тим, що антивіруси на їхні комп’ютери встановлювати не обов’язково. Проте, часто-густо встановлюють, про всяк випадок.

При цьому більшість користувачів вважають, що антивірус є надійним засобом захисту, ефективність якого прямує до 100% та є лише невеличка кількість “найновіших” вірусів, з якими він потенційно може не впоратись. Та насправді це не так. Переважна кількість антивірусних програм не відрізняється високою ефективністю та має ККД, що не перевищує 50%. Решта більш ефективних антивірусів або занадто дорогі для більшості користувачів, або мають досить “драконівську” манеру роботи, тобто сильно заважають користувачеві працювати на комп’ютері. Але й вони часто не встигають за новими вірусами та пропускають унікальні семпли, спеціально підготовлені для уникнення виявлення конкретними антивірусними продуктами.

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

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

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

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

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

Випуск 4. Хмарна безпека

Продовжуємо рубрику #кіберзабобони. Сьогодні поговоримо про безпеку в хмарі.

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

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

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

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

Бережіться.

OWASP Kyiv

Може хтось звернув увагу, останнім часом в моїй стрічці почала з’являтися абревіатура OWASP. Це тепер буде відбуватися періодично, тому вважаю за потрібне пояснити, що то за звір.

OWASP (Open Web Application Security Project) це глобальна неприбуткова організація, яка займається розвитком безпеки програмного забезпечення. Ні для кого не новина, що в будь-якій програмі є вразливості, які можуть призвести до компрометації самої програми, системи в якій вона виконується, мережі в якій живе система тощо. В результаті використання вразливостей зловмисники можуть отримати доступ до секретних даних організації, приватних даних громадян, здійснювати перекази коштів, спотворювати інформацію та робити ще дуже багато поганих речей. Боротьбі з вразливостями й присвячена OWASP.

Для боротьби з вразливостями OWASP здійснює дослідницьку та просвітницьку роботу в галузі розробки програмного забезпечення та виробляє рекомендації з розробки менш вразливого ПЗ. Організація розгалужена та в кожному місті можна створити локальне відділення та проводити регулярні зустрічі — мітапи. Доступ на зустрічі вільний, на них можуть лунати доповіді досвідчених спеціалістів та обов’язково відбувається спілкування учасників.

Аудиторія зустрічей найширша, та в фокусі уваги OWASP три категорії:

  1. Розробники програмного забезпечення, від рівня обізнаності яких залежить безпека ПЗ, а отже і наша з вами. Під словом “розробники” мається на увазі широкий спектр спеціалізацій, залучених до процесу побудови ПЗ: аналітики, архітектори, тестувальники, DevOps-інженери, програмісти тощо.
  2. Спеціалісти з безпеки, теж в дуже широкому спектрі спеціалізацій: тестувальники безпеки, пентестери, аудитори, дослідники вразливостей, мисливці за баунті тощо.
  3. Менеджери розробки, проектів, безпеки та усіх інших процесів, які мають відношення до або спираються на безпеку ПЗ.

Створивши відділення OWASP Kyiv ми надаємо змогу усім охочим приєднатися справи покращення безпеки в інтернеті. Щоб отримувати анонси зустрічей та інших подій, підписуйтеся OWASP Kyiv тут або на інших ресурсах, вказаних на офіційній сторінці: https://www.owasp.org/index.php/Kyiv. Також, ми будемо публікувати матеріали зустрічей, презентації та відео, на цих ресурсах; з результатами першого мітапу можна ознайомитися просто зараз.

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

Бережіться.

NMap XSLT for web-apps URL extraction

I’ve just wasted 2 hours of sleep, but I’ve (finally) figured out some XSLT basics and created this simple XSL template to extract base URLs of web-applications from the XML output of a NMap scan. Very handy when you want to automatically pass NMap scan results to a web-application sitemap enumeration tool, such as dirsearch or dirb.

Just save the file to nmap-http-services.xsl and run xsltproc nmap-http-services.xsl nmap.xml, given that nmap.xml is the output of your nmap -oX nmap.xml ... scan.

Now dude, go get some sleep.

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="https://www.w3.org/1999/XSL/Transform">
<xsl:output method="text" indent="yes"/>
<xsl:template match="/nmaprun">
<xsl:for-each select="host">
<xsl:for-each select="ports/port">
<xsl:if test="state/@state = 'open' and service/@name = 'http'">
<xsl:if test="../../hostnames/hostname[@type='user']">
<xsl:if test="@portid = '80'">
<xsl:text>https://</xsl:text>
<xsl:value-of select="../../hostnames/hostname[@type='user']/@name"/>
<xsl:text>
</xsl:text>
</xsl:if>
<xsl:if test="@portid = '443'">
<xsl:text>https://</xsl:text>
<xsl:value-of select="../../hostnames/hostname[@type='user']/@name"/>
<xsl:text>
</xsl:text>
</xsl:if>
<xsl:if test="@portid != '80' and @portid != '443'">
<xsl:text>https://</xsl:text>
<xsl:value-of select="../../hostnames/hostname[@type='user']/@name"/>
<xsl:value-of select="portid"/>
<xsl:text>
</xsl:text>
</xsl:if>
</xsl:if>
</xsl:if>
</xsl:for-each>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>