Сходил для интереса на конфу для Java-разработчиков, хотя не пишу на Java уже давно (а на хорошем уровне не писал никогда).
Было много всего интересного, но особенно меня впечатлила лекция об истории развития этого языка. Java, на секундочку, вероятно самый распространённый язык программирования в мире с точки зрения количества разных устройств, на которых он присутствует. То есть буквально один из столпов современной цифровизации всего человечества.
Так вот, когда он только зарождался, компания Sun Microsystems наняла себе в помощь несколько сотен разработчиков из России, бОльшая часть которых сидела у нас в Питере — это были выходцы из матмеха СПбГУ. Более того — в какой-то момент именно питерская ячейка стала крупнейшей по числу инженеров, превзойдя даже ту, которая располагалась в Калифорнии. И люди периодически ездили в США, чтобы синхронизировать свою работу с тамошним офисом (пересылали diff репозитория архивами по почте!).
Потом Sun купила Oracle и постепенно ушла из России. Но вклад наши внесли, оказывается, очень существенный.
#dev
Перерисовал на эту тему картинку из XKCD
👨💻 Attacking Policy.
• Open Policy Agent — это open-source-инструмент контроля доступа, основанный на политиках, который создан в 2016 году и с тех пор стабильно развивается. Сейчас он входит в каталог дипломированных проектов Cloud Native Computing Foundation (CNCF). Его используют Netflix, Pinterest, TripAdvisor и другие компании.
• В этой статье перечислены определенные векторы атак, которые могут быть вызваны неправильной конфигурацией Open Policy Agent:
• Allowed Repositories;
• Automount Service Account Token for Pod;
• Block Endpoint Edit Default Role;
• Block Services with type LoadBalancer;
• Block NodePort;
• Block Wildcard Ingress;
• Disallow Interactive TTY Containers;
• Step-by-Step Instructions;
• Allow Privilege Escalation in Container;
• Step-by-Step Instructions;
• Privileged Container;
• Read Only Root Filesystem;
• Host Networking Ports;
• App Armor;
• SELinux V2;
• Resources.
#devsecops
👩💻 Attacking NodeJS Application.
- Use flat Promise chains;
- Set request size limits;
- Do not block the event loop;
- Perform input validation;
- Perform output escaping;
- Perform application activity logging;
- Monitor the event loop;
- Take precautions against brute-forcing;
- Use Anti-CSRF tokens;
- Prevent HTTP Parameter Pollution;
- Do not use dangerous functions;
- Use appropriate security headers;
- Listen to errors when using EventEmitter;
- Set cookie flags appropriately;
- Avoid eval(), setTimeout(), and setInterval();
- Avoid new Function();
- Avoid code serialization in JavaScript;
- Use a Node.js security linter;
- References.
#devsecops
👨💻 Attacking APIs \ Атаки на API.
• Программный интерфейс приложений (API) - фундаментальный элемент инноваций в современном, движимом приложениями мире. API - важная составляющая современных мобильных, SaaS и веб приложений, используемая в клиентских, партнерских и внутренних приложениях от банковской сферы, сфер розничных продаж и логистики до интернета вещей, автономных автомобилей и умных городов.
• По своей природе API раскрывают логику приложения и критичные данные, например, персональные данные, именно поэтому API все чаще становятся целью злоумышленников. Стремительные инновации невозможны без безопасных API. В этой статье рассматриваются общие векторы атак на API и приводятся примеры безопасной разработки.
➡️https://blog.devsecopsguides.com/attacking-apis
#devsecops
👨💻 Attacking Pipeline.
• DevOps resources compromise;
• Control of common registry;
• Direct PPE (d-PPE);
• Indirect PPE (i-PPE);
• Public PPE;
• Changes in repository;
• Inject in Artifacts;
• User/Services credentials;
• Typosquatting docker registry image;
• Resources.
#DevOps#DevSecOps