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>

Про реальні загрози російських соцмереж та хибність їх блокування в Україні

та хибність їх блокування в Україні

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

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

Аргументи, які озвучують

1. Дані про користувачів соцмереж (текст, фото, відео, геолокація) знаходяться в доступі рос. спецслужб.

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

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

2. У РФ є можливість проведення інформаційних операцій через підконтрольні соцмережі.

Блокування соцмереж підсилює загрозу. Навіть якщо припустити, що блокування соцмереж буде ефективним, користувачі будуть змушені мігрувати на інші популярні платформи, які в змозі прийняти “мігрантів”. Очевидно, цими соцмережами стануть Facebook та Twitter, в яких присутність російських агітаційних бот-мереж не менш потужна, ніж в підконтрольних РФ платформах. Більше того, зазначені соцмережі надають набагато більш ефективні засоби здійснення інформаційних операцій, тому що є більш технологічними та випробувані на набагато більшій кількості географічних регіонів та демографічних груп. До того ж, російська агітаційна машина в Facebook та Twitter загартована в масштабних кампаніях під час референдуму в Великобританії, виборах в США та Франції, та продемонструвала свої можливості та обмеження.

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

3. Блокування російських соцмереж не обмежує свободу слова.

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

4. В РНБО з пропозицією блокування виступила СБУ. СБУ займається розвідувальною діяльністю і не повинна розкривати свої аргументи.

Ця позиція не позбавлена логіки. Дійсно, розвідувальні установи не повинні використовувати прямі докази для побудови своїх висновків. Задача розвідки — аналізувати та прогнозувати, а її результати повинні бути в достатній мірі підтверджені. Але разом з цим, під час надання розвідувальних даних першим особам держави, зокрема Президенту та РНБО, СБУ могла б висвітлити некласифіковані елементи своїх аргументів та висновків, як це роблять розвідувальні установи США та їх союзників. Відсутність навіть узагальненої аргументації щодо доцільності блокування свідчить або про відсутність більш глибокої класифікованої аргументації, або про низьку оцінку важливості висвітлення подібних рішень в суспільстві.

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

Аргументи, про які мовчать

Важливим аргументом до якого не звертаються прихильники блокування полягає в тому, що контролюючи вміст популярних в Україні веб-ресурсів, РФ може здійснювати кібер-атаки, які по потужності можна порівняти з наслідками зміни програмного коду встановлених на комп’ютерах продуктів, зокрема антивірусів. Масове захоплення контролю над ПК та мобільними пристроями громадян України через вразливості веб-браузерів та суміжного ПЗ (Adobe Reader, Flash Player, Java і т.д.) — це не вигадки, а цілком реалістичний вектор нападу. Чому ж він не висвітлюється?

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

Висновки

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

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

Прогноз

Особисто я вважаю, що блокування російських соцмереж несуттєво відіб’ється на рівні їх відвідування українцями. Динаміку зміни популярності веб-ресурсів в Україні ви можете самостійно спостерігати в цьому розділі рейтингу Alexa: https://www.alexa.com/topsites/countries/UA


Оновлено 22 грудня 2018 р.

Через півтора роки після початку блокувань ВКонтакте все ще в десятці найбільш відвідуваних веб-сайтів в Україні – на 4 місці. Mail.ru, Yandex.ru та Ok.ru посідають 13, 14 та 15 місце.

Чому не можна користуватися Яндекс-пробками та іншими російськими сервісами з геолокацією

та іншими російськими сервісами з геолокацією

Прилетіло “в приват”” чергове “в мене нічого красти”, цього разу на тему геолокаціі. Але не пасивно-агресивне, як зазвичай, а вже інтригуюче та зацікавлене. Це дуже радує! Значить ми тут не дарма і народ потроху починає прозрівати в плані загроз кібербезпеки.

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

Зазвичай у користувачів Яндекс-пробок два аргументи: по-перше, цей сервіс кращий за, скажімо, Google Maps, а по-друге, “кому потрібні мої координати?”

Щодо першого в мене немає аргументів, тому що я в своєму житті жодного разу не користувався Яндекс-пробками і просто не можу порівнювати. Я можу сказати що Apple Maps в Україні просто безпорадні, тому що в них немає майже жодних даних про наше пересування. Так, в Україні порівняно мало айфонів, а ті, що є, “рідними” картами не користуються. В мене є враження від Google Maps та Waze, лише позитивні. А на кожну історію з третіх рук про те що Google Maps завів вас в бур’яни, в мене є аналогічна історія про Яндекс навігатор.

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

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

Бережіться.

Як зупинити фішинг раз і назавжди

Людоньки, хочете я вам розкажу, як зупинити фішинг раз і назавжди у три БЕЗКОШТОВНІ кроки? Вам навіть не треба буде тирити у нас матеріали наших авторських тренінгів з протидії соціальній інженерії (і таке трапляється). Більше того, ми з кентами одразу ж закриємо Berezha Security Group та розпочнемо кар’єру десь в астрофізиці, політиці чи соціальній психології. Хочете? То слухайте.

Крок 1: Переїдьте на хмарну пошту

От просто розпочніть користуватися Google Apps for Business чи Office365 просто зараз. Кожен раз, коли по пентест звертається компанія, яка використовує цих монстрів, десь у Всесвіті починає плакати соціальний інженер. Поштові фільтри у Гугла та МС настільки навернуті на машинному навчанні датасетами з мільярдів листів щодня (лише 10–20% з яких є легітимними), тому пробитися через них — показник справжнього професіоналізму. Вони не пропустять макроси, вони не пропустять заархівовану програму, вони не пропустять архів з паролем. Вам дуже пощастить, якшо ви створите шаблон листа для фішингу по URL, який буде виглядати легітимно та пролізе через Gmail не потрапивши в папку Infected.

Крок 2: Розпочніть використовувати PGP або S/MIME

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

Крок 3. Створіть білі списки програм та бібліотек

Безкоштовно, засобами вашої корпоративної операційної системи. Споримо це Windows? Тоді розпочніть ось з цього, а потім створіть політики для сертифікатів, якими ваші вендори та аутсорсери підписують код. І все, тепер навіть в разі компрометації вашого комп’ютера пост-експлуатація перетворюється на кошмар для хакера. Так, профі зроблять все in-memory, без запису на диск та читання з диску. Але такі техніки поки що нові, плюс дивіться кроки 1 та 2.

І все! Ви на 99,99% захищені!

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

Бережіться.