OS - Security

Bomin Seo·2022년 8월 8일
0
post-custom-banner

computer security

Security requirement triad (CIA Triad)

Confidentiality (기밀성)

  • data confidentiality
  • privacy

Integrity (무결성, 변조되지 않았다)

  • data integrity
  • system integrity

availability (가용성, 서비스가 중단되지 않는다)

Security Problem

  • 모든 시스템은 구멍을 가지고 있으며, protection은 문제를 예방할 수 없다.

four Bs

  • Burglary: steal it (절도)
  • Bribery: find whoever has access to what you want and bribe them (뇌물)
  • Blackmail: or photograph them in a compromising position (협박)
  • Bludgeoning: or just beat them until they tell you (공격)

Terminology

  • Vulnerability : loss of CIA (Confidentiality, Integrity, Availability) (취약점)
  • Threat : capable of exploiting vulnerabilities (취약점 위협)
  • Attack : threats carried out (취약점 공격)
  • Adversary : an entity that attacks a system (공격자, 크래커)
  • Countermeasure : means to deal with attacks (대응 방안)

Security services

  • Confidentiality
  • Integrity
  • Availability
  • Authentication(적합성 인증)
  • Access control(권한 관리)
  • Nonrepudiation (부인 방지, 증거 제시)

Cracker’s Basic Steps

Gather information

  • as much information about your site as possible

Use port scanner

  • to gather information about what services are running on hosts
  • Search for weak security services

Get a login account

  • Doesn’t matter whose account

Get root privilege

  • Bugs in programs or badly configured systems

Keep root privilege

  • Leave some sort of backdoor for future access

Physical Security

Hardware security

  • Restrict access to equipments
    • Smart card (ID card)
    • Bio-metric access control(지문, 홍채 인식 등)
  • BIOS(UEFI) security
    • Set a boot password (firmware level password)
    • Prevent booting from CD-ROM or floppy drives
  • Session security
    • Some shells (e.g. tcsh) provide the automatic logout facility if there is no activity during the specified time period
    • vlock (for locking a virtual terminal) / xlock / Screen savers

Account Security

Authentication

  • Password
    • 보안에 가장 많이 사용되며 큰 취약점이 있다.
    • 사용자는 password를 모두가 볼 수 있는 종이에 기록할 수 있다.
    • Password 입력이 느리고, 모두가 볼 수 있다.
    • 알아내기 쉬운 password를 사용한다.
    • 길고 명확하지 않은 password는 보안을 높여주지만, 쉽게 까먹거나 다른 곳에 기재된다.
  • CHAP (Challenge Handshake Authentication Protocol)
    • Password를 양쪽이 가지고 있으며, password를 기반으로 한 계산식을 주고 받음으로써 password가 직접적으로 전달되지 않는 방식으로 보안을 높여준다.
  • Authentication alternatives
    • Bruteforce 방식으로도 계정에 접근할 수 없도록 새로운 방식 개발
    • Physical keys : Badges, smart cards etc.
    • Biometric keys : 지문, 홍채 인식, 얼굴 프로필, 음성 인식, 사인 분석
    • 이미지를 이용한 패스워드, 대/소문자 조합 등

Authorization (Access control lists, 권한 관리)

Access control lists(ACLs)

  • 각각의 객체마다 접근 가능한 권한을 설정한다.
  • 간단하며 대부분의 파일 시스템에서 사용된다.

Capabilities

  • 각각의 사용자마다 접근 가능한 자원과 방법에 대해 정의한다.
  • 높은 보안 수준을 요구하는 시스템에서 사용된다.

File system security

Setuid/setgid programs (UNIX/LINUX)

  • 보안에 취약하다.

Search paths

  • 대부분의 사용자는 search path에 현재의 디렉토리를 포함하여 사용하며 cracker가 표준 명령어의 이름과 같은 프로그램으로 공격할 수 있다.
  • Root user는 현재의 디렉토리 주소를 path에 포함하면 안된다.

Network security

Secure protocol을 사용해야 한다.

  • Secure shell(ssh) 제품군은 많은 통신들을 암호화한다.
  • 안전한 연결을 위해 https를 사용한다.
  • Secure socket layer(SSL)은 클라이언트와 서버 간에 주고 받는 데이터를 암호화한다.
  • IPsec protocol : 모든 IP 패킷을 암호화한다. (IPv6 : 필수 IPv4 : 선택)

TCP wrappers

  • 특정 IP나 포트만을 허용한다.
  • 클라이언트를 연결하기 전에 활동을 기록하고 접근이 허용되었는지 확인한다.
  • Log의 활동을 검토함으로써 공격 의도를 탐지해낼 수 있다.

Firewall

  • 그룹 내의 internal network와 외부의 network에 filter나 protective layer를 생성한다.
  • DMZ에 웹서비스 등을 설치해서 고객이 그룹 내부의 네트워크에 접근하지 않고 서비스를 사용할 수 있게 한다.
  • Packet을 drop하거나 경로를 설정한다.

Intrusion detection system (IDS)

  • Intrusion을 탐지하는 시스템
  • Host-based IDS (H-IDS) / Network-based IDS (N-IDS)

Intrusion prevention system (IPS)

  • 침입을 방지하는 시스템 E.g.)Wireless IPS(WIPS) : 특정 지역에서 모바일 네트워크가 끊어지는 서비스

Attacks vs. Countermeasures

Security threats

Physical threats

  • Acts of nature: floods, fire, earthquake, explosion, etc.
  • Intruder takes computers, dig up network cable, or access system consoles

Logical threats

  • Caused by problems with computer software
    • Misuse by people (e.g. easy-to-guess passwords)
    • Bugs in programs or in their interaction with each other

Operational threats

  • No security policy, incomplete enforcement

Denial of service

  • Prevent computer from providing services through
    • flooding services on your system, thus preventing them from providing service to legitimate clients

attacks

  • virus(다른 프로그램에 기생해서 번식한다)
  • Worm(독자적인 프로그램으로 번식한다)
  • Trojan horses
  • Logic bomb(일정 시간 입력이 없으면 시스템 다운) trap door (back door)
  • dictionary attacks (brute force하게 보안을 공격)Login spoofing (로그인 창으로 꾸며 계정 정보를 받아간다)
  • Malware
  • Spyware
  • Ransomware
  • Keystroke logger(사용자가 입력하는 모든 내용을 전달)
  • Code injection
  • packet sniffing
  • replay attack
  • Man-In-The-Middle(MITM)
  • IP spoofing
  • DOS, DDOS

The Morris Internet Worm (최초의 악성코드)

로그인한 사용자 정보를 담는 finger system에 buffer overflow를 일으키는 code injection 후 worm 양산

Buffer overflow

취약점이 없도록 secure coding을 해야 한다
- secure coding guideline이 있다.

IP spoofing

Host A를 무력화하여 Host B에게 Host A인 것처럼 속인다.

Denial of service: internal attacks

Internal attacks

  • 프로세스, 디스크, 메모리 등을 무한히 사용하여 내부적으로 시스템을 다운시킨다.

External attacks

  • Application level
    • Mail bombing / buffer overflow / java applet attack
  • Protocol level
    • TCP SYN flooding / UDP Storming
  • Network level
    • Ping flooding
  • Distributed DOS (DDOS)
    • 여러 개의 머신을 사용하기 때문에 IDS에서 감지하기 어렵게 만든다.

Basic concept of Cryptography

What is cryptography

  • The science of obfuscating data
  • Can provide authentication, confidentiality, data integrity and etc.
  • Cryptography algorithm is open, but key MUST be confidential

Two kinds of cryptography

  • Shared key cryptography (symmetric cryptography)
    • 암호화와 복호화를 같은 키를 가지고 한다.
  • Public key cryptography (asymmetric cryptography)
    • 암호화와 복호화를 다른 키를 사용해서 한다.

Shared key cryptography

  • 같은 키를 가진 사람만 복호화를 통하여 데이터를 볼 수 있다.
  • 어떻게 shared key를 조심히, 또 같은 걸 공유할지가 중요하다.

Shared key cryptography 알고리즘

  • DES(Data Encryption Standard) / AES(Advanced Encryption Standard) : 장문의 데이터도 암호화 가능

Public key cryptography

개인 별로 private키를 가지고 있다.

  • 해당 암호 데이터에 맞는 private key를 가진 사용자만 볼 수 있도록 하여 confidentiality 보장
  • Private key로 암호문을 만들어 해당 사용자가 만들었다는 것을 증명하는 authentication 보장

알고리즘

  • RSA : 오버헤드가 매우 크다. 작은 데이터 대상으로 사용 / ECC

Applied Cryptography for Network (TLS/SSL)

Applied Cryptography for Network

Digital Signature

  • minimize encryption processing
  • for authentication & integrity (not confidentiality)

Virtual Private Network (VPN)

  • 물리적인 전용선은 비용이 많이 들기 때문에, Software적으로 가상으로 전용선을 설치한다.

Virtual

  • No physical infrastructure dedicated to the private network

Private

  • Keep data confidential so that it can be received by an intended receiver
profile
KHU, SWCON
post-custom-banner

0개의 댓글