Коренът на злото или Carrier-IQ
CIQ или Carrier iQ по същество е част от софтуера, вграден в повечето мобилни устройства, не само Android, но и Nokia, Blackberry и вероятно много други. По принцип тази програма е напълно скрита от погледа и най-лошото от всичко е доста трудна за убиване. Програмата е руутвана, което означава, че CIQ прави каквото иска и не ви иска никакво разрешение по този въпрос.
Ето как изглежда в действителност на различни устройства:
Ето някои от вече известните тригери на HTC:
Натиснат клавиш в HTCDialer или натиснати клавиши на клавиатурата - Намерение – com.htc.android.iqagent.action.ui01
Получени SMS - Намерение - com.htc.android.iqagent.action.smsnotify
Медийни статистики - Намерение - com.htc.android.iqagent.action.mp03
Статистика на местоположението - Намерение - com.htc.android.iqagent.action.lc30
Известни тригери в Samsung Допринесе от член на XDA k0nane :
UI01: докосване на екрана на произволно място или натиснат клавиш InputMethod (която и да е софтуерна клавиатура). NT10: Прочитане на HTTP заявка. NT0F: Изпращане на HTTP заявка. UI11: неизвестен, разположен в класа View, който има свой собствен подклас IQClientThreadRunnable. AL34: зареждането е започнало в рамка на браузър - URL. AL35: зареждането е започнало в рамка на браузър - получаване на данни начало и край, изобразяване на страница начало и край. AL36: дължина на данните.
Между другото, части от кода на тази програма са дори в ядрата на именуваните интерфейси Sense и Touchwiz, така че дори и да можете да премахнете CIQ от Roma, не е задължително да е възможно да го направите напълно. Ето фрагмент от кода:
#define SDIO_TTY_DEV “sdio_tty_ciq_0” #define SDIO_CIQ “sdio_ciq” #define SDIO_TTY_DEV_TEST “sdio_tty_ciq_test_0? #define TTY_CIQ_MODULE_NAME “sdio_tty_ciq” static int channel_name_to_id(char *name) pr_info(TEST_MODULE_NAME “%s: име на канал %s\n”, func, name);
if (!strncmp(име, “SDIO_RPC_TEST”, strnlen(“SDIO_RPC_TEST”, CHANNEL_NAME_SIZE))) връща SDIO_RPC; иначе ако (!strncmp(име, “SDIO_QMI_TEST”, strnlen(“SDIO_QMI_TEST”, TEST_CH_NAME_SIZE))) връща SDIO_QMI; друго ако (!strncmp(име, “SDIO_RMNT_TEST“, strnlen(“SDIO_RMNT_TEST”, TEST_CH_NAME_SIZE))) връща SDIO_RMNT; друго ако (!strncmp(име, “SDIO_DIAG_TEST“, strnlen(“SDIO_DIAG”, TEST_CH_NAME_SIZE))) връща SDIO_DIAG; иначе ако (!strncmp(име, “SDIO_DUN_TEST”, strnlen(“SDIO_DUN_TEST”, TEST_CH_NAME_SIZE))) връща SDIO_DUN; иначе ако (!strncmp(име, “SDIO_SMEM_TEST“, strnlen(“SDIO_SMEM_TEST”, TEST_CH_NAME_SIZE))) връща SDIO_SMEM; друго ако (!strncmp(име, “SDIO_CIQ_TEST”, strnlen(“SDIO_CIQ_TEST”, TEST_CH_NAME_SIZE))) връща SDIO_CIQ; иначе връща SDIO_MAX_CHANNELS;
Аз лично не съм "програмист", но тази част е много дори жива в повечето Sense ROM-ове и е компилирана в ядро, така че убирането ще бъде изключително сложно. Ние вече предоставихме достатъчно количество факти, така че да разгледаме основния проблем с Carier-IQ на нашите устройства - това е явно нарушение на правата ни като потребители и нарушение на неоснователността на частната информация. За съжаление, докато имате възможност да видите дали има сегашен звер на вашето устройство (ако сте с Андройдом) и дори да намалите възможностите на тази програма. TrevE не работи за нас, написа Android Security Test, който можете да вземете в неговия оригинален блог.
В Болгарии това може да изглежда не съвсем така, но повечето мирови оператори се използват с подобен софтуер. За по-подробна информация можете да посетитеизточник, както и блога на разработчика и прочетете допълнителната статия.