English· Español· Deutsch· Nederlands· Français· 日本語· ქართული· 繁體中文· 简体中文· Português· Русский· العربية· हिन्दी· Italiano· 한국어· Polski· Svenska· Türkçe· Українська· Tiếng Việt· Bahasa Indonesia

un

гість
1 / ?
назад до уроків

MOAD-сканер як практика пермакультури

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

MOAD-сканер застосовує цей принцип до екосистем програмного забезпечення. Перед тим, як подати навіть одну проблему, сканове проекти й мови. Нанесіть на карту розподіл дефекту: скільки проектів містять CWE-407? Які містять його у високонавантажених шляхах? Які вищестоящі пакети, якщо виправити, поширять виправлення на найбільшу кількість залежних? Спостерігайте екосистему перед тим, як діяти на будь-якому одному вузлі.

Пермакультура застосована до коду: сканування 2192 зберігання 2192 виправлення 2192 розкриття 2192 цикл

Порівняйте це з видобувною практикою: виявіть вразливість, продайте її брокеру вразливостей, збирайте платіж, рухайтеся далі. Дослідник видобув фінансовий капітал зі знань і залишив. Жодне знання не поширилось. Жодна система не покращилась. Майбутні користувачі кожного проекту, що постраждав, залишились вразливими. Брокер тримає знання, яке зменшується в ціні зі старінням вразливості без розкриття.

Практика перммакомп'ютера: виявіть дефект, виправте його, розкрийте його, подайте вище за течією, випустіть виправлення як громадське надбання. Знання поширюється без розпаду — насправді воно складається: розкритий CVE стає посиланням, MOAD пост навчає шаблону, майбутні дослідники знаходять нові екземпляри, використовуючи той самий шаблон. Замкнений цикл, а не термінальна видобудок.

Спостереження пермакультури передує дії пермакультури. Сканування генерує дані про оцінки всплеску, графіки залежностей & кількості задіяних вузлів перед тим, як будь-яке виправлення рухається. Ці дані формують, які виправлення доставляються першими: вузли з високим коефіцієнтом центральності перед листовими вузлами, тому що виправлення широко використовуваної бібліотеки поширюється далі на одиницю зусилля.

Не створюй відходів: три шляхи розкриття

Три шляхи, які дослідник може вибрати після виявлення критичної вразливості в популярній бібліотеці з відкритим кодом:

A. Продайте її брокеру вразливостей за 10 000 доларів.

B. Приватно повідомте супроводжувача з 90-денною шкалою розкриття, потім опублікуйте незалежно від статусу виправлення.

C. Надішліть виправлення як запит на об'єднання одночасно з публічним розкриттям.

Застосуйте принцип пермакультури 'не створюй відходів' для оцінки кожного варіанту. Визначте, які результати виробляє кожен шлях, куди йдуть ці результати й які результати залишають систему як відходи (неспрямована енергія, яка нікому не приносить користі).

Складність у відкритих системах

Другий принцип пермакультури: захоплюй & зберігай енергію, коли вона тече abundantly, щоб у вас були запаси, коли вона не течене. Система збору дощової води зберігає воду під час штормів для використання у сухі місяці. Харчовий ліс зберігає сонячну енергію як фрукти й біомасу протягом сезонів. Мета: збігти часовість зберігання з часовістю достатку.

Складне знання Хеммінга: кожна нова техніка з'єднується з вашим списком важливих проблем, множачи продуктивний результат. Один вислід про інформаційну ентропію, для Шеннона, розблокував десятиліття теоретичної роботи, тому що він з'єднувався з кожним відкритим питанням у його списку одночасно. Зберігаємо знання щорічне складне відсоток.

Складність відкритого кода працює по-іншому від індивідуальної складності. Виправлення, об'єднане до канонічного сховища, зберігає енергію в місці, де кожен нижче за течією форк автоматично витягує з нього. Виправлення, відправлене до бібліотеки asyncio Python у 2022 році, поширилось на кожен проект, який використовує цю бібліотеку, без будь-яких додаткових дій оригінального дослідника. Енергія зберігається у джерелі й складується через граф залежностей.

Статті MOAD зберігають енергію по-іншому: кожен пост навчає шаблону сканування, а не просто розкриває конкретний екземпляр. Дослідник, який читає статтю MOAD про CWE-407, дізнається не просто те, що Project X мав вразливість промивання, але що шаблон промивання виглядає як у будь-якій мові, як його шукати, & як розрізнити його від доброго подібного коду. Майбутні дослідники знаходять нові екземпляри, використовуючи збережений шаблон, а не відкривають його з першоумовного.

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

Трекери проблем & особисті списки проблем

Хеммінг вів список 10 важливих проблем, до яких він постійно повертався. Список підготував його до розпізнавання, коли нова техніка відповідала одній з них. Його список функціонував як особисто зберігаючи енергію: міцна інвестиція в розпізнавання шаблонів, яка приносила дивіденди щоразу, коли з'являлась нова техніка.

Як трекер проблем проекту з відкритим кодом служить подібною функцією до особистого списку Хеммінга з 10 проблемами? Чим він відрізняється? Назвіть щонайменше одну перевагу трекера проблем над особистим списком & щонайменше одну перевагу особистого списку над трекером проблем.

Цикл MOAD як замкнута система

Пермакультура: у добре спроектованій системі результат одного процесу живить введення іншого. Жодний результат не виходить із системи як відходи. Курка в харчовому лісі виробляє яйця (їжа), гній (добриво), контроль шкідників (послуга) & дряпання (аерація грунту). Кожен результат направляється до процесу нижче за течією, а не залишає систему.

Модель фабрики MOAD будує подібний замкнений цикл. Кожна стадія виробляє результати, які живлять наступну:

Сканування виробляє: підтверджений екземпляр дефекту, карту місцезнаходження задіяних вузлів, оцінку серйозності на основі коефіцієнта центральності & трафіку.

Виправлення виробляє: виправлення коду, модульний тест, що підтверджує виправлення, дифф, придатний для перегляду супроводжувачами.

Пост MOAD виробляє: публічно-доменну статтю, яка пояснює клас дефекту, шаблон сканування & підхід до виправлення. Інтелектуальний капітал, який зберігається далеко за межами будь-якого одного екземпляра.

Розкриття CVE виробляє: стандартизований запис в NVD, який запускає автоматизовані сканери безпеки по всіх задіяних установках. Соціальний капітал для спільноти безпеки.

Вище по течії PR виробляє: виправлення в канонічному джерелі, поширюючись автоматично до всіх форків нижче за течією при їх наступному оновленні залежності.

Кожен результат живить назад: пост MOAD навчає дослідників знаходити нові екземпляри, які генерують нові сканування. Модульний тест стає регресійним охоронцем. Запис CVE підхоплює прийняття виправлення командами операцій, які інакше ігнорували б його. Цикл закривається.

Умова зупинки: виправлення розкрито без підтвердження пропускної здатності нижче за течією затоплює чергу. MOAD-0001 & MOAD-0005 связані: виправте O(N²) у вузлі з високим коефіцієнтом центральності й кожен процесор нижче за течією затоплюється одночасно. Принцип пермакультури дизайну для цілої системи також застосовується тут: оптимізуйте компонент, й ви можете створити нову вузька грла нижче за течією.

Відображення результатів на капітал

Конвеєр MOAD виробляє п'ять результатів: результат сканування, виправлення, пост MOAD, розкриття CVE & вище по течії PR.

Відобразьте кожен результат на форму капіталу, яку він головним чином зростає. Потім визначте, який один крок, якщо видалити, виробив би найбільше 'відходів' — найбільше неспрямованої енергії у системі — & поясніть чому.