42
در ت ي ن م و ا ري گ ود ف ن ر ب وري ر م ري ب و ي ن م كا مهاي ت س سي ع ض وا م ت ي( ن) ث+ ت

مروري بر نفوذگري و امنيت در سيستمهاي كامپيوتري تثبيت مواضع

  • Upload
    primo

  • View
    51

  • Download
    4

Embed Size (px)

DESCRIPTION

مروري بر نفوذگري و امنيت در سيستم‌هاي كامپيوتري تثبيت مواضع. برنامه ريزي مرحله بعد عمليات. تثبيت مواضع. شناسايي مواضع و نقاط ضعف سيستم هدف. هجوم اوليه. ساير فعاليتهاي غير مجاز. برداشتن يا خراب کردن اطلاعات. پوشاندن ردپاها. نصب دريچه. حمله به اهداف ثانويه. - PowerPoint PPT Presentation

Citation preview

Page 1: مروري بر نفوذگري و امنيت در سيستمهاي كامپيوتري  تثبيت مواضع

مروري بر نفوذگري و امنيت در سيستم هاي كامپيوتري

تثبيت مواضع

Page 2: مروري بر نفوذگري و امنيت در سيستمهاي كامپيوتري  تثبيت مواضع

شناسايي سيستم

روند نماي کلي انجام يک حملة کامپيوتري شناسايي مواضع و

نقاط" ضعف

سيستم هدف

هجوم اوليه تثبيت مواضعبرنامه ريزي مرحله

بعد عمليات

دسترسی

جلوگيري از

سرويستخريب

کسب2 دسترسي در سطح

کاربر

کسب2 دسترسي در سطح

مدير

پوشاندن ردپاها

نصب دريچه

برداشتن يا خراب کردن

اطالعات

ساير فعاليتهاي غير مجاز

حمله به اهداف ثانويه

2

Page 3: مروري بر نفوذگري و امنيت در سيستمهاي كامپيوتري  تثبيت مواضع

3

Contents

• Definitions• Spywares • Trojan horses• Rootkits• Covert channels

Page 4: مروري بر نفوذگري و امنيت در سيستمهاي كامپيوتري  تثبيت مواضع

Definitions

A general term for a program that secretly monitors your actions. While they are not sometimes malicious, but like a remote control

program used by a hacker receive your private information. Software companies have been known to use Spyware to gather

data about customers.

An apparently useful and innocent program containing additional hidden code which allows the unauthorized collection,

exploitation, falsification, or destruction of data. Definition from: Texas State Library and Archives Commission - http://www.tsl.state.tx.us/ld/pubs/compsecurity/glossary.html

SPYWARE

TROJAN

HORSEDefinition from: BlackICE Internet Security Systems - http://blackice.iss.net/glossary.php

Page 5: مروري بر نفوذگري و امنيت در سيستمهاي كامپيوتري  تثبيت مواضع

Summary of Effects

• Collection of data from your computer without your agreement

• Execution of code without your agreement• Assignment of a unique code to identify you• Collection of data pertaining to your habitual

use• Installation on your computer without your

agreement• Inability to remove the software• Performing other undesirable tasks without

agreement

Page 6: مروري بر نفوذگري و امنيت در سيستمهاي كامپيوتري  تثبيت مواضع

Similarities / Differences

Spyware Trojan HorsesCommercially Motivated MaliciousInternet connection required Any network connection requiredInitiates remote connection Receives incoming connectionPurpose: To monitor activity Purpose: To control activityCollects data Unauthorized access and controlLegal IllegalNot Detectable with Virus Checker Detectable with Virus CheckerAge: Relatively New (< 10 Years) Age: Relatively Old ( > 20 Years)

Memory Resident ProcessesSecretly installed without user’s consent or understanding

Creates a security vulnerability

Source – Table derived and produced by; Andrew Brown, Tim Cocks and Kumutha Swampillai, February 2004.

Page 7: مروري بر نفوذگري و امنيت در سيستمهاي كامپيوتري  تثبيت مواضع

7

Contents

• Definitions• Spywares • Trojan horses• Rootkits• Covert channels

Image Source - http://www.clubpmi.it/upload/servizi_marketing/images/spyware.jpg

Page 8: مروري بر نفوذگري و امنيت در سيستمهاي كامپيوتري  تثبيت مواضع

Software Examples

• GAIN / Gator• Gator E-Wallet• Cydoor• BonziBuddy• Google Toolbar• Yahoo Toolbar• DownloadWare• BrowserAid• Dogpile Toolbar

Image Sources…

GAIN Logo – The Gator Corporation – http://www.gator.comBonziBuddy Logo – Bonzi.com - http://images.bonzi.com/images/gorillatalk.gifDownloadWare Logo – DownloadWare - http://www.downloadware.net

Page 9: مروري بر نفوذگري و امنيت در سيستمهاي كامپيوتري  تثبيت مواضع

Spyware Defence

Technical Initiatives...• Spyware Removal Programs

• Firewall Technology

• Disable ActiveX Controls

• E-Mail Filters

• Download Patches

User Initiatives…• Use Legitimate S/W Sources

• Improved Technical Ability

• Choice of Browser

• Choice of OS

Page 10: مروري بر نفوذگري و امنيت در سيستمهاي كامپيوتري  تثبيت مواضع

10

Contents

• Definitions• Spywares • Trojan horses• Rootkits• Covert channels

Page 11: مروري بر نفوذگري و امنيت در سيستمهاي كامپيوتري  تثبيت مواضع

Types of Trojan Horse

• Remote Access Trojan: allow attacker to gain control over the victim’s pc.

• Data sending Trojan: provide the attacker confidential data such as password, credit card information.

• Destructive Trojan: designed to destroy or delete files.

• Proxy Trojan: to use the victim’s computer as the proxy server for the attackers.

• FTP Trojan: designed to open ftp port (port 21) on your computer, enable the attacker to connect your PC through File Transfer Protocol.

• Security software disabler Trojan: designed to stop or kill security software program such as antivirus program and internet security program.

• Denial of Service (DoS) attack: the attacker try to bring down the network service by flooding the useless traffic over the network.

Page 12: مروري بر نفوذگري و امنيت در سيستمهاي كامپيوتري  تثبيت مواضع

Trojan Horse: installation

• Secretly installed when an infected executable is run– Much like a virus– Executables typically come from P2P

networks or un-trusted websites

• ActiveX controls on websites– ActiveX allows automatic installation of

software from websites– User probably does not know what they are

running

Page 13: مروري بر نفوذگري و امنيت در سيستمهاي كامپيوتري  تثبيت مواضع

Trojan Horse Examples

• Hardware– Key loggers– More advanced?

• Magic Lantern– FBI developed– Legal grey area (until recently!)

Page 14: مروري بر نفوذگري و امنيت در سيستمهاي كامپيوتري  تثبيت مواضع

Solutions

• Firewall • Virus Checker• Spyware Remover• Frequent OS updates• Frequent back-up• Learning problems

Use the following security mechanisms

Page 15: مروري بر نفوذگري و امنيت در سيستمهاي كامپيوتري  تثبيت مواضع

15

Contents

• Definitions• Spywares • Trojan horses• Rootkits• Covert channels

Page 16: مروري بر نفوذگري و امنيت در سيستمهاي كامپيوتري  تثبيت مواضع

What is a Rootkit?

• A rootkit is a tool that is designed to hide itself and other processes, data, and/or activity on a system.

• “A tool used to protect backdoors and other tools from detection by administrators”

• A rootkit is not– An exploit– A virus or worm

Page 17: مروري بر نفوذگري و امنيت در سيستمهاي كامپيوتري  تثبيت مواضع

Rootkits - Why Should You Care?

• If you can’t detect a backdoor on any given machine, how do you know your machine is clean?

• New viruses will use new rootkit technology

Page 18: مروري بر نفوذگري و امنيت در سيستمهاي كامپيوتري  تثبيت مواضع

Rootkits - How They Work?

• To hide in a system you have to control a system

• Act as a gatekeeper between what a user sees and what the system sees

• Requires administrator privileges to install

Page 19: مروري بر نفوذگري و امنيت در سيستمهاي كامپيوتري  تثبيت مواضع

How Rootkits Work - Hooking

• A standard application

Import Section

ReadFileA0x12345678

Headers

Code Section...

Call ReadFileA...

ReadFileA()...

MyApplication.exe

Kernel32.dll

Page 20: مروري بر نفوذگري و امنيت در سيستمهاي كامپيوتري  تثبيت مواضع

How Rootkits Work - Hooking

• A hooked application

Import Section

ReadFileA0x98765432

Headers

Code Section...

Call ReadFileA...

ReadFileA()...

MyApplication.exe

Kernel32.dll

Hook:…

JMP 0x12345678

Page 21: مروري بر نفوذگري و امنيت در سيستمهاي كامپيوتري  تثبيت مواضع

Rootkits – How They Work?

• To hide what is taking place, an attacker wants to:– Hide processes– Hide services– Hide listening TCP/UDP ports– Hide kernel modules– Hide drivers

Page 22: مروري بر نفوذگري و امنيت در سيستمهاي كامپيوتري  تثبيت مواضع

Levels of Access in Windows

• User Land– User – Administrator– System

• Kernel Land– Drivers

Kernel ModeUser Mode

Disk Subsystem1 32

Application

File System

Volume snapshot

Volume manager

I/O Subsystem

Partition Manager

Class

Port Miniport

Sends I/O request to FS

Impose file structure on raw volumes

Manages software snapshots

Manages a specific device type, such as disks, tapes

Manages disk partitions

Presents volumes (C:, D: to users; supports basic and dynamic disks (RAID)

Miniport: Vendor supplied, functionality linked to specific port driver; manages hardware specific details.

Port: Manages a specific transport (SCSIport for SCSI,

Storport for RAID and FC, etc)

Page 23: مروري بر نفوذگري و امنيت در سيستمهاي كامپيوتري  تثبيت مواضع

What Happens When You Read a File?

• Readfile() called on File1.txt• Transition to Ring 0• NtReadFile() processed• I/O Subsystem called• IRP generated

• Data at File1.txt requested from ntfs.sys

• Data on disk 2 requested from disk.sys

I/O Manager

Application

File System Driver(ntfs.sys, …)

Disk Driver (disk.sys)

Volume manager disk driver(ftdisk.sys, dmio.sys)

Disk Array

Readfile()(Win32 API)

NtReadfile() (Kernel32.dll)

Kernel Mode

User ModeInt 2E

(Ntdll.dll)

Call NtReadFile()(Ntoskrnl.exe)

KiSystemService(Ntoskrnl.exe)

Initiate I/O Operation(driver.sys)

1 32

Disk port driver

Disk miniport driver

Page 24: مروري بر نفوذگري و امنيت در سيستمهاي كامپيوتري  تثبيت مواضع

Userland (Ring 3) Rootkits

• Binary replacement eg modified Exe or Dll

• Binary modification in memory eg He4Hook

• User land hooking eg Hacker Defender– IAT hooking

I/O Manager

Application

File System Driver(ntfs.sys, …)

Disk Driver (disk.sys)

Volume manager disk driver(ftdisk.sys, dmio.sys)

Disk Array

Readfile()(Win32 API)

NtReadfile() (Kernel32.dll)

Kernel Mode

User ModeInt 2E

(Ntdll.dll)

Call NtReadFile()(Ntoskrnl.exe)

KiSystemService(Ntoskrnl.exe)

Initiate I/O Operation(driver.sys)

1 32

Disk port driver

Disk miniport driver

Page 25: مروري بر نفوذگري و امنيت در سيستمهاي كامپيوتري  تثبيت مواضع

Kernel (Ring 0) Rootkits

• Kernel Hooking E.g. NtRootkit

• Driver replacement

E.g. replace ntfs.sys with ntfss.sys

I/O Manager

Application

File System Driver(ntfs.sys, …)

Disk Driver (disk.sys)

Volume manager disk driver(ftdisk.sys, dmio.sys)

Disk Array

Readfile()(Win32 API)

NtReadfile() (Kernel32.dll)

Kernel Mode

User ModeInt 2E

(Ntdll.dll)

Call NtReadFile()(Ntoskrnl.exe)

KiSystemService(Ntoskrnl.exe)

Initiate I/O Operation(driver.sys)

1 32

Disk port driver

Disk miniport driver

Page 26: مروري بر نفوذگري و امنيت در سيستمهاي كامپيوتري  تثبيت مواضع

I/O Manager

Application

File System Driver(ntfs.sys, …)

Disk Driver (disk.sys)

Volume manager disk driver(ftdisk.sys, dmio.sys)

Disk Array

Readfile()(Win32 API)

NtReadfile() (Kernel32.dll)

Kernel Mode

User ModeInt 2E

(Ntdll.dll)

Call NtReadFile()(Ntoskrnl.exe)

KiSystemService(Ntoskrnl.exe)

Initiate I/O Operation(driver.sys)

1 32

Disk port driver (atapi.sys, scsiport.sys)

Disk miniport driver

Kernel (Ring 0) Rootkits

• IO Request Packet (IRP) Hooking – IRP Dispatch Table

E.g. He4Hook (some versions)

Page 27: مروري بر نفوذگري و امنيت در سيستمهاي كامپيوتري  تثبيت مواضع

Kernel (Ring 0) Rootkits

• Filter Drivers• Types

– File system filter– Volume filter– Disk Filter– Bus Filter

I/O Manager

Application

File System Driver(ntfs.sys, …)

Disk Driver (disk.sys)

Volume manager disk driver(ftdisk.sys, dmio.sys)

Disk Array

Readfile()(Win32 API)

NtReadfile() (Kernel32.dll)

Kernel Mode

User ModeInt 2E

(Ntdll.dll)

Call NtReadFile()(Ntoskrnl.exe)

KiSystemService(Ntoskrnl.exe)

Initiate I/O Operation(driver.sys)

1 32

Disk port driver (atapi.sys, scsiport.sys)

Disk miniport driver

Page 28: مروري بر نفوذگري و امنيت در سيستمهاي كامپيوتري  تثبيت مواضع

Current Rootkit Capabilities

• Hide processes• Hide files• Hide registry entries• Hide services• Completely bypass

personal firewalls• Undetectable by anti

virus• Covert channels -

undetectable on the network

• Install silently

Page 29: مروري بر نفوذگري و امنيت در سيستمهاي كامپيوتري  تثبيت مواضع

Detection Methodologies

• Traditional Detection– Check integrity of important OS elements against a hash

database (sigcheck)– Look for unidentified processes (task manager)– Check for open ports (netstat)

Page 30: مروري بر نفوذگري و امنيت در سيستمهاي كامپيوتري  تثبيت مواضع

Detection Methodologies

• Signature based– Look for known rootkits, viruses, backdoors– Antivirus– Look for “bad things” living in memory

• Problems– Requires updated databases– Doesn’t detect anything it hasn’t seen before

Page 31: مروري بر نفوذگري و امنيت در سيستمهاي كامپيوتري  تثبيت مواضع

Detection Methodologies

• Code verification– Code sections are read only in all modern OSes– Programs should not modify their own code– Check to see if the files on disk match what is

running in memory

Page 32: مروري بر نفوذگري و امنيت در سيستمهاي كامپيوتري  تثبيت مواضع

Detection Methodologies: Code Verification

Import Section

Headers

Code Section...

NOPNOP

JMP 0x98765432PUSH EBX

LEA EAX, [EPB-220]MOV EAX 0x00002000

...

MyApplication.exe(on disk)

Code Section...

NOPNOPNOP

PUSH EBXLEA EAX, [EPB-220]

MOV EAX 0x00002000

...

MyApplication.exe(in memory)

Page 33: مروري بر نفوذگري و امنيت در سيستمهاي كامپيوتري  تثبيت مواضع

Hardware Rootkits

• A OS reinstall won’t save you• Hard to remove.

– Device is usually destroyed• Difficult to implement• With more and more memory on devices they are

becoming prevalent with time

Page 34: مروري بر نفوذگري و امنيت در سيستمهاي كامپيوتري  تثبيت مواضع

34

Contents

• Definitions• Spywares • Trojan horses• Rootkits• Covert channels

Page 35: مروري بر نفوذگري و امنيت در سيستمهاي كامپيوتري  تثبيت مواضع

Part 2 Access Control 35

Covert Channel

• Covert channel: a communication path not intended as such by system’s designers

• For example, resources shared at different levels could be used to “signal” information

Page 36: مروري بر نفوذگري و امنيت در سيستمهاي كامپيوتري  تثبيت مواضع

Covert Channel Example

• Alice has TOP SECRET clearance, Bob has CONFIDENTIAL clearance

• Suppose the file space shared by all users

• Alice creates file FileXYzW to signal “1” to Bob, and removes file to signal “0”

• Once per minute Bob lists the files– If file FileXYzW does not exist, Alice sent 0– If file FileXYzW exists, Alice sent 1

• Alice can leak TOP SECRET info to Bob!

Page 37: مروري بر نفوذگري و امنيت در سيستمهاي كامپيوتري  تثبيت مواضع

Covert Channel Example

Alice:

Time:

Create file Delete file Create file Delete file

Bob: Check file Check file Check file Check fileCheck file

Data: 1 0 1 01

Page 38: مروري بر نفوذگري و امنيت در سيستمهاي كامپيوتري  تثبيت مواضع

Covert Channel

• Other possible covert channels?– Print queue– ACK messages– Network traffic, etc.

• When does covert channel exist?1. Sender and receiver have a shared

resource2. Sender able to vary some property of

resource that receiver can observe3. “Communication” between sender and

receiver can be synchronized

Page 39: مروري بر نفوذگري و امنيت در سيستمهاي كامپيوتري  تثبيت مواضع

Covert Channel

• So, covert channels are everywhere• “Easy” to eliminate covert channels:

– Eliminate all shared resources…– …and all communication

• Virtually impossible to eliminate covert channels in any useful system– DoD guidelines: reduce covert channel

capacity to no more than 1 bit/second– Implication? DoD has given up on eliminating

covert channels!

Page 40: مروري بر نفوذگري و امنيت در سيستمهاي كامپيوتري  تثبيت مواضع

Covert Channel

• Consider 100MB TOP SECRET file– Plaintext stored in TOP SECRET location– Ciphertext (encrypted with AES using 256-

bit key) stored in UNCLASSIFIED location• Suppose we reduce covert channel

capacity to 1 bit per second• It would take more than 25 years to leak

entire document thru a covert channel• But it would take less than 5 minutes to

leak 256-bit AES key thru covert channel!

Page 41: مروري بر نفوذگري و امنيت در سيستمهاي كامپيوتري  تثبيت مواضع

Real-World Covert Channel

• Hide data in TCP header “reserved” field

• Or use covert_TCP, tool to hide data in– Sequence number– ACK number

Page 42: مروري بر نفوذگري و امنيت در سيستمهاي كامپيوتري  تثبيت مواضع

Real-World Covert Channel

• Hide data in TCP sequence numbers• Tool: covert_TCP• Sequence number X contains covert info

A. Covert_TCPsender

C. Covert_TCP receiver

B. Innocent server

SYNSpoofed source: CDestination: BSEQ: X

ACK (or RST)Source: BDestination: CACK: X