학습 정리/🦴 CS Study 18

4. 네트워크 보안

🔑 네트워크의 다양한 보안 문제점 네트워크 공격 발생 원인 TCP/IP는 연결성을 위해 디자인됨 : 송신자 및 수신자간 신용이 존재한다고 가정함 → 보안 메커니즘이 많이 빠져있어 해커, 공격자들이 공격하기 좋다 네트워크 기기의 취약점 : 계속적인 버그가 계속적인 공격의 원인이 된다, 네트워크 표준규격에 나온 일부 기능들이 서로 다르게 해석되고 구현됨 IP 공격 IP 주소는 송신자에 의해 채워진다 → Adress 스푸핑 : IP 주소를 악의적 목적으로 변경 A,B,S가 클라이언트, C가 호스트일 때, * A가 B인 것처럼 S에게 보여진다면 → ARP 스푸핑 * C가 B인 것처럼 S에게 보여진다면 → 소스 라우팅 공격 IP 단편화 공격 : 메세지를 하나의 IP 패킷에 보낼 수 없으면 메시지를 단편화해 수신자..

3. 네트워크 이해

✏️ 네트워크 개념정리 네트워크 : 둘 이상 연결된 컴퓨터의 집합, 컴퓨터 간 정보와 자원을 공유하기 위해 연결한 것 연결방식 : 전화선, 동축 케이블, 위성, 무선 등 → 컴퓨터는 지리적으로 어느 곳에나 위치 가능 동작방식 : 요청(Request,송신자) - 인지(Indicate,수신자) - 응답(Response,수신자) - 확인(Confirm,송신자) MAC 주소(Media Access Control Address) 물리적 주소, 네트워크 인터페이스에 저장된 주소 12개의 16진수 숫자로 구성 (앞쪽 6개: 네트워크 카드 제조사, 뒤쪽 6개: 시리얼 번호) IP 주소(IP Address) 인터넷 주소, 인터넷에 연결된 각 컴퓨터를 구분하기 위해 사용하는 주소 1바이트 크기를 가진 네 자리 숫자로 구성..

2. 소프트웨어 보안, 악성 코드

✏️ 소프트웨어 보안 정의 : 소프트웨어의 위험들을 파악하고 관리하는 것 보안, 기능, 편리성은 이율배반적 관계(trade off)에 있거나 서로 충돌한다 → 보조 관심사로서의 보안 보안 성과는 아무런 나쁜 일도 발생하지 않을 때 평가하기 어렵다 보안 위협(Threats) : 정보누출, 정보변조, 디도스 공격, 스푸핑(위장), 불법접근 보안 대책(Countermeasures) : 암호기법, 접근 제어, 보안 기반 언어 보안 대책이 새로운 보안 취약점이 되는 원인이 되기도 함 → 무차별 대입 공격(Brute Force Attack) : 로그인 실패 횟수 제한 → DoS공격(Denial of Service Attack, 서비스 불가 공격)에 이용 될 수 있다. 👨‍💻 악성코드에 대한 이해 악성코드(Malwa..

1. 정보보호 및 컴퓨터 보안 개념

✏️ 정보보호에 대한 기본적인 개념 보안(security) : 자산의 본래 가치가 손상되지 않도록 내,외부의 각종 위협 들로부터 자산을 적절한 방법으로 보호하는 것 정보 보호 (information security) : 의도적, 비의도적(실수 및 사고) 변조, 파괴, 서비스 지체 등 불법적 노출로부터 정보를 보호하는 것 ⭐ 보안의 기본 3대 요소 (CIA) 기밀성(Confidentiality) : 인가된 사용자만 정보 자산에 대해서 접근을 허용하는 것 "무언가를 지킨다”는 일반적 보안 의미와 가장 비슷하다 위헙요소 : 도청 도난 무결성(Integrity) : 데이터가 악의적으로 변경이 되지 않는 것 “자산이 인가된, 즉 허가된 당사자에 의해서 허가된 방식으로 변경이 가능한 것” 누군가 임의로 나의 대화명..

[자료구조] - 4. 추상자료형, 리스트 ADT

추상자료형, 리스트 ADT 추상자료형(abstract data type, ADT): 데이터구조의 추상형 ADT는 다음을 명세 1. 저장된 데이터 2. 데이터에 대한 작업들 3. 작업 중 발생 가능한 에러 상황들 예: 주식거래 시스템을 모델링한 ADT 1. 데이터 : 구매, 판매 주문들 2. 지원하는 작업 : 주식 구매, 판매, 취소 3. 에러 상황 : 존재하지 않는 주식에 대한 주문 추상자료형(abstract data type, ADT)에 대해서 알아보겠습니다. 추상자료형은 자료구조를 추상적으로 표현한 것으로, 사람이 자료를 다루는 관점에서 자료구조를 표현한 것입니다. 쉽게 말하면 실제 기능의 구현방법을 제외하고, 기능이 무엇인지만 설명하는 것이 추상자료형입니다. 예를 들어 카카오톡을 추상자료형으로 나타..

[자료구조] - 3. 배열, 연결리스트

배열, 연결리스트 배열(array) : 순차 기억장소에 할당된 유한 개수의 동일 자료형 데이터원소들 베이스(base) : 배열의 첫째 셀 위치 오프셋(offset) : 해당 셀이 베이스로부터 떨어진 거리(변위차)를 나타내는 정수형 2차원 배열 : 테이블(table)이라고도 불림, 1차원과 2차원은 각각 행(row)과 열(column)로도 불림 이번 게시글에서는 자료구조를 구축하는 바탕인 배열과 연결리스트에 대해서 살펴보겠습니다. 자료구조는 비교적 추상적인 반면, 배열과 연결리스트는 상대적으로 구체적(컴퓨터 구조에 가까움)이기 때문에 자료구조를 배열과 연결리스트로 구현하게 됩니다. 배열은 비교적 간단한 개념인데요. 쉽게 이야기하면 데이터를 순차적으로 메모리에 배치한 자료구조 라고 할 수 있습니다. 오프셋(..

[자료구조] - 2. 재귀

재귀 재귀적(recursive) 알고리즘 : 알고리즘 자신을 사용하여 정의된 알고리즘 재귀의 요소 재귀 케이스(recursion) : 차후의 재귀호출은 작아진 부문제들(subproblems)을 대상으로 이루어진다 베이스 케이스(base case) : 부문제들이 충분히 작아지면, 알고리즘은 재귀를 사용하지 않고 이들을 직접 해결한다. 재귀 알고리즘에 대해서 살펴보겠습니다. '재귀(再歸)'라는 단어는 일상에 잘 쓰이지 않는 단어라 쉽게 이해되지 않는 것이 사실입니다. 재귀를 한자를 그대로 풀어보면 다시(再) 돌아오다(歸)라는 뜻입니다. 재귀를 부르는 원래 단어 recursion 역시 '반복, 되풀이' 라는 뜻입니다. 따라서, 재귀 알고리즘은 (자기 자신으로) 다시 돌아오는 알고리즘 이라고 할수 있겠습니다. ..

[자료구조] - 1. 개요, 원시작업, Big-Oh 표기법

자료구조 개요, 원시작업, Big-Oh 표기법 용어 정리 알고리즘(algorithm) : 주어진 문제를 유한한 시간 내에 해결하는 단계적 절차 데이터구조(data structure) : 데이터를 조직하고 접근하는 체계적 방식 “좋은” 알고리즘과 데이터구조 : 작업에 소요되는 실행시간과 기억장소 사용량이 작다. 자료구조를 공부하기에 앞서, ‘알고리즘’과 ‘자료구조(=데이터 구조)’라는 용어에 대해 먼저 정리해보았습니다. 우리의 목표는 “좋은” 알고리즘과 자료구조, 즉 작업에 소요되는 실행시간과 기억장소 사용량이 작은 알고리즘과 자료구조를 만드는 것입니다. 좀 더 쉽게 설명을 해보자면, 자료구조는 말 그대로 “자료(data)를 담는 구조”를 말합니다. 자료(data)를 어떻게 저장하고, 꺼내올 것인지를 배우..