MetaInfo

Сообщение andre_m » 21 сен 2007, 12:15

Кому надо, могу выложить свою прогу, извлекающую из файлов Microsoft Structured Storage метаданные. И даже с исходниками, т.к. для написания использовал открытые источники
Аватара пользователя
andre_m
Член клуба
 
Сообщения: 631
Зарегистрирован: 20 сен 2007, 19:32
Откуда: ГКСЭ Республики Беларусь
Благодарил (а): 35 раз.
Поблагодарили: 39 раз.

Сообщение Marat » 21 сен 2007, 12:22

выкладывай -потестируем :)
Marat
Член клуба
 
Сообщения: 83
Зарегистрирован: 31 авг 2007, 12:52
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Сообщение Igor Mikhaylov » 21 сен 2007, 22:17

Marat писал(а):выкладывай -потестируем :)


По просьбе andre_m выложено:
http://computer-forensics-lab.org/lib/d ... taInfo.ZIP
Digital Evidences is the international board about digital evidences.

http://cyberforensicator.com/
Аватара пользователя
Igor Mikhaylov
 
Сообщения: 6977
Зарегистрирован: 19 ноя 2006, 10:08
Откуда: Россия
Благодарил (а): 115 раз.
Поблагодарили: 155 раз.

Сообщение VPZ » 22 сен 2007, 00:44

Все началось с тестирования файла с именем test.doc, содержащего фразу "Это тестовый документ" были получены следующие результаты:

1. При попытке открытия его как отдельного файла появляется окно с сообщением об ошибке "Cannot open file "K:\4_my_prog\_1\РПаЎ±б". Синтаксическая ошибка в имени файла, имени папки или метке тома."

2. При проверке того же самого файла, но как одного из файлов лежащих в папке, файл output.txt был сформирован.
Однако, поля "Счетчик слов" и "Счетчик знаков" имеют значения 2 и 18 соответственно, что не совпадает с действительностью. (на некоторых файлах дает правильный результат).
Аналогичная ситуация с полем "Total editing time".
Ценность этих сведений с экспертной точки зрения не просто нулевая, а со знаком минус (ибо результат ложный).

3. Выбор символа "^" в качестве разделителя нецелесообразен - это "не родной" символ для Excel, что вынуждает делать лишние телодвижения при экспорте.

4. В отчет выдаются сообщения, начинающиеся с текста "Ошибка чтения файла:".
Это вносит путаницу при работе с отчетом в Excel.

5. На тестовой папке сообщения "Ошибка чтения файла:" были получены примерно в 50% случаев.
Малейшее искажение файла приводит к невозможности его обработки, хотя в экспертизах часто приходится исследовать удаленные (и восстановленные) файлы.
Вообще, сообщение "Ошибка чтения файла:" выдается даже на файлах, которые не повреждены и имеют корректную внутреннюю структуру.

6. В тех случаях, когда некие метаданные в файле просто не хранятся (например, в xls-файлах), программа пишет значение 0.
Это неверно, поскольку Excel вовсе умалчивает об этом поле, а не хранит значение 0.
Характерно для полей "Total editing time", "Страницы", "Счетчик слов", "Счетчик знаков".

7. Для некоторых файлов неверно отображает дату и время создания/модификации.

Общий вывод: непредсказуемость получаемых результатов.
Аватара пользователя
VPZ
Член клуба
 
Сообщения: 486
Зарегистрирован: 14 сен 2007, 00:56
Откуда: Махачкала, Республика Дагестан
Благодарил (а): 0 раз.
Поблагодарили: 1 раз.

Сообщение Igor Mikhaylov » 22 сен 2007, 06:33

При анализе программой MetaInfo файла Readme.doc, находящегося в папке Doc в представленном архиве видим:
Имя приложения - Microsoft Word 10.0
ИМХО Это не совсем верно, т.к.

12.0 = Microsoft Word 2007
11.0 = Microsoft Word 2003
10.0 = Microsoft Word XP/2002
9.0 = Microsoft Word 2000
8.0 = Microsoft Word 97
Digital Evidences is the international board about digital evidences.

http://cyberforensicator.com/
Аватара пользователя
Igor Mikhaylov
 
Сообщения: 6977
Зарегистрирован: 19 ноя 2006, 10:08
Откуда: Россия
Благодарил (а): 115 раз.
Поблагодарили: 155 раз.

Сообщение andre_m » 22 сен 2007, 12:19

Начну отвечать с конца:

Igor Michailov писал(а):При анализе программой MetaInfo файла Readme.doc, находящегося в папке Doc в представленном архиве видим:
Имя приложения - Microsoft Word 10.0
ИМХО Это не совсем верно, т.к.

12.0 = Microsoft Word 2007
11.0 = Microsoft Word 2003
10.0 = Microsoft Word XP/2002
9.0 = Microsoft Word 2000
8.0 = Microsoft Word 97


Не понял, почему не правильно? Я его набирал в Word XP. Посмотри, как отображаются свойства данного файла с помощью средств ОС Windows XP? Там значится строка "Microsoft Word 10". Поэтому, чтобы не вносить путаницу не переводил № внутренней версии. И вообще никаких преобразований метаданных в "удобочитаемый вид" не делал.
Аватара пользователя
andre_m
Член клуба
 
Сообщения: 631
Зарегистрирован: 20 сен 2007, 19:32
Откуда: ГКСЭ Республики Беларусь
Благодарил (а): 35 раз.
Поблагодарили: 39 раз.

Сообщение andre_m » 22 сен 2007, 12:44

VPZ писал(а):Все началось с тестирования файла с именем test.doc, содержащего фразу "Это тестовый документ" были получены следующие результаты:

1. При попытке открытия его как отдельного файла появляется окно с сообщением об ошибке "Cannot open file "K:\4_my_prog\_1\РПаЎ±б". Синтаксическая ошибка в имени файла, имени папки или метке тома."


Сорри за то, что не пояснил...
Опция программы "из файла" нужно выбирать, если у нас есть текстовый файл, который содержит список (в столбец) полных имен файлов, метаданные которых мы хотим узнать. Для установления метаданных отдельного файла есть средства в самой ОС.

VPZ писал(а):2. При проверке того же самого файла, но как одного из файлов лежащих в папке, файл output.txt был сформирован.
Однако, поля "Счетчик слов" и "Счетчик знаков" имеют значения 2 и 18 соответственно, что не совпадает с действительностью. (на некоторых файлах дает правильный результат).
Аналогичная ситуация с полем "Total editing time".
Ценность этих сведений с экспертной точки зрения не просто нулевая, а со знаком минус (ибо результат ложный).


Здесь мне сказать нечего. Дело в том что при написании программы я столкнулся с такой вещью, что метаданные "Счетчик слов", "Счетчик знаков", "Количество страниц"одного и того же файла, паказываемые средствами ОС и самой программой Word, не всегда совпадают. Никаких преобразований над извлекаемыми значениями я не провожу (код прилагается). Что там хранится - то я и записываю. Почему так получается я не знаю. Если честно, то даные свойства сами по себе никакой информации не несут, какая разница следователю сколько подозреваемый набрал слов-знаков-страниц и сколько он сидел над документом?

Хотелось, чтоб свой файл "test.doc" Вы проверили какой-нибудь третьей программой (лучше конечно EnCase).

VPZ писал(а):3. Выбор символа "^" в качестве разделителя нецелесообразен - это "не родной" символ для Excel, что вынуждает делать лишние телодвижения при экспорте.


Согласен, но если применять "родные" символы (tab ; , .) это внесет путаницу в дальнейшее разбиение на колонки, т.к. такие символы запросто могут оказаться в метаданных "Заголовок", "Тема" и т.д.
Нет гарантии, что символ "^" там тоже не встретится, но за два года пользования это не случалось.

Правильнее конечно было бы автоматически после создания текстового файла сформировать xls или mdb файл. Если делать это по ходу извлечения - сильно замедляется работа программы... Буду работать над этим.

VPZ писал(а):4. В отчет выдаются сообщения, начинающиеся с текста "Ошибка чтения файла:".
Это вносит путаницу при работе с отчетом в Excel.


В Excel есть средства фильтрации строк можно выбрать строки, содержащие текст "Ошибка чтения файла:" и удалить их.
Вообще эта строка появляется у файлов которые являются OLE (в терминах EnCase - Compound Document), но не имеют метаданных (таких файлов - уйма). Как уже говорил, выбирать специально только файлы "Word" и "Excel" - задача нетривиальная. К тому же эксперт может посмотреть что это за файлы и проверить их.

VPZ писал(а):5. На тестовой папке сообщения "Ошибка чтения файла:" были получены примерно в 50% случаев.
Малейшее искажение файла приводит к невозможности его обработки, хотя в экспертизах часто приходится исследовать удаленные (и восстановленные) файлы.


Тут мне тоже нечего ответить, т.к. хотелось бы вообще увидеть программу извлекающую метаданные из поврежденных файлов.
Если внутренние структуры файлов повреждены, мне кажется вряд ли это возможно в автоматическом режиме.

VPZ писал(а):Вообще, сообщение "Ошибка чтения файла:" выдается даже на файлах, которые не повреждены и имеют корректную внутреннюю структуру.


См. чуть выше - сообщение появляется, если файлы не имеют метаданных (существуют даже бинарные файлы, спокойно открываемые Excel, не имеющие соответствующей сигнатуры. Есть где-то у меня пример формирования такого файла).
Также собщение появится если данный файл у вас открыт в Word'e (попробуйте открыть документ и одновременно посмотреть его свойства средствами ОС).
Иные случаи мне пока не известны.

VPZ писал(а):7. Для некоторых файлов неверно отображает дату и время создания/модификации.


Это конечно для меня новость, хотелось бы по-подробнее - не правильно вообще (или только время - может я напутал в часовых поясах)?

То, что программа работает с файлами на уровне API а не через Word считаю ее достоинством. Но критика приветствуется!
Последний раз редактировалось andre_m 22 сен 2007, 13:43, всего редактировалось 5 раз(а).
Аватара пользователя
andre_m
Член клуба
 
Сообщения: 631
Зарегистрирован: 20 сен 2007, 19:32
Откуда: ГКСЭ Республики Беларусь
Благодарил (а): 35 раз.
Поблагодарили: 39 раз.

Сообщение Igor Mikhaylov » 22 сен 2007, 13:15

andre_m писал(а):какая разница следователю сколько подозреваемый набрал слов-знаков-страниц и сколько он сидел над документом?

Иногда это важно при установлении обстоятельств подготовки документа. Так если в ходе исследования был обнаружен многостраничный документ общее время редактирования которого составляет менее одной минуты, то можно сделать предположение, что текст в документ был вставлен из буфера обмена а не набран руками.
Digital Evidences is the international board about digital evidences.

http://cyberforensicator.com/
Аватара пользователя
Igor Mikhaylov
 
Сообщения: 6977
Зарегистрирован: 19 ноя 2006, 10:08
Откуда: Россия
Благодарил (а): 115 раз.
Поблагодарили: 155 раз.

Сообщение andre_m » 22 сен 2007, 13:24

Igor Michailov писал(а):
andre_m писал(а):какая разница следователю сколько подозреваемый набрал слов-знаков-страниц и сколько он сидел над документом?

Иногда это важно при установлении обстоятельств подготовки документа. Так если в ходе исследования был обнаружен многостраничный документ общее время редактирования которого составляет менее одной минуты, то можно сделать предположение, что текст в документ был вставлен из буфера обмена а не набран руками.



А если у меня завис(пропал) полностью подготовленный документ, над которым я работал целый день, а потом восстановил его копированием из резервных копий?
Это не доказуемо.
Аватара пользователя
andre_m
Член клуба
 
Сообщения: 631
Зарегистрирован: 20 сен 2007, 19:32
Откуда: ГКСЭ Республики Беларусь
Благодарил (а): 35 раз.
Поблагодарили: 39 раз.

Сообщение Igor Mikhaylov » 22 сен 2007, 13:41

1)Я сказал: "можно сделать предположение". И исходя из этой гипотезы, эксперту следует приложить некоторые усилия для поиска файла "прародителя".
2)Насчет недоказуемости - я бы не был столь категоричен. Жалко что Вы не слышали доклада Яковлева А.Н. на семинаре в Галицыно. В отдельных случаях могут существовать нюансы не позволяющие делать подобные утверждения категорично.
Последний раз редактировалось Igor Mikhaylov 22 сен 2007, 20:44, всего редактировалось 1 раз.
Digital Evidences is the international board about digital evidences.

http://cyberforensicator.com/
Аватара пользователя
Igor Mikhaylov
 
Сообщения: 6977
Зарегистрирован: 19 ноя 2006, 10:08
Откуда: Россия
Благодарил (а): 115 раз.
Поблагодарили: 155 раз.

Сообщение andre_m » 22 сен 2007, 13:48

Я понимаю - когда много "косвенных" они перерастают в ...
Аватара пользователя
andre_m
Член клуба
 
Сообщения: 631
Зарегистрирован: 20 сен 2007, 19:32
Откуда: ГКСЭ Республики Беларусь
Благодарил (а): 35 раз.
Поблагодарили: 39 раз.

Сообщение VPZ » 22 сен 2007, 20:23

Igor Michailov писал(а):При анализе программой MetaInfo файла Readme.doc, находящегося в папке Doc в представленном архиве видим:
Имя приложения - Microsoft Word 10.0
ИМХО Это не совсем верно

Это верно, поскольку Word XP сам себя так отобразил внутри этого файла. Наверно Word XP лучше знает, как его зовут ;)
Аватара пользователя
VPZ
Член клуба
 
Сообщения: 486
Зарегистрирован: 14 сен 2007, 00:56
Откуда: Махачкала, Республика Дагестан
Благодарил (а): 0 раз.
Поблагодарили: 1 раз.

Сообщение VPZ » 22 сен 2007, 21:07

andre_m писал(а):Опция программы "из файла" нужно выбирать, если у нас есть текстовый файл, который содержит список (в столбец) полных имен файлов, метаданные которых мы хотим узнать. Для установления метаданных отдельного файла есть средства в самой ОС.

Ну мы же не ясновидящие.
Для установления метаданных отдельного файла нельзя пользоваться средствами ОС: 1) из-за боязни внести изменения 2) из-за повреждений файла и наконец 3) потому что "средства ОС" (а что это за средства такие, может мы говорим о разных?) врут.

andre_m писал(а):Дело в том что при написании программы я столкнулся с такой вещью, что метаданные "Счетчик слов", "Счетчик знаков", "Количество страниц"одного и того же файла, паказываемые средствами ОС и самой программой Word, не всегда совпадают. Никаких преобразований над извлекаемыми значениями я не провожу (код прилагается). Что там хранится - то я и записываю. Почему так получается я не знаю. Если честно, то даные свойства сами по себе никакой информации не несут, какая разница следователю сколько подозреваемый набрал слов-знаков-страниц и сколько он сидел над документом?

А зачем тогда вообще формировать такой отчет? Зачем писать эти столбцы, если они бессмысленны (по Вашему мнению)? Файл загромождается, распечатать его на A4 становится практически нереально.

andre_m писал(а):Хотелось, чтоб свой файл "test.doc" Вы проверили какой-нибудь третьей программой (лучше конечно EnCase).

Как только мне подарят EnCase - я обязательно это сделаю.

andre_m писал(а):Согласен, но если применять "родные" символы (tab ; , .) это внесет путаницу в дальнейшее разбиение на колонки, т.к. такие символы запросто могут оказаться в метаданных "Заголовок", "Тема" и т.д.
Нет гарантии, что символ "^" там тоже не встретится, но за два года пользования это не случалось.

Опять же - все вероятностно.

andre_m писал(а):В Excel есть средства фильтрации строк можно выбрать строки, содержащие текст "Ошибка чтения файла:" и удалить их.

Хочется использовать такой софт, после которого не придется 1) менять разделители 2) удалять строки 3) перепроверять файлы (см. ниже).

andre_m писал(а):Вообще эта строка появляется у файлов которые являются OLE (в терминах EnCase - Compound Document), но не имеют метаданных (таких файлов - уйма). Как уже говорил, выбирать специально только файлы "Word" и "Excel" - задача нетривиальная.

Отфильтровать файлы "Word" и "Excel" от всех прочих - элементарно.

andre_m писал(а):К тому же эксперт может посмотреть что это за файлы и проверить их.


andre_m писал(а):Тут мне тоже нечего ответить, т.к. хотелось бы вообще увидеть программу извлекающую метаданные из поврежденных файлов.
Если внутренние структуры файлов повреждены, мне кажется вряд ли это возможно в автоматическом режиме.

Ну, мой софт извлекает метаданные из некоторых файлов, которые офисными продуктами не открываются и не распознаются за свои.

andre_m писал(а):См. чуть выше - сообщение появляется, если файлы не имеют метаданных (существуют даже бинарные файлы, спокойно открываемые Excel, не имеющие соответствующей сигнатуры. Есть где-то у меня пример формирования такого файла).

Тесты проводились только на OLE2-файлах.

andre_m писал(а):Это конечно для меня новость, хотелось бы по-подробнее - не правильно вообще (или только время - может я напутал в часовых поясах)?

То, что в часовых, это однозначно. Но вроде бы еще и в самом времени глюк находил.

andre_m писал(а):То, что программа работает с файлами на уровне API а не через Word считаю ее достоинством. Но критика приветствуется!

Через Word - плохо. Через API - лучше, но см. выше что повылезало. Низкоуровневый разбор файла - rulez!
Аватара пользователя
VPZ
Член клуба
 
Сообщения: 486
Зарегистрирован: 14 сен 2007, 00:56
Откуда: Махачкала, Республика Дагестан
Благодарил (а): 0 раз.
Поблагодарили: 1 раз.

Сообщение Igor Mikhaylov » 22 сен 2007, 22:25

VPZ писал(а):Как только мне подарят EnCase - я обязательно это сделаю.

Незачем микроскопом гвозди забивать.
Digital Evidences is the international board about digital evidences.

http://cyberforensicator.com/
Аватара пользователя
Igor Mikhaylov
 
Сообщения: 6977
Зарегистрирован: 19 ноя 2006, 10:08
Откуда: Россия
Благодарил (а): 115 раз.
Поблагодарили: 155 раз.

Сообщение andre_m » 23 сен 2007, 00:06

VPZ писал(а):Ну мы же не ясновидящие.

Я же извинился :wink:. Ну нету у меня опыта коммерческого представления ПО.

VPZ писал(а):Для установления метаданных отдельного файла нельзя пользоваться средствами ОС: 1) из-за боязни внести изменения 2) из-за повреждений файла и наконец 3) потому что "средства ОС" (а что это за средства такие, может мы говорим о разных?) врут.


Во-первых есть блокираторы, во-вторых можно переписать файлы себе. Метаданные от этого не изменяются. "Средства ОС" - это когда вы щелкаете правой кнопкой мыши по файлу. То что они врут...насчет основных свойств (автор/последний автор/Производитель(Компания) не уверен, что врут. Насчет дат напишу ниже.
А у Вас есть официальное описание форматов Microsoft Compound Document и Microsoft Excel File Format (про проекты энтузиастов OpenOffice.org мне известно). Насколько мне известно, все более-менее расшифровано только до версии Word97. Я опирался на MSDN, где есть примеры извлечения метаданных. На них я и опирался.

VPZ писал(а):А зачем тогда вообще формировать такой отчет? Зачем писать эти столбцы, если они бессмысленны (по Вашему мнению)? Файл загромождается, распечатать его на A4 становится практически нереально.


Удалить парочку колонок - на это эксперт не способен? Или дело в том, что эксперт не может вносить изменений в результаты работы программы? Процессуально это может и правильно, но даже в отчеты EnCase можно вносить изменения.

VPZ писал(а):Ну, мой софт извлекает метаданные из некоторых файлов, которые офисными продуктами не открываются и не распознаются за свои.

Тут конечно мне следует снять перед вами шляпу. Это замечательно.


VPZ писал(а):То, что в часовых, это однозначно. Но вроде бы еще и в самом времени глюк находил.

Насколько я понял, в полях штампов даты хранится число - количество секунд, прошедших с 1.01.1601 00:00:00. Неужели в стандартных функциях декодирования в Delphi ошибки? Надо проверять.

VPZ писал(а):Низкоуровневый разбор файла - rulez!


Может Вас не удивит следующий факт.
Попробуйте в Excel XP открыть файл, затем открыть его в предварительном просмотре (но не печатайте!). А затем проверьте его метаданное "Дата последней печати". Вот "средства ОС" "прекрасно" там рисуют текущее на момент предварительного просмотра значение. Но файл ведь не распечатывался! А что покажет Ваша программа? Неужели там все будет правильно?
Это я к тому что основа написания обсуждаемого ПО довольно шаткая.
Так что я уже не удивляюсь ничему.
Аватара пользователя
andre_m
Член клуба
 
Сообщения: 631
Зарегистрирован: 20 сен 2007, 19:32
Откуда: ГКСЭ Республики Беларусь
Благодарил (а): 35 раз.
Поблагодарили: 39 раз.

След.

Вернуться в Тестирование

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1