Shim (Computing) 1 Shim (Computing)

Total Page:16

File Type:pdf, Size:1020Kb

Shim (Computing) 1 Shim (Computing) Shim (computing) 1 Shim (computing) In computer programming, a shim (from shim) or shiv is a small library that transparently intercepts an API and changes the parameters passed, handles the operation itself, or redirects the operation elsewhere. Shims typically come about when the behavior of an API changes, thereby causing compatibility issues for older applications which still rely on the older functionality. In such cases, the older API can still be supported by a thin compatibility layer on top of the newer code. Web polyfills are a related concept. Shims can also be used for running programs on different software platforms than they were developed for. Examples One example was the support of AppleTalk on Macintosh computers during the brief period in which Apple Computer supported the Open Transport networking system. Thousands of Mac programs were based on the AppleTalk protocol; in order to support these programs, AppleTalk was re-implemented as an OpenTransport "stack", and then re-implemented as an API shim on top of this new library. The Microsoft Windows Application Compatibility Toolkit (ACT) uses the term to mean backward compatible libraries. Shims simulate the behavior of older versions of Windows for legacy applications that rely on incorrect or deprecated functionality, or correct the way in which poorly-written applications call unchanged APIs, for example to fix LUA bugs.[1] Wine is a shim that allows running many Microsoft Windows applications on Linux, BSD, Solaris, and Mac OS X based operating systems. References Article Sources and Contributors 2 Article Sources and Contributors Shim (computing) Source: http://en.wikipedia.org/w/index.php?oldid=543735769 Contributors: Behnam, Bomazi, Cherkash, Choster, Danhash, Delirium, Fiftyquid, Frap, Ike, Jimhoward72, John Nevard, LittleBenW, Marudubshinki, Maury Markowitz, RedWolf, Rogerborg, Sdfisher, Socrates2008, Syp, The Anome, Thumperward, Tzadikv, Wilddrizzle, 11 anonymous edits License Creative Commons Attribution-Share Alike 3.0 Unported //creativecommons.org/licenses/by-sa/3.0/.
Recommended publications
  • Rootkit- Rootkits.For.Dummies 2007.Pdf
    01_917106 ffirs.qxp 12/21/06 12:04 AM Page i Rootkits FOR DUMmIES‰ 01_917106 ffirs.qxp 12/21/06 12:04 AM Page ii 01_917106 ffirs.qxp 12/21/06 12:04 AM Page iii Rootkits FOR DUMmIES‰ by Larry Stevenson and Nancy Altholz 01_917106 ffirs.qxp 12/21/06 12:04 AM Page iv Rootkits For Dummies® Published by Wiley Publishing, Inc. 111 River Street Hoboken, NJ 07030-5774 www.wiley.com Copyright © 2007 by Wiley Publishing, Inc., Indianapolis, Indiana Published by Wiley Publishing, Inc., Indianapolis, Indiana Published simultaneously in Canada No part of this publication may be reproduced, stored in a retrieval system or transmitted in any form or by any means, electronic, mechanical, photocopying, recording, scanning or otherwise, except as permit- ted under Sections 107 or 108 of the 1976 United States Copyright Act, without either the prior written permission of the Publisher, or authorization through payment of the appropriate per-copy fee to the Copyright Clearance Center, 222 Rosewood Drive, Danvers, MA 01923, (978) 750-8400, fax (978) 646-8600. Requests to the Publisher for permission should be addressed to the Legal Department, Wiley Publishing, Inc., 10475 Crosspoint Blvd., Indianapolis, IN 46256, (317) 572-3447, fax (317) 572-4355, or online at http://www.wiley.com/go/permissions. Trademarks: Wiley, the Wiley Publishing logo, For Dummies, the Dummies Man logo, A Reference for the Rest of Us!, The Dummies Way, Dummies Daily, The Fun and Easy Way, Dummies.com, and related trade dress are trademarks or registered trademarks of John Wiley & Sons, Inc. and/or its affiliates in the United States and other countries, and may not be used without written permission.
    [Show full text]
  • Red Hat Enterprise Linux 7 7.9 Release Notes
    Red Hat Enterprise Linux 7 7.9 Release Notes Release Notes for Red Hat Enterprise Linux 7.9 Last Updated: 2021-08-17 Red Hat Enterprise Linux 7 7.9 Release Notes Release Notes for Red Hat Enterprise Linux 7.9 Legal Notice Copyright © 2021 Red Hat, Inc. The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/ . In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version. Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law. Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries. Linux ® is the registered trademark of Linus Torvalds in the United States and other countries. Java ® is a registered trademark of Oracle and/or its affiliates. XFS ® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries. MySQL ® is a registered trademark of MySQL AB in the United States, the European Union and other countries. Node.js ® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
    [Show full text]
  • The Real Shim Shady
    The Real Shim Shady William Ballenthin, FireEye Jonathan Tomczak, Mandiant Copyright © 2015, FireEye,Copyright Inc. All © rights 2015, reserved. FireEye, Inc. All rights reserved. 1 Bio, plan . William Ballenthin, Reverse Engineer - FLARE (FireEye Labs Advanced Reverse Engineering) team - Malware analysis, forward and backward engineering . Jonathan Tomczak, Consultant - Mandiant Professional Services - Incident response, forensics, tool development . Todays Topic: Case Study and Investigative Techniques for Hijacked Application Compatibility Infrastructure. Copyright © 2015, FireEye, Inc. All rights reserved. 2 Put out the Fire! . Working the malware triage queue, encountered interesting situation: - Client targeted by phishing emails - Large deployment FireEye boxes didn’t fire - Malware maintained persistence, somehow . What’s going on? How to fix detection & investigative methodology? Copyright © 2015, FireEye, Inc. All rights reserved. 3 DLL Injection via Shims . Malware: self-extracting RAR drops KORPLUG launcher (elogger.dll) loading shellcode backdoor (elogger.dat) . elogger.dat does a little of everything: manually loads PE payload, injects, privesc, installs service, HTTP protocol . Also, installs an ACI shim: - Writes two (32/64-bit) hardcoded, embedded SDB files to disk - Invokes sdbinst.exe Copyright © 2015, FireEye, Inc. All rights reserved. 4 WHAT’S THE ACI? What are shims and why are they on my system? Copyright © 2014, FireEye,Copyright Inc. All © rights 2015, reserved FireEye,. CONFIDENTIAL Inc. All rights reserved . 5 Application Compatibility Infrastructure . Manages and resolves application compatibility issues with updates to Microsoft Windows . Configured via freely available Application Compatibility Toolkit (ACT) . API hooking (& more) built into the executable Loader - “Shims” typically implemented as code (DLLs) or configuration (disable feature) - Shims described by databases (SDB files) indicating source and target - SDBs registered with the OS, queried by loader Copyright © 2015, FireEye, Inc.
    [Show full text]
  • Towards High Assurance HTML5 Applications
    Towards High Assurance HTML5 Applications Devdatta Akhawe Electrical Engineering and Computer Sciences University of California at Berkeley Technical Report No. UCB/EECS-2014-56 http://www.eecs.berkeley.edu/Pubs/TechRpts/2014/EECS-2014-56.html May 7, 2014 Copyright © 2014, by the author(s). All rights reserved. Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission. Towards High Assurance HTML5 Applications by Devdatta Madhav Akhawe A dissertation submitted in partial satisfaction of the requirements for the degree of Doctor of Philosophy in Computer Science in the Graduate Division of the University of California, Berkeley Committee in charge: Professor Dawn Song, Chair Professor David Wagner Professor Brian Carver Spring 2014 Towards High Assurance HTML5 Applications Copyright 2014 by Devdatta Madhav Akhawe 1 Abstract Towards High Assurance HTML5 Applications by Devdatta Madhav Akhawe Doctor of Philosophy in Computer Science University of California, Berkeley Professor Dawn Song, Chair Rich client-side applications written in HTML5 proliferate diverse platforms such as mobile devices, commodity PCs, and the web platform. These client-side HTML5 applications are increasingly accessing sensitive data, including users' personal and social data, sensor data, and capability-bearing tokens. Instead of the classic client/server model of web applications, modern HTML5 applications are complex client-side applications that may call some web services, and run with ambient privileges to access sensitive data or sensors.
    [Show full text]
  • Methods for Detecting Kernel Rootkits
    University of Louisville ThinkIR: The University of Louisville's Institutional Repository Electronic Theses and Dissertations 12-2007 Methods for detecting kernel rootkits. Douglas Ray Wampler University of Louisville Follow this and additional works at: https://ir.library.louisville.edu/etd Recommended Citation Wampler, Douglas Ray, "Methods for detecting kernel rootkits." (2007). Electronic Theses and Dissertations. Paper 1507. https://doi.org/10.18297/etd/1507 This Doctoral Dissertation is brought to you for free and open access by ThinkIR: The University of Louisville's Institutional Repository. It has been accepted for inclusion in Electronic Theses and Dissertations by an authorized administrator of ThinkIR: The University of Louisville's Institutional Repository. This title appears here courtesy of the author, who has retained all other copyrights. For more information, please contact [email protected]. METHODS FOR DETECTING KERNEL ROOTKITS By Douglas Ray Wampler B.S., Indiana State University, 1994 M.S. Ball State University, 2003 A Dissertation Submited to the Faculty of the Graduate School of the University of Louisville In Partial Fulfillment of the Requirements For the Degree of Doctor of Philsophy Department of Computer Engineering and Computer Science University of Louisville Louisville, Kentucky December 2007 Copyright 2007 by Douglas Ray Wampler All rights reserved METHODS FOR DETECTING KERNEL ROOTKTIS By Douglas Ray Wampler B.S. Indiana State University, 1994 M.S., Ball State University, 2003 A Dissertation Approved on November 12, 2007 By the following Dissertation Committee: ________________________________________ James H. Graham, Dissertation Director ________________________________________ DarJen Chang ________________________________________ Gail W. Depuy ________________________________________ Adel S. Elmaghraby ________________________________________ Mehmed M. Kantardzic ii DEDICATION This dissertation is dedicated to my parents, Mr.
    [Show full text]
  • Evaluating the Security and Privacy Contributions of Link Shimming in the Modern Web
    Shim Shimmeny: Evaluating the Security and Privacy Contributions of Link Shimming in the Modern Web Frank Li Georgia Institute of Technology / Facebook∗ Abstract for websites supporting HTTPS. Finally, the destination may be malicious, such as for malware, phishing, and spam sites. Link shimming (also known as URL wrapping) is a tech- Link shimming, also called URL wrapping, is a technique nique widely used by websites, where URLs on a site are that websites can use to protect users from these link nav- rewritten to direct link navigations to an intermediary end- igation threats, as well as for analytics purposes. With link point before redirecting to the original destination. This “shim- shimming, a website rewrites the URLs displayed on its pages ming” of URL clicks can serve navigation security, privacy, to direct link navigations first to an intermediate endpoint. and analytics purposes, and has been deployed by prominent This navigation “shimming” allows the intermediate endpoint websites (e.g., Facebook, Twitter, Microsoft, Google) for over to deploy click-time security and privacy protections (and a decade. Yet, we lack a deep understanding of its purported analytics), before navigating to the original destination. security and privacy contributions, particularly in today’s web ecosystem, where modern browsers provide potential alterna- For over a decade, popular online services have been de- tive mechanisms for protecting link navigations without link ploying link shimming, including social networks (e.g., Face- shimming’s costs. book [7], Twitter [42]), email and messaging platforms (e.g., In this paper, we provide a large-scale empirical evaluation Gmail and Google Hangouts [5], Microsoft Outlook [20,21]), of link shimming’s security and privacy contributions, using search engines (e.g., Google [5], Yahoo [15,32]), and security Facebook’s real-world deployment as a case study.
    [Show full text]
  • Programming Javascript Applications
    Programming JavaScript Applications Eric Elliott Programming JavaScript Applications by Eric Elliott Copyright © 2014 Eric Elliott. All rights reserved. Printed in the United States of America. Published by O’Reilly Media, Inc., 1005 Gravenstein Highway North, Sebastopol, CA 95472. O’Reilly books may be purchased for educational, business, or sales promotional use. Online editions are also available for most titles (http://my.safaribooksonline.com). For more information, contact our corporate/ institutional sales department: 800-998-9938 or [email protected]. Editors: Simon St. Laurent and Meghan Blanchette Indexer: Lucie Haskins Production Editor: Kara Ebrahim Cover Designer: Randy Comer Copyeditor: Eliahu Sussman Interior Designer: David Futato Proofreader: Amanda Kersey Illustrator: Rebecca Demarest July 2014: First Edition Revision History for the First Edition: 2014-06-25: First release See http://oreilly.com/catalog/errata.csp?isbn=9781491950296 for release details. Nutshell Handbook, the Nutshell Handbook logo, and the O’Reilly logo are registered trademarks of O’Reilly Media, Inc. Programming JavaScript Applications, the image of an argali, and related trade dress are trade‐ marks of O’Reilly Media, Inc. Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in this book, and O’Reilly Media, Inc. was aware of a trademark claim, the designations have been printed in caps or initial caps. While every precaution has been taken in the preparation of this book, the publisher and author assume no responsibility for errors or omissions, or for damages resulting from the use of the information contained herein. ISBN: 978-1-491-95029-6 [LSI] Table of Contents Preface.
    [Show full text]
  • UC Berkeley UC Berkeley Electronic Theses and Dissertations
    UC Berkeley UC Berkeley Electronic Theses and Dissertations Title Towards High Assurance HTML5 Applications Permalink https://escholarship.org/uc/item/3ps5g7k4 Author Akhawe, Devdatta Madhav Publication Date 2014 Peer reviewed|Thesis/dissertation eScholarship.org Powered by the California Digital Library University of California Towards High Assurance HTML5 Applications by Devdatta Madhav Akhawe A dissertation submitted in partial satisfaction of the requirements for the degree of Doctor of Philosophy in Computer Science in the Graduate Division of the University of California, Berkeley Committee in charge: Professor Dawn Song, Chair Professor David Wagner Professor Brian Carver Spring 2014 Towards High Assurance HTML5 Applications Copyright 2014 by Devdatta Madhav Akhawe 1 Abstract Towards High Assurance HTML5 Applications by Devdatta Madhav Akhawe Doctor of Philosophy in Computer Science University of California, Berkeley Professor Dawn Song, Chair Rich client-side applications written in HTML5 proliferate diverse platforms such as mobile devices, commodity PCs, and the web platform. These client-side HTML5 applications are increasingly accessing sensitive data, including users' personal and social data, sensor data, and capability-bearing tokens. Instead of the classic client/server model of web applications, modern HTML5 applications are complex client-side applications that may call some web services, and run with ambient privileges to access sensitive data or sensors. The goal of this work is to enable the creation of higher-assurance HTML5 applications. We propose two major directions: first, we present the use of formal methods to analyze web protocols for errors. Second, we use existing primitives to enable practical privilege separation for HTML5 applications. We also propose a new primitive for complete mediation of HTML5 applications.
    [Show full text]
  • Android Internals::A Confectioner's Cookbook (Volume I)
    RL Android Internals A Confectioner's Cookbook Volume I: The Power User's View With updates for Android M, Preview Release 1 (6/2015) By Jonathan Levin Cambridge, MA In memoriam: Frank R. Dye. I missed you by a day, and will miss you for a lifetime. Android Internals - A Confectioner's Cookbook - Volume I - The Power User's View © 2015 by Jonathan Levin. All rights reserved. No part of this work may be reproduced, transmitted in any form or any means, electronic or mechanical, including photocopying, recording, or by any information storage or retrieval system, without the prior written permission of the author. Printed in Cambridge, MA, USA First Printing5-Mp1-as ISBN-10: 9910555-2-4 ISBN-13: 978-0-9910555-2-4 Publisher: Technologeeks.com Production Editor: Jonathan Levin Interior Design: Jonathan Levin Technical Reviewers: Moshe Kravchik, Arie Haenel Cover Illustration: Dino Tsiopanos For information on distribution, translations, or bulk sales, please contact Jonathan Levin, at: Jonathan Levin Phone: (617)-3000-667 Email: [email protected] Web: www.NewAndroidBook.com Company and product names mentioned in this work may be trademarked by their respective owners. Any and every such name is used solely in an editorial fashion, to the benefit of the trademark owner, with no intention whatsoever of infringement. The Android robot is reproduced and/or modified from work created and shared by Google, according to the terms of the Creative Commons 3.0 Attribution License. Limit of Liability/Disclaimer of Warranty: The author neither makes or implies any representations or warranties with respect to the accuracy or completeness of the contents of this work.
    [Show full text]
  • Javascript-Cookbook-2Nd-Edition.Pdf
    2nd Edition JavaScript Cookbook PROGRAMMING THE WEB ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ Shelley Powers www.allitebooks.com JavaScript Cookbook Problem solving with JavaScript is a lot trickier now that its use has expanded A comprehensive, example- “ considerably in size, scope, and complexity. This cookbook has your back, driven tour of the language with recipes for common tasks across the JavaScript world, whether you’re working in the browser, the server, or a mobile environment. Each recipe and its platforms.” includes reusable code and practical advice for tackling JavaScript objects, —Dr. Axel Rauschmayer Node, Ajax, JSON, data persistence, graphical and media applications, complex author of Speaking JavaScript frameworks, modular JavaScript, APIs, and many related technologies. Aimed at people who have some experience with JavaScript, the first part covers traditional uses of JavaScript, along with new ideas and improved functionality. The second part dives into the server, mobile development, and a plethora of leading-edge tools. You’ll save time—and learn more about JavaScript in the process. Topics include: Classic JavaScript: ■ Arrays, functions, and the JavaScript Object ■ Accessing the user interface ■ Testing and accessibility ■ Creating and using JavaScript libraries ■ Client-server communication with Ajax ■ Rich, interactive web efects JavaScript, All Blown Up: ■ New ECMAScript standard objects ■ Using Node on the server Shelley Powers has been working ■ Modularizing and managing JavaScript with and writing about web tech- nologies—from the first release ■ Complex JavaScript frameworks of JavaScript to the latest graphics ■ Advanced client-server communications and design tools—for more than 18 years. Her recent O’Reilly books have ■ Visualizations and client-server graphics covered JavaScript, HTML5 media ■ Mobile application development objects, Ajax, and web graphics.
    [Show full text]
  • Boxify: Full-Fledged App Sandboxing for Stock Android
    Boxify: Full-fledged App Sandboxing for Stock Android Michael Backes, Saarland University and Max Planck Institute for Software Systems (MPI-SWS); Sven Bugiel, Christian Hammer, Oliver Schranz, and Philipp von Styp-Rekowsky, Saarland University https://www.usenix.org/conference/usenixsecurity15/technical-sessions/presentation/backes This paper is included in the Proceedings of the 24th USENIX Security Symposium August 12–14, 2015 • Washington, D.C. ISBN 978-1-939133-11-3 Open access to the Proceedings of the 24th USENIX Security Symposium is sponsored by USENIX Boxify: Full-fledged App Sandboxing for Stock Android Michael Backes Sven Bugiel Christian Hammer CISPA, Saarland University & MPI-SWS CISPA, Saarland University CISPA, Saarland University [email protected] [email protected] [email protected] Oliver Schranz Philipp von Styp-Rekowsky CISPA, Saarland University CISPA, Saarland University [email protected] [email protected] Abstract toring (IRM) [28] as an alternative approach that We present the first concept for full-fledged app integrates security policy enforcement directly into sandboxing on stock Android. Our approach is based Android’s application layer, i.e., the apps’ code. on application virtualization and process-based priv- However, this dichotomy is unsatisfactory for end- ilege separation to securely encapsulate untrusted users: While OS security extensions provide stronger apps in an isolated environment. In contrast to all security guarantees and are preferable in the long run, related work on stock Android, we eliminate the ne- they require extensive modifications to the operating cessity to modify the code of monitored apps, and system and Android application framework.
    [Show full text]
  • Defending Users Against Smartphone Apps: Techniques and Future Directions
    Defending Users Against Smartphone Apps: Techniques and Future Directions William Enck North Carolina State University [email protected] Abstract. Smartphone security research has become very popular in response to the rapid, worldwide adoption of new platforms such as An- droid and iOS. Smartphones are characterized by their ability to run third-party applications, and Android and iOS take this concept to the extreme, o↵ering hundreds of thousands of “apps” through application markets. In response, smartphone security research has focused on pro- tecting users from apps. In this paper, we discuss the current state of smartphone research, including e↵orts in designing new OS protection mechanisms, as well as performing security analysis of real apps. We of- fer insight into what works, what has clear limitations, and promising directions for future research. Keywords: Smartphone security 1 Introduction Smartphones are a widely popular and growing space of computing technology. In Q2 2011, over 107 million smartphones were sold worldwide, accounting for 25% of mobile devices [34]. Smartphones provide an ultra-portable interface to the Internet and the computational abilities to make it meaningful. Using environment sensors such as GPS, cameras, and accelerometers, they enhance everyday tasks with the wealth of information available from the Internet. Fundamental to smartphones are applications, colloquially known as “apps.” There were not many apps available for early smartphones, and hence adoption was slow. In 2008, a perfect storm emerged: 3G connectivity finally became wide- spread, handset technology provided “large” touch-screens and useful sensors such as GPS and accelerometers, and the first application market, Apple’s App Store, was created.
    [Show full text]