Application security
: 전통적 / reactive / penetrate and patch (취약점 발견 -> 패치개발 -> 패치적용)
Software security
: proactive / 개발할 때부터 보안패치 (위협모델링 때 )
대부분의 랜섬웨어는 돈을 받아가는 것이 목적이지만 Wannacry ransomware는 컴퓨터 부팅은 가능하게 한다.
특정 문서/파일에 암호화 후 키를 대가로 돈을 요구
XSS (= Cross Site Scripting)
- 양성 웹 사이트에 공격자가 악성코드를 주입할 수 있는 취약점.
- 주로 보안에 대한 지식이 없는 웹프로그래머에 의해 개발된 web어플리케이션에서 발견되는 HTTP관련 취약점
TCP flooding은 interruption 과 관련이 있다. (interception 아님)
Stuxnet 등의 망분리 시스템을 공격한 멀웨어는 주로 one-day vulnerability를 악용하였다.
- stuxnet : 이란 핵시설 바이러스 감염 (원심분리기 마비시킴), USB를 통해 망분리 시스템 공격
https://juntheworld.tistory.com/8
Zeroday VS Oneday VS Olday(N-day) 제로 데이 VS 원데이 VS 올데이
핵심 정리 Olday, Oneday, Zeroday 모두 취약점의 종류를 나타내는 단어입니다. 0, 1, N day 취약점은 패치발표, 패치 적용, 해당 취약점에 대한 관심도를 기준으로 나뉩니다. 0 - day 패치를 발표하지 않음.
juntheworld.tistory.com
- Zeroday, Oneday, Olday 취약점은 모두 보안 패치가 적용되지 않은 상태의 취약점을 의미한다.
- 이들을 구분하는 기준은 패치 발표 여부, 패치 적용 여부, 관심도 이다.
- 원데이 취약점 : 공격이 시작됐을 때 패치가 존재하는 취약점
- 제로데이 취약점 :공식 패치나 보안 업데이트가 출시되지 않은 소프트웨어의 결함. 해당 소프트웨어 공급 업체는 취약점을 인식할 수도 있고 인식하지 못할 수도 있으며 이 위험에 대한 공개 정보가 없는 상황을 말한다. 즉, 일부 공격자들은 알고 있지만, 대중에게는 알려지지 않았으며 공식적인 패치(또는 보안 업데이트)는 이루어지지 않은 취약점을 말한다.
주기적인 백업을 통해 데이터 가용성을 향상시킬 수 있다. (비밀성 아님!)
컴퓨터 보안 수행 순서 : 인증 -> 인가
Authentication = 인증 = 로그인 = Who are you?
Authorization = 인가 = 권한 = What you can do?
MS의 STRIDE
Spoofing 훔치기 - fabrication 위조 - Authentication
Tampering 변조 - modification 수정 - Integrity
Repudiation - new! - Non-repudiation
Information disclosure - interception 가로채기 - Confidentiality
Denial of Service - interruption 가로막기 - Availability
Elevation of Privilege - new! - Authorization
소프트웨어 크래킹은 변조공격에 해당된다.
펌웨어 역공학은 변조공격에 해당된다. (X, 정보유출임)
MAC의 목적 : integrity / MAC에서 송신자와 수신자는 같은 키를 사용한다. (O)
그래서 송신자와 수신자의 부인방지 제공 못함.
AES 암호 알고리즘은 메시지에 대한 전자서명 생성에 많이 사용된다. (X) (왜? : 서명 생성은 개인키로 함)
RSA 암호 알고리즘의 활용도가 AES의 암호 알고리즘보다 더 다양한 편이다. (AES의 주목적 : 비밀성 유지 / RSA : 비밀유지 + 전자서명)
대칭키 알고리즘은 암호화 가능한 문자열 길이가 제한되어 있을 수 있다. 대칭키만으로 해결이 안되기에 비대칭키가 생겨난 것.
RSA 암호 알고리즘보다 AES 암호 알고리즘이 암 복호화 연산 속도가 느린 편이다. (X)
SHA 256의 출력값 길이는 입력 값 길이에 비례한다. (x) (해시함수의 특징 : 입력길이가 제각기 달라도 출력길이는 같다.)
SHA256은 256비트 (32바이트)의 해시 값을 생성하며, 입력값의 길이에 상관없이 항상 고정된 길이의 해시 값을 생성한다.
해시 출력값이 짧을수록 충돌 발생 가능성이 높아진다. 따라서 출력의 길이가 길수록 안전하다고 볼 수 있다.
c언어 기반으로 컴파일된 코드가 자바 기반으로 컴파일된 코드보다 역공학이 쉽다 (X)
c언어는 바이너리, 자바는 바이트코드로 구성된다.
클라우드 환경에서 하이퍼바이저 감염 위협은 전통적인 기존 보안 위협에 속한다. (X).
- 하이퍼바이저
: 하이퍼바이저는 가상화 기술을 제공하는 소프트웨어입니다. 하이퍼바이저는 호스트 시스템의 자원을 가상 머신에 할당하고, 가상 머신들 간의 자원 충돌을 방지하고, 각 가상 머신에 대한 관리를 수행합니다. 즉, 하이 퍼바이저는 하나의 호스트 시스템에서 여러 개의 가상 머신을 실행하고, 이러한 가상 머신들이 서로 독립적 으로 동작하도록 보장합니다.
- 슈퍼바이저
: 반면에 슈퍼바이저는 컴퓨터 운영 체제의 일종으로, 컴퓨터 시스템에 직접 접근하여 하드웨어 자원을 직접 관리합니다. 슈퍼바이저는 운영 체제와 하드웨어 사이에 위치하여, 운영 체제의 시스템 호출을 감시하고, 하 드웨어 자원에 대한 액세스를 제어합니다. 슈퍼바이저는 보안 및 안정성을 강화하고, 다양한 운영 체제를 실 행할 수 있는 가상화 환경을 제공합니다.
리눅스 /etc/passwd 파일의 각 라인에서 관리되는 정보 5가지
: userid, grouped, comment, 디폴트쉘, 홈 디렉토리
<서술형>
1. AES 암호 알고리즘에서 사용할 암호화된 키를 안전하게 전달하기 위해 RSA 암호 알고리즘을 사용한다. 구체적으로 설명하시오.
(AES 암호 알고리즘을 사용하여 비밀통신을 하려할 때 먼저 해결해야 할 이슈)
=> Alice가 AES 키를 만들고, Bob의 공개키를 이용해 AES를 암호화한다. 그리고 Bob에게 보낸다.
Bob은 자기자신의 개인키로 복호화한다.
2. 랜섬웨어에 대한 대표적인 방어대책 5가지
3. SBoM이란? + 최소요소 세가지
- 소프트웨어 구성 요소 목록: 모든 구성 요소의 목록을 포함해야합니다. 이는 소프트웨어 라이브러리, 외부 종속성, 프레임워크, 플랫폼 및 도구 등을 포함합니다.
- 소프트웨어 구성 요소에 대한 메타데이터: 각 구성 요소에 대한 메타데이터는 라이센스, 버전, 제조업체, 보안 취약점 및 기타 정보를 포함해야합니다.
- 소프트웨어 구성 요소의 관계: 구성 요소 간의 관계, 예를 들어 종속성 및 사용 권한 등을 명확하게 식별해야합니다. 이것은 모든 구성 요소가 서로 어떻게 상호 작용하는지 이해하는 데 도움이됩니다
'전공과목 스터디' 카테고리의 다른 글
[Git] 깃허브 사용법 / 깃허브 연결하기 (0) | 2024.02.23 |
---|---|
Chapter 3 Lossless Data Compression (0) | 2023.05.13 |
Chapter 1 Multimedia Introduction (0) | 2023.05.06 |
모바일플랫폼 중간정리 <1> (0) | 2023.05.05 |
[정보보호이론] Ch.3 정보보호이론 기본용어 분석 (0) | 2022.12.10 |