본문 바로가기

정보처리기사 실기

(109)
서비스 공격 유형 1. 서비스 거부 공격(DoS; Denial of Service)대량의 데이터를 한 곳의 서버에 집중적으로 전송하여 서버의 정상적인 기능을 방해하는 것 2. Ping of Death(죽음의 핑)패킷의 크기를 인터넷 프로토콜 허용 범위 이상으로 전송하여 네트워크를 마비시키는 서비스 거부 공격 방법-> 분할된 대량의 패킷을 재조립하는 부담과 패킷들의 ICMP Ping 메시지에 대한 응답 처리로 인해 시스템이 다운됨 3. SMURFING(스머핑)IP나 ICMP의 특성을 악용하여 엄청난 양의 데이터를 한 사이트에 집중적으로 보냄으로써 네트워크를 불능 상태로 만드는 공격 방법 4. SYN Flooding3-way-handshake 과정을 의도적으로 중단시켜 서버가 대시 상태에 놓여 정상적인 서..
암호 알고리즘 1. 암호 알고리즘중요 정보를 보호하기 위해 평문을 암호화된 문장응로 만드는 절차 또는 방법 2. 개인키 암호화(Private Key Encryption)(1) 동일한 키로 데이터를 암호화하고 복호화(2) 대칭 암호 기법, 단일키 암호화 기법(3) 암호화/복호화 속도 빠름, 관리해야 할 키가 많음 * 개인키 암호화 기법 종류1) 스트림 암호화 방식- 평문과 동일한 길이의 스트림을 생성하여 비트 단위로 암호화- 종류 : LFSR, RC4, TKIP 2) 블록 암호화 방식- 한 번에 하나의 데이터 블록을 암호화하는 방식- 종류 : DES, SEED, AES, ARIA, IDEA, Skipjack 3. 공개키 암호화(Public Key Encryption)(1) 암호화할 때 사..
캡슐화 1. 캡슐화정보 은닉이 중요한 데이터와 기능을 불완전하게 캡슐화하거나 잘못 사용함으로써 발생할 수 있는 문제를 예방하기 위한 보안 점검 항목 * 캡슐화의 보안 약점1) 잘못된 세션에 의한 정보 노출- 다중 스레드 환경에서 멤버 변수에 정보를 저장할 때 발생하는 보안 약점- 멤버 변수보다 지역 변수를 활용하여 변수의 범위를 제한함으로써 방지 2) 제거되지 않고 남은 디버그 코드- 개발 중 버그 수정이나 결과값 확인을 위해 남겨둔 코드들로 인해 발생하는 보안 약점- 소프트웨어 배포 전 코드 검사를 수해앟여 남은 디버그 코드를 삭제하여 방지 3) 시스템 데이터 정보 노출- 시스템 내부 저옵를 시스템 메시지 등을 통해 외부로 출력하도록 코딩하였을 때 발생하는 보안 약점- 노출되는 메시지..
코드 오류 1. 코드 오류 * 코드 오류 보안 약점1) 널 포인터(Null Pointer) 역참조- 널 포인터가 가리키는 메모리 위치에 값을 저장할 때 발생하는 보안 약점- 포인터를 이용하기 전에 널 값을 갖고 있는지 검사하여 방지 2) 부적절한 자원 해제- 자원을 반환하는 코드를 누락하거나 프로그램 오류로 할당된 자원을 반환하지 못했을 때 발생하는 보안 약점- 프로그램 내 자원 반환 코드가 누락되었는지 확인하고, 오류로 인해 함수가 중간에 종료 되었을 때 예외처리에 관계없이 자원이 반환되도록 코딩함으로써 방지 3) 해제된 자원 사용- 이미 사용되어 반환된 메모리를 참조하는 경우 발생하는 보안 약점- 반호나된 메모리에 접근할 수 없도록 주솔르 저장하고 있는 포인터를 초기화 하여 방지 4)..
보안 기능 1. 보안 기능 * 보안 기능의 보안 약점1) 적절한 인증 없이 중요 기능 허용- 보안 검사를 우회하여 인증 없이 중요 정보 또는 기능에 접근 및 변경 가능- 중요 정보나 기능을 수행하는 페이지에서 재인증 기능을 수행하도록 하여 방지 2) 부적절한 인가- 접근제어 기능이 없는 실행경로를 통해 정보 또는 권한을 탈취- 모든 실행경로에 대해 접근제어 검사를 수행, 사용자에게 반드시 필요한 접근 권한만을 부여하여 방지 3) 중요한 자원에 대한 잘못된 권한 설정- 권한 설정이 잘못된 자원에 접근하여 해당 자원을 임의로 사용할 수 있음- 소프트웨어 관리자만 자원을 읽고 쓸 수 있도록 설정, 인가되지 않은 사용자의 중요 자원에 대한 접근 여부를 검사함으로써 방지 4) 취약한 암호화 알고리..
입력 데이터 검증 및 표현 1. 입력 데이터 검증 및 표현 (1) SQL 삽입(Injection) - 웹 응용 프로그램에 SQL을 삽입하여 내부 DB 서버의 데이터를 유출 및 변조하고, 관리자 인증을 우회하는 보안 약점 - 동적 쿼리에 사용되는 입력 데이터에 예약어 및 특수문자가 입력되지 않게 필터링 되도록 설정하여 방지 (2) 경로 조작 및 자원 삽입 - 데이터 입출력 경로를 조작하여 서버 자원을 수정·삭제 할 수 있는 보안 약점 - 사용자 입력값을 식별자로 사용하는 경우, 경로 순회 공격을 막는 필터를 사용하여 방지 (3) 크로스사이트 스크립팅(XSS) - 웹 페이지에 악의적인 스크립트를 삽입하여 방문자들의 정보를 탈취하거나, 비정상적인 기능 수행을 유발하는 보안 약점 - HTML 태그 사용을 제한하거나 스크립트에 삽입되지 안..
Secure SDLC 1. Secure SDLC SDLC(소프트웨어 개발 생명주기)에 보안 강화를 위한 프로세스를 포함한 것 * Secure SDLC의 대표적인 방법론 1) CLASP : SDLC 초기 단계에서 보안을 강화하기 위해 개발된 방법론 2) SDL : 마이크로소프트 사에서 안전한 소프트웨어 개발을 위해 기존의 SDLC를 개선한 방법론 3) Seven Touchpoints : 소프트웨어 보안의 모법사례를 SDLC에 통합한 방법론 2. SDLC 단계별 보안 활동 요구사항 분석 단계 -> 설계 단계 -> 구현 단계 -> 테스트 단계 -> 유지보수 단계 3. 소프트웨어 개발 보안 요소 (1) 기밀성(Confidentiality) - 시스템 내 정보와 자원은 인가된 사용자에게만 접근이 허용됨 - 정보 전송 중 노출되더라도 ..
DML 1. DML(Data Manipulation Language, 데이터 조작어) 저장된 데이터를 실질저긍로 관리하는데 사용되는 언어 2. 삽입문(INSERT INTO~) 기본 테이블에 새로운 튜플 삽입 시 사용 INSERT INTO 테이블_이름 (열1, 열2, 열3, ...) VALUES (값1, 값2, 값3, ...); 3. 삭제문(DELETE FROM~) 특정 튜플을 삭제할 때 사용 DELETE FROM 테이블_이름 WHERE 조건; 4. 갱신문(UPDATE~ SET~) 특정 튜플의 내용을 변경할 때 사용 UPDATE 테이블_이름 SET 열1 = 값1, 열2 = 값2, ... WHERE 조건; 출처 : 정보처리기사 실기 2024 기본서 / 저자 : 길벗알앤디(김정준, 강윤석, 김용갑, 김우경) / 출판..
DCL 1. DCL(Data Control Language, 데이터 제어어) 데이터의 보안, 무결성, 회복, 병행 제어 등을 정의하는 데 사용하는 언어 2. GRANT / REVOKE (1) 데이터 베이스 관리자가 데이터 베이스 사용자에게 권한을 부여하거나 취소하기 위한 명령어 (2) GRANT : 권한 부여를 위한 며령어 (3) REVOKE : 권한 취소를 위한 명령어 3. COMMIT 트랜잭션이 수행한 내용을 데이터베이스에 반영하는 명령 4. ROLLBACK 변경되었으나 아직 COMMIT 되지 않은 모든 내용들을 취소하고 데이터베이스를 이전 상태로 되돌리는 명령어 5. SAVEPOINT 트랜잭션 내 ROLLBACK 할 위치인 저장점을 지정하는 명령어 출처 : 정보처리기사 실기 2024 기본서 / 저자 : 길..
DDL 1. DDL(Data Definition Language, 데이터 정의어) (1) DB를 구축하거나 수정할 목적으로 사용하는 언어 (2) 번역 결과가 데이터 사전이라는 특별한 파일에 여러 테이블로 저장됨 * DDL 3가지 유형 1) CREATE : SCHEMA, DOMAIN, TABLE, VIEW, INDEX를 정의 2) ALTER : TABLE에 대한 정의를 변경하는데 사용 3) DROP : SCHEMA, DOMAIN, TABLE, VIEW, INDEX를 삭제 출처 : 정보처리기사 실기 2024 기본서 / 저자 : 길벗알앤디(김정준, 강윤석, 김용갑, 김우경) / 출판사 : 길벗