3학년 2학기 공부 과정/정보보안

02. 시스템 보안

환성 2022. 12. 15. 22:38
728x90

 

1. 시스템 보안의 이해

시스템

  • 하드웨어뿐만 아니라 소프트웨어까지 매우 많은 것 포괄
  • 시스템 관련 보안 주제는 훨씬 큰 범위의 보안, 조직, 국가 단위의 보안 요소를 다루는 일

2. 계정 관리

식별과 인증

  • 식별 : 어떤 시스템에 로그인하려면 먼저 자산이 누군지를 알림
  • 인증 : 로그인을 허용하기 위한 확인
  • 보안의 네 가지 인증 방법
    • 알고 있는 것
      • 머리속에 기억하고 있는 정보를 이용하여 인증 수행
    • 가지고 있는 것
      • 신분증, OTP
    • 자신의 모습
      • 홍채와 같은 생체 정보 인증 수행
    • 위치하는 곳
      • 현재 접속을 시도하는 위치의 적절성을 확인하거나 콜백 사용해 인증 수행

 

운영체제의 계정 관리

  • 운영체제 : 시스템을 구성하고 운영하기 위한 가장 기본적 소프트웨어
    • 일반 사용자의 권한 계정도 시스템의 상당 부분에 대한 읽기 권한을 가짐
    • 관리자 권한 뿐 아니라 일반 사용자 권한이 있는 계정도 적절하게 제한
    • 윈도우의 계정 관리
      • 관리자 계정 : administrator
      • 확인하려면 net localgroup administrators 명령 사용
      • 사용자 계정 모두 확인시 net users
      • net localgroup
       
        • 윈도우의 주요 그룹

 

  • 유닉스의 계정 관리
    • 기본 관리자 계정 root가 존재
    • /etc/passwd 파일에서 계정 목록 확인, 그룹은 /etc/group 파일에서 확인
    • 계정 확인
     
    • 관리자는 사용자 번호 0 그룹번호 0

 

  • 데이터베이스의 계정 관리
    • MS-SQL의 관리자 계정은 sa, 오라클은 sys, system
    • system은 DB 생성 X
  • 응용 프로그램의 계정 관리
    • TFTP처럼 인증 X 프로그램 주의 필요
  • 네트워크 장비의 계정 관리
    • 패스워드만 알면 접근 가능
    • 사용자모드(상태확인), 관리자모드(설정변경)
    • 계정 생성 후 각 계정으로 사용할 수 있는 명령어 집합 제한

 

3. 세션 관리

세션

  • 사용자와 시스템 사이 또는 두 시스템 사이의 활성화된 접속
  • 해님 달님 : 손의 모양새 이용
  • 지속적인 인증
    • 인증에 성공한 후 인증된 사용자가 맞는지 지속적으로 재인증을 거치는 작업
    • 시스템은 이를 세션에 대한 타임아웃 설정으로 보완(화면 보호기)
    • 유닉스는 원격 접속 시 세션을 종료한 후 재접속 요구
    • 웹 서비스도 마찬가지
    • 유지하는 이유 세션 하이재킹, 네트워크 패킷 스니핑 대응, 지속적인 인증

 

4. 접근 제어

접근 제어

  • 적절한 권한을 가진 인가자 및 특정 시스템이나 정보에 접근하도록 통제
  • 시스템의 보안 수준을 갖추기 위한 가장 기본적 수단
  • IP와 서비스 포트
  • 운영체제 접근 제어 수행시 어떤 관리적 인터페이스가 운영되는지 파악
  • 운영체제의 접근 제어
    • 불필요한 인터페이스 제거
      • 사용할 인터페이스에 보안 정책을 적용할 수 있는지 확인
        • 텔넷은 스니핑과 세션 하이재킹에 취약 사용 X
        • 기본적으로 IP로 수행
        • 가능하면 SSH, XDMCP 사용
      • 운영체제에 대한 접근 목적의 인터페이스를 결정한 뒤 접근 제어 정책 적용
        • 유닉스는 텔넷, TCPWrapper를 통해 접근 제어
        • 시스템에 대한 접근 제어는 기본적으로 IP

inetd 데몬

  • 클라이언트로부터 inetd가 관리하는 텔넷이나 SSH, FTP 등에 대한 연결 요청을 받음
    • 해당 데몬을 활성화하여 실제 서비스를 함으로써 데몬과 클라이언트의 요청을 연결
  • TCPWrapper가 설치되면 inetd 데몬은 TCPWrapper의 tcpd 데몬에 연결을 넘겨줌
    • tcpd 데몬은 접속을 요구한 클라이언트에 적절한 접근 권한이 있는지 확인, 해당 데몬에 연결을 넘겨줌

 

데이터베이스의 접근 제어

  • 데이터 베이스
    • 조직의 영업 및 운영 정보를 담고 있는 핵심 응용 프로그램
    • 적절한 접근 제어는 필수, 모든 DB가 적절한 접근 제어 수단 제공 X
    • 오라클은 $ORACLE_HOME/network/admin/sqlnet.ora 파일에서 접근 제어 설정

응용 프로그램의 접근 제어

    • NGINX(오픈 소스 웹 서버 프로그램) 웹 사이트 설정 파일에서 접근 제어 수행

 

  • 네트워크 장비의 접근 제어
    • IP에 대한 접근 제어
    • ACL을 통한 네트워크 트래픽 접근 제어아 있음
    • 유닉스 접근 제어와 같음

5. 권한 관리

운영체제의 권한 관리

  • 윈도우의 권한 관리
      • NT 4.0 이후 버전부터 NTFS를 기본 파일 시스템으로 사용
    • [등록정보] - [보안] 선택 시 권한 설정 화면
    • 권한의 규칙
      • 접근 권한이 누적, 허용보다 거부, 파일 접근 권한이 우선
     

 

유닉스의 권한 관리

  • 파일과 디렉토리 권한 설정이 같음
      • ls -al로 디렉토리 내용 확인

 

    • etc 항목

데이터베이스의 권한 관리

  • 질의문에 대한 권한 관리
    • DDL
      • CREATE, ALTER, DROP
    • DML
      • SELECT, INSERT, UPDATE, DELETE
    • DCL
      • GRANT, REVOKE, DENY
  • 뷰에 대한 권한 관리
    • 생성된 뷰에 대한 권한 설정은 테이블과 같음
      • 사용하지 않는 경우 테이블에 각각 접근 제한

 

 

6. 로그 관리

AAA 요소

  • 시스템 사용자가 로그인한 후 명령을 내리는 과정에 대한 시스템 동작
  • 로그를 남기는 모든 시스템에 존재
  • 책임 추적성, 감사 추적
  • Authentication(인증)
    • 자신의 신원을 시스템에 증명하는 것으로 ID, Password 입력
  • Authorization(인가)
    • 신원이 확인되어 인증받은 사람이 출입문에 들어가도록 허락하는 과정
  • Accounting
    • 로그인했을 때 시스템이 이에 대한 기록을 남기는 활동

 

운영체제의 로그 관리

      • 로깅 정책은 기본적으로 수행 X, 필요할 경우 수행하도록 설정윈도우의 로그
        • [로컬 보안 정책] - [감사 정책]

 

  • 유닉스의 로그
    • /usr/adm: (초기 유닉스),데이터 베이스 객체에 권한 부여
    • /var/adm: (최근 유닉스),솔라리스, HP-UX 10.x, IBM AIX
    • /var/run : 일부 리눅스
    • 일반적으로 /var/log 디렉토리에 로그 존재

 

  • utmp
    • 유닉스 시스템의 가장 기본적인 로그
    • 바이너리 형태로 로그 저장
  • wtmp
    • utmp 데몬과 비슷하게 사용자 로그인, 로그아웃, 재부팅에 대한 정보 확인
    • last로 내용 확인
  • secure
    • 일반 유닉스에서 su 로그는 /var/adm/sulog 파일에 텍스트 형식으로 남음 
  • history
    • 명령 창에서 실행한 명령 기록 확인
  • syslog
    • 시스템 운영과 관련한 전반적인 로그
    • /var/log/messages 파일에 로그 남김 

 

  • MS-SQL의 로그
    • [보안] 메뉴에서 ‘일반 로그인 감사’와 ‘C2 감사 추적’을 설정할 수 있음
    • General 로그의 경우, 현재 설정을 확인할 수 있음
    show variables like 'general%';  # 설정 및 해제 set global general_log = ON; set global general_log = OFF;

 

  • 오라클의 로그
    • 오라클 파라미터 파일의 AUDIT_TRAIL 값을 ‘DB’ 또는 ‘TRUE’로 지정
    • 오라클에서 남길 수 있는 데이터베이스 감사의 종류 : 문장 감사, 권한 감사, 객체 감사
    • IIS 웹 서버의 로그  

 

네트워크 장비의 로그 관리

  • 네트워크 보안 시스템의 로그
    • 다양한 보안 시스템의 로그는 통합 로그 관리 시스템(SIEM)에 의해 수집 관리
  • 네트워크 관리 시스템의 로그
    • MRTG(네트워크 트래픽 모니터링 시스템), NMS(네트워크 관리 시스템) 로그 참고
  • 네트워크 장비 인증 시스템의 로그
    • 라우터나 스위치 인증을 일원화하기 위해 TACACS+ 사용

7. 취약점 관리

패치 관리

    • 윈도우 업데이트를 통해 자동으로 보안 패치 확인

 

 

응용 프로그램별 고유 위험 관리

  • 응용 프로그램을 통해 운영체제의 파일이나 명령을 실행시킬 수 있는 것이 있음
  • MS-SQL의 xp_cmdshell은 DB를 통해 운영체제 명령 실행
  • 적절성 검토

 

응용 프로그램의 정보 수집 제한

  • 운영체제에 직접적인 영향을 미치지 않아도 응용 프로그램의 특정 기능이 운영체제의 정보 노출
  • 유닉스에서 이메일 보낼 때 수신자가 있는 시스템의 sendmail 데몬에 확인용으로 일반 계정 vrfy, 그룹은 expn명령을 사용
telnet 192.168.61.129 25 vrfy root vrfy wishfree vrfy abc

8. 모바일 보안

iOS의 보안 체계

  • 보안에 대한 기본적인 통제권을 애플이 소유
  • 완전한 통제를 위해 보안 모델을 두고 네 가지 시스템 보안 체계를 갖춤
  • 커널 : 운영체제 핵심부분,다른 프로그램 수행에 서비스 제공
  • 샌드 박스 : 일종의 가상머신, 원래 운영체제와 독립 실행

 

  • 안전한 부팅 절차 확보
  • 시스템 소프트웨어 개인화
    • 애플 아이튠즈를 통해 배포(보안 문제)
    • 고유한 코드 값으로 버전 관리
  • 응용 프로그램에 대한 서명
    • 애플은 iOS에 설치되는 모든 앱에 대해 코드 무결성 사인 등록
  • 샌드박스 활용
    • 애플은 사용자앱에 적용
    • 사용자 앱은 앱 간 데이터 전송 X, 시스템 파일 접근 X
  • 멀티태스킹 X
  • 원격지 iOS 로그인 X

 

iOS의 취약점

  • 외부 해커가 접근할 수 있는 방법 제한적
  • 탈옥한 iOS 기기 이용, 패스워드 변경
  • iOS에서 root의 패스워드가 alpine으로 설정

 

안드로이드의 보안 체계

  • 안드로이드는 리눅스 커널을 기반으로 하는 모바일 운영체제
    • 공개적인 프로그램 개발 추구
  • 응용 프로그램의 권한 관리
    • 일반 사용자 권한으로 실행
    • 사용자의 데이터 접근시 사용자 동의를 받음
  • 응용 프로그램의 서명
    • 안드로이드는 개발자가 서명
  • 샌드박스 활용
    • 기본적으로 시스템과 다른 애플리케이션에 접근 통제

 

안드로이드의 취약점

  • 각종 바이러스와 악성 코드 유포되며 그에 따른 백신 보급
  • iOS에 비해 상대적으로 보안 취약
    • iOS는 탈옥, 안드로이드는 루팅

 

모바일 기기 보안

  • 블루투스
    • 높은 수준의 암호화 인증 구현 X, 다양한 위험에 노출
  • 블루프린팅
    • 블루투스 공격 장치의 검색 활동 의미
    • 각 블루투스 장치에는 6바이트의 고유 주소 존재(앞 3 제조사, 뒤 3 장치별 할당)
    • 공격자는 서비스 발견 프로토콜(SDP)를 이용 블루투스 장치 검색 후 공격
  • 블루스나프
    • 블루투스의 취약점 이용하여 장비의 임의 파일에 접근 공격
  • 블루버그
    • 블루투스 장비 간의 취약한 연결 관리를 악용한 공격
    • 공격 장치와 공격 대상 장치를 연결하여 공격 대상 장치에서 임의의 동작 실행

 

'3학년 2학기 공부 과정 > 정보보안' 카테고리의 다른 글

07. 암호의 이해  (0) 2022.12.22
06. 악성 코드  (0) 2022.12.22
04. 웹 보안  (0) 2022.12.22
03. 네트워크 보안  (2) 2022.12.15
01. 정보 보안의 세계  (0) 2022.12.15