Home Blog Page 516

Oracle Debuts Three New Open-Source Container Tools

Oracle is expanding its container efforts with the official public debut of three new open-source utilities designed to help improve application container security and performance. The tools include the Smith secure container builder, Crashcart container debugging tool and the Railcar container runtime.

The new Oracle container tools were publicly revealed by Oracle cloud development architect Vish (Ishaya) Abrams, who is a well-known figure in the OpenStack cloud community. Prior to joining Oracle in April 2015, Abrams had served as the project technical leader of the OpenStack Nova compute project which supports multiple virtualization technologies.

Read more at eWeek

Hijacking Bitcoin: Routing Attacks on Cryptocurrencies

Hijacking Bitcoin: routing attacks on cryptocurrencies Apostolaki et al., IEEE Security and Privacy 2017

The Bitcoin network has more than 6,000 nodes, responsible for up to 300,000 daily transactions and 16 million bitcoins valued at roughly $17B.

Given the amount of money at stake, Bitcoin is an obvious target for attackers.

This paper introduces a new class of routing attacks on the network. These aren’t supposed to be feasible since Bitcoin is a vast peer-to-peer network using random flooding. However, look a little closer and you’ll find:

  1. The Internet infrastructure itself is vulnerable to routing manipulation (BGP hijacks), and
  2. Bitcoin is really quite centralised when viewed from a routing perspective.

Read more at The Morning Paper

Dynamic Tracing in Linux User and Kernel Space

Have you ever been in a situation where you realize that you didn’t insert debug print at a few points in your code, so now you won’t know if your CPU hits a particular line of code for execution until you recompile the code with debug statements? Don’t worry, there’s an easier solution. Basically, you need to insert dynamic probe points at different locations of your source code assembly instructions.

For advanced users, kernel documentation/trace and man perf provide a lot of information about different types of kernels and user space tracing mechanisms; however, average users just want a few simple steps and an example to get started quickly. That’s where this article will help.

Read more at OpenSource.com

Linux Kernel 4.12: “One of The Bigger Releases”

Linus Torvalds released Linux kernel 4.12 on Sunday, July 2 and remarked how it was “one of the bigger releases historically.” Indeed, just shy of 12,000 commits, only 4.9 was significantly larger, and that was because Greg Kroah-Hartman declared it an LTS release.

Despite Torvalds’ unassuming comment about how there’s “nothing particularly odd going on” in this release, there are definitely many things going on. Apart from the numerous commits, this kernel has also received an abnormally large number of patches. About 50 percent of these patches are from the work being carried out on supporting the AMD’s high-end Vega series of cards, which are to go on sale later this year.

Getting support for hardware that isn’t even available in shops yet is exciting, but even more so is the work being carried out on supporting USB-C natively. In case you are not aware of these nifty interfaces, USB-C ports are an ultrabook designer’s dream. The protocol itself allows users to plug in a cable however they choose — no more fumbling to get it right side up! But, more importantly, USB-C allows for a wider range of functionalities than prior versions of USB. You can, for example, deliver power over a USB-C to charge a mobile device from your laptop, yes, but you can also have your laptop receive power. This means you could charge your laptop back and never have to bother with a non-standard charging port again.

Not only that, but a USB-C protocol can also act as an HDMI port and stream video to an external monitor. And, of course, USB-C still supports mass storage devices, mice, keyboards, cameras, microphones, printers, and so forth. With a couple of these devices on your machine, you are covered for almost everything.

The support of USB-C in the kernel is not easy. Apart from knowing what format of data must be sent over the wire, you have the added complication of determining which way charging is happening: Is the power flowing out through the USB-C to a device? Or is it flowing the other way round, charging your laptop? All these things must be “negotiated” by the devices at either end of the cable and, on the kernel end, we now have a USB Type-C Port Manager driver, or TCPM for short. As Phoronix explains, “[t]his driver serves as a state machine while other USB Type-C drivers are responsible for the rest of the functionality.”

Other things to look forward to in 4.12

  • A new BFQ I/O scheduler. The Budget Fair Queuing, or BFQ, is a new I/O scheduler that makes applications on desktops more responsive. By reducing latency on servers, it also helps reduce jittering and jumps when streaming audio or video, and speeds up the retrieval of web pages. Overall, the new BFQ is going to make life more pleasant for end users. The new Kyber I/O scheduler, on the other hand, speeds up access to block devices, like disk drives.

  • Support for ARM 64 devices keeps growing. Both the HWacom’s AmazeTV set top box and the Orange Pi PC 2 board are now supported among others. The old Motorola DROID4 smartphone is also supported.

  • And, speaking of alternative architectures, the Power9 chips have received a boost and can now address 512TB of virtual address space. Should be enough for gaming, methinks.

For more information regarding Linux’s Kernel 4.12, check out the reports at Kernel Newbies and Phoronix.

Learn the Basics of Docker Compose

In this preview of Containers for Developers and Quality Assurance (LFS254) training course from The Linux Foundation, we’ve covered Docker installation, introduced Docker Machine, performed basic Docker container and image operations, and looked at Dockerfiles and Docker Volumes.

This final article in the series looks at Docker Compose, which is a tool you can use to create multi-container applications with just one command. If you are using Docker for Mac or Windows, or you install the Docker Toolbox, then Docker Compose will be available by default. If not, you can download it manually.

To try out WordPress, for example, let’s create a folder called wordpress, and, in that folder, create a file called docker-compose.yaml. We will be exporting the wordpress container on the 8000 port of the host system.

When we start an application with Docker Compose, it creates a user-defined network on which it attaches the containers for the application. The containers communicate over that network. As we have configured Docker Machine to connect to our dockerhost, Docker Compose would also use that.

Now, with the docker-compose up command, we can deploy the application. With docker-compose ps command, we can list the containers created by Docker Compose, and with docker-compose down, we can stop and remove the containers. This also removes the network associated with the application. To additionally delete the associated volume, we need to pass the -v option with the docker-compose down command.

 Want to learn more? Access all the free sample chapter videos now!

This online course is presented almost entirely on video, and the material is prepared and presented by Neependra Khare (@neependra), Founder and Principal Consultant at CloudYuga, Docker Captain, and author of the Docker Cookbook.

Balancing Competing Interests in Software Projects

The typical software shop is both overcommitted and poorly coordinated. These conditions form a vicious cycle: a lack of effective communication leads to inefficient work, which in turn leads to a permanent state of being too busy to communicate with one another.

The traditional remedy to this problem is something along the lines of “do less stuff, better.” When it can be pulled off, it is super effective! But in most places, the idea of waving a magic “do less” wand tends to be rejected out of hand, or at least kicked down the road to be considered in quieter times that never come.

If you find yourself in a situation where your team can’t immediately solve its overcommitment problems, that’s a sign that it’s time to focus on improving coordination. Recognizing that busy people generally don’t have the time or patience for revolutionary transformations, your goal is to look for small adjustments here and there that when taken in aggregate lead to a massive reduction in friction.

Read more at O’Reilly

HTTPS Certificate Revocation Is Broken, and It’s Time for Some New Tools

We have a little problem on the web right now and I can only see it becoming a larger concern as time goes by: more and more sites are obtaining certificates, vitally important documents needed to deploy HTTPS, but we have no way of protecting ourselves when things go wrong.

Certificates

We’re currently seeing a bit of a gold rush for certificates on the Web as more and more sites deploy HTTPS. Beyond the obvious security and privacy benefits of HTTPS, there are quite a few reasons you might want to consider moving to a secure connection that I outline in my article Still think you don’t need HTTPS?. Commonly referred to as “SSL certificates” or “HTTPS certificates”, the wider Internet is obtaining them at a rate we’ve never seen before in the history of the web. Every day I crawl the top one million sites on the Web and analyze various aspects of their security and every 6 months I publish a report. You can see the reports here, but the main result to focus on right now is the adoption of HTTPS.

Read more at Ars Technica

Kubernetes on Bare-Metal in 10 Minutes

Kubernetes is an open-source container orchestration framework which was built upon the learnings of Google. It enables you to run applications using containers in a production ready-cluster. Kubernetes has many moving parts and there are countless ways to configure its pieces – from the various system components, network transport drivers, CLI utilities not to mention applications and workloads.

In this blog post we’ll install Kubernetes 1.6 on a bare-metal machine with Ubuntu 16.04 in about 10 minutes. At the end you’ll be able to start learning how to interact with Kubernetes via its CLI kubectl.

Read more at Alex Ellis Blog

At $30,000 for a Flaw, Bug Bounties Are Big and Getting Bigger

Hackers are being paid as much as $30,000 for finding a single critical flaw in a company’s systems, and the amount companies are willing to pay is increasing.

While the use of such bug hunting programmes is still limited, some large organisations are offering hackers rewards for spotting flaws in their systems.

According to data from HackerOne, a company which sets up bug bounty programmes for businesses, the biggest spending companies are now paying out nearly $900,000 a year to people who report bugs.

Read more at ZDNet

A History of Open Source GIS, from Humble Beginnings to World-Changing Applications

The advent of digital mapping and geospatial information systems (GIS) has completely changed the way humans think about and interact with the world around them. The concept of overlapping discrete layers of location information for decision-making was first introduced by Ian McHarg, a landscape architect, in the 1960s. Around the same time, Roger Tomlinson — known universally as the “Father of GIS” — completed his doctoral thesis focused on the use of computing methods for the overlay of geospatial information. Roger then worked to create the first computerized GIS, the Canada Geographic Information System, which was used primarily for surveying.

The roots of open source GIS can be traced back to the U.S. Department of the Interior in 1978. Since then, open source GIS has permeated many industries, both government, and commercial, and has naturally had a different trajectory and impact than its proprietary, license-based counterpart. 

Read more at The New Stack