Thursday, 6 June 2019

Book Review - You'll See This Message When It Is Too Late - The Legal and Economic Aftermath of Cybersecurity Breaches

This is another of my irregular series of book reviews for the British Computer Society (BCS), who kindly provided me with a review hard-copy of this publication.

You'll See This Message When It Is Too Late
The Legal and Economic Aftermath of Cybersecurity Breaches

By Josephine Wolff

https://mitpress.mit.edu/books/youll-see-message-when-it-too-late

The title of this book gives away the core message, but in a very subtle way.

During the first few chapters, the author, Professor  Josephine Wolff, walks through a number of high-profile security incidents, affecting public and private sector organisations as diverse as the US Office of Personnel Management, the certificate authority, Diginotar, and the dating website, Ashley Madison.

In each case, she describes the technical details of the security breach, the political and organisational landscape of the affected organisation, the key stakeholders ( employees, customers, interested parties ) and, most importantly, how the incident was reported, mitigated and defended, the latter in the context of the personal, political and financial ramifications.

For me, as a technologist, whilst I initially thought that I was seeking a technical and deep-dive analysis of security breaches, this book made me appreciate the deeper impact of such a breach, especially in the way that organisations seek to spread the blame far and wide.

Additionally, Professor Wolff spends a fair amount of the book looking at the instigators of each breach, and explains how their motives vary from financial gain ( perhaps easier to understand ) to political and strategic aims ( espionage and geopolitics ).

This makes the book a very compelling read, and emphasises why this should be on the required reading list for anyone responsible for, or even just interested in, information security.

The book serves to provide a very credible alternative to the image of IT security portrayed by television and the cinema, and sits nicely alongside the reportage provided by the information security industry, and the journalists and analysts who report on it's trials and tribulations.

I sincerely recommend this to anyone with more than a passing interest in information security, and give it 10 out of 10 for breadth, depth and detail.

Wednesday, 5 June 2019

MainframerZ meetup at Mediaocean in London - Thursday 20 June 2019

Just a reminder that we're only three weeks away from the next MainframerZ Meetup ....

Here's the deets: _

MainframerZ meetup at Mediaocean

and here's the current agenda: -

  • Dave Hay - The flexibility of the Cloud, the popularity of Linux, PLUS the security of the Mainframe - A brief exploration of Hyper Protect Services
  • Andrew Schofield /Kate Stanley - Unlocking messages from MQ on z/OS into Apache Kafka without freaking out the Sys Admin
  • Melvyn Maltz - Mainframe development, some Assembler required
  • Mark Wilson - Mainframe pentesting war stories
  • Stuart Ashby - TLA all the way

We'd love to see you there ....

Just go here: -

MainframerZ meetup at Mediaocean

and register.


Monday, 3 June 2019

It's been a while - C++ and the case of the missing headers

Whilst trying to compile some code on my Linux box which, of course, is an IBM mainframe running Ubuntu, I was seeing this: -

/usr/include/features.h:424:12: fatal error: sys/cdefs.h: No such file or directory
 #  include
            ^~~~~~~~~~~~~
compilation terminated.

I'd started with a clean-but-minimised Ubuntu 18.04.2 LTS (GNU/Linux 4.15.0-36-generic s390x) environment, and had installed vim: -

sudo apt-get install vim

to create a test CPP source file: -

vi test.cpp

#include
#include
int main()
{
        printf("TESTING");
        return 1;
}

but, when I attempted to compile it: -

g++ --verbose -o test test.cpp 

I saw the previously quoted exception.

I checked that I had libc installed: -

sudo apt-get install libc6-dev
sudo apt-get install libc6

I did check the missing file: -

sudo find / -name cdefs.h

which returned: -

/usr/include/sys/cdefs.h

ls -al /usr/include/sys/cdefs.h

lrwxrwxrwx 1 root root 30 Apr 16  2018 /usr/include/sys/cdefs.h -> ../s390x-linux-gnu/sys/cdefs.h

which gave me a clue ...

After some digging around, I found this: -


on AskUbuntu, which referenced the apt-file command: -

sudo apt-get install apt-file
sudo apt-file update

Having installed it, I ran it: -

apt-file find cdefs.h|grep s390

which showed: -

libc6-dev: /usr/include/s390x-linux-gnu/sys/cdefs.h
libc6-dev-s390: /usr/include/sys/cdefs.h
libc6-dev-s390x-cross: /usr/s390x-linux-gnu/include/sys/cdefs.h

Taking a leap o' faith, I installed the s390 element of libc6-dev: -

sudo apt-get install libc6-dev-s390

but to no avail.

I then did the same for the s390x-linux-gnu element: -

sudo apt-get install libc6-dev-s390x-cross

which did the job.

I'm now able to compile my test module and, more importantly, I'm able to build the Docker image that led me down this particular rabbit hole ( as it uses LuaJIT )

Saturday, 1 June 2019

IBM Cloud Private 3.2 is out ! With added Multicloud Manager....

From the announcement letter here: -

IBM Cloud Private V3.2 adds IBM Multicloud Manager, an integrated solution purpose-built to help modernize your applications to cloud native deployments

and the feature list includes: -

IBM Cloud Private V3.2 brings an integrated platform for developing, modernizing, and managing containerized applications:

  •     Provides an integrated cloud platform for enterprise workloads that need to be securely run behind your firewalls
  •     Enables development and production of cloud native applications in a private cloud
  •     Enables refactoring and modernization of monolithic or legacy enterprise applications
  •     Provides security-rich toolsets to integrate to public cloud services from within your data centers
  •     Features application analytics, integration, monitoring, and security tools that are ready for immediate use to consistently manage IBM and non-IBM based workloads, providing a consistent and resilient way to build, deploy, and manage applications
  •     Includes IBM Cloud Automation Manager, IBM Microclimate, IBM Transformation Advisor, and IBM Vulnerability Advisor
  •     Brings one cloud experience for clients with hybrid cloud integration
  •     Provides IBM Content for Red Hat OpenShift Container Platform (RH OCP) - Cloud Packs and Solution Packs
  •     Extends its use cases to edge computing, specifically edge servers and gateways
  •     Upgrades directly from previous versions of IBM Cloud Private V3.x.x to IBM Cloud Private V3.2

and: -

Multicloud Manager V3.2 is an enterprise-grade, multicloud, multicluster management solution, purpose-built to address the policy, compliance, and application management challenges of multiple clusters:
  •     Set and enforce polices for security, applications, and infrastructure (auto enforcement at cluster level)
  •     Streamline application management with Cross Cloud Security Dashboard, Management Console, and policy-based application movement
  •     Check compliance against deployment parameters, configuration, and policies
  •     Automatically remediate violations
  •     Deploy applications across clusters based on policy compliance, development versus test, and so on
  •     Automatically update monitoring dashboard based on deployment
  •     Understand failure dependencies and identify the affected system if a shared component fails
As a MainframerZ I'm aiming to run it on IBM Z as soon as I can ....

Watch this space .......

Saturday, 25 May 2019

Setting Authorization Headers in IBM API Connect Test and Monitor

I've recently started exploring the IBM API Connect Test and Monitor tool on IBM Cloud here: -

https://www.ibm.com/cloud/api-connect/api-test

and was having some fun n' games setting an HTTP Header, using either the basic HTTP Client or the more detailed Test Composer.

My API requires that one send an IAM token, rather than the more Basic Auth of user/password, which is nice :-)

This kept failing with HTTP403 Unauthorized.

Thankfully IBM have a nice active support community on Stack Overflow, so I posted a question here: -

Setting Authorization Headers in IBM API Connect Test and Monitor

and got some rapid feedback from the community.

In essence, I was doing it wrong ....

This is what I needed to do: -




In other words, for the Key/Value Pair (KVP) that comprises the HTTP Header field, I needed to specify Authorization as the key and Bearer XXXXXXXXXXXXXXX as the value ( with a space between the word Bearer and the actual IAM token itself.

So I was holding it wrong .... #Doofus

Apart from the basic HTTP Client, there's also a very spiffing Test Composer, that has the same requirement wrt Authorisation headers: -



For the record, there's also a GitHub project for a native client here: -

https://ibm-apiconnect.github.io/test-and-monitor/

with which I've played a wee bit .....

Wednesday, 15 May 2019

LinuxONE for Dummies


As more companies transform their infrastructures with hybrid cloud services, they require environments that protect the safety of their intellectual property, such as data and business rules.

LinuxONE is a hardware system designed to support and exploit the Linux operating system based on the value of its unique underlying architecture. In this book, you’ll learn how to

• Secure your data and spark innovation

• Leverage a large partner ecosystem

• Dynamically scale to meet your business needs

Download now to discover an enterprise-grade Linux server with a unique architecture.

LinuxONE for Dummies

Thursday, 9 May 2019

Postman on macOS - Where are my Windows ?

Having used Postman for the past few months, mainly to poke REST APIs, I hit an interesting issue last night, whereby the main Postman window refused to appear even though I'd left it open when I suspended my Mac ( closed the lid ) before leaving the office.

Now, for clarity, at work I use an external Lenovo monitor, attached via USB-C / HDMI ( using the Apple dongle ), which is positioned to the right of the MacBook Pro itself.

When I got home, I plugged in a different AOC monitor, again via USB-C / HDMI ( using a different non-Apple dongle ), again with the MBR on the left of the monitor ( "On your left" ).

Despite stopping/starting Postman multiple times, and fiddling around with the various options available on the View and Window menus, I couldn't get the main window to appear ....

Thankfully, the internet brought me to this ....

Postman opens off screen(s) when display monitors are changed #2833

which said, in part: -

...
For the moment, if you guys see this, you can reset the app's window settings manually. To do this, you'll need to delete the requester.json file from the app's data directory, this is located:

on macOS: ~/Library/Application\ Support/Postman
on Windows: C:\Users\AppData\Roaming\Postman
on Linux: ~/.config/Postman
...

and: -

...
In fact, you also need to delete the window file in the same directory.
...

Having quit Postman, I dived into Terminal ( because, Terminal ) and did this: -

rm ~/Library/Application\ Support/Postman/storage/requester.json 
rm ~/Library/Application\ Support/Postman/window 

and started Postman again .... c'est voila, here's a Postman window :-)

For the record, I'm using Postman 7.0.9, which is interesting 'cos that post is circa 2017 ....

Note to self - Firefox and local connections

 Whilst trying to hit my NAS from Firefox on my Mac, I kept seeing errors such as:- Unable to connect Firefox can’t establish a connection t...