Пишут, что в Сан-Франциско активисты блокируют автомобили-роботы при помощи пластиковых дорожных конусов, которые просто устанавливают на капот автомобиля: с конусом автомобиль ехать не может, вероятно, из-за проблем с обзором; а снять конус с капота – некому. Вообще, автомобиль мог бы сбивать такие помехи специальным водомётом, который водомёт ещё и для разгона зазевавшихся пешеходов полезен. Это, впрочем, оставлено на будущее. Процитирую свою недавнюю записку по теме:
Автомобиль-робот так или иначе вынужден действовать под управлением (с некоторой степенью эффективности) внешних, дистанционных сигналов. Просто, сигналы эти поступают через видеокамеры, лидары/радары и прочие датчики. Так, автомобиль, предположим, использует системы машинного зрения, чтобы определять собственное положение и даже скорость (как вектор), а также и наблюдать окружающую обстановку. Злоумышленник может попытаться эти системы обмануть. Вполне себе кибератака. Описано множество вариантов, начиная от человека в футболке с нарисованным дорожным знаком и вплоть до контрастных рисунков вдоль дороги, которые активируют “недокументированные возможности”. Второй вариант, кстати, вовсе не выглядит фантастичным – скажем, автомобиль, обнаружив соответствующий рисунок на стене дома, начинает двигаться прямо на этот самый рисунок. Естественно, в последний момент его останавливает встроенная аварийная система. Или не останавливает.
(via)
Комментировать »
Рассказывают, что самоуправляемые автомобили-такси (например, “Яндекса”, но тут это не так важно) не зависят от помех GPS и “не подвержены кибератакам”, так как используют для навигации автономные системы, установленные непосредственно на автомобиль. Под “кибератаками”, судя по всему, имелось в виду дистанционное вмешательство через сети связи. Несомненно, идея обеспечить движение такого автомобиля без использования “внешней” спутниковой навигации – здравая и очень правильная. Инерциальная система и способность привязки к карте по окружающей конфигурации объектов – это гораздо надёжнее, чем спутниковый сигнал, который сегодня ещё есть, но уже в полдень начинает показывать на тыквенные поля, находящиеся далеко за пределами города.
Другое дело, далеко не факт, что конкретный самоуправляемый автомобиль-такси действительно умеет привязываться к карте по данным видеокамер и лидаров. Технически это реализовать можно, но вот на основе спутниковой системы, с минимальной локальной коррекцией по наличию туннелей и эстакад, а также по свежим бордюрам и другим автомобилям, двигаться проще. Однако эта записка о другом аспекте проблемы. Предположим, что самоуправляемый автомобиль-робот всё же имеет автономную навигацию, а кроме того – не подключен к сетям передачи данных общего пользования (типа Интернета). Какие направления кибератак остаются? А остаются самые интересные.
Автомобиль-робот так или иначе вынужден действовать под управлением (с некоторой степенью эффективности) внешних, дистанционных сигналов. Просто, сигналы эти поступают через видеокамеры, лидары/радары и прочие датчики. Так, автомобиль, предположим, использует системы машинного зрения, чтобы определять собственное положение и даже скорость (как вектор), а также и наблюдать окружающую обстановку. Злоумышленник может попытаться эти системы обмануть. Вполне себе кибератака. Описано множество вариантов, начиная от человека в футболке с нарисованным дорожным знаком и вплоть до контрастных рисунков вдоль дороги, которые активируют “недокументированные возможности”. Второй вариант, кстати, вовсе не выглядит фантастичным – скажем, автомобиль, обнаружив соответствующий рисунок на стене дома, начинает двигаться прямо на этот самый рисунок. Естественно, в последний момент его останавливает встроенная аварийная система. Или не останавливает. Впрочем, основным полезным свойством всякого автопилота в автомобиле, действующего в помощь водителю, должно являться противодействие попыткам “врезаться в стену”. Вот только в самоуправляемом автомобиле нет водителя.
Лидары и радары, установленные на самоуправляемом автомобиле, тоже представляют собой канал для внешних кибератак. Помеха для радара (лидара) может быть простой пассивной, например, внезапно раскрываемый на том или ином направлении отражатель необычной конфигурации (в теории, можно имитировать фантомный автомобиль или пешехода). Возможны и хитрые активные помехи, ничуть не хуже случая с GPS. Активные помехи сложнее формировать, однако составляющий их сигнал будет доставляться в системы автомобиля и, сколь бы странным это сейчас ни казалось, не очень-то трудно поверить даже в RCE-атаки (удалённое исполнение кода) на этом направлении в не столь отдалённом будущем (если, конечно, развитие систем продолжится). Кстати, куда более вероятным транспортом для RCE тут являются разнообразные радиосигналы, которые планируется использовать для обмена информацией между самоуправляемыми автомобилями. Само направление кибератак по радиоканалам – ничем не отличается от старинной темы автомобильных сигнализаций и систем “бесключевого” доступа. Впрочем, последние сейчас уже прошли соответствующие этапы эволюции и позволяют организовать взлом через каналы связи, предназначенные для приложений в смартфоне, а значит, не подходят под ограничение, установленное в начале этой заметки – не использовать подключение к Интернету. Если, конечно, “бесключевой” доступ не реализован при помощи bluetooth-соединения. И этот второй аспект приводит нас к очередному направлению кибератак на автомобили-роботы, особенно, на такси.
Сети есть внутри автомобиля. Кто сказал, что взломанный смартфон пассажира не может сыграть роль узла-прокси, открыв доступ “из Интернета”? Никто такого не скажет: вполне возможно, что подобный проксирующий бот, действующий через подключение к системе развлечения (“хочу свою музыку ставить”) внутри автомобиля-робота, как раз и обеспечит нужный канал для злоумышленников. Дальше, конечно, предстоит оценивать возможности по проникновению из “развлекательного” сегмента в сети управления. Согласно различным рекомендациям, сети эти должны быть разделены на физическом уровне. Соблюдается ли данное правило? Не факт.
Комментировать »
Что может сделать небольшой “гражданский дрон” (беспилотник) в случае, если из-за помех нет связи с пультом управления и также потерян сигнал спутниковой навигации? Понятно, что самое простое – это попытаться относительно медленно спуститься вниз и приземлиться. Такой вариант обычно и запрограммирован. Но оператору хотелось бы, чтобы дрон вернулся к нему в любом случае, если не точно в точку старта, то хотя бы оказался неподалёку от неё.
Понятно, что если навигационная полностью система полагается на сигналы спутников (пусть это GPS, не так важно), то в условиях, когда эти сигналы недоступны из-за помех, беспилотник уже не может не то что вернуться в точку старта, но и нормально продолжать полёт. Конечно, проблему решает автономная инерциальная система навигации. Это самый надёжный вариант.
Качественная и надёжная инерциальная система заметно повысит стоимость беспилотника: комплектующие для точной и лёгкой системы могут оказаться дороже, чем сам аппарат-носитель – речь ведь идёт об относительно недорогом устройстве. Но, с другой стороны, можно взять дешёвые массовые сенсоры, используемые в смартфонах.
Да, точность в таком случае окажется низкой, будет накапливаться ошибка. Накопление ошибок – это основная проблема инерциальной навигации (для всех аппаратов, а не только для “гражданских беспилотников”). Даже небольшое, но непредсказуемое, “мгновенное отклонение” показателей датчиков, за несколько десятков минут полёта с интенсивным маневрированием вполне может привести к уводу измеряемых координат на сотни метров от реального положения аппарата. Но нам-то нужно решить довольно узкую задачу: автономное возвращение к оператору в критическом случае. Так что условия использования инерциальной навигации – тепличные: во-первых, пока работает спутниковая навигация, инерциальную систему можно эффективно корректировать, а история коррекции поможет фильтровать ошибки и после того, как аппарат перейдёт на полностью автономный полёт; во-вторых, возвращение к оператору должно происходить кратчайшим путём и без излишнего маневрирования, поэтому, в большинстве сценариев, автономный полёт займёт всего несколько минут, а аппарат будет стараться сохранять оптимальные для обеспечения точности “аварийной навигации” параметры ускорения. В общем, даже простая и не очень точная инерциальная система – справится.
Тут есть ещё один, весьма важный, момент: дрон мог находиться за каким-то препятствием, например, за углом здания – поэтому вернуться по прямой не выйдет, а для того, чтобы проложить безопасную траекторию, нужно знать, где возможен безопасный полёт. Это означает, что на борту требуется карта, на которой обозначены коридоры безопасного возвращения. Это, впрочем, не слишком сложная проблема: просто, перед началом полёта, придётся разметить эти самые коридоры, ну или надеяться на то, что дрону повезёт.
Современный дрон содержит камеру, часто – не одну. Это хорошее подспорье для создания автономной навигации. Так, параметры движения можно определять по перемещению в поле зрения объектива “текстур” поверхности, над которой происходит полёт. Этот приём некоторые разработчики любительских дронов уже используют. Другой вариант – применение простого машинного зрения: у оператора может быть с собой некая визуальная метка (табличка с QR-кодом, например), в случае потери связи, оператор показывает эту метку в сторону дрона – если последний находится в прямой видимости, то он сможет обнаружить метку с помощью камеры и лететь в её сторону (дальность легко вычислить, зная оптические параметры объектива). Понятно, что метка должна быть не слишком маленькой, а объектив и камера – позволять её обнаружить.
Неплохим развитием этой идеи является какой-либо активный оптический канал, например, лазерный фонарик, который светит в сторону дрона некоторым модулированным сигналом. Во-первых, подобному сигналу на практике сложно поставить помеху (из-за того, что приёмник может быть выполнен узконаправленным, а помехопостановщик не сможет принимать подавляемый сигнал, если только не находится между дроном и источником, либо не видит каких-то отражений); во-вторых, сам сигнал может передавать дрону значение дальности до источника, а азимуты – определит приёмник.
Итак, даже у любительского дрона может быть целый арсенал средств, обеспечивающих более или менее надёжный возврат к оператору и в полностью автономном режиме, и в режиме, когда оператор подаёт аварийный опорный оптический сигнал. Но, конечно, в коммерческих гражданских дронах эти методы вряд ли реализуют.
Комментарии (1) »
Есть совсем маленькие беспилотники, точнее, дроны. Например, Black Hornet PRS от FLIR, имеет длину всего около 16 сантиметров (согласно описанию). Этот дрон предназначен для разведки на местности – он передаёт оператору видео (в том числе, есть ИК-камера) и фотографии, заявленная дальность связи – до двух километров.
Как можно обнаруживать такие микроскопические аппараты? Понятно, что он довольно тихий. Просто разглядеть глазами или в бинокль – весьма сложно, из-за маленьких размеров (конечно, аппарат должен быть окрашен в соответствующий окружению цвет). Компактная РЛС для охраны периметра, с одной стороны, может такой аппарат увидеть, так как у него есть быстро вращающийся винт. Но, с другой стороны, винт можно выполнить из радиопрозрачного материала, а главная проблема будет в том, что РЛС с соответствующей чувствительностью начнёт видеть птиц, стрекоз и подобные объекты, чем создаст большой поток ложных срабатываний. Впрочем, у дрона должна быть антенна. В частности, конкретный вариант от FLIR содержит некий проводок, подвешенный снизу. Антенна резко увеличивает шансы по обнаружению силами той или иной РЛС.
Вероятно, какие-то хорошие результаты можно получить в терагерцевом диапазоне, если добавить в РЛС систему автоматического распознавания образов. Многообещающе выглядит связка РЛС + тепловизор/ИК-камера: по сигналу тепловизора можно эффективно отсеивать теплокровных живых существ, картинка в ИК-диапазоне позволит точнее определять летающих насекомых, падающие листья и другие природные эффекты. Особенно неплохо должна работать камера со стробоскопической подсветкой. Правда, никто не мешает получше замаскировать дрон, чтобы он стал похож на стрекозу, но это дополнительные расходы энергии и трудности проектирования.
У дрона, кстати, тоже есть камера. Камера является основным его полезным прибором. То есть, можно попробовать обнаруживать присутствие оптики в воздухе, например, при помощи лидара. Другое возможное направление – обнаружение полупроводниковой начинки. Если использовать вторичные излучения, как в нелинейном локаторе, то потребуется подсвечивать пространство довольно мощным лучом, чтобы обеспечить разумную дальность, а это не слишком хорошо.
Естественно, есть ещё один логичный вариант – попытаться детектировать радиосигнал, с помощью которого дрон транслирует картинку. Это очень хороший вариант: детектор может быть миниатюрным и точным. Но сработает только в том случае, если дрон не маскирует радиосвязь, например, применяя специальный шумоподобный сигнал с очень широкой полосой частот. А разведывательный дрон, понятно, именно так и должен делать.
В общем, средства обнаружения оказываются довольно сложными и большими. Их не так легко развернуть где-то в полевых условиях, тем более, унести с собой. А вот сам дрон – остаётся маленьким и полезным.
Комментарии (1) »
В комментариях напомнили про испытания стай миниатюрных беспилотников, которые сбрасывают с самолёта в непосредственной близости от района применения. Стаю нужно называть mesh-сетью, потому что беспилотники-участники обмениваются между собой данными. Связь достаточно устойчивая: протоколы позволяют динамически подстраивать её параметры под изменяющиеся условия – например, если часть беспилотников потеряна. Управление стаей может осуществляться дистанционно, но она с не меньшим успехом способна выполнять и заранее загруженную в память задачу.
Если беспилотники действительно небольшие, то они, даже в значительном количестве, не годятся на роль эффективного ударного средства. Естественно, можно оснастить каждый из аппаратов каким-то маломощным оружием, но из-за того, что дополнительные ресурсы, необходимые для транспортировки этого оружия, оказываются размазаны по десяткам и сотням составляющих аппаратов, суммарный ударный выход “по стае” окажется мал. (Что, конечно, не исключает возможности использования стаи для нанесения удара, скажем, даже по танку, но составляющие такую стаю беспилотники должны быть большими.) А вот для разведки, для задач активной РЭБ и проведения диверсий – стаи мелких летающих роботов очень хороши.
Интересно, как с ними можно бороться. Первое, что обычно упоминают, это электромагнитные импульсы (ЭМИ), которые могут вывести из строя микроэлектронную начинку. Тут нужно учитывать несколько моментов. Да, импульс с достаточной энергией может сжечь что угодно (даже монолитный шар из радиопрозрачного пластика). Но такой “мазер” получится большим, сложным в эксплуатации (не испортить бы свои устройства), потребляющим кучу энергии. А если он есть, то выводить из строя можно сразу самолёты-носители. А системы малой энергии неэффективны: для уничтожения стаи – нужно достаточно долго светить на каждый из беспилотников, если стая разбежалась, то придётся перемещать луч. Кроме того, от излучений с малой энергией отдельный аппарат, даже небольшой, можно хорошо защитить, использовав, например, экраны и специальные комплектующие. А основная проблема возникнет с наведением импульсов: стая распределена по большому сектору пространства и маневрирует, беспилотники видны плохо.
Стая полезна только тогда, когда аппараты действуют сообща. Для координации действий беспилотникам нужно поддерживать связь. Поэтому следующий за ЭМИ вариант – постановка помехи, которая затруднит связь. Но аппаратам, составляющим стаю, не обязательно передавать друг другу большие потоки информации. А низкоскоростная радиосвязь может быть не только чрезвычайно устойчивой к помехам (например, за счёт использования широкого спектра частот и защищённого кодирования), но и скрытной – обнаружить сигналы и раскрыть их кодирование, для постановки активной помехи, непросто. Более того, связь между аппаратами может быть оптической, например, с использованием лазерного излучения (это сложно, но вполне возможно).
Именно упоминание оптических каналов связи наводит на следующую мысль: для борьбы со стаей можно использовать некоторое облако пыли, которое распыляется непосредственно на саму стаю. Пыль, во-первых, нарушает коммуникации (не только оптические, понятно); во-вторых, пыль будет забивать механизмы и выводить их из строя. Конечно, механизмы можно защитить, но в случае с вращающимися винтами это существенно увеличивает сложность конструкции и её вес. Например, даже если исключить из рассмотрения приводы лопастей, быстро вращающийся в пыли винт может начать накаливать поверхностный электрический заряд, заряжая, тем самым весь корпус аппарата. Вроде бы, заряд не так страшен, но он может мешать работе электронных устройств не меньше направленных ЭМИ. А главное, через облако пыли сложно собирать данные.
Вариантом, сходным с облаком, является механическая заградительная сеть (использовалась в воздухе ещё в прошлом веке). Возможно создание огромной по площади сети из лёгкого, но достаточно прочного волокна. Такая сеть будет длительное время оставаться в воздухе сама по себе. Сеть сбрасывается с самолёта, либо выстреливается из специальной пушки, внутри снаряда, который раскрывается в нужной точке пространства. Беспилотники вряд ли смогут обнаружить сеть, а вот залететь в неё, намотав составляющие ячейки на лопасти винтов – это запросто. Несколько сетей – стая поймана и падает вниз.
Сеть выглядит весьма неплохо. Так как беспилотники небольшие, можно сделать сеть безопасной для людей и прочей техники – её будет несложно разорвать. Можно заранее спроектировать волокна так, что они будут разрушаться через несколько часов, скажем, под воздействием атмосферного кислорода. Сеть, вместе со средствами доставки, стоит заметно дешевле стаи беспилотников и дешевле продвинутого источника ЭМИ. Однако и в случае с облаком пыли, и в случае с сетью – остаётся проблема своевременного обнаружения стаи беспилотников и наведения средств доставки. Впрочем, сети можно заранее развешивать в воздухе при появлении каких-то подозрений.
Комментарии (7) »
У DARPA есть программа Gremlins, в рамках которой разрабатывают методы возвращения групп беспилотников на борт самолёта-носителя, который находится в воздухе. То есть, сперва большой транспортник (в программе речь про C-130), находящийся за пределами досягаемости ПВО, выпускает множество беспилотников, они отправляются выполнять задачи, а потом транспортник (возможно, другой) подбирает вернувшиеся. Всё это происходит в воздухе, что обеспечивает системе гибкость. При этом беспилотники можно использовать несколько раз.
В описании сказано, что речь идёт о разведывательных аппаратах, а не об ударных. Это связано с тем, что для ударных беспилотников такая схема не столь актуальна: речь же идёт о возвращении аппаратов, а ударный беспилотник, стартующий с борта носителя – это, вообще говоря, ракета, поэтому должен применяться в одну сторону. Беспилотные системы, которые атакуют цели ракетами, уже есть, но использовать их с транспортного самолёта несколько странно, так как получается целых три уровня вложенности. Понятно, ничто не мешает распространить решение и на ударные аппараты, тогда получится что-то вроде возвращаемых ракет или варианта барражирующих боеприпасов.
Комментарии (1) »
Wired пишет про то, как доступный беспилотник использовали для разрисовки огромного рекламного щита в Нью-Йорке, прицепив к аппарату баллончик с краской. Событие характеризуют как первый случай дрон-вндализма. Краска весит не так много, если пересчитать на покрываемую площадь поверхности. Основным недостатком использованной схемы с простой подвеской баллончика является то, что для рисования нужно перемещать дрон. Правильным развитием идеи является оснащение дрона небольшим пневматическим “краскопультом”, стреляющим красящими каплями. Красящее устройство должно быть подвижным, тогда дрон сможет зависнуть неподалёку от атакуемой поверхности, пока “краскопульт” отрисовывает нужную надпись или картинку. (В качестве прототипа годится ружьё для пейнтбола, правда, там используются шарики с краской, что не даст нужной точности в форме пятна.)
Комментарии (1) »
Беспилотники, даже небольшие, позволяют решать множество задач, начиная от детальной разведки позиций противника и вплоть до нанесения ударов (если высока точность, а доставка практически гарантирована, то можно обойтись небольшой массой боевой части). При этом беспилотник, размером в два-три метра, весьма сложно обнаружить, но улететь с заметной полезной нагрузкой он может на несколько десятков километров, а то и дальше – всё зависит от конструкции.
Небольшой беспилотник несложно сделать действительно малозаметным. Во-первых, использование подходящих материалов и формы позволяет снизить до совсем незаметных величин показатель ЭПР, что сразу отсекает большое число РЛС различных типов, так как на столь малые цели они, обычно, не реагируют (иначе птицы и насекомые сильно портили бы картину; хотя, конечно, быстрые цели можно от птиц уверенно отличать). Во-вторых, применяемые двигатели (либо внутреннего сгорания, либо вообще – электрические) резко снижают светимость в ИК-диапазоне. В-третьих, прозрачные элементы, адаптивная окраска, – понижают визуальную заметность. (Кстати, визуально обнаружить малый аппарат поможет небольшой телескоп, но только если погода ясная.)
Что остаётся? УФ-диапазон, например, но он сильно ограничен в применении, а ночью – вообще нет пользы. Акустические системы не так зависят от погоды и времени суток, но аппарат должен быть действительно шумным, что не характерно для многих современных компактных двигателей и аэродинамических схем.
Предположим, что беспилотник оборудован РЛС, тогда становится возможным принимать сигналы этой РЛС и вычислять положение источника по ним. Однако раз уж беспилотник малозаметный, то и радар он использует с особым сигналом (LPI – с низкой вероятностью обнаружения). Такие сигналы сложно отличить от шума, если только детектор не знает ключей. Примерно та же история и с системами связи: они используют шумоподобный сигнал, узконаправленные антенны, либо вообще – лазерное излучение.
Некоторые шансы дают аэродинамические возмущения, которые неизбежно возникают в атмосфере при перемещении летательного аппарата. Но если беспилотник не гиперзвуковой, то и шансы эти призрачны.
Проблем с обнаружением много. Существенно больше, чем в случае с классическими самолётами (в том числе, малозаметными) – они, как минимум, обязаны быть относительно большими. А по беспилотникам существующие системы просто не работают. Поэтому без беспилотников-охотников – просто не обойтись.
Комментарии (12) »
Внутри типичного компьютера много устройств, управляемых встроенными в них микроконтроллерами. Эти микроконтроллеры обычно вообще никак не видны операционной системе или, скажем, коду BIOS. Но при этом они оснащены памятью, имеют достаточно высокую производительность и позволяют делать много интересного, чем и привлекают специалистов в области информационной безопасности. Привлекают, надо сказать, очень давно. Особенно многообещающе выглядят векторы атак, связанные с устройствами хранения данных. Причина в том, что код, исполняемый микроконтроллером, оказывается в привилегированном положении: он может изменять данные, например, считываемые с жёсткого диска, но при этом никак не ограничен в правах доступа операционной системой или каким-нибудь другим элементом вычислительной системы. То есть, микроконтроллер имеет своего рода “рутовый доступ”.
Конечно, об этом известно давно. Есть немало практических демонстраций. Например, в одной из них (это 2013 год) изменённый программный код микроконтроллера позволяет подменять данные, считываемые с жёсткого диска, тем самым создавая универсальный инструмент получения неограниченного удалённого доступа к серверу. Вчера про “дополнительное ПО” в контроллерах жёсткого диска сообщили из “Лаборатории Касперского”. Этого, конечно, можно было ожидать. Интересно, что антивирусное ПО обнаружить такую “полезную нагрузку” не может, так как полное сканирование памяти микроконтроллеров потребует специального оборудования.
Комментарии (6) »
Продолжение ограничений: из-за скандала вокруг беспилотника, упавшего неподалёку от Белого дома в Вашингтоне, компания DJI (они выпускают одни из самых распространённых “потребительских” беспилотников) обещает внести данный регион в список “закрытых зон”, в рамках очередного обновления ПО. То есть, там просто появится запрет, работающий на основе GPS.
Такое решение подразумевает, что закрытые зоны не используют “глушилки” GPS – а как иначе дрон определит, что находится в запретной зоне? Вообще, следующим шагом следует ожидать утверждения перечня требований по лицензированию выпускаемых беспилотников, и в данный перечень войдёт, кроме прочего, наличие особого унифицированного интерфейса, позволяющего сотрудникам уполномоченных государственных служб перехватывать управление всяким дроном с помощью своего пульта. Скорее всего, это будет не пульт, конечно, а автоматизированный брелок, дающий команду на посадку. Удобно. (Примерно также будут действовать автомобили-роботы, кстати, если кто-то ещё сомневается.)
Комментарии (6) »
Любительские беспилотники уже давно используют для доставки различных нелегальных грузов, либо для доставки грузов вполне легальных, но на территорию, где они запрещены (что, впрочем, делает грузы нелегальными). Автономные беспилотники, умеющие осуществлять полёт по маршруту, хорошо подходят для решения таких задач. Впрочем, именно такое использование и подстёгивает появление средств перехвата беспилотников.
Наверное, по заведомо “противозаконному” беспилотнику может вести огонь полиция, так как тем самым прекращается обнаруженное правонарушение. Естественно, стрельба боевыми из табельного карабина (из пистолета в беспилотник попасть шансов слишком мало) тут не будет приветствоваться, так как оснований совсем не достаточно. Зато какой-нибудь вариант медленных резиновых пуль, выпускаемых специальным ружьём – вполне годится.
Комментарии (8) »