Sunday, 4 December 2016

Parrot Security Could Be Your Next Security Tool

Parrot Security
Parrot Security is a complete distro, based on Debian Jessie core, which includes software for cryptography, cloud, anonymity, digital forensics, and programming.
Network and security administrators rely heavily on their tools. Without the right tools, that brilliant mind can only do so much. But what tools are the best for the job of forensics or testing? As you probably know, the list of such tools is extensive and often times it’s a matter of experimentation, review, and guesswork.
That’s where the likes Parrot Security come in. Parrot Security is a complete distribution, based on Debian Jessie core, which includes software for cryptography, cloud, anonymity, digital forensics, programming. The software list alone should be enough to have security and network admins rushing to download a copy.
  • Anonymous mode start
  • I2P
  • Two Cents Crypto
  • ZuluCrypt
  • EtherApe
  • Ettercap
  • King Phisher
  • Tor Browser
  • TorChat
  • Wireshark
  • XHydra
  • Zenmap
  • debmod builder
  • Parrot Cloud Controller
  • Spectrum Tool
And that’s just from the standard menu entries. Dive into the Parrot submenu (Figure 1) and you’ll find an astonishing array of tools.

parrotsec_a.jpg

Parrot submenu
Figure 1: The Parrot submenu of the main menu.

Parrot as distribution

Beyond the testing, auditing, and programming tools, what you’ll find in the Parrot distribution is a rock solid system. Parrot is based on Debian 9 and includes a custom hardened Linux 4.6 kernel. This is a rolling release upgrade distribution that uses the MATE desktop and the Lightdm display manager...all presented with custom icons and wallpapers. It’s pretty and it’s powerful.
The system requirements for Parrot are:
  • CPU: x86 with at least 700Mhz
  • Architecture: i386, amd64 (x86-64bit), 486 (legacy x86), armel, and armhf
  • RAM: At least 256MB for i386 and 320MB for amd64. 512MB recommended
  • GPU: No graphic acceleration required
  • HDD: ~16GB required for installation
  • BOOT: Legacy bios preferred
Parrot can be run as either a live distribution or installed on a standard desktop. When you first fire up the image, you will see a boot screen unlike any you’ve ever seen (Figure 2).

parrotsec_b.jpg

boot screen
Figure 2: The Parrot Security boot screen.
From the boot screen, you can start Parrot as either a live instance, run it in text mode, run it live with persistence (any configurations you make will be saved), Live with encrypted persistence (so your configuration options cannot be viewed by others), a non-invasive forensics mode, an aggressively anonymous mode, or a failsafe mode. You can also install directly from the boot menu.
If you run Parrot as a live instance, you can then install the distribution to your hard drive by going to Applications > System Tools > Install Parrot Security OS.
One of the issues I discovered is, out of the box, the screen will lock after five minutes. It took me a while to discover that the default live credentials are root/toor. Before discovering those credentials, I had to unset the screen locking (otherwise I was having to constantly reboot after five minutes of inactivity).
The installation of Parrot can hiccup out of the gate. After using Parrot as a live instance, I went to install, only to discover the kernel had upgraded from 4.6.0 to 4.7. The Parrot installer can only be used if the kernel versions of the live system and the installer are the same. The best way to successfully install Parrot Sec is to go directly to Install from the boot menu. This will ensure your kernels match. You can run the standard installer (an NCURSES installer) or a GTK installer (GUI). Either installer will work like a charm and installation is fairly fast. NOTE: Installing Parrot Security on as a VirtualBox instance failed every time, so your best bet is to either run the distribution live or install it on a standalone system.
Once installed, you’re ready to take advantage of the Parrot Platform.
One really nice feature of Parrot Sec is the anonymous mode. While running either a live session or from a fully installed sesion, go to Applications > Anon Surf > anonymous mode start. Once in anonymous mode, Parrot Security will automatically route all of your traffic through TOR (including your DNS requests so to prevent DNS leaks).
I ran a quick test of the anonymous mode. Before starting the mode, I ran a ping on google.com to see standard results. Afters starting up the anonymous mode, I ran the same ping to see very different output (Figure 3).

parrotsec_c.jpg

Anonymous mode
Figure 3: The difference between a ping with Anonymous mode off and then on.

Parrot as testing platform

As a testing platform, Parrot excels beyond any normal expectations. All you have to do is venture into Applications > Parrot and you’ll immediately see how capable a testing platform you have in Parrot Security. This distribution comes with nearly every tool you could possibly need to test your network and systems. It is from this menu that you can tackle serious work: Information gathering with DNS analysis, IDS/IPS Identification, Live Host Identification, OSINT/Route/SMB/SMTP/SNMP/SSL analysis; Vulnerability analysis with Cisco Tools, Fuzzing Tools, OpenVAS Scanner, Stress Testing, VoIP Tools; Web Application Analysis with CMS & Framework Identification, IPv6 Tools, Web Application Proxies, Web Crawlers & Directory Bruteforce, Web Vulnerability Scanners.
Each tool in the Parrot menu is a full-blown application, ready to use. Take a look into Applications > Parrot > Exploitation Tools and you’ll see an impressive list of applications including the likes of armitage (Figure 4 -- a scriptable collaboration tool for Metasploit that visualizes targets, recommends exploits, and exposes the advanced post-exploitation features in the framework).

parrotsec_d.jpg

Armitage
Figure 4: Scanning a host with armitage.

Parrot as programming platform

But don’t think Parrot Security is a distribution designed solely for those who want to audit the security of their network and systems. This Debian-based distro packs plenty of programming punch as well. You’ll find interpreters and compilers for the most popular languages. Programming tools include:
  • Arduino IDE
  • Atom
  • Ferret
  • Geany
  • GNU Emacs 24
  • GRC
  • Ipython
  • PyCrust
  • Qt Creator
  • SQLite database browser
  • USBprog
  • XRCed
Beyond that, programmers will find one of the handiest tricks to ever grace their desktops. If you right-click a blank spot on the desktop and click Create Document > prog, you’ll see that you can create documents from a number of programming-centric templates (such as, assembly, Bash-sh, C, C++, header, Java, ObjC, Perl, etc. -- Figure 5).

parrotsec_e.jpg

Create a document
Figure 5: Creating a new document from one of the programming templates is simple.
This will create a file with the necessary extension, for the language you want work with, on your desktop. Right-click that file and then click Open With and then select your tool of choice. The template you choose will include some basic elements necessary for that language.

This is what you’ve been waiting for

If you’ve grown frustrated with your testing platform of choice letting you down, you cannot go wrong with Parrot Security. It’s only been around since 2013, but it’s made some remarkable strides in those short three years. Spin up an instance of this testing/programming-centric distribution and see if it isn’t exactly what you’ve been waiting for
Source:-www.linux.com

Saturday, 3 December 2016

How To Choose The Right Toner For Highlighted Hair?




Picture this: You are in a saloon getting your hair highlighted. You’re reading a paper, and you hardly looked in the mirror to see what was going on. The hairdresser is done, and you look up in horror. Those highlights look so different from the sun-kissed hair you were dreaming about. In fact, they look like somebody turned you into a zebra.




On that note, here we have listed the top ten hair toners available in the market! Go ahead and check them out!

Benefits Of Hair Toners:

If you have been getting your hair colored for years, then your hair shows that story only too well. A toner camouflages or acts as a filler to even out the hair porosity. It additionally softens the re-growth color of your highlights. The best highlights, as we know, are those which appear to have a seamless transition all the way down from the root to the tip. When new hair grows, a toner can be applied to dye the new hair darker, to match your earlier color.
Last but not the least, toners also have the capacity to serve as a topcoat. Hair toners can help you achieve rich and lush colors by adding multi-dimensional tones to previously done highlights. Hair toner is a powerful means to even out the color of the entire length of hair while adding shine and richness. To finish off the look, hair toners help seal the color to lock it in for longer periods of time.

2. Wella Color Charm White Lady:


Wella Color Charm White Lady is a permanent liquid hair toner. The toner provides a vibrant color that is long-lasting with fade-resistant results. Wella Color Charm White Lady infuses the hair with vibrant color molecules, adding intense color and up to 43% more shine (even on darker hair). Wella Color Charm White Lady provides true to tone coloring.
Wella Color Charm comes in 8 exciting blonde shades:
Pale Blonde Lightest Ash Blonde Pale Ash Blonde Natural Blonde Pale Beige Blonde Lightest Beige Blonde Medium Beige Blonde Beige Blonde


Heart Attacks Can Be Predicted Months Before: Your HAIR Will WARN YOU! Here’s How!




Chest pressure is the most kn
own symptom of heart attacks, but very few people know that a third of heart attack patients actually never feel chest pains before they have a heart attack.
Most patients actually ignore other less know symptoms and delay their hospital treatment by two hours in average, a time that’s vital for an appropriate response by the medical staff.
Some symptoms kick in sudden and strong, while some appear slowly, with minor pains or an uncomfortable feeling. When the slow ones appear, most people aren’t really sure what’s going on, so they don’t seek medical attention straight away.
Heart attacks rarely appear out of the blue, even though most people believe so. Namely, days, weeks, and even months before a heart attack occurs, your body will give you some warning signs. And one of the signs can be found in your hair: your hair will contain higher levels of the cortisol hormone, which is a warning sign of heart attacks!
High levels of cortisol can usually be measured through blood, urine or saliva samples in days/hours before a heart attack occurs, but the hair is entirely different. Hair samples can show high levels of cortisol weeks or months before your heart attack occurs. One 6-inch strand is enough for this purpose.
This was proven by a research that focused on analyzing hair samples from 56 people who had a heart attack and then comparing them to hair from people who never suffered a heart attack, but had other health problems.
Apart from your hair, four of the major heart attack symptoms are:
Chest pains, even though any chest pain doesn’t necessarily mean that you have a heart attack. You can also feel pain in your neck, arms, back and even your jaw. The second sign is sweating and nausea, the third is breathing problems, and the fourth is stomach problems.

Source:http://www.healthyfoodelements.com/

How to Build an Email Server on Ubuntu Linux


mail-stack.jpg

mail server
In this series, we will show how to build a reliable configurable mail server with Postfix, Dovecot, and OpenSSL on Ubuntu Linux.
In this fast-changing world of containers and microservices it's comforting that some things don't change, such as setting up a Linux email server. It's still a dance of many steps and knitting together several different servers, and once you put it all together it just sits there, all nice and stable, instead of winking in and out of existence like microservices. In this series, we'll put together a nice reliable configurable mail server with Postfix, Dovecot, and OpenSSL on Ubuntu Linux.
Postfix is a reliable old standby that is easier to configure and use than Sendmail, the original Unix MTA (does anyone still use Sendmail?). Exim is Debian's default MTA; it is more lightweight than Postfix and super-configurable, so we'll look at Exim in a future tutorial.
Dovecot and Courier are two popular and excellent IMAP/POP3 servers. Dovecot is more lightweight and easier to configure.
You must secure your email sessions, so we'll use OpenSSL. OpenSSL also supplies some nice tools for testing your mail server.
For simplicity, we'll set up a LAN mail server in this series. You should have LAN name services already enabled and working; see Dnsmasq For Easy LAN Name Services for some pointers. Then later, you can adapt a LAN server to an Internet-accessible server by registering your domain name and configuring your firewall accordingly. These are documented everywhere, so please do your homework and be careful.

Terminology

Let's take a quick look at some terminology, because it is nice when we know what the heck we're talking about.
  • MTA: Mail transfer agent, a simple mail transfer protocol (SMTP) server such as Postfix, Exim, and Sendmail. SMTP servers talk to each other
  • MUA: Mail user agent, your local mail client such as Evolution, KMail, Claws Mail, or Thunderbird.
  • POP3: Post-office protocol, the simplest protocol for moving messages from an SMTP server to your mail client. A POP server is simple and lightweight; you can serve thousands of users from a single box.
  • IMAP: Interactive message access protocol. Most businesses use IMAP because messages remain on the server, so users don't have to worry about losing them. IMAP servers require a lot of memory and storage.
  • TLS: Transport socket layer, an evolution of SSL (secure sockets layer), which provides encrypted transport for SASL-authenticated logins.
  • SASL: Simple authentication and security layer, for authenticating users. SASL does the authenticating, then TLS provides the encrypted transport of the authentication data.
  • StartTLS: Also known as opportunistic TLS. StartTLS upgrades your plain text authentication to encrypted authentication if both servers support SSL/TLS. If one of them doesn't then it remains in cleartext. StartTLS uses the standard unencrypted ports: 25 (SMTP), 110 (POP3), and 143 (IMAP) instead of the standard encrypted ports: 465 (SMTP), 995 (POP3), and 993 (IMAP).

Yes, We Still Have Sendmail

Most Linuxes still have /usr/sbin/sendmail. This is a holdover from the very olden days when Sendmail was the only MTA. On most distros /usr/sbin/sendmail is symlinked to your installed MTA. However your distro handles it, if it's there, it's on purpose.

Install Postfix

apt-get install postfix takes care of the basic Postfix installation (Figure 1). This opens a wizard that asks what kind of server you want. Select "Internet Site", even for a LAN server. It will ask for your fully qualified server domain name (e.g., myserver.mydomain.net). On a LAN server, assuming your name services are correctly configured (I keep mentioning this because people keep getting it wrong), you can use just the hostname (e.g., myserver).

postfix-1.png

Postfix
Figure 1: Postfix configuration.
Ubuntu will create a configuration file and launch three Postfix daemons: master, qmgr, and pickup. There is no Postfix command or daemon.
$ ps ax
 6494 ? Ss 0:00 /usr/lib/postfix/master
 6497 ? S  0:00 pickup -l -t unix -u -c
 6498 ? S  0:00 qmgr -l -t unix -u 
Use Postfix's built-in syntax checker to test your configuration files. If it finds no syntax errors, it reports nothing:
$ sudo postfix check
[sudo] password for carla: 
Use netstat to verify that Postfix is listening on port 25:
$ netstat -ant
tcp  0  0 0.0.0.0:25 0.0.0.0:* LISTEN
tcp6 0  0 :::25      :::*      LISTEN
Now let's fire up trusty old telnet to test:
$ telnet myserver 25
Trying 127.0.1.1...
Connected to myserver.
Escape character is '^]'.
220 myserver ESMTP Postfix (Ubuntu)
EHLO myserver
250-myserver
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-STARTTLS
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
^]

telnet> 
Hurrah! We have verified the server name, and that Postfix is listening and responding to requests on port 25, the SMTP port.
Type quit to exit telnet. In the example, the commands that you type to interact with your server are in bold. The output are ESMTP (extended SMTP) 250 status codes.
  • PIPELINING allows multiple commands to flow without having to respond to each one.
  • SIZE tells the maximum message size that the server accepts.
  • VRFY can tell a client if a particular mailbox exists. This is often ignored as it could be a security hole.
  • ETRN is for sites with irregular Internet connectivity. Such a site can use ETRN to request mail delivery from an upstream server, and Postfix can be configured to defer mail delivery to ETRN clients.
  • STARTTLS (see above).
  • ENHANCEDSTATUSCODES, the server supports enhanced status and error codes.
  • 8BITMIME, supports 8-bit MIME, which means the full ASCII character set. Once upon a time the original ASCII was 7 bits.
  • DSN, delivery status notifiction, informs you of delivery errors.
The main Postfix configuration file is /etc/postfix/main.cf. This is created by the installer. See Postfix Configuration Parameters for a complete listing of main.cf parameters. /etc/postfix/postfix-files describes the complete Postfix installation.
Come back next week for installing and testing Dovecot, and sending ourselves some messages.

Source: www.linux.com

Overview of Linux Kernel Security Features

Unix Security – Discretionary Access Control

Linux was initially developed as a clone of the Unix operating system in the early 1990s. As such, it inherits the core Unix security model—a form of Discretionary Access Control (DAC). The security features of the Linux kernel have evolved significantly to meet modern requirements, although Unix DAC remains as the core model. 
Briefly, Unix DAC allows the owner of an object (such as a file) to set the security policy for that object—which is why it's called a discretionary scheme.  As a user, you can, for example, create a new file in your home directory and decide who else may read or write the file.  This policy is implemented as permission bits attached to the file's inode, which may be set by the owner of the file.  Permissions for accessing the file, such as read and write, may be set separately for the owner, a specific group, and other (i.e. everyone else). This is a relatively simple form of access control lists (ACLs).
Programs launched by a user run with all of the rights of that user, whether they need them or not.  There is also a superuser—an all-powerful entity which bypasses Unix DAC policy for the purpose of managing the system.  Running a program as the superuser provides that program with all rights on the system.

Extending Unix Security

Unix DAC is a relatively simple security scheme, although, designed in 1969, it does not meet all of the needs of security in the Internet age.  It does not adequately protect against buggy or misconfigured software, for example, which may be exploited by an attacker seeking unauthorized access to resources.  Privileged applications, those running as the superuser (by design or otherwise), are particularly risky in this respect.  Once compromised, they can provide full system access to an attacker.
Functional requirements for security have also evolved over time. For example, many users require finer-grained policy than Unix DAC provides, and to control access to resources not covered by Unix DAC such as network packet flows.
It's worth noting that a critical design constraint for integrating new security features into the Linux kernel is that existing applications must not be broken.  This is general constraint imposed by Linus for all new features.  The option of designing a totally new security system from the ground up is not available—new features have to be retrofitted and compatible with the existing design of the system.  In practical terms, this has meant that we end up with a collection of security enhancements rather than a monolithic security architecture.
We'll now take a look at the major Linux security extensions.

Extended DAC

Several of the first extensions to the Linux security model were to enhancements of existing Unix DAC features.  The proprietary Unix systems of the time had typically evolved their own security enhancements, often very similarly to each other, and there were some (failed) efforts to standardize these.

POSIX ACLs

POSIX Access Control Lists for Linux are based on a draft POSIX standard.  They extend the abbreviated Unix DAC ACLs to a much finer-grained scheme, allowing separate permissions for individual users and different groups.  They're managed with the setfacl and getfacl commands.  The ACLs are managed on disk via extended attributes, an extensible mechanism for storing metadata with files.

POSIX Capabilities

POSIX Capabilities are similarly based on a draft standard.  The aim of this feature is to break up the power of the superuser, so that an application requiring some privilege does not get all privileges.  The application runs with one or more coarse-grained privileges, such as CAP_NET_ADMIN for managing network facilities.  Capabilities for programs may be managed with the setcap and getcap utilities.  It's possible to reduce the number of setuid applications on the system by assigning specific capabilities to them, however, some capabilities are very coarse-grained and effectively provide a great deal of privilege.

Namespaces

Namespaces in Linux derive from the Plan 9 operating system (the successor research project to Unix).  It's a lightweight form of partitioning resources as seen by processes, so that they may, for example, have their own view of filesystem mounts or even the process table.  This is not primarily  a security feature, but is useful for implementing security.  One example is where each process can be launched with its own, private /tmp directory, invisible to other processes, and which works seamlessly with existing application code, to eliminate an entire class of security threats.
The potential security applications are diverse.  Linux Namespaces have been used to help implement multi-level security, where files are labeled with security classifications, and potentially entirely hidden from users without an appropriate security clearance.
On many systems, namespaces are configured via Pluggable Authentication Modules (PAM)--see the pam_namespace(8) man page.

Network Security

Linux has a very comprehensive and capable networking stack, supporting many protocols and features.  Linux can be used both as an endpoint node on a network, and also as a router, passing traffic between interfaces according to networking policies.
Netfilter is an IP network layer framework which hooks packets which pass into, through and from the system.  Kernel-level modules may hook into this framework to examine packets and make security decisions about them.  iptables is one such module, which implements an IPv4 firewalling scheme, managed via the userland iptables tool. Access control rules for IPv4 packets are installed into the kernel, and each packet must pass these rules to proceed through the networking stack.  Also implemented in this codebase is stateful packet inspection and Network Access Translation (NAT). Firewalling is similarly implemented for IPv6.
ebtables provides filtering at the link layer, and is used to implement access control for Linux bridges, while arptables provides filtering of ARP packets.
The networking stack also includes an implementation of IPsec, which provides confidentiality, authenticity, and integrity protection of IP networking.  It can be used to implement VPNs, and also point to point security.

Cryptography

A cryptographic API is provided for use by kernel subsystems.  It provides support for a wide range of cryptographic algorithms and operating modes, including commonly deployed ciphers, hash functions, and limited support for asymmetric cryptography.  There are synchronous and asynchronous interfaces, the latter being useful for supporting cryptographic hardware, which offloads processing from general CPUs.
Support for hardware-based cryptographic features is growing, and several algorithms have optimized assembler implementations on common architectures.  A key management subsystem is provided for managing cryptographic keys within the kernel. 
Kernel users of the cryptographic API include the IPsec code, disk encryption schemes including ecryptfs and dm-crypt, and kernel module signature verification. 

Linux Security Modules

The Linux Security Modules (LSM) API implements hooks at all security-critical points within the kernel.  A user of the framework (an “LSM”) can register with the API and receive callbacks from these hooks.  All security-relevant information is safely passed to the LSM, avoiding race conditions, and the LSM may deny the operation.  This is similar to the Netfilter hook-based API, although applied to the general kernel.
The LSM API allows different security models to be plugged into the kernel—typically access control frameworks.  To ensure compatibility with existing applications, the LSM hooks are placed so that the Unix DAC checks are performed first, and only if they succeed, is LSM code invoked.
The following LSMs have been incorporated into the mainline Linux kernel:

SELinux

Security Enhanced Linux (SELinux) is an implementation of fine-grained Mandatory Access Control (MAC) designed to meet a wide range of security requirements, from general purpose use, through to government and military systems which manage classified information.  MAC security differs from DAC in that the security policy is administered centrally, and users do not administer policy for their own resources.  This helps contain attacks which exploit userland software bugs and misconfiguration.
In SELinux, all objects on the system, such as files and processes, are assigned security labels.  All security-relevant interactions between entities on the system are hooked by LSM and passed to the SELinux module, which consults its security policy to determine whether the operation should continue.  The SELinux security policy is loaded from userland, and may be modified to meet a range of different security goals.  Many previous MAC schemes had fixed policies, which limited their application to general purpose computing.
SELinux is implemented as a standard feature in Fedora-based distributions, and widely deployed.  

Smack

The Smack LSM was designed to provide a simple form of MAC security, in response to the relative complexity of SELinux.  It's also implemented as a label-based scheme with a customizable policy.  Smack is part of the Tizen security architecture and has seen adoption generally in the embedded space.

AppArmor

AppArmor is a MAC scheme for confining applications, and was designed to be simple to manage.  Policy is configured as application profiles using familiar Unix-style abstractions such as pathnames.   It is fundamentally different to SELinux and Smack in that instead of direct labeling of objects, security policy is applied to pathnames.  AppArmor also features a learning mode, where the security behavior of an application is observed and converted automatically into a security profile.
AppArmor is shipped with Ubuntu and OpenSUSE, and is also widely deployed.

TOMOYO

The TOMOYO module is another MAC scheme which implements path-based security rather than object labeling.  It's also aimed at simplicity, by utilizing a learning mode similar to AppArmor's where the behavior of the system is observed for the purpose of generating security policy.
What's different about TOMOYO is that what's recorded are trees of process invocation, described as “domains”.  For example, when the system boots, from init, as series of tasks are invoked which lead to a logged in user running a shell, and ultimately executing a command, say ping.  This particular chain of tasks is recorded as a valid domain for the execution of that application, and other invocations which have not been recorded are denied.
TOMOYO is intended for end users rather than system administrators, although it has not yet seen any appreciable adoption.

Yama

The Yama LSM is not an access control scheme like those described above.  It's where miscellaneous DAC security enhancements are collected, typically from external projects such as grsecurity.
Currently, enhanced restrictions on ptrace are implemented in Yama, and the module may be stacked with other LSMs in a similar manner to the capabilities module.

Audit

The Linux kernel features a comprehensive audit subsystem, which was designed to meet government certification requirements, but also actually turns out to be useful.  LSMs and other security components utilize the kernel Audit API.  The userland components are extensible and highly configurable.
Audit logs are useful for analyzing system behavior, and may help detect attempts at compromising the system.

Seccomp

Secure computing mode (seccomp) is a mechanism which restricts access to system calls by processes.  The idea is to reduce the attack surface of the kernel by preventing applications from entering system calls they don't need.  The system call API is a wide gateway to the kernel, and as with all code, there have and are likely to be bugs present somewhere.  Given the privileged nature of the kernel, bugs in system calls are potential avenues of attack.  If an application only needs to use a limited number of system calls, then restricting it to only being able to invoke those calls reduces the overall risk of a successful attack.
The original seccomp code, also known as “mode 1”, provided access to only four system calls: read, write, exit, and sigreturn.  These are the minimum required for a useful application, and this was intended to be used to run untrusted code on otherwise idle systems.
A recent update to the code allows for arbitrary specification of which system calls are permitted for a process, and integration with audit logging.  This “mode 2” seccomp was developed for use as part of the Google Chrome OS.

Integrity Management

The kernel's integrity management subsystem may be used to maintain the integrity of files on the system.  The Integrity Measurement Architecture (IMA) component performs runtime integrity measurements of files using cryptographic hashes, comparing them with a list of valid hashes.  The list itself may be verified via an aggregate hash stored in the TPM.   Measurements performed by IMA may be logged via the audit subsystem, and also used for remote attestation, where an external system verifies their correctness.
IMA may also be used for local integrity enforcement via the Appraisal extension.  Valid measured hashes of files are stored as extended attributes with the files, and subsequently checked on access.  These extended attributes (as well as other security-related extended attributes), are protected against offline attack by the Extended Verification Module(EVM) component, ideally in conjunction with the TPM.  If a file has been modified, IMA may be configured via policy to deny access to the file. The Digital Signature extension allows IMA to verify the authenticity of files in addition to integrity by checking RSA-signed measurement hashes.
A simpler approach to integrity management is the dm-verity module.  This is a device mapper target which manages file integrity at the block level.  It's intended to be used as part of a verified boot process, where an appropriately authorized caller brings a device online, say, a trusted partition containing kernel modules to be loaded later.  The integrity of those modules will be transparently verified block by block as they are read from disk.  

Hardening and Platform Security

Hardening techniques have been applied at various levels, including in the build chain and in software, to help reduce the risk of system compromise.
Address Space Layout Randomization (ASLR) places various memory areas of a userland executable in random locations, which helps prevent certain classes of attacks.  This was adapted from the external PaX/grsecurity projects, along with several other software-based hardening features.
The Linux kernel also supports hardware security features where available, such as NX, VT-d, the TPM, TXT, and SMAP, along with cryptographic processing as previously mentioned.
source:linux.com

5 Reasons Why Ubuntu Is More Secure Than Windows & Mac OS X





1. Linux Has Limited Default User Privileges

In Windows OS/Mac OS users get the authentication to access everything on the system as, by default, they are given administrator privileges. When viruses make their way to the system, they can easily spread and invest the rest of the system. Here is why Linux is great. On Linux the users are given lower access and hence virus can only reach to the local files and folders so the system wide damage is saved.
What that means is that even if a Linux system is compromised, the virus won’t have the root access it would need to do damage system wide; more likely, just the user’s local files and programs would be affected. That can make the difference between a minor annoyance and a major catastrophe in any business setting.

2. Linux Has Tougher Program Permissions

This sort of goes along with Linux Privileges but there is a difference. In a Mac OS or Window OS machine, if a user downloads an email with an attachment that has a virus, all the user has to do is run the file and the file can infect the system but on Linux and even Chrome OS, that’s not possible. Linux/Ubuntu would require the user to actually give the program even more permissions before it gets a chance to install anything on your machine, brilliant coding. I do hear that starting from Windows 10, Windows OS will try to follow a similar setup.

3. Linux Has A Powerful Auditing System

Linux/Ubuntu has awesome Auditing system by default. Including detailed Logs that can tell you exactly what a user/program attempted to do. Basically an internal key logger that monitors everything including failed login attempts.

4. Linux Is Open Source

This matters much more than people think. Because Linux is an open source operating system, whenever a virus or a huge bug goes public, millions of people from all over the world try their best to help patch it up. Once a user finds a way to fix the issue they can send their updated code directly to the official Linux employees and they can add it to the next update. This system works well unlike Windows OS/Mac OS X where only a few paid employees have direct access to the code hence it usually takes longer for Windows and Mac systems to fix a bug or secure an exploit. Lets hope Linux stays open source forever!

5. Linux Has Less Users That Use It

Whether we Linux people like to admit or not, not many people use Linux! Yes we know it is used by almost every web hosting company/company organization to store data etc but when it comes to the regular user, your neighbor, your girlfriend/boyfriend or your grandma, most of them will choose Windows over any other OS and this is a good thing because it means less viruses/spyware will be designed for Linux. The less popular you are, the more people ignore you, get it? Lol it’s really as simple as that.
Let me just remind you all that even though Linux/Ubuntu might be the most secure OS in the market, it doesn’t mean it is 100% hacker proof. Hell, there are a few viruses on the Linux system that’s why you still need some anti-virus apps for Ubuntu installed on your system to be safe no matter what.

source:http://www.ubuntufree.com/