Skip to content

Latest commit

 

History

History
137 lines (110 loc) · 8.21 KB

1. 운영체제의 보안.md

File metadata and controls

137 lines (110 loc) · 8.21 KB

운영체제의 보안

이 문서는 2022년 12월 9일에 @sumin-dev에 의해서 작성되었습니다.

1. 운영체제의 보안
    1.1. 보안과 보호
    1.2. 보안의 목표
    1.3. 보안 공격(Security attack)의 종류
2. 웹 해킹 기법
    2.1. SQL Injection
    2.2. Cross-Site Scription (XSS)
    2.3. CSRF Attack
    2.4. DDoS
    2.5. Dictionary Attack

1. 운영체제의 보안

1.1. 보안과 보호

Security
* ensures the authentication of users to protect
  * the integrity of the information, both data and code.
  * the physical resources on the computer system.
  • 보안은 원거리에서 접근하는 사용자들에 대해
  • 인증 및 암호화 메커니즘을 통해 합법적인 처리만이 이루어지도록 하여,
  • 시스템 내의 자료가 결함이 없도록 유지시키고 신뢰도를 유지하는 기법
Protection
* ensures that only processes
  * that have gained proper authorization from the operating system
    - can operate on memory segments, the CPU, and other resources.
  * controls access to a system
    - by limiting the types of access permitted to users.
  • 보호는 사용자에게 허용된 파일 액세스 유형을 조정하여 시스템에 대한 액세스를 제어
  • 권한이 부여(인가) 된 사용자 또는 프로세스는 CPU, 메모리 세그먼트 등에서 작동할 수 있음

image

1.2. 보안의 목표

image

  • 기밀성 (Confidentiality)
  • 오직 인가된 사람, 프로세스, 시스템만이 접근해야 한다
  • 비인가된 접근으로부터 안전해야 한다
  • 접근 제어, 암호화
  • 무결성 (Integrity)
  • 네트워크를 통하여 송수신 되는 정보의 내용이 불법적으로 생성 또는 변경 되거나 삭제 되지 않도록 보호되어야 한다
  • 비인가된 변경으로 부터 보호되어야 한다
  • 접근 제어, 메시지 인증, 침입 탐지, 백업
  • 가용성 (Availability)
  • 시스템에 지체 없이 동작하도록 하고, 합법적 사용자가 서비스 사용을 거절 당하지 않아야 한다
  • 필요할 때 권한이 있는 사용자가 이용할 수 있어야 한다
  • 데이터의 백업, 물리적 위협요소로부터의 보호

1.3. 보안 공격(Security attack)의 종류

소극적 공격과 적극적 공격

  • 소극적 공격(수동적 공격, Passive Attack): 공격자의 목표는 정보를 획득하는 것으로, 시스템의 데이터를 변경하거나 해를 끼치 않는 공격 형태. 탐지보다 예방이 중요.
  • 적극적 공격(능동적 공격, Active Attack): 공격자는 데이터를 바꾸거나 시스템에 해를 입힐 수 있음.

기밀성을 위협하는 공격(소극적)

  • 스누핑(Snooping):
    • 데이터에 대한 비인가 접근 또는 탈취.
    • 비인가자는 전송하는 메시지를 가로채 자신의 이익을 위해 사용.
    • 스누핑을 방지하기 위해서는 암호화 기법을 사용하여 도청자가 데이터를 이해할 수 없도록 만듦.
  • 트래픽 분석(Traffic Analysis):
    • 암호화 기법을 사용하여 도청자가 데이터를 이해할 수 없도록 만들어도 온라인 트래픽을 분석함으로써 다른 형태의 정보를 얻을 수 있음.
    • 예를 들어, 전자 주소를 알아내 전송 성향을 추측하는데 도움이 되는 질의와 응답의 쌍을 수집

무결성을 위협하는 공격(적극적)

  • 변경(메시지 수정, Modification):
    • 메시지의 일부를 불법으로 수정하거나 메시지 전송을 지연시키거나 순서를 뒤바꾸어 인가되지 않은 효과를 노리는 것
  • 가장(Masquerading):
    • 한 개체가 다른 개체처럼 행동하는 것
  • 재연(재전송, Replaying):
    • 획득한 데이터 단위를 보관하고 있다가 시간이 경과한 후에 재전송함으로써 인가되지 않은 사항에 접근하는 효과를 노리는 것
  • 부인(Requdiation):
    • 메시지를 보냈다는 것을 부인할 수 있고, 메시지를 받았다는 것도 부인할 수 있음

가용성을 위협하는 공격(적극적)

  • 서비스 거부(Denial of Service, DoS):
    • 시스템의 서비스를 느리게 하거나 완전히 차단

2. 웹 해킹 기법

  • 웹 사이트의 취약점을 공격하는 기술적 위협
  • 웹 페이지를 통하여 권한이 없는 시스템에 접근하거나 데이터 유출 및 파괴

2.1. SQL Injection

  • 악의적인 사용자가 보안상의 취약점을 이용하여, 임의의 SQL 문을 주입하고 실행되게 하여 데이터베이스가 비정상적인 동작을 하도록 조작하는 행위
  • 공격이 비교적 쉬운 편이고, 공격에 성공할 경우 큰 피해를 입힐 수 있음

image

  • ‘ OR 1=1 -- 을 주입하여 WHERE 절에 있는 싱글쿼터를 닫아주고 OR 1=1 구문을 이용해 WHERE 절을 모두 참으로 만들고, --를 넣어서 뒤의 구문을 모두 주석 처리
  • Users 테이블에 있는 모든 정보를 조회하게 됨으로써 가장 먼저 만들어진 계정으로 로그인에 성공(보편적으로 관리자 계정이므로 관리자의 권한을 이용한 2차 피해 발생)
  • SQL Injection의 종류와 대응 방안

image <2017년 3월 '여기어때'의 대규모 개인정보 유출 사건>

2.2. Cross-Site Scription (XSS)

  • 관리자가 아닌 권한이 없는 사용자가 웹 사이트에 스크립트를 삽입하는 공격 기법
  • 해커가 XSS 공격에 취약한 웹 사이트에 악의적인 스크립트를 삽입하고, 그 스크립트가 있는 게시글을 열람한 사용자는 악성스크립트로 인해 본인의 쿠키가 해커에게 전송.
  • 세션ID가 포함된 쿠키를 탈취한 해커는 탈취한 사용자의 계정으로 로그인
  • XSS공격의 종류와 대응 방안

image

2.3. CSRF Attack

  • Cross-Site Request Forgery
  • 공격자가 서비스 사용자를 이용하여 요청을 보내는 공격
  • 네이버 로그인과 똑같은 화면을 제공하는 피싱 사이트가 있을 때, 사용자는 피싱 사이트인 것을 모르고 아이디와 비밀번호를 입력하고 로그인 버튼을 누른다면, 해커는 계정 정보를 저장하고 진짜 사이트로 이동시킴. 사용자는 해킹당했다는 사실조차 모를 수 있음.
  • CSRF Token을 이용하여 모든 요청에 토큰을 발급하고 서버에서 검증하는 방어 방법 image

2.4. DDoS

  • Distributed Denial of Service(분산 서비스 거부 공격)
  • 공격자는 수많은 PC를 이용하여 서버에 비정상적으로 많은 트래픽을 보내 서비스에 부하를 주거나 서버를 다운시킴
  • 확장 가능한 분산 시스템을 설계하는 방안 image

2.5. Dictionary Attack

  • 미리 데이터베이스에 등록해놓은 수많은 문자열을 암호로 대입하는 공격(Brute Force의 일종)
  • 로그인 일정 횟수 이상 실패시 차단하는 방안, OTP와 같은 인증 image

Reference