자주 나온다고 느끼는 개념들
병행제어
- 정의: 다중 프로그램의 이점을 활용하여 동시에 여러 개의 트랜잭션을 병행수행 할 때, 동시에 실행되는 트랜잭션들이 데이터베이스의 일관성을 파괴하지 않도록 트랜잭션 간의 상호 작용을 제어하는 것
- 목적
- 데이터베이스의 공유를 최대화함
- 시스템의 활용도를 최대화함
- 데이터베이스의 일관성을 유지함
- 사용자에 대한 응답 시간을 최소화함
로킹단위
- 병행제어에서 한꺼번에 로킹할 수 있는 객체의 크기를 의미함
- 데이터베이스, 파일, 레코드, 필드 등은 로킹 단위가 될 수 있음
- ⭐로킹 단위가 크면 로크 수가 적어(오버헤드 감소) 관리하기 쉽지만 병행성 수준이 낮아지고,
로킹 단위가 작으면 로크 수가 많아(오버헤드 증가) 관리하기는 복잡하지만 병행성 수준이 높아짐
입력 데이터 검증 및 표현의 보안 약점
- SQL 삽입: 웹 응용 프로그램에 SQL을 삽입하여 내부 데이터베이스(DB) 서버의 데이터를 유출 빛 변조하고, 관리자 인증을 우회하는 보안 약점
- 경로 조작 및 자원 삽입: 데이터 입출력 경로를 조작하여 서버 자원을 수정·삭제할 수 있는 보안 약점
- 크로스사이트 스크립팅(XSS: Cross Site Scripting): 웹페이지에 악의적인 스크립트를 삽입하여 방문자들의 정보를 탈취하거나, 비정상적인 기능 수행을 유발하는 보안 약점
- 운영체제 명령어 삽입: 외부 입력값을 통해 시스템 명령어의 실행을 유도함으로써 권한을 탈취하거나 시스템 장애를 유발하는 보안 약점
- 위험한 형식 파일 업로드: 악의적인 명령어가 포함된 스크립트 파일을 업로드함으로써 시스템에 손상을 주거나, 시스템을 제어할 수 있는 보안 약점
- 신뢰되지 않는 URL 주소로 자동접속 연결: 입력 값으로 사이트 주소를 받는 경우 이를 조작하여 방문자를 피싱 사이트로 유도화는 보안 약점
- 메모리 버퍼 오버플로: 연속된 메모리 공간을 사용하는 프로그램에서 할당된 메모리의 범위를 넘어선 위치에서 자료를 읽거나 쓰려고 할 때 발생하는 보안 약점
악성코드의 종류
- 웜(Worm): 다른 컴퓨터의 취약점을 이용하여 스스로 전파하거나 메일로 전파되며 스스로를 증식하는 악성코드 유형
- 로그웨어(Rogue Ware): 사용자를 속여 악성코드를 설치하도록 유도하는 소프트웨어로, 주로 바이러스에 감염되었다며 백신 소프트웨어처럼 보이는 악성코드를 설치하도록 유도함
- 애드웨어(Adware): 소프트웨어 자체에 광고를 포함하여 이를 보는 대가로 무료로 사용하는 소프트웨어
- 반사공격(Reflection Attack): 송신자가 생성한 메시지를 가로채 접근 권한을 얻는 형태의 공격 기법
정보 보안 요소⭐⭐⭐
- 기밀성(Confidentiality): 시스템 내의 정보와 자원은 인가된 사용자에게만 접근이 허용됨
- 가용성(Availability): 인가받은 사용자는 언제라도 사용할 수 있음
- 무결성(Integrity): 시스템 내의 정보는 오직 인가된 사용자만 수정할 수 있음
- 인증(Authentication): 시스템 내의 정보와 자원을 사용하려는 사용자가 합법적인 사용자인지를 확인하는 모든 행위
주요 암호화 알고리즘
- SEED
- 1999년 한국인터넷진흥원(KISA)에서 개발한 블록 암호화 알고리즘
- 블록 크기는 128비트이며, 키 길이에 따라 128, 256으로 분류함
- ARIA(Academy, Research Institute, Agency)
- 2004년 국가정보원과 산학연협회가 개발한 블록 암호화 알고리즘
- 블록 크기는 128비트이며, 키 길이에 따라 128, 192, 256으로 분류함
- DES(Data Encryption Standard)
- 1975년 미국 NBS에서 발표한 개인키 암호화 알고리즘
- 블록 크기는 64비트이며, 키 길이는 56비트
- AES(Advanced Encryption Standard)
- DES의 보안 문제를 해결하기 위해 개발됨
- NIST에서 개발한 개인키 암호화 알고리즘
소프트웨어 재공학의 주요 활동
- 분석(Analysis): 기존 소프트웨어의 명세서를 확인하여 소프트웨어의 동작을 이해하고, 재공할 대상을 선정하는 활동
- 재구성(Restructuring)
- 상대적으로 같은 추상적 수준에서 하나의 표현을 다른 표현 형태로 바꾸는 활동
- 기존 소프트웨어의 구조를 향상시키기 위하여 코드를 재구성하는 것으로 소프트웨어의 기능과 외적인 동작은 바뀌지 않음
- 역공학(Reverse Engineering)
- 기존 소프트웨어를 분석하여 소프트웨어 개발 과정과 데이터 처리 과정을 설명하는 분석 및 설계 정보를 재발견하거나 다시 만들어 내는 활동
- 정공학(일반적인 개발 단계)과는 반대 방향으로 기존 코드를 복구하는 방법
- 기존 소프트웨어의 구성 요소과 그 관계를 파악하여 설계도를 추출하거나, 구현과는 독립적인 추상화된 표현을 만듦
- 코드 역공학: 코드 → 흐름도 → 자료 구조도→ 자료 흐름도 순으로 재생함
- 데이터 역공학: 코드 → 자료 사전 → 개체 관계도 순으로 재생함
- 이식(Migration): 기존 소프트웨어를 다른 운영체제나 하드웨어 환경에서 사용할 수 있도록 변환하는 활동
정보시스템
- 고가용성 솔루션(HACMP)
- 각 시스템 간에 공유 디스크를 중심으로 클러스팅으로 엮어 다수의 시스템을 동시에 연결할 수 있음
- 조직, 기업의 기간 업무 서버 안정성을 높이기 위해 사용될 수 있음
- 여러 가지 방식으로 구현되며 2개의 서버를 연결하는 것으로 2개의 시스템이 각각 업무를 수행하도록 구현하는 방식이 널리 사용됨
- 점대점 연결 방식(Point-to-Point Mode): 연결된 두 단말이 동등하게 연결되어 각 단말이 클라이언트가 될 수도, 서버가 될 수도 있는 방식
- 스턱스넷(Stuxnet): 독일의 산업시설을 감시하고 파괴하기 위해 만들어진 악성 소프트웨어
- 루팅(Rooting): 스마트폰의 보안기능을 해제하여 허용되지 않은 기능을 사용하거나 불법 앱을 사용할 수 있도록 변경하는 행위
'일지 > 취준일기' 카테고리의 다른 글
2025_02_03 취준일기 26일차 (0) | 2025.02.03 |
---|---|
2025_01_28 취준일기 24일차 (0) | 2025.01.28 |
2025_01_24 취준일기 23일차 (0) | 2025.01.24 |
2025_01_23 취준일기 22일차 (0) | 2025.01.23 |
2025_01_20 취준일기 21일차 (0) | 2025.01.20 |