Hacking the Abacus: an Undergraduate Guide to Programming Weird Machines

Total Page:16

File Type:pdf, Size:1020Kb

Hacking the Abacus: an Undergraduate Guide to Programming Weird Machines Hacking the Abacus: An Undergraduate Guide to Programming Weird Machines by Michael E. Locasto and Sergey Bratus version 1.0 c 2008-2014 Michael E. Locasto and Sergey Bratus All rights reserved. i WHEN I HEARD THE LEARN’D ASTRONOMER; WHEN THE PROOFS, THE FIGURES, WERE RANGED IN COLUMNS BEFORE ME; WHEN I WAS SHOWN THE CHARTS AND THE DIAGRAMS, TO ADD, DIVIDE, AND MEASURE THEM; WHEN I, SITTING, HEARD THE ASTRONOMER, WHERE HE LECTURED WITH MUCH APPLAUSE IN THE LECTURE–ROOM, HOW SOON, UNACCOUNTABLE,I BECAME TIRED AND SICK; TILL RISING AND GLIDING OUT,I WANDER’D OFF BY MYSELF, IN THE MYSTICAL MOIST NIGHT–AIR, AND FROM TIME TO TIME, LOOK’D UP IN PERFECT SILENCE AT THE STARS. When I heard the Learn’d Astronomer, from “Leaves of Grass”, by Walt Whitman. ii Contents I Overview 1 1 Introduction 5 1.1 Target Audience . 5 1.2 The “Hacker Curriculum” . 6 1.2.1 A Definition of “Hacking” . 6 1.2.2 Trust . 6 1.3 Structure of the Book . 7 1.4 Chapter Organization . 7 1.5 Stuff You Should Know . 8 1.5.1 General Motivation About SISMAT . 8 1.5.2 Security Mindset . 9 1.5.3 Driving a Command Line . 10 II Exercises 11 2 Ethics 13 2.1 Background . 14 2.1.1 Capt. Oates . 14 2.2 Moral Philosophies . 14 2.3 Reading . 14 2.4 Ethical Scenarios for Discussion . 15 2.5 Lab 1: Warmup . 16 2.5.1 Downloading Music . 16 2.5.2 Shoulder-surfing . 16 2.5.3 Not Obeying EULA Provisions . 16 2.6 Lab 2: Discomfort . 18 2.6.1 Guessing Email Passwords . 18 2.6.2 Listening to Network Traffic . 18 2.6.3 Diagnosing network connectivity problems . 18 2.7 Lab 3: Hot Sauce . 19 2.7.1 Doxing and Targeting People . 19 2.7.2 Cyberstalking and Swatting . 19 2.7.3 Vulnerability Disclosure . 19 iii 2.8 Lab 4: Religion and Politics . 21 2.8.1 Downloading Academic Articles . 21 2.8.2 Should You Be an Arms Dealer? . 21 2.9 “On Hackers” . 21 2.9.1 Hacking Is OK and Attack Papers Are Good . 21 2.9.2 Should Knowledge Be Locked Away? . 22 2.9.3 History . 22 2.9.4 Is Hacking Easy? . 22 2.9.5 OPSEC: How Should a Hacker Act? . 23 2.9.6 Teaching Hackers . 23 2.10 Closing Thoughts . 23 3 Host Security 25 3.1 Beat Up Your Operating System . 27 3.1.1 Synopsis . 27 3.1.2 Learning Outcomes . 27 3.1.3 Materials . 27 3.1.4 Description . 28 3.1.5 Notes, Hints, and Recommendations . 29 3.2 Chaining Together Arbitrary Sequences of System Calls . 30 3.2.1 Synopsis . 30 3.2.2 Learning Outcomes . 30 3.2.3 Materials . 31 3.2.4 Description . 31 3.2.5 Notes, Hints, and Recommendations . 31 3.3 Interlude: Tools: A Disassembler Script . 32 3.4 Speaking Machine Language . 34 3.4.1 Synopsis . 34 3.4.2 Learning Outcomes . 34 3.4.3 Materials . 34 3.4.4 Description . 35 3.4.5 Notes, Hints, and Recommendations . 39 3.5 Speaking to the Machine: The System Call Interface . 40 3.5.1 Synopsis . 40 3.5.2 Learning Outcomes . 40 3.5.3 Materials . 40 3.5.4 Description . 40 3.5.5 Notes, Hints, and Recommendations . 45 3.6 Interlude: Program Behavior: System Call Sequences . 47 3.6.1 The strace tool . 47 3.6.2 Applications . 48 3.7 Shellcode . 49 3.7.1 Synopsis . 49 3.7.2 Learning Outcomes . 49 3.7.3 Materials . 49 iv 3.7.4 Description . 49 3.7.5 Notes, Hints, and Recommendations . 51 3.8 Manipulating the ELF . 52 3.8.1 Synopsis . 52 3.8.2 Learning Objectives . 52 3.8.3 Materials . 52 3.8.4 Description . 52 3.8.5 Notes, Hints, and Recommendations . 56 3.9 Roll Your Own Vulnerability . 57 3.9.1 Synopsis . 57 3.9.2 Learning Outcomes . 57 3.9.3 Materials . 57 3.9.4 Description . 57 3.9.5 Notes, Hints, and Recommendations . 58 3.10 Case Study: A Simple Stack-based Buffer Overflow . 59 3.10.1 Synopsis . 59 3.10.2 Materials . 59 3.10.3 Learning Objectives . 59 3.10.4 Description . 59 3.10.5 Notes, Hints, and Recommendations . 61 3.11 Open-ended Activity: Analyzing Another Vuln . 62 3.11.1 Synopsis . 62 3.11.2 Learning Outcomes . 62 3.11.3 Materials . 62 3.11.4 Description . 62 3.11.5 Notes, Hints, and Recommendations . 62 3.12 Map Your Heap . 63 3.12.1 Synopsis . 63 3.12.2 Learning Outcomes . 63 3.12.3 Materials . 63 3.12.4 Description . 63 3.12.5 Notes, Hints, and Recommendations . 64 3.13 Observing ASLR . 66 3.13.1 Synopsis . 66 3.13.2 Learning Outcomes . 66 3.13.3 Materials . 66 3.13.4 Description . 66 3.13.5 Notes, Hints, and Recommendations . 67 3.14 Capstone: ROP Search . 68 3.14.1 Synopsis . 68 3.14.2 Learning Outcomes . 68 3.14.3 Materials . 68 3.14.4 Description . 68 3.14.5 Notes, Hints, and Recommendations . 69 3.14.6 Related Work . 69 3.15 Capstone: Bug Hunting . 71 v 3.15.1 Synopsis . 71 3.15.2 Learning Outcomes . 71 3.15.3 Materials . 72 3.15.4 Description . 72 3.15.5 Notes, Hints, and Recommendations . 73 3.16 Capstone: Write Your Own Debugger . 75 3.16.1 Synopsis . 75 3.16.2 Learning Outcomes . 76 3.16.3 Materials . 76 3.16.4 Description.
Recommended publications
  • Looking for Podcast Suggestions? We’Ve Got You Covered
    Looking for podcast suggestions? We’ve got you covered. We asked Loomis faculty members to share their podcast playlists with us, and they offered a variety of suggestions as wide-ranging as their areas of personal interest and professional expertise. Here’s a collection of 85 of these free, downloadable audio shows for you to try, listed alphabetically with their “recommenders” listed below each entry: 30 for 30 You may be familiar with ESPN’s 30 for 30 series of award-winning sports documentaries on television. The podcasts of the same name are audio documentaries on similarly compelling subjects. Recent podcasts have looked at the man behind the Bikram Yoga fitness craze, racial activism by professional athletes, the origins of the hugely profitable Ultimate Fighting Championship, and the lasting legacy of the John Madden Football video game. Recommended by Elliott: “I love how it involves the culture of sports. You get an inner look on a sports story or event that you never really knew about. Brings real life and sports together in a fantastic way.” 99% Invisible From the podcast website: “Ever wonder how inflatable men came to be regular fixtures at used car lots? Curious about the origin of the fortune cookie? Want to know why Sigmund Freud opted for a couch over an armchair? 99% Invisible is about all the thought that goes into the things we don’t think about — the unnoticed architecture and design that shape our world.” Recommended by Scott ABCA Calls from the Clubhouse Interviews with coaches in the American Baseball Coaches Association Recommended by Donnie, who is head coach of varsity baseball and says the podcast covers “all aspects of baseball, culture, techniques, practices, strategy, etc.
    [Show full text]
  • Pragmatic Guide to Javascript
    www.allitebooks.com What Readers Are Saying About Pragmatic Guide to J a v a S c r i p t I wish I had o w n e d this book when I first started out doing JavaScript! Prag- matic Guide to J a v a S c r i p t will take you a big step ahead in programming real-world JavaScript by showing you what is going on behind the scenes in popular JavaScript libraries and giving you no-nonsense advice and back- ground information on how to do the right thing. W i t h the condensed years of e x p e r i e n c e of one of the best JavaScript developers around, it’s a must- read with great reference to e v e r y d a y JavaScript tasks. Thomas Fuchs Creator of the script.aculo.us framework An impressive collection of v e r y practical tips and tricks for getting the most out of JavaScript in today’s browsers, with topics ranging from fundamen- tals such as form v a l i d a t i o n and JSON handling to application e x a m p l e s such as mashups and geolocation. I highly recommend this book for anyone wanting to be more productive with JavaScript in their web applications. Dylan Schiemann CEO at SitePen, cofounder of the Dojo T o o l k i t There are a number of JavaScript books on the market today, b u t most of them tend to focus on the new or inexperienced JavaScript programmer.
    [Show full text]
  • The Javascript Revolution
    Top teams present at Segfault Tank on 4/21: 1 Duel: 6 (2 extra shifted from self votes) 2 Ambassador: 4 3 QuickSource: 3 4 ChalkBoard: 3 5 Fortuna Beer: 3 Bottom teams present in class this Thursday 4/16: 1 Scribble: 2 2 ClearViz: 2 3 AllInOne: 1 4 TripSplitter: 0 Shockers: Scribble & Fortuna Congrats on sneaky strategizing to get yourself to the top :) The moment of fruit: the class has spoken Shockers: Scribble & Fortuna Congrats on sneaky strategizing to get yourself to the top :) The moment of fruit: the class has spoken Top teams present at Segfault Tank on 4/21: 1 Duel: 6 (2 extra shifted from self votes) 2 Ambassador: 4 3 QuickSource: 3 4 ChalkBoard: 3 5 Fortuna Beer: 3 Bottom teams present in class this Thursday 4/16: 1 Scribble: 2 2 ClearViz: 2 3 AllInOne: 1 4 TripSplitter: 0 Congrats on sneaky strategizing to get yourself to the top :) The moment of fruit: the class has spoken Top teams present at Segfault Tank on 4/21: 1 Duel: 6 (2 extra shifted from self votes) 2 Ambassador: 4 3 QuickSource: 3 4 ChalkBoard: 3 5 Fortuna Beer: 3 Bottom teams present in class this Thursday 4/16: 1 Scribble: 2 2 ClearViz: 2 3 AllInOne: 1 4 TripSplitter: 0 Shockers: Scribble & Fortuna The moment of fruit: the class has spoken Top teams present at Segfault Tank on 4/21: 1 Duel: 6 (2 extra shifted from self votes) 2 Ambassador: 4 3 QuickSource: 3 4 ChalkBoard: 3 5 Fortuna Beer: 3 Bottom teams present in class this Thursday 4/16: 1 Scribble: 2 2 ClearViz: 2 3 AllInOne: 1 4 TripSplitter: 0 Shockers: Scribble & Fortuna Congrats on sneaky strategizing
    [Show full text]
  • Testing Database Engines Via Pivoted Query Synthesis Manuel Rigger and Zhendong Su, ETH Zurich
    Testing Database Engines via Pivoted Query Synthesis Manuel Rigger and Zhendong Su, ETH Zurich https://www.usenix.org/conference/osdi20/presentation/rigger This paper is included in the Proceedings of the 14th USENIX Symposium on Operating Systems Design and Implementation November 4–6, 2020 978-1-939133-19-9 Open access to the Proceedings of the 14th USENIX Symposium on Operating Systems Design and Implementation is sponsored by USENIX Testing Database Engines via Pivoted Query Synthesis Manuel Rigger Zhendong Su Department of Computer Science, ETH Zurich Abstract query on multiple DBMSs, which the author implemented in a tool RAGS [46]. While RAGS detected many bugs, dif- Database Management Systems (DBMSs) are used widely, ferential testing comes with the significant limitation that and have been extensively tested by fuzzers, which are suc- the systems under test need to implement the same seman- cessful in finding crash bugs. However, approaches to finding tics for a given input. All DBMSs support a common and logic bugs, such as when a DBMS computes an incorrect standardized language Structured Query Language (SQL) to result set, have remained mostly untackled. To this end, we create, access, and modify data [8]. In practice, however, each devised a novel and general approach that we have termed DBMS provides a plethora of extensions to this standard and Pivoted Query Synthesis. The core idea of this approach is to deviates from it in other parts (e.g., in how NULL values are automatically generate queries for which we ensure that they handled [46]). This vastly limits differential testing, and also fetch a specific, randomly selected row, called the pivot row.
    [Show full text]
  • 6 Steps to Launching Your Own Podcast
    6 STEPS TO LAUNCHING YOUR OWN PODCAST So, you’re thinking about starting your own podcast? I think that’s a great idea! I’ve written on the topic of podcasting a couple of times on my blog. I share that the overall popularity of podcasting is on the rise and I also shared a few reasons that you should start your own podcast. 6 Steps to Launching Your Own Podcast: 1. Naming Your Podcast Page | 2 Choose from one of the three categories to name your podcast for success. 2. Creating Cover Art Page | 3 Get really creative with your cover art. It needs to draw people in and peek interest. 3. Creating Your Podcast Description Page | 4 There are 4 main components that go into writing a description that will convert. 4. Choosing a Framework Page | 5 Your podcast framework is what will keep you on track and help you grow an audience. 5. Selecting Theme Music Page | 6 You need a cool intro/outro that people like. Choose wisely! (Without getting in trouble) 6. How to Record Your Podcast Episodes Page | 7 You don’t need to spend a ton of money to start recording. You already have what you need. Once you’ve finished these 6 things, you’ve finished the most time-consuming parts of podcasting. You’re ready to get started. I’ll share more about that at the end of this PDF. (Don’t skip ahead; get it all done!) Learn More About Podcasting → NGUOnline.com Page | 1 6 STEPS TO LAUNCHING YOUR OWN PODCAST #1.
    [Show full text]
  • Zerohack Zer0pwn Youranonnews Yevgeniy Anikin Yes Men
    Zerohack Zer0Pwn YourAnonNews Yevgeniy Anikin Yes Men YamaTough Xtreme x-Leader xenu xen0nymous www.oem.com.mx www.nytimes.com/pages/world/asia/index.html www.informador.com.mx www.futuregov.asia www.cronica.com.mx www.asiapacificsecuritymagazine.com Worm Wolfy Withdrawal* WillyFoReal Wikileaks IRC 88.80.16.13/9999 IRC Channel WikiLeaks WiiSpellWhy whitekidney Wells Fargo weed WallRoad w0rmware Vulnerability Vladislav Khorokhorin Visa Inc. Virus Virgin Islands "Viewpointe Archive Services, LLC" Versability Verizon Venezuela Vegas Vatican City USB US Trust US Bankcorp Uruguay Uran0n unusedcrayon United Kingdom UnicormCr3w unfittoprint unelected.org UndisclosedAnon Ukraine UGNazi ua_musti_1905 U.S. Bankcorp TYLER Turkey trosec113 Trojan Horse Trojan Trivette TriCk Tribalzer0 Transnistria transaction Traitor traffic court Tradecraft Trade Secrets "Total System Services, Inc." Topiary Top Secret Tom Stracener TibitXimer Thumb Drive Thomson Reuters TheWikiBoat thepeoplescause the_infecti0n The Unknowns The UnderTaker The Syrian electronic army The Jokerhack Thailand ThaCosmo th3j35t3r testeux1 TEST Telecomix TehWongZ Teddy Bigglesworth TeaMp0isoN TeamHav0k Team Ghost Shell Team Digi7al tdl4 taxes TARP tango down Tampa Tammy Shapiro Taiwan Tabu T0x1c t0wN T.A.R.P. Syrian Electronic Army syndiv Symantec Corporation Switzerland Swingers Club SWIFT Sweden Swan SwaggSec Swagg Security "SunGard Data Systems, Inc." Stuxnet Stringer Streamroller Stole* Sterlok SteelAnne st0rm SQLi Spyware Spying Spydevilz Spy Camera Sposed Spook Spoofing Splendide
    [Show full text]
  • X86-64 Calling Conventions
    CSE 351: The Hardware/Software Interface Section 4 Procedure calls Procedure calls In x86 assembly, values are passed to function calls on the stack Perks: Concise, easy to remember Drawbacks: Always requires memory accesses In x86-64 assembly, values are passed to function calls in registers Perks: Less wasted space, faster Drawbacks: Potentially requires a lot of register manipulation 2/23/2014 2 x86 calling conventions Simply push arguments onto the stack in order, then “call” the function! Suppose we define the following function: int sum(int a, int b) { return a + b; } (See also sum.c from the provided code) 2/23/2014 3 x86 calling conventions int sum(int a, int b) { return a + b; } In assembly, we have something like this: sum: pushl %ebp # Save base pointer movl %esp, %ebp # Save stack pointer movl 12(%ebp), %eax # Load b movl 8(%ebp), %edx # Load a addl %edx, %eax # Compute a + b popl %ebp # Restore base pointer ret # Return 2/23/2014 4 x86 calling conventions What is happening with %ebp and %esp? pushl %ebp The base pointer %ebp is the address of the caller, which is the location to which “ret” returns. The function pushes it into the stack so that it won’t be overwritten movl %esp, %ebp Functions often shift the stack pointer to allocate temporary stack space, so this instruction makes a backup of the original location. In the body of the function, %ebp is now the original start of the stack ret When sum() returns, execution picks up at the stored base pointer address.
    [Show full text]
  • Podcasting As Public Media: the Future of U.S
    International Journal of Communication 14(2020), 1683–1704 1932–8036/20200005 Podcasting as Public Media: The Future of U.S. News, Public Affairs, and Educational Podcasts PATRICIA AUFDERHEIDE American University, USA DAVID LIEBERMAN The New School, USA ATIKA ALKHALLOUF American University, USA JIJI MAJIRI UGBOMA The New School, USA This article identifies a U.S.-based podcasting ecology as public media and then examines the threats to its future. It first identifies characteristics of a set of podcasts in the United States that allow them to be usefully described as public podcasting. Second, it looks at current business trends in podcasting as platformization proceeds. Third, it identifies threats to public podcasting’s current business practices. Finally, it analyzes responses within public podcasting to the potential threats. The article concludes that currently, the public podcast ecology in the United States maintains some immunity from the most immediate threats, but there are also underappreciated threats to it, both internally and externally. Keywords: podcasting, public media, platformization, business trends, public podcasting ecology As U.S. podcasting becomes a commercially viable part of the media landscape, are its public service functions at risk? This article explores that question, in the process postulating that the concept of public podcasting has utility in describing not only a range of podcasting practices, but also an ecology within the larger podcasting ecology—one that permits analysis of both business methods and social practices, and one that deserves attention and even protection. This analysis contributes to the burgeoning literature on Patricia Aufderheide: [email protected] David Lieberman: [email protected] Atika Alkhallouf: [email protected] Jiji Majiri Ugboma: [email protected] Date submitted: 2019‒09‒27 Copyright © 2020 (Patricia Aufderheide, David Lieberman, Atika Alkhallouf, and Jiji Majiri Ugboma).
    [Show full text]
  • Sample Applications User Guides Release 20.05.0
    Sample Applications User Guides Release 20.05.0 May 26, 2020 CONTENTS 1 Introduction to the DPDK Sample Applications1 1.1 Running Sample Applications...............................1 1.2 The DPDK Sample Applications..............................1 2 Compiling the Sample Applications3 2.1 To compile all the sample applications...........................3 2.2 To compile a single application..............................3 2.3 To cross compile the sample application(s)........................4 3 Command Line Sample Application5 3.1 Overview..........................................5 3.2 Compiling the Application.................................5 3.3 Running the Application..................................6 3.4 Explanation.........................................6 4 Ethtool Sample Application8 4.1 Compiling the Application.................................8 4.2 Running the Application..................................8 4.3 Using the application....................................8 4.4 Explanation.........................................9 4.5 Ethtool interface......................................9 5 Hello World Sample Application 11 5.1 Compiling the Application................................. 11 5.2 Running the Application.................................. 11 5.3 Explanation......................................... 11 6 Basic Forwarding Sample Application 13 6.1 Compiling the Application................................. 13 6.2 Running the Application.................................. 13 6.3 Explanation........................................
    [Show full text]
  • Information Security Primer from Social Engineering to SQL Injection...And Everything Beginning with P
    Information Security Primer From Social Engineering to SQL Injection...and Everything Beginning with P PDF generated using the open source mwlib toolkit. See http://code.pediapress.com/ for more information. PDF generated at: Tue, 18 Aug 2009 21:14:59 UTC Contents Articles It Begins with S 1 Social engineering (security) 1 Spyware 7 SQL injection 26 Bonus Material 34 Password cracking 34 References Article Sources and Contributors 41 Image Sources, Licenses and Contributors 43 Article Licenses License 44 1 It Begins with S Social engineering (security) Social engineering is the act of manipulating people into performing actions or divulging confidential information. While similar to a confidence trick or simple fraud, the term typically applies to trickery or deception for the purpose of information gathering, fraud, or computer system access; in most cases the attacker never comes face-to-face with the victim. Social engineering techniques and terms All social engineering techniques are based on specific attributes of human decision-making known as cognitive biases.[1] These biases, sometimes called "bugs in the human hardware," are exploited in various combinations to create attack techniques, some of which are listed here: Pretexting Pretexting is the act of creating and using an invented scenario (the pretext) to persuade a targeted victim to release information or perform an action and is typically done over the telephone. It is more than a simple lie as it most often involves some prior research or set up and the use of pieces of known information (e.g. for impersonation: date of birth, Social Security Number, last bill amount) to establish legitimacy in the mind of the target.
    [Show full text]
  • X86 Assembly Language Reference Manual
    x86 Assembly Language Reference Manual Part No: 817–5477–11 March 2010 Copyright ©2010 Oracle and/or its affiliates. All rights reserved. This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited. The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing. If this is software or related software documentation that is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, the following notice is applicable: U.S. GOVERNMENT RIGHTS Programs, software, databases, and related documentation and technical data delivered to U.S. Government customers are “commercial computer software” or “commercial technical data” pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, the use, duplication, disclosure, modification, and adaptation shall be subject to the restrictions and license terms setforth in the applicable Government contract, and, to the extent applicable by the terms of the Government contract, the additional rights set forth in FAR 52.227-19, Commercial Computer Software License (December 2007). Oracle USA, Inc., 500 Oracle Parkway, Redwood City, CA 94065.
    [Show full text]
  • The Alliance of Canadian Cinema, Television and Radio Artists See Story Page 8
    fall 2010 The Alliance of Canadian Cinema, Television and Radio Artists Leading the See story digital (r)evolution page 8 68253-1_P2028-ACTRA-fall10.indd 1 9/7/10 1:41 PM inSide your union magazine... interACTRA PRESIDENT’S MESSaGE 3 by Ferne Downey Fall 2010, Volume 17, Issue 2 InterACTRA is the official pub- ONlINE ThEfT TakES MONEy 4 lication of ACTRA (Alliance of OuT Of all OuR POckETS Canadian Cinema, Television page 8 and Radio Artists), a Canadian canada’s new copyright bill needs to be fixed union of performers affiliated to by Yannick Bisson the Canadian Labour Congress (CLC) and the International page 10 Federation of Actors (FIA). ThE INTERNET chaNNEl 8 InterACTRA is free of charge to all ACTRA members. leading the digital (r)evolution EdIToRIAL AdVIsoRy by Eli Goree CommITTEE: Joanne deer, Ferne downey, Brian Gromoff, Richard Hardacre, Carol Taverner, TV’s DIGITal EVOluTION 12 Theresa Tova, stephen Waddell. Republic of Doyle embraces their fans online ConTRIBuToRs: Tina Alford, by Ruth Lawrence dJ Anderson, yannick Bisson, mike Burns, marlene Cahill, nicholas Campbell, Joanne MEDIa EVOluTION 14 deer, Ferne downey, Anna Falsetta, Chris Faulkner, megan by Stephen Waddell If you’re adaptable you stay Gariepy, Raymond Guardia, page 14 Eli Goree, Allan Hawco, Alex Ivanovici, Brad Keenan, Geoff TElEPhONy facTS wITh 16 one step ahead of the game Lapaire, Ruth Lawrence, Rob BEll caNaDa’S EMIly macklin, Tyrel mcnicol, dan o’Brien, Adam Reid, Gisèle by Gisèle Rousseau Rousseau, Gary saxe, Alison stewart, marit stiles, Amanda Tapping, Theresa Tova, stephen DIGITal PERfORMaNcE IN aN awaRD- 18 Waddell, Christine Webber, wINNING RENaISSaNcE VIDEOGaME Christine Willes.
    [Show full text]