일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- IOS
- 예외처리
- 백준
- 안드로이드스튜디오
- xocde
- label
- Android
- 자바
- FLUTTER
- 버블정렬
- storyboard
- 보호와 보안
- 플러터
- 안드로이드
- android java
- TextField
- 링크드리스트
- Firebase
- swift baekjoon
- 준코딩
- C언어
- 커스텀팝업
- Android Studio
- deeplink
- 연결리스트
- customPopup
- BAEKJOON
- Xcode
- text to speech
- Swift
- Today
- Total
준코딩
보안 본문
보안(security)이란?
-시스템과 그 시스템의 자료들이 결함 없이 보전된다는 것을 의미하는 일종의 신뢰도이다.
보안 문제
-기밀성 침해 : 인증받지 않고 자료 읽음
-무결성 침해 : 인증 받지 않고 자료 수정
-가용성 침해 : 인증 받지 않고 자료 파괴
-서비스 가로채기 : 인증 받지 않고 자료 사용
-서비스 거부 : 적법한 사용을 막음
시스템 보호하기 위한 보안 대책
물리적 수준 : 컴퓨터 시스템을 수용하는 장소는 침입자에 대한 물리적 보호가 되어야 한다.
인적 수준 : 적절한 사용자만 시스템에 접근하는 것을 보장
운영체제 : 시스템은 우연한 또는 고의의 보안 침해로부터 자신을 보호해야 한다.
네트워크 : 컴퓨터 데이터가 개인 임대 네트워크를 통해 또는 인터넷 같은 공유 네트워크를 통해 이동한다.
->이러한 데이터를 가로채기 당하는 것은 컴퓨터가 침입당하는 것만큼 유해하다
프로그램 위협
: 프로그램을 공격하기 위해서 전형적으로 시스템의 보호 메커니즘을 파괴하는 방식
-트로이 목마 : 정상적인 프로그램으로 위장하여 시작부터 끝까지 램에 상주하며, 시스템 내부 정보를 공격자의
컴퓨터로 빼돌리는 프로그램.
-트랩 문(백도어) : 정상적인 인증 절차를 거치지 않고, 컴퓨터와 암호 시스템 등에 접근할 수 있도록 하는 것.
-> 설계자나 관리자에 의해 남겨진 시스템의 보안 허점
-> 설계자가 일부러 남겨놓은 경우는 개발 단계에서의 테스트를 위해, 유지 보수 시의 효율성을 위해.
-논리 폭탄 : 프로그램 안에 어떠한 조건을 넣고 이 조건이 만족되면 계획한 불법적 결과가 자동으로 나타나도록 하는 수법
-스택과 버퍼 오버플로우 : 스택 또는 버퍼오버플로우 공격은 네트워크 또는 모뎀을 사용하는 연결에서 침입 목표 시스템에 인가되지 않은 접근을 얻기 위해 시스템 외부의 침입자가 사용하는 가장 일반적인 방법.
Ex) 버퍼 오버플로우: 데이터를 저장할 때 프로그래머가 지정한 곳 바깥에 저장하는 것
->벗어난 데이터는 인접 메모리를 덮어 쓰게 되는데 다른 데이터를 손상을 주어서 오류를 발생시킴
Ex) 스택오버플로우 : 스택에 할당된 크기보다 큰 데이터를 넣어서 메모리 주소를 넘치게 쓸 때 발생
바이러스
-바이러스는 자가 복제 가능하고 다른 프로그램을 감염시키도록 고안된 프로그램이다.
->파일을 변경하거나 파괴하고 프로그램 오작동 등을 일으키는 등 시스템을 망칠 수 있다
파일 바이러스: 자기 자신을 파일에 덧붙임으로써 시스템을 감염시킨다. 프로그램의 시작 부분을 변형시켜서
실행이 시작되면 자신의 코드로 분기하게 만든다. 바이러스가 실행한 다음 정상적으로 프로그램을
실행하게 되도록 하여서 사용자가 알아채지 못하게 만든다.
부트 바이러스: 시스템이 부팅될 때 운영체제가 읽히기 전에 언제나 실행된다.
-> 다른 부팅 가능한 미디어를 찾아 감염시킨다.
잠행 바이러스: 바이러스를 감지하는 데 사용되는 시스템의 일부를 수정함으로써 감지를 피하려고 시도한다
Ex) read() 시스템 호출을 수정해서 만약 자신이 수정한 파일이 읽히면 감염된 코드가 아니라 원래 형태의 코드를 돌려준다.
시스템과 네트워크 위협
: 서비스와 네트워크 연결을 남용하는 방식을 이용한다.
-웜: 시스템 성능에 큰 타격을 주기 위해 산란 기법을 사용하는 프로세스이다. 자신의 복사본을 생성하여
시스템 자원을 전부 소비하게 하여 다른 모든 프로세스의 시스템 사용을 거의 봉쇄할 수 있다.
-포트 스캐닝: 크랙커가 시스템의 공격 취약점을 찾는 수단이다.
-서비스 거부: 정보를 획득하거나 자원을 훔치는 것이 아니라, 시스템의 정당한 사용을 불가능하게 만든다.
컴퓨터 공격을 막는 방법으로는 여러 방법들이 존재한다. 가장 범용적인 방법으로는 암호 작성법이다..
암호화
-여러 다양한 통신 보안 문제를 해결하기 때문에, 암호화는 현대의 컴퓨터 사용의 여러 측면에서 사용된다.
메시지의 발신자에게 특정키를 소유한 컴퓨터만이 메시지를 읽는 것을 보장해준다.
대칭 암호화(DES(Data Encryption Standard), LEA(Lightweight Encryption Algorithm))
-암호화와 복호화에 같은 암호 키를 쓰는 알고리즘을 의미한다.
-비대칭형 암호 알고리즘보다 빠르다
-암호화 시 데이터 증가가 없다
비대칭 암호화(ECC(Lightweight Encryption Algorithm))
-대칭 암호화와 반대로 암호화와 복호화의 키가 다르다.
-공개키와 개인키를 생성한다.
SSL(Secure Socket Layer) -> 컴퓨터 간에 안전하게 통신할 수 있도록 해주는 암호 프로토콜
-클라이언트와 서버 간의 통신을 공인된 제삼자3 업체가 보증해주는 전자화된 문서
-통신 내용이 노출, 변경되는 것을 방지
-클라이언트가 접속하려는 서버가 신뢰할 수 있는 서버인지 확인 가능
-SSL 통신에공개키를 클라이언트에게 제공
사용자 인증(User Authentication)
-거래 당사자간에 상대의 신분을 검증하는 것
->프로세스, 클라이언트, 서버
패스워드
-사용자의 신원을 인증하는 가장 보편적인 방법이다.
-사용자 ID나 계정 이름으로 자신의 신원을 밝히면 패스워드를 요구받게 된다.
패스워드 취약점
-쉽게 추측 가능하거나 실수로 인해 노출되면 인가되지 않은 사용자로 불법으로 전달될 수 있다.
암호화된 패스워드
-패스워드의 다른 문제는 패스워드의 비밀을 유지하기 어렵다는 점이다.
-(UNIX) 시스템은.
일회용 패스워드(One-Time Passwords)
-매번 로그인할 때마다 새로운 비밀번호를 생성되며 일정 시간이 지나면, 사용 여부와 관계없이 발급된 비밀번호는 무효하게 된다.
생체인식(Biometrics)
-신체 특성
신체 특성:, 홍채인식, 망막 인식 등이 있다.
행위 특성:, 서명 등이 있다.
-시스템과 네트워크 보안에 대한 무수한 위협이 있는 것처럼 많은 보안 해결책이 있다.
해결책은 사용자의 향상된 교육에서부터 버그 없는 소프트웨어를 작성하는 기술에 이르기까지 다양하게 존재한다.
보안정책
-시스템을 위협하는 주요 위험요소로부터 기업의 자산을 보호하기 위한 정책이다.
ex) 1..
2. 사용자들은 암호를 공유할 수 없다.
취약점 평가
-보안정책이 적절히 구현되었는지 아닌지를 평가하는 것
-사회공학이나 포트스캔에 이르기까지 넓은 범위를 다룰 수 있다.
->보안 스캔에 의해 발견된 문제점들은 자동으로 고쳐지거나 시스템 관리자에게 보고 될 수 있다.
침입 탐지
-컴퓨터 시스템 내에 들어가려고 시도했거나 성공한 침입을 탐지하고 침입에 대해 적절한 대응을 개시하는 것이다.
침입 탐지 시스템(IDS: Intrusion Detection System)
-컴퓨터 또는 네트워크에서 발생하는 이벤트들을 모니터링하고, 침입 발생 여부를 탐지하고, 대응하는 자동화된 시스템
-방화벽과 연동하여 공격을 차단하는 소극적인 방어가 가능
NIDS
-해당 네트워크의 모든 트래픽을 탐지한다
-네트워크에서 발생하는 여러 유형의 침입을 탐지
HIDS
-백도어 탐지 및 억제 가능
-다양한 로그 자료를 통해 정확한 침입방지 가능
침입 방지 시스템(IPS: Intrusion-Prevention System)
-다양한 방법의 보안기술을 이용하여 침입이 일어나기 전에 실시간으로 침입을 막고, 유해 트래픽을 차단하기 위한
능동형 보안 솔루션
-트래픽은 IPS를 거쳐야만 유통이 가능하며 이러한 방식을 ‘InLine’ 방식이라고 한다.
지식기반 Signature Based IPS
-각각의 공격에 대하여 정확한 Signature을 정의하고 해당 공격 패턴에 매칭이 되어야만 차단을 시행
-알려지지 않은 공격의 경우 정확한 Signature List가 업데이트되어 있지 않으면 차단이 불가능한 단점이 있으나
오탐 가능성은 적다.
행위 기반
-알려지지 않은 공격을 수집하여 정보를 이용하여 오탐을 줄이고 능동적으로 대처하는 방식
방화벽은 신뢰 가능한 시스템과 신뢰할 수 없는 시스템 사이에 존재하는 컴퓨터나 라우터이다.
-두 보안 영역 사이의 네트워크 접근을 제한하고 모든 연결을 감시하고 기록한다.
방화 벽상에서 실행 가능한 보안 기능
-패킷 필터링 기능: 패킷에 포함되어 있는 ip주소나 포트번호 등을 기초로 통과를 제어
-액세스 제어 기능:통과하는 패킷을 제어
-액세스 감시기능: 모든 접속 요구는 기록된다. 만의 하나 의심스러운 접속 요구가 있는 경우에는 관리자에게 경고를 보냄
-사용자 인증 기능
-암호화 기능: 통신 중의 데이터를 암호화하여 제삼자가3 내용을 모르게 한다.
미국 국방부의 TCSEC(Trusted Computer System Evaluation Criteria)는 시스템의 보안을 A, B, C, D네 단계로 분류
D단계: 최소 보호, 시스템이 평가되긴 했으나, 다른 어느 보안 등급의 요구사항도 충족시키지 못한 시스템
(MS-DOS, Windows 3.1)
C단계: 재량적 보호
C1: 대부분의 UNIX시스템, 데이터에 대한 읽기/쓰기 권한을 사용자 별로 정의하여 사용자가 다른 사용자의 데이터를
마음대로 엑세스하지 못하게 할 수 있다.
C2: C1보다 좀 더 보안상의 헛점을 줄임, 각 사용자의 작업 내용을 기록하고 audit 할 수 있는 기능 제공
B단계: 강제적 보호
B1: 각 데이터 별로 보안 레벨을 정의, 낮은 보안 레벨을 지닌 사용자는 높은 보안 레벨이 정의된 데이터에 엑세스
할 수 없다.
B2: 각 사용자는 자신의 작업에 대한 최소한의 권한만을 부여받는다..
B3: 하드웨어 자원을 포함한 보안 관리자 기능 및 위험시 자가진단에 의해 시스템을 정지시키는 기능을 가지고 있어야
하며 운영체제 내부에 보안과 관련된 코드와 무관한 것들은 모두 없어야 한다.
A1: 검증된 설계, 수학적으로 secure 하다는 것이 증명된 시스템
'CS > 운영체제' 카테고리의 다른 글
파일 시스템 (0) | 2019.04.09 |
---|---|
주 메모리 & 가상 메모리 (0) | 2019.03.29 |
보안 Security (0) | 2019.03.29 |
운영체제 구조 (0) | 2019.01.21 |
운영체제 서론2 (0) | 2019.01.11 |