Leveraging the Strongest Factor in Security (Part I)

In January 2013, Gary McGraw has written an excellent piece on 13 secure design principles that summarize the high level ideas any security engineer or architect should be familiar with in order to be called so. Dr McGraw is of course that smart gentlemen from Cigital who wrote the “Software Security” book, records the “Silver Bullet” podcast, and has played his role in many career choices in the security industry. The first principle he explains is quite logical and intuitive: “Secure the weakest link”. This principle spans over many disciplines, such as project management and logistics, and is obvious to many: there hardly is other way to dramatically improve something than taking its worst part and fixing it. Pretty simple, right?

Picture credit: SC Magazine (https://www.scmagazine.com/defending-data-the-knowledge-factor/article/269211/)

The vast majority of information security professionals agree that human factor is the weakest element in any security system. Moreover, most of us promote this idea and don’t miss a chance to “blame the user” or address human stupidity as an infinite source of security problems. However, when you start challenging this idea and ask what in fact did they attempt to do in order to change the situation, the answers are few. Just try it yourself: every time you hear someone says “… you cannot fight phishing/social engineering/human error etc.”, kindly ask them: “And have you tried to?…” I do it all the time and believe me, it’s a lot of fun.

The uncomfortable truth is that human brain is very efficient in detecting and dealing with threats. In fact, it spends the majority of its computing time and calories burned to maintain this “situational awareness” that allows us to step on breaks long before we solve the equation system that represents the speeds and trajectories of our car and that one approaching from the side. Our brain, if trained properly, can serve as an effective security countermeasure that could outrun any security monitoring tool in detection or response. The problem is that we as an industry didn’t have as much time to train the humanity to monitor for, detect, and respond to technology threats as nature had for training us to avoid open fire, run from a tiger, and not jump from the trees. And even bigger problem is that we don’t seem to start doing it.

So, what’s wrong with us really? Why don’t we combine the common knowledge of human weakness in front of cyber threats and the maxim of securing the weakest link? I frankly have no idea. Maybe it’s because the knowledge domains that deal with human “internals”, such as neuroscience, psychology, and behavioral economics, are very different from what security people are used to deal with: networks, software, walls, and fences, — I don’t know. However, I have tried (harder ©) to improve the way people that are not security experts deal with cyber threats. And you know what? It’s more fun than blaming the user. But, I guess that’s enough for one post, to be continued…

This post has been originally posted on LinkedIn on May 25, 2016.

Personal infosec tips for 2016

(This post has been originally posted on LinkedIn on Dec 31, 2015).

It’s no secret that the computer security threat landscape changes constantly for both private individuals and corporations. Wannabe cybercriminals, as well as the real ones, compete with nation state sponsored intelligence agencies to get the most of our sensitive data. Their toolkits and modus operandi aren’t static and neither should be ours.

Considering the ever changing personal security agenda, I have decided to update my advise on personal computer security, or personal cybersecurity if you like (however, I assume this term is irrelevant in a private setting). It may look like I am biased towards Apple stuff at several points below, but there are at least two reasons for that. First, the company has made huge progress in protecting their customers privacy lately; and second, I am a long term Apple user myself so these things are just closer to my experience. So, let’s go shopping 🙂

1. Use less software and regularly update what you use

The principal idea here is that the more software you use the more vulnerable you are. If you don’t need it or start it once a year just to remind yourself what’s it doing on your computer, remove it now. If you still use Java or Flash you should consider removing them right now. There is no reasonable explanation for keeping Flash in your system and Java is getting there too. So, unless your employer still runs some piece of enterprise crapware that requires Java for workstation clients, remove it as well. And if you can’t at least consider forbidding it from running in your browser. A lot’s been said about keeping all your code up to date, so just do it. Pay most attention to your OS and web browser and review the possibility to automate third party apps updates by using Secunia PSI or MacInformer. (Most Linux users are lucky since software updating is an essential function of all modern distros.)

2. Use a VPN service or setup your own

VPNs are getting cheaper each day because you know… NSA has made it a highly competitive market lately. You can get a single subscription for all your devices from FreedomeVPN by F-Secure or PrivateVPNAccess. Both are affordable if connection privacy is of importance to you. You can even setup your own server on Amazon or DigitalOcean and run it for the cost of one virtual instance (DO price is $5 per month + $1 if you want backups). OpenVPN AS is much easier to install and configure than a true opensource openvpn, and it has a free license for 2 concurrent users and easy to use client software for all contemporary environments (no WinMobile though).

3. Use secure communications software

There are plenty of means for secure talks and messaging nowadays. On your smartphone, OpenWhisperSystems Signal does its job of protecting your VoIP calls and text messages. It’s free and runs smoothly on iOS and Android (no luck for those three WinMobile fans I can think of). If you decide to use something else, make sure its architecture is server-less, meaning your messages are encrypted peer-to-peer and not stored anywhere in between. iMessage, although limited to Apple users, is one of plausible examples and Facebook Messenger is not.

For email, use good old PGP. GPGTools allows using it with Apple Mail easily and transparently. I am sure there is a way of installing GnuPG with your email client on Windows and Linux has been providing its users with this capability for years. GMail fans who still rely on webmail interface can do it too. So it looks like there is no excuse left for those who say email crypto is hard: it’s absolutely not for quite a while now. GPGTools is free but I’m sure you’re going to donate once you see its value.

4. Use a password manager

There is no need to remember more than a few passphrases these days. Get a password manager that synchronizes between your devices, protect it with a strong password, and generate unique, random, virtually unbreakable authentication keys for everything else. Personally I recommend using 1Password if Apple ecosystem is your friend, otherwise you can take a look at Keepass. 1Password can be free unless you need iCloud sync, and Keepass is free and opensource.

5. Encrypt your files before putting them into the cloud

Boxcryptor encrypts your stuff before your Dropbox, iCloud, Google Drive etc. synchronizes it to their servers and gets ahold of your content. There is no reason to share your precious files with someone you don’t even know personally, so encrypt them before you upload them. Boxcryptor allows you to share files securely too by adding other users to encrypted shares and granularly managing their permissions. I suppose there are other services like that, just make sure they don’t have easy access to your keys and encrypt files locally before uploading. Boxcryptor is free to use with just one cloud storage.

6. Backup everything and backup frequently

Offline storage space gets less and less expansive each year. Buy a 1 or 2 TB USB hard drive and backup your valuable files at least once a month. Most importantly, encrypt your backups and backup your encryption keys, such as PGP keys and password database. Again, Apple users are the luckiest ones since the platform allows for seamless full and incremental backups protected by contemporary crypto.

That’s it for now. Be safe in 2016.

Updated 7/01/16 — This is a really nice guide on how you can make your work with OS X more secure. It collides with some points I’ve highlighted in my post and I believe every Mac user can find lots of good advice in there.

Як видалити аккаунт з ВКонтакте і Однокласники

та перенести Mail.Ru та Yandex Mail на GMail

В минулому пості я спробував пояснити, чому користуватися інтернет-сервісами, розташованими на території РФ, це проти людської природи. Сподіваюся, на вас це подіяло, тому ось декілька порад щодо того, як позбутися цих шкідливих звичок.

По-перше, все виявилося навіть гірше, ніж я думав. Ні в ВКонтакте, ні в Однокласниках я не знайшов можливості експортувати дані користувача. Які, до речі, є в усіх популярних сервісах з часів заснування Facebook. Таким чином, еволюція зазначених вище сервісів зупинилася десь на рівні MySpace, в якому такої кнопки ще не було.

Щоправда, для ВКонтакте є якийсь скрипт дворічної давнини на GitHub, сумніваюся, що він працює. В будь-якому разі, якщо можливість експорту існує, то вона реалізована третіми постачальниками.

Щодо електронної пошти, тут ситуація набагато краща. Через те, що пошта працює по стандартним протоколам та RFC, мігрувати будь-яку поштову скриньку у Google Mail зовсім просто користуючись ось цими порадами: 3 ways to move email from other accounts to Gmail. Для повного перенесення даних треба обрати перший варіант, а після міграції налаштувати у старому поштовому сервісі безумовне переправлення на нову адресу без збереження копій у старій поштовій скриньці. Ще можна налаштувати автовідповідач, в якому повідомити відправникам нову адресу електронної пошти та попросити в майбутньому використовувати саме її. Після двох-трьох місяців в такому режимі, коли всі ваші контакти вже будуть в курсі змін, що відбулися, стару поштову скриньку можна буде видалити назавжди.

З видаленням аккаунтів в поштових сервісах все більш-менш зрозуміло, а от знайти посилання, за якими можна видалитися з Однокласників та ВКонтакте, з першої спроби мені не вдалося. Дякувати Гуглу, багато часу пошук не забрав: очевидно, це популярна тема. Отже, видалитися з зазначених сервісів можна ось так:

  • Видалитися з Однокласників. Ідемо на умови надання сервісу та натискаємо на посилання про видалення аккаунту в самому кінці сторінки. Після відповіді на питання що ж нам у них не сподобалось та введення паролю все закінчиться.
  • Видалитися з ВКонтакте. Переходимо на таку адресу — https://vk.com/settings?act=deactivate, обираємо причину, і все — тепер ви вільна людина.

Якщо в когось з читачів є інформація щодо методів експорту котиків та листування з колишніми з ОК та ВК — прошу поділитися з метою покращення КПД цього посту. Дякую заздалегідь.

Чому варто видалити аккаунт з ВКонтакте і Однокласники, а про Mail.Ru

Багатьом відомо, що з 20 липня та 1 серпня 2016 р. в Російській Федерації вступає в дію низка “антитерористичних” поправок до законів, які вкупі мають назву “пакет Ярової”. Про подробиці змін, які вже ухвалені парламентом та президентом, ви можете почитати ось тут, але якщо коротко, то тепер російські спецслужби та правоохоронні органи мають оперативний доступ до усіх даних користувачів соцмереж, поштових та інших інтернет-сервісів, які знаходяться в юрисдикції РФ, протягом 6 місяців. Саме на цей термін нові правила вимагають операторів зберігати листування користувачів.

Якщо з якихось невідомих мені причин ви досі користуєтесь інтернет-сервісами російського виробництва, я рекомендую вам переглянути цей підхід у бік міграції на послуги, які розташовані в якійсь більш цивілізованій юрисдикції. Тим більше, що якість такого продукту у 100% випадків буде значно вищою.

Якщо ваш основний аргумент це те, що ви все одно не зберігаєте у соцмережах ніякої чутливої інформації, я пропоную вам подумати про наступне. Чи знаєте ви, що додатково до даних, які ви свідомо завантажуєте у соцмережі, вони збирають про вас певний набір метаданих, таких як ваше розташування під час користування сервісом, а також дані про розташування місць, в яких були зроблені ваші фото? Інші приклади метаданих складають контакти та інтенсивність листування з кожним з них, періодичність користування сервісами та характер переходів по зовнішнім посиланням, і звичайно ж ваші вподобання щодо реклами, яку вам пропонують соцмережі, адже це їхня основна бізнес-модель. Це якщо ми говоримо про дані, які зберігають сервіс-провайдери. А що ж щодо того, куди ці дані потім передаються?

Як усім нам відомо, безплатного сиру без неприємних наслідків майже не буває. “Правило буравчика” в цьому випадку звучить так: якщо вам не доводиться за щось платити, то ви не клієнт, ви — товар. У випадку з соціальними мережами це справедливо на всі сто: клієнтом соцмережі є не її користувачі, які безплатно насолоджуються радістю спілкування. Клієнтами є ті, хто платить гроші, тобто всілякі рекламодавці, аналітичні агенції, власники бізнесу що рекламується тощо.

У більшості країн до цього переліку можна додати ще й державні спецслужби та правоохоронні органи, щоправда, платити за послуги не в їхньому стилі, тому вони створюють закони, згідно з якими інтернет сервіс-провайдери змушені надавати їм доступ до даних користувачів, якщо хочуть здійснювати діяльність на їхній території. Але в деяких юрисдикціях для отримання такого доступу слідчому треба отримати ордер в суді, так само як і на обшук оселі чи офісу. А в деяких, таких як Російська Федерація в найближчому майбутньому, ці неприємні незручності відсутні.

Отже, якщо ви вирішили адекватно відреагувати на майбутні зміни в угодах про надання послуг російських постачальників інтернет-сервісів, до ваших послуг купа альтернатив. Більшість з них, звичайно, змушені виконувати закони США та Євросоюзу, тобто через ордер до них мають доступ Європол, ФБР та інші. З тієї ж причини, необмежений стрімінг піратської музики з них теж дещо ускладнений, але це однозначно менша з двох зол.

Я спробую зібрати в наступному пості декілька порад щодо того, як видалити обліковий запис в уразливих соцмережах та як архівувати ваші дані, які там зберігаються.

Using NMap XML output

It is widely known that NMap is the most underestimated penetration testing tool out there, so in case you don’t use its XML output to the full extent (as I did just a month ago), this post is for you.

There is a whole section in NMap help dedicated to output formats.

OUTPUT:
-oN/-oX/-oS/-oG <file>: Output scan in normal, XML, s|<rIpt kIddi3, and Grepable format, respectively, to the given filename.
-oA <basename>: Output in the three major formats at once
-v: Increase verbosity level (use -vv or more for greater effect)
-d: Increase debugging level (use -dd or more for greater effect)
--reason: Display the reason a port is in a particular state
--open: Only show open (or possibly open) ports
--packet-trace: Show all packets sent and received
--iflist: Print host interfaces and routes (for debugging)
--append-output: Append to rather than clobber specified output files
--resume <filename>: Resume an aborted scan
--stylesheet <path/URL>: XSL stylesheet to transform XML output to HTML
--webxml: Reference stylesheet from Nmap.Org for more portable XML
--no-stylesheet: Prevent associating of XSL stylesheet w/XML output

With time I got used to type -oA <basename> in order to get the reports in three formats: actual NMap output in .nmap, greppable text in .gnmap, and XML document in .xml.

Most people I know get confused when it comes to XML parsing, so the most popular use for NMap XML output is to open it in Zenmap, look at nice graphs, play around with sorting, and then close and never open it again. The first good news is that you can open multiple XML files in Zenmap by adding new files to those already open. This is handy, but you can’t save everything you’ve opened altogether to a new XML document, so this opportunity is of limited use.

Second, you can use xsltproc tool (in OS X it can be obtained by brewing libxml2) to create a nicely looking HTML report out of your NMap XML. Just type…

xsltproc report.xml > report.html

…and you’re done. Then you can open it in any browser and enjoy. You can also change the resulting HTML style by editing nmap.xsl file (brew puts it to /usr/local/share/nmap/) to add custom highlights and virtually anything you can get out of an XML.

That’s all good, but we rarely have just one NMap scan per engagement, right? And combining multiple XML files into one document is not something you can do easily. For that, you can use xml-cat tool from xml-coreutils. It simply concatenates multiple XML documents putting the <root>…</root> container around them. To use xsltproc with the result you have to replace root with nmaprun and add the following header right after the first line of the XML file for it to look like this:

<?xml version=”1.0"?>
<!DOCTYPE nmaprun>
<?xml-stylesheet href=”file:///usr/local/bin/../share/nmap/nmap.xsl” type=”text/xsl”?>
<nmaprun>
(everything between <root> and </root> does here)
</nmaprun>

After that, you can generate a pretty HTML report and review your NMap scan results sipping coffee and listening to music.

Hope this helps, stay safe, till next time!