Archive for the 'Security Tools' Category
For most S/MIME compatible email clients, you must obtain a PKCS12 format certificate before you can upload your private key and/or others’ public key for secure email communication.
The first way you can do this is, of course, to apply such a certificate from a trusted Certificate Authority (CA), such as VeriSign. But can you do this without a CA?
Yes, it is possible for you to generate such a certificate manually using open source software. However, note that the certificate is self-signed, meaning it is signed by you as the trusted root source.
To do this, you have first to download a piece of software than can generate PCKS12 format certificates. The most common one is OpenSSL software. You can visit this website to know more:
http://www.openssl.org.
The original OpenSSL software is made primarily to be run on the Linux platform. As a general Windows user, you might need to use the program on a Windows platform, and may not know how to compile the source code of OpenSSL to make it run on a Windows platform. If you have this headache, you can try the Windows compatible OpenSSL work available for free here:
http://www.slproweb.com/products/Win32OpenSSL.html
Upon successful installation of the software, go to the bin directory of your installation to locate the software openssl.exe that you need to use to generate PKCS12 certificate.
I followed the instructions here to create my own certificate:
http://tinyurl.com/4s5zqo
I have added my own explanations and remarks and simplified a bit the process. Here are the steps:
Assume you have installed your software on the path c:\Openssl
1. Generate a RSA Private Key in PEM format
Type:
>C:\Openssl\bin\openssl.exe genrsa -out my_key.key 2048
Where:
- my_key.key is the desired filename for the private key file
- 2048 is the desired key length of either 1024, 2048, or 4096
2. Generate a Certificate Signing Request:
Type:
>C:\Openssl\bin\openssl.exe req –new –key my_key.key –out my_request.csr
- my_key.key is the input filename of the previously generated private key
- my_request.csr is the output filename of the certificate signing request
3. Follow the on-screen prompts for the required certificate request information.
4. Generate a self-signed public certificate based on the request.
Type:
>C:\Openssl\bin\openssl.exe x509 -req -days 3650 -in my_request.csr -signkey my_key.key -out my_cert.crt
my_request.csr is the input filename of the certificate signing request
my_key.key is the input filename of the previously generated private key
my_cert.crt is the output filename of the public certificate
3650 are the duration of validity of the certificate. In this case, it is 10 years (10 x 365 days)
x509 is the X.509 Certificate Standard that we normally use in S/MIME communication
This essentially signs your own public certificate with your own private key. In this process, you are now acting as the CA yourself!
5. Generate a PKCS#12 file:
type:
>C:\Openssl\bin\openssl.exe pkcs12 -keypbe PBE-SHA1-3DES -certpbe PBE-SHA1-3DES -export -in my_cert.crt -inkey my_key.key -out my_pkcs12.pfx -name “my-name”
- my_cert.crt is the input filename of the public certificate, in PEM format
- my_key.key is the input filename of the private key
- my_pkcs12.pfx is the output filename of the pkcs#12 format file
- my-name is the desired name that will sometimes be displayed in user interfaces.
6. (Optional) You can delete the certificate signing request (.csr) file and the private key (.key) file.
7. Now you can import your PKCS#12 file to your favorite email client, such as Microsoft Outlook or Thunderbird. You can now sign an email you send out using your own generated private key. For the public certificate (.crt) file, you can send this to others when requesting them to send an encrypted message to you.
Tags: self-signed Public Key, OpenSSL command
Technorati Tags: S/MIME, PKCS12, private key, public key, secure email communication, Certificate Authority, OpenSSL, RSA, self-signed public certificate, X.509, PKCS#12, self-signed Public Key, OpenSSL command
You can use PGP (Pretty Good Privacy) freeware to communicate freely. PGP freeware can be downloaded here:
http://www.pgpi.org/products/pgp/versions/freeware/
However, since they have recently taken down the freeware for the Windows platform, I’ll show you how to use another piece of software called “gpg4win” to do the same thing.
This software was created from an open source effort, and it supports OpenPGP standard. With a suitable plugin, you can use this with some other email clients such as Thunderbird and Clawmail for S/MIME email encryption.
You can download the latest version here:
Upon successful installation, you’ll find the following welcome screen:
Select “Generate key now” if you do not have a PGP private and public key pair.
Input your full name and email address, then carefully input a passphrase. This is an important step, so select something you can recall because you need to correctly enter your passphrase when you want to use your private key later.
Follow the onscreen instructions and create your key pairs. If you require a backup key to be generated, make sure you save the key pair in a safe place.
Now you can see your newly generated key in the application windows like the one I have generated for myself:
However, before you ask someone to send an encrypted message to you, you need to export your public key to them. You can select the “Export” function of the application window to do this.
After selecting the Export function, the program will ask you where to save the exported public key. Select a location where you can retrieve the saved public key later.
Now you can send your key to anyone who needs to send you confidential messages. Those who have your public key can then encrypt the message using your public key. Those encrypted messages can only be opened by you, who owns the private key.
As an example, suppose there is someone who already has encrypted a message (or simply a file) using your public key. Let’s call the original file “plaintext.doc,” and the encrypted file you received should be “plaintext.doc.gpg”. (The software adds the file extension “.gpg” to the output file it has encrypted)
Pressing the “Files” button under the application window displays the program’s file manager. You can locate and select the file “plaintext.doc.gpg” that has been saved in your computer previously.
By pressing the Decrypt button, you are prompted to enter the passphrase for your private key to decode the file. Upon presenting the correct key, you should now have the decrypted file under the same directory of your encrypted file.
To encrypt any file to other people, you need to import their public key by using the Import function of the main application screen. Select the public key file you obtain from other people (this should be a file with file extension “asc”), and click okay to proceed with the import.
By using the same file manager, you can select the file you want to encrypt and then choose the “Encrypt” function to produce the encrypted output file. Remember to use the public key of the person you have just imported to encrypt the file. You can then send this file to the party who owns the private key of the corresponding public key you have just imported to encrypt the file. That party should be able to decrypt the file using his/her private key.
Try this software and let me know if you have any problems or issues by leaving a message here.
Tags: GNU Privacy Assistant
Technorati Tags: PGP, Pretty Good Privacy, PGP freeware, gpg4win, OpenPGP, GNU Privacy Assistant
This article will tell you about a simple way to check whether your computer system has a trojan horse (spyware) implemented.
A trojan horse or spyware operates by running on your computer and opening a communication port (TCP port) to communicate with the remote hacker, so he or she can “spy” on your computer. The easiest way to detect this activity is to look at the ports opened on your computer by using the built-in DOS function netstat. At the DOS prompt, type this command with the switch “-a”, (i.e. “netstat -a”) to look for the ports opened on your computer.
If you have no idea what ports are usually related to a trojan horse, you can do a search on any search engine for the term “common trojan horse ports”. Here are two of the reference sites I’ve found:
http://www.doshelp.com/Ports/Trojan_Ports.htm
http://personal.telefonica.terra.es/web/oscarmartinez/_articlesan/article49-Trojan-horse-ports.htm
If you still have a hard time decoding the lists from these reference sites, you can use a handy program called “fport“. Download this here:
http://www.foundstone.com/us/resources/proddesc/fport.htm
This program helps match your opening ports with the programs in your computer. This is easier way to locate a particular suspicious program in your computer to uncover any potential spyware residing on your computer.
Please note that since this is a command mode program, you need to bring up a command prompt window by choosing Start ==> Run and then type in the command “cmd” in the “Run” window. Next, type in the exact path of the program. For example, if you have installed the program under c:\, type in c:\fport to run it. The program will create a list of programs associated with your computer under inspection. If you have difficulty comprehending a long list of ports on the command prompt window, you can tell the program to redirect the outputs to a text file for printing and later analysis. You can do this by typing, for instance, “c:\fport > c:\output.txt” to create a file named “output.txt” on your c:\ drive.
This is a handy tool for running an inspection on your computer to detect any possible hacker’s attack. I recommend that you use it regularly – it’s to your benefit.
Tags: Trojan Horse Removal, Popular Trojan Horse Port List
Technorati Tags: trojan horse, netstat, fport, Trojan Horse Removal, Popular Trojan Horse Port List
Referring to my post about TrueCrypt, I mentioned a disadvantage of using this software — you cannot use it on a computer without administrative rights.
Actually, there is a third-party GUI interface program that can be run on a computer without administrator rights, and you are still able to access the container file of TrueCrypt upon supplying the correct password.
This software is called TCExplorer, and you can access it for free here:
http://www.codeproject.com/KB/files/TCExplorer.aspx
I have been testing this for a while and I think it’s a great piece of software, especially if you want to use a TrueCrypt file on a public computer.
Here are some notes about using this software:
1 TCExplorer cannot manage the TrueCrypt file created by the latest version. I tried this software on a container file made with Version 6.0a without success. Based on information in the author’s release information, I tried the earlier version of TrueCrypt back to 2007, such as Version 4.3a, and it works fine.
2 Fortunately, Version 4.3a’s container file can still be managed by the latest TrueCrypt program, v6.0a. So what you need to do is create a v4.3a container file using the old version of the TrueCrypt program by running it once (you can download the old version of TrueCrypt here: http://www.truecrypt.org/pastversions.php) and use the latest version to manage the file, like mapping this old version container file as a drive to your computer with administrative rights.
You might wonder why the official TrueCrypt project does not offer this feature to the program. Actually, this is a common drawback of all so-called “on-the-fly” real time data encryption programs. One of the main intentions of this kind of real-time data encryption program is to use system drivers to embed all encryption processes in the system so that the user will not need to take care of the encryption/decryption process when they add or extract data files from the container file. The whole process can be made transparent to the users.
And to be able to install and use the specially created system drivers, you must have the administrative rights.
If the on-the-fly feature is not needed, then we definitely do not need to install the system drivers and hence there is no need to have the administrative rights. But then you have to take care of another security concern. The user needs to set up a temporary place to store and process the encrypted/decrypted file from the container file as now there is no real-time process to help encrypt/decrypt the file directory to the system. This place is prone to data leakage as the user must remember to clean it up after using the program.
Take the TCExplorer as an example. It automatically creates a temporary directory either in the USB thumb drive you are using or it sets up a temporary directory in your computer, such as: C:\Documents and Settings\YourUserName\Local Settings\Temp.
After using the program, you need to clean the temporary data there or risk that the decrypted files will be left there without encryption. This program does provide a feature to delete the temporary directory as shown:
But the user still has to remember to use this feature.
So perhaps this explains why the official TrueCrypt project does not provide this feature, because it introduces a security weakness to the program if we allow the user to use this program on a computer without administrative rights.
So use this program carefully if you think it can help. As the author of TCExplorer commented, there are advantages and disadvantages of using this program. The author’s intention is to provide a truly portable solution for people with documents that are not highly confidential but don’t want others to view their documents (for instance, if a thumb drive is lost). If this is what you’re looking for, then perhaps TCExplorer is right for you.
Tags: on-the-fly data encryption, USD Data Encryption, Encrypting data without administrative rights, USB Data Encryption and Decryption without administrative rights
Technorati Tags: TCExplorer, TrueCrypt, on-the-fly data encryption, USD Data Encryption, Encrypting data without administrative rights, USB Data Encryption and Decryption without administrative rights
The term steganography refers to the technique of hiding information within a certain “writings” or anything transmitted with your communication system in such a way that no one other than the intended recipient knows there is a hidden message. This technique differs from cryptography, which encrypts the message in order to prevent someone from gaining access to it, but does not conceal the fact that there is a secret message there in the first place. Steganography conceals the fact that there is a secret message at all, which avoids the unauthorized access to the message.
To reveal this interesting application, try the following program available on the Internet:
http://linux01.gwdg.de/~alatham/stego.html
JPHS is a program written by Allan Latham (alatham@flexsys-group.com) many years ago to conceal a hidden ASCII-based text message within a JPEG picture file.
After successfully downloading and decompressing the file, you can follow these steps to test out this program:
To hide the message:
- Select a picture or image you like. Download it (if necessary) and save it as JPEG file. Note the JPEG file size.
- Use Notepad to create a simple text file with some “secret message”. Save the file.
- Extract the downloaded file. You should find a file named Jphswin.exe. This is the Windows Version of the program with GUI to operate steganography on the jpeg file. Upon running the file, you will see the JPHS for Windows screen.
- First, click Open jpeg to define the JPEG file you made in Step 1 as the input jpeg file. Look at the bottom of the window. What’s the message?
- Do you have any limitation on the data file you want to hide inside the JPEG file? (Hint: look at the description of the first row of the JPSH for Windows screen)
- To begin the process of hiding information, click the Hide button on the JPHS toolbar. It prompts you for a passphrase. Enter something of your choice here. (What are the criteria of a good passphrase?)
- Next, select a file you want to hide. (You can use the text file you made in Step 2.)
- Look at the middle row of the JPHS for Windows. You will see that your hidden file has been defined.
- The next step is to generate the output JPEG file by clicking Save jpeg (or Save As if you want to save the output jpeg file as different name). Look at the bottom of the window and make sure you get a confirmation message from JPHS before you close the program.
- Check again with the file size of the newly generated JPEG file. Is there any change?
- Open the two JPEG files (the original file and the new one). Can you detect any difference between the images?
To extract the hidden message:
- Run JPHS for Windows again. Click Open jpeg and select the previously generated JPEG file with hidden information.
- Click the Seek button and JPHS will prompt you for the passphrase of the hidden information. Enter the passphrase and click OK.
- JPHS prompts you for a location to save the hidden data. Browse to the location and click Save.
- To open the data, open the Windows explorer and locate the new file. Right click on the file, then select Open with, and select the appropriate application to view the information. In this exercise, Notepad can be used. You can now retrieve the hidden information.
Note: If your input secret text file is too large compared to the original JPEG file, the program will warn you that there will be statistically significant bias of the resultant JPEG file from an original JPEG file that could cause the possible detection of the embedded secret message. The bias can be so great that it could be noticed by even unsophisticated users.
So, use this program carefully, following the program’s advised size limitation of the secret message file.
Tags: Hide Information in a Picture File, tool to perform steganography
Technorati Tags: steganography, JPHS, Allan Latham, Hide Information in a Picture File, tool to perform steganography
As I promised in the post about a data encryption utility called TrueCrypt, I am going to show you another utility that can be used to encrypt portable data on a USB drive. Unlike TrueCrypt, in which you must have administrative rights to activate the program for accessing the encrypted data, this program allows you to operate it on a public computer on which you do not have administrative rights.
To get this free program, go to this link:
http://www.rohos.com/free-encryption/
Similar to TrueCrypt, you must create a container file to store your encrypted files. Therefore, first use a computer that you do have administrative rights on, get the installation file, and install it on that computer.
Follow the program’s instructions to create a container file. After the file creation, you will find a system folder (_rohos) in your USB thumb drive with the container file named “rdisk.rdi” as shown below:
Please note this free version allows you to create a virtual container file with maximum volume of 1 GB.
Now map this Rohos mini drive as drive “R” in your system (“R” is the default drive letter that you can change) and load it with the data files you want to securely store. (Just copy and paste those files to the drive file by ordinary file copy process.)
Next try the Rohos drive in a computer for which you do not have administrative rights. (You can also simply log into the same computer with a limited privileges account.) You can now double click the “Rohos mini.exe” file (shown as yellow icon above) in your USB thumb drive and the program will ask you to input the password to access your container file under “_rohos” folder.
Supply the correct password used previously for the container file. Rohos will return with a browser window containing all your encrypted files.
You can double click any file to open it in its associated program. Rohos will temporarily decrypt the file and load it into the temp directory it creates on your USB memory device in order for the system application to access it.
You can save any file within the Rohos Disk Browser to the local computer by accessing the File→Save function. The software will prompt you to enter the designated folder location to store the decrypted file.
To copy any file from your local computer to this container file (and encrypt it at the same time), just drag and drop any file from any file directory to the Disk Browser Window.
To shut down the program, simply close the Browser Window. The software will prompt for confirmation to clean up any decrypted files in the temporary directory.
The beauty of this program is you can use it anywhere on any computer, even if you do not have administrative rights. It also offers both AES 256 bit and Blowfish encryption technology to protect the data. Both are world-class encryption technologies that we can depend on.
However, please note the following limitations of the program:
- You can only create a container file with a maximum capacity of 1GB for the free version. Also, you can only create one container file per USB thumb drive’s partition.
- Nothing is known about the random number generator the program uses to create the encryption key. Is there any weakness in the random number generator it is using? Unlike TrueCrypt, it does not ask for the user’s input to help create the random number to generate the encryption key.
- The program is not developed under Open-Sourced effort. Therefore, the code is proprietary and closed. Nothing is known about any possible inherent weakness in the program design because it has not been reviewed publicly by security and programming experts.
This software provider does provide a paid version with enhanced features such as storage size exceeding 1GB, allowing more than one encrypted virtual drives on single USB drive, and more.
If you have any comments and ideas about using the Rohos Mini Drive, leave me a message here.
Tags: Blow Fish, USB Data Encryption
Technorati Tags: TrueCrypt, Rohos mini drive, AES, Blow Fish, USB Data Encryption
Do you worry about your data from being stolen if you lost your USB thumb drive or other portable data storage? Here is a free solution.
Try TrueCrypt.
TrueCrypt is an open sourced project providing a simple solution to encrypt your USB data (or actually data in any other movable or internal storage of your computer). The encrypted data container (let’s call it a container file) can be treated as an ordinary drive in your computer. This program mounts the container file as an ordinary drive. The container file can be made into a single standalone file or cover an entire hard disk partition on your local or remote drive.
To illustrate this, here is a screen capture of how I mapped my 68.4GB container file on one of my hard disks as P drive. After mapping, I can open my P drive as if it were an ordinary drive to store and retrieve files. All the files that are stored in this container file are encrypted.
The file container can be named with any name and any extension. So you can disguise a container file by naming it something like “song.mp3” or “picture.jpg” to make your container look, at a glance, as if it were just an mp3 or jpg file. This serves as a concealment to hide the true identity of this container file. When ordinary people browse your hard disk, they may not notice that it is an encrypted TrueCrypt container file.
You can also copy or move this container file to any storage place you want. This
enhances the mobility of your data.
The encryption used to protect your data is AES, which is one of the strongest encryption methods in contemporary encryption technology.
The only price you need to pay is to manage your password carefully to access this drive. For instance, do not disclose your password to others, and choose a password that is difficult to guess. Also, use a longer password with a combination of characters, digits, and symbols.
There is an extra feature of this software that you should not miss. TrueCrypt offers the option to create a hidden volume in your container file. This is actually an invisible volume in your encrypted drive that you cannot normally view. If create this hidden volume with a different access password, when you mount your container file to your system using this different password, the mounted volume will unveil the hidden volume to you instead of the normal volume, allowing access to this hidden volume.
One reason you may need this extra hidden volume is that if someone were to force you to open the encrypted drive, you can reveal the contents within the normal drive without revealing the truly important contents inside the hidden volume.
Is TureCrypt portable? Yes or no. On one hand, it can be run without installing in a computer, allowing you to map your file in any computer that that does not have this software installed. However, you must have administrator rights on that computer in order to mount and decrypt the container file. Therefore, you cannot bring your encrypted file to a public computer and decrypt the container files there.
There are similar open sourced solutions, such asFreeOTFE. This software offers an extra feature of mapping your container file to a preferred drive letter that you assigned beforehand. However, the user interface is less appealing.
We’ll talk more about installing portable data encryption solutions without administrator rights. Stay tuned to this blog.
If you know any similar software that can do this job, leave me message here.
Tags: USB Data Encryption
Technorati Tags: TrueCrypt, FreeOTFE, portable data encryption, USB Data Encryption
How can I get Linux security tools installed on my Windows Desktop instantly? Answer: Using VMware
Using VMware, now you can easily try out Linux security tools. Read on…
As I said in my previous post, VMware allows you to instantly install another instance of an OS on your computer system. In the case of Internet Security related tools, most are run on Linux platforms, such as these popular softwares:
- Dsniff (packet sniffer)
- John the Ripper (password cracker)
- NmapFE (Nmap)
- Chkrootkit (check for rootkits, etc.)
In the past, I’ve had to ask my students to install Linux on their original Windows computers before they can try out these software tools. But now, you can easily download the various VMware OS images of Linux to be run on your computer.
If you need to install the latest version of Fedora, Ubuntu, or Suse Linux to install your particular security tool, go straight to this link:
http://www.vmware.com/vmtn/appliances/directory/cat/45
and download your favorite Linux OS images.
VMware uses the term “Virtual Appliances” for all those preconfigured application images to be run directly on VMware software. There are a lot of people contributing to the creations of different Virtual Appliances now.
If you are a bit lazy and want an all-in-a-box solution, you can get some OSs with preconfigured security tools, such as with this link:
http://www.vmware.com/appliances/directory/1065 for Vulnerability Assessment, Intrusion Detection, and more.
Or try this one:
http://www.vmware.com/appliances/directory/348 for all the security tools you can imagine, such as Dsniff, John the Ripper, NBTscan, Nessus, NetCat NmapFE, Saint Scanner, Snort , ethereal, and more.
Of course, you can also look for other possible security related virtual appliances here:
http://www.vmware.com/appliances/directory/cat/47
Enjoy the convenient test environment brought to you by VMware!
Tags: John Ripper
Technorati Tags: Linux security tools, VMware, Dsniff, John the Ripper, NmapFE, Chkrootkit, rootkits, Virtual Appliances, Vulnerability Assessment, Intrusion Detection, NBTscan, Nessus, NetCat, Nmap, Saint Scanner, Snort, ethereal, John Ripper
TagsAccess Control Asymmetric Encryption Authentication Authorization availability Beyond Fear Bruce Schneier Brute Force Attack Caesar Cipher Certificate Authority ciphertext Computer Security confidentiality Cryptographic Key Cryptography cryptology decryption DES encryption Firewall Google Hacking IDS Information Owner Information Risk Management Information Security Information Security Management integrity Intrusion Detection System Leon Battista Alberti Operations Security password management Physical Security Private Key Public Key Risk Management Risk mitigation single point of failure Thawte Threats TrueCrypt USB Data Encryption Verisign Vulnerabilities Vulnerability work factor














