kernel
Brainf+++ 0.1
Brainf+++ is an advanced compiler for the brainfuck language more>> Brainf+++ is an advanced compiler for the brainfuck language. It runs in x86 compatible
Linux environments. The compiler produces kernel independent standard ELF executables
from the brainfuck source code.
It optimizes the executables in size and speed. Very easy to use.<<less
Cache colouring task_struct and kernel stack 2.5.0-0.5
This helps cache-colours both task_struct and kernel stack using a slab allocator for task_struct and initial stack pointer jittering for kernel stack. more>>
Cache colouring task_struct and kernel stack 2.5.0-0.5 is really useful for it is designed to cache-colours both task_struct and kernel stack.
This patch cache-colours both task_struct and kernel stack using a slab allocator for task_struct and initial stack pointer jittering for kernel stack. An extra structure is defined for task_struct allocations as long as a new init task structure.
By using three stack color bits, eight colors will be used for initial stack frame pointer jittering that should be enough for most cache architectures. Care has to be taken in increasing too much STACK_COLOUR_BITS because this can lead to kernel stack overflows, e.g. a STACK_COLOUR_BITS set to 4 with a cache line size of 128 bytes like P4 will result in a maximum jitter of 2048 bytes by leaving only 6 Kb for the kernel stack.
<<lessxlike Kernel Patchset 0.20f
xlike Kernel Patchset is a patch collection for the Linux vanilla kernel. more>>
These include code from Kernel Mode Linux, Rule Set Based Access Control, Novell AppArmor, Openswan, grsecurity, Linux VServer, Ndiswrapper, web100, Nefilters, Suspend2, Speakup, Amiga Smart File System, Cdemu, SquashFS, fbsplash, QuadDSP, and more. It also contains many drivers and fixes.
Enhancements:
- This version was updated to patch against Linux 2.6.20.
- User Mode Linux with Linux-PHC, LinuxIMQ, Web100, WANPIPE, WRR, ReiserFS4, SquashFS, UnionFS, Bootsplash, and Kernel Color Output were added.
Kernel Mode Linux 2.4.35.1_001 (For Linux 2.4)
Kernel Mode Linux project is a technology which enables us to execute user programs in kernel mode. more>>
The benefit of executing user programs in kernel mode is that the user programs can access a kernel address space directly. So, for example, user programs can invoke system calls very fast because it is unnecessary to switch between a kernel mode and a user mode by using costly software interruptions or context switches. Unlike kernel modules, user programs are executed as ordinary processes (except for their privilege level), so scheduling and paging are performed as usual.
Although it seems dangerous to let user programs access a kernel directly, safety of the kernel can be ensured, for example, by static type checking, software fault isolation, and so forth. For proof of concept, we are developing a system which is based on the combination of Kernel Mode Linux and Typed Assembly Language, TAL.
Version restrictions:
- On IA-32, programs executed in kernel mode shouldnt modify their CS, DS, FS and SS registers.
- On AMD64, programs executed in kernel mode shouldnt modify their CS register.
Enhancements:
- This version was merged with the 2.4.35.1 Linux kernel.
MySQLfs 0.4.0 RC1
MySQLfs is Linux userspace filesystem which stores data in a MySQL database. more>>
ext2fuse 0.5
ext2fuse is an implementation of the ext2 filesystem in user space, using the FUSE library. more>>
LIDS 2.2.3 RC1 (for kernel 2.6.21)
LIDS (Linux Intrusion Detection System) is a kernel patch and admin tools which enhances the kernels security. more>>
When it is in effect, chosen file access, all system network administration operations, any capability use, raw device, memory, and I/O access can be made impossible even for root. You can define which programs can access specific files.
It uses and extends the system capabilities bounding set to control the whole system and adds some network and filesystem security features to the kernel to enhance the security.
You can finely tune the security protections online, hide sensitive processes, receive security alerts through the network, and more. LIDS currently support kernel 2.6, 2.4.
Openwall Linux kernel patch 2.4.35-ow2
Openwall Linux kernel patch is a collection of security-related features for the Linux kernel. more>>
The number of such fixes changes from version to version, as some are becoming obsolete (such as because of the same problem getting fixed with a new kernel release), while other security issues are discovered.
Non-executable user stack area.
Most buffer overflow exploits are based on overwriting a functions return address on the stack to point to some arbitrary code, which is also put onto the stack. If the stack area is non-executable, buffer overflow vulnerabilities become harder to exploit.
Another way to exploit a buffer overflow is to point the return address to a function in libc, usually system(). This patch also changes the default address that shared libraries are mmap()ed at to make it always contain a zero byte. This makes it impossible to specify any more data (parameters to the function, or more copies of the return address when filling with a pattern), -- in many exploits that have to do with ASCIIZ strings.
However, note that this patch is by no means a complete solution, it just adds an extra layer of security. Many buffer overflow vulnerabilities will remain exploitable a more complicated way, and some will even remain unaffected by the patch. The reason for using such a patch is to protect against some of the buffer overflow vulnerabilities that are yet unknown.
Also, note that some buffer overflows can be used for denial of service attacks (usually in non-respawning daemons and network clients). A patch like this cannot do anything against that.
It is important that you fix vulnerabilities as soon as they become known, even if youre using the patch. The same applies to other features of the patch (discussed below) and their corresponding vulnerabilities.
Restricted links in /tmp.
Ive also added a link-in-+t restriction, originally for Linux 2.0 only, by Andrew Tridgell. Ive updated it to prevent from using a hard link in an attack instead, by not allowing regular users to create hard links to files they dont own, unless they could read and write the file (due to group permissions). This is usually the desired behavior anyway, since otherwise users couldnt remove such links theyve just created in a +t directory (unfortunately, this is still possible for group-writable files) and because of disk quotas.
Unfortunately, this may break existing applications.
Restricted FIFOs in /tmp.
In addition to restricting links, you might also want to restrict writes into untrusted FIFOs (named pipes), to make data spoofing attacks harder. Enabling this option disallows writing into FIFOs not owned by the user in +t directories, unless the owner is the same as that of the directory or the FIFO is opened without the O_CREAT flag.
Restricted /proc.
This was originally a patch by route that only changed the permissions on some directories in /proc, so you had to be root to access them. Then there were similar patches by others. I found them all quite unusable for my purposes, on a system where I wanted several admins to be able to see all the processes, etc, without having to su root (or use sudo) each time. So I had to create my own patch that I include here.
This option restricts the permissions on /proc so that non-root users can see their own processes only, and nothing about active network connections, unless theyre in a special group. This groups id is specified via the gid= mount option, and is 0 by default. (Note: if youre using identd, you will need to edit the inetd.conf line to run identd as this special group.) Also, this disables dmesg(8) for the users. You might want to use this on an ISP shell server where privacy is an issue. Note that these extra restrictions can be trivially bypassed with physical access (without having to reboot).
When using this part of the patch, most programs (ps, top, who) work as desired -- they only show the processes of this user (unless root or in the special group, or running with the relevant capabilities on 2.2+), and dont complain they cant access others. However, theres a known problem with w(1) in recent versions of procps, so you should apply the included patch to procps if this applies to you.
Enhancements:
- This revision adds a fix for the "parent process death signal" vulnerability in the Linux kernel.
- It also adds two security hardening features, both enabled by default: restricted access to VM86 mode (specific to 32-bit x86) and restricted zero page mappings (generic).
EciAdsl 0.12
EciAdsl provides a Globespan-based USB ADSL modems driver. more>>
This is a free Linux driver for USB ADSL modems with Globespan chipsets (ECI modems in France and many other modems in the world).
Please note: this version still requires patch for any kernel between 2.6.0 and 2.6.6.
suser-jengelh Kernel Patchset 2.6.22.1-ccj51
suser-jengelh Kernel Patchset is a patch collection for the Linux kernel. more>>
Enhancements:
- New netfilter modules (xt_TRACE, xt_connlimit, xt_u32, xt_gateway, xt_TARPIT, xt_time) and tproxy4 have been added.
- A number of patches have been outsourced to standalone packages.
OpenVZ kernel 2.6.18-028stab039.1
OpenVZ is a modified Linux kernel with additional support for OpenVZ Virtual Private servers (VPS). more>>
VPSs are isolated, secure environments on a single physical server, enabling better server utilization and ensuring that applications do not conflict.
Each VPS performs and executes exactly like a stand-alone server; VPSs can be rebooted independently and have root access, users, IP addresses, memory, processes, files, applications, system libraries, and configuration files. OpenVZ is a subset of Virtuozzo.
Whats New in 2.6.18-028stab039.1 Stable Release:
- A critical fix in CPT. Minor fixes for bridge, XEN x8664, CPT, 4GB split, NFS, VPIDs, etc.
- Fixes for swsusp on SLES, CBQ fairness on low rates, and an NFS startup deadlock.
Whats New in 2.6.18-028test027.1 Development Release:
- Fixes/improvements in checkpointing, NFS in VE, IOPRIO, and the CPU fair scheduler.
- A few fixes have been ported from the mainstream branch.
- The NMI watchdog is now disabled by default.
- DRBD has been updated to 8.0.
Linux Kernel Monitor 0.3 Alpha
Linux Kernel Monitor is a tool for monitoring and managing linuxs kernel. more>>
lkmonitor tries to offer detailed information of the characteristics of the system, as type of cpu, state of the memory or the file system registered in kernel.
lkmonitor is an open source project with information about the source code and software architecture to make easy the development of new characteristics.
Enhancements:
- IO information, kernel information, networking info, processes specific information, filesystems, modules, etc.
gnome-kernel-manager 0.0.1
gnome-kernel-manager is a tool for managing kernel modules and more. more>>
gnome-kernel-manager is a gui for managing the kernel modules, .... Only Linux kernel is supported.
Main features:
- Shows the list of loaded modules.
- Shows the list of all installed modules.
- Shows information about modules.
- Supports (un)loading modules.
DynAMOS 0.5.4
DynAMOS is an on-the-fly kernel updating system. more>>
Execution flow can be switched adaptively among multiple editions of functions, possibly concurrently running. This approach becomes the foundation for dynamic replacement of non-quiescent kernel subsystems when the timeliness of an update depends on synchronization of multiple kernel paths.
Main features:
- Updates of non-quiescent subsystems. It accomplishes substantial updates of core kernel subsystems that never quiesce, such as the scheduler and kernel threads.
- Datatype updates. It offers a technique for updating compact datatype definitions. Additions of new fields in a datatype is supported using a shadow data structure containing the fields.
- Safe reversibility. A methodology of quiescence detection is employed. Updated functions can be removed with the guarantee that they are not used by the stack or program counter of any process.
- Adaptability. Execution can be switched adaptively between multiple, possibly concurrently running, function editions. This is the first dynamically applied, adaptive kernel updating system.
- Synchronized updates. A multi-phase updating algorithm for replacement of complete kernel subsystems is offered. Notably, for the cases where the timeliness of an update depends on synchronization of multiple kernel paths.
Enhancements:
- This release updates the users manual.