• User Account Control (사용자 계정 컨트롤)
    윈도우 운영체제에서 관리자가 권한 수준을 높이는 것을 허용할 때까지 응용 프로그램들은 표준 사용자 권한으로 제한을 두는 보안기술


  • CPU 취약점
    1. Meltdown (멜트다운)
    영향: 사용자 영역 프로그램에서 운영체제 권한 영역(커널) 메모리를 읽을 수 있음
    원인: CPU 마이크로 아키텍처 구조에서 마이크로옵 단위에서 발생하는 경쟁 상태(Race Condition) 이용
    연관된 CPU 기술: 추측 실행(Speculative Execution), 비순차적 명령어 처리(Out of Order Execution)

    2. Spectre (스펙터)

    영향: 다른 유저 프로그램의 메모리를 읽을 수 있음
    원인: CPU 명령어에서 발생하는 버그를 악용
    연관된 CPU 기술: 추측 실행(Speculative Execution), 분기 예측(Branch Prediction)

    ※ 멜트다운과 스펙터 공통점
    CPU 처리 속도를 향상 시키기 위한 기술들을 도입하면서 발생한 취약점
    펌웨어 패치만으로는 대응하는데 한계가 있으며, 취약점 해결 과정에서 CPU 성능 하락이 발생함


  • 부채널 공격 (Side Channel Attack)
    물리적인 구현 과정의 정보를 기반으로 공격하는 방법
    공격 대상에 직접 접근하지 않고, 연관된 다른 정보로 우회하는 공격 방법(ex: 타자 소리를 녹음해서 비밀번호 유추)
    멜트다운 및 스펙터도 부채널 공격에 해당


  • Null Session Share 취약점
    영향: 공격자가 인증 절차를 거치지 않고 사용자 정보를 탈취하거나, 레지스트리에 접근 할 수 있음
    대상: Windows OS의 IPC$ (Iner Processing Commnunication)
    원인
      - Windows OS는 관리 목적을 위한 기본 공유로 ADMIN$, C$, D$, IPC$ 있음
      - 레지스트리 수정으로 공유 설정을 간단하게 종료할 수 있으나, IPC$는 임의로 끌 수 없게 되어있음
      - IPC$를 통해 원격 접속을 할 때 패스워드를 Null로 설정하여 접속할 수 있음


  • 좀비 프로세스
    원인 
      - 부모 프로세스의 오류로 인하여 종료한 자식 프로세스의 종료 절차가 적절히 이루어지지 않음
      - 이런 상태를 defunct 라고 표현함
// 리눅스 명령어
// 좀비 프로세스 개수 확인
top -b -n 1 | grep zombie

// 좀비 프로세스 정보 확인
ps -ef | grep defunct

// 좀비 프로세스 종료
ps -ef | grep defunct | awk '{print $3}' | xargs kill -9

 

  • FIDO (Fast IDentity Online)
    종류
      1. UAF (Universal Authentication Framwork)
       - 패스워드를 대체하는 사용자 인증 방식
       - 휴대 단말에 저장된 생체 정보를 이용해서 인증
       - 추가적인 패스워드 입력이 필요 없음

      2. U2F (Universal 2nd Factor)
      - 아이디, 비밀번호 인증을 강화하기 위한 별도의 인증을 추가하는 방식
      - 별도(두번째) 인증을 위해 USB나 NFC 디바이스의 버튼 클릭 필요(ex: Yubikey)


  • DEP (Data Execution Prevention)
    의미: 실행 방지 메모리 영역에서 코드가 실행되지 않도록 하는 윈도우 운영체제에 포함된 보안 기능
    효과: 버퍼 오버플로우, 힙스프레이 등 메모리 기반의 실행 공격을 예방


  • 윈도우 인증 요소
    1. SRM (Security Reference Monitor)
    - 의미: 인증된 사용자에게 SID를 부여
    - 용도: SID를 기반으로 파일/디렉터리의 접근 제어를 수행하고, 이에 대한 감사 메시지를 생성

    2. LSA (Local Security Authority)

    - 의미: 계정명과 SID(Security ID)를 매칭 후, SRM이 생성한 감사 로그를 기록
    - 용도: 로컬, 원격 로그인에 대한 검증 및 시스템 자원에 대한 접근 권한 검사

    3. SAM (Security Account Manager)
    - 의미: 윈도우 운영체제에서 사용자의 비밀번호를 저장하는 데이터베이스 파일
    - 용도: 사용자의 로컬 또는 원격 인증에 사용


  • 윈도우 Power User (Group 포함)
    - 로컬 사용자 계정의 자원을 공유 및 수정가능
    - 관리자 권한보다는 한단계 낮지만, 일반 사용자보다는 한단계 높은 제한적인 권한


  • inode
    - 리눅스 운영체제의 파일시스템에서 파일에 부여하는 고유 번호
    - 파일 이름을 제외한 파일에 대한 모든 정보를 가지고 있음
      1. 접근 권한
      2. 파일 유형
      3. 파일 크기
      4. 파일 위치
      5. 링크 개수
      6. 소유자/소유 그룹
      7. 최근 파일 수정/접근 정보
      8. inode 수정 정보


  • 무차별 대입 공격 (Brute Force Attack)
    - 암호 해독을 위해 모든 값을 대입하는 것을 의미
    - 툴
      1. John the ripper
      2. Hydra
      3. Medusa
      4. Cain and abel (ARP Spoofing 에서도 활용)


  • 윈도우 루트키(Root Key)
    - 윈도우 레지스트리 중 가장 상위레벨에 있는 레지스트리 키
    1. Master Key
      - Hive파일에 저장되어 있는 키
      - HKEY_LOCAL_MACHINE(HKLM) : 설치된 하드웨어 정보를 구동시키는데 필요한 정보
      - HKEY_USERS(HKU) : 사용자들의 정보

    2. Derived Key
      - Master Key를 토대로 재구성 되는 키로 메모리에 존재
      - HKEY_CLASSES_ROOT(HKCR) : 파일의 각 확장자에 대한 정보와 프로그램 간 연결 정보
      - HKEY_CURRENT_USER(HKCU) : 현재 시스템에 로그인하고 있는 사용자와 관련된 시스템 정보
      - HKEY_CURRENT_CONFIG(HKCC) : 시스템이 시작할 때 사용하는 하드웨어 프로파일 정보 (ex: 디스플레이, 프린트 정보)


  • Format String
    - printf 처럼 문자열 관련 함수에서 문자열 포맷을 잘못된 형태로 입력하는 경우에 나타나는 버그를 이용한 취약점


  • 리눅스 로그
    1. wtmp
      - 성공한 로그인, 로그아웃 기록
      - last 명령어로 사용

    2. utmp
      - 현재 로그인한 사용자들에 대한 정보
      - w, who, finger 명령어로 사용

    3. btmp
      - 5번이상 로그인에 실패한 경우에 대한 기록
      - lastb 명령어로 사용

    4. pacct
      - 로그인 ~ 로그아웃까지 입력한 명령어 사용 기록
      - lastcomm, acctcom 명령어로 사용

    5. history
      - 사용자가 입력한 명령어 기록
      - pacct 와 다르게 파일 시스템의 어느 디렉토리에서 실행되었는지 알 수 있어서 공격자 행위 추적에 용이

    6. lastlog
      - 사용자별 가장 마지막에 로그인한 시간, 접속 IP등에 대한 기록
      - lastlog 명령어로 사용

    7. sulog
      - Switch User(su) 명령어를 사용한 기록

    8. xferlog
      - FTP 를 통한 데이터 전송 기록


  • 리눅스 파일권한
    - 8진수로 표기하며, 최대 네 자리로 각 자리수별 의미가 있음
    - 각 자리수별로 {특수권한}/{소유자 권한}/{그룹 권한}/{기타 사용자 권한} 네가지를 의미
    - 예제: chmod 0777 file(777 과 동일한 의미) : 모든 사용자/그룹에 대해 해당 파일의 읽기, 쓰기, 실행을 허용함
특수 권한 소유자 권한(u, user) 그룹 권한
(g, group)
기타 사용자
권한
(o, other)
4 2 1 4 2 1 4 2 1 4 2 1
setuid setgid sticky bit r (읽기 허용) w (쓰기 허용) x (실행 허용) r w x r w x

       - 8진수를 사용하지 않고, 명령어를 활용할 수도 있음
       - 예제: chmod u+x file : 소유자에게 파일의 실행 권한을 부여함
       - 예제: chmod o=rw : 기타 사용자에게 읽기, 쓰기 권한 지정
       - 명령어: + (권한 추가), - (권한 삭제), = (권한 지정)
       - 특수 권한 설명

더보기

1. ls -al 처럼 파일 정보를 보는 명령어를 보면 실제로 권한은 아래처럼 표기됨
  ex:) -rwxrw-r--
     위 예제에서 맨 앞의 - 는 파일 유형을 의미하고, r부터 권한을 의미
     소유자는 파일에 대한 모든 권한을 가지고 있음
     소속 그룹은 읽고, 쓰기 권한만 있음
     이외 사용자는 읽기 권한만 있음을 의미

2. ls -al 파일 정보 명령어에서 특수 권한 SetUID 에 대한 예시
  ex:) -rwsr--r--
     파일을 실행할 때 파일 소유자의 권한 (UID)을 임시로 사용함을 의미
     파일 실행이 종료될 때까지 소유자의 UID 로 실행이 됨
     만약 실행 권한이 없는 파일에 SetUID 권한을 부여하면, 대문자 S 로 표기됨

3. ls -al 파일 정보 명령어에서 특수 권한 SetGID 에 대한 예시
  ex:) -r--rwsr--
     파일을 실행할 때 파일 그룹의 권한(GID)을 임시로 사용함을 의미
     SetUID 와 소유자/그룹 차이라는 점만 다르며 이외 기능 동일함

4. ls -al 파일 정보 명령어에서 특수 권한 Sticky Bit 에 대한 예시
  ex:) -r--r--rwt
     특정 디렉토리를 누구나 자유롭게 사용할 수 있게 사용함을 의미
     해당 디렉토리내에서 파일/디렉토리 생성은 누구나 가능하나 삭제는 소유자와 그룹만 가능
     만약 실행 권한이 없는 파일에 Sticky Bit 권한을 부여하면, 대문자 T 로 표기됨

 

  • UTM (Unified Threat Management)
    - 의미: 방화벽, 침입 탐지·방지 시스템, 백신, 가상사설망 등 다양한 보안 장비를 하나의 장비로 통합한 것 (IPS·IDS와 방화벽이 결합된 형태)
    - 한계: 경제성이 있고 보안 관리가 편해지지만 장애 발생시 보안기능에 심각한 영향


  • IDS (Intrusion Detection System)
    - 네트워크 또는 호스트로의 비정상적인 접근을 탐지하는 시스템
    - 종류
      1. 지식기반 침입탐지 (Knowledge-based Detection 또는 오용탐지(Misuse Detection))
          - 비정상 행위에 대한 패턴을 입력하여 일치하는 패턴을 탐지
          - 오탐률은 낮으나 새로운 패턴은 탐지 불가


      2. 행위기반 침입탐지 (또는 이상탐지(Anomaly Detection))
          - 정상 행위와 비정상 행위를 프로파일링 하여 통계 및 AI를 이용하여 정상/비정상을 구분
          - 어느정도 예측을 기반으로 새로운 패턴 감지 가능하나 오탐률이 높음

+ Recent posts