소스 코드에 존재하는 보안 취약점을 제거하고, 보안을 고려하여 기능을 설계 및 구현하는 등 소프트웨어 개발 과정에서 지켜야 할 일련의 보안 활동
기밀성(Confidentiality) : 인가되지 않은 개인 혹은 시스템 접근에 따른 정보 공개 및 노출을 차단하는 특성
가용성(Availability) : 권한을 가진 사용자나 애플리케이션이 원하는 서비스를 지속적으로 사용할 수 있도록 보장하는 특성
무결성(Integrity) : 정당한 방법을 따르지 않고서는 데이터가 변경될 수 없으며, 데이터의 정확성 및 안전성과 고의 또는 악의로 변경되거나 훼손 및 파괴되지 않음을 보장하는 특성
시스템을 악의적으로 공격해 해당 시스템의 자원을 부족하게 하여 원래 의도된 용도로 사용하지 못하게 하는 공격
실제 대상 시스템에 접근하여 서버 하드웨어에 직접 과부하를 주는 공격
공격자가 목표 시스템에 접근하지 않고 원격지에서 인터넷 등을 이용한 공격
DoS의 다른 형태로 여러 대의 공격자를 분산 배치하여 동시에 동작하게 함으로써 특정 사이트를 공격
정상 접속을 시도하는 오픈된 소켓에 트래픽을 집중시키는 공격
ACK를 보내지 않고 SYN 패킷만 보내 서버의 동시 가용 사용자 수를 점유하여 다른 사용자가 서버를 사용하지 못하게 하는 공격
대량의 UDP 패킷을 만들어 임의의 포트로 전송하여 응답 메시지(ICMP)를 생성하게 하여 지속적으로 자원을 고갈시키는 공격
출발지 주소를 공격 대상의 IP로 설정하여 전체 네트워크에 ICMP echo 패킷을 직접 브로드캐스팅하여 마비시키는 공격
큰 사이즈의 패킷을 의도적으로 목표 시스템으로 발생시켜 시스템이 서비스할 수 없는 상태로 만드는 공격
HTTP GET 플러딩(Flooding)
HTTP 캐시 옵션을 조작하여 캐싱 서버가 아닌 웹서버가 직접 처리하도록 유도하여 웹서버 자원을 소진시키는 서비스 거부 공격
Slowloris(Slow HTTP Header DoS)
HTTP GET 메소드를 사용하여 헤더의 최종 끝을 알리는 개행 문자열을 전송하지 않아 대상 웹서버와 연결 상태를 장시간 지속시키고 연결 자원을 모두 소진시키는 서비스 거부 공격
RUDY(Slow HTTP POST DoS)
요청 헤더의 Content-length를 비정상적으로 크게 설정하여 메시지 바디 부분을 매우 소량으로 보내 계속 연결 상태를 유지시키는 공격
네트워크 하드웨어 및 소프트웨어 구성의 취약점 파악을 위해 공격자가 사용하는 공격 도구
사전 크래킹과 무차별 크래킹 방법을 사용해 네트워크 패스워드를 탐색
서버에 대한 인증되지 않은 액세스 권한을 입수하는 데 사용하는 기법
악성 루틴이 숨어 있는 프로그램으로서 겉보기에는 정상적인 프로그램처럼 보이지만 실행하면 악성코드를 실행
네트워크 보안 장비, 네트워크 접속 차단 시스템, 백신 설치를 통해 방어
출발지 IP와 목적지 IP를 같은 패킷 주소로 만들어 보냄으로써 수신자가 자기 자신에게 응답을 보내게 하여 시스템의 가용성을 침해하는 공격 기법
프로토콜의 오류 제어를 이용한 공격 기법으로 시스템의 패킷 재전송과 재조립이 과부하를 유발
IP 패킷의 재조합 과정에서 잘못된 Fragment Offset 정보로 인해 수신 시스템이 문제를 발생하도록 만드는 DoS 공격
데이터의 무결성 및 기밀성 확보를 위해 정보를 쉽게 해독할 수 없는 형태로 변환하는 기법
암호화와 복호화에 같은 암호 키를 쓰는 암호 방식
공개 키를 이용해 암호화하고 개인 키를 이용해 복호화하는 암호 방식
공개 키는 공개적 배포가 가능하고, 개인 키는 소유자만 알 수 있어야 함
임의의 데이터를 고정된 길이의 데이터로 매핑하는 단방향 알고리즘
연산 시간이 빠르지만 해시 충돌 문제가 발생할 수 있음
구분 | 암호화 대상 | 개인정보 보호법 | 정보통신망법 | 신용정보법 |
---|---|---|---|---|
인증 | 비밀번호, 바이오 정보 | ⭕ | ⭕ | ⭕ |
식별 | 주민등록번호, 운전면허번호, 여권번호, 외국인등록번호 | ⭕ | ⭕ | |
금융 | 계좌번호, 신용카드번호 | ⭕ | ||
위치 | 위치정보 | ⭕ |
개인 정보 처리 과정상의 정보 주체와 개인정보 처리자의 권리, 의무 등을 규정
조항 | 주제 | 설명 |
---|---|---|
24조 | 고유 식별 정보의 처리 제한 | 고유 식별 정보를 처리하는 경우, 해당 정보의 정보 사고 예방 조치 |
29조 | 안전조치 의무화 | 개인 정보의 정보 사고 예방에 필요한 기술적, 관리적, 물리적 조치 |
30조 | 개인 정보의 안전성 확보 조치 | 개인 정보를 안전하게 저장, 전송할 수 있는 암호화 기술 적용 |
정보통신망을 통해 수집, 처리, 보관, 이용되는 개인 정보의 보호에 관한 규정
조항 | 주제 | 설명 |
---|---|---|
15조 | 개인 정보의 보호 조치 | 비밀번호, 바이오 정보의 일방향 암호화 저장, 계좌번호, 금융 정보의 암호화 저장 |
28조 | 개인 정보의 보호 조치 | 개인 정보의 정보 사고 예방에 필요한 기술적, 관리적 조치 |
6조 | 개인 정보의 암호화 | 서버는 SSL 인증서를 통해 암호화하여 송수신 |
2등급 : 조합되면 명확히 개인을 식별 가능한 개인 정보
3등급 : 개인 정보가 결합하여 부가적인 정보 제공이 가능한 정보
소프트웨어, 하드웨어, 데이터, 문서, 시설, 지원설비, 인력
자산 목록표는 자산번호, 자산명, 용도, 운영체제, IP, 중요도, 위치, 관리자 등의 항목이 존재하며, 주기적으로 갱신되어 최신상태를 유지해야 함
사용자, 프로그램 입력 데이터에 대한 유효성 검증체계를 갖추고, 실패 시 처리할 수 있도록 설계함
인증, 권한 관리, 암호화, 중요 정보 처리 등의 정책이 적절하게 반영될 수 있도록 설계함
에러 또는 오류 상황을 적절하게 처리하고, 세션을 안전하게 할당 및 관리하여 세션 정보 노출이나 세션 하이재킹과 같은 침해 사고가 발생하지 않도록 설계함