본문 바로가기

정보처리기사7

[SW개발 보안] 시큐어 코딩 가이드 SW개발 보안 구현 - 시큐어 코딩 가이드 - 설계 및 구현 단계에서 해킹 등의 공격을 유발할 가능성이 있는 잠재적인 보안 취약점을 사전에 제거하고, 외부 공격으로부터 안전한 소프트웨어를 개발하는 기법 (잠재적인 보안 취약점 사전 제거, 안전한 소프트웨어 개발 목적) - 소프트웨어 보안 약점을 방지하기 위해, 시큐어 코딩 가이드에 따른 개발 수행 필요! 보안 약점 1) 입력데이터 검증 및 표현 내용 대응방안 - 프로그램 입력값에 대한 검증 누락 - 부적절한 검증 - 잘못된 형식 지정 - 사용자/프로그램 입력데이터에 대한 유효성 검증체계 수립 - 실패 시 처리 설계 및 구현 2) 보안 기능 - 보안 기능(인증, 접근제어, 기밀성, 암호화, 권한관리 등) 의 부적절한 구현 - 인증, 접근통제, 권한 관리, .. 2021. 4. 1.
[SW개발 보안] 암호화 알고리즘 암호 알고리즘(Encryption Algorithm) 개념 - 데이터의 무결성, 기밀성 확보를 위해 정보를 쉽게 해독할 수 없는 형태로 변환하는 기법 암호 알고리즘 방식 대칭 키 암호 방식 - 암호화와 복호화에 같은 암호키를 쓰는 알고리즘 - 대칭키는 블록 암호화와 스트링 암호화 알고리즘으로 나뉨 1) 블록 암호 방식 - 긴 평문을 암호화하기 위해 고정 길이의 블록을 암호화 하는 블록 암호 알고리즘을 반복하는 방법 ex) DES, AES, SEED 2) 스트림 암호 방식 - 매우 긴 주기의 난수열을 발생시켜 평문과 더불어 암호문을 생성하는 방식 ex) RC4 비대칭 키 암호 방식 - 공개키를 이용해 암호화하고, 공개키에 해당하는 개인키를 이용해 복호화하는 암호방식 - 비대칭 키 암호 방식에서는 공개키와 .. 2021. 3. 30.
[SW개발 보안] 공격 기법의 이해 : 취약점 공격 취약점 공격 랜드 어택 (Land Attack) - 출발지(Source) IP와 목적지(Destination) IP를 같은 패킷 주소로 만들어 보냄 - 수신자가 자기 자신에게 응답을 보내게 함 (무한루프!?) - 시스템의 가용성을 침해하는 공격기법 봉크 / 보잉크 (Bonk / Boink) - 프로토콜의 오류 제어를 이용한 공격기법 - 시스템의 패킷 재전송과 재조립이 과부하를 유발 ex) 봉크 : 같은 시퀀스 번호를 계속 보냄 보잉크 : 일정한 간격으로 시퀀스 번호에 빈 공간 생성 티어 드롭 (Tear Drop) - IP 패킷의 재조합 과정에서 잘못된 Fragment Offset 정보로 인해 수신 시스템이 문제를 발생하도록 만드는 DoS 공격 - 공격자는 IP Fragment Offset 값을 서로 중첩.. 2021. 3. 30.
[SW개발 보안] 공격 기법의 이해 : 애플리케이션 공격과 네트워크 서비스 공격 애플리케이션 공격 - HTTP와 관련된 공격이 주를 이룬다! HTTP GET 플러딩 - Cache Control Attack 공격 - Http 캐시 옵션을 조작하여, 캐싱 서버가 아닌 웹서버가 직접 처리하도록 유도함 - 웹서버 자원을 소진시키는 서비스 거부 공격이다. Slowloris (Slow HTTP Header DoS) - HTTP, GET 메소드를 사용하여 헤더의 최종 끝을 알리는 개행문자열인 \r\n\r\n(Hex : 0d 0a 0d 0a)를 전송하지 않고, \r\n(Hex : 0d 0a)만 전송함 - 대상 웹서버와 연결상태를 장시간 지속시키고, 연결 자원을 모두 소진시키는 서비스 거부 공격이다. RUDY (Slow HTTP POST DoS) - 요청 헤더의 Content-length를 비정상적.. 2021. 3. 30.
[SW개발 보안] 공격 기법의 이해 : 자원 고갈 공격 자원고갈 공격 - 서버 간 핸드셰이크(Handshake)를 통해 통신이 연결되는 정상 트래픽과 달리, DoS 공격은 정상 접속을 시도하는 오픈된 소켓에 트래픽을 집중시킨다. - 공격이 임계치에 도달하면 사용자들은 네트워크에 전혀 접속할 수 없게 된다. 자원고갈 공격기법 SYN 플러딩 (SYN Flooding) - TCP 프로토콜의 구조적인 문제를 이용한 공격 - 서버의 동시 가용 사용자 수를 SYN 패킷만 보내 점유하여, 다른 사용자가 서버를 사용 불가능하게 하는 공격 - 공격자는 ACK를 발송하지 않고 계속 새로운 연결 요청을 하게되어, 서버는 자원 할당을 해지하지 않고 자원 소비만 함 - 결국 자원이 고갈됨 UDP 플러딩 (UDP Flooding) - 대량의 UDP 패킷을 만들어 임의의 포트번호로 전.. 2021. 3. 30.
[SW개발 보안] 공격 기법의 이해 : DoS와 DDoS 1. DoS 공격 : 과도한 데이터 전송 1) 개념 - 시스템을 악의적으로 공격해, 해당 시스템의 자원을 부족하게 하여 원래 의도된 용도로 사용하지 못하게 하는 공격 - 특정 서버에게 수많은 접속 시도를 만들어 다른 이용자가 정상적으로 서비스 이용을 하지 못하게 함 - 서버의 TCP 연견을 소진시키는 공격 2) 종류 지역 시스템 공격 - 실제 대상 시스템에 접근하여, 서버 하드웨어에 직접 과부하를 주는 공격 ex) 메모리 고갈, 프로세스 서비스 거부, 디스크 서비스 거부 등 원격 네트워크 공격 - 공격자가 목표 시스템에 접근하지 않고, 원격지에서 인터넷 등을 이용한 공격 - 서비스를 제공받지 못하거나 실제 시스템에 영향을 끼친다 2. DDoS 공격 (Distributed DoS) 1) 개념 - DoS의 .. 2021. 3. 29.