wizzard: (Default)
2013-09-17 01:34 pm

Про CLR security

...aka "что удерживает меня от перехода с Microsoft'овского стэка на что-то другое"

Пост родился из продолжительной дискуссии с _sorcerer на тему "а чем NaCl хуже?", которая продолжилась в духе "но лучше ведь сделать нельзя", а чтобы не шерстить свои заметки по второму кругу - решил вынести ссылки из коммента в пост.

итак. http://www.cs.virginia.edu/~nrp3d/papers/computers_and_security-net-java.pdf старый, но актуальный обзор
http://www.onjava.com/pub/a/onjava/2004/01/28/javavsdotnet.html?page=4 а вот тут наглядно показана разница между подходами (в одном случае проверяется формальная модель, в другом - валидация отдана на откуп программисту, что и приводит к последствиям описанным в предыдущем обзоре)

http://research.microsoft.com/en-us/um/people/fournet/pwp/default.htm история поиска проблем в секьюрити-модели дотнета и разработки диагностических тулзов (понятно, что можно руками нарисовать на методе formatDisk, что его могут вызывать все, но это можно статически обнаружить, что в Джаве невозможно)

http://msdn.microsoft.com/en-us/magazine/ee677170.aspx к чему в итоге пришли (не стоит читать раньше других ссылок, т.к. будет непонятна терминология)

http://people.csail.mit.edu/jeanyang/papers/pldi117-yang.pdf расширение идей до целой ОС

читать по порядку, потом читать референсы, тоже по порядку. да, читать здесь МНОГО.

при этом у меня так и остался неотвеченный вопрос - почему кроме MS Research никто этим не занимается? ну или может занимается, так где же хотя бы пейперы?
wizzard: (Default)
2013-08-19 04:10 pm

атаки на криптографию тоже идут в массы ;)

Google confirms critical Android crypto flaw used in $5,700 Bitcoin heist

Java Crypto weakness could affect security in hundreds of thousands of apps.

http://arstechnica.com/security/2013/08/google-confirms-critical-android-crypto-flaw-used-in-5700-bitcoin-heist/

1. Еще одно подтверждение тому, что генератор случайных чисел - критически важная штука
2. Используешь самописное? С высокой вероятностью всё плохо. Используешь стандартное? Доверяй, но проверяй.

К счастью, в случае с энтропией "доверять, но проверять" просто - берем энтропию из системного генератора, подмешиваем туда какой-нибудь своей, хуже не станет. Гм... Подмешивать, конечно, тоже надо правильно. Ну да ладно ;)

Я, правда не смотрел, еще может быть что в JCE нельзя подмешать свою энтропию при генерации ключей - тогда ужасно, конечно. У остальных вроде можно)
wizzard: (Default)
2012-09-26 12:55 pm
Entry tags:

3 Billion Devices Run (Vulnerable) Java

The newly discovered bug is special for several reasons. This
is our "anniversary" finding (Issue number 50). We discovered
it exclusively for JavaOne 2012 [1]. Finally, the bug allows
to violate a fundamental security constraint of a Java Virtual
Machine (type safety).

The following Java SE versions were verified to be vulnerable:
- Java SE 5 Update 22 (build 1.5.0_22-b03)
- Java SE 6 Update 35 (build 1.6.0_35-b10)
- Java SE 7 Update 7  (build 1.7.0_07-b10)

All tests were successfully conducted in the environment of a
fully patched Windows 7 32-bit system and with the following
web browser applications:
- Firefox 15.0.1
- Google Chrome 21.0.1180.89
- Internet Explorer 9.0.8112.16421 (update 9.0.10)
- Opera 12.02 (build 1578)
- Safari 5.1.7 (7534.57.2)


http://seclists.org/fulldisclosure/2012/Sep/170 it's official :)
wizzard: (Default)
2011-08-30 08:13 am

еще про Android и в частности про Dalvik

> Dalvik's GC is cooperative and requires explicit interaction from all involved threads. The largest implication of this is that a thread must not execute for "long" periods of time before returning fully to Android. 



FFUUUUUUUUUUUUUUUUUU



А, да, а еще Mono на андроеде работает в 3 раза быстрее далвика на строках, и в 10-50 раз быстрее на математике (векторы и AES)



Жуть какая-то - чем глубже копаю, тем больше у меня возникает вопросов не то что о квалификации, а вообще о вменяемости разработчиков этого поделия... 

Толку с этого вашего опен сорса, если тысяча обезьян посмотрит на код, ничерта не поймет, и скажет "а, и так сойдет"? То же самое и с security, между прочим.

Есть хорошие исключения, но их очень мало. А такие вот вещи просто тупо позорят этот самый опенсорс, который, действительно, ни в чем не виноват, но типичная ситуация, когда всем фиолетово и никто не хочет брать на себя ответственность за говнокод - налицо.
wizzard: (Default)
2011-05-17 03:41 am

c++ vs c# vs java, или ява головного мозга

я чего-то не понимаю. был код на плюсах. есть порт на яву с идентичным функционалом.

мне оно понадобилось на сишарпе, и я сдуру взялся переносить явский вариант – ну как же, языки же ближе вроде как? убив месяц, заподозрил неладное. пошел сравнил размер и офигел. плюсы – 30 KLOC, ява – почти 300 KLOC.

и таки да, пока что:

- плюсовый код читается гораздо легче, невзирая на C++ FQA
- на сишарпе получается в ~2 раза компактнее плюсов, не говоря уж о той куче кода, за которую я взялся в оригинале. как можно было так извратиться?…