Linux Improvements in Memory Corruption Based Protections presented at DORS/CLUC 2025, Zagreb, Croatia.
Intel Indirect Branch Tracking (IBT) in Linux.
Intel Shadow Stack (SS) implementation in Linux.
44CON London 2015 - Jtagsploitation: 5 wires, 5 ways to root44CON
The document discusses 5 ways to exploit JTAG (Joint Test Action Group) interfaces to gain unauthorized access or privileges on a system. The 5 techniques are: 1) Accessing non-volatile storage like flash memory via boundary scan, 2) Scraping memory for offline forensic analysis, 3) Patching boot arguments to change how the system boots, 4) Directly patching the kernel by modifying code or function pointers in memory, and 5) Patching a specific process by searching memory for its code and modifying it. While some techniques like memory scraping are slow, others like boot argument patching or kernel patching can be done quickly and provide privileged access. JTAG interfaces provide I/O, execution control, and memory access that enable
Kernel Recipes 2016 - entry_*.S: A carefree stroll through kernel entry codeAnne Nicolas
I have always wondered what happens when we enter the kernel from userspace: what preparations does the hardware meet when the userspace to kernel space switch instructions are executed and back, and what does the kernel do when it executes a system call. There are also a bunch of things it does before it executes the actual syscall so I try to look at those too.
This talk is an attempt to demystify some of the aspects of the cryptic x86 entry code in arch/x86/entry/ written in assembly and how does that all fit with software-visible architecture of x86, what hardware features are being used and how.
With the hope to get more people excited about this funky piece of the kernel and maybe have the same fun we’re having.
Borislav Petkov, SUSE
The document discusses exploiting a vulnerability in Cisco ASA firewall devices. It begins with background on the target device and vulnerability, then outlines steps for getting access to the firmware, debugging the target, and identifying the vulnerability through static and dynamic analysis. The document then covers techniques for triggering the vulnerability and developing a controlled exploit to achieve remote code execution without user interaction.
Rsockets provides a socket-like API for RDMA networking. It aims to allow applications to use familiar socket programming concepts while achieving high performance comparable to native RDMA. Rsockets allows existing socket applications to run over RDMA with minimal changes by intercepting socket calls and mapping them to rsocket functions. Initial benchmarks show rsockets achieving lower latency and higher bandwidth than IPoIB and competing with native InfiniBand performance. It also allows several MPI and HPC applications to run with only linking to an interception library.
CONFidence 2017: Escaping the (sand)box: The promises and pitfalls of modern ...PROIDEA
Users of modern Linux containerization technologies are frequently at loss with what kind of security guarantees are delivered by tools they use. Typical questions range from Can these be used to isolate software with known security shortcomings and rich history of security vulnerabilities? to even Can I used such technique to isolate user-generated and potentially hostile assembler payloads?
Modern Linux OS code-base as well as independent authors provide a plethora of options for those who desire to make sure that their computational loads are solidly confined. Potential users can choose from solutions ranging from Docker-like confinement projects, through Xen hypervisors, seccomp-bpf and ptrace-based sandboxes, to isolation frameworks based on hardware virtualization (e.g. KVM).
The talk will discuss available today techniques, with focus on (frequently overstated) promises regarding their strength. In the end, as they say: “Many speed bumps don’t make a wall
Davide Berardi - Linux hardening and security measures against Memory corruptionlinuxlab_conf
The exploding popularity of Embedded/IoT computing facilitate this security problems using low or non-existent security policies and exploits countermeasures. So why not explore some security measures that are widely available in the Linux world? We will focus on memory corruption techniques.
The Linux kernel was always focused on security features and giving bad times to the exploiters. This talk will introduce some common exploits and techniques, showing the mitigations employed by the kernel. By focusing on the major threats that affects modern Linux boxes, we will see which are the main features that can give problems to the system administator and how a preliminary penetration test can be done, ensuring that the system is in a sane state. The talk will also focus on problematics of embedded/IoT Unix systems, showing how some recent attacks gained control over a big network of devices and how a simple embedded system can be analyzed, hunting for bugs. Talk outline: Penetration testing, Linux, netfilter/bpf, memory corruption, ASLR, Spectre/Meltdown.
Intel добавит в CPU инструкции для глубинного обученияAnatol Alizar
This document provides an overview and reference for Intel's AVX-512 instruction set extensions. It discusses the key features of AVX-512 including 512-bit wide SIMD register and instruction support. It also describes the AVX-512 programming model and application programming interface, covering aspects such as register usage, instruction encoding, exception handling and programming interfaces like CPUID. The document also discusses system programming considerations for AVX-512 including state management using instructions like XSAVE, reset behavior, and exception handling.
This document describes techniques for creating rootkits on Linux x86 systems. It discusses obtaining the system call table, hooking system calls through various methods like direct modification of the table, inline hooking of system call code, and patching the system call handler. It also presents the idea of abusing debug registers to generate exceptions and intercept system calls. The goal is to conceal running processes, files, and other system data from detection.
The document discusses porting the Distributed Multi-Threaded Checkpointing (DMTCP) tool to Mac OS X. DMTCP allows transparent checkpointing of multiple simultaneous applications including multi-threaded and distributed applications. The authors explore two options for porting DMTCP to Mac: 1) constructing a Linux-like /proc file system using MacFUSE and 2) examining the virtual memory areas (VMA) of a process in more detail. Their work analyzing process memory using the access system call provided insights but had limitations. Future work is needed to fully port DMTCP's process information gathering to Mac OS X.
Describes how Clear Linux OS is designed, highlighting core features, operating models, and foundational tools that are key to understanding how the distro operates.
[Defcon] Hardware backdooring is practicalMoabi.com
This presentation will demonstrate that permanent backdooring of hardware is practical. We have built a generic proof of concept malware for the intel architecture, Rakshasa, capable of infecting more than a hundred of different motherboards. The first net effect of Rakshasa is to disable NX permanently and remove SMM related fixes from the BIOS, resulting in permanent lowering of the security of the backdoored computer, even after complete earasing of hard disks and reinstallation of a new operating system. We shall also demonstrate that preexisting work on MBR subvertions such as bootkiting and preboot authentication software bruteforce can be embedded in Rakshasa with little effort. More over, Rakshasa is built on top of free software, including the Coreboot project, meaning that most of its source code is already public. This presentation will take a deep dive into Coreboot and hardware components such as the BIOS, CMOS and PIC embedded on the motherboard, before detailing the inner workings of Rakshasa and demo its capabilities. It is hoped to raise awareness of the security community regarding the dangers associated with non open source firmwares shipped with any computer and question their integrity. This shall also result in upgrading the best practices for forensics and post intrusion analysis by including the afore mentioned firmwares as part of their scope of work.
The document discusses techniques for debugging issues in the Linux kernel. It begins by explaining the differences between debugging in user space versus kernel space. Kernel problems are then categorized as kernel panics, which halt the system, or kernel oops, which are recoverable errors. The rest of the document demonstrates debugging outputs for a kernel panic and oops, including register dumps and call traces, and discusses common causes of kernel faults.
Operating Systems 1 (5/12) - Architectures (Unix)Peter Tröger
Modern operating systems like Unix, Linux, and Mac OS X share common goals and design principles. They all aim to abstract away the underlying hardware, manage system resources efficiently, and provide security and flexibility through layering. Key concepts they employ include processes, virtual memory, user/kernel modes enabled by hardware rings, system APIs for applications to access kernel functionality, and pluggable drivers for hardware devices. Their architectures have evolved from early Unix systems through influential versions like System V and BSD to the major modern variants in use today.
1st - Increasing the performance using SSE, AVX* and FMA extensions
2nd - BPF BCC tools for performance analysis
3rd - Insecurity of today's computers. Ring 2 firmware and UEFI, and why we wouldn't want them
4th - Comparison between the functionality of the best known Nginx distributions Nginx, OpenResty and Tengine
Not breaking userspace: the evolving Linux ABIAlison Chaiken
This document discusses not breaking userspace through maintaining the Linux application binary interface (ABI). It begins by defining what an ABI is and how it guarantees compatibility between userspace applications and the Linux kernel. It then discusses several examples where ABI breaks have occurred or may need to occur, such as for the 2038 time issue, priority inheritance in threading, and changes to tools like BPF programs. The document provides methods for avoiding ABI breaks, such as unused function parameters and exporting information to sysfs. It concludes that maintaining the ABI is important but also sometimes unavoidable when new features are needed.
Introduction in Security given by Bart Van Bos at Nalys.
Topics:
- Buffer overflows in C
- Counter measures
- Life demo of 2 attacks
- Shellcode generation
This document describes techniques for creating rootkits on Linux x86 systems. It discusses obtaining the system call table through the interrupt descriptor table and IDT register. It explains how to hook system calls by modifying the system call table entries or using inline assembly. The document also covers abusing debug registers to generate breakpoints and divert execution to custom handlers without modifying code. Overall, the document provides an overview of common rootkit techniques along with code examples for implementing hooks at the system call level and bypassing detection on Linux.
Exploiting the Linux Kernel via Intel's SYSRET Implementationnkslides
Intel handles SYSRET instructions weirdly and might throw around exceptions while still being in ring0. When the kernel is not being extra careful when returning to userland after being signaled with a syscall bad things can happen. Like root shells.
Post Exploitation Bliss: Loading Meterpreter on a Factory iPhone, Black Hat U...Vincenzo Iozzo
Charlie Miller and Vincenzo Iozzo presented techniques for post-exploitation on the iPhone 2 including:
1. Running arbitrary shellcode by overwriting memory protections and calling vm_protect to mark pages as read/write/executable.
2. Loading an unsigned dynamic library called Meterpreter by mapping it over an existing signed library, patching dyld to ignore code signing, and forcing unloaded of linked libraries.
3. Adding new functionality to Meterpreter, such as a module to vibrate and play a sound on the iPhone, demonstrating how payloads can be extended once loaded into memory.
Libra : A Compatible Method for Defending Against Arbitrary Memory OverwriteJeremy Haung
http://adl.tw/~jeremy/slides/presentation2.pptx
Attached detailed Analysis of CVE-2013-2094 (&on x86-32).
Exploit the CVE-2013-2094 with animation
There have been more vulnerabilities in the Linux Kernel in 2013 than there had been in the previous decade. In this paper, the research was focused on defending against arbitrary memory overwrites in Privilege Escalation.
To avoid malicious users getting root authority. The easiest way is to set the sensitive data structure to read-only. But we are not sure the sensitive data structure will never be modified by legal behavior from a normal device driver; thus, we posed a compatible solution between read-only solutions and writable solutions to enhance compatibility.
The main idea that we posed not only solves the above problem, but also the general problem which is ensuring that important memory values can only be changed within a safe range.
It is not just set to read-only.
Key Word : Linux Kernel Vulnerabilities、exploit、Privilege Escalation
Nadav Markus goes over the path from a simple crash POC provided by Google Project Zero (for CVE-2015-7547), to a fully weaponized exploit.
He explores how an attacker can utilize the behavior of the Linux kernel in order to bypass ASLR, allowing an attacker to remotely execute code on vulnerable targets.
This document discusses code signing, which involves digitally signing executables and scripts to confirm the software author and ensure the code has not been altered. Code signing can ensure code integrity, identify the source, and determine if code is trustworthy for a purpose. The architecture involves a code signing tool, kernel module to check signatures, and user-space daemon called by the kernel module. Communication between kernel and user space uses techniques like system calls, ioctl, proc filesystem, and netlink sockets.
Porting a command line tool to Android involves cross-compiling the code using the Android NDK toolchain, which may require patching the code to address issues like different file paths, endianness, and library dependencies. While compiling and running static binaries is straightforward, dynamic binaries require position-independent executable (PIE) support added in Android 5. Calling native executables from Android code requires using Runtime.exec() or ProcessBuilder and parsing output streams. Special care needs to be taken to avoid security issues like command injection when passing untrusted inputs to native programs run as root on Android.
Intel добавит в CPU инструкции для глубинного обученияAnatol Alizar
This document provides an overview and reference for Intel's AVX-512 instruction set extensions. It discusses the key features of AVX-512 including 512-bit wide SIMD register and instruction support. It also describes the AVX-512 programming model and application programming interface, covering aspects such as register usage, instruction encoding, exception handling and programming interfaces like CPUID. The document also discusses system programming considerations for AVX-512 including state management using instructions like XSAVE, reset behavior, and exception handling.
This document describes techniques for creating rootkits on Linux x86 systems. It discusses obtaining the system call table, hooking system calls through various methods like direct modification of the table, inline hooking of system call code, and patching the system call handler. It also presents the idea of abusing debug registers to generate exceptions and intercept system calls. The goal is to conceal running processes, files, and other system data from detection.
The document discusses porting the Distributed Multi-Threaded Checkpointing (DMTCP) tool to Mac OS X. DMTCP allows transparent checkpointing of multiple simultaneous applications including multi-threaded and distributed applications. The authors explore two options for porting DMTCP to Mac: 1) constructing a Linux-like /proc file system using MacFUSE and 2) examining the virtual memory areas (VMA) of a process in more detail. Their work analyzing process memory using the access system call provided insights but had limitations. Future work is needed to fully port DMTCP's process information gathering to Mac OS X.
Describes how Clear Linux OS is designed, highlighting core features, operating models, and foundational tools that are key to understanding how the distro operates.
[Defcon] Hardware backdooring is practicalMoabi.com
This presentation will demonstrate that permanent backdooring of hardware is practical. We have built a generic proof of concept malware for the intel architecture, Rakshasa, capable of infecting more than a hundred of different motherboards. The first net effect of Rakshasa is to disable NX permanently and remove SMM related fixes from the BIOS, resulting in permanent lowering of the security of the backdoored computer, even after complete earasing of hard disks and reinstallation of a new operating system. We shall also demonstrate that preexisting work on MBR subvertions such as bootkiting and preboot authentication software bruteforce can be embedded in Rakshasa with little effort. More over, Rakshasa is built on top of free software, including the Coreboot project, meaning that most of its source code is already public. This presentation will take a deep dive into Coreboot and hardware components such as the BIOS, CMOS and PIC embedded on the motherboard, before detailing the inner workings of Rakshasa and demo its capabilities. It is hoped to raise awareness of the security community regarding the dangers associated with non open source firmwares shipped with any computer and question their integrity. This shall also result in upgrading the best practices for forensics and post intrusion analysis by including the afore mentioned firmwares as part of their scope of work.
The document discusses techniques for debugging issues in the Linux kernel. It begins by explaining the differences between debugging in user space versus kernel space. Kernel problems are then categorized as kernel panics, which halt the system, or kernel oops, which are recoverable errors. The rest of the document demonstrates debugging outputs for a kernel panic and oops, including register dumps and call traces, and discusses common causes of kernel faults.
Operating Systems 1 (5/12) - Architectures (Unix)Peter Tröger
Modern operating systems like Unix, Linux, and Mac OS X share common goals and design principles. They all aim to abstract away the underlying hardware, manage system resources efficiently, and provide security and flexibility through layering. Key concepts they employ include processes, virtual memory, user/kernel modes enabled by hardware rings, system APIs for applications to access kernel functionality, and pluggable drivers for hardware devices. Their architectures have evolved from early Unix systems through influential versions like System V and BSD to the major modern variants in use today.
1st - Increasing the performance using SSE, AVX* and FMA extensions
2nd - BPF BCC tools for performance analysis
3rd - Insecurity of today's computers. Ring 2 firmware and UEFI, and why we wouldn't want them
4th - Comparison between the functionality of the best known Nginx distributions Nginx, OpenResty and Tengine
Not breaking userspace: the evolving Linux ABIAlison Chaiken
This document discusses not breaking userspace through maintaining the Linux application binary interface (ABI). It begins by defining what an ABI is and how it guarantees compatibility between userspace applications and the Linux kernel. It then discusses several examples where ABI breaks have occurred or may need to occur, such as for the 2038 time issue, priority inheritance in threading, and changes to tools like BPF programs. The document provides methods for avoiding ABI breaks, such as unused function parameters and exporting information to sysfs. It concludes that maintaining the ABI is important but also sometimes unavoidable when new features are needed.
Introduction in Security given by Bart Van Bos at Nalys.
Topics:
- Buffer overflows in C
- Counter measures
- Life demo of 2 attacks
- Shellcode generation
This document describes techniques for creating rootkits on Linux x86 systems. It discusses obtaining the system call table through the interrupt descriptor table and IDT register. It explains how to hook system calls by modifying the system call table entries or using inline assembly. The document also covers abusing debug registers to generate breakpoints and divert execution to custom handlers without modifying code. Overall, the document provides an overview of common rootkit techniques along with code examples for implementing hooks at the system call level and bypassing detection on Linux.
Exploiting the Linux Kernel via Intel's SYSRET Implementationnkslides
Intel handles SYSRET instructions weirdly and might throw around exceptions while still being in ring0. When the kernel is not being extra careful when returning to userland after being signaled with a syscall bad things can happen. Like root shells.
Post Exploitation Bliss: Loading Meterpreter on a Factory iPhone, Black Hat U...Vincenzo Iozzo
Charlie Miller and Vincenzo Iozzo presented techniques for post-exploitation on the iPhone 2 including:
1. Running arbitrary shellcode by overwriting memory protections and calling vm_protect to mark pages as read/write/executable.
2. Loading an unsigned dynamic library called Meterpreter by mapping it over an existing signed library, patching dyld to ignore code signing, and forcing unloaded of linked libraries.
3. Adding new functionality to Meterpreter, such as a module to vibrate and play a sound on the iPhone, demonstrating how payloads can be extended once loaded into memory.
Libra : A Compatible Method for Defending Against Arbitrary Memory OverwriteJeremy Haung
http://adl.tw/~jeremy/slides/presentation2.pptx
Attached detailed Analysis of CVE-2013-2094 (&on x86-32).
Exploit the CVE-2013-2094 with animation
There have been more vulnerabilities in the Linux Kernel in 2013 than there had been in the previous decade. In this paper, the research was focused on defending against arbitrary memory overwrites in Privilege Escalation.
To avoid malicious users getting root authority. The easiest way is to set the sensitive data structure to read-only. But we are not sure the sensitive data structure will never be modified by legal behavior from a normal device driver; thus, we posed a compatible solution between read-only solutions and writable solutions to enhance compatibility.
The main idea that we posed not only solves the above problem, but also the general problem which is ensuring that important memory values can only be changed within a safe range.
It is not just set to read-only.
Key Word : Linux Kernel Vulnerabilities、exploit、Privilege Escalation
Nadav Markus goes over the path from a simple crash POC provided by Google Project Zero (for CVE-2015-7547), to a fully weaponized exploit.
He explores how an attacker can utilize the behavior of the Linux kernel in order to bypass ASLR, allowing an attacker to remotely execute code on vulnerable targets.
This document discusses code signing, which involves digitally signing executables and scripts to confirm the software author and ensure the code has not been altered. Code signing can ensure code integrity, identify the source, and determine if code is trustworthy for a purpose. The architecture involves a code signing tool, kernel module to check signatures, and user-space daemon called by the kernel module. Communication between kernel and user space uses techniques like system calls, ioctl, proc filesystem, and netlink sockets.
Porting a command line tool to Android involves cross-compiling the code using the Android NDK toolchain, which may require patching the code to address issues like different file paths, endianness, and library dependencies. While compiling and running static binaries is straightforward, dynamic binaries require position-independent executable (PIE) support added in Android 5. Calling native executables from Android code requires using Runtime.exec() or ProcessBuilder and parsing output streams. Special care needs to be taken to avoid security issues like command injection when passing untrusted inputs to native programs run as root on Android.
Cryptography implementation weaknesses: based on true storyVlatko Kosturjak
Vlatko Kosturjak discusses weaknesses found in a Cisco SHA256 password hash implementation. He describes how he was able to determine the hash was using an insecure custom charset and no salt or iterations. This allowed him to crack the hash using rainbow tables. He created tools to convert Cisco configuration files to the John the Ripper format and cracked multiple passwords. His recommendations include implementing stronger cryptography, avoiding password reuse, and working with security researchers to improve implementations.
Talk given on BalCCon 2013 by Vlatko Kosturjak: Wonderful world of (distributed) SCM or VCS. Ripping and extracting useful info from CVS, Subversion (SVN) and GIT repositories publicly exposed on the web.
This document discusses how to extract source code from websites that have exposed their .git directories without authorization. It describes finding repositories through tools like Nmap scripts and DVCS-Pillage, but notes limitations in completeness. A new tool called DVCS-rip is presented that can fully clone exposed git repositories over various protocols, including branches, with the goal of getting the full source code when it is not otherwise open source. The talk encourages feedback and contributions to improve upon existing tools.
The document discusses the various uses of Perl in security applications such as penetration testing, log parsing, system monitoring, and forensics. It provides examples of how Perl can be used for network reconnaissance tasks like port scanning, generating custom packets, and man-in-the-middle attacks. Perl is also useful for fuzzing, vulnerability research, and developing exploits. Common security modules for tasks like web application testing and XML parsing are also mentioned. The document encourages using higher-level Perl constructs instead of lower-level code for security tools when possible.
VFP-Report-Copy-Data-Environment details.
I am MCTS - (Microsoft Certified Tech. Specialist).
I had started my journey with COBOL, dbaseIII+, Clipper, Foxpro - DOS/WIndows/Visual, VB6.
My 130+ Articles on .NET : https://www.c-sharpcorner.com/members/manoj-kalla3
My YouTube Channel: https://www.youtube.com/@manojkalla4174/playlists
Total 200+ Videos on Visual Foxpro.
My Medium Article : https://medium.com/@manojkalla
Ahmedabad Information Technology IT college Syllabus for BCA, MCA and online teaching for Asp.Net MVC, Asp.Net Core, Java, C Language, C++ Language, Entity Framework, Linq To SQL, Android.
The Maharaja Sayajirao University (M.S. University), Dr. Babasaheb Ambedkar Open University (BAOU), Indus University (IU), Ahmedabad courses and G.L.S. Institute Of Computer Application (GLSICA), Gujarat University online courses BCA, MCA and BTech, MTech online.
Mehsana Information Technology IT college Syllabus for BCA, MCA.
Mehsana online teaching for Asp.Net MVC, Asp.Net Core, Java, C Language, C++ Language, Entity Framework, Linq To SQL, Android.
Yashwantrao Chavan Maharashtra Open University (YCMOU) course online training institute.
YCMOU Java Notes, YCMOU Android Training, YCMOU Java Training, YCMOU Linux Course, YCMOU syllabus online Training insitute, YCMOU C++ Notes, YCMOU C++ online training, YCMOU C++ online tutor.
YCMOU BCA tutor , YCMOU BCA training,
Bharati Vidyapeeth University (BVP) courses online training ,
Bharati Vidyapeeth University (BVP) courses online tutor,
Bharati Vidyapeeth University (BVP) courses BCA online training ,
Bharati Vidyapeeth University (BVP) courses BTECH online tutor,
Angular online tutor in malad mumbai,
Angular online tutor in kandivali mumbai,
Angular online tutor in bhayandar mumbai,
Angular online tutor in vapi gujrat,
Angular online tutor in surat gujrat,
Angular online tutor in baroda gujrat,
Angular online tutor in vadodara gujrat,
Angular online tutor in indore MP,
Angular online tutor in bhopal MP,
Angular online tutor in nashik maharashtra,
Angular online tutor in pune maharashtra,
Angular online training institute in Bandra Mumbai,
Angular online training institute in mehsana Gujrat,
Angular online tutor in malad mumbai,
Angular online tutor in kandivali mumbai,
Angular online tutor in bhayandar mumbai,
Angular online tutor in vapi gujrat,
Angular online tutor in surat gujrat,
Angular online tutor in baroda gujrat,
Angular online tutor in vadodara gujrat,
Angular online tutor in indore MP,
Angular online tutor in bhopal MP,
Angular online tutor in nashik maharashtra,
Angular online tutor in pune maharashtra,
Angular online training institute in Bandra Mumbai,
Angular online training institute in mehsana Gujrat,
Menu in Android (Define,Create,Inflate and Click Handler)Nabin Dhakal
In Android, a **menu** provides options for user actions and navigation in an app. Menus can appear as **options menus** (accessed via the app bar), **context menus** (triggered by long-press), or **popup menus** (small floating lists). They are typically defined in XML using `<menu>` and `<item>` tags and inflated using `MenuInflater` in activities or fragments. Developers handle menu item clicks using `onOptionsItemSelected()` or similar methods. Menus help improve usability by grouping actions in a consistent interface. Common use cases include settings, search, and sharing options, offering a clean and accessible way to enhance app functionality.
Menus in Android offer a consistent and user-friendly way to present actions and navigation options within an app. By using options menus for global actions, context menus for specific UI elements, and popup menus for flexible interaction, developers can enhance the overall usability and functionality of their applications. Proper implementation of menus not only organizes actions effectively but also improves the user experience by making key features easily accessible.
Frontier AI Regulation: What form should it take?Petar Radanliev
Frontier AI systems, including large-scale machine learning models and autonomous decision-making technologies, are deployed across critical sectors such as finance, healthcare, and national security. These present new cyber-risks, including adversarial exploitation, data integrity threats, and legal ambiguities in accountability. The absence of a unified regulatory framework has led to inconsistencies in oversight, creating vulnerabilities that can be exploited at scale. By integrating perspectives from cybersecurity, legal studies, and computational risk assessment, this research evaluates regulatory strategies for addressing AI-specific threats, such as model inversion attacks, data poisoning, and adversarial manipulations that undermine system reliability. The methodology involves a comparative analysis of domestic and international AI policies, assessing their effectiveness in managing emerging threats. Additionally, the study explores the role of cryptographic techniques, such as homomorphic encryption and zero-knowledge proofs, in enhancing compliance, protecting sensitive data, and ensuring algorithmic accountability. Findings indicate that current regulatory efforts are fragmented and reactive, lacking the necessary provisions to address the evolving risks associated with frontier AI. The study advocates for a structured regulatory framework that integrates security-first governance models, proactive compliance mechanisms, and coordinated global oversight to mitigate AI-driven threats. The investigation considers that we do not live in a world where most countries seem to be wishing to follow our ideals, for various reasons (competitiveness, geo-political dominations, hybrid warfare, loss of attractiveness of the European model in the Big South, etc.), and in the wake of this particular trend, this research presents a regulatory blueprint that balances technological advancement with decentralised security enforcement (i.e., blockchain).
BoxLang is the new CF-compatible server and CLI tool. It’s extensible easily with modules, which means you can write your own built in functions, tags, and more for your own use or to share with the community on ForgeBox. Let’s find out how.
Unlock the full potential of cloud computing with BoxLang! Discover how BoxLang’s modern, JVM-based language streamlines development, enhances productivity and simplifies scaling in a serverless environment.
Download Link 👇
https://techblogs.cc/dl
LightBurn Crack is a powerful and versatile software for laser engraving and cutting that is designed to work with a wide variety of ...
A tailored CRM that helps insurance agents streamline interactions, enhance engagement, and drive growth through automation and centralized data. Visit https://www.damcogroup.com/insurance/crm-software for more details!
How Girikhire Makes Hiring Fast and Easy.pptxGirikHire
GirikHire, the best AI interview platform streamlines and accelerates the hiring process. All thanks to its dynamic features that include AI-powered resume screening, AI-driven interviewing, predictive analytics for candidate success, etc.
Building AI agents with Java and LangChain4jJulien Dubois
This details how to build an AI agent in Java using LangChain4j :
- What are structured outputs
- Using Function Calling
- Creating an MCP Server
- Consuming an MCP server
Presented at the Seattle Java User Group on May, 23rd 2025
We’re honored to share the official keynote presentation that opened CFCamp 2025, led by Luis Majano, creator of ColdBox, BoxLang, and CEO of Ortus Solutions.
This PDF features the full slide deck from Day 1’s keynote, where Luis presented a powerful vision for the future of modern CFML development, highlighted the evolution of BoxLang, and shared how Ortus is helping shape a dynamic future for developers around the world.
A heartfelt thank you to the CFCamp team for the opportunity to lead the keynote and showcase the innovation, community, and open source spirit driving the next chapter of CFML. 🚀
How a Staff Augmentation Company IN USA Powers Flutter App Breakthroughs.pdfmary rojas
With local teams and talent aligned with U.S. business hours, a staff augmentation company in the USA enables real-time communication, faster decision-making, and better project coordination. This ensures smoother workflows compared to offshore-only models, especially for companies requiring tight collaboration.
Portland Marketo User Group: MOPs & AI - Jeff Canada - May 2025BradBedford3
Jeff Canada is the first MOPs hire at OpenAI, the creator of ChatGPT. He is a team of 1 in a super fast growing company, which is familiar story for many of us. His presentation, originally presented at Mopsapolooza 2024, he gives you an outline of First Steps to Smarter MOPs with the warning label: This is all brand new to everyone; don’t have to jump in head first!
Jeff's story is how he was able to accomplish more via his “AI employees”. Jeff will talk about how he has used OpenAI to help him staff his team with:
AI Researcher
AI Analyst
AI Content Generator
AI Developer
These additional teammates assist with Vendor and Event Selection, Content Generation, Coding Cleanup, and Thinking! His wrap up includes, Guardrails, words of caution, and steps to get you started.
Ensure contractor safety with efficient operations using hot work permit software for secure and compliant work management. Contact us on +353 214536034.
VALiNTRY360’s Salesforce Experience Cloud Consulting services empower organizations to build personalized, engaging digital experiences for customers, partners, and employees. Our certified Salesforce experts help you design, implement, and optimize Experience Cloud portals tailored to your business goals. From self-service communities to partner collaboration hubs, we ensure seamless integration, enhanced user engagement, and scalable solutions. Whether you're improving customer support or streamlining partner communication, VALiNTRY360 delivers strategic consulting to maximize the value of Salesforce Experience Cloud. Trust us to transform your digital experiences into powerful tools that drive loyalty, efficiency, and growth. Partner with VALiNTRY360 to elevate every user interaction.
For more info visit us https://valintry360.com/salesforce-experience-cloud
Insurance broker software enables brokers to streamline and simplify client management. It is a comprehensive solution to boost productivity and consolidate business data. Let’s have a look at the features that every good insurance broking software must possess. Explore more - https://www.damcogroup.com/insurance/brokeredge-broker-management-software
Validationapproach for sap data -.pptxaichannellsh
Linux Improvements in Memory Corruption Based Protections
1. Linux Improvements in Memory
Corruption Based Protections
DORS/CLUC 2025
Vlatko Košturjak <vlatko.kosturjak at marlink.com>
2. Linux
Overflows
Return Oriented Programming
Intel Control-Flow Enforcement Technology (CET)
Indirect Branch Tracking (IBT)
Shadow Stack (SS)
Take away
Summary
Questions and Answers
Agenda
For next 30 minutes
3. Simple Buffer Overflow
3
Back to Basics
https://www.hackingtutorials.org/exploit-tutorials/buffer-overflow-explained-basics/
9. Relevant Linux Security Mechanisms
9
Memory Corruption Protection
NX
• v2.6.8
• 14 aug
2004
ASLR
• v2.6.12
• 17 jun
2005
PAC
• V4.2.1
(ARM)
• 14 dec
2018
BTI/SCS
• v5.8 (ARM)
• 2 aug
2020
CFI
• v5.13
(ARM)
• 27 jun
2021
IBT
• v5.18
(x86)
• 22 aug
2022
• Kernel
ISS
• v6.6 (x86)
• 28 oct
2023
• Userland
10. Intel CET = IBT + SS
10
Intel Control-Flow Enforcement Technology
https://www.phoronix.com/news/Intel-CET-IBT-For-Linux-5.18
11. IBT Requirements
11
From Hardware to Kernel
• Forward-edge CFI
• Hardware
• Tigerlake (11th gen) or higher
• Kernel Version
• 5.18 or higher
• 6.2 or higher (on by default!)
• Kernel Configuration
• X86_KERNEL_IBT
• Current Support
• Kernel only
Lot of ibt=off advices for different drivers (nvidia, etc
):
https://bbs.archlinux.org/viewtopic.php?id=277205
https://github.com/v4l2loopback/v4l2loopback/issu
es/476
…
13. Shadow stack – Software only implementation in clang
13
Invocation via -fsanitize=shadow-call-stack
push %rax
callq bar
add $0x1,%eax
pop %rcx
retq
mov (%rsp),%r10
xor %r11,%r11
addq $0x8,%gs:(%r11)
mov %gs:(%r11),%r11
mov %r10,%gs:(%r11)
push %rax
callq bar
add $0x1,%eax
pop %rcx
xor %r11,%r11
mov %gs:(%r11),%r10
mov %gs:(%r10),%r10
subq $0x8,%gs:(%r11)
cmp %r10,(%rsp)
jne trap
retq
trap:
ud2
int foo() {
return bar() + 1;
}
https://releases.llvm.org/7.0.1/tools/clang/docs/ShadowCallStack.html
DISCARDED
14. Q
u
o
t
e
“ShadowCallStack on x86_64 suffered from the
same racy security issues as Return Flow
Guard and had performance overhead as high
as 13% depending on the benchmark.
x86_64 ShadowCallStack was always an
experimental feature and never shipped a
runtime required to support it, as such there
are no expected downstream users.”
14
https://github.com/llvm-mirror/llvm/commit/863ea8c618b1f88ba8c9ec355a07cb3783481642
15. CPU
Hardware CPU
CPU with support for Shadow
Stack
OS
Operating System
Kernel
Loader/(G)Libc
BIN
Binary
Usually produced by
compiler which can produce
binary with Shadow Stack
support
Requirements
Linux and Intel Shadow Stack
16. # apt install cpuid
$ cpuid -1 -i | grep -E 'CET_[SIBT]{2,3}'
CET_SS: CET shadow stack = false
CET_IBT: CET indirect branch tracking = false
$ cpuid -1 -i | grep -E 'CET_[SIBT]{2,3}'
CET_SS: CET shadow stack = true
CET_IBT: CET indirect branch tracking = true
Hardware - CPU
16
How to check if Intel CET is supported?
17. #include <cpuid.h>
#include <stdint.h>
int cpu_supports_cet_shadow_stack() {
uint32_t eax = 0, ebx = 0, ecx = 0, edx = 0;
__cpuid_count(7, 0, eax, ebx, ecx, edx);
return (ecx & (1 << 7)) != 0;
}
int cpu_supports_cet_ibt() {
uint32_t eax = 0, ebx = 0, ecx = 0, edx = 0;
__cpuid_count(7, 0, eax, ebx, ecx, edx);
return (edx & (1 << 20)) != 0;
}
Hardware - CPU
17
How to check if Intel CET is supported in C(++)?
https://gist.github.com/kohnakagawa/fb77904fcc44fc5652ef6d338c35a718
20. Requirements - OS - Linux kernel
20
Kernel version and options
• Version
• 6.6 or higher
• Current Support
• User space only
• Configuration
• X86_USER_SHADOW_STACK
• Prerequisits
• Binutils v2.29 or
• LLVM v6
• /proc/cpuinfo shows CET features (if processor
supports it)
• "user_shstk” in flags means userspace shadow
stack
21. Requirements - OS - glibc
21
glibc version and compilation flags
• Version
• 2.39 or higher
• Released 31th of January, 2024
• Support
• 64bit only
• Compilation flag
• --enable-cet
• Compilation of libc with CET support
• 32 bit compilation failed on 32bit build in the past, patches flying in
• Configuration options
• Available at run-time
• Using standard GLIBC tunables mechanism
22. Requirements - OS - glibc
22
glibc options – glibc.cpu.x86_shstk
Value Description
Off off always turns off SHSTK regardless of
whether SHSTK is enabled in the executable
and its dependent shared libraries
Permissive permissive changes how dlopen works on
non-CET shared libraries. By default, when
SHSTK is enabled, dlopening a non-CET
shared library returns an error. With
permissive, it turns off SHSTK instead
On on always turns on SHSTK regardless of
whether SHSTK is enabled in the executable
and its dependent shared libraries
https://www.gnu.org/software/libc/manual/html_node/Hardware-Capability-Tunables.
html
23. Requirements - binary
23
How to produce and check compatible binary
• Need to produce ELF binary with SHSTK flag
• x86 feature: SHSTK
• Compiler
• gcc
• clang
• Compilation flags
• --mshstk
• --fcf-protection=full
• Test with
• $ readelf -n <application> | grep -a SHSTK
• properties: x86 feature: SHSTK
24. Testing with vulnerable binary
24
Not yet. Hitting other overflow security control – Which one?
$./vuln
Hello World
dalkjdlksjalkkkkkkkkkkkkkkkkkjkdssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss
sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss
sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss
sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss
sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss
sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss
sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss
sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss
sssss
*** stack smashing detected ***: terminated
Aborted
25. glibc requires to set tunables
25
Feature is not on by default, because it needs more testing
# cat /proc/$PID/status | grep x86_Thread_features
x86_Thread_features:
x86_Thread_features_locked:
Not all CET enabled applications and libraries have been properly tested in CET
enabled environments. Some CET enabled applications or libraries will crash or
misbehave when CET is enabled. Don't set CET active by default so that all
applications and libraries will run normally regardless
of whether CET is active or not. Shadow stack can be enabled by
$ export GLIBC_TUNABLES=glibc.cpu.hwcaps=SHSTK
https://sourceware.org/git/?p=glibc.git;a=commit;h=55d63e731253de82e96ed4ddca2e294076cd0bc5
26. glibc requires to set tunables
26
Feature is not on by default, because it needs more testing
$ export GLIBC_TUNABLES=glibc.cpu.hwcaps=SHSTK
$ ./vuln
# cat /proc/$PID/status | grep x86_Thread_features
x86_Thread_features: shstk
x86_Thread_features_locked: shstk wrss
YEY! Complete security
control of Shadow stack is
working!
28. Testing with vulnerable binary
28
Not yet. Hitting other overflow security control – Which one?
$ ./testss < input.dat
Enter some data:
Segmentation fault
# dmesg
[81297.420577] testss[909181] control protection ip:64372cb8a1dd sp:7fffb71e2678 ssp:7f5dcdbfffe0
error:1(near ret) in testss[64372cb8a000+1000]
YEY! We prevented return
address overwrite using
hardware implementation of
Intel Shadow stack
29. Distribution support
29
Current status in distributions
• Ubuntu 24.04 LTS
• All components in place, not enabled by default
• Need to set glibc tunables
• 64 bit support starting to appear, not default
• 32bit support from 6.10+
• Libraries and components
• All parts should be compiled with shadow stack support
• Virtualization
• Patches still flying in
• CI/CD testing limited
30. Compatibility
30
Compatibility with older system and legacy applications
• Legacy applications not getting security for free
• Work and testing involved
• Recompilation neccessary (worth setting other compilation
security flags!)
• 64 bit support in full stack from 6.6+
• 32bit support in Linux kernel 6.10+
• Libraries and components
• All parts should be compiled with shadow stack support
• Virtualization
• Patches still flying in
• CI/CD testing limited
31. Compatibility with AMD CPU?
31
Does it work on AMD CPU?
„…Thanks, I ran some smoke
tests with the updated glibc
and it's looking good so far.
Additionally, I ran the new
kselftest and it passed…” -John
Allen (AMD)
https://lore.kernel.org/lkml/Yf2m1ETkcRpk3v+u@dell9853host/
33. Any bypass?
33
Any known weaknesses?
• Find component which is not protected
• Components and complexity
• Hardware
• Kernel
• Glibc
• Compiler
• Binary
• Techniques from other OS or architectures
• Implementation details
• For example: „On exec, shadow stack features are disabled by the
kernel. At which point, userspace can choose to re-enable, or lock
them.”
34. Take away
34
What have we learned from different perspective
• System administrator
• If something stops working, where/what to check
• How to implement yet another overflow security control
• Developer
• What new compiler flags you should use
• How you should test your program if it works with ISS controls
• Security Specialist
• How to additionaly harden your system
• How to check if hardening really works
• Security Researcher
• Fundamentals to get you started
35. Current Intel CET support in Linux
35
Summary
Feature Kernel Userland
Indirect Branch
Tracking (IBT)
Implemented ✅ Not implemented
Shadow Stack (SS) Not implemented Implemented ✅
36. Summary
36
TLDR
• Getting shell even if process is vulnerable is getting harder
• Hard to say impossible
• definitively it raises the bar
• Shadow stack and Intel/AMD Linux
• Implementation is now complete
• Only user space protection
• Old applications/systems do not get it for free
• Current limitations
• virtualization non existant
• Not yet (by default) in your favourite distribution
• Recommended
• Fixing at source
37. References
37
Not specified on slides directly
• Control-flow Enforcement Technology Specification, Intel,
May 2019, Revision 3.0
• Control-flow Enforcement Technology (CET) Shadow Stack
• https://www.kernel.org/doc/html/next/x86/shstk.html
• Glibc CET branch (before official glibc release)
• https://gitlab.com/x86-glibc/glibc/-/commits/users/hjl/cet/
master
39. 39
// bunch of includes, skipped for brewity
/* function to act as gadget to simplify */
void win() {
printf("You have successfully called the win function!n");
exit(0);
}
/* vulnerable function */
void vulnerable() {
char buffer[64];
printf("Enter some data:n");
read(STDIN_FILENO, buffer, 256);
}
int main() {
vulnerable();
return 0;
}
40. 40
# Example pwn script to trigger vulnerability
from pwn import *
binary = './testss'
elf = ELF(binary)
vulnerable binary
win_function = elf.symbols['win']
p = process(binary)
# Buffer size is 64 bytes, let's add 8 more to overwrite the saved return pointer
(total 72 bytes)
padding = b"A" * 72
payload = padding + p64(win_function)
print(p.recv())
p.sendline(payload)
p.interactive()