Analyzing the ADFA-LD Dataset
I have been working on a system to identify abnormal behavior on Linux systems through the monitoring of system calls using ML.
Recent content on John Ramsden
I have been working on a system to identify abnormal behavior on Linux systems through the monitoring of system calls using ML.
Summary Link to heading I needed a method to monitor various system calls, and their associated arguments with a specific format. To do so I used ebpf. This is not a complete tutorial by any means on using ebpf, and rather just a simple example of how a system call can be monitored. As a base I forked libbpf-bootstrap , and modified the ksyscall program accordingly. Existing code Link to heading…
Backstory Link to heading ArchZFS , the default go-to for most users looking to use ZFS on Arch, recently went through a significant change, resulting in a disruption where no updates were provided for several months. Due to unknown reasons, the primary maintainer @minextu who had been reliably maintaining ArchZFS for several years stopped responding to messages or making updates. Whatever the…
I’m happy to announce a new ZFS boot environment manager written completely from scratch in C - zectl . In 2018 I wrote zedenv , a ZFS Boot Environment manager, I’ve taken what I learned from zedenv and added improvements in workflow, performance and reliability. For a summary on what a boot environment manager is, and how it can be used see my previous post . Why the Rewrite Link to…
I just finished the first alpha release of zedenv , ZFS Boot Environment Manager for FreeBSD and Linux. I created the project because I enjoyed having the use of a boot environment manager while using my FreeBSD servers, and missed having access to one when I was on Linux. zedenv works similarly to the FreeBSD beadm , which is in turn based on the Solaris beadm . zedenv is written completely in…
I enjoy gaming and occasionally there’s an application I want to run that is unavailable on Linux. Up until now my primary way of dealing with this was to use multiple wine bottles, one for each game. While this provides a little bit of segmentation for applications, it is not a sandbox. Something else I dislike is how wine likes to spit out files all over my filesystem. There are ways to…
I’ve been using the new python rewrite of the jail manager iocage for FreeBSD, and since it’s still in rapid development there have been a lot of new changes and bug fixes. A few of which have been fixes to issues I experienced myself. Since releases aren’t put out with every update I decided it would be a good idea to run from the master branch . Since I didn’t feel like…
I recently made the switch to NixOS after using Arch for several years. NixOS is different from any other operating system I’ve ever used. It has a built-in declarative functional programming language ‘Nix’, that can be used for configuration, and package management. Lessons Learned Link to heading If you subscribe to the way NixOS is intended to be used, it makes it easy to…
I configured Nextcloud inside a FreeBSD jail in order to allow me access to files i might need while at University. I figured this would be a optimal solution for files that I might need access to unexpectedly, on computers where I am not in complete control. My Nextcloud instance is externally accessible, and yet if someone were to get inside my Jail, I could rest easy knowing they still didn’t…
I recently found myself needing a machine to compile binaries on for a CentOS server. I first considered actually spinning up a CentOS system on a VPS; however, that seemed a little overboard just for compiling, I then realized that this would be the perfect use for a container. I could have an identical system to the one where the binaries will be deployed on, and at little cost since it can…
Recently I was looking to install an application on Linux with a large number of dependencies: TeXstudio and it’s TeXLive libraries. I wasn’t sure I wanted the packages sitting around on my computer long term, and I didn’t feel like micro-managing the dependencies with a minimal install. I thought this would be the perfect chance to experiment with Linux containers. There are…
I recently acquired a Surface Pro 4 and it was instantly obvious what a great machine it is. Having a tablet for casual use, while still having the capabilities of a powerful computer that you can use with a normal keyboard and mouse is extremely convenient. One of the first things that I wondered when I got the Surface was: how well will this thing run Linux? I can accept having to use Windows…
In previous posts I went though setting up a custom Arch Linux install image with ZFS pre-installed, and then installing ZFS on Arch linux . Once finished the install, the fun part comes; playing with all the interesting features ZFS has to offer. This post will walk through using and setting up some of the great futures ZFS has, and how to use them on Linux. Part Three - Backups, Snapshots and…
While trying to setup OpenVPN, I noticed there was no up-to-date information with correct instructions. OpenVPN uses EasyRSA to setup keys, it has recently been changed in version 3. As a result of this, the old steps to configure OpenVPN are no longer correct. I went through the process of setting up a VPN using OpenVPN on FreeBSD 10.3. This is the up to date way to configure OpenVPN on FreeBSD.
There are various benefits to using a ZFS backed block storage device, or ZVOL, as opposed to large file on disk. In this article I look at how virtual machines can be made using ZFS backed block storage, as opposed to regular Virtualbox files. When creating a regular file to back a virtual machine, whenever a change has been made to that large file, a new copy must be made and stored whenever it…
In the last section of this series I discussed using ZFS snapshots, ZFS send and using other interesting features ZFS has to offer. In this post I discuss setting up a arch system using a ZFS pool as a root filesystem I originally posted this on June 23rd 2016, since then I have learned a fair bit about setting up a system on ZFS, the following set up is my revised configuration as of September…
After using ZFS on FreeNAS and then using btrfs on Linux , I was curious to see how ZFS on Linux stacked up against btrfs. I attempted setting up Arch Linux on ZFS around a year ago and after running into multiple problems I abandoned the thought of getting it working. With all the talk recently in the Linux community, I was curious to see if the process had changed at all in the last year and if…
Recently while setting up a new install of Linux and making my partitions I was wondering why I needed a separate boot partition for every Linux install on my system. I also didn’t want to have to use a specific boot loader to achieve this. I know it’s possible with rEFInd and GRUB , but they are over complicated for what I need, for this reason I decided to stick with the nice and…
Having been introduced to ZFS on my server, I started to feel as though I was somehow using an inferior filesystem on Linux while using ext4. I became used to copy on write features that are part of what make makes filesystems like ZFS so useful and started to realize how useful it could be on the desktop as well. The first thing I did was attempt to setup ZFS on Linux. While it is quite easy to…
My recent FreeNAS Server Build article was featured in BSD Magazine for their January issue all about open source storage. The magazine is a free download on their website. )
In the past month or so I have been putting together my own desktop environment starting with Archlinux and openbox and piecing all the different parts together to make a proper desktop environment. Building a desktop this way really follows the Unix methodology, have a bunch of programs that each do one thing well, and when you put them together you end up with something amazing.
I’ve spent the last couple months configuring and setting up a new home server, with the intent of using it as a storage and media server. I looked at a few different options for the operating system I wanted to run. I knew I wanted to use an OS with support for an advanced filesystem with features like snapshots and check-summing for data integrity. It’s going to be used as a storage…
Publications and Papers Link to heading USENIX ATC ‘21 - A Case Study of Processing-in-Memory in off-the-Shelf Systems UNPUBLISHED ‘23 - Evaluation of Hyperdimensional Computing on PIM and GPU UNPUBLISHED ‘24 - ZNSCCACHE: ZNS Based Chunk Cache UNPUBLISHED ‘24 - Intrusion Detection Monitoring for Linux UNPUBLISHED ‘25 - ZNCache - ZNS Workload Analysis UNPUBLISHED…