Pull to refresh
4
0

Архитектор и разработчик ПО

Send message
Можно добавить, что 486 — первый в линейке x86 у кого было невозможно предсказать точное время выполнения операций в тактах за счет кэша, подробности работы которого не раскрывались производителем. Дальше все стало еще сложнее, и сейчас можно очень примерно говорить даже об относительной скорости выполнения команд.
Согласен, тоже не думаю, что все прямо так параноидально. Тут много аспектов. С одной стороны массовая аналитика пока не очень помогает ни угадать точные предпочтения (разве она предсказала хоть один мем?), ни предотвратить преступления. Хотя совсем бесполезной ее тоже назвать нельзя, но то ли данных недостаточно, то ли алгоритмы несовершенны, поэтому собирают как можно больше всего, до чего можно дотянуться в надежде что в будущем-то уж точно пригодится. С другой стороны правило «nothing, but us» требует, чтобы данные собирались выборочно, а это технически невозможно, поэтому совсем уж приватные данные не берут, иначе обязательные утечки могут натворить много бед для тех самых «выборочных».
Есть простое правило: если вы что-то выложили в (или передали через) интернет — это останется там навсегда и может быть использовано против вас. Пока хранение очень дешевое, вспомним инициативы по хранению всего траффика, это тем более истинно. Даже если предположить что какой-то сайт честно удалит ваши данные, где гарантия что их удалят также все остальные, кто имел к ним доступ и скопировал их себе «на всякий случай» для аналитики?

p.s. поработайте в отделе аналитики крупной фирмы (с миллионами пользователей) — ваша уверенность в правиле, которое я описал в начале, многократно усилится.
Ну давайте попробуем по пунктам разобраться за и против телеметрии.

Во-первых, это уже сейчас позволяет пусть и частично, но монетизировать «бесплатные» сервисы, коих сейчас развелось очень много. Да, пока эффективность рекламы не ахти, и софт развивающийся в сторону хотелок большинства, которое не смогло отключить телеметрию (типичная ошибка выжившего, кстати!) тоже обрастает странной функциональностью, но все же это уже сейчас как-то ковыляет, иначе бы тех же бесплатных сервисов было бы намного меньше, а они всё же народу нравятся в большинстве своём.
Во-вторых, разумеется есть надежда, что количество перерастет в качество, ИИ и все такое, ага. А как это проверить? Ну только собирать еще больше в надежде, что пригодится рано или поздно. Да, в теории это может оказаться пузырём, но пока ему ещё надуваться и надуваться, я думаю в ближайшие лет десять точно, а там посмотрим.
В третьих, если не знаешь что делать с информацией сам — продай ее тому кто думает, что знает. Или поторгуйся с гос. органами за какие-нибудь плюшки ради слива этих данных им. Короче, любая информация — это потенциально деньги, главное уметь продать.
В четвертых, есть куча заинтересованных в сборе огромных объемов, те же гос. органы, например. Они вообще хотят знать всё, а в телеметрии тоже есть чем поживиться. Поэтому конечно собирают, и будут собирать еще больше, столько смогут собрать в принципе, по крайней мере пока передача и хранение достаточно дешевое. Тут, как говорится, лучше знать что-то, чем не знать, а вдруг пригодится потом?

Так что все в пользу сбора. А что против?
Во-первых, недовольство пользователей. Но ведь недовольны не все и даже не подавляющее большинство, значит компаниям как правило всё равно. Особо недовольные всегда будут искать способы либо отключить сбор, либо перейти на другие сервисы и ПО.
Во-вторых, приватность и утечки. Ну это, конечно, в целом некая проблема, но по факту сообщество начнет чесаться только если утечет что-то очень важное и ценное, так чтоб скандал получился на весь мир и последствия были бы страшными. Пока ничего подобного не утекало, да и ничего особо ценного и важного в телеметрии стараются не собирать (пока?), так что утечки будут и дальше, приватность будет нарушаться, но большинству всё равно.
Просто захотелось иметь в коллекции самописных C++ библиотек собственную реализацию кодирования Рида-Соломона. Интересно разобраться.

Когда-то давно сам разбирался с этим. Для микроконтроллеров понял, что обобщенные варианты достаточно сложны и не приносят пользы, за исключением возможности варьировать параметры. Поэтому я сделал модель, выбрал нужные параметры кодера, зафиксировал их, а потом сделал реализацию со сквозной оптимизацией кодека типа (15,11) в поле GF(256). Правда в моем случае декодер работал на более мощной железке, но зато кодеру не нужно было почти ничего: для ускорения можно было использовать 8 таблиц по 16 байт, но если памяти не хватало — можно было вычислять всё вообще без использования каких-либо таблиц, но чуть медленнее. Вся схема чудесно трудилась кажется на MSP430C1132 (не помню точно номер за давностью лет), где было всего-то 128 байт памяти.
А можно вопрос? Если диск был полностью зашифрован — это усложняет восстановление? А если там по кругу писалось сжатое видео с камеры — это усложнит? Иными словами, можно ли восстановить абстрактные данные или нужно понимание что это за данные, как и чем они были получены?
Какое-то сложное получилось обобщенное умножение, есть же варианты проще. И через таблицы степеней/логарифмов и через композитные поля и через разделение на группы битов. И все это хорошо ложится на микроконтроллеры, а композитные поля еще полезны при реализации в железе.

Прямо хоть самому статью написать про это. Только не знаю, будет ли интересно кому-нибудь? Ведь вроде же вся информация и так есть в разнообразных научных статьях.
Очевидно, что если данные агрегируют в огромные базы, то они либо 100% утекут, либо доступ к ним будут продавать — это вопрос только времени. Основной аргумент при заведении ещё одной базы — на ней можно неплохо подзаработать, т.е. давайте её соберём, а там и покупатели найдутся, а если сразу не найдутся — то немного шантажа, и спрос пойдёт. Так что ждите новых инициатив вида «а что бы ещё собрать в большую базу?»
Очень обидно, что всех программистов почему-то считают обязанными знать всякие web-технологии, но при этом забывают про все остальные, коих намного порядков больше. Мир программистов не заканчивается frontend'ом и backend'ом, даже несмотря на текущую популярность этих направлений. Главное, на мой взгляд — умение учиться и учить других, объяснять свои мысли и код самим кодом, комментариями, документацией. Широта кругозора важна для общего понимания вещей, но при этом надо уметь быстро погружаться в конкретику. И неважно, очередной это новомодный фреймворк или протокол связи с интерферометром.
Да сейчас все подряд слушают траффик, если могут — то весь. Или даже при подключении по ssh через wi-fi ближайшей кафешки надо оборачиваться в vpn? Вроде ж технически не должно быть очень сложно, вот и подумалось, что решения есть. Нагуглил: cryptknock.sourceforge.net и github.com/ashemery/tariq
А не подскажете, бывает динамический port knocking? Просто статический плох тем, что подслушав траффик один раз становится ясно как открывать порт. Под динамическим я имею ввиду ситуацию, когда номера портов в которые надо постучаться зависят от даты, IP и много чего еще и алгоритм известен только владельцу сервера и самому серверу естественно.
А каким пользоваться тогда? Такое впечатление создается, что несмотря на некоторое «изобилие» придется писать свой, ага, 15-ый как на карикатуре xkcd. Большинство имеющихся, увы, либо смотрит на безопасность сквозь пальцы, либо допускает сомнительные решения, которые тут же становятся векторами атаки.
Причин описанному в статье несколько:

1. Производительность железа растет, а стоимость пока удается держать более-менее одинаковую. За последние 20 лет, каждый год «современный» компьютер можно было купить примерно за 1000$, но при этом у него понемногу улучшались всякие объемы памяти, дисков, число и/или частоты процессоров и т.п. Это позволяет не заботится об оптимизации, не тратить не нее время, потому что просто незачем. Этот фактор пройдет, как только гонка железа с софтом замедлится, а подтверждения, что железо уже не может угнаться за софтом уже появляются.

2. В IT за последние годы «поверили» очень много людей, все бросились автоматизировать всё подряд и переходить на электронные носители и оборот и т.д. Это породило всплеск огромного кол-ва разнообразного софта, написанного быстро и некачественно (включая «кровавый энтерпрайз»), потому что надо было занимать и окучивать новые рынки и как можно быстрее становится там монополистами, чтобы получать максимум выгоды. Этот процесс до сих пор еще идет, хотя число незанятых ниш сильно сократилось. Да и потихоньку люди понимают, что IT — это не серебряная пуля.

3. Индустрия разработки (и доставки) контента прошла за последние 20 лет огромный рывок вперед. Многократно выросли размеры изображений, видео, качество музыки, появились всякие 9.1 звуки, 4Д видео и т.д. Да еще и помимо простого увеличения в размерах кол-во самого контента выросло тысячекратно, т.е. музыки, видео и фото стало во много раз больше. Для быстрой (а объемы растут очень быстро!) обработки всего этого барахла очевидно лепится очередной чудо-софт, не блещущий архитектурой. Этот фактор пока еще будет действовать в ближайшие десятилетия, т.к. тут и ниш больше, да и тупо размеры можно гнать вперед довольно долго, уповая на ненасытность людей. 8К видео — вчерашний день, у нас уже 64К видео есть, да еще в 960 фпс, да еще по 16 бит на компоненту цвета…

4. В современном мире софта можно реализовать практически что угодно, а вот продать удается далеко не всё. А это определяет стратегии. Действовать надо быстро, как только ниша появилась (освободилась), значит плевать на всё, пилим лишь бы хоть как-то работало. Потом допиливать даже не будем, потому что уже новые «вызовы» будут. Этот фактор будет действовать и дальше, т.к. он экономический, а не из области IT.

5. Стоимость разработки качественного (во всех отношениях) софта за последние 20 лет непрерывно растет. Причем растет быстрее, чем растет эффект от его внедрения. Архитектуры железа и софта усложнились неимоверно, наверное, уже в мире нет человека, который бы понимал бы от А до Я как работает его техника. Стоимость качественных программистов тоже растет, и бизнесу это не нравится. Поэтому компании вынуждены либо говнокодить, снижая стоимость, либо уходить в узкие ниши, т.е. становится махровыми монополистами и выкручивать руки всем подряд. Иными словами разрыв между сложностью и оптимальностью растет, и баланс перекашивается. Этот фактор тоже продолжит действовать, т.к. сложность имеет свойство накапливаться, так же накапливаются слои и уровни абстракции в современном софте, но это не делает его принципиально проще.

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

Может сумбурно, но мне видится как-то так. Бороться в данный момент с «ожирением» и общим отупением софта глупо, надо этим пользоваться :)
Надо признать, что на безопасность наплевать всем в цепочке: начиная от Гугла, через производителей конкретных аппаратов и до нештатных «ромоделов». Гугл установил очень мягкие стандарты безопасности конечных пользователей, а конкретные производители разумеется рады этим пользоваться и усугубляют ситуацию своими «свистелками» для конкретных моделей. К сожалению, многие форки системы занимаются только наведением визуальных эффектов и добавлением/заменой разного прикладного софта — на это клюют потребители, а безопасность продать тяжелее. Есть форки больше заточенные на безопасность, но там беда с поддержкой всего зоопарка — энтузиасты тянут всего несколько моделей. Поскольку ситуация вряд ли исправится в обозримом будущем (такое впечатление, что уязвимый парк телефон очень нужен всем производителям) — приходится бороться за безопасность самому: покупать модель с поддержкой пересборки прошивки и аккуратно настраивать телефон, а что не настраивается — пересобирать по-своему.

p.s. может написать «чек-лист» по безопасности телефона на Андроиде? будет это кому-нибудь интересно?
Перефразируя заголовок статьи: «Если очень захотеть, то можно скрыть все что угодно». Это бесконечная борьба, у которой никогда не было и не будет победителя. Текущие технологии много сделали для облегчения поиска, но многое и для облегчения сокрытия.
Интересно, а перемешивание цифр кода на экране спасает?
«Либо указываешь реальные персональные данные, либо сидишь без интернета/телефона.»

Это конечно здорово в теории. На практике:
1. есть куча легальных анонимных сим-карт (других стран) — их тоже блокируем, нарушая соглашения о роуминге?
2. если заблокировать злоумышленнику его анонимную симку, то следствие просто останется без связи с ним, т.к. они рубят сук, на котором сидят, т.е. слушают его — злоумышленник просто достанет из кармана очередную и следствие будет снова какое-то время его ловить.

ну и т.д…
Отлично.
Ну, значит безлимитные тарифы отменят вообще. Но что тогда делать с цифровым телевидением? Его ведь тоже надо писать (сюрприз!), а оно круглосуточное и поток там неслабый.

Еще радует многократное дублирование при записи шифрованного траффика: положим пакет идет через 10 провайдеров (не такая уж и редкость, судя по traceroute), пакет зашифрован, т.е. понять сразу даже к какой сессии он принадлежит затруднительно, а писать его должны будут все 10 провайдеров! Потому что иначе можно пропустить что-нибудь интересное…
Да тут даже про несчастный траффик столько вопросов…

1. Писать будут только абонентов физических лиц или юридических тоже? (видимо всех, т.к. иначе люди будут пользоваться связью от имени юр. лиц)
2. Если пишут всех, как быть с коммерческой тайной компаний? Если ее больше не существует вообще (пишут и требуют предоставить все ключи), значит все иностранные компании уважающие свои права, как минимум, должны свернуть свою деятельность здесь, так?
3. Какие провайдеры будут писать траффик? Только магистральные или вообще все?
4. Какой траффик писать? Вот если у меня сообщения идут через ICMP/DNS/(вставь свой протокол) — их тоже надо писать ведь, да? Значит пишем абсолютно все?
5. Что делать с шифрованным траффиком? Ну понятно, что надо требовать ключи, но вопросы: у кого (траффик может быть транзитный)? и как предоставлять ключи, если они сеансовые и уничтожаются автоматически? Ну и главное — а как вообще понять, что траффик шифрованный, может он сжатый просто?

ну и т.д. можно еще накидать легко кучу вопросов, на которые ответов нет…
Что-то я не понял, а шифрование личных данных уже не спасает? Вроде как спасает от всех описанных угроз: смена загрузчика, смена прошивки, всякие recovery и т.п. — все будет мимо, данные либо станут недоступны, либо будет требоваться пароль. От утери/кражи и последующего переиспользования телефона это конечно не спасет, но данные будут недоступны.

Information

Rating
5,461-st
Registered
Activity

Specialization

Software Architect, Low level system programming
Lead
From 5,000 $
Git
English
Research work
Software development
Programming microcontrollers
Assembler
C
C++
Specialists recruitment
Interview