Сувора бюрократична реальність , або як ми прийняли участь в першому державному хакатоні

via Shutterstock .

Хочу поділитися своїми враженнями і думками про те , як ми невеликою командою вирішили в першому Держ - хакатон , що пройшов 6-7 вересня в Києві. Ми - це команда проекту EUSign.org у складі трьох осіб . Наш проект надає API для використання ЕЦП державного стандарту . Все почалося « for fun » , але оскільки цей fun почав підтримуватися живим інтересом з боку різних людей , ми вирішили розвивати проект далі . А це рано чи пізно мало на увазі контакт з представниками державної влади. З боку « Інформаційно - ресурсного центру» , підпорядкованого Мін'юсту України , недавно був запущений публічний API до реєстру юридичних та фізичних осіб . І на честь запуску вони організували подію « Держ - Хак 2014 » . Нам це подія здалося шансом зустрічі двох всесвітів - нашої , крипто - задротов , і суворою бюрократичної реальності . Тому ми купили квитки і виїхали з Одеси , Львова і Дніпропетровська. Вирішили перевірити , чи можливий діалог. Перший день Ми їхали без особливих позитивних очікувань , скептично і пасивно - негативно налаштованими , щоб зустрітися з людьми , які , здавалося , роблять неправильно все , за що беруться. У перший день на реєстрації нам видали бейджі , програму заходу та зведення правил. На невеликому офіційному відкритті були присутні важливі дядька з державних органів , нам з епічністю канцелярського пафосу представили журі та пообіцяли призи . А трохи пізніше ми ознайомилися з справжніми умовами і завданням . Виявилося , бюрократи зрозуміли слово « хакер » буквально й очікували , що ми будемо «Хакери » , тобто зламувати їх систему. Але зламувати нам надали не всю інфраструктуру , а тільки API. Правда , наступного дня з'ясувалося , що малося на увазі навіть не API , а тільки одна -єдина сторінка з CAPCHA . Але добре , що ми неуважно слухали ... Вивчення API Одного разу в моєму житті була ситуація , коли я встав і голосно сказав на всю аудиторію : « Що я тут роблю ! » , а потім пішов і ніколи не повертався . Мої почуття були дуже близькі до цього стану в перші години хакатона . API представляє з себе один -єдиний метод , до якого можна звернутися через SOAP через WSDL , в якому повертається відповідь , в якому в одному з властивостей лежить текстове поле , в якому знаходиться XML - документ відповіді. Так, ви правильно зрозуміли : повертається заескейпленний текст , який потім ще раз треба перетворити на XML і розпарсити ще раз . Але це не найголовніше. Кожен запит коштує 3 гривні ! Три гривні за запит ! Нам було надано додатковий тестовий API , в якому можна було робити необмежену кількість запитів , але в основі всього десяток записів . Крім API , яке запустили тільки зараз , для користувачів вже давно існує публічний безкоштовний доступ до даних реєстру , але він відповідає через CAPCHA . До нього API не надається. Зате формально виконується вимога закону про безкоштовне надання доступу до державних реєстрів. Мотивації робити сервіс , який потім буде обходитися клієнтам по 3 гривні за запит , не з'явилося. Мляво почали обговорювати створення якогось кешируючого proxy , який буде накопичувати дані , а потім перепродувати їх дешевше . Всі готові були встати і поїхати по домівках. Ми перевірили , скільки коштує сервіс розпізнавання капчі індусами ( 2 $ за 5000 штук). Порахували вартість викачування всіх даних за офіційною і призовий ціною за допомогою індусів . У цілому потік думок був схожий на діалог команди пегого дудар з серіалу « Кремнієва Долина »напередодні виступу. Ми взагалі не планували нічого зламувати чи шукати дірки . Це не наш бізнес і не наші ризики , але оскільки стало нудно , то доводилося хоч щось робити. Я умовив усіх посидіти ще трохи , а сам почав вивчати , як зробити клієнт з бібліотекою розпізнавання картинок на основі безкоштовного інтерфейсу . Розбираючись , перевіряв на діряві . Сервіс гранично простий - хоч і має деякі спірні моменти , але цінності як об'єкт злому не представляє. Немає інструментів групового пошуку ( наприклад , по КВЕД або географії ) . Також не публікується список список всіх живих ІПН , а навіть якщо б і був якийсь старий крадений , виникло б питання про його повноті . Швидше за все , цю базу намагатимуться ( вже зробили) парсити і кешувати дані у себе . Швидше за все , намагатимуться обійти обмеження , але поки це не бізнес - підхід . Ймовірно , потім спарсенная база даних буде продаватися на різних сайтах . Тим часом Ілля виявив в тестовому API особливості роботи SOAP - клієнта через WSDL . Виявляється , WSDL - клієнт коннектітся до цільового хосту , там викачує опис схеми , а в ній отримує список URL , до яких потім можна звертатися (все це кілометрові XML файли ) . Цю схему клієнт , ймовірно , може класти в кеш , і не використовує при кожному запиті . А тепер вгадайте , ніж забиті сторінки результатів пошуку за запитом « wsdl cache » ? Правильно : відповідями , як його відключити в клієнтах на різних мовах програмування . Кривий SOAP викликає блювоту не тільки своєю надмірністю , але і всієї своєї інфраструктурою . WSDL - схема витягується по plain HTTP - підмінивши хост , можна віддати свою схему і вказати свій URL , куди приходить авторизація з логіном та паролем у відкритому вигляді. Логін і пароль передаються параметрами функції RPC. Відповідно, можна не тільки перехоплювати і підміняти запити надалі , але і відправляти свої платні запити API ( нагадаю , вони по 3 гривні кожен) . Ми підготували опис цієї атаки , зробили приклад сервера перехоплення паролів . Тим самим ознайомилися з роботою API. Оскільки рентабельність прикручування до EUSign.org при нинішніх обмеженнях сумнівна , то ми зробили демку використання для своїх потреб і заспокоїлися . Вечір присвятили спілкуванню і ходіння по Києву . Подивившись на місто , я зробив висновок , що Кличко зі своїми обов'язками не справляється . Місто і метро завішані огидним кількістю самої низькоякісної реклами , гірше київської реклами не бачив ні в одній країні або місті. Хрещатик до сих пір не пішохідний . Другий день Другий день був більш продуктивним і був присвячений спілкуванню та презентаціям проектів. До нас підходили якісь журналісти , задавали дивні питання , але до кінця не було зрозуміло - вони так кепкують або дійсно весь їхній світ зводиться до формату світської вечірки . Вели себе не дуже професійно. Протягом двох годин команди представляли проекти, зроблені за попередню добу . Було приємно дивитися , як деякі учасники сплять на столах - напевно , багато працювали . Тих , хто намагався зламати , було не багато. Дві команди знайшли цікаві зауваження . Здається, одну з дірок швидко залатали співробітники в процесі , одні хлопці начебто її спостерігали. Попри те, що у нас не було красивою презентації , і Ізя говорив мовою , який розумів мало хто з журі , нам несподівано дали грамоти за захист інтересів захисників реєстру . Ми хотіли зробити більше , але з того , що нам дали , вийшло майже нічого . перехідник для Apple Air ні у кого не було , а PDF - документ технічна група чомусь не змогла відкрити ( в 21 столітті рідер , здається , вбудований у всі браузери , але треба було « поверпоінт »). Тому я провів презентацію EUSign.org самим провальним способом - без презентації. Так вийшло , що ми все одно зібрали багато нагород і посіли друге місце в соціальній номінації після Сергія паю - CEO ( що цінніше самої нагороди ) . В якості офіційного призу ми отримали право підписати договір з компанією , яка обслуговує реєстр за 1.92 гривні за запит . Так, ми тепер сертифікована кріптомафія ! Висновки та про результати спілкування постараюся написати в окремій статті.

Опубліковано: 15/09/14 @ 06:29
Розділ Різне

Рекомендуємо:

Про Мюнхені
23 - 26 вересня, Київ - Agile - інтенсив : дві сертифікації CSM + Kanban зі знижкою -40 %
iOS Дайджест # 0
16 вересня, Київ - Курс "Основи бізнес аналізу "
23 вересня, Київ - Agile - інтенсив : дві сертифікації CSM + Kanban зі знижкою -40 %