Skip to content

Commit

Permalink
owasp 4-10 ru translate
Browse files Browse the repository at this point in the history
  • Loading branch information
bogdan01m committed Dec 23, 2024
1 parent d35822e commit 861f63a
Show file tree
Hide file tree
Showing 7 changed files with 342 additions and 328 deletions.
80 changes: 44 additions & 36 deletions 2_0_vulns/LLM04_DataModelPoisoning.md
Original file line number Diff line number Diff line change
@@ -1,50 +1,58 @@
## LLM04: Data and Model Poisoning
## LLM04:2025 Отравление данных и модели

### Description
### Описание

Data poisoning occurs when pre-training, fine-tuning, or embedding data is manipulated to introduce vulnerabilities, backdoors, or biases. This manipulation can compromise model security, performance, or ethical behavior, leading to harmful outputs or impaired capabilities. Common risks include degraded model performance, biased or toxic content, and exploitation of downstream systems.
Отравление данных происходит, когда данные, используемые на этапах предобучения, дообучения или создания векторных представлений, манипулируются для введения уязвимостей, бэкдоров или искаженных представлениях данных (bias). Такие манипуляции могут нарушить безопасность, производительность или этическое поведение модели, что приводит к вредным выводам или снижению возможностей. Основные риски включают снижение производительности модели, создание предвзятого или токсичного контента, а также эксплуатацию зависимых систем.

Data poisoning can target different stages of the LLM lifecycle, including pre-training (learning from general data), fine-tuning (adapting models to specific tasks), and embedding (converting text into numerical vectors). Understanding these stages helps identify where vulnerabilities may originate. Data poisoning is considered an integrity attack since tampering with training data impacts the model's ability to make accurate predictions. The risks are particularly high with external data sources, which may contain unverified or malicious content.
Отравление данных может происходить на различных стадиях жизненного цикла больших языковых моделей (LLM), включая:
предобучение (обучение на общих данных), дообучение (адаптация модели под конкретные задачи), создание векторных представлений : преобразование текста в числовые векторы.
Понимание этих этапов позволяет выявить, где могут возникать уязвимости. Отравление данных считается атакой на целостность, так как подмена обучающих данных влияет на способность модели делать точные прогнозы. Особый риск представляют внешние источники данных, которые могут содержать непроверенную или вредоносную информацию.

Moreover, models distributed through shared repositories or open-source platforms can carry risks beyond data poisoning, such as malware embedded through techniques like malicious pickling, which can execute harmful code when the model is loaded. Also, consider that poisoning may allow for the implementation of a backdoor. Such backdoors may leave the model's behavior untouched until a certain trigger causes it to change. This may make such changes hard to test for and detect, in effect creating the opportunity for a model to become a sleeper agent.
Кроме того, модели, распространяемые через открытые репозитории или платформы с открытым исходным кодом, могут нести дополнительные риски, такие как вредоносное ПО, внедренное с использованием техник, например, вредоносного сериализованного файла (pickle), способного выполнять вредоносный код при загрузке модели. Отравление данных также может позволить внедрение бэкдоров, которые не проявляются до определенного триггера, что затрудняет тестирование и выявление таких уязвимостей. Это может превратить модель в спящего агента.
### **Примеры сценариев атак**

### Common Examples of Vulnerability
1. Злоумышленник искажает выводы модели, манипулируя данными обучения или используя техники инъекции промптов для распространения дезинформации.
2. Токсичные данные без должной фильтрации могут привести к созданию вредоносных или предвзятых выводов, пропагандирующих опасную информацию.
3. Конкурент или злоумышленник создает поддельные документы для обучения, что приводит к неправильным выводам модели.
4. Ненадлежащее фильтрование позволяет злоумышленнику вставить вводящие в заблуждение данные через инъекцию промптов, ухудшая качество выводов.
5. Нападающий использует техники отравления для внедрения триггерного бэкдора в модель, что может привести к обходу аутентификации, утечке данных или выполнению скрытых команд.
### Примеры уязвимостей

1. Malicious actors introduce harmful data during training, leading to biased outputs. Techniques like "Split-View Data Poisoning" or "Frontrunning Poisoning" exploit model training dynamics to achieve this.
1. Злоумышленники внедряют вредоносные данные в процессе обучения, что приводит к созданию предвзятых выводов. Методы, такие как "Split-View Data Poisoning" или "Frontrunning Poisoning", эксплуатируют динамику обучения модели.
(Ref. link: [Split-View Data Poisoning](https://github.com/GangGreenTemperTatum/speaking/blob/main/dc604/hacker-summer-camp-23/Ads%20_%20Poisoning%20Web%20Training%20Datasets%20_%20Flow%20Diagram%20-%20Exploit%201%20Split-View%20Data%20Poisoning.jpeg))
(Ref. link: [Frontrunning Poisoning](https://github.com/GangGreenTemperTatum/speaking/blob/main/dc604/hacker-summer-camp-23/Ads%20_%20Poisoning%20Web%20Training%20Datasets%20_%20Flow%20Diagram%20-%20Exploit%202%20Frontrunning%20Data%20Poisoning.jpeg))
2. Attackers can inject harmful content directly into the training process, compromising the model’s output quality.
3. Users unknowingly inject sensitive or proprietary information during interactions, which could be exposed in subsequent outputs.
4. Unverified training data increases the risk of biased or erroneous outputs.
5. Lack of resource access restrictions may allow the ingestion of unsafe data, resulting in biased outputs.
2. Нападающие могут непосредственно внедрять вредоносный контент в процесс обучения, что ухудшает качество вывода модели.
3. Пользователи случайно вводят конфиденциальную или проприетарную информацию при взаимодействии с моделью, которая затем может быть раскрыта в последующих выводах.
4. Непроверенные данные для обучения увеличивают риск создания предвзятых или ошибочных выводов.
5. Отсутствие ограничений на доступ к ресурсам может позволить загрузку небезопасных данных, что приводит к созданию предвзятых выводов.

### Prevention and Mitigation Strategies
### Стратегии предотвращения и смягчения рисков

1. Track data origins and transformations using tools like OWASP CycloneDX or ML-BOM. Verify data legitimacy during all model development stages.
2. Vet data vendors rigorously, and validate model outputs against trusted sources to detect signs of poisoning.
3. Implement strict sandboxing to limit model exposure to unverified data sources. Use anomaly detection techniques to filter out adversarial data.
4. Tailor models for different use cases by using specific datasets for fine-tuning. This helps produce more accurate outputs based on defined goals.
5. Ensure sufficient infrastructure controls to prevent the model from accessing unintended data sources.
6. Use data version control (DVC) to track changes in datasets and detect manipulation. Versioning is crucial for maintaining model integrity.
7. Store user-supplied information in a vector database, allowing adjustments without re-training the entire model.
8. Test model robustness with red team campaigns and adversarial techniques, such as federated learning, to minimize the impact of data perturbations.
9. Monitor training loss and analyze model behavior for signs of poisoning. Use thresholds to detect anomalous outputs.
10. During inference, integrate Retrieval-Augmented Generation (RAG) and grounding techniques to reduce risks of hallucinations.
1. Отслеживайте происхождение данных и их преобразования с помощью инструментов, таких как OWASP CycloneDX или ML-BOM. Проверяйте легитимность данных на всех этапах разработки модели.
2. Тщательно проверяйте поставщиков данных и проверяйте выводы модели, сравнивая их с доверенными источниками для выявления признаков отравления.
3. Реализуйте строгую изоляцию (sandboxing), чтобы ограничить доступ модели к непроверенным источникам данных. Используйте методы обнаружения аномалий для фильтрации вредоносных данных.
4. Используйте специализированные наборы данных для дообучения модели под конкретные задачи, чтобы улучшить точность выводов.
5. Убедитесь, что инфраструктура контролирует доступ модели к нежелательным источникам данных.
6. Применяйте управление версиями данных (DVC), чтобы отслеживать изменения в наборах данных и выявлять манипуляции.
7. Храните информацию, предоставленную пользователем, в векторной базе данных, что позволяет вносить изменения без необходимости полного переобучения модели.
8. Тестируйте устойчивость модели с помощью "красных команд" и техники противодействия, такие как федеративное обучение, для минимизации воздействия искажений данных.
9. Отслеживайте потери на этапе обучения и анализируйте поведение модели на наличие признаков отравления. Устанавливайте пороговые значения для выявления аномальных выводов.
10. Во время вывода данных используйте методы, такие как Retrieval-Augmented Generation (RAG), чтобы снизить риск ложных данных (галлюцинаций).

### Example Attack Scenarios
### Примеры сценариев атак

#### Scenario #1
An attacker biases the model's outputs by manipulating training data or using prompt injection techniques, spreading misinformation.
#### Scenario #2
Toxic data without proper filtering can lead to harmful or biased outputs, propagating dangerous information.
#### Scenario # 3
A malicious actor or competitor creates falsified documents for training, resulting in model outputs that reflect these inaccuracies.
#### Scenario #4
Inadequate filtering allows an attacker to insert misleading data via prompt injection, leading to compromised outputs.
#### Scenario #5
An attacker uses poisoning techniques to insert a backdoor trigger into the model. This could leave you open to authentication bypass, data exfiltration or hidden command execution.
#### Сценарий #1
Злоумышленник искажает выводы модели, манипулируя данными обучения или используя техники инъекции промптов для распространения дезинформации.
#### Сценарий #2
Токсичные данные без должной фильтрации могут привести к созданию вредоносных или предвзятых выводов, пропагандирующих опасную информацию.
#### Сценарий # 3
Конкурент или злоумышленник создает поддельные документы для обучения, что приводит к неправильным выводам модели.
#### Сценарий #4
Ненадлежащее фильтрование позволяет злоумышленнику вставить вводящие в заблуждение данные через инъекцию промптов, ухудшая качество выводов.
#### Сценарий #5
Нападающий использует техники отравления для внедрения триггерного бэкдора в модель, что может привести к обходу аутентификации, утечке данных или выполнению скрытых команд.

### Reference Links
### Ссылки на источники

1. [How data poisoning attacks corrupt machine learning models](https://www.csoonline.com/article/3613932/how-data-poisoning-attacks-corrupt-machine-learning-models.html): **CSO Online**
2. [MITRE ATLAS (framework) Tay Poisoning](https://atlas.mitre.org/studies/AML.CS0009/): **MITRE ATLAS**
Expand All @@ -58,9 +66,9 @@ Moreover, models distributed through shared repositories or open-source platform
10. [arXiv:2401.05566 Sleeper Agents: Training Deceptive LLMs that Persist Through Safety Training](https://www.anthropic.com/news/sleeper-agents-training-deceptive-llms-that-persist-through-safety-training) **Anthropic (arXiv)**
11. [Backdoor Attacks on AI Models](https://www.cobalt.io/blog/backdoor-attacks-on-ai-models) **Cobalt**

### Related Frameworks and Taxonomies
### Связанные фреймворки и таксономии

Refer to this section for comprehensive information, scenarios strategies relating to infrastructure deployment, applied environment controls and other best practices.
Обратитесь к этому разделу для получения подробной информации о сценариях, стратегиях, связанных с развертыванием инфраструктуры, управлением рабочей средой и другими передовыми практиками.

- [AML.T0018 | Backdoor ML Model](https://atlas.mitre.org/techniques/AML.T0018) **MITRE ATLAS**
- [NIST AI Risk Management Framework](https://www.nist.gov/itl/ai-risk-management-framework): Strategies for ensuring AI integrity. **NIST**
Loading

0 comments on commit 861f63a

Please sign in to comment.