티스토리 뷰
데이터 처리 장비의 발달 이전 물리적 방법으로 인해 처리 되었기 때문에 정보 보안 문제가 크게 대두되지 않았지만 컴퓨터의 등장으로 인해 정보를 보호할 수 있는 자동화된 도구가 필요하게 되었고 궁극적으로 공격자를 막고 데이터 보호를 위해 설계한 도구를 컴퓨터 보안
이라고 한다.
네트워크 보안
대부분의 기관에서 사용되는 네트워크는 하나의 네트워크가 아닌 여러개의 네트워크가 연결(인터넷)되어 있기에 인터넷 보안
이라고도 한다.
보안에 문제가 되는 사안이 일어나지 않도록 예방
, 감지
, 복구
에 초점을 둔 인터넷 보안을 목표로 한다.
NIST
National Institute of Standards and Technology의 약자로 FIPS
, SP
문서를 만든다.
ISOC
Internet Society의 약자로 IETF
(Internet Engineering Task Force), IAB(Internet Architecture Board)가 소속되어 있으며 RFC
문서를 만든다.
ITU-T
ITU-T(국제전기통신연합 전기통신표준화부문, International Telecommunication Union Telecommunication Standardization Sector)는 X.000
문서를 만든다.
NIST
에서는 무결성, 가용성, 기밀성을 보존하는 목표 달성을 위해 제공된 자동화된 정보 시스템 보호를 컴퓨터 보안이라고 정의하고 있다.
기밀성 : Confidetiality
정보 접근과 공개에 대해 합법적인 제한조건을 지키는 것
- 데이터 : 개인정보, 기밀정보를 노출시키지 않는것
- 프라이버시 : 개인과 관련된 정보가 누구에게, 누가 공개하는지 통제할 수 있는 것
무결성 : Integrity
부적절한 정보 수정이나 정보 파괴를 막는 것
- 데이터 : 허가된 상태에서만 정보를 변경할 수 있도록 하는 것
- 시스템 : 시스템이 의도했던 기능을 수행하도록 유지하는 것
가용성 : Availability
시간성과 신뢰성 있는 접근을 의미
합법적인 사용자로 하여금 지체 없는 서비스를 제공하기 위한 것
인증성 : Authenticity
보낸 메시지가 진짜라는 확신과 출처 유효성의 확신을 할 수 있다.
책임성 : Accountability
너가 보낸 메시지가 맞다. 너가 메시지를 받았다는 것을 확신할 수 있다.
보안 침해
- 저급 위험 : 주요 기능은 유지, 소규모 피해
- 중급 위험 : 주요 기능 성능 저하, 재정적 손실 초래
- 고급 위험 : 주요 기능 마비, 생명적 손상
ITU-T
X.800은 OSI 보안 구조에서 체계적 접근 방법을 정의한다.
- 보안 공격 : 기관 정보의 안정성을 침해하는 행위
- 보안 메커니즘 : 보안 공격 탐지, 예방, 복구하는 절차
- 보안 서비스 : 보안을 강화하기 위한 서비스로
하나 이상의 보안 메커니즘
을 사용하여 구현된다.
위협: 보안 취약점을 이용하려는 잠재적인 위험
공격: 보안 취약점을 이용한 침범, 시도
보안 공격
소극적 공격
- 메시지 내용 갈취 : 전달되는 메시지를 몰래 취득, 들여다 보는 행위
- 트래픽 분석 : 메시지가 암호화 되어있는 경우 메시지를 취득한다고 해도 알 수 없지만 메시지의 빈도와 길이를 관찰 가능
이러한 소극적 공격은 실질적으로 메시지가 변경되는 행동이 없기에 탐지가 어렵기에 탐지보다 예방
에 신경을 써야함.
적극적 공격
- 신분위장 : 한 개체가 다른 개체의 행세를 하며 다른 적극적 공격과 병행하여 수행
- 재전송 : 메시지를 보관하고 있다 재전송함으로서 인가되지 않은 사항에 접근 가능
- 메시지 수정 : 메시지를 불법적으로 수정
- 서비스 거부 : 메시지를 보내지 않거나, 대량의 메시지를 보내 과부하를 일으킨다.
보안 서비스
X.800에서 보안 서비스
는 시스템의 적절한 보안, 데이터 전송의 보안을 보장하는 통신 개방 프로토콜 계층에서 제공되는 서비스로 정의한다.
보안 서비스는 보안 정책
을 구현하며 보안 메커니즘
에 의해 구현된다.
- 인증 : 통신이 검증되었다. 메시지가 진짜 송신자로부터 왔음을 확인
- 대등 개체 인증: 통신하는 상대방의 신원을 확인 시킴으로 재전송되지 않았음을 확인
- 데이터 출처 인증: 출처에 대한 확인, 데이터 수정, 복제는 방어하지 못함.
- 접근 통제: 자원을 불법적으로 사용하지 못하도록 방지한다.
- 데이터 기밀성: 데이터의 노출을 막는다.
- 연결형 기밀성: 연결시 모든 사용자 데이터 보호
- 비연결형 기밀성: 단일 데이터 블록 모든 사용자 데이터 보호
- 선택-필드 기밀성 : 단일 데이터 블록의 사용자 데이터 보호
- 트래픽-흐름 기밀성: 트래픽 흐름 관찰로 정보 갈취 보호
- 데이터 무결성: 데이터가 진짜 송신자가 보낸것과 일치하는지 확인한다.
- 복구 가능 연결 무경성: 연결시 사용자 데이터의 무결성을 제공, 수정, 추가, 삭제, 재전송 감지
- 복구 없는 연결 무결성: 위와 동일하지만 복구가 아닌 탐지한다.
- 선택-필드 연결 무결성: 연결시 데이터 블록의 무결성을 제공하고 수정, 추가, 삭제, 재전송 감지
- 부인봉쇄: 통신 주체들이 참여했던 사실을 전체 부인하거나 전체 인정한다.
- 출처: 메시지가 특정 출처에서 보내졌음을 증명
- 목적지: 메시지가 특정 목적지에서 수신되었음을 증명
보안 메커니즘
X.800에서 복구 가능 암호화와 복구 불가 암호화 메커니즘으로 구분한다.
- 복구 가능 암호화: 데이터를 암호화, 복호화 가능
- 복구 불가 암호화: 해시알고리즘, 메시지 인증 코드
특정 보안 메커니즘
통신 개체가 주장하는 것과 같이 진짜 그 당사자인가를 확인
- 암호화: 데이터를 읽을 수 없는 형태로 변환, 수학적 알고리즘 사용
- 디지털 서명: 데이터 수신자가 데이터 발신지와 무결성을 입증
- 접근 통제: 자원에 접근할 권한을 제한
- 데이터 무결성: 데이터 블록, 스트림의 무결성 확신
- 인증 교환: 통신 개체들의 신원 확인
- 트래픽 패딩: 트래픽 분석을 방지하기 위함
- 경로 제어: 특정 데이터로 하여금 안전한 경로 선택 가능
- 공증: 데이터 교환을 제3자가 증명해줌
일반 보안 메커니즘
특정 서비스나 프로토콜에 구애받지 않는 메커니즘
- 신뢰받는 기능
- 보안 레이블
- 사건 탐지
- 보안 감사 추적
- 보안 복구
보안 설계원칙
- 경제적 메커니즘: 가능한 단순하고 규모가 작게 설계한다. 복잡할 경우 약점을 많이 보일 수 있다.
- 기본 안전 장치: 접근 결정에 허가하는데 기초해야 한다.
- 완전한 중재: 모든 접근은 반드시 접근 통제 메커니즘으로 점검되어야 한다.
- 개방 설계: 보안 설계 메커니즘은 공개해야 한다.
키는 비밀
로 유지하지만알고리즘은 공개
해라 - 권한 분리: 제한된 자원에 대한 접근 권한을 얻기 위해 다수의 권한 속성을 요구(ex. 패스워드, 스마트카드 등)
- 최소 권한: 기능을 수행하기 위해 필요한 최소권한을 활용해 수행할 수 있도록 한다.
- 최소 공통 메커니즘: 설계시 여러 사용자가 공유하는 기능은 최소화한다.
- 심리적 수용성: 보안메커니즘이 사용자의 경험을 과도하게 방해해서는 안된다.
- 분리
- 공개된 접근 시스템은 중요한 자원이 노출, 변경되지 않도록 분리
- 개별 사용자의 프로세스와 파일은 명백히 요구되지 않는 한 분리
- 다른 메커니즘으로 접근을 막기 위해 보안 메커니즘 분리
- 캡슐화: 데이터 객체 집합을 캡슐화 하여 보호
- 모듈화: 독립적 보호 모듈로 보안기능을 개방한다.
- 계층화: 중복된 보호조치를 위해 여러 계층에 보안 서비스를 제공할 수 있다.
심층 방어
라고도 한다. - 피격의 최소화: 프로그램, 인터페이스는 사용자 친화적으로 만들어야 한다.
공격 대상
시스템의 접근이 가능하고 악용할 수 있는 취약점으로 구성된다.
- 웹, 서버에 연결된 개방 포트, 포트를 도청하는 코드
- 침입차단 시스템 내부 서비스
- 데이터, 이메일, XML, 데이터 교환 처리 코드
- 인터페이스, SQL, 웹 폼
- 민감 정보 접근 권한을 가진 직원
공격트리
보안 취약점을 악용하는데 사용할 수 있는 계층적 데이터 구조를 말한다.
루트노드: 공격 목표, 보안사고
서브노드: 공격 목표를 달성하기 위한 방법
리프노드: 공격을 시작하는 방법
AND-노드 : 상위 노드가 실행되기 위해선 하위 노드들이 모두 실행되어야 한다.
OR-노드 : 상위 노드가 실행되기 위해선 적어도 하나의 노드가 실행되어야 한다.
네트워크 보안 모델
- 보안을 위해서 전송될 데이터를 변환한다. 메시지를 암호화하는 방법 등이 있다.
- 보낸 데이터가 진짜 송신자로부터 왔음을 확인한다. 송신자의 신원을 확인하기 위한 정보를 메시지에 첨부한다.
- 통신 개체들간의 비밀정보를 공유한다. 암호, 복호를 위한 기능으로 예로 암호키를 들 수 있다.
보안서비스 설계
암호화 알고리즘을 설계하고 사용될 비밀정보를 생성한다. 이 비밀 정보를 공유해야 하는데 배분할 방법을 알아봐야 하며 점점 구체화해 나가야 한다.
참고자료
http://korea-sw-eng.blogspot.com/2017/03/blog-post_62.html
네트워크 보안 에센셜 6판
'📚 컴퓨터사이언스 > Network' 카테고리의 다른 글
대칭 암호, 메시지 기밀성 (0) | 2023.04.13 |
---|