В Яндексе много различных сервисов, и каждый из них представляет большой интерес не только для людей, но и для роботов. Роботный трафик, в первую очередь, создаёт излишнюю нагрузку на сервис, что может привести к нарушению его работоспособности или вовсе к отказу. Не всегда задачей робота является скачать информацию с ресурса. Робот (или даже целый ботнет) может совершать злонамеренную атаку с целью положить сервис — DDoS.
Много лет в Яндексе существует система «Антиробот», призванная защищать сервисы от DDoS-атак и парсинга. Это один из самых высоконагруженных сервисов в Рунете по количеству обрабатываемых запросов в секунду.
В этом докладе я постараюсь приоткрыть занавес и рассказать, как построить такой масштабируемый, отказоустойчивый и надёжный сервис с низким latency. Расскажу, что мы делаем, чтобы защититься от DDoS, покажу, как устроена архитектура антиробота и какие приёмы мы используем для быстрого расчёта факторов для моделей машинного обучения. Также расскажу, как устроена капча и как ещё можно издеваться над роботами.