Пастаянна знаходзьце і выпраўляйце ўразлівасці
ЗавершанаПабудуйце бесперапынны працэс ад выяўлення ўразлівасці да праверанага выпраўлення ў production. Зразумейце прабел у суправаджэнні, які можа хаваць паспяховы прататып.
Выдавец TaigaЯк мы пішам
Праверце сваё разуменнеПраграма не змянялася тры месяцы. Апошняе сканаванне залежнасцей паспяхова завяршылася пры выпуску. Якое сцверджанне пацверджана?Выканайце практыкаванне
Чаму вы навучыцеся
- Тлумачыць, чаму нязмененая праграма патрабуе пастаяннай праверкі бяспекі.
- Супастаўляць тыпы сканавання з іх ахопам і абмежаваннямі.
- Адсочваць праблему праз прыярытызацыю, выпраўленне, разгортванне і праверку.
Працаздольны прататып можа стаць сэрвісам без падтрымкі
Vibe coding можа хутка стварыць карысны прататып. Рызыка ў production расце, калі людзі працягваюць выкарыстоўваць яго без пастаяннага суправаджэння бяспекі. Гэта сур’ёзны прабел: праграма застаецца даступнай для атакі, пакуль яе стваральнік лічыць працу завершанай.
Прабел мае і арганізацыйны, і тэхнічны характар. Сканер можа існаваць без адказнага. Праблема можа мець адказнага, але не мець шляху да выпуску. Выпраўленне пасля merge можа пакінуць стары артэфакт production у працы.
Ацэньвайце фактычную платформу распрацоўкі і яе канфігурацыю. Некаторыя інструменты даюць функцыі бяспекі. Пазнака прадукту не пацвярджае, што ваша разгорнутая праграма атрымлівае пастаяннае сканаванне і правераныя выпраўленні.
Скануйце, калі доказы могуць змяніцца
Выконвайце адпаведныя праверкі прапанаваных змен і сабраных артэфактаў. Пераацэньвайце падтрыманыя версіі паводле графіка, бо звесткі пра ўразлівасці змяняюцца без commit. Запускайце дадатковы перагляд пры з’яўленні адпаведнага паведамлення, змены даступнасці для атакі або інцыдэнту.
Яўна вызначайце абсяг. Указвайце рэпазіторыі, галіны, lockfile, вобразы, разгорнутыя digest, асяроддзі выканання і іншыя асяроддзі. Уключайце праграмы, для якіх больш не распрацоўваюць функцыі, але якімі ўсё яшчэ карыстаюцца.
Няўдалае сканаванне азначае адсутнасць доказаў. Кантралюйце актуальнасць сканаванняў, збоі крыніц звестак, памылкі аўтэнтыфікацыі, непадтрыманыя кампаненты і прабелы ахопу. Пусты спіс праблем пасля няўдалай задачы — не чысты вынік.
Выкарыстоўвайце розныя праверкі для розных пытанняў
| Праверка | Карысны ахоп | Істотнае абмежаванне |
|---|---|---|
| Аналіз складу праграмнага забеспячэння, або SCA | Вядомыя ўразлівасці залежнасцей, уключаючы вызначаныя транзітыўныя пакеты | Не пацвярджае правільнасць аўтарызацыі праграмы |
| Статычнае тэставанне бяспекі праграмы, або SAST | Небяспечныя канструкцыі кода, якія інструмент умее выяўляць | Можа прапускаць паводзіны падчас выканання і паведамляць пра патэнцыйныя праблемы, што патрабуюць ацэнкі |
| Сканаванне сакрэтаў | Распазнаныя шаблоны ўліковых даных у прасканаваным змесце | Выдалены радок можа пакінуць дзейныя ўліковыя даныя ў іншым месцы |
| Праверкі інфраструктуры і канфігурацыі | Вызначаныя парушэнні палітыкі ў прасканаваных рэсурсах або канфігурацыі | Канфігурацыя рэпазіторыя можа адрознівацца ад працуючага асяроддзя |
| Дазволенае дынамічнае тэставанне | Паводзіны працуючай праграмы ў межах тэставання | Патрабуе дазволу, адпаведных даных і асцярожнасці з пабочнымі эфектамі |
Спалучайце гэтыя праверкі з пераглядам і адпаведнымі тэстамі бяспекі. Не сцвярджайце, што любое сканаванне даказвае адсутнасць уразлівасцей.
Прасочыце выдуманую праблему да production
| Час | Падзея | Фактычны стан |
|---|---|---|
| Панядзелак 09:00 | Новае паведамленне вызначае закранутую PDF-залежнасць | Наяўныя выпускі патрабуюць ацэнкі |
| Панядзелак 09:15 | Запланаванае сканаванне вызначае версію production | Праблема выяўлена, але не выпраўлена |
| Панядзелак 10:00 | Адказны пацвярджае рызыку ўздзеяння і выбірае падтрыманае выпраўленне | Выпраўленне запланавана |
| Панядзелак 13:00 | Тэсты паспяхова завяршаюцца, і PR выпраўлення праходзіць merge | Рэпазіторый выпраўлены; production яшчэ патрабуе разгортвання |
| Панядзелак 14:00 | Канвеер разгортвае выпраўлены вобраз | Новы артэфакт працуе; праверка яшчэ патрэбная |
| Панядзелак 14:20 | Сканаванне артэфакта і рэгрэсійныя праверкі экспарту паспяхова завяршаюцца | Выпраўленне пацверджана ў правераных межах |
Вызначайце прыярытэт паводле сур’ёзнасці, доказаў эксплуатацыі, даступнасці для атакі, закранутых даных і наяўных мер змякчэння. Каталог CISA дапамагае вызначыць вядомую эксплуатацыю. Гэта адзін уваходны фактар, а не поўная ацэнка рызыкі. Каталог CISA.
Часовае выключэнне патрабуе доказаў, адказнага, кампенсавальных мер кантролю і тэрміну дзеяння або ўмовы перагляду. Калі выпраўлення няма, разгледзьце дазволены абыходны шлях, абмежаванне функцыі або выдаленне закранутага кампанента.
Закрыйце прабел у суправаджэнні
Вымярайце час да ацэнкі і праверанага выпраўлення паводле прыярытэту. Адсочвайце пратэрмінаваныя выключэнні, састарэлыя сканаванні, закранутыя версіі production і паўторныя праблемы. Памяншэнне колькасці праблем таксама можа адлюстроўваць скарачэнне ахопу; вывучайце назоўнік.
Taiga Maintaining скануе звязаныя рэпазіторыі пасля змен і перыядычна. Ён запісвае выяўленыя праблемы і звязвае выпраўленне з ініцыятывамі і праверанымі зменамі. Правярайце стан сканавання і бягучыя задакументаваныя паводзіны. Maintaining.
Ваш канвеер усё яшчэ патрабуе адпаведных умоў дапуску да выпуску. Адказны за сэрвіс усё яшчэ павінен пацвердзіць разгортванне і правільнасць эксплуатацыі. Гэты бесперапынны ланцуг — частка працы AI-фабрыкі праграмнага забеспячэння, уключаючы прадукты, першая версія якіх пачалася як прататып.
Выканайце практыкаванне
Выкарыстоўвайце выдуманую храналогію з гэтага ўрока. Вызначце, дзе каманда можа памылкова абвясціць поспех. Задайце ўмовы запуску сканавання, апавяшчэнне пра яго збой, адказнага за выпраўленне, праверку выпуску і заканчэнне часовага выключэння.
Спампаваць працоўны ліст (Markdown)Зняцце гэтай пазнакі выдаляе ўвесь прагрэс, захаваны ў гэтым браўзеры.
Прагрэс застаецца ў гэтым браўзеры. Без уліковага запісу і адсочвання.
Крыніцы і дадатковыя матэрыялы
- NIST: Secure Software Development Framework ↗
- CISA: Known Exploited Vulnerabilities Catalog ↗
- Taiga docs: Maintaining ↗