시스템 보안

다원·2022년 11월 8일
0

로그 관리

시스템은 동작은 인증(Authentication), 인가(Authorization), Accounting으로 구분

  • 인증: 자신의 신원을 증명하는 과정, 아이디와 패스워드
  • 인가: 로그인이 허락된 사용자로 판명되어 로그인 하는 과정
  • Accounting: 로그인 할 경우 시스템이 이에 대한 기록을 남기는 활동
    책임 추적성: 추적에 대한 기록의 충실도, 추적성이 높은 시스템일수록 로그가 남음
    감사 추적(audit trail): 시간대별 이벤트 기록하는 로그

운영체제의 로그

1. 윈도우 로그

윈도우의 감사 정책(로깅 정책): 기본적으로 수행하지 않음, 필요의 경우 수행 설정
--> 제어판-관리도구-이벤트 뷰어 를 통해서 로깅 정보 확인이 가능
#윈도우의 로그 종류
개체 액세스 감사: 객체에 대해 접근 시도 or 속성 변경
계정 관리 감사: 신규 사용자 그룹 추가 등을 감시
로그온 이벤트 감사: 도메인 계정 사용시 생성
계정 로그인 이벤트: 로컬 계정을 사용할 때 생성된다는 것
권한 사용 감사: 권한 설정 변경 or 관리자 권한이 필요한 작업을 수행할 때 로깅
디렉터리 서비스 엑세스 감사:
시스템 액세스 제어 목록에 지정된 액티브 디렉토리 개체에 접근자에 대한 감사로그 제공
정책 변경: 사용자 권한 할당 정책, 감사 정책, 신뢰 정책의 변경 관련된 사항 로깅
프로세스 추적 감사: 사용자 or 프로그램이 프로세스를 시작하거나 중지할 때 이벤트 발생
시스템 이벤트: 시스템의 시작과 종료 등의 주요한 사항에 대한 이벤트

2. 유닉스의 로그

유닉스는 시스템의 로그가 분산되어 생성 (일반적으로 리눅스는 /var/log 디렉토리에 로그)

  • utmp: 유닉스 시스템의 기본적인 로그, 바이러니 형태로 로그를 저장 w, who,users, whodo,finger 등의 명령어로 로그 확인

  • wtmp: 사용자들의 로그인과 로그아웃, 시스템 재부팅에 대한 정보 보유 last 명령어로 확인 가능 (특정명령어의 경우 last 뒤에 확인 항목 추가)

  • history: 실행한 명령에 대한 기록 history 명령으로 확인

    3. 데이터베이스 로그 관리

    데이터를 요청하는 일이 빈번하여 일반적으로 로그인 이외에는 데이터베이스 접근 및 데이터 처리 로그를 남기지 않음

    MS-SQL 로그

    C2 감사 추적은 데이터베이스가 생성 삭제 변경되는지에 대한 자세한 정보를 로그로 남기는 것 (빈번한 접속이 있는 데이터베이스의 경우 대량의 로그를 생성 할 수 있음)

  • Error 로그: 확장자 .err의 파일로 데이터 디렉터리 생성, 쿼리 에러에 관련덴 메시지 포함, 기본적으로 남는 로그

  • General 로그: MySQL에서 실행되는 전체 쿼리를 저장

  • Slow Query 로그: Slow Query 로그는 쿼리가 정상 완료된 시간 실행된 시간까지 입력하기 때문에 실행 도중에 에러가 발생한 쿼리에 대해서는 로그로 남기지 않음

  • Binary 로그& Relay로그
    Binary 로그는 데이터베이스 변경 및 테이블 변경 사항들이 기록되는 바이너리 형태의 파일,
    MySQL 복제 구성하거나 특정 시점 복구 시 사용
    Binary는 마스터에서 생성, Rela 로그는 슬레이브에서 생성되며, 포캣과 내용 동일

    데이터베이스 모니터링

    네트워크 트래픽 모니터링 장비로 태핑 설치, 네트워크 패킷 중에서 데이터베이스의 질의문을 확인, 로그로 남김
    로그 방식은 데이터베이스의 성능에 영향을 미치지 않으며, 접근 시도와 질의문 입력 등을 모니터랑

    4.응용프로그램 로그

    응용프로그램은 웹서버와 FTP 서버
    웹 로그: 침해 사고 분석에서 매우 중요

    • IIS: 웹 서버의 로그 제어판-관리도구-IIS 관리자-IIS 대화상자의 로깅 항목에서 확인 가능, W3C 확장 로그 파일 형식으로 기본적 설정,
    • 아파치 웹 서버: access_log에 남고 형식은 combined 지정, combined가 기본 로그 형식, httpd.conf 파일에서 combined 형식의 LogFormat 확인 가능,
    • 네트워크 장비의 로그 관리
      1. 네트워크 보안 시스템의 로그: 침입 차단과 탐지 방지 시스템 등의 보안 시스템의 로그 확인 가능, 로그 관리 시스템에 의해 수집 및 관리
      2. 네트워크 관리 시스템의 로그: 네트워크 트래픽 모니터링 시스템(MRTG) 네트워크 관리 시스템(NMS)의 로그 참고
      3. 네트워크 장비 인증 시스템의 로그: 대규모 네트워크를 운영하는 곳에서 라우터 스위치의 인증을 일원화 하기 위한 인증 서버, TACACS tkdyd+
        네트워크 장비에는 저장 공간이 없기에, 생성된 로그는 네트워크를 통해 로그 서버로 전송
        서버 운영하면 네트워크 장비에 대한 로그를 남기고, 공격가자 로그 서버를 찾는데 시간이 걸

취약점 관리

  • 패치관리: 같은 응용 프로그램을 만든 제작사가 배포하는 패치 또는 서비스 팩을 적용

  • 응용 프로그램 별 고유 위험 관리: MS-SQL의 xp_cmdshell 데이터베이스를 통해 운영체제의 명령을 실행하고 파일 등에 접근 할 수 있도록 MS-SQL에서 지원하는 확장 저장 프로시저

  • 응용 프로그램의 정보 수집 제한: 이메일을 보낼 때 수신자가 있는 시스템의 sendmail 데몬에 해당 계정이 존재하는지 확인하는 과정, 일반 사용자는 vrfy, 그룹은 expn 명령 사용
    --> 일반 사용자의 경우 텔넷을 이용하여 시스템에 존재하는 계정 파악 가능

    모바일 보안

    IOS

    : MAC OS의 모바일 버전으로 모든 S/W는 애플 암호화 로직의 서명된 방식에 의해 무결성 확인 후 동작

    • 부팅
      부팅 시 ROM 에서 코드 실행, 애플 루트 CA의 공개 키를 포함
      부트 ROM으로 실행된 코드 애플이 서명한 LLB 무결성을 점검하고 이상 없을 시 실행
      LLB iBOOT 의 무결성 확인 후 iBOOT 실행
      iBOOT IOS 커널에 대한 무결성 확인 후 IOS의 커널을 실행

    • 시스템 S/W 개인화
      :보안 문제 즉각 대응을 위한 모든 S/W 애플의 아이튠즈 통해 일괄 배포 및 다운그레이드 할 수 없도록 방지, 시스템 소프트웨어 개인화 정차를 통해 통제

      #응용프로그램 설치 서버에 개인별 부팅 모듈의 암호 정보와 랜덤하게 생성되는 값, ECID(단말 장치별 고유 값) 전송
      응용 프로그램 설치 서버는 단말기의 고유한 S/W 코드 값을 생성 및 저장, IOS응요 프로그램 식별
      ==> 모든 단말기에 서리된 모든 프로그램애 대해 코드 값으로 버전 관리

    • 응용프로그램에 대한 서명
      : 모든 앱에 대해 코드 무결성 사인을 등록(해시 값), 애플은 원격지 삭제 권한을 가지고 있기에 IOS 설치한 애플리케이션 문제가 있을 경우 네트워크에 연결된 IOS 강제 삭제 할 수 있음

    • 샌드박스 활용
      : 응용 프로그램 실행 시(사용자 앱 경우) 가상 머신과 유사하게 운영체제와 독립된 실행

    • 멀티태스킹 및 원격지에서 IOS 로그인 금지

    • IOS 취약점
      : 통제권 철저하게 소유, IOS의 경우 외부 서비스를 제공하기 위한 특정 인터페이스를 제공하는 부분이 없기에 외부 해커가 IOS에 접근이 제한적

      안드로이드

      리눅스 커널 기반, 오픈 소스인 웹 키트 응용 프로그램 프레임 워크 기반의 브라우저를 지원, 자바로 작성된 소프트웨어는 달빅 가상머신에서 실행 가능한 코드로 컴파일
      (달빅: 모바일 기기를 위해 설계된 레지스터 기반의 가상 머신)

    • 응용 프로그램의 권한 관리: 일반 사용자 권한으로 설정

    • 응용 프로그램의 서명: 개발자가 서명하도록 함,

    • 샌드박스 활용: 안드로이드는 턱정 형태를 갖추어 권한을 요청하는 것을 허용, 동일한 개인 키 사용 동일한 프로세스 내에서 실행 할 수 있음

    • 안도로이드 루팅: root 권한으로 바꾸어 제한에서 벗어나 기기에 대한 통제권 가짐

      모바일 기기 보안

    • 워드라이빙: 이동성은 좋으나, 보안이 취약한 무선 랜 탐색하며 해킹 시도

    • 블루프린팅: 블루투스 공격 장치의 검색 활동 의미, MAC주소와 유사 블루투스 장치는 종류를 식별하기 위해 서비스 발견 프로토콜(SDP) 보내고 받음

    • 블루스나프: 장비의 임의 파일에 접근하는 공격, 인증 없이 교환 되도록 개발된 OPP 기능 사용하여 접근

    • 블루버그: 블루투스의 경우 한 번 연결되면, 다시 연결하지 않아도 서로 연결되는데 이는 인증 취약점을 이용

profile
공부일지,

0개의 댓글