Автор Тема: Android == шибана шпиономания!!!  (Прочетена 17986 пъти)

ddantgwyn

  • Global Moderator
  • Напреднали
  • *****
  • Публикации: 1262
    • Профил
Re: Android == шибана шпиономания!!!
« Отговор #30 -: Jan 20, 2013, 00:26 »
Цитат
По отношение на това какво се записва в паметта на телефона, ако
имате root достъп, едва ли нещо може да ви се опре 

За жалост при паметите с wear leveling, каквато се оказва NAND паметта в която моя телефон си пази всички гореизброени неща, това е невъзможно. Разбира се, можеш да изтриеш файла, можеш да го презапишеш с нули и това въобще не означава че данните са изтрити или презаписани. Единственият начин да си сигурен че данните са изтрити е да презапишеш с нули цялото устройство. Тогава обаче се опасявам че няма да работи повече.

няма ли да е достатъчно да презапишеш само свободното място в паметта с нули?
Активен

the lamer's team honourable member

gat3way

  • Напреднали
  • *****
  • Публикации: 6050
  • Relentless troll
    • Профил
    • WWW
Re: Android == шибана шпиономания!!!
« Отговор #31 -: Jan 20, 2013, 01:26 »
Можеш да създадеш нов файл и да го напълниш с нули докато файловата система не изреве че е пълна и това ще повиши доста шансовете за успешно помазване на данните, но не може да ти даде 100% гаранция.

Зачетох се в документацията на yaffs2 и оттам става ясно, че когато изтриеш файл, мястото не се декларира веднага като "свободно". Вместо това на целия блок се слага един "stale" флаг и в един момент минава garbage collection kernel thread-а, който решава как да се процедира - на този блок може да има повече от един файл и няма как ей така целия да го обявяваме за свободен.

Ако изтриеш файла и веднага създадеш нов пълен с нули до края на свободното място, има голяма вероятност мястото да свърши преди GC нишката да е освободила ново такова от последно изтритите файлове. Също така, garbage collection-а работи на принципа "най-старите 100 блока", което означава че с най-наскоро променените/изтритите файлове ще се процедира най-накрая. И накрая, ако по някакво стечение на обстоятелствата има I/O грешка при писане точно върху този блок, то той моментално се обявява за "лош" и повече никога не се пише върху него. Тези блокове няма да ги изчетеш с dd, но с nanddump ще успееш и информацията си лъсва :)

За жалост нямам много опит с yaffs2 (каквото очевидно се ползва на моя телефон), единствената nand линукска файлова система, с която съм имал вземане-даване е ubifs. ubifs е дори по-забавен, защото има вградена компресия и ако запишеш нов файл с нули, колкото и да пишеш, няма да помажеш достатъчно блокове (виж ако ползваш /dev/urandom вместо /dev/zero, ще се получи :) ).

Обаче в това виждам един основен проблем - няма как постоянно да трия нещо и да създавам голям файл с нули, после него да го трия и накрая геолокацията да ми сервира нови данни и да правя същото. Най-малкото нямам време, а и писането на много блокове често, съсипва живота на паметта. Може би единственият начин е да се трепе service-а, но пък тогава няма файда от GPS-а в телефона.

Като цяло, NAND паметите и SSD паметите са забавни, защото работят малко по-различно. При тях "сигурно" изтриване на файлове няма - трябва да презапишеш цялото блоково устройство.
Активен

"Knowledge is power" - France is Bacon

dejuren

  • Напреднали
  • *****
  • Публикации: 1025
  • Distribution: Ubuntu, RedHat
  • Window Manager: lxde KDE4
    • Профил
Re: Android == шибана шпиономания!!!
« Отговор #32 -: Jan 20, 2013, 03:52 »
Е и в крайна сметка какво - мийго/маемо/силвърфиш/убунту телефон ли се казва анти-шпиономания решението? Няма да го руут-ваш, за да видиш какво къде и колко пази, sudo ще е достатъчно. И нули няма да пишеш, нишки няма да освобождаваш, и shred може да ползваш нейтив дето е думата.

Гейт, я ми развий плийз по-подробно това:
Като цяло, NAND паметите и SSD паметите са забавни, защото работят малко по-различно. При тях "сигурно" изтриване на файлове няма - трябва да презапишеш цялото блоково устройство.
Конкретно каква е особеността и не е ли зависима от файловата система?
Активен

http://webchat.freenode.net/?channels=ubuntu-bg
The quieter you become, the more you are able to hear.
Две седмици цъкане с мишката спестяват два часа четене на документацията.

gat3way

  • Напреднали
  • *****
  • Публикации: 6050
  • Relentless troll
    • Профил
    • WWW
Re: Android == шибана шпиономания!!!
« Отговор #33 -: Jan 20, 2013, 12:30 »
Ами SSD си е флаш памет, там важат същите неща - диска е разделен на блокове, върху които за да запишеш нещо, трябва да запишеш целия блок и има определен брой пъти в които блока може да се запише. Разликата е че SSD дисковете имат контролер, който прави това, което иначе би правила файловата система. Софтуерно не можеш да изчетеш всичко, но производителите на дисковете понякога имат за сваляне диагностичен софтуер, с който това може да стане. Има един забавен момент, че по-новите SSD дискове са доста различни - контролерът може да криптира блоковете със случаен ключ, който се пази, когато блокът се обяви за "свободен", за този ключ съответно се "забравя". Може също и да имат агресивен garbage collection, което в крайна сметка превръща устройството в доста сигуно унищожаващо стари данни. От потребителска гледна точка обаче, заради наличието на dedicated хардуер, виждаш устройството като нормално блоково такова - съответно можеш да го форматираш ако искаш с ext3 или fat.

По-простите неща като NAND-а във embedded джаджите и телефоните, където идеята е да е максимално евтино, обикновено нямат контролер, който да прави тези неща - вместо това софтуера го прави. Там нещата са доста различни. Сега това е от гледна точка на ubifs, но нещата трябва да са подобни и с останалите подобни файлови системи. Първо, имаме "подложката", устройството, което "описва" паметта, и това е char device, а не блоково такова и не може да се форматира и използва директно, обикновено се кръщават /dev/mtdX. Това устройство го "закачаш" и се появава ново, блоково устройство, като за целта се ползват tool-овете идващи с файловата система (ubiattach в случая с ubifs). Върху това новопоявено блоково устройство може и да е възможно да изшиеш ext или някаква друга "обикновена" файлова система, никога не съм пробвал, но не мисля че е добра идея, защото и да стане, ще се радваш доста за кратко на паметта. Но пък вероятно тогава ще имаш "по-сигурно" затриване. Последната стъпка е форматирането със "специалната" файлова система. Съответно има стандартни tool-ове като nanddump/nandwrite, с които можеш да изчетеш/изпишеш устройството в "суровия" му вид (демек като софтуера не коригира разни ремапванки, лоши блокове и т.н.). Именно от изчетеното с nanddump можеш да видиш доста неща, които иначе се водят изтрити.

Та ако имаш обикновена NAND памет със софтуерен wear leveling - можеш да изчетеш доста стари и изтрити неща. Ако имаш по-стар (или по-евтин) SSD диск, тогава можеш да правиш същото, стига производителят да е пуснал диагностичен софтуер. Ако имаш някой shiny нов скъпичък SSD, тогава точно това става доста сложно.


Цитат
Е и в крайна сметка какво - мийго/маемо/силвърфиш/убунту телефон ли се казва анти-шпиономания решението? Няма да го руут-ваш, за да видиш какво къде и колко пази, sudo ще е достатъчно. И нули няма да пишеш, нишки няма да освобождаваш, и shred може да ползваш нейтив дето е думата.

"Шпиономания" е доста драматично (щото обичам да драматизирам :) ). Очевидно гугъл искат да си направят качествена услугата с геолокацията, донякъде на гърба на потребителите си, но то иначе няма как да стане. Това, което ми хрумна по-късно е че дори да пазят малко информация (за разлика от Apple както стана ясно в онази статия), те я пазят върху памет, която помни повече, отколкото трябва.


П.П: Truecrypt си имат отделна част от документацията, касаеща това и е забавна:

http://www.truecrypt.org/docs/?s=wear-leveling


П.П2: на някой ако му се играе, ето малко играчки: http://t.co/G3nlpgIh

Само че е с идеята да работи с HTC Wildfire, така че за останалите телефони root-ването и extract-ването на NAND паметта може да е различно...анализа и генерирането на html-а трябва да става по същия начин иначе.
« Последна редакция: Jan 20, 2013, 23:52 от gat3way »
Активен

"Knowledge is power" - France is Bacon

backinblack

  • Напреднали
  • *****
  • Публикации: 3201
    • Профил
Re: Android == шибана шпиономания!!!
« Отговор #34 -: Jan 21, 2013, 00:42 »
Абре пичове, не си ли вкарвате излишни интриги с шпономания и тем подобни!?
Активен

d1saster

  • Напреднали
  • *****
  • Публикации: 182
    • Профил
Re: Android == шибана шпиономания!!!
« Отговор #35 -: Apr 14, 2013, 09:38 »
...Реших да си root-на телефона по лесния начин, понеже не ми се занимаваше да махам S-ON, да ъпдейтвам bootloader, да качвам разни имиджи, да се моля да запалят и да псувам. Лесния начин, понеже телефонът е стар, беше просто да кача през adb един local root експлойт и да го изпълня. Така най-накрая имах достъп до всички файлови системи.
...

Как точно направи горното?
Активен

gat3way

  • Напреднали
  • *****
  • Публикации: 6050
  • Relentless troll
    • Профил
    • WWW
Re: Android == шибана шпиономания!!!
« Отговор #36 -: Apr 14, 2013, 12:00 »
С един стар експлойт - zergRush и защото на Froyo няма проблем да качваш изпълними файлове в /data/local/tmp.
Активен

"Knowledge is power" - France is Bacon

Подобни теми
Заглавие Започната от Отговора Прегледи Последна публикация
Android Bootcamp
Предстоящи събития
muxozavar 0 4589 Последна публикация Nov 22, 2008, 20:43
от muxozavar
Защо ANDROID -ите са по-скъпи ?
Живота, вселената и някакви други глупости
spec1 7 7076 Последна публикация Dec 12, 2009, 11:48
от tyuio
HTC tytn 2 android
Живота, вселената и някакви други глупости
IronMaiden 2 4529 Последна публикация Oct 16, 2011, 13:16
от vyrgozunqk
Android TV Box.
Настройка на хардуер
kill_u 2 6315 Последна публикация Dec 07, 2012, 08:08
от senser
FlashTool - Sony Xperia - Android
Настройка на програми
satir 6 5642 Последна публикация Jun 24, 2014, 06:30
от satir