SlideShare a Scribd company logo
1 of 40
2022 Semi-conference about WASM
On December 10, In the ASSEM conference room near GMP airport, South Korea
Namhyeon Go <wasm@catswords.net>
How did you get to know the WebAssembly (WASM)?
An acquaintance introduced it
Social media (Twitter, Facebook, …)
IT Journals (Security news, CIO, …)
Company business
Other
No response
What are your areas of interest where the WebAssembly(WASM) is used?
Cloud-based microservices (AWS, Azure, …)
Web-based 3D (Unity, Unreal Engine, WebGL, …)
Code trust (Cloud security, Document
security, Malware response)
Web based video processing/AI (FFmpeg,
mediapipe, Radiology(Medical), …)
Blockchain (Smart contract, eWASM, …)
No response
Other
Choose a WASM development tool or runtime that you've used or heard of.
No response
Other
What do you think are the difficulties in introducing the WebAssembly(WASM)?
The awareness is low.
The learning curve is too high.
I don't know what it's used for.
No active communities.
No response
Other
The main concept of WebAssembly
https://hacks.mozilla.org/2019/08/webassembly-interface-types/
The main concept of WebAssembly
https://medium.com/codex/extend-backend-application-with-webassembly-ba19c17016d3
Related books if you want to learn WASM in Korea
Recommended books if you want learn WASM in Korean language
Bytecode Alliance (Lucet, Wasmtime, WAMR)
https://hacks.mozilla.org/2019/11/announcing-the-bytecode-alliance/
Wasmer
https://wasmer.io/
WasmEdge
https://wasmedge.org/
Blazor
https://learn.microsoft.com/ko-kr/aspnet/core/blazor/?view=aspnetcore-7.0
Web browsers/JS engines
https://webassembly.org/roadmap/
eWASM (Ethereum WASM)
https://nirolution.com/ethereum-ewasm/
Docker+WASM
https://www.docker.com/blog/docker-wasm-technical-preview/
“Hello World” of WebAsssembly
https://opensource.com/article/21/3/hello-world-webassembly
WASM vs. X86 (Stack machines and assembly)
https://stanford-cs242.github.io/f18/lectures/04-1-webassembly-practice.html
WASM Opcodes
https://coinexsmartchain.medium.com/wasm-introduction-part-2-instruction-set-operand-stack-38e5171b52e6
https://pengowray.github.io/wasm-ops/
Emscripten
https://www.researchgate.net/figure/Operation-principle-diagram-of-Emscripten_fig12_328344849
https://subscription.packtpub.com/book/web-development/9781788997379/1/ch01lvl1sec14/how-does-it-relate-to-emscripten
https://www.youtube.com/watch?t=1012&v=kZrl91SPSpc&feature=youtu.be
DWARF for WASM (Chrome)
https://dwarfstd.org/
https://segmentfault.com/a/1190000040867861
DWARF for WASM (Wasmtime)
https://docs.wasmtime.dev/examples-debugging.html#debugging-webassembly
https://github.com/bytecodealliance/wasmtime/issues/932
WASI-SDK
https://dev.to/anuragvohraec/use-c-c-code-in-deno-using-wasm-in-vscode-using-wasi-sdk-29d5
LLVM to (general) ASM
https://en.wikipedia.org/wiki/LLVM
http://www.aosabook.org/en/llvm.html
https://www.heavy.ai/technical-glossary/llvm
OBJDUMP (or useful tools for developers) for WASM?
“Sure. You can do it.”
https://github.com/WebAssembly/wabt
asm.js
https://acko.net/blog/on-asmjs/
https://blog.mozilla.org/futurereleases/2013/05/02/epic-citadel-demo-shows-the-power-of-the-web-as-a-platform-for-gaming/
https://www.youtube.com/watch?v=BV32Cs_CMqo&feature=emb_title
Remarkable case: Amazon Prime(OTT)
https://www.amazon.science/blog/how-prime-video-updates-its-app-for-more-than-8-000-device-types
Remarkable case: WASM on AWS Lambda
https://www.cncf.io/blog/2021/08/25/webassembly-serverless-functions-in-aws-lambda/
Remarkable case: Confidential computing
https://github.com/enarx/enarx
https://thenewstack.io/confidential-computing-with-webassembly/
Case: Photoshop on the browser
https://www.bram.us/2021/10/27/adobe-photoshop-in-the-browser-thanks-to-emscripten-web-components-and-project-fugu/
Case: AutoCAD on the browser
https://madewithwebassembly.com/showcase/autocad/
Case: Mediapipe on the browser
https://blog.tensorflow.org/2020/03/face-and-hand-tracking-in-browser-with-mediapipe-and-tensorflowjs.html
Case: SuperTux on the browser
https://www.supertux.org/
https://supertux.semphris.com/play/
Case: Visual Novel (in Japan)
http://www.ies-net.com/
Can WASM support techs like JNI?
• Although not completely the same
• You can consider using a WASI socket
• Or expanding a separate module with a dynamic link(*.so, *.dll) in
the runtime itself.
• If you need this, I recommend you to look into WAMR
(WebAsssembly Micro Runtime)
• https://github.com/bytecodealliance/wasm-micro-runtime
JVM LLVM WASM
First appeared May 1995 May 2003 March 2017
Type of code Bytecode Bytecode Bytecode
Size of runtime >130MB
(Oracle JRE 7)
N/A (Because this is a
compiler for native
system)
<19MB
(Wasmtime 3.0.1)
Size of popular
packages
Very big
(e.g. java.*, JWT, Spring,
Android, …)
N/A Small
(e.g. libraries from
C/C++)
Size of the target
application
Big Almost small Small
Allow to system
access by default?
Yes. No additional
security processes
such as file I/O, or
connect network.
Almost yes No. A code is strictly
isolated in runtime. If
you need escape
must use WASI.
Where is it usually
deployed?
Smartphone, TV,
Desktop, …
All targets of source
code
Web browser or
web-based engine
JVM, LLVM, WASM?
So, What is ASMNEXT interested in?
• Office Automation and endpoint security
• In South Korea, a ransomware delivery attack using the macro
function of MS office and Korean Word Processor(HWP) has caused
many victims, drawing attention as a big issue.
• The ASMNEXT is working on ways to reduce this threat using the
code isolation of WASM runtime.
• Binary pattern matching on WASM
• Using a library such as YARA (https://github.com/VirusTotal/yara)
• WASM on PHP backend
• PHP-based applications are often used with traditional word
processors. I am looking for a successful way for both different
applications to share the same logic. For example, Wordpress
Benchmark on shared Linux (e.g. Web hosting)
https://github.com/gnh1201/wp-wamr
Where using WASM in Korea?
• Shopping live, NAVER Corp (The biggest online platform like Google in Korea).
• They are using WASM in a live e-commerce streaming service
Members of Bytecode Alliance
https://bytecodealliance.org/
Thank you
wasm@catswords.net

More Related Content

What's hot

pixiv サイバーエージェント共同勉強会 solr導入記
pixiv サイバーエージェント共同勉強会 solr導入記pixiv サイバーエージェント共同勉強会 solr導入記
pixiv サイバーエージェント共同勉強会 solr導入記
Takahiro Matsumiya
 
송창규, unity build로 빌드타임 반토막내기, NDC2010
송창규, unity build로 빌드타임 반토막내기, NDC2010송창규, unity build로 빌드타임 반토막내기, NDC2010
송창규, unity build로 빌드타임 반토막내기, NDC2010
devCAT Studio, NEXON
 

What's hot (20)

エンジニアが人に言われることあるある(副題「LaravelとReactで開発したい!」)
エンジニアが人に言われることあるある(副題「LaravelとReactで開発したい!」)エンジニアが人に言われることあるある(副題「LaravelとReactで開発したい!」)
エンジニアが人に言われることあるある(副題「LaravelとReactで開発したい!」)
 
Trading With Open Source Tools
Trading With Open Source ToolsTrading With Open Source Tools
Trading With Open Source Tools
 
マイクロサービス時代の動画配信基Ruby×go=∞
マイクロサービス時代の動画配信基Ruby×go=∞マイクロサービス時代の動画配信基Ruby×go=∞
マイクロサービス時代の動画配信基Ruby×go=∞
 
Result Cache 동작원리 및 활용방안_Wh oracle
Result Cache 동작원리 및 활용방안_Wh oracleResult Cache 동작원리 및 활용방안_Wh oracle
Result Cache 동작원리 및 활용방안_Wh oracle
 
ctfで学ぼうリバースエンジニアリング
ctfで学ぼうリバースエンジニアリングctfで学ぼうリバースエンジニアリング
ctfで学ぼうリバースエンジニアリング
 
왕초보를 위한 도커 사용법
왕초보를 위한 도커 사용법왕초보를 위한 도커 사용법
왕초보를 위한 도커 사용법
 
KGC2010 - 낡은 코드에 단위테스트 넣기
KGC2010 - 낡은 코드에 단위테스트 넣기KGC2010 - 낡은 코드에 단위테스트 넣기
KGC2010 - 낡은 코드에 단위테스트 넣기
 
Django interview Questions| Edureka
Django interview  Questions| EdurekaDjango interview  Questions| Edureka
Django interview Questions| Edureka
 
Polyglot payloads in practice by avlidienbrunn at HackPra
Polyglot payloads in practice by avlidienbrunn at HackPraPolyglot payloads in practice by avlidienbrunn at HackPra
Polyglot payloads in practice by avlidienbrunn at HackPra
 
Firefoxの倒し方 by 西村 宗晃 (にしむねあ)
Firefoxの倒し方 by 西村 宗晃 (にしむねあ)Firefoxの倒し方 by 西村 宗晃 (にしむねあ)
Firefoxの倒し方 by 西村 宗晃 (にしむねあ)
 
Rules to Hack By - Offensivecon 2022 keynote
Rules to Hack By - Offensivecon 2022 keynoteRules to Hack By - Offensivecon 2022 keynote
Rules to Hack By - Offensivecon 2022 keynote
 
CQL Under the Hood
CQL Under the HoodCQL Under the Hood
CQL Under the Hood
 
Amazon Aurora 100% 활용하기
Amazon Aurora 100% 활용하기Amazon Aurora 100% 활용하기
Amazon Aurora 100% 활용하기
 
자바에서 null을 안전하게 다루는 방법
자바에서 null을 안전하게 다루는 방법자바에서 null을 안전하게 다루는 방법
자바에서 null을 안전하게 다루는 방법
 
pixiv サイバーエージェント共同勉強会 solr導入記
pixiv サイバーエージェント共同勉強会 solr導入記pixiv サイバーエージェント共同勉強会 solr導入記
pixiv サイバーエージェント共同勉強会 solr導入記
 
AWS 기반 5천만 모바일 앱서비스 확장하기 - 이영진 (강남SE 모임) :: AWS Community Day 2017
AWS 기반 5천만 모바일 앱서비스 확장하기 - 이영진 (강남SE 모임) :: AWS Community Day 2017AWS 기반 5천만 모바일 앱서비스 확장하기 - 이영진 (강남SE 모임) :: AWS Community Day 2017
AWS 기반 5천만 모바일 앱서비스 확장하기 - 이영진 (강남SE 모임) :: AWS Community Day 2017
 
인프런 - 스타트업 인프랩 시작 사례
인프런 - 스타트업 인프랩 시작 사례인프런 - 스타트업 인프랩 시작 사례
인프런 - 스타트업 인프랩 시작 사례
 
송창규, unity build로 빌드타임 반토막내기, NDC2010
송창규, unity build로 빌드타임 반토막내기, NDC2010송창규, unity build로 빌드타임 반토막내기, NDC2010
송창규, unity build로 빌드타임 반토막내기, NDC2010
 
JavaScriptCore.framework の普通な使い方 #cocoa_kansai
JavaScriptCore.framework の普通な使い方 #cocoa_kansaiJavaScriptCore.framework の普通な使い方 #cocoa_kansai
JavaScriptCore.framework の普通な使い方 #cocoa_kansai
 
알고리즘 연합캠프 세미나 1-D (Knapsack, Tree DP)
알고리즘 연합캠프 세미나 1-D (Knapsack, Tree DP)알고리즘 연합캠프 세미나 1-D (Knapsack, Tree DP)
알고리즘 연합캠프 세미나 1-D (Knapsack, Tree DP)
 

Similar to 2022 Semi-conference about WASM (Edited 3)

What is Cloud Computing?
What is Cloud Computing?What is Cloud Computing?
What is Cloud Computing?
Miminten
 
Cyber Security 101 – A Practical Guide for Small Businesses
Cyber Security 101 – A Practical Guide for Small BusinessesCyber Security 101 – A Practical Guide for Small Businesses
Cyber Security 101 – A Practical Guide for Small Businesses
PECB
 

Similar to 2022 Semi-conference about WASM (Edited 3) (20)

Layer 7 Technologies: Web Services Hacking And Hardening
Layer 7 Technologies: Web Services Hacking And HardeningLayer 7 Technologies: Web Services Hacking And Hardening
Layer 7 Technologies: Web Services Hacking And Hardening
 
Detection of webshells in compromised perimeter assets using ML algorithms
Detection of webshells in compromised perimeter assets using ML algorithms Detection of webshells in compromised perimeter assets using ML algorithms
Detection of webshells in compromised perimeter assets using ML algorithms
 
Layer7-WebServices-Hacking-and-Hardening.pdf
Layer7-WebServices-Hacking-and-Hardening.pdfLayer7-WebServices-Hacking-and-Hardening.pdf
Layer7-WebServices-Hacking-and-Hardening.pdf
 
VMware Technical Overview (2012)
VMware Technical Overview (2012)VMware Technical Overview (2012)
VMware Technical Overview (2012)
 
Design a Secure Azure IaaS - Lesson Learnt from Government Cloud
Design a Secure Azure IaaS - Lesson Learnt from Government Cloud Design a Secure Azure IaaS - Lesson Learnt from Government Cloud
Design a Secure Azure IaaS - Lesson Learnt from Government Cloud
 
What is Cloud Computing?
What is Cloud Computing?What is Cloud Computing?
What is Cloud Computing?
 
IASA Atlanta September 2009
IASA Atlanta September 2009IASA Atlanta September 2009
IASA Atlanta September 2009
 
Security architecture - Perform a gap analysis
Security architecture - Perform a gap analysisSecurity architecture - Perform a gap analysis
Security architecture - Perform a gap analysis
 
Why the cloud is more secure than your existing systems
Why the cloud is more secure than your existing systemsWhy the cloud is more secure than your existing systems
Why the cloud is more secure than your existing systems
 
Cloud Computing & Cloud Storage
Cloud Computing & Cloud Storage Cloud Computing & Cloud Storage
Cloud Computing & Cloud Storage
 
Cyber Security 101 – A Practical Guide for Small Businesses
Cyber Security 101 – A Practical Guide for Small BusinessesCyber Security 101 – A Practical Guide for Small Businesses
Cyber Security 101 – A Practical Guide for Small Businesses
 
Don't Drop the SOAP: Real World Web Service Testing for Web Hackers
Don't Drop the SOAP: Real World Web Service Testing for Web Hackers Don't Drop the SOAP: Real World Web Service Testing for Web Hackers
Don't Drop the SOAP: Real World Web Service Testing for Web Hackers
 
Break IT Down by Josh Smith
Break IT Down by Josh SmithBreak IT Down by Josh Smith
Break IT Down by Josh Smith
 
Building a starter kit cedg20181010
Building a starter kit cedg20181010Building a starter kit cedg20181010
Building a starter kit cedg20181010
 
Emerging Threats to Infrastructure
Emerging Threats to InfrastructureEmerging Threats to Infrastructure
Emerging Threats to Infrastructure
 
What’s new in Microsoft ALM 2013, hosted in Windows Azure, VISUAL STUDIO ONLI...
What’s new in Microsoft ALM 2013, hosted in Windows Azure, VISUAL STUDIO ONLI...What’s new in Microsoft ALM 2013, hosted in Windows Azure, VISUAL STUDIO ONLI...
What’s new in Microsoft ALM 2013, hosted in Windows Azure, VISUAL STUDIO ONLI...
 
Sqldata 21 dezembro
Sqldata 21 dezembroSqldata 21 dezembro
Sqldata 21 dezembro
 
2009: Securing Applications With Web Application Firewalls and Vulnerability ...
2009: Securing Applications With Web Application Firewalls and Vulnerability ...2009: Securing Applications With Web Application Firewalls and Vulnerability ...
2009: Securing Applications With Web Application Firewalls and Vulnerability ...
 
10 Best DevSecOps Tools for 2023
10 Best DevSecOps Tools for 202310 Best DevSecOps Tools for 2023
10 Best DevSecOps Tools for 2023
 
Bsides Tampa Blue Team’s tool dump.
Bsides Tampa Blue Team’s tool dump.Bsides Tampa Blue Team’s tool dump.
Bsides Tampa Blue Team’s tool dump.
 

Recently uploaded

CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

Recently uploaded (20)

Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 

2022 Semi-conference about WASM (Edited 3)