На PHDays 9 упершыню ў рамках кібербітвы
Да ўдзелу ў хакатоне браліся толькі некамерцыйныя праекты, прадстаўленыя іх аўтарамі. Мы атрымалі заяўкі ад чатырох праектаў, але адбор прайшоў толькі адзін – bitaps (
За некалькі дзён да пачатку спаборніцтва ўдзельнікі атрымалі выдалены доступ у гульнявую інфраструктуру для ўсталёўкі свайго прыкладання (яно было размешчана ў неабароненым сегменце). На The Standoff нападаючыя, апроч аб'ектаў інфраструктуры віртуальнага горада, павінны былі атакаваць прыкладанне і пісаць справаздачы bug bounty на знойдзеныя ўразлівасці. Пасля таго як арганізатары пацвярджалі наяўнасць памылак, распрацоўшчыкі па жаданні маглі іх выправіць. За ўсе пацверджаныя ўразлівасці каманда атакавалых атрымлівала ўзнагароду ў пулях (гульнявая валюта The Standoff), а каманда распрацоўкі штрафавалася.
Таксама па ўмовах спаборніцтва арганізатары маглі ставіць удзельнікам задачы па дапрацоўцы дадатку: пры гэтым важна было рэалізаваць новую функцыянальнасць, не дапусціўшы памылак, якія ўплываюць на бяспеку сэрвісу. За кожную хвіліну карэктнай працы прыкладання і за рэалізацыю дапрацовак распрацоўшчыкам налічваліся каштоўныя публі. Калі ў праекце была знойдзена ўразлівасць, а таксама за кожную хвіліну прастою або некарэктнай працы прыкладання - яны спісваліся. За гэтым уважліва сачылі нашы робаты: калі яны выяўлялі праблему, мы паведамлялі аб гэтым камандзе bitaps, даючы ім шанец ухіліць праблему. Калі яна не ўхілялася - гэта прыводзіла да страт. Усё як у жыцці!
У першы дзень спаборніцтва атакуючыя прамацвалі сэрвіс. Да канца дня мы атрымалі ўсяго некалькі справаздач аб нязначных уразлівасцях у дадатку, якія хлопцы з bitaps аператыўна выправілі. Дзесьці ў 23 гадзіны, калі ўдзельнікі ўжо сабраліся засумаваць, яны атрымалі ад нас прапанову па дапрацоўцы ПЗ. Задача была няпростая. Трэба было на аснове наяўнага ў дадатку працэсінгу плацяжоў рэалізаваць сэрвіс, які дазваляў бы пераводзіць токены паміж двума кашалькамі па спасылцы. Адпраўнік плацяжу — карыстальнік сэрвісу — на спецыяльнай старонцы павінен увесці суму і пазначыць пароль да гэтага пераводу. Сістэма павінна згенераваць унікальную спасылку, якая адпраўляецца атрымальніку аплаты. Атрымальнік адкрывае спасылку, уводзіць пароль да пераводу і паказвае свой кашалёк для атрымання сумы.
Атрымаўшы заданне, хлопцы ажывіліся, і ўжо да 4 гадзін раніцы сэрвіс па перакладзе токенаў па спасылцы быў гатовы. Атакуючыя не прымусілі сябе чакаць і ўжо праз некалькі гадзін выявілі малаважную XSS-уразлівасць у створаным сэрвісе і паведамілі аб ёй нам. Мы праверылі і пацвердзілі яе наяўнасць. Каманда распрацоўкі паспяхова яе ўстараніла.
У другі дзень хакеры сканцэнтравалі сваю ўвагу на офісным сегменце віртуальнага горада, таму больш нападаў на прыкладанне не было, і распрацоўшчыкі нарэшце маглі адпачыць ад бяссоннай ночы.
Па выніках двухдзённага спаборніцтва мы ўручылі праекту bitaps памятныя прызы.
Як прызналіся ўдзельнікі пасля гульні, хакатон дазволіў праверыць дадатак на трываласць і пацвердзіць высокі ўзровень яго абароненасці. «Удзел у хакатоне - гэта выдатны шанец пратэставаць свой праект на бяспеку і атрымаць экспертызу па якасці кода. Мы рады: нам удалося выстаяць пад націскам атакавалых, - падзяліўся ўражаннямі член каманды распрацоўшчыкаў bitaps Аляксей Карпаў. - Гэта быў незвычайны досвед, бо нам прыйшлося дапрацоўваць прыкладанне ў стрэсавай сітуацыі, на хуткасць. Трэба напісаць якасны код, і пры гэтым высокая рызыка памыліцца. У такіх умовах пачынаеш выкарыстоўваць усе свае навыкі».
У наступным годзе мы плануем зноўку правесці хакатон. Сачыце за навінамі!
Крыніца: habr.com