Mruby Is a Lightweight Implementation of the Ruby Language
Total Page:16
File Type:pdf, Size:1020Kb
Load more
Recommended publications
-
Tomasz Dąbrowski / Rockhard GIC 2016 Poznań WHAT DO WE WANT? WHAT DO WE WANT?
WHY (M)RUBY SHOULD BE YOUR NEXT SCRIPTING LANGUAGE? Tomasz Dąbrowski / Rockhard GIC 2016 Poznań WHAT DO WE WANT? WHAT DO WE WANT? • fast iteration times • easy modelling of complex gameplay logic & UI • not reinventing the wheel • mature tools • easy to integrate WHAT DO WE HAVE? MY PREVIOUS SETUP • Lua • not very popular outside gamedev (used to be general scripting language, but now most applications seem to use python instead) • even after many years I haven’t gotten used to its weird syntax (counting from one, global variables by default, etc) • no common standard - everybody uses Lua differently • standard library doesn’t include many common functions (ie. string.split) WHAT DO WE HAVE? • as of 2016, Lua is still a gold standard of general game scripting languages • C# (though not scripting) is probably even more popular because of the Unity • Unreal uses proprietary methods of scripting (UScript, Blueprints) • Squirrel is also quite popular (though nowhere near Lua) • AngelScript, Javascript (V8), Python… are possible yet very unpopular choices • and you can always just use C++ MY CRITERIA POPULARITY • popularity is not everything • but using a popular language has many advantages • most problems you will encounter have already been solved (many times) • more production-grade tools • more documentation, tutorials, books, etc • most problems you will encounter have already been solved (many times) • this literally means, that you will be able to have first prototype of anything in seconds by just copying and pasting code • (you can -
Towards Principled Bug Bounties and Exploit-Resistant Smart Contracts
Enter the Hydra: Towards Principled Bug Bounties and Exploit-Resistant Smart Contracts Lorenz Breidenbach, Cornell Tech, IC3, ETH Zurich; Philip Daian, Cornell Tech, IC3; Florian Tramer, Stanford; Ari Juels, Cornell Tech, IC3, Jacobs Institute https://www.usenix.org/conference/usenixsecurity18/presentation/breindenbach This paper is included in the Proceedings of the 27th USENIX Security Symposium. August 15–17, 2018 • Baltimore, MD, USA 978-1-939133-04-5 Open access to the Proceedings of the 27th USENIX Security Symposium is sponsored by USENIX. Enter the Hydra: Towards Principled Bug Bounties and Exploit-Resistant Smart Contracts∗ Lorenz Breidenbach Philip Daian Florian Tramer` Ari Juels [email protected] [email protected] [email protected] [email protected] Cornell Tech, IC3,† Cornell Tech, IC3† Stanford Cornell Tech, IC3,† ETH Zurich¨ Jacobs Institute Abstract ble security problem. Vulnerability reward programs— bug bounties Bug bounties are a popular tool to help prevent soft- a.k.a. —have become instrumental in orga- ware exploits. Yet, they lack rigorous principles for set- nizations’ security assurance strategies. These programs ting bounty amounts and require high payments to attract offer rewards as incentives for hackers to disclose soft- economically rational hackers. Rather than claim boun- ware bugs. Unfortunately, hackers often prefer to exploit ties for serious bugs, hackers often sell or exploit them. critical vulnerabilities or sell them in gray markets. We present the Hydra Framework, the first general, The chief reason for this choice is that the bugs eli- principled approach to modeling and administering bug gible for large bounties are generally weaponizable vul- bounties that incentivize bug disclosure. -
Exploring Coordinated Disclosure SHEDDING LIGHT on PERCEPTIONS and EXPERIENCES in HOW SOFTWARE VULNERABILITIES ARE REPORTED
Exploring Coordinated Disclosure SHEDDING LIGHT ON PERCEPTIONS AND EXPERIENCES IN HOW SOFTWARE VULNERABILITIES ARE REPORTED COMMISSIONED BY SEPTEMBER 2019 ©COPYRIGHT 2019 451 RESEARCH. ALL RIGHTS RESERVED. About this paper A Black & White paper is a study based on primary research survey data that assesses the market dynamics of a key enterprise technology segment through the lens of the “on the ground” experience and opinions of real practitioners — what they are doing, and why they are doing it. ABOUT THE AUTHOR DAN KENNEDY RESEARCH DIRECTOR, VOICE OF THE ENTERPRISE: INFORMATION SECURITY Daniel Kennedy is the Research Director for Information Security for 451 Research’s Voice of the Enterprise (VoTE) quantitative research product, where he is responsible for managing all phases of the research process. He is an experienced information security professional who has written for both Forbes online and Ziff Davis, has provided commentary to numerous news outlets including The New York Times and The Wall Street Journal, and his personal blog Praetorian Prefect was recognized as one of the top five technical blogs in information security by the RSA 2010 Conference. COMMISSIONED BY VERACODE 2 Table of Contents Executive Summary 4 Key Findings 4 Methodology 5 Brief History of Vulnerability Disclosure 5 Today’s Perceptions of Disclosure 8 Figure 1: Vulnerability disclosure preferences � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 8 Vulnerability Disclosure as a Public Good 8 Solicited Versus Unsolicited Testing 9 Disclosure -
Penetration Testing of Web Applications in a Bug Bounty Program
Penetration Testing of Web Applications in a Bug Bounty Program Pascal Schulz Faculty of Health, Science and Technology Computer Science 15hp Leonardo Martucci Donald F. Ross 140604 Penetration Testing of Web Applications in a Bug Bounty Program PASCAL SCHULZ Department of Mathematics and Computer Science Abstract Web applications provide the basis for the use of the "World-Wide-Web", as people know it nowadays. These software solutions are programmed by a numerous amount of devel- opers all over the world. For all this software, it is not possible to guarantee a 100 percent security. Therefore, it is desirable that every application should be evaluated using penetra- tion tests. A new form of security testing platforms is provided by bug bounty programs, which encourage the community to help searching for security breaches. This work intro- duces the currently leading portal for bug bounties, called Bugcrowd Inc. In addition, web applications, which were part of the program, were tested in order to evaluate their security level. A comparison is made with statistics provided by leading penetration testing compa- nies, showing the average web application security level. The submission process, to send information about vulnerabilities, has been evaluated. The average time it takes, to receive an answer regarding a submission has been reviewed. In the end, the findings are retested, to evaluate, if the bug bounty program is a useful opportunity to increase security and if website operators take submissions serious by patching the software flaws. Keywords: Penetration Testing, Bug-Bounty Program, Web Application Analysis. iii This thesis is submitted in partial fulfillment of the requirements for the Bachelor’s degree in Computer Science. -
Feather-Weight Cloud OS Developed Within 14 Man-Days Who Am I ?
Mocloudos Feather-weight Cloud OS developed within 14 man-days Who am I ? • Embedded Software Engineer • OSS developer • Working at Monami-ya LLC. • Founder/CEO/CTO/CFO/and some more. Some My Works • Realtime OS • TOPPERS/FI4 (dev lead) • TOPPERS/HRP (dev member) • OSS (C) JAXA (C) TOPPERS Project • GDB (committer / write after approval) • mruby (listed in AUTHOR file) • Android-x86 (develop member) Wish • Feather-weight cloud OS. • Runs on virtualization framework. • Works with VM based Light-weight Language like Ruby. Wish • Construct my Cloud OS within 14 man-days My First Choice • mruby - http://www.mruby.org/ • Xen + Stubdom - http://www.xen.org/ What’s mruby • New Ruby runtime. http://github.com/mruby/mruby/ • Created by Matz. GitHub based CI development. • Embedded systems oriented. • Small memory footprint. • High portability. (Device independent. ISO C99 style.) • Multiple VM state support (like Lua). • mrbgem - component model. mrbgem • Simple component system for mruby. • Adds/modifies your feature to mruby core. • By writing C lang source or Ruby script. • Linked statically to core runtime. • Easy to validate whole runtime statically. Stubdom • “Stub” for Xen instances in DomU. • IPv4 network support (with LWIP stack) • Block devices support. • Newlib based POSIX emulation (partly) • Device-File abstraction like VFS. Stubdom • This is just a stub. • The implementation is half baked. • More system calls returns just -1 (error) • No filesystems My Additional Choice • FatFs : Free-beer FAT Filesystem • http://elm-chan.org/fsw/ff/00index_e.html • Very permissive license. • So many example uses including commercial products. My Hacks • Writing several glue code as mrbgems. • Xen’s block device - FatFs - Stubdom • Hacking mrbgems to fit poor Stubdom API set. -
Byos Bug Bounty Program: Las Vegas 2019
Byos Bug Bounty Program: Las Vegas 2019 White Paper Document version: 1.0 August 21st, 2019 Byos Bug Bounty Program - Las Vegas 2019 White Paper - © 2019 Mkit North America Inc. All rights reserved - byos.io Page 1 of 14 1.0 - Introduction 3 2.0 - Findings 5 2.1 - Critical Vulnerabilities 5 2.1.1 - Timing ARP Spoof attack 5 2.2 - High Vulnerabilities 6 2.2.1 - SQL Injection 6 2.2.2 - Authentication bypass (JWT) 7 2.2.3 - Authentication Bypass (Remember Me) 8 2.3 - Medium Vulnerabilities 9 2.3.1 - Persistent XSS 9 2.4 - Low Vulnerabilities 10 2.4.1 - Unicode in SSID 10 2.4.2 - CSRF 11 2.4.3 - Outdated libraries 12 3.0 - Conclusion 12 4.0 - Footnotes 14 Byos Bug Bounty Program - Las Vegas 2019 White Paper - © 2019 Mkit North America Inc. All rights reserved - byos.io Page 2 of 14 1.0 - Introduction 1.1 - Summary Over the course of 3 days, more than 20 security researchers from North America, South America, and Europe participated in our company’s first bug bounty event. The event was by invitation only. 1.2 - Objective The overall objective of the bug bounty program is to validate the security claims of the Byos Portable Secure Gateway and to discover any existing vulnerabilities in the product and its features. Additional benefits include: ● Practising the company’s internal vulnerability handling process ● Increasing our security team’s awareness of how attackers approach the security mechanisms of the product ● Learning and validating security development best practices by having active feedback from researchers ● Gathering external expert opinions on the product’s feature-set, benefits and use-cases 1.3 - Time and Location The Bug Bounty took place during August 8-9-10, 2019, in Las Vegas, NV (USA). -
C. Elegans and CRISPR/Cas Gene Editing to Study BAP1 Cancer-Related Mutations and Cisplatin Chemoresistance
C. elegans and CRISPR/Cas gene editing to study BAP1 cancer-related mutations and cisplatin chemoresistance Carmen Martínez Fernández TESI DOCTORAL UPF / 2020 Thesis supervisor Dr. Julián Cerón Madrigal Modeling Human Diseases in C. elegans Group. Gene, Disease, and Therapy Program. IDIBELL. Department of Experimental and Health Sciences Para aquellos que aún perviven en el amor, la alegría y la perseverancia. Acknowledgments En primer lugar, quiero agradecer a mis padres, María del Mar y Fran, por darme vuestro amor y apoyo incondicional en todas las decisiones que he tomado en estos 27 años. Y a mi hermana, Helena, por tener el corazón más grande del planeta, a juego con sus labios y su frente, y tenerme siempre en él. No os lo digo, pero os quiero mucho. A mi familia, porque sois la mejor que me ha podido tocar: a mi abuelo Paco, a mi abuela Carmen y mi a abuela Maru. A vosotros, Caki y Padrino, titos y titas. A mis primos, primitas y primito =) Os quiero mucho a todos! Mención especial a Julián, ¡lo hemos conseguido!. Gracias por el apoyo. Gracias por la motivación que desprendes, aunque a veces sea difícil de encontrar. Gracias también por echarme del país y por dejarme empezar a aprender contigo. No ha sido fácil, pero sin duda, volvería a repetir. A Curro, Karinna, Xènia y Montse, porque fuisteis mis primeros labmates. Esos nunca se olvidan. A la segunda ronda, David, Dimitri, LLuís y Jeremy. ¡Lo que une Cerón lab, no lo separará nae! En especial, quería agradecer a XS, Mex y Dim. -
Anton Davydov ·
Anton Davydov Software Architect phone: +7(968) 663-81-28 email: [email protected] github: github.com/davydovanton site: davydovanton.com About Helping business solve problems, grow technical culture and developers understand business. Active OpenSource activist and contributor. Hanami and dry-rb core developer. I’m trying to be on the cutting edge of technology. Besides I have communication skills and meet deadlines. I’m interested in distributed systems, data evolution, communication between different services, architecture problems and functional programming. Profession experience JUNE 2020 - CURRENT TIME, CONSULTING, SOLUTION ARCHITECT Worked as an independent solution architect with different clients. I helped with getting business requirements and logic, detecting the importance of each business feature. Also, I designed a technical solution based on business requirements, current implementation, and available technical and non-technical resources. I helped with migration from monolith to SOA and helped with understanding and researching around necessary infrastructure for SOA. I worked on several major tasks at this time: - Got necessary requirements, designed and helped with implementation for a new version of billing for internal employees; - Got necessary requirements and designed solution for item synchronization in orders; - Designed a new implementation for roles in the company based on ABAC paradigm; Domains: Ecommerce, advertising, billing and accounting, integration with different systems, SOA. Database: postgresql, redis, big query, kafka, rabbitmq, elastic search, prometheus. Languages: ruby, javascript, node.js, go, elixir, java. JULY 2019 - MARCH 2020, TOPTAL, BACKEND ARCHITECT I developed, researched, documented and managed migration to service-oriented architecture while I was working in toptal. I researched technologies and practices which toptal are using for migrating to the service and build new architecture. -
Debugging at Full Speed
Debugging at Full Speed Chris Seaton Michael L. Van De Vanter Michael Haupt Oracle Labs Oracle Labs Oracle Labs University of Manchester michael.van.de.vanter [email protected] [email protected] @oracle.com ABSTRACT Ruby; D.3.4 [Programming Languages]: Processors| Debugging support for highly optimized execution environ- run-time environments, interpreters ments is notoriously difficult to implement. The Truffle/- Graal platform for implementing dynamic languages offers General Terms an opportunity to resolve the apparent trade-off between Design, Performance, Languages debugging and high performance. Truffle/Graal-implemented languages are expressed as ab- Keywords stract syntax tree (AST) interpreters. They enjoy competi- tive performance through platform support for type special- Truffle, deoptimization, virtual machines ization, partial evaluation, and dynamic optimization/deop- timization. A prototype debugger for Ruby, implemented 1. INTRODUCTION on this platform, demonstrates that basic debugging services Although debugging and code optimization are both es- can be implemented with modest effort and without signifi- sential to software development, their underlying technolo- cant impact on program performance. Prototyped function- gies typically conflict. Deploying them together usually de- ality includes breakpoints, both simple and conditional, at mands compromise in one or more of the following areas: lines and at local variable assignments. The debugger interacts with running programs by insert- • Performance: Static compilers -
Software Bug Bounties and Legal Risks to Security Researchers Robin Hamper
Software bug bounties and legal risks to security researchers Robin Hamper (Student #: 3191917) A thesis in fulfilment of the requirements for the degree of Masters of Law by Research Page 2 of 178 Rob Hamper. Faculty of Law. Masters by Research Thesis. COPYRIGHT STATEMENT ‘I hereby grant the University of New South Wales or its agents a non-exclusive licence to archive and to make available (including to members of the public) my thesis or dissertation in whole or part in the University libraries in all forms of media, now or here after known. I acknowledge that I retain all intellectual property rights which subsist in my thesis or dissertation, such as copyright and patent rights, subject to applicable law. I also retain the right to use all or part of my thesis or dissertation in future works (such as articles or books).’ ‘For any substantial portions of copyright material used in this thesis, written permission for use has been obtained, or the copyright material is removed from the final public version of the thesis.’ Signed ……………………………………………........................... Date …………………………………………….............................. AUTHENTICITY STATEMENT ‘I certify that the Library deposit digital copy is a direct equivalent of the final officially approved version of my thesis.’ Signed ……………………………………………........................... Date …………………………………………….............................. Thesis/Dissertation Sheet Surname/Family Name : Hamper Given Name/s : Robin Abbreviation for degree as give in the University calendar : Masters of Laws by Research Faculty : Law School : Thesis Title : Software bug bounties and the legal risks to security researchers Abstract 350 words maximum: (PLEASE TYPE) This thesis examines some of the contractual legal risks to which security researchers are exposed in disclosing software vulnerabilities, under coordinated disclosure programs (“bug bounty programs”), to vendors and other bug bounty program operators. -
Specialising Dynamic Techniques for Implementing the Ruby Programming Language
SPECIALISING DYNAMIC TECHNIQUES FOR IMPLEMENTING THE RUBY PROGRAMMING LANGUAGE A thesis submitted to the University of Manchester for the degree of Doctor of Philosophy in the Faculty of Engineering and Physical Sciences 2015 By Chris Seaton School of Computer Science This published copy of the thesis contains a couple of minor typographical corrections from the version deposited in the University of Manchester Library. [email protected] chrisseaton.com/phd 2 Contents List of Listings7 List of Tables9 List of Figures 11 Abstract 15 Declaration 17 Copyright 19 Acknowledgements 21 1 Introduction 23 1.1 Dynamic Programming Languages.................. 23 1.2 Idiomatic Ruby............................ 25 1.3 Research Questions.......................... 27 1.4 Implementation Work......................... 27 1.5 Contributions............................. 28 1.6 Publications.............................. 29 1.7 Thesis Structure............................ 31 2 Characteristics of Dynamic Languages 35 2.1 Ruby.................................. 35 2.2 Ruby on Rails............................. 36 2.3 Case Study: Idiomatic Ruby..................... 37 2.4 Summary............................... 49 3 3 Implementation of Dynamic Languages 51 3.1 Foundational Techniques....................... 51 3.2 Applied Techniques.......................... 59 3.3 Implementations of Ruby....................... 65 3.4 Parallelism and Concurrency..................... 72 3.5 Summary............................... 73 4 Evaluation Methodology 75 4.1 Evaluation Philosophy -
Mruby-Machine--An-Operating-System-For-Microcontroller.Pdf
mruby machine An Operating System for Microcontroller HASUMI Hitoshi @hasumikin September 4-5, 2020 Me HASUMI Hitoshi(羽角 均) @hasumikin(ハスミキン) From Ruby City Matsue, a holy place of (熱燗) Developer on Rails (レールに乗った開発者) Coffee Curry Soba (NoEmojiError) Chapter 1 Background Motivation MicroPython Generally, we keep minimal confguration of MicroPython under 80K of ARM Thumb2 code (which includes compiler and interactive prompt, ...). That means a Cortex-M microcontroller with 128KB of flash can host a minimal version together with some hardware drivers. [cited from `https://github.com/micropython/micropython/wiki/FAQ'] Motivation MicroPython Regarding RAM usage, (...) 8KB is minimal amount to run simple scripts. As Python is interpreted high-level language, the more memory you have, the more capable applications you can run. The reference MicroPython board, PyBoard, has 128KB of RAM. [cited from `https://github.com/micropython/micropython/wiki/FAQ'] Motivation mruby and mruby/c Flashing mruby application into 128KB ROM and running it on 128KB RAM are diffcult mruby/c runs on 64KB RAM but it doesn't have mruby compiler You have to compile Ruby script into VM code before embedding Motivation MicroPython: "Overwhelming, we are!" 「圧倒的じゃないか、我が軍は」 Motivation Would it be great if we have a smaller mruby compiler? Target Microcontroller PSoC5LP: Reference board of mruby/c Arm Cortex-M3 32bit processor 64KB RAM 256KB ROM It will be comparable to MicroPython if Ruby runs on PSoC5LP with compiler Demo Chapter 2 Terms and Tools Terms mruby A Ruby implementation