CS/보안

컴퓨터 보안 소개 (Introduction to computer security)

2Ju0 2022. 4. 12. 22:28

1. Threats

취약점을 악용해서 공격할 수 있는 위협

  • vulnerability : 취약점 (버그)
  • exploit : 프로그램에 존재하는 버그를 악용하는 input
  • exploitable : 버그를 이용해서 sw를 성공적으로 장악할 수 있다. (공격하는데 사용할 수 없다면 exploitable 하지 않다.)

2. Threat Model

공격자와 방어자의 능력을 정의하는 것

 

3. Hackers

  • Black hat hackers
  • White hat hackers
  • Grey hat hackers : Black + White

4. Black hat hacker가 하는 일

  • 컴퓨터 장악
    • 사회공학적 기법 (피싱메일 / USB에 악성코드)
    • 무식하게 비밀번호 모든 조합 시도
  • DoS attack : 패킷 날려서 접속 안되게
  • DDos attack : 좀비 PC 장악, 훨씬 더 많은 수의 패킷 날림
  • Sniffing :  대화 엿들음
  • Spoofing : 변조 (속이는 것)
  • Attack physical system :
    • Power systems
    • IoT devices
    • Medical devices : ex. 심장을 뛰게하는 시스템 정기적 패턴대로 뛰지 않게 / 약 주입 시스템 주입되지 않도록
    • smart vehicles : 속도 갑자기 높아지게 / 브레이크 x

과거에는 해커만 나쁜 일 했으나, 현재는 해커 뿐만 아니라 정부, 일반적인 사람도

 

4. 보안 원칙 CIA

  • Confidentiality (C) : 비밀성
    • 데이터 비밀 유지
    • ex. 친구와의 대화 내용을 보지 못하게 한다.
  • Integrity (I) : 무결성
    • 데이터가 수정되지 않도록 유지
    • ex. 친구과의 메세지 대화 내용이 변조되지 않는다.
  • Availability (A) : 가용성
    • 시스템을 계속 실행하고 연결 가능
    • ex. 어떤 시스템이 제공한 서비스는 항상 사용자들에게 가용한 상태로 있어야 한다.

5. CIA 이외

  • Authentication : 인증
    • 전자 메시지의 출처가 올바르게 식별되었는지 확인
      Bob은 항상 Alice인지 해커인지 구분할 수 있어야 한다

 

  • Non-repudiation :  부인 방지
    • 일어난 일을 부인할 가능성을 없앤다.

 

  • Access control
    • 누가 무엇에 접근 할 수 있는 지를 정의한다. (ex. ACL on Linux)
      ACL on Linux

6. 현실세계에서의 공격

Advanced Persistent Threat (APT)
  • Advanced : 일반적인 방법이 아닌 특이한 (모든 방법을 총 망라해서) 공격하는 방법
  • Persistent : 단순 일회성 공격에 그치는 것이 아니라 공격을 지속할 수 있는 방법
  • Threat

APT가 완전히 새로운 방법은 아니다. 기존의 방법을 조합하거나 공격 대상을 확대했다.

  기존 APT
exploitation 수단 SW의 취약점을 이용하여 장악, Social engineering
목적 spam, Dos attack 등 국가 간의 스파이,
지적 재산권 (ex. 산업기밀) 훔쳐감
좀 더 대범해짐
동기 명성, 금전적 이득 군사, 정치, 기술력
타겟 machine 사용자 대상 공격 다수
시간 공격 확산 속도 빠름 느림
(나라, 공공기관 등은 개인 pc 보다 상대적으로 공격에 대한 대처가 잘 마련되어 있어 공격이 어려움)
control 자동화된 악성코드 완전히 자동화 되어있다기 보다는 manual 작업이 요구됨

 

7. 실제 발생한 APT 공격 사례

  • Operation Shady RAT (2006 ~ 2011)
  • Operation Aurora (2009)
    1. 공격자가 취약한 웹 페이지 변조
    2. 사용자가 웹 페이지에 접근
    3. 서버에 있는 악성코드 자동 다운 및 설치
  • Attack on RSA (2011)

 

8. 정형화된 APT

  1. 소셜 엔지니어링 기법을 이용해서 피싱메일 등을 전송한다.
  2. 앞선 방법으로 사람을 속여서 악성코드를 설치한다.
  3. command and control 통해 설치된 악성코드를 조종하여 내부망을 탐색한다.
  4. 중요한 데이터를 외부로 유출한다.

 

9. 쉽게 정형화 될 수 없는 APT

  • APT 공격은 위와 같이 쉽게 정형화 될 수 없다. 
  • APT 공격을 위한 매우 다양한 방법이 존재하며, 공격자는 항상 새로운 방법을 생각해낸다.
    • Social network services
    • Free USB sticks
    • Recommended responses to a breach... 
  • 비밀 데이터는 HTTP, FTP 등 일반적인 통신 프로토콜 뿐만 아니라 다양한 방법으로 유출된다.