ZAP: бясплатны сканер бяспекі і 10 тыповых праверак
· 3 хв чытання
ZAP (Zed Attack Proxy, часта яго завуць OWASP ZAP) - гэта бясплатная праграма з адкрытым кодам, якая правярае сайты на тыповыя памылкі ў абароне. Сайт праекта называе яе найбольш распаўсюджаным у свеце сканерам вэб-праграм. Гэты тэкст тлумачыць, што такое ZAP і што ён правярае. CzynszOK запускае сканіраванне ZAP у рэжыме baseline пры кожнай змене кода на сваіх публічных старонках; што яшчэ мы запускаем пры кожнай змене, апісана ў запісе пра нашы праверкі.
Што такое ZAP
ZAP стаіць паміж браўзерам і сайтам: бачыць кожны запыт і кожны адказ, таму можа іх прачытаць (пасіўны рэжым) або змяніць і адправіць для спробы (актыўны рэжым). Гэта свабоднае праграмнае забеспячэнне, а праект апісвае сябе як незалежны праект з адкрытым кодам і ўласнай камандай. Ім карыстаюцца распрацоўшчыкі і каманды бяспекі, у тым ліку ў аўтаматычных працэсах, якія запускаюцца пры кожнай змене кода.
Сканіраванне baseline і актыўнае
Сканіраванне baseline кароткае і пасіўнае. Па змоўчанні яно хвіліну абыходзіць сайт, чакае завяршэння аналізу адказаў і паведамляе вынік. Паводле дакументацыі ZAP у гэтым рэжыме не выконвае ніякіх сапраўдных атак, таму падыходзіць для аўтаматычных працэсаў, у тым ліку на працоўных сайтах. Ён бачыць толькі тое, што паказваюць адказы сервера: адсутныя загалоўкі, сцяжкі cookie, паведамленні пра памылкі.
Актыўнае сканіраванне робіць іншае: адпраўляе спецыяльна складзеныя запыты, каб праверыць, ці можна сайт падмануць. Таму яго запускаюць на ўласным тэставым асяроддзі, ніколі на чужым сайце і ніколі без дазволу ўладальніка.
10 тыповых праверак
Ніжэй дзесяць праверак са спісу апавяшчэнняў ZAP, з нумарамі з гэтага спісу. Усе яны пасіўныя, гэта значыць вынікаюць толькі з адказаў сервера.
- Не ўсталяваны загаловак Content-Security-Policy (10038). Гэты загаловак кажа браўзеру, адкуль старонка можа загружаць скрыпты, таму чужы код уставіць цяжэй.
- Няма абароны ад убудавання ў фрэйм (10020). Без яе нехта можа ўставіць Вашу старонку ў незаўважны фрэйм і падштурхнуць да пстрычкі (клікджэкінг).
- Няма X-Content-Type-Options (10021). Тады браўзер можа здагадвацца пра тып файла і ўспрыняць даныя як скрыпт.
- Не ўсталяваны Strict-Transport-Security (10035). Гэты загаловак патрабуе зашыфраванага злучэння, нават калі нехта ўводзіць адрас без https.
- Cookie без сцяжка HttpOnly (10010). Такі cookie можа прачытаць скрыпт на старонцы, таму скрасці сесію лягчэй.
- Cookie без сцяжка Secure (10011). Тады ён можа падарожнічаць па незашыфраваным злучэнні.
- Cookie без атрыбута SameSite (10054). Браўзер дадае яго да запытаў з чужых сайтаў, што дапамагае атакам CSRF.
- Няма токенаў абароны ад CSRF у формах (10202). Форму без іх можна падрабіць з іншага сайта.
- Сервер выдае версію праграмнага забеспячэння ў загалоўку Server (10036). Гэта падказка для таго, хто шукае вядомыя ўразлівасці ў пэўнай версіі.
- Уразлівая бібліятэка JavaScript (10003). Старонка загружае стары варыянт бібліятэкі з вядомай уразлівасцю.
Справаздача ZAP бывае доўгай, але чытаць яе варта са спакойнай галавой: апавяшчэнне - гэта падказка, а не прысуд. Частка апавяшчэнняў не датычыць канкрэтнага сайта, а частка - свядомае рашэнне. Гэта ацэньвае чалавек.
Што гэта значыць для Вас
Калі Вы падключаеце банк праз праграму, ZAP - адзін з інструментаў, якімі можна праверыць, ці няма на яе сайце элементарных памылак. Ён не замяняе агляд кода ці тэст на пранікненне. На старонцы Бяспека мы апісваем толькі тое, што можам даказаць сёння, а CzynszOK запускае сканіраванне ZAP у рэжыме baseline на публічных старонках, а не на экранах пасля ўваходу. Што адбываецца з данымі з Вашага банка, чытайце ў Палітыцы канфідэнцыяльнасці.
Найчасцейшыя пытанні
Ці бясплатны ZAP?
Так. Сайт праекта апісвае яго як бясплатнае праграмнае забеспячэнне з адкрытым кодам.
Ці можа сканіраванне ZAP нашкодзіць сайту?
Сканіраванне baseline пасіўнае і, паводле дакументацыі, не выконвае атак. Актыўнае сканіраванне адпраўляе запыты, шкодныя па задуме, таму яго запускаюць толькі на асяроддзі, якое Вы маеце права правяраць і дзе збой нікому не нашкодзіць.
Ці азначае чыстая справаздача ZAP, што сайт бяспечны?
Не. Чыстая справаздача азначае толькі тое, што ZAP нічога не знайшоў у тым, што правярае. Памылкі ў логіцы праграмы, напрыклад калі адзін карыстальнік можа ўбачыць даныя іншага, патрабуюць агляду кода і тэстаў, якіх сканер baseline не выконвае.
Ці можна сканіраваць чужы сайт?
Не без дазволу ўладальніка. Сканіраванне сайта без згоды - найкарацейшая дарога да непрыемнасцей. Калі Вы выпадкова знайшлі ўразлівасць, паведамце пра яе ўладальніку.
Czynsz OK? Праверце за некалькі хвілін.
Падключаеце банк, упісваеце арэнду з абʼявы, атрымліваеце сертыфікат з QR-кодам. Без PDF і без аналітыка.
Праверыць арэнду