UNIX Operating System Security
Total Page:16
File Type:pdf, Size:1020Kb
Load more
Recommended publications
-
Chapter 1: Introduction What Is an Operating System?
Chapter 1: Introduction What is an Operating System? Mainframe Systems Desktop Systems Multiprocessor Systems Distributed Systems Clustered System Real -Time Systems Handheld Systems Computing Environments Operating System Concepts 1.1 Silberschatz, Galvin and Gagne 2002 What is an Operating System? A program that acts as an intermediary between a user of a computer and the computer hardware. Operating system goals: ) Execute user programs and make solving user problems easier. ) Make the computer system convenient to use. Use the computer hardware in an efficient manner. Operating System Concepts 1.2 Silberschatz, Galvin and Gagne 2002 1 Computer System Components 1. Hardware – provides basic computing resources (CPU, memory, I/O devices). 2. Operating system – controls and coordinates the use of the hardware among the various application programs for the various users. 3. Applications programs – define the ways in which the system resources are used to solve the computing problems of the users (compilers, database systems, video games, business programs). 4. Users (people, machines, other computers). Operating System Concepts 1.3 Silberschatz, Galvin and Gagne 2002 Abstract View of System Components Operating System Concepts 1.4 Silberschatz, Galvin and Gagne 2002 2 Operating System Definitions Resource allocator – manages and allocates resources. Control program – controls the execution of user programs and operations of I/O devices . Kernel – the one program running at all times (all else being application programs). -
UNIX Workshop Series: Quick-Start Objectives
Part I UNIX Workshop Series: Quick-Start Objectives Overview – Connecting with ssh Command Window Anatomy Command Structure Command Examples Getting Help Files and Directories Wildcards, Redirection and Pipe Create and edit files Overview Connecting with ssh Open a Terminal program Mac: Applications > Utilities > Terminal ssh –Y [email protected] Linux: In local shell ssh –Y [email protected] Windows: Start Xming and PuTTY Create a saved session for the remote host name centos.css.udel.edu using username Connecting with ssh First time you connect Unix Basics Multi-user Case-sensitive Bash shell, command-line Commands Command Window Anatomy Title bar Click in the title bar to bring the window to the front and make it active. Command Window Anatomy Login banner Appears as the first line of a login shell. Command Window Anatomy Prompts Appears at the beginning of a line and usually ends in $. Command Window Anatomy Command input Place to type commands, which may have options and/or arguments. Command Window Anatomy Command output Place for command response, which may be many lines long. Command Window Anatomy Input cursor Typed text will appear at the cursor location. Command Window Anatomy Scroll Bar Will appear as needed when there are more lines than fit in the window. Command Window Anatomy Resize Handle Use the mouse to change the window size from the default 80x24. Command Structure command [arguments] Commands are made up of the actual command and its arguments. command -options [arguments] The arguments are further broken down into the command options which are single letters prefixed by a “-” and other arguments that identify data for the command. -
Unix/Linux Command Reference
Unix/Linux Command Reference .com File Commands System Info ls – directory listing date – show the current date and time ls -al – formatted listing with hidden files cal – show this month's calendar cd dir - change directory to dir uptime – show current uptime cd – change to home w – display who is online pwd – show current directory whoami – who you are logged in as mkdir dir – create a directory dir finger user – display information about user rm file – delete file uname -a – show kernel information rm -r dir – delete directory dir cat /proc/cpuinfo – cpu information rm -f file – force remove file cat /proc/meminfo – memory information rm -rf dir – force remove directory dir * man command – show the manual for command cp file1 file2 – copy file1 to file2 df – show disk usage cp -r dir1 dir2 – copy dir1 to dir2; create dir2 if it du – show directory space usage doesn't exist free – show memory and swap usage mv file1 file2 – rename or move file1 to file2 whereis app – show possible locations of app if file2 is an existing directory, moves file1 into which app – show which app will be run by default directory file2 ln -s file link – create symbolic link link to file Compression touch file – create or update file tar cf file.tar files – create a tar named cat > file – places standard input into file file.tar containing files more file – output the contents of file tar xf file.tar – extract the files from file.tar head file – output the first 10 lines of file tar czf file.tar.gz files – create a tar with tail file – output the last 10 lines -
EMERSON CENTER: HARDWARE Comp.Chem.20
EMERSON CENTER: HARDWARE comp.chem.20 ssh –Y [email protected] euch4e.chem.emory.edu Passwd: HOME=/home/chemistry/ch_res/eclab cd spark cd star cd fire $HOME/spark $HOME/star $HOME/fire mkdir USER mkdir USER mkdir USER cd USER cd USER cd USER # Nodes = 36 # Nodes = 36 # Nodes = 16 + 1 GPU # Cores/node = 24 # Cores/node = 24, 16 # Cores/node = 56 + 5000 # Speed = 2.6 GHz # Speed = 2.5 GHz # Speed = 2.6 GHz # Memory = 96 GB # Memory = 80 GB # Memory = 196 GB # Classes = spark24p # Classes = star24p # Classes = fire28p spark12p star16p fire-gpu star8p stars (1 core) spark (or spark.chem.emory.edu) star (or star.chem.emory.edu) fire (or fire.chem.emory.edu) Login the Emerson Center’s Computers From a Unix/MAC/iPad/iPhone terminal ssh -Y [email protected] From PC 1) Download and run PuTTY (www.putty.org) 2) Enable X-forwarding (Connection -> SSH -> Tunnels) 3) Under Session, choose SSH on port 22 4) Type euch4e.chem.emory.edu as host name 5) Click Open A few UNIX commands and vi Editor UNIX Tree Structure: Files and Directories cd - change directory: cd directory_name rm - remove command: rm file_name: also: rmdir, rm –I mv - move comman: mv file_name mkdir - make directory: mkdir directory_name cp - copy command: cp file_name_1 file_name_2 ls - list command VI (View) Command mode and Insert mode vi file_name Type i for insert command Use backspace in order to correct mistake :w :w! or :wq :wq! Write or write and quit :q :q! quit dd n delete o Insert line EMERSON CENTER: Software (Selected List) Electronic Structure MD Simulation & Modeling Gaussian-16, 09 GROMACS-19.1 Molpro-15.1 NAMD-2.6 MOLCAS Rosetta GAMESS Amber-14 TURBOMOLE ORCA VASP-5.2 DFTB+ Graphics & Programming MATLAB 2019 Mathematica 12.0 Gauss View 6 Command file (for LoadLeveler only): #!/bin/ksh # ### # @ error = errcl.log # # @ initialdir = /star/chemistry/eclab/YOUR # @ requirements = (Arch == "R6000") && (OpSys == "AIX53") # @ notify_user = name@euch4e # @ class = star16p # @ group = ch_res # @ queue # INPF= test_inp OUTF= test_out . -
Passwords, Hashes, and Cracks, Oh My! How Mac OS X Implements Password Authentication Dave Dribin “Why Should I Care?”
Passwords, Hashes, and Cracks, Oh My! How Mac OS X Implements Password Authentication Dave Dribin “Why Should I Care?” • Application Developer • System Administrator • End User Authentication • Authentication is the process of attempting to verify a user’s identity • Passwords authenticate using a “shared secret” History • Mac OS X based on NeXTSTEP • NeXTSTEP Unix on top of Mach • Unix developed by AT&T Bell Labs on DEC PDP-11 • Unix based on mainframe time-sharing systems UNIX Time-Sharing System Version 1 • Released in 1971 • First release of Unix as we know it • Plaintext passwords Plaintext Problems “Perhaps the most memorable [example] occurred in the early 60’s when a system administrator on the CTSS system at MIT was editing the password file and another system administrator was editing the daily message that is printed on everyone’s terminal on login. Due to a software design error, the temporary editor files of the two users were interchanged and thus, for a time, the password file was printed on every terminal when it was logged in.” -- Robert Morris and Ken Thompson, April 3,1978 Unix Versions 3, 4, 5, 6 • Released 1973 through 1975 • Encrypted Password • Password file is readable by all NAME passwd -- password file DESCRIPTION passwd contains for each user the following in- formation: name (login name, contains no upper case) encrypted password numerical user ID GCOS job number and box number initial working directory program to use as Shell This is an ASCII file. Each field within each user's entry is separated from the next by a colon. -
PWD 3000 Cu / Cu-Al
PWD 3000 Cu / Cu-Al High Precision Holding Devices Cable holding device featuring water flow system Pneumatic Cable Holding Device This special holding device allows high precision cable resistance for determining the Cable Resistance measurements on stranding machines even all main parts of it (the compactor and the cable take up mechanism ) are grounded! on non isolated No necessity for isolating machine parts! Stranding Machines The precision holding device PWD 3000 is used for the determination of the electric resistance per meter of power and medium voltage cables. The measurement is based on the 4-pole method according to Kelvin in order to eliminate the feed line resistances. The measuring current is supplied via pneumatically operated jaws, the measuring voltage picked-up via spring-supported taps, with a distance between the taps of 1000 mm (+/- 0,2mm). The current jaws and thus the current feeding points are arranged at a sufficient distance to the taps in accordance with DIN / IEC to ensure a constant and uniform distribution of the current across the actual measuring distance. The cable section is placed in two inner troughs which are filled with flowing water when the pump is running and are containing the potential bars for picking up the measuring voltage; it is here where the actual measurement takes place at a constant (water- ) temperature. Features The Microohmmeter which is part of the equipment additionally measures the (water-) temperature via a probe, • Holds diameters from 10 mm² to 1200 mm² and converts the previously measured resistance value to 20°C (or e.g. 23°C if wanted). -
CMSC 426/626 - Computer Security Fall 2014
Authentication and Passwords CMSC 426/626 - Computer Security Fall 2014 Outline • Types of authentication • Vulnerabilities of password authentication • Linux password authentication • Windows Password authentication • Cracking techniques Goals of Authentication • Identification - provide a claimed identity to the system. • Verification - establish validity of the provided identity. We’re not talking about message authentication, e.g. the use of digital signatures. Means of Authentication • Something you know, e.g. password • Something you have, e.g. USB dongle or Common Access Card (CAC) • Something you are, e.g. fingerprint • Something you do, e.g. hand writing Password-Based Authentication • User provides identity and password; system verifies that the password is correct for the given identity. • Identity determines access and privileges. • Identity can be used for Discretionary Access Control, e.g. to give another user access to a file. Password Hashing Password • System stores hash of the user password, not the plain text password. Hash Algorithm • Commonly used technique, e.g. UNIX password hashing. Password Hash Password Vulnerabilities Assume the authentication system stores hashed passwords. There are eight attack strategies. • Off-line Dictionary Attack - get hold of the password file, test a collection (dictionary) of possible passwords. ‣ Most systems protect the password file, but attackers sometimes get hold of one. • Specific Account Attack - given a specific user account, try popular passwords. ‣ Most systems use lockout mechanisms to make these attacks difficult. • Popular Password Attack - given a popular password, try it on multiple accounts. ‣ Harder to defend against - have to look for patterns in failed access attempts. • Targeted Password Guessing - use what you know about a user to intelligently guess their password. -
Personal-Computer Systems • Parallel Systems • Distributed Systems • Real -Time Systems
Module 1: Introduction • What is an operating system? • Simple Batch Systems • Multiprogramming Batched Systems • Time-Sharing Systems • Personal-Computer Systems • Parallel Systems • Distributed Systems • Real -Time Systems Applied Operating System Concepts 1.1 Silberschatz, Galvin, and Gagne Ď 1999 What is an Operating System? • A program that acts as an intermediary between a user of a computer and the computer hardware. • Operating system goals: – Execute user programs and make solving user problems easier. – Make the computer system convenient to use. • Use the computer hardware in an efficient manner. Applied Operating System Concepts 1.2 Silberschatz, Galvin, and Gagne Ď 1999 Computer System Components 1. Hardware – provides basic computing resources (CPU, memory, I/O devices). 2. Operating system – controls and coordinates the use of the hardware among the various application programs for the various users. 3. Applications programs – define the ways in which the system resources are used to solve the computing problems of the users (compilers, database systems, video games, business programs). 4. Users (people, machines, other computers). Applied Operating System Concepts 1.3 Silberschatz, Galvin, and Gagne Ď 1999 Abstract View of System Components Applied Operating System Concepts 1.4 Silberschatz, Galvin, and Gagne Ď 1999 Operating System Definitions • Resource allocator – manages and allocates resources. • Control program – controls the execution of user programs and operations of I/O devices . • Kernel – the one program running at all times (all else being application programs). Applied Operating System Concepts 1.5 Silberschatz, Galvin, and Gagne Ď 1999 Memory Layout for a Simple Batch System Applied Operating System Concepts 1.7 Silberschatz, Galvin, and Gagne Ď 1999 Multiprogrammed Batch Systems Several jobs are kept in main memory at the same time, and the CPU is multiplexed among them. -
Operating System
OPERATING SYSTEM INDEX LESSON 1: INTRODUCTION TO OPERATING SYSTEM LESSON 2: FILE SYSTEM – I LESSON 3: FILE SYSTEM – II LESSON 4: CPU SCHEDULING LESSON 5: MEMORY MANAGEMENT – I LESSON 6: MEMORY MANAGEMENT – II LESSON 7: DISK SCHEDULING LESSON 8: PROCESS MANAGEMENT LESSON 9: DEADLOCKS LESSON 10: CASE STUDY OF UNIX LESSON 11: CASE STUDY OF MS-DOS LESSON 12: CASE STUDY OF MS-WINDOWS NT Lesson No. 1 Intro. to Operating System 1 Lesson Number: 1 Writer: Dr. Rakesh Kumar Introduction to Operating System Vetter: Prof. Dharminder Kr. 1.0 OBJECTIVE The objective of this lesson is to make the students familiar with the basics of operating system. After studying this lesson they will be familiar with: 1. What is an operating system? 2. Important functions performed by an operating system. 3. Different types of operating systems. 1. 1 INTRODUCTION Operating system (OS) is a program or set of programs, which acts as an interface between a user of the computer & the computer hardware. The main purpose of an OS is to provide an environment in which we can execute programs. The main goals of the OS are (i) To make the computer system convenient to use, (ii) To make the use of computer hardware in efficient way. Operating System is system software, which may be viewed as collection of software consisting of procedures for operating the computer & providing an environment for execution of programs. It’s an interface between user & computer. So an OS makes everything in the computer to work together smoothly & efficiently. Figure 1: The relationship between application & system software Lesson No. -
Nsight Compute OLCF Webinar
Nsight Compute OLCF Webinar Felix Schmitt, Mahen Doshi, Jonathan Vincent Nsight Product Family Workflow Nsight Systems - Analyze application algorithms system-wide https://www.olcf.ornl.gov/calendar/nvidia-profiling-tools-nsight-systems/ Start here Nsight Compute - Analyze CUDA kernels Systems Nsight Graphics - Debug/analyze graphics workloads You are here Compute Graphics 2 Nsight Compute 3 Nsight Compute CUDA Kernel profiler Targeted metric sections for various performance aspects Customizable data collection and presentation (tables, charts, …) UI and Command Line Python-based rules for guided analysis (or post-processing) 4 Nsight Compute Detailed memory workload analysis chart and tables 5 Nsight Compute Comparison of results directly within the tool with “Baselines” Supported across kernels, reports, and GPU architectures 6 Nsight Compute Source/PTX/SASS analysis and correlation Source metrics per instruction and aggregated (e.g. PC sampling data) Metric heatmap 7 Nsight Compute Full command line interface (CLI) for data collection and analysis On your workstation Support for remote profiling across machines, platforms (Linux, Windows, …) in UI and CLI 8 Nsight Compute on Summit 9 Loading Module Use nv-nsight-cu-cli command line interface for data collection in batch environments Available as part of the CUDA toolkit $ module load cuda/10.1.243 $ /sw/summit/cuda/10.1.243/nsight-compute/nv-nsight-cu-cli Or as standalone installation (e.g. newer release than CUDA) $ module load nsight-compute/2019.5.0 $ /sw/summit/nsight-compute/2019.5.0/nv-nsight-cu-cli -
COSC 6385 Computer Architecture - Multi-Processors (IV) Simultaneous Multi-Threading and Multi-Core Processors Edgar Gabriel Spring 2011
COSC 6385 Computer Architecture - Multi-Processors (IV) Simultaneous multi-threading and multi-core processors Edgar Gabriel Spring 2011 Edgar Gabriel Moore’s Law • Long-term trend on the number of transistor per integrated circuit • Number of transistors double every ~18 month Source: http://en.wikipedia.org/wki/Images:Moores_law.svg COSC 6385 – Computer Architecture Edgar Gabriel 1 What do we do with that many transistors? • Optimizing the execution of a single instruction stream through – Pipelining • Overlap the execution of multiple instructions • Example: all RISC architectures; Intel x86 underneath the hood – Out-of-order execution: • Allow instructions to overtake each other in accordance with code dependencies (RAW, WAW, WAR) • Example: all commercial processors (Intel, AMD, IBM, SUN) – Branch prediction and speculative execution: • Reduce the number of stall cycles due to unresolved branches • Example: (nearly) all commercial processors COSC 6385 – Computer Architecture Edgar Gabriel What do we do with that many transistors? (II) – Multi-issue processors: • Allow multiple instructions to start execution per clock cycle • Superscalar (Intel x86, AMD, …) vs. VLIW architectures – VLIW/EPIC architectures: • Allow compilers to indicate independent instructions per issue packet • Example: Intel Itanium series – Vector units: • Allow for the efficient expression and execution of vector operations • Example: SSE, SSE2, SSE3, SSE4 instructions COSC 6385 – Computer Architecture Edgar Gabriel 2 Limitations of optimizing a single instruction -
Cryptography As an Operating System Service: a Case Study
Cryptography As An Operating System Service: A Case Study ANGELOS D. KEROMYTIS Columbia University JASON L. WRIGHT and THEO DE RAADT OpenBSD Project and MATTHEW BURNSIDE Columbia University Cryptographic transformations are a fundamental building block in many security applications and protocols. To improve performance, several vendors market hardware accelerator cards. However, until now no operating system provided a mechanism that allowed both uniform and efficient use of this new type of resource. We present the OpenBSD Cryptographic Framework (OCF), a service virtualization layer im- plemented inside the operating system kernel, that provides uniform access to accelerator function- ality by hiding card-specific details behind a carefully designed API. We evaluate the impact of the OCF in a variety of benchmarks, measuring overall system performance, application throughput and latency, and aggregate throughput when multiple applications make use of it. We conclude that the OCF is extremely efficient in utilizing cryptographic accelerator func- tionality, attaining 95% of the theoretical peak device performance and over 800 Mbps aggregate throughput using 3DES. We believe that this validates our decision to opt for ease of use by applica- tions and kernel components through a uniform API and for seamless support for new accelerators. We are grateful to Global Technologies Group, Inc. for providing us with two XL-Crypt (Hifn 7811) boards, one Hifn 6500 reference board, and one Hifn 7814 reference board. We are also grateful to Network Security Technologies, Inc. for providing us with two Hifn 7751 boards, one Broadcom 5820 board, and two Broadcom 5805 boards. In addition, Network Security Technologies funded part of the original development of the device-support software.