소프트웨어 개발 보안 구축
자주 나오는 챕터 : 요구사항 , 데이터입출력 , 프로그래밍 , sql응용 , 서버 프로그램 , 애플리케이션 테스트관리 , 응용sw기초기술 , 보안 구축
3대 보안 요소
기밀성 : 인가된 사용자만 접근가능
무결성 : 인가된 사용자만 수정가능
가용성: 인가된 사용자는 정보와 자원 사용 가능 ( 기출)
시큐어 코딩 가이드 : 설계 및 구현 단게에서 해킹 등의 공격을 유발할 가능성이 있는 보안취약점을 제거하고 외부 공격으로부터 안전한 소프트웨어 개발
보안취약점 : 운영 단계에 보안 리스크
보안 약점 : 개발 단계의 보안 리스크
대칭키 암호 방식 : 암호화와 복호화에 같은 암호 키 사용
블록 암호 방식 : 고징 길이의 블록을 암호화하여 반복 ( EDS , AES , SEED)
스트림 암호 방식 : 난수열을 발생시켜 평문과 다불어 암호문 생성
비대칭키 암호 방식 : 공개키는 공개하고 개인키는 키의 소유자만 알기
일방향 암호 방식(해시 암호 방식) : 정보를 입력받아 고정된 길이의 암호문을 출력
MAC : 키를 사용하는 것으로 메시지의 무결성과 송신자의 인증 보장
MDC : 키를 사용하지 않응 코드로 메시지의 무결성
대칭키 암호화 알고리즘
DES : 1975 IBM
SEED : 1999 KISA개발
AES : 2001 미국 표준기술 연구소 개발 (기출 21-2)
ARIA : 2004년 국가정보원과 산학연구협회
IDEA : DES대체 스위스 연방기술기관
LFSR : 선형함수 스트림 암호화
비대칭 키 알고리즘
디피-헬만 : 최초의 공개키 알고리즘
RSA : 1977 MIT
EIGamal : 1984 ELGamal
ECC : 1985 RSA 대안
해시암호화알고리즘
MD5 : 파일의 무결성 검사 128비트(기출)
SHA -1 : 1993년 NSA
SHA-256/384/512 : 256비트 해시값
HSA-160 : 국내 표준 서명 알고리즘
HAVAL : 메세지를 1024비트블록
Dos : 시스템의 자원을 부족하게 하여 원래 의도된 용도로 사용하지 못하게
Dos 종류
SYN 플러딩 : 서버 사용자수를 SYN패킷만 보내 점유하여 다른 사용자가 서버를 사용하지못하게
UDP 플러딩 : 대량의 UDP패킹을 임의의 포트번호로 전송하여 자원을 고갈
스퍼프, 스머핑,스머프 : 출발지 주소를 대상의 ip로 설정하여 네트워크 전체에게 ICMP Echo 패킷을 직접 브로드캐스팅하여 마비
죽음의 핑 : ICMP패킷을 크게 만들어서 서비스를 못하도록
랜드 어택 : 출발지 ip와 목적지 ip를 같은 패킷주소로 만들어 보내 시스템의 가용성 침해 (기출)
티어 드롭 : IP패킷의 재조합 과정에서 잘못된 정보로 수신 시스템에 문제를 발생
봉크/보잉크 : 프로토콜의 오류제어를 이용한 공격
TCP SYN FLOODING
PING FLOODING - 공격자가 공격대상자의 컴퓨터를 확인하려고
DDOS : 여러대의 공격자를 분산 배치하여 동시에 동작하게 하여 공격
DDOS 공격도구
피싱 - 가짜 웹사이트
파밍 - DNS로 속여 진짜 웹사이트로 오인하게
스니칭 - 상대방들의 패킷 교환을 엿듣는것
스미싱 - 인터넷주소 악성코드
큐싱 - QR코드
랜섬웨어 - 파일등을 암호화
키로거 - 키보드의 우밎ㄱ임
SQL INJECTION
XSS - 게시판에 악성코드를 삽입하여 정보 유출
무작위 대입공격(브루트포스)
스피어 피싱 - 합법적인 웹사이트 감엽시키기
APT - 다양한 보안위협 장기간 접근
제로데이공격 - 알려지ㅣㅈ않은 취약점 , 탐지되지않은 악성코드
백도어 - 허가되지않은 접근으로
RAINBOW TABLE ATTACK - 해시값
CSRF - 불특정 다수가 자신의 의지와 상관없이 공격
TOCTOC - 병렬시스템의 타이밍을 노리는 공격
: Trinoo : UDP flood 서비스 거부 공격을 유발
Tribe Flood Network : 하나 혹은 여러개의 목표 시스템에 대해 서비스 거부 공격
Stacheldraht : 분산 서비스 거부 에이전트 역활을 하는 Linus 및 solaris시스템용 멜웨어 도구
Dos는 직접 공격 DDos는 공격하도록 지시
Dos는 한사람에 의해 DDos는 많은 감염 호스트를 통해
DRDos : 공격자는 출발지 ip를 공격대상 ip로위조하여 반사 서버로 요청 정보를 전송 , 공격대상자는 반사 서버로부터 다량의 응답을 받아 서비스 거부가 되는 공격
세션 하이재킹 : TCP의 세션 관리 취약점을 이용한 공격 ( 기출 21-1)
애플리케이션 공격기법
HTTP GET 플러딩 : 과도한 GET메세지를 이용하여 웹 서버의 과부하 공격
slowloris : Http GET메서드로 웹서버와 연결상태를 장시간으로 하여 연결자원을 소진시키는 서비스 거부 공격
Rudy : 요청 헤더의 Content-Length를 크게하여 연결상태를 유지시키는 공격
slow Http Read Dos : 다수의 HTTp패킷을 지속적으로 전송하여 웹서버와의 연결상태 지속
Hulk Dos : 웹 ㅔㅍ이지 주소를 변경하면서 계속 Get요청
Hash Dos : Post방식으로 웹서버에 전달하여 다수의 해시 충돌로 자원을 소모
네트워크 공격
스니핑 : 공격대상의 데이터만 몰래보기(수동적)
네트워크 스캐너,스니퍼 : 네트워크 하드웨어, 소프트웨어 구성의 취약점 파악을 위해 취약점을 탐색하는 도구
패스워드 크래킹
사전 크래킹 : ID,PW 단어를(가능성이있는 단어를) 파일로 만들어 대입
무차별 크래킹 : 무작위로
패스워드 하이브리드 : 사전공격 + 무차별
레인보우 테이블 공격 : 해시값을 테이블에서 검색하여 역으로 패스워드를 찾기
IP 스푸핑 : 침입자가 인증된 컴퓨터인것처럼 속여 인증된 호스트의 IP주소로 위조하여 타깃에 전송하는 공격
ARP 스푸핑 : 공격자가 호스트의 MAC주소를 자신의 MAC주소로 위조한 ARP Reply를 만드는 공격
ICMP Redirect 공격 : 스니핑 시스템을 또다른 라우터라고 알려 패킷의 흐름 바꾸는 공격
트로이 목마 : 악성 코드 기법
버퍼 오버플로우 : 메모리에 버퍼 크기를 초과하는 데이터를 보내 악성 코드를 실행
백도어 : 정상적인 인증 절차를 우회하는 기법
보안관련 용어
스피어 피싱 : 메일의 링크나 파일을 클릭하도록 유도하여 개인정보 탈취
스미싱 : SMS를 이용하여 개인정보나 소액결제 유도
큐싱 : QR코드로 악성 앱을 다운받게하여 정보 빼내기
봇넷 : 악성 프로그램이 감염된 컴퓨터들이 네트워크로 연결된 형태
APT 공격 : 지능적인 맞춤형 공격 기법
공급망 공격 : sw개발사의 네트워크에 침투하여 악의적 코드삽입 자동적 감염유도
제로데이 공격 : 보안 취약점을 악용하여 공격
윔 : 스스로 복제하여 네트워크를 통해 전파
악성 봇 : 해커의 명령에 의해 원격 조정 프로그램
사이버 킬체인 : APT 공격방어 분석 모델
랜섬웨어 : 시스템의 파일을 암호화하는악성
이블 트윈 공격 : 핫스팟에 연결된 사용자들의 정보 탈취
서버 인증 기술 유형
지식기반 인증 : ID , PW
소지기반 인증 : 공인인증서 , OTP
생체기반 인증 : 홍채 얼굴 지문
특정기반 인증 : 서명 , 몸짓
접근 통제 기법
식별 : 시스템에 자신이 누구라고 밝힘 Identification
인증 : 주체의 신원 검증 Authentication
인가 : 인증된 주체에게 접근 허용 Authorization
책임추적성 : 주체의 접근을 추적하고 행동을 기록
서버 접근 통제 유형
임의적 접근 통제(DAC) : 신분에 근거하여 접근을 제한 (기출 21-1)
강제적 접근 통제(MAC) : 접근허가 권한에 근거하여 접근을 제한
역할 기반 접근 통제(RBAC) : 중앙 관리자가 조직 내 역할에 기초하여 접근을 제한
접근 통제 보호 모델
벨-라파듈라 모델(BLP) : 기밀성을 강조하여 강제적 정책접근통제
No Read up : 높은 등급의 주체는 낮은 등급의 객체를 읽을 수 없음
No Write Down : 높은 주체는 낮은 객체에 기록하면 안됨
비바 모델 : 무결성을 보장하는 모델
No Read Down : 높은 등급 주체는 낮은 객체를 읽을 수 없음
No Write Up : 낮은 주체는 상위 객체를 수정할수 없음
IPSec : 무결성과 인증 헤더와 암호화를 이용한 IP 보안 프로토콜 (기출)
SSL : 클라이언트와 서버간의 웹데이터 암호화 , 데이터 무결성 보장 보안 프로토콜
S - HTTP : 웹상에서 네트워크트래픽을 암호화 하는 방법
입력데이터 검증 및 표현 방법 : 입결 데이터로 발생하는 문제들을 예방하기 위한 구현단계에서 검증해야하는 항목
입력 데이터 검증 및 표현 취약점
XSS : 검증되지 않은 외부 입력 데이터가 포함된 웹페이를 사용자가 열람해서 웹페이지에 포함된 부적절한 스크립트가 실행되는 공격 ( 특수문자 필터링,HTML태크 사용금지)
사이트 간 요청 위조(CSRF) : 사용자가 의지와는 무관하게 특정 웹사이트를 요청하게 하는 공격( POS방식이용, 세션별 CSRF토큰 사용)
SQL삽입 : 악의적인 SQL구문 삽입을 통해 정보 탈취 조작(변수타입지정, 입력값 체크)
보안기능 : 소프트웨어 개발 단계에서 인증 접근제어 기밀성 암호화 점검 항목
에러처리: 예외처리, 에러 취약점에 대한 항목
세션 통제: 세션관련 항목
코드오류 : 프로그램 오류 점검 항목
캡슐화: 은닉이 필요한 정보와 인가되지않은 사용자에게 보이지말하야할 취약점 항목
API : API를 오용하여 발생할수있는 취약점 항목
보안아키텍처 - ISO 27001
ISMS - 정보보호 관리체계
네트워크 보안 솔류션
방화벽 : 트래픽을 모니터링하여 시스템의 접근 허용 차단
웹 방화벽 :
네트워크 접근 제어 : 단말기가 내부 네트워크에 접속 시도할때 이를 제어 통제(NAC)
침입 탐지 시스템 : 네트워크 보안 위반 행위를 실시간 탐지(IDS)
침입 방지 시스템 : 네트워크 공격 침입을 실시간 차단(IPS)
무선 침입 방지 시스템 : 무선 단말기 접속을 자동 탐지 및 차단
통합 보안 시스템 : 다양한 보안 장비의 기능을 하나로 통합 제공(ESM)
가상 사설망 : 인터넷과 같은 공중망에 인증, 암호화, 터널링 기술을 이용해 전용망같은 효과를 가지는 보안 솔류션(VPN)
DMZ(비무장지대) - 보안조치가 취해진 비무장지대
DLP - 기업데이터 유출방지 보안 솔류션
시스템 보안 솔루션
스팸 차단 솔루션 : 메일 서버 앞단에 위치하여 proxy메일 서버로 동작
보안 운영체제 : 컴퓨터 운영체제의 커널에 보안기능을 추가
인증(AUTHENTICATION) - 신원검증
권한부여(AUTHORIZATION) - 권한제공
계정관리(ACCOUNTIUG) - 행위기록 , 정보취함 리포팅 제공
콘텐츠 보안 방지
보안 USB :
데이터 유출 방지 : 조직 내부 자료가 외부로 빠져나가는것을 탐지하는 솔류셔ㅛㄴ
디지털 저작권 관리 : 디지털 저작물에 대한 보호와 관리
소프트웨어 개발 보안 테스트 유형
정적분석 : sw실행하지않고
동적분석 : sw실행하고
비지니스 연속성 계획 : 각종 재해 장애 재난으로부터 위기관리 기반으로 재해복구,업무복구 재개 비상계획 등 비즈니스 연속성을 보장하는 체계
'IT 관련 > 정보처리기사' 카테고리의 다른 글
2022 3회 정보처리기사 실기 chapter4 서버프로그램구현(빈도자주) (0) | 2022.07.20 |
---|---|
2022 2회 정보처리기사 실기 chapter11 sw응용프로그램 (0) | 2022.05.02 |
2022 2회정보처리기사 실기 chatper 8 SQL(빈도자주) (0) | 2022.04.28 |
2022 2회 정보처리기사 실기 chapter5 인터페이스 구현 (0) | 2022.04.28 |
2022 2회 정보처리기사 실기 chapter 3 통합구현 (0) | 2022.04.28 |