정보처리61 소프트웨어 개발 보안 구축 구현 1/5 SW 개발 보안 구현 시큐어 코딩 가이드설계 및 구현 단계에서 해킹 등의 공격을 초래할 가능성이 있는 잠재적인 보안 취약점(Vulnerability)을 사전에 제거하고, 외부 공격으로부터 안전한 소프트웨어를 개발하는 기법소프트웨어 보안 약점(Weakness)을 방지하기 위한 시큐어 코딩 가이드에 따른 개발 수행이 필요입력데이터 검증 및 표현프로그램 입력값에 대한 검증 누락과 부적절한 검증, 잘못된 형식 지정사용자와 프로그램 입력데이터에 대한 유효성 검증 체계를 수립하고 실패 시 처리 설계 및 구현보안 기능보안 기능(인증, 접근 제어, 기밀성, 암호화, 권한 관리 등)의 부적절한 구현인증과 접근 통제, 권한 관리, 비밀번호 등의 정책이 적절하게 반영되도록 설계 및 구현시간 및 상태거의 동시에 수행 지원하는.. 2025. 3. 24. 소프트웨어 개발 보안 구축 설계 7/7 소프트웨어 개발 보안 설계안전한 전송을 위한 데이터 암호화 전송민감한 정보를 통신 채널을 통하여 전송 시에는 반드시 암복호화 과정을 거쳐야 하고, IPSec, SSL/TLS, S-HTTP 등 보안 채널을 활용하여 전송PPTPPPTP(Point-to-Point Tunneling Protocol) 개념네트워크 레벨에서 데이터를 안전하게 전송하기 위해 사용하는 터널링 프로토콜로, 주로 VPN(가상 사설망) 연결에 사용됨TCP 포트 1723과 GRE(Generic Routing Encapsulation)를 사용하여 데이터 패킷을 캡슐화클라이언트와 서버 간의 인증 및 데이터 암호화를 지원하며, 낮은 비용과 간단한 설정으로 널리 사용L2FL2F(Layer 2 Forwarding) 개념시스코 시스템즈에서 개발한 터널.. 2025. 3. 23. 소프트웨어 개발 보안 구축 설계 6/7 소프트웨어 개발 보안 설계SW 개발 보안을 위한 암호화 알고리즘암호 알고리즘(Encryption Algorithm) 개념데이터의 무결성 및 기밀성 확보를 위해 정보를 쉽게 해독할 수 없는 형태로 변환하는 기법 암호 알고리즘 관련 주요 용어평문(Plain/Plaintext) : 암호화되기 전의 원본 메시지암호문(Cipher/Ciphertext) : 암호화가 적용된 메시지암호화(Encrypt/Encryption/Encoding) : 평문을 암호문으로 바꾸는 작업복호화(Decrypt/Decryption/Decoding) : 암호문을 평문으로 바꾸는 작업키(Key) : 적절한 암호화를 위하여 사용하는 값치환 암호(대치 암호, Substitution Cipher) : 비트, 문자 또는 문자의 블록을 다른 비트, .. 2025. 3. 22. 소프트웨어 개발 보안 구축 설계 5/7 소프트웨어 개발 보안 설계서버 인증 및 접근 통제서버 인증의 개념다중 사용자 시스템과 망 운영 시스템에서 접속자의 로그인 정보를 확인하는 보안 절차전송된 메시지 무결성 및 송신자를 검증하는 과정이 인증에 해당서버에서 사용자들에게 접근 권한을 부여하기 위해 접속자의 신분을 검증하는 과정을 로그인이라 하며 인증 과정이 필요함서버 인증의 기능스니핑 방지SSL 인증서를 설치하면 정보가 유출되더라도 모든 정보가 암호화되어 안전함전자상거래 상에서 정보 유출 방지를 위해 기본적으로 SSL을 적용해야 함피싱 방지개인정보(Personal Information)와 낚시(Fishing)의 합성어로 개인정보를 낚는다는 의미인증을 받지 않으면 유사 사이트에 대해서 SSL 인증서를 발급받을 수 없음SSL 인증서를 발급할 때 클라.. 2025. 3. 21. 소프트웨어 개발 보안 구축 설계 4/7 소프트웨어 개발 보안 설계시스템 보안 위협버퍼 오버플로(Buffer Overflow) 공격메모리에 할당된 버퍼 크기를 초과하는 양의 데이터를 입력하여 이에 따라 프로세스의 흐름을 변경시켜서 악성 코드를 실행시키는 공격버퍼 오버플로 공격 유형스택 오버플로(Stack Overflow)메모리 영역 중 Local Value나 함수의 Return Address가 저장되는 스택 영역에서 발생하는 오버플로 공격스택 영역에 할당된 버퍼 크기를 초과하는 양의 데이터(실행 가능 코드)를 입력하여 복귀 주소를 변경하고 공격자가 원하는 임의의 코드를 실행하는 공격힙 오버플로(Heap Overflow)프로그램 실행 시 동적으로 할당되는 힙 영역에 할당된 버퍼 크기를 초과하는 데이터(실행 가능 코드)를 입력하여 메모리의 데이터와.. 2025. 3. 20. 소프트웨어 개발 보안 구축 설계 3/7 소프트웨어 개발 보안 설계세션 하이재킹세션 하이재킹(Session Hijacking) 개념케빈 미트닉이 사용했던 공격 방법의 하나로 TCP의 세션 관리 취약점을 이용한 공격 세션 하이재킹의 특징TCP Sequence Number의 보안상 취약점으로 발생Victim과 Server 사이의 패킷을 스니핑하여 Sequence Number를 획득하고, 공격자는 데이터 전송 중인 Victim과 Server 사이를 비동기화 상태로 강제적으로 만들고, 스니핑하여 획득한 Client Sequence Number를 이용하여 공격하는 방식비동기화 상태로 패킷이 유실되어 재전송 패킷이 증가ACK Storm 증가, 네트워크 부하 증가 현상 발생세션 하이재킹의 탐지 방법비동기화 상태 탐지ACK 패킷 비율 모니터링특정 세션에서 패.. 2025. 3. 19. 이전 1 ··· 6 7 8 9 10 11 다음