Posts

Showing posts from January, 2020

How secure are VMs (Virtual Machines)?

A virtual machine is software that can abstract the hardware of a computer such that an isolated operating system can run as a guest on top of a host computer hardware and operating system. Often a virtual machine is more than just an application running as a process on the host operating system. A VM using hardware virtualization uses features of the computer hardware that allow virtual machine isolation. Virtual machines are one solution to the concept of creating an isolated, convenient, and secure environment that can be used and abused without the same risk of damaging a host computer to name just one benefit of running multiple operating systems on the same hardware at the same time. An other solution to this concept is to use what is called a container. Docker is one container option out there and there are pros and cons with each solution. A container is in contrast to a VM a process that runs on the host operating system. Lastly, to recognize the convenience, security, and ...

Encrypting and decrypting strings using PowerShell

One of the challenges that I overcame when I was creating a Server 2008 hardening script was how to securely encrypt AD password changes that were made on the fly. Once that was accomplished how do I store only ciphertext to be read as a password of a user by an authorized user if necessary? Windows PowerShell comes with a cryptography framework that for example allows the programmer to read an input string from the user as a secure object. The secure string can be used by the PowerShell program however the means to read that object back to the user in plaintext was, I found, expectedly, not as well documented. A topic that I found interesting and that I first came across as I researched how to access plaintext from a secure object is a concept in computer science called marshaling. Briefly from Wikipidia "marshaling is the process of transforming the memory representation of an object to a data format suitable for storage or transmission". So to read plaintext from a sec...