Как и подобает каждому приличному секуритяну, я задумываюсь иногда о большом, белом и добром — об абсолютной защите от уязвимостей. То есть, какая должна быть система, чтобы с математической точки зрения к ней нельзя было сделать exploit’ы. Сразу оговорюсь, мы говорим именно о технической стороне, а не о social engineering’е, когда человек сам отдает ключи от квартиры, где лежат деньги.
А кстати, навеяло это мне то, что блог взломали и поместили невидимые линки на какой-то сайт с рекламой всякого хлама. Забавно, что жил на старинном WordPress 2.3 больше года и не был взломан. Стоило перейти на распоследний 2.8.5 c Security updat’ами и не прошло и недели, как взломали. Но, это, так… к делу не относится.
Так вот. в своих раздумьях по поводу абсолютной защиты, все что я смог придумать это — полное разделение кода и данных. То есть не должно быть ни одного места, где они перемешаны. Один из самых распространенных видов уязвимостей — переполнение буфера как раз основан на том, что сначала путем переполнения мы гадим в стек и вызываем переход на тот адрес, который мы хотим, например на другой загаженный кусок. Соответственно, если адресация команд отделена от адресации данных, то данные никак не будут исполнены как команды.
Вероятнее всего, имеет смысл даже более жестко вводить разделение. Вообще, управление программой не должно быть возможно с помощью «сырых» данных. То есть, все методы условного и безусловного ветвления могут работают только на основе того, что храниться в флагах или коде. А уж только флаги в свою очередь могут быть выставлены какими-то операциями с обычными данными.
Так, что — долой архитектура фон Неймана и да здравствует архитектура Ронина (м… нужно какой-нибудь титул раздобыть).
Вторая идея, фактически продолжение первой — запрет всех интерпретируемых языков. Долой всякий SQL-injection. Увы, пока я не смог придумать, как с технической стороны можно ограничить возможность интерпретирования.
Увы, пока на этом мысль останавливаются.
Есть у кого-нибудь еще идеи и предложения по этому поводу?
P.S.1. Основная идея, не какой-то метод написания кода, который будет более стабильный, а система в которой потенциально нельзя написать код позволяющий сделать exploit. Понятно, что против SQL injection и buffer overflaw есть вполне четко описанные практики борьбы, весь вопрос, что программист должен об этом думать и может забыть/не знать и поэтому везде и есть куча дыр.
P.S.2. Отличная идея от Alex UK. Конечная state machine действительно хорошо справляется с поставленной задачей.
С одной стороны, когда их вливают, то компании ну просто зашибись как хорошо и все по плечу. Но как только поток инвестиций заканчивается, начинается мощная ломка — размах уже есть и деньги сжигаются со скоростью звука, а прибыль компания получать так еще и не научилась.
И потрясающая лекция от David Heinemeier Hansson’а (37signals) о том как строить реально работающий IT бизнес (без инвестиций). Лекция на английском, но если настоятельно рекомендую попытаться через нее «пробиться» даже тем у кого английский слабый.
Ужас… Никак не расстанусь с темой этого самого резервного фонда. Это последний пост на эту тему и в следующем таки перейдем к инвестированию.
На повестке три вопроса:
а) Для каких конкретно ситуаций нужен резервный фонд?
б) Почему нужно иметь 6-9 месяцев запаса?
в) Менталитет exUSSR жителя связанный с накоплением.
Итак по первому вопросу. Для каких ситуаций нужен резервный фонд?
Все просто. Он нужен на тот момент, когда вы не зарабатываете, а при этом тратите и это не покрыто страховкой. Самые типичные две ситуации — вас уволили с работы и вы ищете новую или у вас кто-то серьезно заболел и нужно быть в больнице, а не на работе. Думаю есть еще достаточно много разнообразный возможностей, но эти две ситуации наиболее вероятные.
Ко второму вопросу. Почему именно 6-9 месяцев ваших текущих расходов?
Естественно — эта средняя температура по больнице. Вот те параметры, которые влияют на нее
— среднее время безработицы по стране (а идеально в вашей области и по специальности) во время рецесии.
В США — это как раз что-порядка 6 месяцев.
Замечу, не пытайтесь это считать по своему опыту — вы один человек и статистика на вашем опыте очень не точна.
— ваша толерантность к риску
— ваша возможность ужаться в расходах.
Идеально конечно вычислять фонд в размерах «ужатых» месячных расходов. Но зачастую люди могут переоценить или недооценить какое количество их расходов не критично. Поэтому опять же расчет ведется от текущих расходов (которые оценить легко).
Сюда же входит наличие запасного плана. Если у вас родители живут в том же городе, в квартире куда вы можете хоть временно перебраться и они вас будут кормить и давать крышу над головой, то соотвенно вы можете гораздо сильнее ужаться в расходах.
Ну и дальше, ваше уже дело, выбрать точную цифру. Например те самые 6-9 месяцев дают мне спокойно спать. Имея скажем всего 2 месяца, я постоянно дергался бы, что если что-то пойдет не так, то очень быстро не будет денег даже на покупку еды.
И третий вопрос. Менталитет exUSSR жителя связанный с накоплением.
Я обнаружил, что в головах у людей намешано дай боже. Примерный список
а) Деньги — это зло 🙂
б) Стабильности нет, так что лучше все пропить сейчас, так как завтра может наступить конец света.
в) Я легко могу ужаться на 50% на 3 месяца, но я абсолютно не могу откладывать по 10% в месяц, так как умру от голода/буду себя этим очень ущемлять.
г) Все равно, сколько я бы не накапливал, я никогда себе не куплю Lamborgini Diablo со всеми наворотами.
д) Планирование — это полная фигня, я как-нибудь так понакапливаю. А может если что-то интересное по ходу попадется, то другое куплю.
е) Главное, чтобы сейчас нормально себя чувствовать, а в будущем как-нибудь разберусь.
ж) Да у меня ЗП последние 10 лет постоянно растет, мне проще больше зарабатывать, чем откладывать.
В общем, все это создает жуткую гремучую смесь, которая всеми ногами и руками сопротивляется нормальному планированию. Ну, что я могу сказать — каждый делает свой выбор. Я лично выступаю за то, чтобы пытаться увеличить вероятность спокойного и хорошего будущего.
Итак, сразу перепрыгнуть к инвестированию таки не удалось. Таки дозаколотим гвозди в тему накопления, чтобы потом со спокойной душей перейти к инвестированию.
На повестке дня следующие вопросы
— Нафига вообще откладывать? За 4 года все поменяется. И вдруг мне на голову упадет концертный рояль?
— Как можно откладывать 10% от дохода? Только жирные пиндосы могут себе это позволить.
— Куда откладывать и в чем? Доллар может упасть, банкам доверия нет, квартиру могут обокрасть и вообще куда этот мир котится?
— А что вообще насчет накоплений на какие-то крупные вещи — пенсию, тот самый концертный рояль о котором я говорил? Что же с ними делать то? Как и когда на них копить?
Вопрос нумер уно:
— Нафига вообще откладывать? За 4 года все поменяется. И вдруг мне на голову упадет концертный рояль?
Начну издалека. Вам сегодня вечером ведь тоже может упасть рояль на голову, так может и на работу сегодня не стоит идти, а начать оттягиваться. Да и зубы чистить тоже не стоит и можно не бриться, а еще можно водки накатить бутылочку. Исходя из этой идеи где-то через 1 месяц вы будете лежать под забором с другими бомжами ища по карманам мелочь, чтобы собрать на следующую бутылку водки.
Естественно в жизни ничего не гарантировано и в финансовом мире тоже любая инвестиция и накопление имеют свои риски. Тем не менее, что нас интересует — это среднестатистический вариан. А вот среднестатистически, вероятность того, что вам упадет рояль сегодня на голову равна 0.000000000375% (для грузчиков она выше). Примерна такая же вероятность (ну буквально на 5-6 порядков меньше), что к вам спустится ангел небесный с чемоданом баксов. Но вот, с вероятность 95% сегодняшний день будет достаточно похож на вчерашний и у вас будут похожие нужды, похожие доходы и похожие растраты.
Финансовый план, это не что-то высеченное в скале. Ясно, что у вас может родиться ребенок, вы можете переехать в другую страну, может сгореть тот чемодан баксов выданный вам ангелом. В такие моменты нужно садиться и пересчитывать свой план. Вообще план обязательно пересматривать каждые полгода — год. За это время у вас могли измениться желания и возможности.
Замечу еще одну вещь. Да блин многие из нас, а особенно наши родители пережили очень крупные изменения с распадом страны. Фактически все обязательства (включая банковские) исчезли в один день. Потом был целый период нестабильности, лопающихся банков, МММ’ов и т.п. Все это приводит нас к тому, что мы не верим в стабильность. Тем не менее, даже в плохой экономической ситуации, постоянно растущих ценнах есть уже достаточно много стабильности., чтобы понять, что завтра мир не прекратит существование и таки нужно планировать, что с вами будет.
Плюс, даже в самой богатой стране люди не знают будущего, но это не отменяет необходимости его планировать.
Суммируя. Мы планируем что в течении 4 лет собираемся достичь резервного фонда в 6 месяцев. Если вдруг на нас упали деньги, то вместо дикой их траты — вкладываем в фон, и уменьшаем длительно до достижения цели. Если возникла ситуация, что мы никак не можем откладывать столько, то уменьшаем и цель откладывается (вот с этим надо быть очень осторожными и таки отдавать себе отчет, когда это действительно необходимость, а когда прихоть).
На этом достаточно по вопросу. Переходим к следующему вопросу.
— Как можно откладывать 10% от дохода? Только жирные пиндосы могут себе это позволить.
Да, я наполовину уже пиндос. Все еще пока не жирный. Так, что мои ответы с толикой цинизма.
Предположим вы получаете $500 в месяц. И вы откладываете по 10% и в конце года видите, что отложили $600 баксов и говорите — блин, это же не сумма — это полное говно. Вот тот пиндос, может по $600 каждый месяц откладывать от своих $6k зарплаты.
А теперь напрягли мозг. Сколько у вас расход в месяц? Ага, $450. Сколько, вы можете прожить на сохраненные за год деньги — правильно 1.3 месяца (для простоты пока инфляцию и проценты по вкладам не учитываем). Сколько отложит жирный товарищ с зарплатой $6k за год? Отложит $7.2k. Сколько у него расход $5.4k в месяц. Сколько он сможет прожить на сбережения? Те же — 1.3 месяца.
Ну вы догадались, откладывая 10%, при любой зарплате, максимум можно прожить на это 1.3 месяца без изменения расходов. Так, что в достижении поставленной цели ваши $600 эквивалентны его $7.2
Естественный вопрос. Так, блин, он же на эти деньги и в авто ездит и на Гаваи летает, а я за эти деньги на велосипеде и на местную речку. Ну, что же… С этим спорить бесполезно. Да, тот кто получает больше при равных процентах накопления вероятнее всего лучше будет жить и за накопленную сумму может купить больше товаров.
И третий вопрос. У того товарища с $6k есть гораздо больше того, что можно урезать. Поэтому ему легче добраться процента накопления 10% или 15%, а у меня только вещи первой необходимости.
Это я разобью на два ответа
а) Во первых, не думаю, что у вас только первая необходимость. Я сам был в этой ситуации. У меня с 1998 года по 2005 зарплата выросла с $50 до $1k. То бишь в 20!!!! раз. При этом я вроде тратил только на первую необходимость и у меня ничего не оставалось. Что-то я не верю, что первые необходимости выросли в 20 раз в долларах. Это у меня запросы выросли в 20 раз.
Да, действительно, в exUSSR у людей поменьше возможностей для разумного урезания бюджета. Но всегда есть компромиссы — вместо трех пивопитий в неделю — делать два. Вместо курения супердорогих сигарет X, курить менее дорогие Y, а лучше вообще бросить (сразу две пользы). Ездить домой на метро, а не на такси и т.п.
Первым делом таки вам надо составить четкий список на что уходят деньги. Вы достаточно быстро найдете места, которые можно хотя бы слегка оптимизировать и получить несколько дополнительных процентов.
б) Если у вас действительно суровый прожиточный минимум — хлеб, одежда и крыша над головой. То вам нужно подумать первым дело не о накоплении, а о вложениях в себя — получении знаний, которые пользуются спросом и переходом на более оплачиваемую работу. Думаю все дальнейшие мои советы вряд ли будут к вам применимы.
Кстати, сразу скажу, что сохранение денег должно идти хоть активно, но естественно я не пропагандирую это делать в ущерб здоровью. Но делать это в ущерб ежеминутным прихотям таки придется.
— Куда откладывать и в чем? Доллар может упасть, банкам доверия нет, квартиру могут обокрасть и вообще куда этот мир котится?
Начнем с цели. Резервный фонд — это деньги на черный день — увольнение, непредвиденные траты и т.п. Соответственно, два пункта — у вас должен быть быстрый доступ к деньгам (максимум в течении дня), они не в коем случае не должны быть в чем-то рискованном (заработать % на них НЕ является целью).
Насчет падающего доллара. Самое худшее, что может случиться с долларом, ну скажем он упадет на 20%. Да это не приятно, но не катастрофа. Ваши 6 месяцев, ужались до 4.8 месяца. Основная идея этих денег, чтобы вы спали спокойно, чтобы у вас есть деньги на черный день. Их «потеря» в каком-то виде как раз запланирована. Считайте, что падение доллара — это как раз один из этих черных дней. Поэтому не стоит переживать по поводу доллара так сильно.
Вот насчет исчезания банка — это уже более серьезно. Действительно если банк лопается, то мгновенно потерять весь фонд это жестоко.
Я бы порекомендовал, один месяц фонда держать дома в абсолютно недоступном месте (чтобы самому не потянуть оттуда на что-то повседневное). Во первых это даст очень быстрый доступ к деньгам. С другой стороны, если их украдут или они сгорят то вы потеряете 1 месяц фонда, что не катастрофа (см. пример с долларом).
Остальные деньги я бы рекомендовал положить на обычный поточный счет в банке которым владеет какой-то иностранным банком (США или европейским). Они гораздо лучше относятся к своим обязательствам. Если вам все равно не уютно — разделите между двумя банками.
Примечание от CAE (копия его комметария).
Для информации – все банки в России (что на Украине – не знаю) являются российскими юридическими лицами и отвечают не более чем в объёме своего капитала. То есть, допустим, ООО “Банк Москваинвест” будет отвечать перед кредиторами 10000 рублей. ЗАО КБ Ситибанк будет отвечать, допустим, 1000000 рублей, ввиду ЗАО не знаю сколько там капитала. ОАО Банк Москвы будет отвечать сколько там у него в годовом отчёте. Не более… Напоминаю, что даже владение объектом ЗАО КБ Ситибанк объекта Citigroup не означает ответственности последнего перед российскими кредиторами.
Теперь, что касается ответственности не перед абстрактным кредитором, а перед вкладчиком-физическим лицом. Рядовой банк может стать участником системы страхования вкладов. Это отчисления резервов на счета в ЦБ (точнее в АСВ, но это пофиг), а в случае часа Че, вкладчик может вернуть своё, разумеется, не более лимита. Лимит сейчас 700 тонн. Валюта пересчитается на день возврата. На практике большая часть банков, хоть сколько-нибудь практикующих вклады, участвуют в этом страховании. Так что возвраты случчё будут именно оттуда – из этой кубышки АСВ. А, конечно же, не из материнской компании. Надо это чётко понимать.
Соответственно, моя рекомендация по держанию в банках, которые принадлежат иностранным дополняется тем, что нужно спросить у банка его участие в АСВ.
Держать в золоте, акциях и т.п. я бы очень не советовал. Время превращения в деньги выше, колебания тоже выше (если 20% потерь мы можем вынести, то 50% будет больно). Плюс, как я писал, мы не пытаемся заработать на этих деньгах. Мы будем зарабатывать на инвестициях о которых я буду писать дальше.
— А что вообще насчет накоплений на какие-то крупные вещи — пенсию, тот самый концертный рояль о котором я говорил? Что же с ними делать то? Как и когда на них копить?
А вот этот вопрос я таки оставлю на следующую статью. Это как раз и является целью инвестирования — сохранение и накопление на крупные вещи. Опять же, резервный фонд не для покупки авто, а для того, чтобы поддержать штаны, если выгонят с работы.