lets go Flashcards
Difference Engine
decimal-based mechanical calculator, created by Charles Babbage
Analytical Engine
punch-card system to run arithmetic tasks, designed by Charles Babbage
Turing Machine
used binary pair of symbols to perform any mathematical computation if it were
representable by an algorithm
Electronic Numerical Integrator and Computer (ENIAC)
built by University of Pennsylvania in
1946, first general-purpose electronic computer, covered 1000 sqft and was programmed with
dials, cables, and switches
Universal Automatic Computer (UNIVAC)
first all-electronic digital computer
ARPANET
connected computers between universitys and research centers
phone phreaks
- hijacked the telephone system for the own purposes
Charles Babbage
Cambridge mathematician that created Difference Engine and Analytical
Engine
Ada Lovelace
mathematician, often credited as first computer programmer
Alan Turing
mathematician, laid the groundwork for modern digital computers,
contributed to cracking the Enigma code in WWII
Rear Admiral Grace Hopper
- credited for use of the word “bug” for computer glitch after finding
moth in relay contact of Harvard Mark II; creator of COBOL programming language
John Draper (Cap’n Crunch)
discovered that 2600 Hz tone from whistle from box of cereal
would provider Operator Mode to phone network
Steve Jobs and Steve Wozniak
early phone phreakers that would later found Apple Computers
Ken Thompson & Dennis Ritchie
created UNIX operating system while working at Bell Labs
Tim Berners-Lee
British scientist working at CERN, credited with creating the first website
Linus Torvalds
created Linux OS, released the source code for free
The Hacker Ethic
Access to computers is a right
Hackers should be judged by their abilities
A do-it-yourself mentality of exploration and manipulation
General disregard for traditional rules and norms
An assumption that information should be open and available; the burden of proof is on those who want to maintain confidentiality (e.g. governments, corporations)
The use of anonymity (e.g. nicknames, anonymizing protocols) to protect against unjustified coercion by authorities
Distrust of authority—promote decentralization
The sharing of innovations among other like-minded individuals
Cyberspace Model (3 Layers)
Physical, Logical Network, and Cyber-Persona Layers
Physical Layer (Cyberspace model)
hardware and infastructure that provide storage, transport, and process info within cyberspace
Logical Network Layer
elements related to one another in a way that is abstracted from physical network, based on the logic of the programming (the code)
cyber persona layer
digital representation of the actor/entity consistents of user accounts (humans/automated)
Tenants of Cybersecurity
Confidentiality
Integrity
Availability
Confidentiality (Tenants of Cybersecurity)
Preserving authorized restrictions on information access and disclosure, including means for protecting personal privacy and proprietary
information.
Integrity (Tenants of Cybersecurity)
Guarding against improper information modification or destruction, and includes ensuring information non-repudiation and authenticity.
Availability (Tenants of Cybersecurity)
Ensuring timely and reliable access to and use of information.
Hardware Components (4)
CPU
Storage
Peripherals
Motheboard
CPU (Hardware Components)
Central Processing Unit: the brain of the computer; executes instructions
and controls data flow to and from other parts of the computer
Storage (Hardware Components)
Volitile: Random Access Memory (RAM) - short-term memory; when you open a
program it gets loaded into RAM; if the computer is shutdown, the contents in
RAM are lost; faster, smaller, more expensive
nonVolitile: long-term memory; contents remain after the computer is
shutdown
Peripherals (Hardware components)
components attached to the computer to increase capabilities; e.g.
keyboard, mouse, monitor, webcam, printer, scanner, etc.
Motherboard (hardware components)
green backplane that interconnects all of the hardware components
CPU 3 step
Fetch: the next instruction from as a block of bytes
Decode: the bytes to determine what action the instruction specifies
Execute: the action encoded in the instruction
CPU performs these steps hundreds of millions of times per second.
Windows File Hierarchy
root drive and hime directory
Root Drive: C: Drive
Home Directory: C:\Users\m283366\
Linux File Hierarchy
Root Directory: / Folder
Home Folder: /home/mids/m283366/ folder
file
: a file on a computer is simply a sequence of bytes
file format
the rules that define how the bytes of a particular file are supposed to
be interpreted (e.g. JPEG files, PDF files, PowerPoint presentations, etc)
file extension
the last part of the filename (e.g. .pdf, .jpg, .pptx) that operating
systems (MS Windows) and programs use to tell them the file type; however, the
extension does not reliably tell you the file type
file header
a short sequence of data the head, or beginning, of the actual file data;
viewing files in a HEX editor like frhed allows you to see the bytes of the file in HEX
Bit
an individual 0 or 1 value
nibble
a chunk of 4 bits (e.g. 0010)
Byte
chunk of 8 bits (e.g. 00010011)
File
a sequence of bytes
Operating System (OS)
a program (or collection of programs) that manages the
physical computer and the programs that run on it (programs managing programs).
EX: iOS, Windows, UNIX
File Operations (types of system services)
a program (or collection of programs) that manages the
physical computer and the programs that run on it (programs managing programs).
Network Connections (types of system services)
the OS can actually send or receive data to/from a computer’s wired
or wireless connection
User Accounts, Permissions, and Logins (types of system services)
the OS ensures that users log in properly and can
only access the things they’re supposed to
Processes (types of system services)
the OS manages the Programs as they execute
3 ways to access OS
- GUI (Graphical User Interface)
- The Shell
- Application Programming Interface
GUI (How to access OS)
the stuff you click on or use your fingers on a touch
screen to interact with
the shell (how to access OS)
shell allows commands for the OS to be entered as plain text strings. The shell is
an OS interface for both Programs and users.
API (how to access OS)
The Application Programming Interface
direct way for a Program to ask the OS to do something. The API is an interface exclusively for Programs
Shell Command Structure
Command - Command Option - Argument
Command name (Shell Command Structure)
a shell command is a request to have a Program executed, and name is literally the name of the Program you want executed
option (shell command structure
special arguments that start with a / or - character in Windows (with a - character in UNIX), they modify the operation of the given command
command arguments (shell command structure)
provide the command with the information it needs to
operate
server (World Wide Web)
a computer (and associated programs) that provides a service
client (World Wide Web)
a computer (or program) that uses a service provided by a server (e.g. the
Browser is a “Web Client”)
protocol (World Wide Web)
an agreement about communication between two communicating
parties – a complete specification of what things can be said, what responses can and must be made, and what these things mean
website
a collection of one or more files that contain the content you see displayed when
you visit a website with your browser. These files include the main webpage, but also image
files, script files (that make the webpage do things), and other files.
web server
Web servers are computers (and the software running on them) that exist to
supply website content, using the HTTP or HTTPS protocol, on demand
web client
Browser: For a user, and for this course, a web client is just a browser, such as
Chrome, Firefox, IE, or Opera.
web vs internet?
Web — web servers, web clients. HTTP and HTTPS protocols.
Internet — includes web, but also includes e-mail, streaming media, VOIP, chat, internet
gaming, etc., plus all the communications hardware and protocols to connect them.
URL
Uniform Resource Locator
tells browser where to find item/name of item
parts to a URL
scheme // authority // path // query // fragment
scheme
most browsers support several protocols, including http and https for client-server web
traffic
Authority
authority: the server is specified by a domain name — something like www.cnn.com or
en.wikipedia.org
path
The “content” of a web server can be thought of as a hierarchical structure of files, similar to a
directory on a Windows or UNIX system. The path is a relative path from some point in the server’s
file system
query
relevant to server-side scripting; name-value pairs submitted to the server from the form on a
web page
fragment
markers that allow browsers to jump to specific point on a webpage