코드 훔쳐보는 변태 코더
춤 좋아하는 백엔드 개발자(였으면 좋겠다)
정보보안개론 03-15 (정리) 보안공격 사례와 시스템 보안 관리

랜섬웨어 사고의 재구성

  • 2017년 6월 10일 국내 호스팅 업체가 보안 공격으로 서비스가 중지되는 사고가 발생하였다.
    • 150여 대의 서버가 랜섬웨어 라는 악성코드 공격으로 서비스가 중지되었다.
    • 고객사 중요 파일들이 암호화 랜섬웨어 공격으로 서비스 장애 공지가 되었다.
  • 랜섬웨어 공격이란
    • 일반파일을 암호화시켜 뒤에 새로운 확장자를 추가함
  • 최초의 악성코드 설치는 APT 공격에 의한 것으로 추정된다. (Advanced Persistent Threats, 지능형 지속 위협)
    • 하나의 타겟을 목표로 오랜 시간 동안 흔적을 남기지 않고 정보를 수집해 공격한다.
  • APT 보안 공격
    • 숨바꼭질형 보안 공격으로도 불린다.
  • 랜섬웨어 공격 예제
    • 관리자 PC 공격 및 계정 정보 탈취
      • 악성코드를 설치하여 관리자 PC에서 내부 정보를 수집한다.
    • 게이트웨이 서버를 통해 서버 접속 및 악성코드 설치
      • 백업 서버에도 랜섬웨어를 설치한다.
    • 랜섬웨어를 실행한다.
    • APT 공격에 의한 것으로 추정된다.
      • 오랜 잠복기간을 거쳐 정보를 수집 하기 때문에 어느 순간에 공격을 당하게 되었는지 확인하기 쉽지 않다.

개인정보 유출 사고 예제

  • 업데이트 서버 해킹
    • 보안 공격자가 업데이트 파일을 서버에서 본인이 만든 업데이트 파일로 교체
  • 감염된 업데이트 파일에 의한 좀비 PC 생성
    • 공격대상으로 삼은 기업만 대상으로 하여 데이터베이스 관리자 ID와 비밀번호까지 탈취
  • 좀비 PC를 통하여 개인정보 유출

보안 공격의 이해 및 필요 지식

  • 보안 관련 선수 지식
    • 운영체제 (OS) : 공격을 하려고 하거나 어떤 공격에 대한 것을 탐지를 하려고 할때 운영체제를 모르면 깊이가 없다. 내부적으로 하드웨어를 컨트롤 하는것 등 중요 부분 을 담당하기 때문
    • 네트워크 : 네트워크를 타고 들어와서 공격하는 경우가 있기 때문에 공격의 이해를 위해 필요하다.
    • 서버 : 해당 서버가 어떤 서비스를 제공하고 어떤 방식에 의해 동작되는지 알아야 공격으로부터 수비하는 방법을 알 수 있다. (리눅스에 대해서 알고있어야 한다.)
    • 프로그래밍 : 해킹 프로그램에 대응하려면 프로그래밍에 대한 기본적인 지식이 필요하다.

보안 모델과 솔루션

  • 보안의 3대 요소
    • 기밀성
      • 정보를 오직 인가된 사용자에게만 허가한다.
    • 무결성
      • 허락되지 않은 자가 정보를 수정하거나 위/변조 할 수 없도록 하는것 (정일완)
        • 정확성 → 틀린 내용 X
        • 완전성 → 내용중에 빠진것이 있으면 X
        • 일관성 → 다른 정보와 일치해야한다.
    • 가용성
      • 접근 권한이 있으면 정보에 정해진 시간 내에 접근할 수 있음을 보장
  • 보안성 강화
    • 기술적 보호 조치 (보안 솔루션)
    • 보안 정책에 의한 절차적 보안 조치도 필요하다. (직원 교육)
    • 보안 정책과 기준을 기반으로 적합한 보안 제품을 도입한다.
  • 정리보안 솔루션 구축, 직원 교육으로 절차적 보안 조치, 보안 제품 도입
  • 보안의 3대 요소로 기무가 (기밀성 무결성(정일완) 가용성)

시스템 보안

  • 최근의 많은 보안 사고들은 네트워크를 통해 외부에서 침입한 공격에 의해 발생하고있다.
    • 제로데이 공격과 같은 기존에 알려지지 않은 최신 공격 기법을 사용한 경우에는 어쩔 수 없지만**, 많은 보안 사고들은 미리 준비를 하면 막을 수 있는 경우가 대부분**이다.
      • 정상적인 패치가 나오기 전 까진 무방비 상태
      • 아직 알려지지 않은 컴퓨터 소프트웨어 취약점을 의미한다.
        • 취약점이 발견되면 제작자나 개발자가 취약점을 보완하는 패치를 배포하고 사용자는 이를 다운받아 대응한다.
        • 제로데이 공격은 공격의 신속성을 의미하는 것 (대처 방법이 없다.)

시스템

  • 서버
    • 서비스를 제공하는 시스템
    • 웹 서버 프로그램을 설치하면 → 웹서버
    • DBMS 서버 프로그램을 설치하면 DB 서버
    • 대표적인 서버 운영체제 → 윈도우 / 유닉스 (금융쪽에서 많이 사용한다.) / 리눅스
  • 정보 시스템 개요
    • 데이터를 수집 저장 가공 배분하는 시스템으로 정의한다.
    • 하드웨어 소프트웨어 사람 데이터 프로세스 로 구성된다.
  • 시스템 : 보안 공격 대상이 될 수 있는 단위
    • 대표적인 시스템 → 리눅스 / 윈도우 / 유닉스 (서버용 운영체제)
  • 서버
    • 서비스를 제공하는 시스템
    • 서버용 운영체제가 설치된 컴퓨터
      • 웹서버 프로그램 → 웹서버
      • DBMS 서버 프로그램 → DB서버

  • 시스템의 보안성을 평가하는 4가지 항목 (각각의 항목들이 제대로 보안성을 갖추고 있는지가 안정성을 평가하는 측도가 된다.)
    • 계정관리
      • 계정 → 허가된 사용자인지 검증을 위한 정보 (신분증)
      • 관리자 계정 → 엄격한 관리가 필요하다. (전체적으로 컴퓨터를 관리할 수 있는 권한이 있는 계정)
        • 탈취당하면 상당히 심각한 문제가 발생한다.
      • 가능한 관리자 계정의 개수는 줄여라
        • 관리자 계정에 대한 보안 위험 범위가 확대된다. (문이 많은 것;;;)
        • 보안상 관리 비용 증가 (문 고장나면 어쩔겨)
        • 시스템 및 보안 → 관리 도구 → 컴퓨터 관리에서 계정 관리
      • 관리자 아이디를 변경하라
        • 무차별 공격 (브루트 포스) 대비
        • 시스템 및 보안 → 관리 도구 → 로컬 보안 정책
    • 암호 관리
      • 보안 공격자는 사람들이 쉽게 사용하는 암호들을 미리 관리한 암호 사전이 있다. (밥먹듯이 해킹하는데 없으면 이상;;)
      • 좋은 암호가 가지는 특징
        • 길이가 길어야 한다.
        • 영어 숫자 특수문자 등을 조합
        • 로컬 보안 정책 설정 → 비밀번호의 보안 강도를 강제적으로 설정해준다.
    • 서비스 관리
      • 공유 폴더에 대한 익명 사용자의 접근을 막아라.
        • 컴퓨터 관리 → 공유 폴터
        • 인가 되지 않은 익명의 사용자가 네트워크를 통하여 중요한 문서에 접근할 수 있다면 보안적으로 심각한 문제가 발생할 수 있다. (우리집에 쌩판 남 들어오면 안됨;;)
      • 불필요한 서비스를 제거하라
        • 보안 가이드에서 권고되는 중지 대상 서비스를 제거

      • FTP 서비스를 가능한 사용하지 않거나 접근 제어를 엄격하게 관리한다.
        • FTP
          • 서버 ↔ 클라이언트 사이의 파일 전송을 위한 통신 프로토콜 중 하나
          • 윈도우 서버 운영체제에서는 FTP 서비스를 제공한다.
          • www 방식보다 파일을 빠른 속도로 한꺼번에 주고 받을 수 있다.
          • 사진, 음악, 동영상 등의 멀티미디어 콘텐츠는 내려받기가 완료 후 다음에 확인이 가능하다.
        • 익명 인증 금지
        • Everyone 계정 제거
        • 접근 제어 설정
          • 접속 가능한 IP주소 대역을 설정한다.
        • SFTP 가 권장된다.
          • SSL 암호화 통신 프로토콜을 사용한다.
          • 스니핑을 통한 유출 가능성이 낮다.
          • SSH 개요
            • 안전하게 통신할 수 있는 기능을 제공하는 응용 프로그램 또는 프로토콜
          • SSL
            • 네트워크에 통신 보안을 제공하기 위해 설계된 암호 규약
    • 패치 관리
      • 소프트웨어의 사소한 기능 개선 또는 버그나 오류 등을 수정하기 위해 개선한 프로그램
      • 핫픽스와 서비스 팩
        • 핫픽스 → 버그 수정이나 보안 취약점 보완을 위해 긴급히 배보하는 패치 (so hot..)
        • 하나의 핫픽스는 하나의 취약점 혹은 버그만 다룬다.
      • 서비스 팩
        • 여러개의 패치 및 개선 사항이 모여있는 프로그램
        • 운영체제의 핵심인 커널이 변경되기도 한다.
        • 패치를 따로 설치하는 것보다 서비스 팩을 설치하는 것을 권장한다.
    • 로그 관리
      • 로그 : 책임 추적성을 가능하게 하는 기반 자료
        • 책임 추적성 → 사용자의 행위에 대해 추적이 가능하다. (발자취..)

랜섬웨어 사고의 재구성

  • 2017년 6월 10일 국내 호스팅 업체가 보안 공격으로 서비스가 중지되는 사고가 발생하였다.
    • 150여 대의 서버가 랜섬웨어 라는 악성코드 공격으로 서비스가 중지되었다.
    • 고객사 중요 파일들이 암호화 랜섬웨어 공격으로 서비스 장애 공지가 되었다.
  • 랜섬웨어 공격이란
    • 일반파일을 암호화시켜 뒤에 새로운 확장자를 추가함
  • 최초의 악성코드 설치는 APT 공격에 의한 것으로 추정된다. (Advanced Persistent Threats, 지능형 지속 위협)
    • 하나의 타겟을 목표로 오랜 시간 동안 흔적을 남기지 않고 정보를 수집해 공격한다.
  • APT 보안 공격
    • 숨바꼭질형 보안 공격으로도 불린다.
  • 랜섬웨어 공격 예제
    • 관리자 PC 공격 및 계정 정보 탈취
      • 악성코드를 설치하여 관리자 PC에서 내부 정보를 수집한다.
    • 게이트웨이 서버를 통해 서버 접속 및 악성코드 설치
      • 백업 서버에도 랜섬웨어를 설치한다.
    • 랜섬웨어를 실행한다.
    • APT 공격에 의한 것으로 추정된다.
      • 오랜 잠복기간을 거쳐 정보를 수집 하기 때문에 어느 순간에 공격을 당하게 되었는지 확인하기 쉽지 않다.

개인정보 유출 사고 예제

  • 업데이트 서버 해킹
    • 보안 공격자가 업데이트 파일을 서버에서 본인이 만든 업데이트 파일로 교체
  • 감염된 업데이트 파일에 의한 좀비 PC 생성
    • 공격대상으로 삼은 기업만 대상으로 하여 데이터베이스 관리자 ID와 비밀번호까지 탈취
  • 좀비 PC를 통하여 개인정보 유출

보안 공격의 이해 및 필요 지식

  • 보안 관련 선수 지식
    • 운영체제 (OS) : 공격을 하려고 하거나 어떤 공격에 대한 것을 탐지를 하려고 할때 운영체제를 모르면 깊이가 없다. 내부적으로 하드웨어를 컨트롤 하는것 등 중요 부분 을 담당하기 때문
    • 네트워크 : 네트워크를 타고 들어와서 공격하는 경우가 있기 때문에 공격의 이해를 위해 필요하다.
    • 서버 : 해당 서버가 어떤 서비스를 제공하고 어떤 방식에 의해 동작되는지 알아야 공격으로부터 수비하는 방법을 알 수 있다. (리눅스에 대해서 알고있어야 한다.)
    • 프로그래밍 : 해킹 프로그램에 대응하려면 프로그래밍에 대한 기본적인 지식이 필요하다.

보안 모델과 솔루션

  • 보안의 3대 요소
    • 기밀성
      • 정보를 오직 인가된 사용자에게만 허가한다.
    • 무결성
      • 허락되지 않은 자가 정보를 수정하거나 위/변조 할 수 없도록 하는것 (정일완)
        • 정확성 → 틀린 내용 X
        • 완전성 → 내용중에 빠진것이 있으면 X
        • 일관성 → 다른 정보와 일치해야한다.
    • 가용성
      • 접근 권한이 있으면 정보에 정해진 시간 내에 접근할 수 있음을 보장
  • 보안성 강화
    • 기술적 보호 조치 (보안 솔루션)
    • 보안 정책에 의한 절차적 보안 조치도 필요하다. (직원 교육)
    • 보안 정책과 기준을 기반으로 적합한 보안 제품을 도입한다.
  • 정리보안 솔루션 구축, 직원 교육으로 절차적 보안 조치, 보안 제품 도입
  • 보안의 3대 요소로 기무가 (기밀성 무결성(정일완) 가용성)

시스템 보안

  • 최근의 많은 보안 사고들은 네트워크를 통해 외부에서 침입한 공격에 의해 발생하고있다.
    • 제로데이 공격과 같은 기존에 알려지지 않은 최신 공격 기법을 사용한 경우에는 어쩔 수 없지만**, 많은 보안 사고들은 미리 준비를 하면 막을 수 있는 경우가 대부분**이다.
      • 정상적인 패치가 나오기 전 까진 무방비 상태
      • 아직 알려지지 않은 컴퓨터 소프트웨어 취약점을 의미한다.
        • 취약점이 발견되면 제작자나 개발자가 취약점을 보완하는 패치를 배포하고 사용자는 이를 다운받아 대응한다.
        • 제로데이 공격은 공격의 신속성을 의미하는 것 (대처 방법이 없다.)

시스템

  • 서버
    • 서비스를 제공하는 시스템
    • 웹 서버 프로그램을 설치하면 → 웹서버
    • DBMS 서버 프로그램을 설치하면 DB 서버
    • 대표적인 서버 운영체제 → 윈도우 / 유닉스 (금융쪽에서 많이 사용한다.) / 리눅스
  • 정보 시스템 개요
    • 데이터를 수집 저장 가공 배분하는 시스템으로 정의한다.
    • 하드웨어 소프트웨어 사람 데이터 프로세스 로 구성된다.
  • 시스템 : 보안 공격 대상이 될 수 있는 단위
    • 대표적인 시스템 → 리눅스 / 윈도우 / 유닉스 (서버용 운영체제)
  • 서버
    • 서비스를 제공하는 시스템
    • 서버용 운영체제가 설치된 컴퓨터
      • 웹서버 프로그램 → 웹서버
      • DBMS 서버 프로그램 → DB서버
  • 시스템의 보안성을 평가하는 4가지 항목 (각각의 항목들이 제대로 보안성을 갖추고 있는지가 안정성을 평가하는 측도가 된다.)
    • 계정관리
      • 계정 → 허가된 사용자인지 검증을 위한 정보 (신분증)
      • 관리자 계정 → 엄격한 관리가 필요하다. (전체적으로 컴퓨터를 관리할 수 있는 권한이 있는 계정)
        • 탈취당하면 상당히 심각한 문제가 발생한다.
      • 가능한 관리자 계정의 개수는 줄여라
        • 관리자 계정에 대한 보안 위험 범위가 확대된다. (문이 많은 것;;;)
        • 보안상 관리 비용 증가 (문 고장나면 어쩔겨)
        • 시스템 및 보안 → 관리 도구 → 컴퓨터 관리에서 계정 관리
      • 관리자 아이디를 변경하라
        • 무차별 공격 (브루트 포스) 대비
        • 시스템 및 보안 → 관리 도구 → 로컬 보안 정책
    • 암호 관리
      • 보안 공격자는 사람들이 쉽게 사용하는 암호들을 미리 관리한 암호 사전이 있다. (밥먹듯이 해킹하는데 없으면 이상;;)
      • 좋은 암호가 가지는 특징
        • 길이가 길어야 한다.
        • 영어 숫자 특수문자 등을 조합
        • 로컬 보안 정책 설정 → 비밀번호의 보안 강도를 강제적으로 설정해준다.
    • 서비스 관리
      • 공유 폴더에 대한 익명 사용자의 접근을 막아라.
        • 컴퓨터 관리 → 공유 폴터
        • 인가 되지 않은 익명의 사용자가 네트워크를 통하여 중요한 문서에 접근할 수 있다면 보안적으로 심각한 문제가 발생할 수 있다. (우리집에 쌩판 남 들어오면 안됨;;)
      • 불필요한 서비스를 제거하라
        • 보안 가이드에서 권고되는 중지 대상 서비스를 제거

      • FTP 서비스를 가능한 사용하지 않거나 접근 제어를 엄격하게 관리한다.
        • FTP
          • 서버 ↔ 클라이언트 사이의 파일 전송을 위한 통신 프로토콜 중 하나
          • 윈도우 서버 운영체제에서는 FTP 서비스를 제공한다.
          • www 방식보다 파일을 빠른 속도로 한꺼번에 주고 받을 수 있다.
          • 사진, 음악, 동영상 등의 멀티미디어 콘텐츠는 내려받기가 완료 후 다음에 확인이 가능하다.
        • 익명 인증 금지
        • Everyone 계정 제거
        • 접근 제어 설정
          • 접속 가능한 IP주소 대역을 설정한다.
        • SFTP 가 권장된다.
          • SSL 암호화 통신 프로토콜을 사용한다.
          • 스니핑을 통한 유출 가능성이 낮다.
          • SSH 개요
            • 안전하게 통신할 수 있는 기능을 제공하는 응용 프로그램 또는 프로토콜
          • SSL
            • 네트워크에 통신 보안을 제공하기 위해 설계된 암호 규약
    • 패치 관리
      • 소프트웨어의 사소한 기능 개선 또는 버그나 오류 등을 수정하기 위해 개선한 프로그램
      • 핫픽스와 서비스 팩
        • 핫픽스 → 버그 수정이나 보안 취약점 보완을 위해 긴급히 배보하는 패치 (so hot..)
        • 하나의 핫픽스는 하나의 취약점 혹은 버그만 다룬다.
      • 서비스 팩
        • 여러개의 패치 및 개선 사항이 모여있는 프로그램
        • 운영체제의 핵심인 커널이 변경되기도 한다.
        • 패치를 따로 설치하는 것보다 서비스 팩을 설치하는 것을 권장한다.
    • 로그 관리
      • 로그 : 책임 추적성을 가능하게 하는 기반 자료
        • 책임 추적성 → 사용자의 행위에 대해 추적이 가능하다. (발자취..)

 

  Comments,     Trackbacks